Added utils/url for functions in StatusCard
• Added: - utils/url for functions in StatusCard
This commit is contained in:
parent
fd7ec778fe
commit
7887bc21bc
@ -8,36 +8,16 @@ import {
|
|||||||
CX,
|
CX,
|
||||||
DEFAULT_REL,
|
DEFAULT_REL,
|
||||||
} from '../constants'
|
} from '../constants'
|
||||||
|
import {
|
||||||
|
decodeIDNA,
|
||||||
|
getHostname,
|
||||||
|
trim,
|
||||||
|
} from '../utils/urls'
|
||||||
import ResponsiveClassesComponent from '../features/ui/util/responsive_classes_component'
|
import ResponsiveClassesComponent from '../features/ui/util/responsive_classes_component'
|
||||||
import Icon from './icon'
|
import Icon from './icon'
|
||||||
import Button from './button'
|
import Button from './button'
|
||||||
import Text from './text'
|
import Text from './text'
|
||||||
|
|
||||||
const IDNA_PREFIX = 'xn--'
|
|
||||||
|
|
||||||
const decodeIDNA = domain => {
|
|
||||||
return domain
|
|
||||||
.split('.')
|
|
||||||
.map(part => part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part)
|
|
||||||
.join('.')
|
|
||||||
}
|
|
||||||
|
|
||||||
const getHostname = url => {
|
|
||||||
const parser = document.createElement('a')
|
|
||||||
parser.href = url
|
|
||||||
return parser.hostname
|
|
||||||
}
|
|
||||||
|
|
||||||
const trim = (text, len) => {
|
|
||||||
const cut = text.indexOf(' ', len)
|
|
||||||
|
|
||||||
if (cut === -1) {
|
|
||||||
return text
|
|
||||||
}
|
|
||||||
|
|
||||||
return text.substring(0, cut) + (text.length > len ? '…' : '')
|
|
||||||
}
|
|
||||||
|
|
||||||
const domParser = new DOMParser()
|
const domParser = new DOMParser()
|
||||||
|
|
||||||
const addAutoPlay = html => {
|
const addAutoPlay = html => {
|
||||||
|
24
app/javascript/gabsocial/utils/urls.js
Normal file
24
app/javascript/gabsocial/utils/urls.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
const IDNA_PREFIX = 'xn--'
|
||||||
|
|
||||||
|
export const decodeIDNA = (domain) => {
|
||||||
|
return domain
|
||||||
|
.split('.')
|
||||||
|
.map(part => part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part)
|
||||||
|
.join('.')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const getHostname = (url) => {
|
||||||
|
const parser = document.createElement('a')
|
||||||
|
parser.href = url
|
||||||
|
return parser.hostname
|
||||||
|
}
|
||||||
|
|
||||||
|
export const trim = (text, len) => {
|
||||||
|
const cut = text.indexOf(' ', len)
|
||||||
|
|
||||||
|
if (cut === -1) {
|
||||||
|
return text
|
||||||
|
}
|
||||||
|
|
||||||
|
return text.substring(0, cut) + (text.length > len ? '…' : '')
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user