Enhance and polish the Emoji and Symbols picker (#733)

* Polish the emoji and symbol picker

* Split the emoji observers out of the palette's state chain

* Give each header menu its own width and simplify emoji pins and zoom

- Replace fitted menu widths with a stated width per header menu
- Route emoji zoom chords through the panel's command shortcut path
- Count pin positions over the pins the catalog can show
- Move PinnedEmojiStore into its own file
- Restore SwiftUI menu symbols and leave the extension chevron untouched

---------

Co-authored-by: abue-ammar <iabueammar@gmail.com>
This commit is contained in:
Clément Knoderer
2026-09-15 22:44:58 +06:00
committed by GitHub
co-authored by abue-ammar
parent c19f1a3930
commit 423fcfac8f
35 changed files with 963 additions and 141 deletions
+3
View File
@@ -179,6 +179,7 @@ run emoji-search-test Tinycast/Features/Emoji/Model/EmojiCatalog.swift \
Tinycast/Features/Emoji/Model/EmojiData.generated.swift \
Tinycast/Features/Emoji/Service/EmojiIndex.swift \
Tinycast/Features/Emoji/Service/FrequentEmojiStore.swift \
Tinycast/Features/Emoji/Service/PinnedEmojiStore.swift \
Tinycast/Features/Launcher/Model/SearchRelevance.swift \
Tinycast/Platform/AppPaths.swift Tinycast/Platform/Memo.swift
run index emoji-search-performance \
@@ -212,6 +213,7 @@ run ai-instructions-test Tinycast/Features/AI/Model/AIInstructions.swift \
run hover-arming-test Tinycast/Palette/HoverArming.swift \
Tinycast/Palette/PaletteState.swift \
Tinycast/Palette/PaletteMode.swift \
Tinycast/Features/Emoji/Model/EmojiCatalog.swift \
Tinycast/Features/Clipboard/Model/ClipboardStore.swift \
Tinycast/Features/Clipboard/Model/ClipboardFilter.swift \
Tinycast/Features/FileSearch/Model/FileSearchFilter.swift \
@@ -231,6 +233,7 @@ run palette-escape-test Tinycast/Palette/PaletteMode.swift \
run palette-navigation-test Tinycast/Palette/PaletteState.swift \
Tinycast/Palette/PaletteMode.swift \
Tinycast/Palette/HoverArming.swift \
Tinycast/Features/Emoji/Model/EmojiCatalog.swift \
Tinycast/Features/Clipboard/Model/ClipboardStore.swift \
Tinycast/Features/Clipboard/Model/ClipboardFilter.swift \
Tinycast/Features/FileSearch/Model/FileSearchFilter.swift \