fix(ui): card chip spacing, instant flag clearing, locale-wide label

- Space the update chip off the card title to match the detail header
- Clear the extension's update flag right after a successful upgrade so
  the chip disappears without waiting for the background re-check
- Use the concise Update label across all locales
This commit is contained in:
Levi committed 2026-09-19 21:56:46 +08:00
1 parent fac17b0ccc
commit e779de285d
21 files changed
+25 -20

No files matched your search

@@ -243,6 +243,9 @@ class ExtensionsController extends AsyncNotifier<ExtensionsState> {
await _runBusy(extension.identity, () async { await _runBusy(extension.identity, () async {
await ref.read(gopeedServiceProvider).updateExtension(extension.identity); await ref.read(gopeedServiceProvider).updateExtension(extension.identity);
await loadInstalled(refreshUpdates: false); await loadInstalled(refreshUpdates: false);
// Drop the stale flag immediately; the background re-check confirms it.
final flags = Map<String, String>.of(_current.updateFlags)..remove(extension.identity);
state = AsyncValue.data(_current.copyWith(updateFlags: flags));
unawaited(checkUpdate()); unawaited(checkUpdate());
_bumpStoreInstallCount(extension.identity); _bumpStoreInstallCount(extension.identity);
_reportInstallSafe(extension.identity); _reportInstallSafe(extension.identity);
@@ -993,7 +993,8 @@ class _ExtensionCard extends ConsumerWidget {
style: TextStyle(color: palette.textPrimary, fontSize: 14, fontWeight: FontWeight.w700), style: TextStyle(color: palette.textPrimary, fontSize: 14, fontWeight: FontWeight.w700),
), ),
), ),
if (canUpdate && installed != null) if (canUpdate && installed != null) ...[
const SizedBox(width: 8),
Flexible( Flexible(
child: ExtensionUpdateStatus( child: ExtensionUpdateStatus(
key: ValueKey('extension-card-update-status-${item.id}'), key: ValueKey('extension-card-update-status-${item.id}'),
@@ -1001,6 +1002,7 @@ class _ExtensionCard extends ConsumerWidget {
onTap: busy ? null : () => showExtensionUpdateDialog(context, installed), onTap: busy ? null : () => showExtensionUpdateDialog(context, installed),
), ),
), ),
],
], ],
), ),
const SizedBox(height: 2), const SizedBox(height: 2),
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "إضافة", "add": "إضافة",
"edit": "تعديل", "edit": "تعديل",
"newVersionTitle": "يتوفر إصدار جديد @version", "newVersionTitle": "يتوفر إصدار جديد @version",
"newVersionUpdate": "تحديث الآن", "newVersionUpdate": "تحديث",
"newVersionLater": "لاحقاً", "newVersionLater": "لاحقاً",
"extensions": "الإضافات", "extensions": "الإضافات",
"extensionInstallUrl": "عنوان التثبيت", "extensionInstallUrl": "عنوان التثبيت",
+1 -1
View File
@@ -106,7 +106,7 @@
"add": "Əlavə et", "add": "Əlavə et",
"edit": "Redaktə et", "edit": "Redaktə et",
"newVersionTitle": "Yeni versiya @version tapıldı", "newVersionTitle": "Yeni versiya @version tapıldı",
"newVersionUpdate": "İndi Yenilə", "newVersionUpdate": "Yenilə",
"newVersionLater": "Sonra", "newVersionLater": "Sonra",
"extensions": "Uzantılar", "extensions": "Uzantılar",
"extensionInstallUrl": "Quraşdırma URL-i", "extensionInstallUrl": "Quraşdırma URL-i",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Afegeix", "add": "Afegeix",
"edit": "Edita", "edit": "Edita",
"newVersionTitle": "Descobriu la nova versió @version", "newVersionTitle": "Descobriu la nova versió @version",
"newVersionUpdate": "Actualitza ara", "newVersionUpdate": "Actualitza",
"newVersionLater": "Més tard", "newVersionLater": "Més tard",
"extensions": "Extensions", "extensions": "Extensions",
"extensionInstallUrl": "URL d'instal·lació", "extensionInstallUrl": "URL d'instal·lació",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Hinzugefügt", "add": "Hinzugefügt",
"edit": "Bearbeiten", "edit": "Bearbeiten",
"newVersionTitle": "Entdecken Sie die neue Version @version", "newVersionTitle": "Entdecken Sie die neue Version @version",
"newVersionUpdate": "Jetzt aktualisieren", "newVersionUpdate": "Aktualisieren",
"newVersionLater": "Später", "newVersionLater": "Später",
"extensions": "Erweiterungen", "extensions": "Erweiterungen",
"extensionInstallUrl": "Installations-URL", "extensionInstallUrl": "Installations-URL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Añadir", "add": "Añadir",
"edit": "Editar", "edit": "Editar",
"newVersionTitle": "Nueva versión @version disponible", "newVersionTitle": "Nueva versión @version disponible",
"newVersionUpdate": "Actualizar Ahora", "newVersionUpdate": "Actualizar",
"newVersionLater": "Más tarde", "newVersionLater": "Más tarde",
"extensions": "Extensiones", "extensions": "Extensiones",
"extensionInstallUrl": "URL de instalación", "extensionInstallUrl": "URL de instalación",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "افزودن", "add": "افزودن",
"edit": "ویرایش", "edit": "ویرایش",
"newVersionTitle": "@version عنوان: کشف نسخه جدید", "newVersionTitle": "@version عنوان: کشف نسخه جدید",
"newVersionUpdate": "بروزرسانی", "newVersionUpdate": "به‌روزرسانی",
"newVersionLater": "بعداً", "newVersionLater": "بعداً",
"extensions": "افزونه‌ها", "extensions": "افزونه‌ها",
"extensionInstallUrl": "نشانی نصب", "extensionInstallUrl": "نشانی نصب",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Ajouter", "add": "Ajouter",
"edit": "Modifier", "edit": "Modifier",
"newVersionTitle": "Nouvelle version @version disponible", "newVersionTitle": "Nouvelle version @version disponible",
"newVersionUpdate": "Mettre à jour maintenant", "newVersionUpdate": "Mettre à jour",
"newVersionLater": "Plus tard", "newVersionLater": "Plus tard",
"extensions": "Extensions", "extensions": "Extensions",
"extensionInstallUrl": "URL d'installation", "extensionInstallUrl": "URL d'installation",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Hozzáad", "add": "Hozzáad",
"edit": "Szerk", "edit": "Szerk",
"newVersionTitle": "Új verzió felfedezése @version", "newVersionTitle": "Új verzió felfedezése @version",
"newVersionUpdate": "Frissítés most", "newVersionUpdate": "Frissítés",
"newVersionLater": "Később", "newVersionLater": "Később",
"extensions": "Bővítmények", "extensions": "Bővítmények",
"extensionInstallUrl": "Telepítési URL", "extensionInstallUrl": "Telepítési URL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Tambah", "add": "Tambah",
"edit": "Sunting", "edit": "Sunting",
"newVersionTitle": "Temukan versi batu @version", "newVersionTitle": "Temukan versi batu @version",
"newVersionUpdate": "Perbarui Sekarang", "newVersionUpdate": "Perbarui",
"newVersionLater": "Nanti", "newVersionLater": "Nanti",
"extensions": "Ekstensi", "extensions": "Ekstensi",
"extensionInstallUrl": "URL Instal", "extensionInstallUrl": "URL Instal",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Aggiungi", "add": "Aggiungi",
"edit": "Modifica", "edit": "Modifica",
"newVersionTitle": "Scopri la nuova versione @version", "newVersionTitle": "Scopri la nuova versione @version",
"newVersionUpdate": "Aggiorna ora", "newVersionUpdate": "Aggiorna",
"newVersionLater": "Dopo", "newVersionLater": "Dopo",
"extensions": "Estensioni", "extensions": "Estensioni",
"extensionInstallUrl": "Installa URL", "extensionInstallUrl": "Installa URL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "追加", "add": "追加",
"edit": "編集", "edit": "編集",
"newVersionTitle": "新しいバージョン @version を発見する", "newVersionTitle": "新しいバージョン @version を発見する",
"newVersionUpdate": "アップデート", "newVersionUpdate": "更新",
"newVersionLater": "後で", "newVersionLater": "後で",
"extensions": "拡張機能", "extensions": "拡張機能",
"extensionInstallUrl": "インストールURL", "extensionInstallUrl": "インストールURL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "추가", "add": "추가",
"edit": "편집", "edit": "편집",
"newVersionTitle": "새 버전 @version 발견", "newVersionTitle": "새 버전 @version 발견",
"newVersionUpdate": "지금 업데이트", "newVersionUpdate": "업데이트",
"newVersionLater": "나중에", "newVersionLater": "나중에",
"extensions": "확장 프로그램", "extensions": "확장 프로그램",
"extensionInstallUrl": "설치 URL", "extensionInstallUrl": "설치 URL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Dodaj", "add": "Dodaj",
"edit": "Edycja", "edit": "Edycja",
"newVersionTitle": "Sprawdź aktualizację @version", "newVersionTitle": "Sprawdź aktualizację @version",
"newVersionUpdate": "Aktualizuj teraz", "newVersionUpdate": "Aktualizuj",
"newVersionLater": "Później", "newVersionLater": "Później",
"extensions": "Wtyczki", "extensions": "Wtyczki",
"extensionInstallUrl": "Instaluj z url", "extensionInstallUrl": "Instaluj z url",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Adicionar", "add": "Adicionar",
"edit": "Editar", "edit": "Editar",
"newVersionTitle": "Nova Versão Disponível @version", "newVersionTitle": "Nova Versão Disponível @version",
"newVersionUpdate": "Atualizar Agora", "newVersionUpdate": "Atualizar",
"newVersionLater": "Mais Tarde", "newVersionLater": "Mais Tarde",
"extensions": "Extensões", "extensions": "Extensões",
"extensionInstallUrl": "Link de Instalação", "extensionInstallUrl": "Link de Instalação",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "சேர்", "add": "சேர்",
"edit": "திருத்துக", "edit": "திருத்துக",
"newVersionTitle": "புதிய பதிப்பைக் கண்டறியவும் @version", "newVersionTitle": "புதிய பதிப்பைக் கண்டறியவும் @version",
"newVersionUpdate": "இப்பொழுது புதுப்பி", "newVersionUpdate": "புதுப்பிப்பு",
"newVersionLater": "பின்னர்", "newVersionLater": "பின்னர்",
"extensions": "நீட்டிப்புகள்", "extensions": "நீட்டிப்புகள்",
"extensionInstallUrl": "நிறுவப்படும் URL", "extensionInstallUrl": "நிறுவப்படும் URL",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Ekle", "add": "Ekle",
"edit": "Düzenle", "edit": "Düzenle",
"newVersionTitle": "Yeni sürüm @version keşfedildi", "newVersionTitle": "Yeni sürüm @version keşfedildi",
"newVersionUpdate": "Şimdi Güncelle", "newVersionUpdate": "Güncelle",
"newVersionLater": "Daha Sonra", "newVersionLater": "Daha Sonra",
"extensions": "Eklentiler", "extensions": "Eklentiler",
"extensionInstallUrl": "Kurulum URL'si", "extensionInstallUrl": "Kurulum URL'si",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Додати", "add": "Додати",
"edit": "Редагування", "edit": "Редагування",
"newVersionTitle": "Доступна нова версія @Version", "newVersionTitle": "Доступна нова версія @Version",
"newVersionUpdate": "Оновити зараз", "newVersionUpdate": "Оновити",
"newVersionLater": "Пізніше", "newVersionLater": "Пізніше",
"extensions": "Розширення", "extensions": "Розширення",
"extensionInstallUrl": "URL для встановлення", "extensionInstallUrl": "URL для встановлення",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "Thêm", "add": "Thêm",
"edit": "Sửa", "edit": "Sửa",
"newVersionTitle": "Khám phá phiên bản mới @version", "newVersionTitle": "Khám phá phiên bản mới @version",
"newVersionUpdate": "Cập nhật ngay", "newVersionUpdate": "Cập nhật",
"newVersionLater": "Sau", "newVersionLater": "Sau",
"extensions": "Tiện ích mở rộng", "extensions": "Tiện ích mở rộng",
"extensionInstallUrl": "Liên kết cài đặt", "extensionInstallUrl": "Liên kết cài đặt",
+1 -1
View File
@@ -99,7 +99,7 @@
"add": "新增", "add": "新增",
"edit": "編輯", "edit": "編輯",
"newVersionTitle": "發現新版本 @version", "newVersionTitle": "發現新版本 @version",
"newVersionUpdate": "立即更新", "newVersionUpdate": "更新",
"newVersionLater": "稍後", "newVersionLater": "稍後",
"extensions": "擴充功能", "extensions": "擴充功能",
"extensionInstallUrl": "安裝 URL", "extensionInstallUrl": "安裝 URL",