Follow-up to the pills-background fix: the GifPickerHeader used a
bottom margin, leaving a transparent strip between the search input and
the pills row where scrolling GIFs still bled through. Switch to bottom
padding so the gap sits inside the View's background.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
On mobile web the header's arrow button called control.close(),
collapsing the dialog entirely and giving users no way to exit search
results back to the categories view. Wire it to onGoBack instead, which
already clears the search, resets to trending, and only closes the
dialog when the user is already at that default state.
Addresses PR #10261 feedback from surfdude29: no way back from the
search results screen to the default view.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The pills row lives inside the sticky header but had a transparent
background, so scrolling GIFs showed through the pills. Add a bg and
replace the trailing margin with padding so the background extends
across the gap before the grid content.
Addresses PR #10261 feedback from surfdude29: category icons appear
to float over the GIFs on scroll.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The viewKey added to prevent stale search cells in the recents view was
keyed on `network:${effectiveSearch}`, so it changed on every throttled
search update and category switch. Remounting the FlatList remounts its
ListHeaderComponent too, which blurred the sticky-header search input
(eating the first typed character) and caused a visible reload when
switching categories.
Drop the search term from the key — the recents bug was about crossing
the recents/network boundary, and React reconciliation handles item
changes within the network view on its own.
Addresses PR #10261 feedback from surfdude29: keyboard dismissing on
search and category-switch reload glitch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>