feat: pin + reaction as the first suggestion
This commit is contained in:
parent
ff9066ed1c
commit
b038728013
1 changed files with 22 additions and 6 deletions
|
|
@ -21,18 +21,34 @@ export default function SuggestedEmojis({
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
try {
|
try {
|
||||||
const suggested = getSuggested()
|
const suggested = getSuggested()
|
||||||
const suggestEmojis = suggested
|
const emojiSet = new Set<string>()
|
||||||
.sort((a, b) => b.count - a.count)
|
const suggestEmojis = (
|
||||||
.map((item) => parseEmojiPickerUnified(item.unified))
|
suggested
|
||||||
.filter(Boolean) as (string | TEmoji)[]
|
.sort((a, b) => b.count - a.count)
|
||||||
setSuggestedEmojis(() => [...suggestEmojis, ...DEFAULT_SUGGESTED_EMOJIS].slice(0, 8))
|
.map((item) => parseEmojiPickerUnified(item.unified))
|
||||||
|
.filter(Boolean) as (string | TEmoji)[]
|
||||||
|
)
|
||||||
|
.concat(DEFAULT_SUGGESTED_EMOJIS)
|
||||||
|
.filter((emoji) => {
|
||||||
|
if (typeof emoji !== 'string') return true
|
||||||
|
if (emojiSet.has(emoji)) return false
|
||||||
|
emojiSet.add(emoji)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
setSuggestedEmojis(suggestEmojis.slice(0, 9))
|
||||||
} catch {
|
} catch {
|
||||||
// ignore
|
// ignore
|
||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="flex gap-2 p-1" onClick={(e) => e.stopPropagation()}>
|
<div className="flex gap-1 p-1" onClick={(e) => e.stopPropagation()}>
|
||||||
|
<div
|
||||||
|
className="w-8 h-8 rounded-lg clickable flex justify-center items-center text-xl"
|
||||||
|
onClick={() => onEmojiClick('+')}
|
||||||
|
>
|
||||||
|
<Emoji emoji="+" />
|
||||||
|
</div>
|
||||||
{suggestedEmojis.map((emoji, index) =>
|
{suggestedEmojis.map((emoji, index) =>
|
||||||
typeof emoji === 'string' ? (
|
typeof emoji === 'string' ? (
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue