diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json index 45b097a4..e098175b 100644 --- a/src/_locales/de/messages.json +++ b/src/_locales/de/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 Repositories ausgewählt" }, + "clearAllBtn": { + "message": "Alle löschen" + }, "repoLoading": { "message": "Lade Repositories..." }, diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 04597975..d423199e 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -197,6 +197,9 @@ "message": "$1 repositories selected", "description": "Text showing the count of selected repositories. $1 is a placeholder for the number." }, + "clearAllBtn": { + "message": "Clear All" + }, "repoLoading": { "message": "Loading repositories...", "description": "Status message when repositories are being loaded." diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json index 001f874b..da1aefb8 100644 --- a/src/_locales/es/messages.json +++ b/src/_locales/es/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repositorios seleccionados" }, + "clearAllBtn": { + "message": "Limpiar todo" + }, "repoLoading": { "message": "Cargando repositorios..." }, diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json index 84097797..4e4708fc 100644 --- a/src/_locales/fr/messages.json +++ b/src/_locales/fr/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 dépôts sélectionnés" }, + "clearAllBtn": { + "message": "Tout effacer" + }, "repoLoading": { "message": "Chargement des dépôts..." }, diff --git a/src/_locales/he/messages.json b/src/_locales/he/messages.json index 6481d60c..635d21c6 100644 --- a/src/_locales/he/messages.json +++ b/src/_locales/he/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "נבחרו $1 מאגרים" }, + "clearAllBtn": { + "message": "נקה הכל" + }, "repoLoading": { "message": "טוען מאגרים..." }, diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json index ff0db963..757b1c27 100644 --- a/src/_locales/hi/messages.json +++ b/src/_locales/hi/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 रिपॉजिटरी चयनित" }, + "clearAllBtn": { + "message": "सभी हटाएं" + }, "repoLoading": { "message": "रिपॉजिटरी लोड हो रही हैं..." }, diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json index 0450c957..ca73ccab 100644 --- a/src/_locales/id/messages.json +++ b/src/_locales/id/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repositori dipilih" }, + "clearAllBtn": { + "message": "Hapus Semua" + }, "repoLoading": { "message": "Memuat repositori..." }, diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json index c529dbf7..ddb25ad0 100644 --- a/src/_locales/it/messages.json +++ b/src/_locales/it/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repository selezionati" }, + "clearAllBtn": { + "message": "Cancella tutto" + }, "repoLoading": { "message": "Caricamento repository..." }, diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json index 0addcfd2..d6134140 100644 --- a/src/_locales/ja/messages.json +++ b/src/_locales/ja/messages.json @@ -151,6 +151,9 @@ "repoCount": { "message": "$1件のリポジトリが選択されています" }, + "clearAllBtn": { + "message": "すべてクリア" + }, "repoLoading": { "message": "リポジトリを読み込み中..." }, diff --git a/src/_locales/ml/messages.json b/src/_locales/ml/messages.json index 11685c5c..add3d8c9 100644 --- a/src/_locales/ml/messages.json +++ b/src/_locales/ml/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 റിപ്പോസിറ്ററികൾ തിരഞ്ഞെടുത്തു" }, + "clearAllBtn": { + "message": "എല്ലാം മായ്ക്കുക" + }, "repoLoading": { "message": "റിപ്പോസിറ്ററികൾ ലോഡ് ചെയ്യുന്നു..." }, diff --git a/src/_locales/my/messages.json b/src/_locales/my/messages.json index 8e550872..eb9a9dc6 100644 --- a/src/_locales/my/messages.json +++ b/src/_locales/my/messages.json @@ -146,6 +146,9 @@ "repoCount": { "message": "ရွေးချယ်ထားသော repositoryအရေအတွက်သည် $1 ဖြစ်သည်။" }, + "clearAllBtn": { + "message": "အားလုံးရှင်းပါ" + }, "repoLoading": { "message": "repositoryကို ဖွင့်နေသည်....." }, diff --git a/src/_locales/nb/messages.json b/src/_locales/nb/messages.json index 3047e21e..85477b4a 100644 --- a/src/_locales/nb/messages.json +++ b/src/_locales/nb/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repositorier valgt" }, + "clearAllBtn": { + "message": "Fjern alle" + }, "repoLoading": { "message": "Laster repositorier..." }, diff --git a/src/_locales/pt/messages.json b/src/_locales/pt/messages.json index 9bb2401d..23d43887 100644 --- a/src/_locales/pt/messages.json +++ b/src/_locales/pt/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repositórios selecionados" }, + "clearAllBtn": { + "message": "Limpar tudo" + }, "repoLoading": { "message": "Carregando repositórios..." }, diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json index ee664cb0..c0518105 100644 --- a/src/_locales/pt_BR/messages.json +++ b/src/_locales/pt_BR/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 repositórios selecionados" }, + "clearAllBtn": { + "message": "Limpar tudo" + }, "repoLoading": { "message": "Carregando repositórios..." }, diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json index 7173dd58..814a1b52 100644 --- a/src/_locales/ru/messages.json +++ b/src/_locales/ru/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 репозиториев выбрано" }, + "clearAllBtn": { + "message": "Очистить всё" + }, "repoLoading": { "message": "Загрузка репозиториев..." }, diff --git a/src/_locales/te/messages.json b/src/_locales/te/messages.json index 380e1e7b..603ab937 100644 --- a/src/_locales/te/messages.json +++ b/src/_locales/te/messages.json @@ -149,6 +149,9 @@ "repoCount": { "message": "$1 రిపోజిటరీలు ఎంపిక చేయబడ్డాయి" }, + "clearAllBtn": { + "message": "అన్నీ తొలగించు" + }, "repoLoading": { "message": "రిపోజిటరీలు లోడ్ అవుతున్నాయి..." }, diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json index 7264de95..4522ba78 100644 --- a/src/_locales/uk/messages.json +++ b/src/_locales/uk/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "Вибрано $1 репозиторіїв" }, + "clearAllBtn": { + "message": "Очистити все" + }, "repoLoading": { "message": "Завантаження репозиторіїв..." }, diff --git a/src/_locales/vi/messages.json b/src/_locales/vi/messages.json index da94017f..1c135154 100644 --- a/src/_locales/vi/messages.json +++ b/src/_locales/vi/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "$1 kho lưu trữ đã chọn" }, + "clearAllBtn": { + "message": "Xóa tất cả" + }, "repoLoading": { "message": "Đang tải kho lưu trữ..." }, diff --git a/src/_locales/zh_CN/messages.json b/src/_locales/zh_CN/messages.json index d8f2779b..0b752360 100644 --- a/src/_locales/zh_CN/messages.json +++ b/src/_locales/zh_CN/messages.json @@ -150,6 +150,9 @@ "repoCount": { "message": "已选择 $1 个仓库" }, + "clearAllBtn": { + "message": "全部清除" + }, "repoLoading": { "message": "正在加载仓库..." }, diff --git a/src/popup.html b/src/popup.html index ed324e5c..10ac4481 100644 --- a/src/popup.html +++ b/src/popup.html @@ -486,7 +486,10 @@

Note:

0 repositories selected - +
+ + +
diff --git a/src/scripts/popup.js b/src/scripts/popup.js index 82f28091..ba8e9193 100644 --- a/src/scripts/popup.js +++ b/src/scripts/popup.js @@ -1054,6 +1054,7 @@ document.addEventListener('DOMContentLoaded', () => { const repoPlaceholder = document.getElementById('repoPlaceholder'); const repoCount = document.getElementById('repoCount'); const repoStatus = document.getElementById('repoStatus'); + const clearAllReposBtn = document.getElementById('clearAllReposBtn'); const useRepoFilter = document.getElementById('useRepoFilter'); const repoFilterContainer = document.getElementById('repoFilterContainer'); @@ -1547,6 +1548,7 @@ document.addEventListener('DOMContentLoaded', () => { if (selectedRepos.length === 0) { repoTags.innerHTML = `${browser.i18n.getMessage('repoPlaceholder')}`; repoCount.textContent = browser.i18n.getMessage('repoCountNone'); + if (clearAllReposBtn) clearAllReposBtn.classList.add('hidden'); } else { repoTags.innerHTML = selectedRepos .map((repoFullName) => { @@ -1569,9 +1571,22 @@ document.addEventListener('DOMContentLoaded', () => { }); }); repoCount.textContent = browser.i18n.getMessage('repoCount', [selectedRepos.length]); + if (clearAllReposBtn) clearAllReposBtn.classList.remove('hidden'); } } + if (clearAllReposBtn) { + clearAllReposBtn.addEventListener('click', (e) => { + e.stopPropagation(); + selectedRepos = []; + updateRepoDisplay(); + saveRepoSelection(); + filterAndDisplayRepos( + repoSearch.value.toLowerCase() + ); + }); + } + function saveRepoSelection() { const cleanedRepos = selectedRepos.filter((repo) => repo !== null); browser.storage.local.set({