{legend}
} {/* Zoomed Modal */} diff --git a/apps/web/messages/ar-SA.json b/apps/web/messages/ar-SA.json index 9550f07..d0d613d 100644 --- a/apps/web/messages/ar-SA.json +++ b/apps/web/messages/ar-SA.json @@ -1533,5 +1533,20 @@ "passwordRequired": "كلمة المرور مطلوبة", "nameRequired": "الاسم مطلوب", "required": "هذا الحقل مطلوب" + }, + "iconPicker": { + "title": "اختر أيقونة", + "placeholder": "اختر أيقونة", + "searchPlaceholder": "البحث عن الأيقونات...", + "loadingMore": "جاري تحميل المزيد من الأيقونات...", + "allIconsLoaded": "تم تحميل جميع الأيقونات {count}", + "noIconsFound": "لم يتم العثور على أيقونات لـ \"{search}\"", + "tabs": { + "all": "جميع الأيقونات", + "popular": "الشائعة", + "auth": "مزودي المصادقة" + }, + "stats": "{iconCount} أيقونة من {libraryCount} مكتبة", + "categoryBadge": "{category} ({count} أيقونات)" } } \ No newline at end of file diff --git a/apps/web/messages/de-DE.json b/apps/web/messages/de-DE.json index 8abde0e..cd1811e 100644 --- a/apps/web/messages/de-DE.json +++ b/apps/web/messages/de-DE.json @@ -1531,5 +1531,20 @@ "passwordRequired": "Passwort ist erforderlich", "nameRequired": "Name ist erforderlich", "required": "Dieses Feld ist erforderlich" + }, + "iconPicker": { + "title": "Symbol auswählen", + "placeholder": "Wählen Sie ein Symbol", + "searchPlaceholder": "Symbole suchen...", + "loadingMore": "Weitere Symbole werden geladen...", + "allIconsLoaded": "Alle {count} Symbole geladen", + "noIconsFound": "Keine Symbole für \"{search}\" gefunden", + "tabs": { + "all": "Alle Symbole", + "popular": "Beliebt", + "auth": "Authentifizierungsanbieter" + }, + "stats": "{iconCount} Symbole aus {libraryCount} Bibliotheken", + "categoryBadge": "{category} ({count} Symbole)" } } \ No newline at end of file diff --git a/apps/web/messages/en-US.json b/apps/web/messages/en-US.json index 7f35e0a..722216b 100644 --- a/apps/web/messages/en-US.json +++ b/apps/web/messages/en-US.json @@ -1531,5 +1531,20 @@ "passwordMinLength": "Password must be at least 6 characters", "nameRequired": "Name is required", "required": "This field is required" + }, + "iconPicker": { + "title": "Select Icon", + "placeholder": "Select an icon", + "searchPlaceholder": "Search icons...", + "loadingMore": "Loading more icons...", + "allIconsLoaded": "All {count} icons loaded", + "noIconsFound": "No icons found for \"{search}\"", + "tabs": { + "all": "All Icons", + "popular": "Popular", + "auth": "Auth Providers" + }, + "stats": "{iconCount} icons from {libraryCount} libraries", + "categoryBadge": "{category} ({count} icons)" } } \ No newline at end of file diff --git a/apps/web/messages/es-ES.json b/apps/web/messages/es-ES.json index 3d8b958..962f149 100644 --- a/apps/web/messages/es-ES.json +++ b/apps/web/messages/es-ES.json @@ -1531,5 +1531,20 @@ "passwordRequired": "Se requiere la contraseña", "nameRequired": "El nombre es obligatorio", "required": "Este campo es obligatorio" + }, + "iconPicker": { + "title": "Seleccionar Icono", + "placeholder": "Seleccionar un icono", + "searchPlaceholder": "Buscar iconos...", + "loadingMore": "Cargando más iconos...", + "allIconsLoaded": "Todos los {count} iconos cargados", + "noIconsFound": "No se encontraron iconos para \"{search}\"", + "tabs": { + "all": "Todos los Iconos", + "popular": "Populares", + "auth": "Proveedores de Autenticación" + }, + "stats": "{iconCount} iconos de {libraryCount} bibliotecas", + "categoryBadge": "{category} ({count} iconos)" } } \ No newline at end of file diff --git a/apps/web/messages/fr-FR.json b/apps/web/messages/fr-FR.json index 5d7f976..c841cc4 100644 --- a/apps/web/messages/fr-FR.json +++ b/apps/web/messages/fr-FR.json @@ -1531,5 +1531,20 @@ "passwordRequired": "Le mot de passe est requis", "nameRequired": "Nome é obrigatório", "required": "Este campo é obrigatório" + }, + "iconPicker": { + "title": "Sélectionner une Icône", + "placeholder": "Sélectionner une icône", + "searchPlaceholder": "Rechercher des icônes...", + "loadingMore": "Chargement d'autres icônes...", + "allIconsLoaded": "Toutes les {count} icônes sont chargées", + "noIconsFound": "Aucune icône trouvée pour \"{search}\"", + "tabs": { + "all": "Toutes les Icônes", + "popular": "Populaires", + "auth": "Fournisseurs d'Authentification" + }, + "stats": "{iconCount} icônes de {libraryCount} bibliothèques", + "categoryBadge": "{category} ({count} icônes)" } } \ No newline at end of file diff --git a/apps/web/messages/hi-IN.json b/apps/web/messages/hi-IN.json index 0d692b1..fa92b75 100644 --- a/apps/web/messages/hi-IN.json +++ b/apps/web/messages/hi-IN.json @@ -1531,5 +1531,20 @@ "passwordRequired": "पासवर्ड आवश्यक है", "nameRequired": "नाम आवश्यक है", "required": "यह फ़ील्ड आवश्यक है" + }, + "iconPicker": { + "title": "आइकन चुनें", + "placeholder": "एक आइकन चुनें", + "searchPlaceholder": "आइकन खोजें...", + "loadingMore": "अधिक आइकन लोड हो रहे हैं...", + "allIconsLoaded": "सभी {count} आइकन लोड हो गए", + "noIconsFound": "\"{search}\" के लिए कोई आइकन नहीं मिला", + "tabs": { + "all": "सभी आइकन", + "popular": "लोकप्रिय", + "auth": "प्रमाणीकरण प्रदाता" + }, + "stats": "{libraryCount} लाइब्रेरी से {iconCount} आइकन", + "categoryBadge": "{category} ({count} आइकन)" } } \ No newline at end of file diff --git a/apps/web/messages/it-IT.json b/apps/web/messages/it-IT.json index 2c754cf..c95b0a0 100644 --- a/apps/web/messages/it-IT.json +++ b/apps/web/messages/it-IT.json @@ -1531,5 +1531,20 @@ "passwordMinLength": "La password deve contenere almeno 6 caratteri", "nameRequired": "Il nome è obbligatorio", "required": "Questo campo è obbligatorio" + }, + "iconPicker": { + "title": "Seleziona Icona", + "placeholder": "Seleziona un'icona", + "searchPlaceholder": "Cerca icone...", + "loadingMore": "Caricamento altre icone...", + "allIconsLoaded": "Tutte le {count} icone caricate", + "noIconsFound": "Nessuna icona trovata per \"{search}\"", + "tabs": { + "all": "Tutte le Icone", + "popular": "Popolari", + "auth": "Provider di Autenticazione" + }, + "stats": "{iconCount} icone da {libraryCount} librerie", + "categoryBadge": "{category} ({count} icone)" } } \ No newline at end of file diff --git a/apps/web/messages/ja-JP.json b/apps/web/messages/ja-JP.json index 9fa3cdb..a60a879 100644 --- a/apps/web/messages/ja-JP.json +++ b/apps/web/messages/ja-JP.json @@ -1531,5 +1531,20 @@ "passwordRequired": "パスワードは必須です", "nameRequired": "名前は必須です", "required": "このフィールドは必須です" + }, + "iconPicker": { + "title": "アイコンを選択", + "placeholder": "アイコンを選択してください", + "searchPlaceholder": "アイコンを検索...", + "loadingMore": "アイコンを読み込み中...", + "allIconsLoaded": "全{count}個のアイコンを読み込みました", + "noIconsFound": "\"{search}\"に一致するアイコンが見つかりませんでした", + "tabs": { + "all": "すべてのアイコン", + "popular": "人気", + "auth": "認証プロバイダー" + }, + "stats": "{libraryCount}ライブラリから{iconCount}個のアイコン", + "categoryBadge": "{category}({count}個のアイコン)" } } \ No newline at end of file diff --git a/apps/web/messages/ko-KR.json b/apps/web/messages/ko-KR.json index bcfc703..8950dfb 100644 --- a/apps/web/messages/ko-KR.json +++ b/apps/web/messages/ko-KR.json @@ -1531,5 +1531,20 @@ "passwordRequired": "비밀번호는 필수입니다", "nameRequired": "이름은 필수입니다", "required": "이 필드는 필수입니다" + }, + "iconPicker": { + "title": "아이콘 선택", + "placeholder": "아이콘 선택", + "searchPlaceholder": "아이콘 검색...", + "loadingMore": "아이콘 더 불러오는 중...", + "allIconsLoaded": "모든 {count}개의 아이콘이 로드됨", + "noIconsFound": "\"{search}\"에 대한 아이콘을 찾을 수 없습니다", + "tabs": { + "all": "모든 아이콘", + "popular": "인기", + "auth": "인증 제공자" + }, + "stats": "{libraryCount}개의 라이브러리에서 {iconCount}개의 아이콘", + "categoryBadge": "{category} ({count}개의 아이콘)" } } \ No newline at end of file diff --git a/apps/web/messages/nl-NL.json b/apps/web/messages/nl-NL.json index 33df881..c7b3f88 100644 --- a/apps/web/messages/nl-NL.json +++ b/apps/web/messages/nl-NL.json @@ -1531,5 +1531,20 @@ "passwordMinLength": "Wachtwoord moet minimaal 6 tekens bevatten", "nameRequired": "Naam is verplicht", "required": "Dit veld is verplicht" + }, + "iconPicker": { + "title": "Selecteer Pictogram", + "placeholder": "Selecteer een pictogram", + "searchPlaceholder": "Zoek pictogrammen...", + "loadingMore": "Meer pictogrammen laden...", + "allIconsLoaded": "Alle {count} pictogrammen geladen", + "noIconsFound": "Geen pictogrammen gevonden voor \"{search}\"", + "tabs": { + "all": "Alle Pictogrammen", + "popular": "Populair", + "auth": "Authenticatie Providers" + }, + "stats": "{iconCount} pictogrammen van {libraryCount} bibliotheken", + "categoryBadge": "{category} ({count} pictogrammen)" } } \ No newline at end of file diff --git a/apps/web/messages/pl-PL.json b/apps/web/messages/pl-PL.json index aac96fb..8e66cad 100644 --- a/apps/web/messages/pl-PL.json +++ b/apps/web/messages/pl-PL.json @@ -1531,5 +1531,20 @@ "passwordMinLength": "Hasło musi mieć co najmniej 6 znaków", "nameRequired": "Nazwa jest wymagana", "required": "To pole jest wymagane" + }, + "iconPicker": { + "title": "Wybierz ikonę", + "placeholder": "Wybierz ikonę", + "searchPlaceholder": "Szukaj ikon...", + "loadingMore": "Ładowanie kolejnych ikon...", + "allIconsLoaded": "Załadowano wszystkie {count} ikon", + "noIconsFound": "Nie znaleziono ikon dla \"{search}\"", + "tabs": { + "all": "Wszystkie ikony", + "popular": "Popularne", + "auth": "Dostawcy uwierzytelniania" + }, + "stats": "{iconCount} ikon z {libraryCount} bibliotek", + "categoryBadge": "{category} ({count} ikon)" } } \ No newline at end of file diff --git a/apps/web/messages/pt-BR.json b/apps/web/messages/pt-BR.json index 7287f86..5600a93 100644 --- a/apps/web/messages/pt-BR.json +++ b/apps/web/messages/pt-BR.json @@ -1531,5 +1531,20 @@ "lastNameRequired": "O sobrenome é necessário", "usernameLength": "O nome de usuário deve ter pelo menos 3 caracteres", "usernameSpaces": "O nome de usuário não pode conter espaços" + }, + "iconPicker": { + "title": "Selecionar ícone", + "placeholder": "Selecione um ícone", + "searchPlaceholder": "Pesquisar ícones...", + "loadingMore": "Carregando mais ícones...", + "allIconsLoaded": "Todos os {count} ícones carregados", + "noIconsFound": "Nenhum ícone encontrado para \"{search}\"", + "tabs": { + "all": "Todos os ícones", + "popular": "Populares", + "auth": "Provedores de autenticação" + }, + "stats": "{iconCount} ícones de {libraryCount} bibliotecas", + "categoryBadge": "{category} ({count} ícones)" } } \ No newline at end of file diff --git a/apps/web/messages/ru-RU.json b/apps/web/messages/ru-RU.json index 88d46e0..61d2dc4 100644 --- a/apps/web/messages/ru-RU.json +++ b/apps/web/messages/ru-RU.json @@ -1531,5 +1531,20 @@ "passwordRequired": "Требуется пароль", "nameRequired": "Требуется имя", "required": "Это поле обязательно" + }, + "iconPicker": { + "title": "Выбрать иконку", + "placeholder": "Выберите иконку", + "searchPlaceholder": "Поиск иконок...", + "loadingMore": "Загрузка дополнительных иконок...", + "allIconsLoaded": "Загружено все {count} иконок", + "noIconsFound": "Не найдено иконок для \"{search}\"", + "tabs": { + "all": "Все иконки", + "popular": "Популярные", + "auth": "Провайдеры аутентификации" + }, + "stats": "{iconCount} иконок из {libraryCount} библиотек", + "categoryBadge": "{category} ({count} иконок)" } } \ No newline at end of file diff --git a/apps/web/messages/tr-TR.json b/apps/web/messages/tr-TR.json index d5cf742..b0a78ca 100644 --- a/apps/web/messages/tr-TR.json +++ b/apps/web/messages/tr-TR.json @@ -1531,5 +1531,20 @@ "passwordRequired": "Şifre gerekli", "nameRequired": "İsim gereklidir", "required": "Bu alan zorunludur" + }, + "iconPicker": { + "title": "Simge Seç", + "placeholder": "Bir simge seç", + "searchPlaceholder": "Simgeleri ara...", + "loadingMore": "Daha fazla simge yükleniyor...", + "allIconsLoaded": "Tüm {count} simge yüklendi", + "noIconsFound": "\"{search}\" için simge bulunamadı", + "tabs": { + "all": "Tüm Simgeler", + "popular": "Popüler", + "auth": "Kimlik Doğrulama Sağlayıcıları" + }, + "stats": "{libraryCount} kütüphaneden {iconCount} simge", + "categoryBadge": "{category} ({count} simge)" } } \ No newline at end of file diff --git a/apps/web/messages/zh-CN.json b/apps/web/messages/zh-CN.json index ef1a461..29172d0 100644 --- a/apps/web/messages/zh-CN.json +++ b/apps/web/messages/zh-CN.json @@ -1531,5 +1531,20 @@ "passwordRequired": "密码为必填项", "nameRequired": "名称为必填项", "required": "此字段为必填项" + }, + "iconPicker": { + "title": "选择图标", + "placeholder": "选择一个图标", + "searchPlaceholder": "搜索图标...", + "loadingMore": "正在加载更多图标...", + "allIconsLoaded": "已加载全部 {count} 个图标", + "noIconsFound": "未找到与\"{search}\"相关的图标", + "tabs": { + "all": "所有图标", + "popular": "常用", + "auth": "认证提供商" + }, + "stats": "来自 {libraryCount} 个库的 {iconCount} 个图标", + "categoryBadge": "{category}({count} 个图标)" } } \ No newline at end of file diff --git a/apps/web/src/app/settings/components/auth-provider-form/edit-provider-form.tsx b/apps/web/src/app/settings/components/auth-provider-form/edit-provider-form.tsx index 27888e3..722a190 100644 --- a/apps/web/src/app/settings/components/auth-provider-form/edit-provider-form.tsx +++ b/apps/web/src/app/settings/components/auth-provider-form/edit-provider-form.tsx @@ -70,6 +70,14 @@ export function EditProviderForm({ const [showClientSecret, setShowClientSecret] = useState(false); const isOfficial = provider.isOfficial; + // Função para identificar providers oficiais que não devem ter o campo de provider URL editável + const isProviderUrlEditable = (providerName: string): boolean => { + const nonEditableProviders = ["google", "discord", "github"]; + return !nonEditableProviders.includes(providerName.toLowerCase()); + }; + + const canEditProviderUrl = isProviderUrlEditable(provider.name); + const updateFormData = (updates: Partial{t("authProviders.form.officialProviderHelp")}
-{t("authProviders.form.officialProviderHelp")}
+Nenhum ícone encontrado para "{search}"
+{t("noIconsFound", { search })}