From 316fcc5bbd70ebf5467bd071b9290b71675e1e8b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 21 Dec 2024 19:23:56 +0200 Subject: [PATCH] web/emojipicker: don't include sticker-only packs in emoji picker and vice versa --- web/src/api/statestore/hooks.ts | 6 +++--- web/src/ui/emojipicker/StickerPicker.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/web/src/api/statestore/hooks.ts b/web/src/api/statestore/hooks.ts index a31ecff..6979cc3 100644 --- a/web/src/api/statestore/hooks.ts +++ b/web/src/api/statestore/hooks.ts @@ -145,7 +145,7 @@ export function usePreference( } export function useCustomEmojis( - ss: StateStore, room: RoomStateStore, + ss: StateStore, room: RoomStateStore, usage: "stickers" | "emojis" = "emojis", ): CustomEmojiPack[] { const personalPack = useSyncExternalStore( ss.accountDataSubs.getSubscriber("im.ponies.user_emotes"), @@ -164,6 +164,6 @@ export function useCustomEmojis( if (personalPack) { allPacksObject.personal = personalPack } - return Object.values(allPacksObject) - }, [personalPack, watchedRoomPacks, specialRoomPacks]) + return Object.values(allPacksObject).filter(pack => pack[usage].length > 0) + }, [personalPack, watchedRoomPacks, specialRoomPacks, usage]) } diff --git a/web/src/ui/emojipicker/StickerPicker.tsx b/web/src/ui/emojipicker/StickerPicker.tsx index 01b2976..dbb6488 100644 --- a/web/src/ui/emojipicker/StickerPicker.tsx +++ b/web/src/ui/emojipicker/StickerPicker.tsx @@ -33,7 +33,7 @@ const StickerPicker = ({ style, onSelect, room }: MediaPickerProps) => { const [query, setQuery] = useState("") const [emojiCategoryBarRef, emojiListRef] = useCategoryUnderline() const watchedEmojiPackKeys = client.store.getEmojiPackKeys().map(roomStateGUIDToString) - const customEmojiPacks = useCustomEmojis(client.store, room) + const customEmojiPacks = useCustomEmojis(client.store, room, "stickers") const emojis = useFilteredEmojis(query, { // frequentlyUsed: client.store.frequentlyUsedStickers, customEmojiPacks,