(wip): add reactions
(qol): update todo
This commit is contained in:
parent
d57940d1b3
commit
7ba08090fe
20 changed files with 4533 additions and 5894 deletions
29
packages/chat/src/components/emojiPicker.tsx
Normal file
29
packages/chat/src/components/emojiPicker.tsx
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
import { Button } from "@tensamin/ui";
|
||||
import Emoji from "@tensamin/markdown/emoji";
|
||||
import { getRecentEmojis, useEmojiRanks } from "./emojiRanks";
|
||||
|
||||
export default function EmojiPicker({
|
||||
onSelect,
|
||||
}: {
|
||||
onSelect: (emoji: string) => void;
|
||||
}) {
|
||||
const { ranks } = useEmojiRanks();
|
||||
const emojis = getRecentEmojis(ranks, 3);
|
||||
|
||||
return (
|
||||
<div className="flex flex-row gap-1 p-1">
|
||||
{emojis.map((emoji) => (
|
||||
<Button
|
||||
key={emoji}
|
||||
aria-label={`Select ${emoji}`}
|
||||
className="h-10 w-10 p-0"
|
||||
onClick={() => onSelect(emoji)}
|
||||
type="button"
|
||||
variant="ghost"
|
||||
>
|
||||
<Emoji shortcode={emoji} />
|
||||
</Button>
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue