addbece173
Integrate custom emojis from the user's kind 10030 emoji list into the emoji picker, compose flow, reactions, and DMs: Hook: - useCustomEmojis: query kind 10030, extract emoji shortcode/url pairs EmojiPicker: - Accept customEmojis prop, render as dedicated 'Custom' tab via emoji-mart's custom categories feature - Changed onSelect from string to EmojiSelection union type (native unicode | custom shortcode+url) ComposeBox: - Pass custom emojis to picker, insert :shortcode: on selection - Scan content on publish for :shortcode: patterns, cross-reference against user's emoji list, add ['emoji', name, url] tags (NIP-30) QuickReactMenu: - Custom emoji reactions: content=':shortcode:', with emoji tag - Optimistic cache update includes custom emoji URL/name DMChatArea: - Pass custom emojis to picker, insert :shortcode: text Settings: - Registered as 'Custom Emojis' in Other Stuff > Whimsy section - showCustomEmojis toggle (default true) gates all custom emoji features — when disabled, no kind 10030 queries are made - Fix pre-existing Bot icon missing import in sidebarItems