feat(themes): paginate theme store and keep scroll on refresh (#1011)

The community Theme Store grew large enough that browsing it meant
scrolling through the whole catalogue. Paginate it (12 per page) with a
Prev / "Page X of Y" / Next pager that resets to page 1 on filter changes
and scrolls back to the top of the list when paging.

Also fix the refresh button resetting the scroll position. It set the
top-level loading state, which unmounted the list and collapsed the
scroll viewport so it clamped back to the top. Refreshing now keeps the
existing list mounted and only spins the refresh icon; the full-page
loading and error placeholders are reserved for the initial load.

Adds themeStorePagePrev / PageNext / PageStatus across all nine locales
and a ThemeStoreSection test covering pagination, filtering, page reset,
and the refresh-keeps-scroll behaviour.
This commit is contained in:
Psychotoxical
2026-06-07 10:14:46 +02:00
committed by GitHub
parent f9df918c72
commit 9fb0d5638b
11 changed files with 240 additions and 9 deletions
+3
View File
@@ -350,6 +350,9 @@ export const settings = {
themeStoreUpdating: 'Oppdaterer…',
themeStoreUninstall: 'Avinstaller',
themeStoreInstallFailed: 'Installasjonen mislyktes',
themeStorePagePrev: 'Forrige side',
themeStorePageNext: 'Neste side',
themeStorePageStatus: 'Side {{page}} av {{total}}',
tabStorage: 'Frakoblet & Cache',
inputKeybindingsTitle: 'Tastatursnarveier',
aboutContributorsCount_one: '{{count}} bidrag',