Modernise list create/edit dialog (#8223)
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import {useCallback, useMemo} from 'react'
|
||||
import {type RichText} from '@atproto/api'
|
||||
import Graphemer from 'graphemer'
|
||||
|
||||
import {shortenLinks} from './rich-text-manip'
|
||||
|
||||
export function enforceLen(
|
||||
str: string,
|
||||
len: number,
|
||||
@@ -45,13 +48,17 @@ export function useWarnMaxGraphemeCount({
|
||||
text,
|
||||
maxCount,
|
||||
}: {
|
||||
text: string
|
||||
text: string | RichText
|
||||
maxCount: number
|
||||
}) {
|
||||
const splitter = useMemo(() => new Graphemer(), [])
|
||||
|
||||
return useMemo(() => {
|
||||
return splitter.countGraphemes(text) > maxCount
|
||||
if (typeof text === 'string') {
|
||||
return splitter.countGraphemes(text) > maxCount
|
||||
} else {
|
||||
return shortenLinks(text).graphemeLength > maxCount
|
||||
}
|
||||
}, [splitter, maxCount, text])
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user