diff --git a/apps/web/locales/af-ZA.po b/apps/web/locales/af-ZA.po index 373c45e4c..47fc62e45 100644 --- a/apps/web/locales/af-ZA.po +++ b/apps/web/locales/af-ZA.po @@ -8,7 +8,7 @@ msgstr "" "Language: af\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Afrikaans\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Wys" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Versteek alle ikone op die CV" +msgid "Hide Icons" +msgstr "Versteek ikone" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Versteek alle ikone op die CV" msgid "Hide password" msgstr "Verberg wagwoord" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Versteek Afdelingsikone" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hongaars" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikoon" @@ -3991,4 +3996,3 @@ msgstr "Zoem uit" #: src/libs/locale.ts msgid "Zulu" msgstr "Zoeloe" - diff --git a/apps/web/locales/am-ET.po b/apps/web/locales/am-ET.po index 6b62a4205..1ca91393c 100644 --- a/apps/web/locales/am-ET.po +++ b/apps/web/locales/am-ET.po @@ -8,7 +8,7 @@ msgstr "" "Language: am\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Amharic\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "አሳይ" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "በየታሪክ ማቅረቢያው ላይ ያሉ ሁሉንም አዶዎች ደብቅ" +msgid "Hide Icons" +msgstr "አዶዎችን ደብቅ" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "በየታሪክ ማቅረቢያው ላይ ያሉ ሁሉንም አዶዎ msgid "Hide password" msgstr "የይለፍ ቃል ደብቅ" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "የክፍል አዶዎችን ደብቅ" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ሀንጋሪኛ" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "አዶ" @@ -3991,4 +3996,3 @@ msgstr "አጉር" #: src/libs/locale.ts msgid "Zulu" msgstr "ዙሉ" - diff --git a/apps/web/locales/ar-SA.po b/apps/web/locales/ar-SA.po index e7e9f599b..94d399140 100644 --- a/apps/web/locales/ar-SA.po +++ b/apps/web/locales/ar-SA.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "إخفاء" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "إخفاء جميع الأيقونات في السيرة الذاتية" +msgid "Hide Icons" +msgstr "إخفاء الأيقونات" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "إخفاء جميع الأيقونات في السيرة الذاتية" msgid "Hide password" msgstr "إخفاء كلمة المرور" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "إخفاء أيقونات الأقسام" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "الهنغارية" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "الأيقونة" @@ -3991,4 +3996,3 @@ msgstr "تصغير" #: src/libs/locale.ts msgid "Zulu" msgstr "الزولو" - diff --git a/apps/web/locales/az-AZ.po b/apps/web/locales/az-AZ.po index 3f38e1ec5..ecf53991f 100644 --- a/apps/web/locales/az-AZ.po +++ b/apps/web/locales/az-AZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: az\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Azerbaijani\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Gizlət" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Özgeçmişdəki bütün ikonları gizlət" +msgid "Hide Icons" +msgstr "Nişanları gizlət" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Özgeçmişdəki bütün ikonları gizlət" msgid "Hide password" msgstr "Şifrəni gizlət" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Bölmə İkonlarını Gizlət" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Macar" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "İkon" @@ -3991,4 +3996,3 @@ msgstr "Uzaqlaşdır" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/bg-BG.po b/apps/web/locales/bg-BG.po index 46ee38832..8410e72fc 100644 --- a/apps/web/locales/bg-BG.po +++ b/apps/web/locales/bg-BG.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Скриване" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Скриване на всички икони в автобиографията" +msgid "Hide Icons" +msgstr "Скриване на икони" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Скриване на всички икони в автобиограф msgid "Hide password" msgstr "Скриване на паролата" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Скриване на иконите на секциите" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Унгарски" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Икона" @@ -3991,4 +3996,3 @@ msgstr "Намаляване" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулуски" - diff --git a/apps/web/locales/bn-BD.po b/apps/web/locales/bn-BD.po index 871e8adce..243e22306 100644 --- a/apps/web/locales/bn-BD.po +++ b/apps/web/locales/bn-BD.po @@ -8,7 +8,7 @@ msgstr "" "Language: bn\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Bengali\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "লুকান" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "জীবনবৃত্তান্তে সব আইকন লুকিয়ে রাখুন" +msgid "Hide Icons" +msgstr "আইকন লুকান" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "জীবনবৃত্তান্তে সব আইকন লুক msgid "Hide password" msgstr "পাসওয়ার্ড লুকান" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "সেকশন আইকন লুকান" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "হাঙ্গেরিয়ান" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "আইকন" @@ -3991,4 +3996,3 @@ msgstr "জুম আউট" #: src/libs/locale.ts msgid "Zulu" msgstr "জুলু" - diff --git a/apps/web/locales/ca-ES.po b/apps/web/locales/ca-ES.po index 057f9c5c8..dbf37b304 100644 --- a/apps/web/locales/ca-ES.po +++ b/apps/web/locales/ca-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: ca\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Amaga" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Amaga totes les icones del currículum" +msgid "Hide Icons" +msgstr "Amaga les icones" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Amaga totes les icones del currículum" msgid "Hide password" msgstr "Amagar contrasenya" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Amaga les icones de secció" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hongarès" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icona" @@ -3991,4 +3996,3 @@ msgstr "Allunya" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulú" - diff --git a/apps/web/locales/cs-CZ.po b/apps/web/locales/cs-CZ.po index c584d3ad3..a0d566fa8 100644 --- a/apps/web/locales/cs-CZ.po +++ b/apps/web/locales/cs-CZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Skrýt" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Skrýt všechny ikony v životopisu" +msgid "Hide Icons" +msgstr "Skrýt ikony" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Skrýt všechny ikony v životopisu" msgid "Hide password" msgstr "Skrýt heslo" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Skrýt ikony sekcí" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Maďarština" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Oddálit" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/da-DK.po b/apps/web/locales/da-DK.po index 419904dbc..8eb63f913 100644 --- a/apps/web/locales/da-DK.po +++ b/apps/web/locales/da-DK.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Skjul" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Skjul alle ikoner på CV'et" +msgid "Hide Icons" +msgstr "Skjul ikoner" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Skjul alle ikoner på CV'et" msgid "Hide password" msgstr "Skjul adgangskode" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Skjul sektionsikoner" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungarsk" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Zoom ud" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/de-DE.po b/apps/web/locales/de-DE.po index 531b5707a..fade77ccd 100644 --- a/apps/web/locales/de-DE.po +++ b/apps/web/locales/de-DE.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ausblenden" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Alle Icons im Lebenslauf ausblenden" +msgid "Hide Icons" +msgstr "Symbole ausblenden" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Alle Icons im Lebenslauf ausblenden" msgid "Hide password" msgstr "Passwort verbergen" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Abschnittssymbole ausblenden" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungarisch" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Symbol" @@ -3991,4 +3996,3 @@ msgstr "Herauszoomen" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/el-GR.po b/apps/web/locales/el-GR.po index 2e4baca7b..3f30f4d7e 100644 --- a/apps/web/locales/el-GR.po +++ b/apps/web/locales/el-GR.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Απόκρυψη" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Απόκρυψη όλων των εικονιδίων στο βιογραφικό σημείωμα" +msgid "Hide Icons" +msgstr "Απόκρυψη εικονιδίων" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Απόκρυψη όλων των εικονιδίων στο βιογρ msgid "Hide password" msgstr "Απόκρυψη κωδικού πρόσβασης" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Απόκρυψη εικονιδίων ενότητας" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ουγγρικά" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Εικονίδιο" @@ -3991,4 +3996,3 @@ msgstr "Σμίκρυνση" #: src/libs/locale.ts msgid "Zulu" msgstr "Ζουλού" - diff --git a/apps/web/locales/en-GB.po b/apps/web/locales/en-GB.po index 383a58731..6cc82f4ce 100644 --- a/apps/web/locales/en-GB.po +++ b/apps/web/locales/en-GB.po @@ -8,7 +8,7 @@ msgstr "" "Language: en_GB\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: English, United Kingdom\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Hide" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Hide all icons on the resume" +msgid "Hide Icons" +msgstr "Hide Icons" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Hide all icons on the resume" msgid "Hide password" msgstr "Hide password" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Hide Section Icons" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hungarian" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icon" @@ -3991,4 +3996,3 @@ msgstr "Zoom out" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/en-US.po b/apps/web/locales/en-US.po index e0897295c..209bb6350 100644 --- a/apps/web/locales/en-US.po +++ b/apps/web/locales/en-US.po @@ -1740,8 +1740,8 @@ msgid "Hide" msgstr "Hide" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Hide all icons on the resume" +msgid "Hide Icons" +msgstr "Hide Icons" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1761,6 +1761,10 @@ msgstr "Hide all icons on the resume" msgid "Hide password" msgstr "Hide password" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Hide Section Icons" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1799,6 +1803,7 @@ msgid "Hungarian" msgstr "Hungarian" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icon" diff --git a/apps/web/locales/es-ES.po b/apps/web/locales/es-ES.po index 2b441afbe..877c4e54c 100644 --- a/apps/web/locales/es-ES.po +++ b/apps/web/locales/es-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ocultar" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ocultar todos los iconos en el currículum" +msgid "Hide Icons" +msgstr "Ocultar iconos" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ocultar todos los iconos en el currículum" msgid "Hide password" msgstr "Ocultar contraseña" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ocultar iconos de sección" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Húngaro" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icono" @@ -3991,4 +3996,3 @@ msgstr "Alejar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulú" - diff --git a/apps/web/locales/fa-IR.po b/apps/web/locales/fa-IR.po index 9094397d8..3aa6df7f1 100644 --- a/apps/web/locales/fa-IR.po +++ b/apps/web/locales/fa-IR.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "پنهان کردن" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "تمام آیکون‌ها را روی رزومه مخفی کن" +msgid "Hide Icons" +msgstr "پنهان کردن آیکون‌ها" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "تمام آیکون‌ها را روی رزومه مخفی کن" msgid "Hide password" msgstr "پنهان کردن رمز عبور" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "پنهان کردن آیکن‌های بخش" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "مجاری" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "آیکون" @@ -3991,4 +3996,3 @@ msgstr "کوچک‌نمایی" #: src/libs/locale.ts msgid "Zulu" msgstr "زولو" - diff --git a/apps/web/locales/fi-FI.po b/apps/web/locales/fi-FI.po index b5344eb2c..c54a15fef 100644 --- a/apps/web/locales/fi-FI.po +++ b/apps/web/locales/fi-FI.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Piilota" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Piilota kaikki ansioluettelon ikonit" +msgid "Hide Icons" +msgstr "Piilota kuvakkeet" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Piilota kaikki ansioluettelon ikonit" msgid "Hide password" msgstr "Piilota salasana" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Piilota osiokuvakkeet" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "unkari" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikoni" @@ -3991,4 +3996,3 @@ msgstr "Loitonna" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/fr-FR.po b/apps/web/locales/fr-FR.po index df759ab08..27209edf1 100644 --- a/apps/web/locales/fr-FR.po +++ b/apps/web/locales/fr-FR.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Masquer" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Masquer toutes les icônes du CV" +msgid "Hide Icons" +msgstr "Masquer les icônes" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Masquer toutes les icônes du CV" msgid "Hide password" msgstr "Cacher le mot de passe" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Masquer les icônes de section" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hongrois" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icône" @@ -3991,4 +3996,3 @@ msgstr "Zoom arrière" #: src/libs/locale.ts msgid "Zulu" msgstr "Zoulou" - diff --git a/apps/web/locales/he-IL.po b/apps/web/locales/he-IL.po index 83dd14053..e60443a1a 100644 --- a/apps/web/locales/he-IL.po +++ b/apps/web/locales/he-IL.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "הסתרה" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "הסתרת כל הסמלים בקורות החיים" +msgid "Hide Icons" +msgstr "הסתר סמלים" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "הסתרת כל הסמלים בקורות החיים" msgid "Hide password" msgstr "הסתר סיסמה" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "הסתר סמלי מדור" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "הונגרית" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "סמל" @@ -3991,4 +3996,3 @@ msgstr "התרחקות" #: src/libs/locale.ts msgid "Zulu" msgstr "זולו" - diff --git a/apps/web/locales/hi-IN.po b/apps/web/locales/hi-IN.po index d76098671..ef6ea69f4 100644 --- a/apps/web/locales/hi-IN.po +++ b/apps/web/locales/hi-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "छुपायें" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "रेज़्यूमे पर सभी आइकॉन छुपाएँ" +msgid "Hide Icons" +msgstr "आइकन छिपाएँ" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "रेज़्यूमे पर सभी आइकॉन छुप msgid "Hide password" msgstr "पासवर्ड छिपाएँ" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "सेक्शन आइकन छिपाएँ" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "हंगेरियन" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "आइकॉन" @@ -3991,4 +3996,3 @@ msgstr "ज़ूम आउट" #: src/libs/locale.ts msgid "Zulu" msgstr "ज़ुलु" - diff --git a/apps/web/locales/hu-HU.po b/apps/web/locales/hu-HU.po index 178acf77a..cd830b2e8 100644 --- a/apps/web/locales/hu-HU.po +++ b/apps/web/locales/hu-HU.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Elrejtés" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Az önéletrajz összes ikonjának elrejtése" +msgid "Hide Icons" +msgstr "Ikonok elrejtése" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Az önéletrajz összes ikonjának elrejtése" msgid "Hide password" msgstr "Jelszó elrejtése" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Szakasz ikonok elrejtése" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "magyar" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Kicsinyítés" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/id-ID.po b/apps/web/locales/id-ID.po index 292883f43..41b11383c 100644 --- a/apps/web/locales/id-ID.po +++ b/apps/web/locales/id-ID.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Sembunyikan" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Sembunyikan semua ikon di resume" +msgid "Hide Icons" +msgstr "Sembunyikan Ikon" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Sembunyikan semua ikon di resume" msgid "Hide password" msgstr "Sembunyikan kata sandi" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Sembunyikan Ikon Bagian" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hungaria" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Perkecil" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/it-IT.po b/apps/web/locales/it-IT.po index ffcede06d..4e6f3ff21 100644 --- a/apps/web/locales/it-IT.po +++ b/apps/web/locales/it-IT.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Nascondi" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Nascondi tutte le icone sul curriculum" +msgid "Hide Icons" +msgstr "Nascondi icone" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Nascondi tutte le icone sul curriculum" msgid "Hide password" msgstr "Nascondere la password" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Nascondi le icone della sezione" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungherese" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icona" @@ -3991,4 +3996,3 @@ msgstr "Rimpicciolisci" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ja-JP.po b/apps/web/locales/ja-JP.po index cc976c593..748378d3f 100644 --- a/apps/web/locales/ja-JP.po +++ b/apps/web/locales/ja-JP.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "非表示にする" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "履歴書上のすべてのアイコンを非表示にする" +msgid "Hide Icons" +msgstr "アイコンを非表示にする" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "履歴書上のすべてのアイコンを非表示にする" msgid "Hide password" msgstr "パスワードを隠す" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "セクションアイコンを非表示にする" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ハンガリー語" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "アイコン" @@ -3991,4 +3996,3 @@ msgstr "ズームアウト" #: src/libs/locale.ts msgid "Zulu" msgstr "ズールー語" - diff --git a/apps/web/locales/km-KH.po b/apps/web/locales/km-KH.po index f350803dc..ffb97250c 100644 --- a/apps/web/locales/km-KH.po +++ b/apps/web/locales/km-KH.po @@ -8,7 +8,7 @@ msgstr "" "Language: km\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Khmer\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "លាក់" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "លាក់​រូបតំណាង​ទាំងអស់​លើ​ប្រវត្តិរូប" +msgid "Hide Icons" +msgstr "លាក់រូបតំណាង" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "លាក់​រូបតំណាង​ទាំងអស់​លើ msgid "Hide password" msgstr "លាក់ពាក្យសម្ងាត់" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "លាក់រូបតំណាងផ្នែក" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hungarian" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "រូបតំណាង" @@ -3991,4 +3996,3 @@ msgstr "បង្រួម" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/kn-IN.po b/apps/web/locales/kn-IN.po index 5bb8e4ec9..cfc39234c 100644 --- a/apps/web/locales/kn-IN.po +++ b/apps/web/locales/kn-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: kn\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Kannada\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "ಮರೆಮಾಡಿ" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "ರೆಸ್ಯೂಮ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಐಕಾನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ" +msgid "Hide Icons" +msgstr "ಐಕಾನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "ರೆಸ್ಯೂಮ್‌ನಲ್ಲಿನ ಎಲ್ಲಾ ಐಕಾ msgid "Hide password" msgstr "ಪಾಸ್‌ವರ್ಡ್ ಮರೆಮಾಡಿ" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "ವಿಭಾಗ ಐಕಾನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ಹಂಗೇರಿಯನ್" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ಐಕಾನ್" @@ -3991,4 +3996,3 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ" #: src/libs/locale.ts msgid "Zulu" msgstr "ಜೂಲೂ" - diff --git a/apps/web/locales/ko-KR.po b/apps/web/locales/ko-KR.po index d2fbf03fb..75de5ada5 100644 --- a/apps/web/locales/ko-KR.po +++ b/apps/web/locales/ko-KR.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "숨기기" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "이력서의 모든 아이콘 숨기기" +msgid "Hide Icons" +msgstr "아이콘 숨기기" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "이력서의 모든 아이콘 숨기기" msgid "Hide password" msgstr "비밀번호 숨기기" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "섹션 아이콘 숨기기" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "헝가리어" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "아이콘" @@ -3991,4 +3996,3 @@ msgstr "축소" #: src/libs/locale.ts msgid "Zulu" msgstr "줄루어" - diff --git a/apps/web/locales/lt-LT.po b/apps/web/locales/lt-LT.po index d72262482..bba10863f 100644 --- a/apps/web/locales/lt-LT.po +++ b/apps/web/locales/lt-LT.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Paslėpti" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Paslėpti visas ikonas gyvenimo aprašyme" +msgid "Hide Icons" +msgstr "Slėpti piktogramas" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Paslėpti visas ikonas gyvenimo aprašyme" msgid "Hide password" msgstr "Paslėpti slaptažodį" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Slėpti skyrių piktogramas" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Vengrų" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Tolinti" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulų" - diff --git a/apps/web/locales/lv-LV.po b/apps/web/locales/lv-LV.po index 31ccd4633..045ae2804 100644 --- a/apps/web/locales/lv-LV.po +++ b/apps/web/locales/lv-LV.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Slēpt" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Paslēpt visas ikonas CV" +msgid "Hide Icons" +msgstr "Slēpt ikonas" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Paslēpt visas ikonas CV" msgid "Hide password" msgstr "Paslēpt paroli" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Slēpt sadaļu ikonas" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungāru" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Tālināt" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ml-IN.po b/apps/web/locales/ml-IN.po index f3384674c..075dd0cfe 100644 --- a/apps/web/locales/ml-IN.po +++ b/apps/web/locales/ml-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: ml\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Malayalam\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "മറയ്ക്കുക" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "റിസ്യൂമിലെ എല്ലാ ഐക്കണുകളും മറയ്ക്കുക" +msgid "Hide Icons" +msgstr "ഐക്കണുകൾ മറയ്ക്കുക" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "റിസ്യൂമിലെ എല്ലാ ഐക്കണുകള msgid "Hide password" msgstr "പാസ്‌വേഡ് മറയ്ക്കുക" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "വിഭാഗ ഐക്കണുകൾ മറയ്ക്കുക" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ഹംഗേറിയൻ" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ഐക്കൺ" @@ -3991,4 +3996,3 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക" #: src/libs/locale.ts msgid "Zulu" msgstr "സൂളു" - diff --git a/apps/web/locales/mr-IN.po b/apps/web/locales/mr-IN.po index e7089ca42..ce63ae750 100644 --- a/apps/web/locales/mr-IN.po +++ b/apps/web/locales/mr-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: mr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Marathi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "लपवा" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "रेझ्युमेवरील सर्व आयकन्स लपवा" +msgid "Hide Icons" +msgstr "चिन्हे लपवा" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "रेझ्युमेवरील सर्व आयकन्स ल msgid "Hide password" msgstr "पासवर्ड लपवा" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "विभाग चिन्हे लपवा" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "हंगेरीयन" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "आयकन" @@ -3991,4 +3996,3 @@ msgstr "बाहेर झूम करा" #: src/libs/locale.ts msgid "Zulu" msgstr "झुलू" - diff --git a/apps/web/locales/ms-MY.po b/apps/web/locales/ms-MY.po index 0a4456566..0c6d7471c 100644 --- a/apps/web/locales/ms-MY.po +++ b/apps/web/locales/ms-MY.po @@ -8,7 +8,7 @@ msgstr "" "Language: ms\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Malay\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Sembunyi" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Sembunyikan semua ikon pada resume" +msgid "Hide Icons" +msgstr "Sembunyikan Ikon" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Sembunyikan semua ikon pada resume" msgid "Hide password" msgstr "Sembunyikan kata laluan" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Sembunyikan Ikon Bahagian" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hungary" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Zum keluar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ne-NP.po b/apps/web/locales/ne-NP.po index 866da6b2d..30084f79c 100644 --- a/apps/web/locales/ne-NP.po +++ b/apps/web/locales/ne-NP.po @@ -8,7 +8,7 @@ msgstr "" "Language: ne\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Nepali\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "ल्यুকाउनुहोस्" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "बायोडाटाबाट सबै आइकनहरू लुकाउनुहोस्" +msgid "Hide Icons" +msgstr "आइकनहरू लुकाउनुहोस्" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "बायोडाटाबाट सबै आइकनहरू लु msgid "Hide password" msgstr "पासवर्ड लुकाउनुहोस्" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "खण्ड आइकनहरू लुकाउनुहोस्" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "हंगेरीयाली" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "आइकन" @@ -3991,4 +3996,3 @@ msgstr "जूम आउट" #: src/libs/locale.ts msgid "Zulu" msgstr "जुलु" - diff --git a/apps/web/locales/nl-NL.po b/apps/web/locales/nl-NL.po index fb70dd91c..bd370b585 100644 --- a/apps/web/locales/nl-NL.po +++ b/apps/web/locales/nl-NL.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Verbergen" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Alle pictogrammen op het cv verbergen" +msgid "Hide Icons" +msgstr "Pictogrammen verbergen" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Alle pictogrammen op het cv verbergen" msgid "Hide password" msgstr "Wachtwoord verbergen" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Sectiepictogrammen verbergen" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hongaars" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Pictogram" @@ -3991,4 +3996,3 @@ msgstr "Uitzoomen" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/no-NO.po b/apps/web/locales/no-NO.po index 5f0e23b62..22e4ef709 100644 --- a/apps/web/locales/no-NO.po +++ b/apps/web/locales/no-NO.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Skjul" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Skjul alle ikoner på CV-en" +msgid "Hide Icons" +msgstr "Skjul ikoner" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Skjul alle ikoner på CV-en" msgid "Hide password" msgstr "Skjul passord" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Skjul seksjonsikoner" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungarsk" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Zoom ut" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/or-IN.po b/apps/web/locales/or-IN.po index 42e14788a..0a072e282 100644 --- a/apps/web/locales/or-IN.po +++ b/apps/web/locales/or-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: or\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Odia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "ଲୁଚାନ୍ତୁ" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "ରେଜ୍ୟୁମେର ସମସ୍ତ ଆଇକନ୍ ଲୁଚାନ୍ତୁ" +msgid "Hide Icons" +msgstr "ଚିତ୍ରସଂକେତଗୁଡିକୁ ଲୁଚାନ୍ତୁ" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "ରେଜ୍ୟୁମେର ସମସ୍ତ ଆଇକନ୍ ଲୁଚା msgid "Hide password" msgstr "ପାସୱାର୍ଡ ଲୁଚାନ୍ତୁ" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "ବିଭାଗ ଆଇକନଗୁଡ଼ିକୁ ଲୁଚାନ୍ତୁ" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ହଙ୍ଗେରିଆନ୍" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ଆଇକନ୍" @@ -3991,4 +3996,3 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ" #: src/libs/locale.ts msgid "Zulu" msgstr "ଜୁଲୁ" - diff --git a/apps/web/locales/pl-PL.po b/apps/web/locales/pl-PL.po index 3b6bc371d..aeac38b95 100644 --- a/apps/web/locales/pl-PL.po +++ b/apps/web/locales/pl-PL.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ukryj" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ukryj wszystkie ikony w CV" +msgid "Hide Icons" +msgstr "Ukryj ikony" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ukryj wszystkie ikony w CV" msgid "Hide password" msgstr "Proszę ukryć hasło" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ukryj ikony sekcji" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Węgierski" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Pomniejsz" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/pt-BR.po b/apps/web/locales/pt-BR.po index 8ec57f167..a260e8ab9 100644 --- a/apps/web/locales/pt-BR.po +++ b/apps/web/locales/pt-BR.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ocultar" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ocultar todos os ícones no currículo" +msgid "Hide Icons" +msgstr "Ocultar ícones" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ocultar todos os ícones no currículo" msgid "Hide password" msgstr "Ocultar senha" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ocultar ícones de seção" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Húngaro" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ícone" @@ -3991,4 +3996,3 @@ msgstr "Diminuir zoom" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/pt-PT.po b/apps/web/locales/pt-PT.po index e884d03c3..401b94493 100644 --- a/apps/web/locales/pt-PT.po +++ b/apps/web/locales/pt-PT.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ocultar" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ocultar todos os ícones no currículo" +msgid "Hide Icons" +msgstr "Ocultar ícones" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ocultar todos os ícones no currículo" msgid "Hide password" msgstr "Ocultar palavra-passe" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ocultar ícones de secção" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Húngaro" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ícone" @@ -3991,4 +3996,3 @@ msgstr "Afastar" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ro-RO.po b/apps/web/locales/ro-RO.po index cbe38fb38..c7a1ddad5 100644 --- a/apps/web/locales/ro-RO.po +++ b/apps/web/locales/ro-RO.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ascunde" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ascunde toate iconițele de pe CV" +msgid "Hide Icons" +msgstr "Ascunde pictogramele" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ascunde toate iconițele de pe CV" msgid "Hide password" msgstr "Ascundeți parola" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ascundeți pictogramele secțiunii" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Maghiară" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Iconiță" @@ -3991,4 +3996,3 @@ msgstr "Micșorează" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ru-RU.po b/apps/web/locales/ru-RU.po index f5c3f71ec..750c31cad 100644 --- a/apps/web/locales/ru-RU.po +++ b/apps/web/locales/ru-RU.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Скрыть" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Скрыть все иконки в резюме" +msgid "Hide Icons" +msgstr "Скрыть значки" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Скрыть все иконки в резюме" msgid "Hide password" msgstr "Скрыть пароль" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Скрыть значки разделов" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Венгерский" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Иконка" @@ -3991,4 +3996,3 @@ msgstr "Уменьшить" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/apps/web/locales/sk-SK.po b/apps/web/locales/sk-SK.po index 0b682b33d..d2e4a74cd 100644 --- a/apps/web/locales/sk-SK.po +++ b/apps/web/locales/sk-SK.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Skryť" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Skryť všetky ikony v životopise" +msgid "Hide Icons" +msgstr "Skryť ikony" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Skryť všetky ikony v životopise" msgid "Hide password" msgstr "Skryť heslo" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Skryť ikony sekcií" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Maďarčina" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Oddialiť" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/sl-SI.po b/apps/web/locales/sl-SI.po index 40f29d6b6..416e10f83 100644 --- a/apps/web/locales/sl-SI.po +++ b/apps/web/locales/sl-SI.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Skrij" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Skrij vse ikone na življenjepisu" +msgid "Hide Icons" +msgstr "Skrij ikone" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Skrij vse ikone na življenjepisu" msgid "Hide password" msgstr "Skrijte geslo" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Skrij ikone razdelkov" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Madžarščina" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Oddalji" #: src/libs/locale.ts msgid "Zulu" msgstr "Zuluščina" - diff --git a/apps/web/locales/sq-AL.po b/apps/web/locales/sq-AL.po index 648951f05..f5649762c 100644 --- a/apps/web/locales/sq-AL.po +++ b/apps/web/locales/sq-AL.po @@ -8,7 +8,7 @@ msgstr "" "Language: sq\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Albanian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Fshih" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Fshih të gjitha ikonat në CV" +msgid "Hide Icons" +msgstr "Fshih ikonat" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Fshih të gjitha ikonat në CV" msgid "Hide password" msgstr "Fshi fjalëkalimin" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Fshih ikonat e seksionit" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Hungarisht" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikona" @@ -3991,4 +3996,3 @@ msgstr "Zvogëlo" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/sr-SP.po b/apps/web/locales/sr-SP.po index 016067e85..9491e159f 100644 --- a/apps/web/locales/sr-SP.po +++ b/apps/web/locales/sr-SP.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Serbian (Cyrillic)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Сакриј" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Сакриј све иконице на резимеу" +msgid "Hide Icons" +msgstr "Сакриј иконе" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Сакриј све иконице на резимеу" msgid "Hide password" msgstr "Сакриј лозинку" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Сакриј иконе одељака" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Мађарски" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Иконица" @@ -3991,4 +3996,3 @@ msgstr "Умањи" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/apps/web/locales/sv-SE.po b/apps/web/locales/sv-SE.po index 87514e475..6ecdf9c0f 100644 --- a/apps/web/locales/sv-SE.po +++ b/apps/web/locales/sv-SE.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Dölj" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Dölj alla ikoner på CV:t" +msgid "Hide Icons" +msgstr "Dölj ikoner" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Dölj alla ikoner på CV:t" msgid "Hide password" msgstr "Dölj lösenord" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Dölj sektionsikoner" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Ungerska" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikon" @@ -3991,4 +3996,3 @@ msgstr "Zooma ut" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/ta-IN.po b/apps/web/locales/ta-IN.po index 0a73b2558..7bef8df20 100644 --- a/apps/web/locales/ta-IN.po +++ b/apps/web/locales/ta-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: ta\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Tamil\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "மறை" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "ரெஸ்யூமியில் உள்ள அனைத்து ஐகான்களையும் மறைக்கவும்" +msgid "Hide Icons" +msgstr "சின்னங்களை மறைக்கவும்" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "ரெஸ்யூமியில் உள்ள அனைத்து msgid "Hide password" msgstr "கடவுச்சொல்லை மறை" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "பிரிவு சின்னங்களை மறைக்கவும்" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ஹங்கேரியன்" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ஐகான்" @@ -3991,4 +3996,3 @@ msgstr "சிறிதாக்கு" #: src/libs/locale.ts msgid "Zulu" msgstr "ஜூலு" - diff --git a/apps/web/locales/te-IN.po b/apps/web/locales/te-IN.po index 02f59f4b0..5cccb84ee 100644 --- a/apps/web/locales/te-IN.po +++ b/apps/web/locales/te-IN.po @@ -8,7 +8,7 @@ msgstr "" "Language: te\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Telugu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "హైడ్" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "జీవన చరిత్రపై అన్ని చిహ్నాలను దాచండి" +msgid "Hide Icons" +msgstr "చిహ్నాలను దాచండి" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "జీవన చరిత్రపై అన్ని చిహ్నా msgid "Hide password" msgstr "పాస్‌వర్డ్ దాచు" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "విభాగం చిహ్నాలను దాచండి" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "హంగేరియన్" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ఐకాన్" @@ -3991,4 +3996,3 @@ msgstr "జూమ్ అవుట్ చేయండి" #: src/libs/locale.ts msgid "Zulu" msgstr "జులు" - diff --git a/apps/web/locales/th-TH.po b/apps/web/locales/th-TH.po index 63bda4483..e5e16355f 100644 --- a/apps/web/locales/th-TH.po +++ b/apps/web/locales/th-TH.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "ซ่อน" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "ซ่อนไอคอนทั้งหมดในเรซูเม่" +msgid "Hide Icons" +msgstr "ซ่อนไอคอน" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "ซ่อนไอคอนทั้งหมดในเรซูเม msgid "Hide password" msgstr "ซ่อนรหัสผ่าน" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "ซ่อนไอคอนส่วนต่างๆ" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "ฮังการี" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "ไอคอน" @@ -3991,4 +3996,3 @@ msgstr "ซูมออก" #: src/libs/locale.ts msgid "Zulu" msgstr "ซูลู" - diff --git a/apps/web/locales/tr-TR.po b/apps/web/locales/tr-TR.po index f0b22c72e..6e3579449 100644 --- a/apps/web/locales/tr-TR.po +++ b/apps/web/locales/tr-TR.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Gizle" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Özgeçmişteki tüm simgeleri gizle" +msgid "Hide Icons" +msgstr "Simgeleri Gizle" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Özgeçmişteki tüm simgeleri gizle" msgid "Hide password" msgstr "Şifreyi gizle" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Bölüm Simgelerini Gizle" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Macarca" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Simge" @@ -3991,4 +3996,3 @@ msgstr "Uzaklaştır" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/uk-UA.po b/apps/web/locales/uk-UA.po index 2eb77f3dd..6506e9cc3 100644 --- a/apps/web/locales/uk-UA.po +++ b/apps/web/locales/uk-UA.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Приховати" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Сховати всі іконки на резюме" +msgid "Hide Icons" +msgstr "Приховати значки" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Сховати всі іконки на резюме" msgid "Hide password" msgstr "Приховати пароль" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Приховати значки розділів" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Угорська" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Іконка" @@ -3991,4 +3996,3 @@ msgstr "Зменшити" #: src/libs/locale.ts msgid "Zulu" msgstr "Зулу" - diff --git a/apps/web/locales/uz-UZ.po b/apps/web/locales/uz-UZ.po index 2e9d5513c..4fe360448 100644 --- a/apps/web/locales/uz-UZ.po +++ b/apps/web/locales/uz-UZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: uz\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Uzbek\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Yashirish" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Rezumedagi barcha ikonkalarni yashirish" +msgid "Hide Icons" +msgstr "Belgilarni yashirish" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Rezumedagi barcha ikonkalarni yashirish" msgid "Hide password" msgstr "Parolni yashirish" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Bo'lim piktogrammalarini yashirish" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Venger tili" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Ikonka" @@ -3991,4 +3996,3 @@ msgstr "Kichraytirish" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/vi-VN.po b/apps/web/locales/vi-VN.po index 61c1c859d..f88a6b07a 100644 --- a/apps/web/locales/vi-VN.po +++ b/apps/web/locales/vi-VN.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "Ẩn đi" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "Ẩn tất cả biểu tượng trên hồ sơ" +msgid "Hide Icons" +msgstr "Ẩn biểu tượng" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "Ẩn tất cả biểu tượng trên hồ sơ" msgid "Hide password" msgstr "Ẩn mật khẩu" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "Ẩn biểu tượng phần" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "Tiếng Hungary" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "Icon" @@ -3991,4 +3996,3 @@ msgstr "Thu nhỏ" #: src/libs/locale.ts msgid "Zulu" msgstr "Zulu" - diff --git a/apps/web/locales/zh-CN.po b/apps/web/locales/zh-CN.po index d5c4622f6..5a990ac54 100644 --- a/apps/web/locales/zh-CN.po +++ b/apps/web/locales/zh-CN.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "隐藏" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "在简历中隐藏所有图标" +msgid "Hide Icons" +msgstr "隐藏图标" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "在简历中隐藏所有图标" msgid "Hide password" msgstr "隐藏密码" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "隐藏版块图标" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "匈牙利语" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "图标" @@ -3991,4 +3996,3 @@ msgstr "缩小" #: src/libs/locale.ts msgid "Zulu" msgstr "祖鲁语" - diff --git a/apps/web/locales/zh-TW.po b/apps/web/locales/zh-TW.po index 9ef432313..cba7fff37 100644 --- a/apps/web/locales/zh-TW.po +++ b/apps/web/locales/zh-TW.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: reactive-resume\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-05-27 21:53\n" +"PO-Revision-Date: 2026-06-01 11:26\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -1745,8 +1745,8 @@ msgid "Hide" msgstr "隱藏" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" -msgstr "隱藏履歷中的所有圖示" +msgid "Hide Icons" +msgstr "隱藏圖示" #. Accessible label for button that hides password in registration form #. Accessible label for button that hides password in reset-password form @@ -1766,6 +1766,10 @@ msgstr "隱藏履歷中的所有圖示" msgid "Hide password" msgstr "隱藏密碼" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "隱藏版塊圖標" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1804,6 +1808,7 @@ msgid "Hungarian" msgstr "匈牙利語" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "圖示" @@ -3991,4 +3996,3 @@ msgstr "縮小" #: src/libs/locale.ts msgid "Zulu" msgstr "祖魯語" - diff --git a/apps/web/locales/zu-ZA.po b/apps/web/locales/zu-ZA.po index fb6f0cf3f..103fab081 100644 --- a/apps/web/locales/zu-ZA.po +++ b/apps/web/locales/zu-ZA.po @@ -1740,7 +1740,7 @@ msgid "Hide" msgstr "" #: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx -msgid "Hide all icons on the resume" +msgid "Hide Icons" msgstr "" #. Accessible label for button that hides password in registration form @@ -1761,6 +1761,10 @@ msgstr "" msgid "Hide password" msgstr "" +#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +msgid "Hide Section Icons" +msgstr "" + #. Impact severity label in resume analysis suggestion card #: src/routes/builder/$resumeId/-sidebar/right/sections/resume-analysis.tsx msgid "High" @@ -1799,6 +1803,7 @@ msgid "Hungarian" msgstr "" #: src/components/level/combobox.tsx +#: src/dialogs/resume/sections/custom.tsx #: src/routes/builder/$resumeId/-sidebar/right/sections/design.tsx msgid "Icon" msgstr "" diff --git a/apps/web/package.json b/apps/web/package.json index df34e4f65..6ce7a1224 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -100,6 +100,6 @@ "babel-plugin-macros": "^3.1.0", "babel-plugin-react-compiler": "^1.0.0", "typescript": "^6.0.3", - "vite": "^8.0.15" + "vite": "^8.0.16" } } diff --git a/apps/web/src/dialogs/resume/sections/custom.test.ts b/apps/web/src/dialogs/resume/sections/custom.test.ts new file mode 100644 index 000000000..02be5bdc6 --- /dev/null +++ b/apps/web/src/dialogs/resume/sections/custom.test.ts @@ -0,0 +1,35 @@ +import { readFileSync } from "node:fs"; +import { describe, expect, it } from "vitest"; + +const source = readFileSync(new URL("./custom.tsx", import.meta.url), "utf8"); + +function rendererBody(name: string) { + const start = source.indexOf(`render: function ${name}({ form }) {`); + expect(start).toBeGreaterThanOrEqual(0); + + const end = + name === "CreateCustomSectionFormRenderer" ? source.indexOf("const UpdateCustomSectionForm", start) : source.length; + expect(end).toBeGreaterThan(start); + + return source.slice(start, end); +} + +describe("custom section dialog layout", () => { + it.each([ + "CreateCustomSectionFormRenderer", + "UpdateCustomSectionFormRenderer", + ])("renders icon and title in one row for %s", (name) => { + const body = rendererBody(name); + const rowIndex = body.indexOf('"flex items-end sm:col-span-full"'); + const iconIndex = body.indexOf('name="icon"', rowIndex); + const titleIndex = body.indexOf('name="title"', rowIndex); + const sectionTypeIndex = body.indexOf('name="type"', rowIndex); + + expect(rowIndex).toBeGreaterThanOrEqual(0); + expect(iconIndex).toBeGreaterThan(rowIndex); + expect(titleIndex).toBeGreaterThan(iconIndex); + expect(sectionTypeIndex).toBeGreaterThan(titleIndex); + expect(body).toContain('className="rounded-r-none border-input border-e-0"'); + expect(body).toContain('className="rounded-s-none"'); + }); +}); diff --git a/apps/web/src/dialogs/resume/sections/custom.tsx b/apps/web/src/dialogs/resume/sections/custom.tsx index f4be4ae12..53c6baa9b 100644 --- a/apps/web/src/dialogs/resume/sections/custom.tsx +++ b/apps/web/src/dialogs/resume/sections/custom.tsx @@ -19,10 +19,13 @@ import { import { FormControl, FormItem, FormLabel, FormMessage } from "@reactive-resume/ui/components/form"; import { Input } from "@reactive-resume/ui/components/input"; import { generateId } from "@reactive-resume/utils/string"; +import { cn } from "@reactive-resume/utils/style"; +import { IconPicker } from "@/components/input/icon-picker"; import { Combobox } from "@/components/ui/combobox"; import { useDialogStore } from "@/dialogs/store"; import { useUpdateResumeData } from "@/features/resume/builder/draft"; import { useFormBlocker } from "@/hooks/use-form-blocker"; +import { defaultSectionIconNames } from "@/libs/resume/section"; import { useAppForm, withForm } from "@/libs/tanstack-form"; const formSchema = customSectionSchema; @@ -33,6 +36,7 @@ const defaultValues: FormValues = { id: "", title: "", type: "experience", + icon: "", columns: 1, hidden: false, items: [], @@ -59,6 +63,12 @@ function isCustomSectionType(value: string | null | undefined): value is CustomS return SECTION_TYPE_OPTIONS.some((option) => option.value === value); } +function getIconPickerValue(icon: string, type: CustomSectionType): string { + if (icon === "none") return ""; + + return icon || defaultSectionIconNames[type]; +} + export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections.custom.create">) { const closeDialog = useDialogStore((state) => state.closeDialog); const updateResumeData = useUpdateResumeData(); @@ -68,6 +78,7 @@ export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections id: generateId(), title: data?.title ?? "", type: (data?.type ?? "experience") as CustomSectionType, + icon: data?.icon ?? "", columns: data?.columns ?? 1, hidden: data?.hidden ?? false, items: data?.items ?? [], @@ -126,7 +137,10 @@ export function UpdateCustomSectionDialog({ data }: DialogProps<"resume.sections const updateResumeData = useUpdateResumeData(); const form = useAppForm({ - defaultValues: data, + defaultValues: { + ...data, + icon: data.icon ?? "", + }, validators: { onSubmit: formSchema }, onSubmit: async ({ value }) => { updateResumeData((draft) => { @@ -179,32 +193,57 @@ const CreateCustomSectionForm = withForm({ defaultValues, render: function CreateCustomSectionFormRenderer({ form }) { const { i18n } = useLingui(); + const titleMeta = useStore(form.store, (state) => state.fieldMeta?.title); + const sectionType = useStore(form.store, (state) => state.values.type); + + const isTitleInvalid = (titleMeta?.isTouched ?? false) && (titleMeta?.errors?.length ?? 0) > 0; return ( <> - - {(field) => ( - 0} - > - - Title - - field.handleChange(event.target.value)} - /> - } - /> - - - )} - +
+ + {(field) => ( + 0} + > + { + field.handleChange(icon === "" ? "none" : icon); + }} + className="rounded-r-none border-input border-e-0" + /> + } + /> + + )} + + + + {(field) => ( + 0}> + + Title + + field.handleChange(event.target.value)} + /> + } + /> + + + )} + +
{(field) => ( @@ -244,32 +283,57 @@ const UpdateCustomSectionForm = withForm({ defaultValues, render: function UpdateCustomSectionFormRenderer({ form }) { const { i18n } = useLingui(); + const titleMeta = useStore(form.store, (state) => state.fieldMeta?.title); + const sectionType = useStore(form.store, (state) => state.values.type); + + const isTitleInvalid = (titleMeta?.isTouched ?? false) && (titleMeta?.errors?.length ?? 0) > 0; return ( <> - - {(field) => ( - 0} - > - - Title - - field.handleChange(event.target.value)} - /> - } - /> - - - )} - +
+ + {(field) => ( + 0} + > + { + field.handleChange(icon === "" ? "none" : icon); + }} + className="rounded-r-none border-input border-e-0" + /> + } + /> + + )} + + + + {(field) => ( + 0}> + + Title + + field.handleChange(event.target.value)} + /> + } + /> + + + )} + +
{(field) => ( diff --git a/apps/web/src/libs/resume/move-item.test.ts b/apps/web/src/libs/resume/move-item.test.ts index a0ca871db..6859ca27b 100644 --- a/apps/web/src/libs/resume/move-item.test.ts +++ b/apps/web/src/libs/resume/move-item.test.ts @@ -23,6 +23,7 @@ describe("getSourceSectionTitle", () => { id: "ext-1", type: "cover-letter", title: "My Custom Title", + icon: "", columns: 1, hidden: false, items: [], @@ -54,6 +55,7 @@ describe("getCompatibleMoveTargets", () => { id: "ext-1", type: "cover-letter", title: "Cover Letter", + icon: "", columns: 1, hidden: false, items: [], @@ -120,6 +122,7 @@ describe("removeItemFromSource", () => { id: "ext-1", type: "cover-letter", title: "", + icon: "", columns: 1, hidden: false, items: [{ id: "i1" } as never], @@ -171,6 +174,7 @@ describe("addItemToSection", () => { id: "ext-1", type: "cover-letter", title: "", + icon: "", columns: 1, hidden: false, items: [], diff --git a/apps/web/src/libs/resume/move-item.ts b/apps/web/src/libs/resume/move-item.ts index 26543da76..c2ac2e4a7 100644 --- a/apps/web/src/libs/resume/move-item.ts +++ b/apps/web/src/libs/resume/move-item.ts @@ -228,6 +228,7 @@ export function createCustomSectionWithItem( id: newSectionId, type, title: sectionTitle, + icon: "", columns: 1, hidden: false, items: [item as never], @@ -265,6 +266,7 @@ export function createPageWithSection( id: newSectionId, type, title: sectionTitle, + icon: "", columns: 1, hidden: false, items: [item as never], diff --git a/apps/web/src/libs/resume/section-actions.test.ts b/apps/web/src/libs/resume/section-actions.test.ts index 2375cff92..edca9c835 100644 --- a/apps/web/src/libs/resume/section-actions.test.ts +++ b/apps/web/src/libs/resume/section-actions.test.ts @@ -18,6 +18,7 @@ describe("createSectionItem", () => { id: "custom-1", type: "cover-letter", title: "Cover Letter", + icon: "", columns: 1, hidden: false, items: [], @@ -75,6 +76,7 @@ describe("updateSectionItem", () => { id: "custom-1", type: "cover-letter", title: "", + icon: "", columns: 1, hidden: false, items: [{ id: "x", value: "old" } as never], diff --git a/apps/web/src/libs/resume/section.tsx b/apps/web/src/libs/resume/section.tsx index 92e3753e5..6b61490f5 100644 --- a/apps/web/src/libs/resume/section.tsx +++ b/apps/web/src/libs/resume/section.tsx @@ -35,6 +35,8 @@ import { import { match } from "ts-pattern"; import { cn } from "@reactive-resume/utils/style"; +export { defaultSectionIconNames } from "@reactive-resume/schema/resume/section-icons"; + export type LeftSidebarSection = "picture" | "basics" | "summary" | SectionType | "custom"; // CustomSectionType values that are not in SectionType (used in custom sections only) diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/left/shared/section-base.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/left/shared/section-base.tsx index 61ee2bdb5..40d6eff51 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/left/shared/section-base.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/left/shared/section-base.tsx @@ -1,10 +1,12 @@ import type { SectionType } from "@reactive-resume/schema/resume/data"; import type { LeftSidebarSection } from "@/libs/resume/section"; import { CaretDownIcon } from "@phosphor-icons/react"; +import { getDefaultSectionIconName } from "@reactive-resume/schema/resume/section-icons"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@reactive-resume/ui/components/accordion"; import { Button } from "@reactive-resume/ui/components/button"; import { cn } from "@reactive-resume/utils/style"; -import { useCurrentResume } from "@/features/resume/builder/draft"; +import { IconPicker } from "@/components/input/icon-picker"; +import { useCurrentResume, useUpdateResumeData } from "@/features/resume/builder/draft"; import { getSectionIcon, getSectionTitle } from "@/libs/resume/section"; import { useSectionStore } from "../../../-store/section"; import { SectionDropdownMenu } from "./section-menu"; @@ -15,6 +17,7 @@ type Props = React.ComponentProps & { export function SectionBase({ type, className, ...props }: Props) { const resume = useCurrentResume(); + const updateResumeData = useUpdateResumeData(); const data = resume.data; const section = type === "basics" @@ -28,9 +31,27 @@ export function SectionBase({ type, className, ...props }: Props) { : data.sections[type]; const isHidden = "hidden" in section && section.hidden; + const hasSectionIcon = !["picture", "basics", "custom"].includes(type); + const rawIcon = "icon" in section && typeof section.icon === "string" ? section.icon : ""; + const fallbackIcon = hasSectionIcon ? getDefaultSectionIconName(type as "summary" | SectionType) : ""; + const sectionIcon = rawIcon === "none" ? "" : rawIcon || fallbackIcon; + const collapsed = useSectionStore((state) => state.sections[type]?.collapsed ?? false); const toggleCollapsed = useSectionStore((state) => state.toggleCollapsed); + const onIconChange = (icon: string) => { + // Store "none" when user explicitly picks the empty/prohibit option + const valueToStore = icon === "" ? "none" : icon; + + updateResumeData((draft) => { + if (type === "summary") { + draft.summary.icon = valueToStore; + } else if (type !== "basics" && type !== "picture" && type !== "custom") { + draft.sections[type as SectionType].icon = valueToStore; + } + }); + }; + return ( -
- {getSectionIcon(type)} +
+ {hasSectionIcon ? ( + + ) : ( + getSectionIcon(type) + )}

{("title" in section && section.title) || getSectionTitle(type)}

diff --git a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx index e53d51c5c..ceba07e5b 100644 --- a/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx +++ b/apps/web/src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx @@ -261,7 +261,7 @@ function PageSectionForm() { {(field) => ( 0} > - Hide all icons on the resume + Hide Icons + + + )} + + + + {(field) => ( + 0} + > + { + field.handleChange(checked); + handleAutoSave("hideSectionIcons", checked); + }} + /> + } + /> + + Hide Section Icons )} diff --git a/packages/docx/src/section-renderers.test.ts b/packages/docx/src/section-renderers.test.ts index fdb51573d..57ff942ee 100644 --- a/packages/docx/src/section-renderers.test.ts +++ b/packages/docx/src/section-renderers.test.ts @@ -2,6 +2,7 @@ import type { CustomSection, ResumeData, SectionType } from "@reactive-resume/schema/resume/data"; import { describe, expect, it } from "vitest"; +import { getDefaultSectionIconName } from "@reactive-resume/schema/resume/section-icons"; import { renderBuiltInSection, renderCustomSection, renderSummary, setRenderConfig } from "./section-renderers"; const baseConfig = { @@ -21,6 +22,7 @@ describe("renderSummary", () => { it("returns [] when the section is hidden", () => { const summary: ResumeData["summary"] = { title: "Summary", + icon: getDefaultSectionIconName("summary"), content: "

Hello

", hidden: true, columns: 1, @@ -31,6 +33,7 @@ describe("renderSummary", () => { it("returns [] when content is empty", () => { const summary: ResumeData["summary"] = { title: "Summary", + icon: getDefaultSectionIconName("summary"), content: "", hidden: false, columns: 1, @@ -41,6 +44,7 @@ describe("renderSummary", () => { it("includes a heading paragraph when both title and content are present", () => { const summary: ResumeData["summary"] = { title: "Summary", + icon: getDefaultSectionIconName("summary"), content: "

Hello world

", hidden: false, columns: 1, @@ -53,6 +57,7 @@ describe("renderSummary", () => { it("omits the heading when title is empty but still renders content", () => { const summary: ResumeData["summary"] = { title: "", + icon: getDefaultSectionIconName("summary"), content: "

Hello world

", hidden: false, columns: 1, @@ -62,9 +67,10 @@ describe("renderSummary", () => { }); }); -const emptySection = (_type: T): ResumeData["sections"][T] => +const emptySection = (type: T): ResumeData["sections"][T] => ({ title: "Section", + icon: getDefaultSectionIconName(type), columns: 1, hidden: false, items: [], @@ -90,6 +96,7 @@ describe("renderCustomSection", () => { id: "custom-1", type: "summary", title: "Notes", + icon: getDefaultSectionIconName("summary"), columns: 1, hidden: false, items: [], diff --git a/packages/import/src/reactive-resume-v4-json.tsx b/packages/import/src/reactive-resume-v4-json.tsx index afd152a54..714b044f2 100644 --- a/packages/import/src/reactive-resume-v4-json.tsx +++ b/packages/import/src/reactive-resume-v4-json.tsx @@ -440,6 +440,7 @@ export class ReactiveResumeV4JSONImporter { }, summary: { title: v4Data.sections.summary?.name ?? "", + icon: "", columns: v4Data.sections.summary?.columns ?? 1, hidden: !(v4Data.sections.summary?.visible ?? true), content: v4Data.sections.summary?.content ?? "", @@ -447,6 +448,7 @@ export class ReactiveResumeV4JSONImporter { sections: { profiles: { title: v4Data.sections.profiles?.name ?? "", + icon: "", columns: v4Data.sections.profiles?.columns ?? 1, hidden: !(v4Data.sections.profiles?.visible ?? true), items: (v4Data.sections.profiles?.items ?? []) @@ -467,6 +469,7 @@ export class ReactiveResumeV4JSONImporter { }, experience: { title: v4Data.sections.experience?.name ?? "", + icon: "", columns: v4Data.sections.experience?.columns ?? 1, hidden: !(v4Data.sections.experience?.visible ?? true), items: (v4Data.sections.experience?.items ?? []) @@ -489,6 +492,7 @@ export class ReactiveResumeV4JSONImporter { }, education: { title: v4Data.sections.education?.name ?? "", + icon: "", columns: v4Data.sections.education?.columns ?? 1, hidden: !(v4Data.sections.education?.visible ?? true), items: (v4Data.sections.education?.items ?? []) @@ -512,6 +516,7 @@ export class ReactiveResumeV4JSONImporter { }, projects: { title: v4Data.sections.projects?.name ?? "", + icon: "", columns: v4Data.sections.projects?.columns ?? 1, hidden: !(v4Data.sections.projects?.visible ?? true), items: (v4Data.sections.projects?.items ?? []) @@ -531,6 +536,7 @@ export class ReactiveResumeV4JSONImporter { }, skills: { title: v4Data.sections.skills?.name ?? "", + icon: "", columns: v4Data.sections.skills?.columns ?? 1, hidden: !(v4Data.sections.skills?.visible ?? true), items: (v4Data.sections.skills?.items ?? []) @@ -549,6 +555,7 @@ export class ReactiveResumeV4JSONImporter { }, languages: { title: v4Data.sections.languages?.name ?? "", + icon: "", columns: v4Data.sections.languages?.columns ?? 1, hidden: !(v4Data.sections.languages?.visible ?? true), items: (v4Data.sections.languages?.items ?? []) @@ -564,6 +571,7 @@ export class ReactiveResumeV4JSONImporter { }, interests: { title: v4Data.sections.interests?.name ?? "", + icon: "", columns: v4Data.sections.interests?.columns ?? 1, hidden: !(v4Data.sections.interests?.visible ?? true), items: (v4Data.sections.interests?.items ?? []) @@ -579,6 +587,7 @@ export class ReactiveResumeV4JSONImporter { }, awards: { title: v4Data.sections.awards?.name ?? "", + icon: "", columns: v4Data.sections.awards?.columns ?? 1, hidden: !(v4Data.sections.awards?.visible ?? true), items: (v4Data.sections.awards?.items ?? []) @@ -599,6 +608,7 @@ export class ReactiveResumeV4JSONImporter { }, certifications: { title: v4Data.sections.certifications?.name ?? "", + icon: "", columns: v4Data.sections.certifications?.columns ?? 1, hidden: !(v4Data.sections.certifications?.visible ?? true), items: (v4Data.sections.certifications?.items ?? []) @@ -619,6 +629,7 @@ export class ReactiveResumeV4JSONImporter { }, publications: { title: v4Data.sections.publications?.name ?? "", + icon: "", columns: v4Data.sections.publications?.columns ?? 1, hidden: !(v4Data.sections.publications?.visible ?? true), items: (v4Data.sections.publications?.items ?? []) @@ -639,6 +650,7 @@ export class ReactiveResumeV4JSONImporter { }, volunteer: { title: v4Data.sections.volunteer?.name ?? "", + icon: "", columns: v4Data.sections.volunteer?.columns ?? 1, hidden: !(v4Data.sections.volunteer?.visible ?? true), items: (v4Data.sections.volunteer?.items ?? []) @@ -659,6 +671,7 @@ export class ReactiveResumeV4JSONImporter { }, references: { title: v4Data.sections.references?.name ?? "", + icon: "", columns: v4Data.sections.references?.columns ?? 1, hidden: !(v4Data.sections.references?.visible ?? true), items: (v4Data.sections.references?.items ?? []) @@ -681,6 +694,7 @@ export class ReactiveResumeV4JSONImporter { customSections: Object.entries(v4Data.sections.custom ?? {}).map(([sectionId, section]) => ({ id: section.id || sectionId, title: section.name ?? "", + icon: "", type: "experience" as const, // Default to experience type as it has the most compatible fields columns: section.columns ?? 1, hidden: !(section.visible ?? true), @@ -731,6 +745,7 @@ export class ReactiveResumeV4JSONImporter { format: v4Data.metadata.page?.format ?? "a4", locale: "en-US", hideIcons: v4Data.metadata.typography?.hideIcons ?? false, + hideSectionIcons: true, }, design: { colors: { diff --git a/packages/pdf/src/section-icon.test.ts b/packages/pdf/src/section-icon.test.ts new file mode 100644 index 000000000..429f1c3e3 --- /dev/null +++ b/packages/pdf/src/section-icon.test.ts @@ -0,0 +1,177 @@ +import { describe, expect, it } from "vitest"; +import { defaultResumeData } from "@reactive-resume/schema/resume/default"; +import { getResumeSectionIcon } from "./section-icon"; + +describe("getResumeSectionIcon", () => { + describe("built-in sections", () => { + it("returns the icon from section data when set", () => { + const data = { + ...defaultResumeData, + sections: { + ...defaultResumeData.sections, + experience: { ...defaultResumeData.sections.experience, icon: "rocket" }, + }, + }; + expect(getResumeSectionIcon(data, "experience")).toBe("rocket"); + }); + + it("falls back to default icon when section icon is empty string", () => { + const data = { + ...defaultResumeData, + sections: { + ...defaultResumeData.sections, + experience: { ...defaultResumeData.sections.experience, icon: "" }, + }, + }; + expect(getResumeSectionIcon(data, "experience")).toBe("briefcase"); + }); + + it("returns empty string when icon is 'none' (user explicitly hid it)", () => { + const data = { + ...defaultResumeData, + sections: { + ...defaultResumeData.sections, + skills: { ...defaultResumeData.sections.skills, icon: "none" }, + }, + }; + expect(getResumeSectionIcon(data, "skills")).toBe(""); + }); + + it("returns correct default icons for all built-in sections", () => { + const data = { + ...defaultResumeData, + sections: { + profiles: { ...defaultResumeData.sections.profiles, icon: "" }, + experience: { ...defaultResumeData.sections.experience, icon: "" }, + education: { ...defaultResumeData.sections.education, icon: "" }, + projects: { ...defaultResumeData.sections.projects, icon: "" }, + skills: { ...defaultResumeData.sections.skills, icon: "" }, + languages: { ...defaultResumeData.sections.languages, icon: "" }, + interests: { ...defaultResumeData.sections.interests, icon: "" }, + awards: { ...defaultResumeData.sections.awards, icon: "" }, + certifications: { ...defaultResumeData.sections.certifications, icon: "" }, + publications: { ...defaultResumeData.sections.publications, icon: "" }, + volunteer: { ...defaultResumeData.sections.volunteer, icon: "" }, + references: { ...defaultResumeData.sections.references, icon: "" }, + }, + }; + + expect(getResumeSectionIcon(data, "profiles")).toBe("messenger-logo"); + expect(getResumeSectionIcon(data, "experience")).toBe("briefcase"); + expect(getResumeSectionIcon(data, "education")).toBe("graduation-cap"); + expect(getResumeSectionIcon(data, "projects")).toBe("code-simple"); + expect(getResumeSectionIcon(data, "skills")).toBe("compass-tool"); + expect(getResumeSectionIcon(data, "languages")).toBe("translate"); + expect(getResumeSectionIcon(data, "interests")).toBe("football"); + expect(getResumeSectionIcon(data, "awards")).toBe("trophy"); + expect(getResumeSectionIcon(data, "certifications")).toBe("certificate"); + expect(getResumeSectionIcon(data, "publications")).toBe("books"); + expect(getResumeSectionIcon(data, "volunteer")).toBe("hand-heart"); + expect(getResumeSectionIcon(data, "references")).toBe("phone"); + }); + }); + + describe("summary section", () => { + it("returns the icon from summary data when set", () => { + const data = { + ...defaultResumeData, + summary: { ...defaultResumeData.summary, icon: "notebook" }, + }; + expect(getResumeSectionIcon(data, "summary")).toBe("notebook"); + }); + + it("falls back to default 'article' when summary icon is empty", () => { + const data = { + ...defaultResumeData, + summary: { ...defaultResumeData.summary, icon: "" }, + }; + expect(getResumeSectionIcon(data, "summary")).toBe("article"); + }); + + it("returns empty when summary icon is 'none'", () => { + const data = { + ...defaultResumeData, + summary: { ...defaultResumeData.summary, icon: "none" }, + }; + expect(getResumeSectionIcon(data, "summary")).toBe(""); + }); + }); + + describe("custom sections", () => { + it("returns the icon from custom section data when set", () => { + const data = { + ...defaultResumeData, + customSections: [ + { + id: "custom-1", + type: "experience" as const, + title: "Freelance", + icon: "lightning", + columns: 1, + hidden: false, + items: [], + }, + ], + }; + expect(getResumeSectionIcon(data, "custom-1")).toBe("lightning"); + }); + + it("falls back to the base type default when custom section icon is empty", () => { + const data = { + ...defaultResumeData, + customSections: [ + { + id: "custom-1", + type: "education" as const, + title: "Courses", + icon: "", + columns: 1, + hidden: false, + items: [], + }, + ], + }; + expect(getResumeSectionIcon(data, "custom-1")).toBe("graduation-cap"); + }); + + it("falls back to the cover letter default for cover-letter custom sections", () => { + const data = { + ...defaultResumeData, + customSections: [ + { + id: "custom-cover-letter", + type: "cover-letter" as const, + title: "Cover Letter", + icon: "", + columns: 1, + hidden: false, + items: [], + }, + ], + }; + expect(getResumeSectionIcon(data, "custom-cover-letter")).toBe("envelope-simple"); + }); + + it("returns empty when custom section icon is 'none'", () => { + const data = { + ...defaultResumeData, + customSections: [ + { + id: "custom-1", + type: "experience" as const, + title: "Side Projects", + icon: "none", + columns: 1, + hidden: false, + items: [], + }, + ], + }; + expect(getResumeSectionIcon(data, "custom-1")).toBe(""); + }); + + it("returns empty string for non-existent section id", () => { + expect(getResumeSectionIcon(defaultResumeData, "non-existent-id")).toBe(""); + }); + }); +}); diff --git a/packages/pdf/src/section-icon.ts b/packages/pdf/src/section-icon.ts new file mode 100644 index 000000000..c52426938 --- /dev/null +++ b/packages/pdf/src/section-icon.ts @@ -0,0 +1,29 @@ +import type { ResumeData, SectionType } from "@reactive-resume/schema/resume/data"; +import { getDefaultSectionIconName } from "@reactive-resume/schema/resume/section-icons"; + +type RenderData = ResumeData & { + resolveSectionTitle?: unknown; +}; + +export const getResumeSectionIcon = (data: RenderData, sectionId: string): string => { + if (sectionId === "summary") { + const icon = data.summary.icon; + if (icon === "none") return ""; + return icon || getDefaultSectionIconName("summary"); + } + + if (sectionId in data.sections) { + const sectionType = sectionId as SectionType; + const icon = data.sections[sectionType].icon; + if (icon === "none") return ""; + return icon || getDefaultSectionIconName(sectionType); + } + + const customSection = data.customSections.find((section) => section.id === sectionId); + if (!customSection) return ""; + + const icon = customSection.icon; + if (icon === "none") return ""; + // For custom sections, fall back to the default icon of their base type + return icon || getDefaultSectionIconName(customSection.type); +}; diff --git a/packages/pdf/src/section-title.test.ts b/packages/pdf/src/section-title.test.ts index 723759c2a..1085b64df 100644 --- a/packages/pdf/src/section-title.test.ts +++ b/packages/pdf/src/section-title.test.ts @@ -109,6 +109,7 @@ describe("getResumeSectionTitle", () => { id: "ext-1", type: "cover-letter" as const, title: "My Cover Letter", + icon: "", columns: 1, hidden: false, items: [], @@ -126,6 +127,7 @@ describe("getResumeSectionTitle", () => { id: "ext-1", type: "cover-letter" as const, title: "", + icon: "", columns: 1, hidden: false, items: [], diff --git a/packages/pdf/src/templates/shared/context.tsx b/packages/pdf/src/templates/shared/context.tsx index 611d27695..b06485f4c 100644 --- a/packages/pdf/src/templates/shared/context.tsx +++ b/packages/pdf/src/templates/shared/context.tsx @@ -141,9 +141,9 @@ export const useTemplateFeatureStyle = ( return resolveStyleSlot(slots?.[slot] as TemplateStyleSlot | undefined, context); }; -export const useTemplateIconSlot = (slot: "icon") => { +export const useTemplateIconSlot = (slot: "icon" | "sectionHeadingIcon") => { const { styles } = useTemplateContext(); const context = useTemplateStyleContext(); - return resolveIconSlot(styles[slot], context); + return resolveIconSlot(styles[slot] as TemplateIconSlot | undefined, context); }; diff --git a/packages/pdf/src/templates/shared/primitives.test.ts b/packages/pdf/src/templates/shared/primitives.test.ts new file mode 100644 index 000000000..ed275580e --- /dev/null +++ b/packages/pdf/src/templates/shared/primitives.test.ts @@ -0,0 +1,13 @@ +import { readFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import { describe, expect, it } from "vitest"; + +const source = readFileSync(fileURLToPath(new URL("./primitives.tsx", import.meta.url)), "utf8"); + +describe("SectionHeadingIcon", () => { + it("passes the resolved heading icon size through the icon size prop", () => { + expect(source).toContain("size: sizeProp"); + expect(source).toContain("{...(resolvedSize === undefined ? {} : { size: resolvedSize })}"); + expect(source).not.toContain("{ size: headingFontSize } as Style"); + }); +}); diff --git a/packages/pdf/src/templates/shared/primitives.tsx b/packages/pdf/src/templates/shared/primitives.tsx index 655049192..a0a63fb59 100644 --- a/packages/pdf/src/templates/shared/primitives.tsx +++ b/packages/pdf/src/templates/shared/primitives.tsx @@ -2,6 +2,7 @@ import type { Style } from "@react-pdf/types"; import type { ComponentProps } from "react"; import type { StyleInput } from "./styles"; import { Icon as PhosphorIcon } from "phosphor-icons-react-pdf/dynamic"; +import { useRender } from "../../context"; import { Link as PdfLink, Text as PdfText, View } from "../../renderer"; import { useSectionStyleRule, useTemplateIconSlot, useTemplateStyle } from "./context"; import { resolveIconSize } from "./icon-size"; @@ -88,3 +89,39 @@ export const Icon = ({ style, size: sizeProp, ...props }: ComponentProps ); }; + +export const SectionHeadingIcon = ({ style, size: sizeProp, ...props }: ComponentProps) => { + const data = useRender(); + const { style: sectionIconStyle, ...sectionIconProps } = useTemplateIconSlot("sectionHeadingIcon"); + const { style: fallbackIconStyle, ...fallbackIconProps } = useTemplateIconSlot("icon"); + + // Fall back to the item icon slot if no section heading icon slot is defined + const hasSlot = sectionIconStyle !== undefined || Object.keys(sectionIconProps).length > 0; + const iconStyle = hasSlot ? sectionIconStyle : fallbackIconStyle; + const iconProps = hasSlot ? sectionIconProps : fallbackIconProps; + + // Section heading icon visibility is controlled by hideSectionIcons (in SectionShell), + // NOT by the item-level hideIcons toggle. Ignore the "display: none" from item icon slot. + const { display: _, size: templateSize, ...iconPropsWithoutDisplay } = iconProps; + const templateIconSize = + hasSlot && (typeof templateSize === "number" || typeof templateSize === "string") ? templateSize : undefined; + + // Icon size follows heading fontSize so they scale together + const headingFontSize = data.metadata.typography.heading.fontSize; + const resolvedSize = + resolveIconSize({ + size: sizeProp, + styles: [asStyleInput(iconStyle), asStyleInput(style)], + }) ?? + templateIconSize ?? + headingFontSize; + + return ( + + ); +}; diff --git a/packages/pdf/src/templates/shared/sections.test.ts b/packages/pdf/src/templates/shared/sections.test.ts index 2eb3b769c..e8bbe9c8c 100644 --- a/packages/pdf/src/templates/shared/sections.test.ts +++ b/packages/pdf/src/templates/shared/sections.test.ts @@ -13,3 +13,26 @@ describe("ExperienceSection", () => { expect(source).not.toContain("item.roles.length > 0 && {item.period}"); }); }); + +describe("SectionShell", () => { + it("keeps section and heading style rules when section heading icons are hidden", () => { + expect(source).toContain(""); + expect(source).toContain(""); + }); + + it("wires the section heading container style slot into the icon row", () => { + expect(source).toContain('useTemplateStyle("sectionHeadingContainer")'); + expect(source).toContain("sectionHeadingContainerStyle"); + }); + + it("top-aligns heading icon rows and does not use unsupported auto width resets", () => { + const headingContainerBlock = source.match( + /const defaultSectionHeadingContainerStyle = {(?[\s\S]*?)} satisfies Style;/, + ); + + expect(headingContainerBlock?.groups?.body).toContain('alignItems: "flex-start"'); + expect(source).toContain("getSectionHeadingTextStyle(sectionHeadingStyle, sectionHeadingRuleStyle)"); + expect(source).toContain("width: _width"); + expect(source).not.toContain('width: "auto"'); + }); +}); diff --git a/packages/pdf/src/templates/shared/sections.tsx b/packages/pdf/src/templates/shared/sections.tsx index 0b23f906e..a35eb75c9 100644 --- a/packages/pdf/src/templates/shared/sections.tsx +++ b/packages/pdf/src/templates/shared/sections.tsx @@ -23,6 +23,7 @@ import { Children, createContext, isValidElement, use } from "react"; import { match } from "ts-pattern"; import { useRender } from "../../context"; import { View } from "../../renderer"; +import { getResumeSectionIcon } from "../../section-icon"; import { getResumeSectionTitle } from "../../section-title"; import { getSectionItemRows, getSectionItemsLayout, shouldUseSectionTimeline } from "./columns"; import { getWebsiteDisplayText } from "./contact"; @@ -38,7 +39,7 @@ import { import { filterItems, hasVisibleItems, isSectionVisible, isVisibleSummary } from "./filtering"; import { LevelDisplay } from "./level-display"; import { getTemplateMetrics } from "./metrics"; -import { Bold, Div, Heading, Icon, Link, Small, Text } from "./primitives"; +import { Bold, Div, Heading, Icon, Link, SectionHeadingIcon, Small, Text } from "./primitives"; import { RichText } from "./rich-text"; import { createRtlStyleHelpers } from "./rtl"; import { getInlineItemWebsiteUrl, shouldRenderSeparateItemWebsite } from "./section-links"; @@ -132,6 +133,35 @@ const SECTION_ITEM_PLACEHOLDER_KEYS = [ "placeholder-6", ] as const; +const defaultSectionHeadingContainerStyle = { + flexDirection: "row", + alignItems: "flex-start", + columnGap: 4, +} satisfies Style; + +const getSectionHeadingTextStyle = (...styles: StyleInput[]): Style[] => + composeStyles(...styles).map( + ({ + borderBottomWidth: _borderBottomWidth, + borderLeftWidth: _borderLeftWidth, + borderRightWidth: _borderRightWidth, + borderTopWidth: _borderTopWidth, + borderWidth: _borderWidth, + flexGrow: _flexGrow, + flexShrink: _flexShrink, + marginBottom: _marginBottom, + marginLeft: _marginLeft, + marginRight: _marginRight, + marginTop: _marginTop, + paddingBottom: _paddingBottom, + paddingLeft: _paddingLeft, + paddingRight: _paddingRight, + paddingTop: _paddingTop, + width: _width, + ...textStyle + }) => textStyle, + ); + const useSectionItemsContext = () => use(SectionItemsContext); const getChildKey = (child: ReactNode, fallbackIndex: number) => { @@ -154,13 +184,41 @@ const SectionShell = ({ sectionId, title, showHeading = true, children }: Sectio const sectionStyle = useTemplateStyle("section"); const sectionRuleStyle = useSectionStyleRule("section"); const sectionHeadingStyle = useTemplateStyle("sectionHeading"); + const sectionHeadingContainerStyle = useTemplateStyle("sectionHeadingContainer"); const sectionHeadingRuleStyle = useSectionStyleRule("heading"); const sectionTitle = getResumeSectionTitle(data, sectionId, title); + const sectionIcon = getResumeSectionIcon(data, sectionId); + const showIcon = Boolean(sectionIcon) && !data.metadata.page.hideSectionIcons; + if (!showIcon) { + // No icon: render heading exactly as before (no structural change) + return ( + + {showHeading && ( + {sectionTitle} + )} + {children} + + ); + } + + // With icon: wrap in a flex row container that inherits the heading's border/decoration return ( {showHeading && ( - {sectionTitle} + + + + {sectionTitle} + + )} {children} diff --git a/packages/pdf/src/templates/shared/types.ts b/packages/pdf/src/templates/shared/types.ts index c3d2185dd..6f56ed695 100644 --- a/packages/pdf/src/templates/shared/types.ts +++ b/packages/pdf/src/templates/shared/types.ts @@ -66,6 +66,8 @@ export type TemplateStyleSlots = { sectionItemHeader?: TemplateStyleSlot; section?: TemplateStyleSlot; sectionHeading?: TemplateStyleSlot; + sectionHeadingContainer?: TemplateStyleSlot; + sectionHeadingIcon?: TemplateIconSlot; sectionItems?: TemplateStyleSlot; item?: TemplateStyleSlot; levelContainer?: TemplateStyleSlot; diff --git a/packages/schema/src/resume/data.test.ts b/packages/schema/src/resume/data.test.ts index ba05ff083..a4feef2e5 100644 --- a/packages/schema/src/resume/data.test.ts +++ b/packages/schema/src/resume/data.test.ts @@ -1,5 +1,6 @@ import { describe, expect, it } from "vitest"; import { + baseSectionSchema, basicsSchema, customFieldSchema, experienceItemSchema, @@ -10,6 +11,7 @@ import { skillItemSchema, styleRuleSchema, styleRulesSchema, + summarySchema, websiteSchema, } from "./data"; import { defaultResumeData } from "./default"; @@ -271,6 +273,41 @@ describe("pageSchema", () => { expect(pageSchema.safeParse(valid).success).toBe(true); } }); + + it("defaults hideSectionIcons to true when missing", () => { + const { hideSectionIcons: _, ...pageWithout } = defaultResumeData.metadata.page; + const result = pageSchema.safeParse(pageWithout); + expect(result.success).toBe(true); + if (result.success) expect(result.data.hideSectionIcons).toBe(true); + }); +}); + +describe("baseSectionSchema", () => { + it("defaults icon to empty string when missing", () => { + const result = baseSectionSchema.safeParse({ title: "Test", columns: 1, hidden: false }); + expect(result.success).toBe(true); + if (result.success) expect(result.data.icon).toBe(""); + }); + + it("accepts a custom icon value", () => { + const result = baseSectionSchema.safeParse({ title: "Test", icon: "rocket", columns: 1, hidden: false }); + expect(result.success).toBe(true); + if (result.success) expect(result.data.icon).toBe("rocket"); + }); + + it("accepts 'none' as a valid icon value", () => { + const result = baseSectionSchema.safeParse({ title: "Test", icon: "none", columns: 1, hidden: false }); + expect(result.success).toBe(true); + if (result.success) expect(result.data.icon).toBe("none"); + }); +}); + +describe("summarySchema", () => { + it("defaults icon to empty string when missing", () => { + const result = summarySchema.safeParse({ title: "", columns: 1, hidden: false, content: "" }); + expect(result.success).toBe(true); + if (result.success) expect(result.data.icon).toBe(""); + }); }); describe("styleRulesSchema", () => { diff --git a/packages/schema/src/resume/data.ts b/packages/schema/src/resume/data.ts index d0eba2e48..0feb9f8fd 100644 --- a/packages/schema/src/resume/data.ts +++ b/packages/schema/src/resume/data.ts @@ -94,6 +94,12 @@ export const basicsSchema = z.object({ export const summarySchema = z.object({ title: z.string().describe("The title of the summary of the resume."), + icon: z + .string() + .catch("") + .describe( + "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon.", + ), columns: z.number().int().min(1).max(6).catch(1).describe("The number of columns the summary should span across."), hidden: z.boolean().describe("Whether to hide the summary from the resume."), content: z.string().describe("The content of the summary of the resume. This should be a HTML-formatted string."), @@ -271,6 +277,12 @@ export type CoverLetterItem = z.infer; export const baseSectionSchema = z.object({ title: z.string().describe("The title of the section."), + icon: z + .string() + .catch("") + .describe( + "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.", + ), columns: z.number().int().min(1).max(6).catch(1).describe("The number of columns the section should span across."), hidden: z.boolean().describe("Whether to hide the section from the resume."), }); @@ -457,7 +469,11 @@ export const pageSchema = z.object({ .string() .describe("The locale of the page. Used for displaying pre-translated section headings, if not overridden.") .catch("en-US"), - hideIcons: z.boolean().describe("Whether to hide the icons of the sections.").catch(false), + hideIcons: z.boolean().describe("Whether to hide the item-level icons (skills, profiles, interests).").catch(false), + hideSectionIcons: z + .boolean() + .describe("Whether to hide the section heading icons displayed before section titles.") + .catch(true), }); export const levelDesignSchema = z.object({ diff --git a/packages/schema/src/resume/default.ts b/packages/schema/src/resume/default.ts index 84de0d7b4..7c447bfe4 100644 --- a/packages/schema/src/resume/default.ts +++ b/packages/schema/src/resume/default.ts @@ -24,6 +24,7 @@ export const defaultResumeData: ResumeData = { }, summary: { title: "", + icon: "article", columns: 1, hidden: false, content: "", @@ -31,72 +32,84 @@ export const defaultResumeData: ResumeData = { sections: { profiles: { title: "", + icon: "messenger-logo", columns: 1, hidden: false, items: [], }, experience: { title: "", + icon: "briefcase", columns: 1, hidden: false, items: [], }, education: { title: "", + icon: "graduation-cap", columns: 1, hidden: false, items: [], }, projects: { title: "", + icon: "code-simple", columns: 1, hidden: false, items: [], }, skills: { title: "", + icon: "compass-tool", columns: 1, hidden: false, items: [], }, languages: { title: "", + icon: "translate", columns: 1, hidden: false, items: [], }, interests: { title: "", + icon: "football", columns: 1, hidden: false, items: [], }, awards: { title: "", + icon: "trophy", columns: 1, hidden: false, items: [], }, certifications: { title: "", + icon: "certificate", columns: 1, hidden: false, items: [], }, publications: { title: "", + icon: "books", columns: 1, hidden: false, items: [], }, volunteer: { title: "", + icon: "hand-heart", columns: 1, hidden: false, items: [], }, references: { title: "", + icon: "phone", columns: 1, hidden: false, items: [], @@ -123,6 +136,7 @@ export const defaultResumeData: ResumeData = { format: "a4", locale: "en-US", hideIcons: false, + hideSectionIcons: true, }, design: { colors: { diff --git a/packages/schema/src/resume/sample.ts b/packages/schema/src/resume/sample.ts index 4f252cbf5..3b7a818b6 100644 --- a/packages/schema/src/resume/sample.ts +++ b/packages/schema/src/resume/sample.ts @@ -40,6 +40,7 @@ export const sampleResumeData: ResumeData = { }, summary: { title: "", + icon: "article", columns: 1, hidden: false, content: @@ -48,6 +49,7 @@ export const sampleResumeData: ResumeData = { sections: { profiles: { title: "", + icon: "messenger-logo", columns: 1, hidden: false, items: [ @@ -81,6 +83,7 @@ export const sampleResumeData: ResumeData = { }, experience: { title: "", + icon: "briefcase", columns: 1, hidden: false, items: [ @@ -104,6 +107,7 @@ export const sampleResumeData: ResumeData = { }, education: { title: "", + icon: "graduation-cap", columns: 1, hidden: false, items: [ @@ -128,6 +132,7 @@ export const sampleResumeData: ResumeData = { }, projects: { title: "", + icon: "code-simple", columns: 1, hidden: false, items: [ @@ -174,6 +179,7 @@ export const sampleResumeData: ResumeData = { }, skills: { title: "", + icon: "compass-tool", columns: 1, hidden: false, items: [ @@ -241,6 +247,7 @@ export const sampleResumeData: ResumeData = { }, languages: { title: "", + icon: "translate", columns: 1, hidden: false, items: [ @@ -262,6 +269,7 @@ export const sampleResumeData: ResumeData = { }, interests: { title: "", + icon: "football", columns: 1, hidden: false, items: [ @@ -301,6 +309,7 @@ export const sampleResumeData: ResumeData = { }, awards: { title: "", + icon: "trophy", columns: 1, hidden: false, items: [ @@ -336,6 +345,7 @@ export const sampleResumeData: ResumeData = { }, certifications: { title: "", + icon: "certificate", columns: 1, hidden: false, items: [ @@ -369,6 +379,7 @@ export const sampleResumeData: ResumeData = { }, publications: { title: "", + icon: "books", columns: 1, hidden: false, items: [ @@ -404,6 +415,7 @@ export const sampleResumeData: ResumeData = { }, volunteer: { title: "", + icon: "hand-heart", columns: 2, hidden: false, items: [ @@ -439,6 +451,7 @@ export const sampleResumeData: ResumeData = { }, references: { title: "", + icon: "phone", columns: 1, hidden: false, items: [ @@ -461,6 +474,7 @@ export const sampleResumeData: ResumeData = { customSections: [ { title: "", + icon: "briefcase", columns: 1, hidden: false, id: "019becaf-0b87-769d-98a6-46ccf558c0e8", @@ -502,6 +516,7 @@ export const sampleResumeData: ResumeData = { }, { title: "Cover Letter", + icon: "envelope-simple", columns: 1, hidden: false, id: "019bef5b-0b3d-7e2a-8a7c-12d9e23a4f6b", @@ -553,6 +568,7 @@ export const sampleResumeData: ResumeData = { format: "a4", locale: "en-US", hideIcons: false, + hideSectionIcons: false, }, design: { level: { diff --git a/packages/schema/src/resume/section-icons.ts b/packages/schema/src/resume/section-icons.ts new file mode 100644 index 000000000..0ef2f81dc --- /dev/null +++ b/packages/schema/src/resume/section-icons.ts @@ -0,0 +1,21 @@ +import type { CustomSectionType } from "./data"; + +export const defaultSectionIconNames = { + summary: "article", + profiles: "messenger-logo", + experience: "briefcase", + education: "graduation-cap", + projects: "code-simple", + skills: "compass-tool", + languages: "translate", + interests: "football", + awards: "trophy", + certifications: "certificate", + publications: "books", + volunteer: "hand-heart", + references: "phone", + "cover-letter": "envelope-simple", +} as const satisfies Record; + +export const getDefaultSectionIconName = (sectionType: CustomSectionType): string => + defaultSectionIconNames[sectionType]; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5473f0370..f9ff9d33b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,7 +64,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.1.8 - version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) apps/server: dependencies: @@ -263,7 +263,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.1.8 - version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) apps/web: dependencies: @@ -347,7 +347,7 @@ importers: version: link:../../packages/utils '@tailwindcss/vite': specifier: ^4.3.0 - version: 4.3.0(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.3.0(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@tanstack/react-form': specifier: ^1.33.0 version: 1.33.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) @@ -477,16 +477,16 @@ importers: version: 6.1.0 '@lingui/vite-plugin': specifier: ^6.1.0 - version: 6.1.0(@babel/core@7.29.7)(@lingui/babel-plugin-lingui-macro@6.1.0)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 6.1.0(@babel/core@7.29.7)(@lingui/babel-plugin-lingui-macro@6.1.0)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@reactive-resume/config': specifier: workspace:* version: link:../../packages/config '@rolldown/plugin-babel': specifier: ^0.2.3 - version: 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@tanstack/router-plugin': specifier: ^1.168.13 - version: 1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -504,7 +504,7 @@ importers: version: 7.0.0-dev.20260527.2 '@vitejs/plugin-react': specifier: ^6.0.2 - version: 6.0.2(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 6.0.2(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) babel-plugin-macros: specifier: ^3.1.0 version: 3.1.0 @@ -515,8 +515,8 @@ importers: specifier: ^6.0.3 version: 6.0.3 vite: - specifier: ^8.0.15 - version: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + specifier: ^8.0.16 + version: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) packages/ai: dependencies: @@ -912,7 +912,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.1.8 - version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + version: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) packages/pdf: dependencies: @@ -7343,8 +7343,8 @@ packages: resolution: {integrity: sha512-t20zYkrSf868+j/p31cRIGN28Phrjm3nRSLR2fyc2tiWi4cZGVdv68yNlwnIINTkMTmPoMiSlc0OadaO7DXZaQ==} engines: {node: '>= 6'} - vite@8.0.15: - resolution: {integrity: sha512-qpgllRxrLqwsMAGRdLhsEr9bepaOQk1rxH1xT2coBXLaEB/bfkqQj1j7RMxwMfnYrvO1ZnFMiwX+wBVgnsyn0g==} + vite@8.0.16: + resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -8936,15 +8936,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@lingui/vite-plugin@6.1.0(@babel/core@7.29.7)(@lingui/babel-plugin-lingui-macro@6.1.0)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@lingui/vite-plugin@6.1.0(@babel/core@7.29.7)(@lingui/babel-plugin-lingui-macro@6.1.0)(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-macros@3.1.0)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@lingui/cli': 6.1.0(babel-plugin-macros@3.1.0) '@lingui/conf': 6.1.0 - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) optionalDependencies: '@babel/core': 7.29.7 '@lingui/babel-plugin-lingui-macro': 6.1.0 - '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) rolldown: 1.0.3 transitivePeerDependencies: - babel-plugin-macros @@ -9869,14 +9869,14 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.3': optional: true - '@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7 picomatch: 4.0.4 rolldown: 1.0.3 optionalDependencies: '@babel/runtime': 7.29.7 - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) '@rolldown/pluginutils@1.0.1': {} @@ -10056,12 +10056,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.0 - '@tailwindcss/vite@4.3.0(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@tailwindcss/node': 4.3.0 '@tailwindcss/oxide': 4.3.0 tailwindcss: 4.3.0 - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) '@tanstack/devtools-event-client@0.4.3': {} @@ -10144,7 +10144,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@tanstack/router-plugin@1.168.13(@tanstack/react-router@1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@babel/core': 7.29.7 '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) @@ -10161,7 +10161,7 @@ snapshots: zod: 4.4.3 optionalDependencies: '@tanstack/react-router': 1.170.10(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) transitivePeerDependencies: - supports-color @@ -10645,12 +10645,12 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@6.0.2(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.2(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) optionalDependencies: - '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + '@rolldown/plugin-babel': 0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.0.3)(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) babel-plugin-react-compiler: 1.0.0 '@vitest/coverage-v8@4.1.8(vitest@4.1.8)': @@ -10665,7 +10665,7 @@ snapshots: obug: 2.1.1 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vitest/expect@4.1.8': dependencies: @@ -10676,14 +10676,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.8(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': + '@vitest/mocker@4.1.8(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.8 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.14.6(@types/node@25.9.1)(typescript@6.0.3) - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) '@vitest/pretty-format@4.1.8': dependencies: @@ -10870,7 +10870,7 @@ snapshots: pg: 8.21.0 react: 19.2.6 react-dom: 19.2.6(react@19.2.6) - vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + vitest: 4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) transitivePeerDependencies: - '@cloudflare/workers-types' - '@opentelemetry/api' @@ -13902,7 +13902,7 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0): + vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -13917,10 +13917,10 @@ snapshots: tsx: 4.22.4 yaml: 2.9.0 - vitest@4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): + vitest@4.1.8(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(@vitest/coverage-v8@4.1.8)(happy-dom@20.9.0)(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.8 - '@vitest/mocker': 4.1.8(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) + '@vitest/mocker': 4.1.8(msw@2.14.6(@types/node@25.9.1)(typescript@6.0.3))(vite@8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.8 '@vitest/runner': 4.1.8 '@vitest/snapshot': 4.1.8 @@ -13937,7 +13937,7 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.0.15(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) + vite: 8.0.16(@types/node@25.9.1)(esbuild@0.28.0)(jiti@2.7.0)(tsx@4.22.4)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1