- Remove text labels from pills, show only emojis (placeholder for
future design icons)
- Add "Recents" pill (first in list, hidden when empty)
- Store recently selected GIFs in per-account MMKV storage
- Default selected pill remains "Trending"
- Shape changed to round for emoji-only pills
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds activeCategory state and effectiveSearch logic to GifPickerBody so
selecting a category pill filters GIFs via the category's searchterm.
Pills hide when the user types a search query, and going back resets to
trending.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds scrollable pill-shaped category filter buttons for the GIF picker,
allowing users to browse trending and themed GIF categories.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove the inline text suggestion list from the GIF picker. The
Threads-style approach of just letting the GIF search results update
directly is simpler and gets users to the GIFs faster.
Increase the search throttle from 500ms to 750ms to reduce churn
while typing and give results time to load before the next query fires.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When the throttled autocomplete query changes, React Query briefly
returns undefined for the new key, causing the suggestion list to
flash hidden then visible. keepPreviousData holds the old suggestions
until the new response arrives.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Klipy proxy returns Tenor-compatible responses (results array of
Gif objects), not the custom shape (data array of KlipyGif objects)
that was speculatively typed. Remove the dead normalizeKlipyGif
function and associated types, and read body.results directly.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds `autocomplete` prop (GifAutocompleteState) to GifPickerHeader,
restructures layout so suggestions render below the search bar, and
wires up keyboard navigation + ARIA attributes for the combobox pattern.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>