feat(user-avatar): users can now edit there image (image is taken from OIDC picture)

This commit is contained in:
Edouard Vanbelle
2026-05-26 00:50:38 +02:00
parent 8b6c8e345b
commit b0c5e7827e
43 changed files with 1563 additions and 250 deletions
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "أدخل تسمية",
"error_create_pw": "فشل إنشاء كلمة المرور",
"confirm_revoke": "إلغاء كلمة المرور \"{{label}}\"؟ ستتوقف العملاء عن العمل.",
"error_revoke": "فشل الإلغاء"
"error_revoke": "فشل الإلغاء",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "جارٍ الرفع...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Bitte Bezeichnung eingeben",
"error_create_pw": "App-Passwort erstellen fehlgeschlagen",
"confirm_revoke": "App-Passwort \"{{label}}\" widerrufen? Clients werden nicht mehr funktionieren.",
"error_revoke": "Widerrufen fehlgeschlagen"
"error_revoke": "Widerrufen fehlgeschlagen",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Wird hochgeladen...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Please enter a label",
"error_create_pw": "Failed to create app password",
"confirm_revoke": "Revoke app password \"{{label}}\"? Clients using this password will stop working.",
"error_revoke": "Failed to revoke app password"
"error_revoke": "Failed to revoke app password",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Uploading...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Introduce una etiqueta",
"error_create_pw": "Error al crear contraseña de aplicación",
"confirm_revoke": "¿Revocar contraseña \"{{label}}\"? Los clientes que la usen dejarán de funcionar.",
"error_revoke": "Error al revocar contraseña"
"error_revoke": "Error al revocar contraseña",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Subiendo...",
+14 -1
View File
@@ -660,7 +660,20 @@
"error_label_required": "لطفاً برچسب وارد کنید",
"error_create_pw": "ایجاد رمز ناموفق بود",
"confirm_revoke": "رمز «{{label}}» ابطال شود؟ کلاینت‌ها از کار می‌افتند.",
"error_revoke": "ابطال ناموفق بود"
"error_revoke": "ابطال ناموفق بود",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"notifications": {
"file_renamed": "فایل تغییر نام داد",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Veuillez entrer un libellé",
"error_create_pw": "Impossible de créer le mot de passe",
"confirm_revoke": "Révoquer le mot de passe \"{{label}}\" ? Les clients l'utilisant ne fonctionneront plus.",
"error_revoke": "Échec de la révocation"
"error_revoke": "Échec de la révocation",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Téléchargement en cours...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "कृपया एक लेबल दर्ज करें",
"error_create_pw": "ऐप पासवर्ड बनाने में विफल",
"confirm_revoke": "ऐप पासवर्ड \"{{label}}\" रद्द करें? इसका उपयोग करने वाले क्लाइंट काम करना बंद कर देंगे।",
"error_revoke": "रद्द करने में विफल"
"error_revoke": "रद्द करने में विफल",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "अपलोड हो रहा है...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Inserisci un'etichetta",
"error_create_pw": "Impossibile creare la password",
"confirm_revoke": "Revocare la password \"{{label}}\"? I client che la usano smetteranno di funzionare.",
"error_revoke": "Revoca fallita"
"error_revoke": "Revoca fallita",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Caricamento in corso...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "ラベルを入力してください",
"error_create_pw": "アプリパスワードの作成に失敗しました",
"confirm_revoke": "アプリパスワード「{{label}}」を失効させますか?使用中のクライアントは動作しなくなります。",
"error_revoke": "失効に失敗しました"
"error_revoke": "失効に失敗しました",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "アップロード中...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "라벨을 입력하세요",
"error_create_pw": "앱 비밀번호 생성 실패",
"confirm_revoke": "앱 비밀번호 \"{{label}}\"을(를) 취소하시겠습니까? 이 비밀번호를 사용하는 클라이언트가 작동하지 않게 됩니다.",
"error_revoke": "취소 실패"
"error_revoke": "취소 실패",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "업로드 중...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Voer een label in",
"error_create_pw": "App-wachtwoord aanmaken mislukt",
"confirm_revoke": "App-wachtwoord \"{{label}}\" intrekken? Clients die dit wachtwoord gebruiken zullen stoppen.",
"error_revoke": "Intrekken mislukt"
"error_revoke": "Intrekken mislukt",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Bezig met uploaden...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Wprowadź etykietę",
"error_create_pw": "Nie udało się utworzyć hasła aplikacji",
"confirm_revoke": "Unieważnić hasło aplikacji \"{{label}}\"? Klienci używający tego hasła przestaną działać.",
"error_revoke": "Nie udało się unieważnić hasła aplikacji"
"error_revoke": "Nie udało się unieważnić hasła aplikacji",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Przesyłanie...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Digite um rótulo",
"error_create_pw": "Falha ao criar senha de aplicativo",
"confirm_revoke": "Revogar senha \"{{label}}\"? Clientes que usam esta senha deixarão de funcionar.",
"error_revoke": "Falha ao revogar"
"error_revoke": "Falha ao revogar",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "A carregar...",
+14 -1
View File
@@ -677,7 +677,20 @@
"error_label_required": "Введите метку",
"error_create_pw": "Не удалось создать пароль",
"confirm_revoke": "Отозвать пароль «{{label}}»? Клиенты перестанут работать.",
"error_revoke": "Не удалось отозвать"
"error_revoke": "Не удалось отозвать",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"upload": {
"uploading": "Загрузка...",
+14 -1
View File
@@ -660,7 +660,20 @@
"error_label_required": "請輸入標籤",
"error_create_pw": "建立應用密碼失敗",
"confirm_revoke": "撤銷應用密碼\"{{label}}\"?使用此密碼的客戶端將停止工作。",
"error_revoke": "撤銷失敗"
"error_revoke": "撤銷失敗",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"notifications": {
"file_renamed": "檔案已重新命名",
+14 -1
View File
@@ -660,7 +660,20 @@
"error_label_required": "请输入标签",
"error_create_pw": "创建应用密码失败",
"confirm_revoke": "撤销应用密码\"{{label}}\"?使用此密码的客户端将停止工作。",
"error_revoke": "撤销失败"
"error_revoke": "撤销失败",
"edit_photo": "Edit photo",
"photo_tab_url": "URL",
"photo_tab_upload": "Upload",
"photo_url_placeholder": "https://example.com/photo.jpg",
"photo_url_hint": "https://, http://, or data:image/…;base64,… accepted",
"photo_choose_file": "Choose a photo (PNG, JPEG, WebP)",
"photo_resize_note": "Images larger than 512 × 512 px are automatically resized.",
"photo_save": "Save photo",
"photo_remove": "Remove photo",
"photo_cancel": "Cancel",
"photo_save_failed": "Failed to save photo",
"photo_no_file": "Please select a file first",
"photo_managed_by_oidc": "Photo managed by your identity provider."
},
"notifications": {
"file_renamed": "文件已重命名",