Translate emoji completions in composer

This commit is contained in:
Jamie Kyle
2025-04-23 16:03:35 -07:00
committed by GitHub
parent 6a20d91b71
commit e802ea0dc7
12 changed files with 216 additions and 273 deletions

View File

@@ -9,6 +9,7 @@ import type {
FunEmojiSearchIndexEntry,
} from '../useFunEmojiSearch';
import type { FunEmojiLocalizerIndex } from '../useFunEmojiLocalizer';
import { removeDiacritics } from '../../../util/removeDiacritics';
// Import emoji-datasource dynamically to avoid costly typechecking.
// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-var-requires
@@ -551,6 +552,26 @@ export function emojiVariantConstant(input: string): EmojiVariantData {
return getEmojiVariantByKey(key);
}
/**
* Completions
*/
/** For displaying in the ui */
export function normalizeShortNameCompletionDisplay(shortName: string): string {
return removeDiacritics(shortName)
.normalize('NFD')
.replaceAll(' ', '_')
.toLowerCase();
}
/** For matching in search utils */
export function normalizeShortNameCompletionQuery(query: string): string {
return removeDiacritics(query)
.normalize('NFD')
.replaceAll(/[\s_-]+/gi, ' ')
.toLowerCase();
}
/**
* Emojify
*/