+
load(true)}
- disabled={loading}
+ disabled={loading || refreshing}
aria-label={t('settings.themeStoreRefresh')}
data-tooltip={t('settings.themeStoreRefresh')}
data-tooltip-pos="left"
>
-
+
@@ -191,7 +219,7 @@ export function ThemeStoreSection() {
{!loading && !error && filtered.length > 0 && (
- {filtered.map(th => {
+ {pageItems.map(th => {
const inst = installedMap.get(th.id);
const isInstalled = !!inst;
const updateAvailable = isInstalled && isNewer(th.version, inst!.version);
@@ -298,6 +326,36 @@ export function ThemeStoreSection() {
)}
+ {!loading && !error && pageCount > 1 && (
+
+
+
+ {t('settings.themeStorePageStatus', { page: safePage, total: pageCount })}
+
+
+
+ )}
+
{lightbox && (
setLightbox(null)} />
)}
diff --git a/src/locales/de/settings.ts b/src/locales/de/settings.ts
index d0fb7d22..690bb959 100644
--- a/src/locales/de/settings.ts
+++ b/src/locales/de/settings.ts
@@ -351,6 +351,9 @@ export const settings = {
themeStoreUpdating: 'Aktualisiere…',
themeStoreUninstall: 'Deinstallieren',
themeStoreInstallFailed: 'Installation fehlgeschlagen',
+ themeStorePagePrev: 'Vorherige Seite',
+ themeStorePageNext: 'Nächste Seite',
+ themeStorePageStatus: 'Seite {{page}} von {{total}}',
tabLibrary: 'Bibliothek',
tabServers: 'Server',
tabLyrics: 'Songtexte',
diff --git a/src/locales/en/settings.ts b/src/locales/en/settings.ts
index cd6fe5be..d1b71e4e 100644
--- a/src/locales/en/settings.ts
+++ b/src/locales/en/settings.ts
@@ -418,6 +418,9 @@ export const settings = {
themeStoreUpdating: 'Updating…',
themeStoreUninstall: 'Uninstall',
themeStoreInstallFailed: 'Install failed',
+ themeStorePagePrev: 'Previous page',
+ themeStorePageNext: 'Next page',
+ themeStorePageStatus: 'Page {{page}} of {{total}}',
tabLibrary: 'Library',
tabServers: 'Servers',
tabLyrics: 'Lyrics',
diff --git a/src/locales/es/settings.ts b/src/locales/es/settings.ts
index 0f281b9b..230dccd4 100644
--- a/src/locales/es/settings.ts
+++ b/src/locales/es/settings.ts
@@ -349,6 +349,9 @@ export const settings = {
themeStoreUpdating: 'Actualizando…',
themeStoreUninstall: 'Desinstalar',
themeStoreInstallFailed: 'Error al instalar',
+ themeStorePagePrev: 'Página anterior',
+ themeStorePageNext: 'Página siguiente',
+ themeStorePageStatus: 'Página {{page}} de {{total}}',
tabLibrary: 'Biblioteca',
tabServers: 'Servidores',
tabLyrics: 'Letras',
diff --git a/src/locales/fr/settings.ts b/src/locales/fr/settings.ts
index 5107cf6a..cbf0306c 100644
--- a/src/locales/fr/settings.ts
+++ b/src/locales/fr/settings.ts
@@ -347,6 +347,9 @@ export const settings = {
themeStoreUpdating: 'Mise à jour…',
themeStoreUninstall: 'Désinstaller',
themeStoreInstallFailed: "Échec de l'installation",
+ themeStorePagePrev: 'Page précédente',
+ themeStorePageNext: 'Page suivante',
+ themeStorePageStatus: 'Page {{page}} sur {{total}}',
tabLibrary: 'Bibliothèque',
tabServers: 'Serveurs',
tabLyrics: 'Paroles',
diff --git a/src/locales/nb/settings.ts b/src/locales/nb/settings.ts
index 268b8157..9da0ace9 100644
--- a/src/locales/nb/settings.ts
+++ b/src/locales/nb/settings.ts
@@ -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',
diff --git a/src/locales/nl/settings.ts b/src/locales/nl/settings.ts
index 118b02ef..a5760ffc 100644
--- a/src/locales/nl/settings.ts
+++ b/src/locales/nl/settings.ts
@@ -347,6 +347,9 @@ export const settings = {
themeStoreUpdating: 'Bijwerken…',
themeStoreUninstall: 'Verwijderen',
themeStoreInstallFailed: 'Installatie mislukt',
+ themeStorePagePrev: 'Vorige pagina',
+ themeStorePageNext: 'Volgende pagina',
+ themeStorePageStatus: 'Pagina {{page}} van {{total}}',
tabLibrary: 'Bibliotheek',
tabServers: 'Servers',
tabLyrics: 'Songteksten',
diff --git a/src/locales/ro/settings.ts b/src/locales/ro/settings.ts
index 0896c35d..87164dff 100644
--- a/src/locales/ro/settings.ts
+++ b/src/locales/ro/settings.ts
@@ -353,6 +353,9 @@ export const settings = {
themeStoreUpdating: 'Se actualizează…',
themeStoreUninstall: 'Dezinstalează',
themeStoreInstallFailed: 'Instalarea a eșuat',
+ themeStorePagePrev: 'Pagina anterioară',
+ themeStorePageNext: 'Pagina următoare',
+ themeStorePageStatus: 'Pagina {{page}} din {{total}}',
tabLibrary: 'Librărie',
tabServers: 'Servere',
tabLyrics: 'Versuri',
diff --git a/src/locales/ru/settings.ts b/src/locales/ru/settings.ts
index 855459f4..51dcf99c 100644
--- a/src/locales/ru/settings.ts
+++ b/src/locales/ru/settings.ts
@@ -429,6 +429,9 @@ export const settings = {
themeStoreUpdating: 'Обновление…',
themeStoreUninstall: 'Удалить',
themeStoreInstallFailed: 'Ошибка установки',
+ themeStorePagePrev: 'Предыдущая страница',
+ themeStorePageNext: 'Следующая страница',
+ themeStorePageStatus: 'Страница {{page}} из {{total}}',
tabLibrary: 'Библиотека',
tabServers: 'Серверы',
tabLyrics: 'Тексты песен',
diff --git a/src/locales/zh/settings.ts b/src/locales/zh/settings.ts
index b09447ef..a00e7321 100644
--- a/src/locales/zh/settings.ts
+++ b/src/locales/zh/settings.ts
@@ -346,6 +346,9 @@ export const settings = {
themeStoreUpdating: '正在更新…',
themeStoreUninstall: '卸载',
themeStoreInstallFailed: '安装失败',
+ themeStorePagePrev: '上一页',
+ themeStorePageNext: '下一页',
+ themeStorePageStatus: '第 {{page}} 页,共 {{total}} 页',
tabLibrary: '媒体库',
tabServers: '服务器',
tabLyrics: '歌词',