From 5ce4b0a927a21e3e4d7605eaf62b88cb7fa3acb1 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Tue, 14 Jan 2025 10:05:12 +0100 Subject: [PATCH 1/4] :bug: Delete empty or fuzzy translations --- .../main/ui/workspace/sidebar/shortcuts.cljs | 1 - .../main/ui/workspace/tokens/token_pill.scss | 37 +++++++++- frontend/translations/af.po | 2 +- frontend/translations/ar.po | 2 +- frontend/translations/cs.po | 2 +- frontend/translations/de.po | 2 +- frontend/translations/en.po | 68 ++----------------- frontend/translations/es.po | 10 ++- frontend/translations/es_419.po | 2 +- frontend/translations/fr.po | 2 +- frontend/translations/ha.po | 2 +- frontend/translations/he.po | 2 +- frontend/translations/id.po | 30 +------- frontend/translations/ig.po | 2 +- frontend/translations/it.po | 2 +- frontend/translations/ko.po | 2 +- frontend/translations/lv.po | 2 +- frontend/translations/ms.po | 2 +- frontend/translations/nl.po | 2 +- frontend/translations/pt_PT.po | 2 +- frontend/translations/ro.po | 2 +- frontend/translations/sv.po | 2 +- frontend/translations/th.po | 2 +- frontend/translations/tr.po | 2 +- frontend/translations/ukr_UA.po | 2 +- frontend/translations/yo.po | 2 +- frontend/translations/zh_CN.po | 2 +- frontend/translations/zh_Hant.po | 2 +- 28 files changed, 73 insertions(+), 119 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar/shortcuts.cljs b/frontend/src/app/main/ui/workspace/sidebar/shortcuts.cljs index 70d1b1b68..093ee3721 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/shortcuts.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/shortcuts.cljs @@ -198,7 +198,6 @@ (tr "shortcuts.toggle-lock") (tr "shortcuts.toggle-lock-size") (tr "shortcuts.toggle-rulers") - (tr "shortcuts.toggle-rules") (tr "shortcuts.toggle-snap-guides") (tr "shortcuts.toggle-snap-ruler-guide") (tr "shortcuts.toggle-textpalette") diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.scss b/frontend/src/app/main/ui/workspace/tokens/token_pill.scss index 3d39b8dac..e4b78aeee 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.scss +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.scss @@ -53,6 +53,31 @@ --token-pill-accent: var(--color-background-tertiary); } } +.name-wrapper { + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.group-name-wrapper::before, span::after { + vertical-align: middle; + display: inline-block; + max-width: 50%; + overflow: hidden; + white-space: pre; +} + +.group-name-wrapper::before { + content: attr(data-content-start); + text-overflow: ellipsis; +} + +.group-name-wrapper::after { + content: attr(data-content-end); + text-overflow: ''; + direction: rtl; +} .token-pill-applied { --token-pill-background: var(--color-token-background); @@ -84,8 +109,7 @@ } } -.token-pill-invalid, -.token-pill-invalid-applied { +.token-pill-invalid { --token-pill-background: var(--color-background-tertiary); --token-pill-foreground: var(--color-foreground-error); --token-pill-border: var(--color-background-tertiary); @@ -101,6 +125,15 @@ } } +.token-pill-invalid-applied { + --token-pill-border: var(--color-foreground-error); + &:hover, + &:focus-visible, + &:disabled { + --token-pill-border: var(--color-foreground-error); + } +} + .token-pill-icon { color: var(--token-pill-accent); } diff --git a/frontend/translations/af.po b/frontend/translations/af.po index 478c32d6d..b59ac3184 100644 --- a/frontend/translations/af.po +++ b/frontend/translations/af.po @@ -287,7 +287,7 @@ msgstr "Genereer nuwe token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Toegangstoken is suksesvol geskep." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/ar.po b/frontend/translations/ar.po index dc5453048..5674e144d 100644 --- a/frontend/translations/ar.po +++ b/frontend/translations/ar.po @@ -295,7 +295,7 @@ msgstr "قم بإنشاء رمز جديد" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "تم إنشاء رمز الوصول بنجاح." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/cs.po b/frontend/translations/cs.po index caa94d251..bace01b7d 100644 --- a/frontend/translations/cs.po +++ b/frontend/translations/cs.po @@ -329,7 +329,7 @@ msgstr "Generovat nový token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Přístupový token byl úspěšně vytvořen." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/de.po b/frontend/translations/de.po index 2a8f833ef..c01dff23d 100644 --- a/frontend/translations/de.po +++ b/frontend/translations/de.po @@ -336,7 +336,7 @@ msgstr "Neues Token generieren" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Der Zugangstoken wurde erfolgreich erstellt." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 14e090feb..5f8ca3df6 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -324,14 +324,8 @@ msgid "dashboard.access-tokens.create" msgstr "Generate new token" #: src/app/main/ui/settings/access-tokens.cljs -#, unused -msgid "dashboard.access-tokens.create-success" -msgstr "Access token created successfully." - -#: src/app/main/ui/settings/access_tokens.cljs:65 -#, fuzzy msgid "dashboard.access-tokens.create.success" -msgstr "" +msgstr "Access token created successfully." #: src/app/main/ui/settings/access_tokens.cljs:289 msgid "dashboard.access-tokens.empty.add-one" @@ -1153,9 +1147,8 @@ msgid "errors.member-is-muted" msgstr "The profile you inviting has emails muted (spam reports or high bounces)." #: src/app/main/errors.cljs:228 -#, fuzzy msgid "errors.migration-in-progress" -msgstr "" +msgstr "Migration in progress" #: src/app/main/ui/settings/password.cljs #, unused @@ -1252,11 +1245,6 @@ msgstr "Email or password is incorrect." msgid "errors.wrong-old-password" msgstr "Old password is incorrect" -#: src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 -#, fuzzy -msgid "exclude" -msgstr "" - #: src/app/main/ui/settings/feedback.cljs:74 msgid "feedback.description" msgstr "Description" @@ -1557,11 +1545,6 @@ msgstr "Text" msgid "inspect.tabs.info" msgstr "Info" -#: src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 -#, fuzzy -msgid "intersection" -msgstr "" - #: src/app/main/ui/workspace/main_menu.cljs:163 msgid "label.shortcuts" msgstr "Shortcuts" @@ -2315,11 +2298,6 @@ msgstr "Create token" msgid "modals.create-access-token.title" msgstr "Generate access token" -#: src/app/main/ui/settings/access_tokens.cljs:152 -#, fuzzy -msgid "modals.create-access-token.token" -msgstr "" - #: src/app/main/ui/dashboard/team.cljs:911 msgid "modals.create-webhook.submit-label" msgstr "Create webhook" @@ -3827,11 +3805,6 @@ msgstr "Lock proportions" msgid "shortcuts.toggle-rulers" msgstr "Show / Hide rulers" -#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:201 -#, fuzzy -msgid "shortcuts.toggle-rules" -msgstr "" - #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:202 msgid "shortcuts.toggle-snap-guides" msgstr "Snap to guides" @@ -6293,21 +6266,6 @@ msgstr "Edit themes" msgid "workspace.token.edit-token" msgstr "Edit token" -#: src/app/main/ui/workspace/tokens/form.cljs:408 -#, fuzzy -msgid "workspace.token.enter-token-description" -msgstr "" - -#: src/app/main/ui/workspace/tokens/form.cljs:370 -#, fuzzy -msgid "workspace.token.enter-token-name" -msgstr "" - -#: src/app/main/ui/workspace/tokens/form.cljs:390 -#, fuzzy -msgid "workspace.token.enter-token-value" -msgstr "" - #: src/app/main/ui/workspace/tokens/sets.cljs:186 #, unused msgid "workspace.token.grouping-set-alert" @@ -6365,11 +6323,6 @@ msgstr "Select set." msgid "workspace.token.set-selection-theme" msgstr "Define what token sets should be used as part of this theme option:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:119 -#, fuzzy -msgid "workspace.token.theme" -msgstr "" - #: src/app/main/ui/workspace/tokens/modals/themes.cljs #, unused msgid "workspace.token.theme-name" @@ -6379,20 +6332,9 @@ msgstr "Theme %s" msgid "workspace.token.themes" msgstr "Themes" -#: src/app/main/ui/workspace/tokens/form.cljs:409 -#, fuzzy -msgid "workspace.token.token-description" -msgstr "" - -#: src/app/main/ui/workspace/tokens/form.cljs:373 -#, fuzzy -msgid "workspace.token.token-name" -msgstr "" - -#: src/app/main/ui/workspace/tokens/form.cljs:391 -#, fuzzy -msgid "workspace.token.token-value" -msgstr "" +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +msgid "workspace.token-set.not-active" +msgstr "Token set is not active" #: src/app/main/ui/workspace/sidebar.cljs:117, src/app/main/ui/workspace/sidebar.cljs:126 msgid "workspace.toolbar.assets" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index bac438273..cc6524225 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -332,7 +332,7 @@ msgstr "Generar nuevo token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Access token creado con éxito." #: src/app/main/ui/settings/access_tokens.cljs:289 @@ -1163,6 +1163,10 @@ msgstr "" "El perfil que esta invitando tiene los emails silenciados (por reportes de " "spam o alto indice de rebote)." +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "Migración en proceso" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -6742,6 +6746,10 @@ msgstr "Nuevo tema" msgid "workspace.token.themes" msgstr "Temas" +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +msgid "workspace.token-set.not-active" +msgstr "El set de tokens no está aplicado" + #: src/app/main/ui/workspace/tokens/modals/themes.cljs msgid "workspace.token.theme-name" msgstr "Tema %s" diff --git a/frontend/translations/es_419.po b/frontend/translations/es_419.po index c3744a4fb..9652ea3ca 100644 --- a/frontend/translations/es_419.po +++ b/frontend/translations/es_419.po @@ -294,7 +294,7 @@ msgstr "Generar nuevo token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Token de acceso creado correctamente." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/fr.po b/frontend/translations/fr.po index ca02d7b28..27e77a393 100644 --- a/frontend/translations/fr.po +++ b/frontend/translations/fr.po @@ -332,7 +332,7 @@ msgstr "Générer un nouveau jeton" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Jeton d'accès créé avec succès." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/ha.po b/frontend/translations/ha.po index 395d32a30..5f1e2450c 100644 --- a/frontend/translations/ha.po +++ b/frontend/translations/ha.po @@ -270,7 +270,7 @@ msgstr "samo sabuwar lambar tsaro" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "ka sami lambar tsaron da aka yi." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/he.po b/frontend/translations/he.po index bc626150d..49ecf26c0 100644 --- a/frontend/translations/he.po +++ b/frontend/translations/he.po @@ -318,7 +318,7 @@ msgstr "יצירת אסימון חדש" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "אסימון הגישה נוצר בהצלחה." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/id.po b/frontend/translations/id.po index c2db2c50d..559e78cea 100644 --- a/frontend/translations/id.po +++ b/frontend/translations/id.po @@ -331,12 +331,8 @@ msgstr "Buat token baru" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" -msgstr "Token akses berhasil dibuat." - -#: src/app/main/ui/settings/access_tokens.cljs:65 msgid "dashboard.access-tokens.create.success" -msgstr " " +msgstr "Token akses berhasil dibuat." #: src/app/main/ui/settings/access_tokens.cljs:289 msgid "dashboard.access-tokens.empty.add-one" @@ -1051,10 +1047,6 @@ msgstr "" "Profil yang Anda undang membisukan surel (laporan spam atau lompatan " "tinggi)." -#: src/app/main/errors.cljs:228 -msgid "errors.migration-in-progress" -msgstr " " - #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -1154,10 +1146,6 @@ msgstr "Surel atau kata sandi tidak benar." msgid "errors.wrong-old-password" msgstr "Kata sandi lama tidak benar" -#: src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 -msgid "exclude" -msgstr " " - #: src/app/main/ui/settings/feedback.cljs:74 msgid "feedback.description" msgstr "Deskripsi" @@ -1461,10 +1449,6 @@ msgstr "Teks" msgid "inspect.tabs.info" msgstr "Info" -#: src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 -msgid "intersection" -msgstr " " - #: src/app/main/ui/workspace/main_menu.cljs:162 msgid "label.shortcuts" msgstr "Pintasan" @@ -2151,10 +2135,6 @@ msgstr "Buat token" msgid "modals.create-access-token.title" msgstr "Buat token baru" -#: src/app/main/ui/settings/access_tokens.cljs:152 -msgid "modals.create-access-token.token" -msgstr " " - #: src/app/main/ui/dashboard/team.cljs:911 msgid "modals.create-webhook.submit-label" msgstr "Buat kaitan web" @@ -3640,10 +3620,6 @@ msgstr "Kunci proporsi" msgid "shortcuts.toggle-rulers" msgstr "Tampilkan / Sembunyikan penggaris" -#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:199 -msgid "shortcuts.toggle-rules" -msgstr " " - #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:200 msgid "shortcuts.toggle-snap-guides" msgstr "Pasang ke panduan" @@ -6107,10 +6083,6 @@ msgstr "Klik untuk menutup jalur" msgid "dashboard.empty-placeholder-drafts-title" msgstr "Belum ada draf." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:119 -msgid "workspace.token.theme" -msgstr " " - #: src/app/main/ui/dashboard/fonts.cljs:445 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" diff --git a/frontend/translations/ig.po b/frontend/translations/ig.po index 3a7aa75c7..2658abdfd 100644 --- a/frontend/translations/ig.po +++ b/frontend/translations/ig.po @@ -256,7 +256,7 @@ msgstr "Mepụta ọdịmara ọhụrụ" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Mmepụtara ọdịmara nnweta gara nke ọma ." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/it.po b/frontend/translations/it.po index 4d6664918..af43b1784 100644 --- a/frontend/translations/it.po +++ b/frontend/translations/it.po @@ -5122,7 +5122,7 @@ msgstr "Elimina" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Token di accesso creato con successo." #: src/app/main/ui/settings/access_tokens.cljs:143 diff --git a/frontend/translations/ko.po b/frontend/translations/ko.po index c3cdc6190..a3f7b1a7b 100644 --- a/frontend/translations/ko.po +++ b/frontend/translations/ko.po @@ -303,7 +303,7 @@ msgstr "새로운 토큰 생성하기" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "엑세스 토큰이 성공적으로 생성되었습니다." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/lv.po b/frontend/translations/lv.po index 8973eaf1d..d56160b18 100644 --- a/frontend/translations/lv.po +++ b/frontend/translations/lv.po @@ -330,7 +330,7 @@ msgstr "Izveidot jaunu pilnvaru" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Piekļuves pilnvara ir veiksmīgi izveidota." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/ms.po b/frontend/translations/ms.po index c1a960cfd..74d657bee 100644 --- a/frontend/translations/ms.po +++ b/frontend/translations/ms.po @@ -277,7 +277,7 @@ msgstr "Jana token baru" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Token capaian berjaya dihasilkan." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/nl.po b/frontend/translations/nl.po index a20abd162..915389f36 100644 --- a/frontend/translations/nl.po +++ b/frontend/translations/nl.po @@ -329,7 +329,7 @@ msgstr "Nieuw toegangsbewijs aanmaken" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Toegangsbewijs is succesvol aangemaakt." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/pt_PT.po b/frontend/translations/pt_PT.po index c9e9ed632..3b38a20fb 100644 --- a/frontend/translations/pt_PT.po +++ b/frontend/translations/pt_PT.po @@ -328,7 +328,7 @@ msgstr "Gerar novo token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Token de acesso criado com sucesso." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/ro.po b/frontend/translations/ro.po index 7990ab0ff..0ea244bc7 100644 --- a/frontend/translations/ro.po +++ b/frontend/translations/ro.po @@ -314,7 +314,7 @@ msgstr "Generați jeton nou" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Jeton de acces creat cu succes." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/sv.po b/frontend/translations/sv.po index cb5688fc8..b5790d94f 100644 --- a/frontend/translations/sv.po +++ b/frontend/translations/sv.po @@ -329,7 +329,7 @@ msgstr "Skapa ny token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Accesstoken skapad." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/th.po b/frontend/translations/th.po index b3e89b943..3dde876c3 100644 --- a/frontend/translations/th.po +++ b/frontend/translations/th.po @@ -757,7 +757,7 @@ msgstr "สร้างโทเคนใหม่" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "สร้างโทเคนสำหรับการเข้าถึงสำเร็จแล้ว" #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/tr.po b/frontend/translations/tr.po index c190e4d30..7a40766f6 100644 --- a/frontend/translations/tr.po +++ b/frontend/translations/tr.po @@ -330,7 +330,7 @@ msgstr "Yeni belirteç oluştur" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Erişim belirteci başarıyla oluşturuldu." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/ukr_UA.po b/frontend/translations/ukr_UA.po index ec2a1bed4..2601c0856 100644 --- a/frontend/translations/ukr_UA.po +++ b/frontend/translations/ukr_UA.po @@ -334,7 +334,7 @@ msgstr "Згенерувати новий токен" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "Токен доступу успішно створено." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/yo.po b/frontend/translations/yo.po index b20ec117a..5b747b641 100644 --- a/frontend/translations/yo.po +++ b/frontend/translations/yo.po @@ -268,7 +268,7 @@ msgstr "ṣe ìpilẹ̀sẹ̀ àmì tókìnnì" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "ṣe àyẹ̀wò àmì tókìnnì tí o ṣẹ̀dá bó ṣeyẹ." #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/zh_CN.po b/frontend/translations/zh_CN.po index 821f749de..9bd40b5e3 100644 --- a/frontend/translations/zh_CN.po +++ b/frontend/translations/zh_CN.po @@ -300,7 +300,7 @@ msgstr "生成新令牌" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "成功创建访问令牌。" #: src/app/main/ui/settings/access_tokens.cljs:289 diff --git a/frontend/translations/zh_Hant.po b/frontend/translations/zh_Hant.po index 73cdcbedf..ddf4e9008 100644 --- a/frontend/translations/zh_Hant.po +++ b/frontend/translations/zh_Hant.po @@ -283,7 +283,7 @@ msgstr "產生新的 Token" #: src/app/main/ui/settings/access-tokens.cljs #, unused -msgid "dashboard.access-tokens.create-success" +msgid "dashboard.access-tokens.create.success" msgstr "已成功建立 Access Token。" #: src/app/main/ui/settings/access_tokens.cljs:289 From dea866d3a39aef357934e661d297c9d4d02f84b3 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Tue, 14 Jan 2025 10:07:09 +0100 Subject: [PATCH 2/4] :bug: Show icon on broken color reference instead of swatch --- frontend/src/app/main/ui/workspace/tokens/token_pill.cljs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs index f3dfd028e..26575e8a2 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs @@ -44,14 +44,13 @@ :on-context-menu on-context-menu :disabled errors?} (cond - color - [:& color-bullet {:color color - :mini true}] errors? [:> icon* {:icon-id "broken-link" :class (stl/css :token-pill-icon)}] - + color + [:& color-bullet {:color color + :mini true}] :else [:> token-status-icon* {:icon-id token-status-id From 6eea633ca9dc232f2ab62cdd49976ca4a98527b4 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Tue, 14 Jan 2025 10:24:04 +0100 Subject: [PATCH 3/4] :bug: Fix some problems with error handling --- .../main/ui/workspace/tokens/context_menu.cljs | 8 +++++--- .../src/app/main/ui/workspace/tokens/sidebar.cljs | 2 ++ .../ui/workspace/tokens/style_dictionary.cljs | 8 +++++--- .../app/main/ui/workspace/tokens/token_pill.cljs | 15 ++++++++++++--- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs b/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs index 9755ede9a..16f3992e1 100644 --- a/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs @@ -321,8 +321,9 @@ children]])])) (mf/defc menu-tree - [{:keys [selected-shapes submenu-offset submenu-direction type] :as context-data}] - (let [entries (if (seq selected-shapes) + [{:keys [selected-shapes submenu-offset submenu-direction type errors] :as context-data}] + (let [entries (if (and (not (some? errors)) + (seq selected-shapes)) (if (some? type) (submenu-actions-selection-actions context-data) (selection-actions context-data)) @@ -343,7 +344,7 @@ :selected? selected?}])]))) (mf/defc token-context-menu-tree - [{:keys [width direction] :as mdata}] + [{:keys [width direction errors] :as mdata}] (let [objects (mf/deref refs/workspace-page-objects) selected (mf/deref refs/selected-shapes) selected-shapes (into [] (keep (d/getf objects)) selected) @@ -354,6 +355,7 @@ [:& menu-tree {:submenu-offset width :submenu-direction direction :token token + :errors errors :selected-token-set-path selected-token-set-path :selected-shapes selected-shapes}]])) diff --git a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs index 740b24e4a..948092c33 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs @@ -82,6 +82,7 @@ (st/emit! (dt/show-token-context-menu {:type :token :position (dom/get-client-position event) + :errors (:errors token) :token-name (:name token)})))) on-toggle-open-click (mf/use-fn @@ -120,6 +121,7 @@ [:> icon-button* {:on-click on-popover-open-click :variant "ghost" :icon "add" + ;; TODO: This needs translation :aria-label (str "Add token: " title)}]] (when open? [:& cmm/asset-section-block {:role :content} diff --git a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs index 25da4fbbb..8383573cd 100644 --- a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs @@ -174,6 +174,7 @@ [err] (let [[header-1 header-2 & errors] (str/split err "\n")] (when (and + ;; TODO: This needs translations (= header-1 "Error: ") (= header-2 "Reference Errors:")) errors))) @@ -206,10 +207,11 @@ ;; === Errors -(defn humanize-errors [{:keys [errors value] :as _token}] +(defn humanize-errors [{:keys [errors] :as token}] (->> (map (fn [err] - (case err - :error.style-dictionary/missing-reference (str "Could not resolve reference token with the name: " value) + (case (:error/code err) + ;; TODO: This needs translations + :error.style-dictionary/missing-reference (str "Could not resolve reference token with the name: " (:error/value err)) nil)) errors) (str/join "\n"))) diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs index 26575e8a2..7498881a7 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs @@ -7,6 +7,7 @@ [app.main.ui.ds.foundations.utilities.token.token-status :refer [token-status-icon*]] [app.main.ui.workspace.tokens.style-dictionary :as sd] [app.main.ui.workspace.tokens.token :as wtt] + [app.util.dom :as dom] [app.util.i18n :refer [tr]] [cuerdas.core :as str] [rumext.v2 :as mf])) @@ -21,6 +22,13 @@ (wtt/resolved-value-hex theme-token)) color (or color (wtt/resolved-value-hex token)) + on-click + (mf/use-callback + (mf/deps errors? on-click) + (fn [event] + (dom/stop-propagation event) + (when (and (not (seq errors)) on-click) + (on-click event)))) token-status-id (cond half-applied @@ -35,14 +43,15 @@ :token-pill-invalid-applied (and full-applied errors?)) :type "button" :title (cond - errors? (sd/humanize-errors token) + errors? (if (nil? theme-token) + (tr "workspace.token-set.not-active") + (sd/humanize-errors token)) :else (->> [(str "Token: " name) (tr "workspace.token.original-value" value) (tr "workspace.token.resolved-value" resolved-value)] (str/join "\n"))) :on-click on-click - :on-context-menu on-context-menu - :disabled errors?} + :on-context-menu on-context-menu} (cond errors? [:> icon* From 68a0d74f0ea959f72b029a772c4331ae412c3c52 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Tue, 14 Jan 2025 10:24:41 +0100 Subject: [PATCH 4/4] :bug: Fix text ellipsis on long token names and grouped tokens --- common/src/app/common/files/helpers.cljc | 7 ++++ frontend/playwright/ui/specs/tokens.spec.js | 33 +++++++++++++++++-- .../main/ui/workspace/tokens/token_pill.cljs | 16 +++++++-- .../main/ui/workspace/tokens/token_pill.scss | 19 ++++++----- 4 files changed, 61 insertions(+), 14 deletions(-) diff --git a/common/src/app/common/files/helpers.cljc b/common/src/app/common/files/helpers.cljc index 6245e109d..8c664c098 100644 --- a/common/src/app/common/files/helpers.cljc +++ b/common/src/app/common/files/helpers.cljc @@ -640,6 +640,13 @@ (let [path-split (split-path path)] (merge-path-item (first path-split) name))) +(defn split-string-half + "Split string in two halfs" + [s] + (let [len (count s) + mid (quot len 2)] + [(subs s 0 mid) + (subs s mid)])) (defn get-frame-objects "Retrieves a new objects map only with the objects under frame-id (with frame-id)" diff --git a/frontend/playwright/ui/specs/tokens.spec.js b/frontend/playwright/ui/specs/tokens.spec.js index 0c33b0ddd..01d8c6ec9 100644 --- a/frontend/playwright/ui/specs/tokens.spec.js +++ b/frontend/playwright/ui/specs/tokens.spec.js @@ -70,7 +70,7 @@ test.describe("Tokens: Tokens Tab", () => { await expect(submitButton).toBeEnabled(); await submitButton.click(); - await expect(tokensTabPanel.getByText("color.primary")).toBeEnabled(); + await expect(tokensTabPanel.getByLabel("primary")).toBeEnabled(); // Create token referencing the previous one with keyboard @@ -87,7 +87,7 @@ test.describe("Tokens: Tokens Tab", () => { await expect(submitButton).toBeEnabled(); await nameField.press("Enter"); - const referenceToken = tokensTabPanel.getByText("color.secondary"); + const referenceToken = tokensTabPanel.getByLabel("color.secondary"); await expect(referenceToken).toBeEnabled(); // Tokens tab panel should have two tokens with the color red / #ff0000 @@ -105,6 +105,35 @@ test.describe("Tokens: Tokens Tab", () => { }), ).toHaveAttribute("aria-checked", "true"); }); + + test("User creates grouped color token", async ({ page }) => { + const { workspacePage, tokensUpdateCreateModal, tokenThemesSetsSidebar } = + await setupFileWithTokens(page); + + const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" }); + await tokensTabPanel.getByTitle("Add token: Color").click(); + + // Create grouped color token with mouse + + await expect(tokensUpdateCreateModal).toBeVisible(); + + const nameField = tokensUpdateCreateModal.getByLabel("Name"); + const valueField = tokensUpdateCreateModal.getByLabel("Value"); + + await nameField.click(); + await nameField.fill("color.dark.primary"); + + await valueField.click(); + await valueField.fill("red"); + + const submitButton = tokensUpdateCreateModal.getByRole("button", { + name: "Save", + }); + await expect(submitButton).toBeEnabled(); + await submitButton.click(); + + await expect(tokensTabPanel.getByLabel("color.dark.primary")).toBeEnabled(); + }); }); test.describe("Tokens: Sets Tab", () => { diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs index 7498881a7..ac79cac5f 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs @@ -1,6 +1,7 @@ (ns app.main.ui.workspace.tokens.token-pill (:require-macros [app.main.style :as stl]) (:require + [app.common.files.helpers :as cfh] [app.common.types.tokens-lib :as ctob] [app.main.ui.components.color-bullet :refer [color-bullet]] [app.main.ui.ds.foundations.assets.icon :refer [icon*]] @@ -17,10 +18,10 @@ [{:keys [on-click token theme-token full-applied on-context-menu half-applied]}] (let [{:keys [name value resolved-value errors]} token errors? (or (nil? theme-token) (and (seq errors) (seq (:errors theme-token)))) - color (when (seq (ctob/find-token-value-references value)) (wtt/resolved-value-hex theme-token)) - + contains-path? (str/includes? name ".") + splitted-name (cfh/split-string-half name) color (or color (wtt/resolved-value-hex token)) on-click (mf/use-callback @@ -64,4 +65,13 @@ [:> token-status-icon* {:icon-id token-status-id :class (stl/css :token-pill-icon)}]) - name])) \ No newline at end of file + (if contains-path? + [:span {:class (stl/css :divided-name-wrapper) + :aria-label name} + [:span {:class (stl/css :first-name-wrapper)} + (first splitted-name)] + [:span {:class (stl/css :last-name-wrapper)} + (last splitted-name)]] + [:span {:class (stl/css :name-wrapper) + :aria-label name} + name])])) \ No newline at end of file diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.scss b/frontend/src/app/main/ui/workspace/tokens/token_pill.scss index e4b78aeee..2a2356651 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.scss +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.scss @@ -60,22 +60,23 @@ white-space: nowrap; } -.group-name-wrapper::before, span::after { - vertical-align: middle; +.divided-name-wrapper { + height: $s-16; +} + +.first-name-wrapper { display: inline-block; max-width: 50%; overflow: hidden; white-space: pre; -} - -.group-name-wrapper::before { - content: attr(data-content-start); text-overflow: ellipsis; } -.group-name-wrapper::after { - content: attr(data-content-end); - text-overflow: ''; +.last-name-wrapper { + display: inline-block; + max-width: 50%; + overflow: hidden; + white-space: pre; direction: rtl; }