Skip to content

Commit 7d601e1

Browse files
committed
fix: replace emoji picker
Signed-off-by: Innei <[email protected]>
1 parent c8258f6 commit 7d601e1

File tree

3 files changed

+22
-63
lines changed

3 files changed

+22
-63
lines changed

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@
3737
},
3838
"dependencies": {
3939
"@clerk/nextjs": "4.22.0",
40-
"@emoji-mart/data": "1.1.2",
41-
"@emoji-mart/react": "1.1.1",
4240
"@floating-ui/react-dom": "2.0.1",
4341
"@mx-space/api-client": "1.4.3",
4442
"@radix-ui/react-dialog": "1.0.4",
@@ -54,6 +52,7 @@
5452
"daisyui": "3.2.1",
5553
"dayjs": "1.11.9",
5654
"emoji-mart": "5.5.2",
55+
"emoji-picker-react": "4.4.10",
5756
"foxact": "0.2.16",
5857
"framer-motion": "^10.13.0",
5958
"idb-keyval": "6.2.1",

pnpm-lock.yaml

+13-20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+8-41
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,17 @@
1-
import { useQuery } from '@tanstack/react-query'
2-
import { memo, useCallback } from 'react'
1+
import EmojiPicker$, { EmojiStyle } from 'emoji-picker-react'
2+
import { memo } from 'react'
33
import type { FC } from 'react'
44

5-
import { Loading } from '~/components/ui/loading'
6-
75
export const EmojiPicker: FC<{
86
onEmojiSelect: (emoji: string) => void
97
}> = memo(({ onEmojiSelect }) => {
10-
const { data, isLoading } = useQuery({
11-
queryKey: ['emoji-data'],
12-
queryFn: () =>
13-
fetch('https://cdn.jsdelivr.net/npm/@emoji-mart/data', {
14-
next: {
15-
revalidate: 60 * 60 * 24 * 7,
16-
},
17-
}).then((response) => response.json()),
18-
19-
staleTime: Number.POSITIVE_INFINITY,
20-
})
21-
const handleSelect = useCallback((emoji: any) => {
22-
return onEmojiSelect(emoji.native)
23-
}, [])
24-
25-
const handleDivRef = (divEl: HTMLDivElement) => {
26-
import('emoji-mart').then(
27-
(m) =>
28-
new m.Picker({
29-
ref: {
30-
current: divEl,
31-
},
32-
data,
33-
onEmojiSelect: handleSelect,
34-
maxFrequentRows: 0,
35-
}),
36-
)
37-
}
38-
39-
if (isLoading)
40-
return (
41-
<Loading className="flex h-[435px] w-[352px] rounded-md bg-slate-100 center dark:bg-neutral-800" />
42-
)
43-
448
return (
45-
<div className="w-[352px]">
46-
<div ref={handleDivRef} />
47-
</div>
9+
<EmojiPicker$
10+
onEmojiClick={(e) => {
11+
onEmojiSelect(e.emoji)
12+
}}
13+
emojiStyle={EmojiStyle.NATIVE}
14+
/>
4815
)
4916
})
5017
EmojiPicker.displayName = 'EmojiPicker'

0 commit comments

Comments
 (0)