mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-06-22 04:11:55 +10:00
feat: implement free-form resume page formats, resolves #2991
This commit is contained in:
+4
-2
@@ -46,6 +46,8 @@ temp
|
||||
.codex
|
||||
.claude
|
||||
.cursor
|
||||
docs/superpowers
|
||||
|
||||
# Data
|
||||
apps/web/data
|
||||
# Local Storage Data
|
||||
/data
|
||||
/apps/web/data
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Het jy jou wagwoord vergeet?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formaat"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zoem uit"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zoeloe"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "የይለፍ ቃልዎን ረስተዋል?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ቅርጸት"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ነፃ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ፈረንሳይኛ"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "አጉር"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ዙሉ"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "أنسيت كلمة مرورك؟"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "الصيغة"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "مجاني"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "الفرنسية"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "تصغير"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "الزولو"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Parolunuzu unutmusunuz?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Pulsuz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Fransız"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Uzaqlaşdır"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Забравихте паролата си?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Безплатно"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Френски"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Намаляване"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулуски"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "আপনি কি পাসওয়ার্ড ভুলে গিয়েছেন?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "রূপ"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "বিনামূল্যে"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ফরাসি"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "জুম আউট"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "জুলু"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Has oblidat la contrasenya?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuït"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francès"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Allunya"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulú"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Zapomněli jste heslo?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formát"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Zdarma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francouzština"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Oddálit"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Har du glemt din adgangskode?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zoom ud"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Seitenformat"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Kostenlos"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Französisch"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Herauszoomen"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Ξεχάσατε τον κωδικό πρόσβασής σας;"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Μορφή"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Δωρεάν"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Γαλλικά"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Σμίκρυνση"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Ζουλού"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Forgot your password?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "French"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zoom out"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1384,7 +1384,7 @@ msgid "Forgot your password?"
|
||||
msgstr "Forgot your password?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
@@ -1392,6 +1392,10 @@ msgstr "Format"
|
||||
msgid "Free"
|
||||
msgstr "Free"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr "Free-form"
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "French"
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "¿Olvidaste tu contraseña?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francés"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Alejar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulú"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "گذرواژهٔ خود را فراموش کردهاید؟"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "فرمت"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "رایگان"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "فرانسوی"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "کوچکنمایی"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "زولو"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Unohditko salasanasi?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Muoto"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ilmainen"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ranska"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Loitonna"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Vous avez oublié votre mot de passe ?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zoom arrière"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zoulou"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "שכחת את הסיסמה שלך?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "תבנית"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "חינמי"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "צרפתית"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "התרחקות"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "זולו"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "पासवर्ड भूल गए हैं?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "फॉर्मेट"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "मुफ़्त"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "फ़्रेंच"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "ज़ूम आउट"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ज़ुलु"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Elfelejtette a jelszavát?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formátum"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ingyenes"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "francia"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Kicsinyítés"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Lupa kata sandi Anda?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Prancis"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Perkecil"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Hai dimenticato la password?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francese"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Rimpicciolisci"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "パスワードをお忘れですか?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "フォーマット"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "無料"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "フランス語"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "ズームアウト"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ズールー語"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "ភ្លេចពាក្យសម្ងាត់របស់អ្នកឬ?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ទ្រង់ទ្រាយ"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ឥតគិតថ្លៃ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "French"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "បង្រួម"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಮರೆತಿರುವಿರಾ?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ಸ್ವರೂಪ"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ಉಚಿತ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ಫ್ರೆಂಚ್"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ಜೂಲೂ"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "비밀번호를 잊으셨나요?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "용지 형식"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "무료"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "프랑스어"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "축소"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "줄루어"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Pamiršote slaptažodį?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formatas"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Nemokama"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Prancūzų"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Tolinti"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulų"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Aizmirsāt paroli?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formāts"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Bezmaksas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Franču"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Tālināt"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "നിങ്ങളുടെ പാസ്വേഡ് മറന്നോ?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ഫോർമാറ്റ്"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "സൗജന്യം"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ഫ്രഞ്ച്"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "സൂളു"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "तुमचे पासवर्ड विसरलात का?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "स्वरूप"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "मोफत"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "फ्रेंच"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "बाहेर झूम करा"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "झुलू"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Lupa kata laluan anda?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Percuma"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Perancis"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zum keluar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "पासवर्ड बिर्सनुभयो?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ढाँचा"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "निःशुल्क"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "फ्रेन्च"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "जूम आउट"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "जुलु"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Bent u uw wachtwoord vergeten?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formaat"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Frans"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Uitzoomen"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Glemt passordet ditt?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Fransk"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zoom ut"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "ପାସୱାର୍ଡ ଭୁଲିଗଲେ କି?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ରୂପରେଖା (Format)"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ନିଶୁଳ୍କ"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ଫ୍ରେଞ୍ଚ୍"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ଜୁଲୁ"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Nie pamiętasz hasła?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Darmowe"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francuski"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Pomniejsz"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Esqueceu a sua senha?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuito"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francês"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Diminuir zoom"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Esqueceu a sua senha?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Grátis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francês"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Afastar"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "V-ați uitat parola?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Franceză"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Micșorează"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Забыли ваш пароль?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Французский"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Уменьшить"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Zabudol si heslo?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formát"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Zadarmo"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francúzština"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Oddialiť"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Ste pozabili svoje geslo?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Brezplačno"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Francoščina"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Oddalji"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zuluščina"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Keni harruar fjalëkalimin?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Formati"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Falas"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Frëngjisht"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zvogëlo"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Заборавили сте лозинку?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Бесплатно"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Француски"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Умањи"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Glömt ditt lösenord?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Gratis"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Franska"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Zooma ut"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "உங்கள் கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "வடிவம்"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "இலவசம்"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ஃபிரென்ச்"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "சிறிதாக்கு"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ஜூலு"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "మీ పాస్వర్డ్ మర్చిపోయారా?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "ఫార్మాట్"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ఉచితం"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ఫ్రెంచ్"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "జూమ్ అవుట్ చేయండి"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "జులు"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "ลืมรหัสผ่านของคุณใช่หรือไม่?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "รูปแบบ"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "ฟรี"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "ฝรั่งเศส"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "ซูมออก"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "ซูลู"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Şifrenizi mi unuttunuz?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Ücretsiz"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Fransızca"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Uzaklaştır"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Забули свій пароль?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Формат"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Безкоштовно"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Французька"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Зменшити"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Зулу"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Parolingizni unutdingizmi?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Bepul"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Fransuz tili"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Kichraytirish"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "Bạn quên mật khẩu?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "Định dạng"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "Miễn phí"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "Tiếng Pháp"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "Thu nhỏ"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "Zulu"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "你忘记密码了吗?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "格式"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "免费"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "法语"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "缩小"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "祖鲁语"
|
||||
|
||||
|
||||
@@ -1389,14 +1389,18 @@ msgid "Forgot your password?"
|
||||
msgstr "忘記密碼?"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr "格式"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/_home/-sections/features.tsx
|
||||
msgid "Free"
|
||||
msgstr "免費"
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr "法文"
|
||||
@@ -3497,4 +3501,3 @@ msgstr "縮小"
|
||||
#: src/libs/locale.ts
|
||||
msgid "Zulu"
|
||||
msgstr "祖魯語"
|
||||
|
||||
|
||||
@@ -1384,7 +1384,7 @@ msgid "Forgot your password?"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgctxt "Page Format (A4, Letter)"
|
||||
msgctxt "Page Format (A4, Letter, Free-form)"
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
@@ -1392,6 +1392,10 @@ msgstr ""
|
||||
msgid "Free"
|
||||
msgstr ""
|
||||
|
||||
#: src/routes/builder/$resumeId/-sidebar/right/sections/page.tsx
|
||||
msgid "Free-form"
|
||||
msgstr ""
|
||||
|
||||
#: src/libs/locale.ts
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
"@types/pg": "^8.20.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"@vitejs/plugin-react": "^6.0.1",
|
||||
"babel-plugin-macros": "^3.1.0",
|
||||
"nitro": "3.0.260429-beta",
|
||||
|
||||
@@ -161,8 +161,8 @@ export function ResumePreviewClient({
|
||||
{(document) => (
|
||||
<div
|
||||
className={cn(
|
||||
"flex items-center justify-start gap-(--resume-preview-page-gap)",
|
||||
pageLayout === "horizontal" ? "flex-row" : "flex-col",
|
||||
"flex justify-start gap-(--resume-preview-page-gap)",
|
||||
pageLayout === "horizontal" ? "flex-row items-start" : "flex-col items-center",
|
||||
)}
|
||||
>
|
||||
{Array.from({ length: visiblePdf.numPages }, (_, index) => {
|
||||
|
||||
@@ -94,7 +94,7 @@ function PageSectionForm() {
|
||||
hasError={field.state.meta.isTouched && field.state.meta.errors.length > 0}
|
||||
>
|
||||
<FormLabel>
|
||||
<Trans context="Page Format (A4, Letter)">Format</Trans>
|
||||
<Trans context="Page Format (A4, Letter, Free-form)">Format</Trans>
|
||||
</FormLabel>
|
||||
<FormControl
|
||||
render={
|
||||
@@ -102,6 +102,7 @@ function PageSectionForm() {
|
||||
options={[
|
||||
{ value: "a4", label: t`A4` },
|
||||
{ value: "letter", label: t`Letter` },
|
||||
{ value: "free-form", label: t`Free-form` },
|
||||
]}
|
||||
value={field.state.value}
|
||||
onValueChange={(value) => {
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@
|
||||
"@testing-library/jest-dom": "^6.9.1",
|
||||
"@testing-library/react": "^16.3.2",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
"@types/node": "^25.6.1",
|
||||
"@types/node": "^25.6.2",
|
||||
"@vitest/coverage-v8": "^4.1.5",
|
||||
"jsdom": "^29.1.1",
|
||||
"knip": "^6.12.1",
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"test:agent": "vitest run --reporter=agent --reporter=json --outputFile.json=reports/vitest-results.json --passWithNoTests"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^3.0.75",
|
||||
"@ai-sdk/google": "^3.0.68",
|
||||
"@ai-sdk/openai": "^3.0.62",
|
||||
"@ai-sdk/openai-compatible": "^2.0.46",
|
||||
"@ai-sdk/anthropic": "^3.0.76",
|
||||
"@ai-sdk/google": "^3.0.70",
|
||||
"@ai-sdk/openai": "^3.0.63",
|
||||
"@ai-sdk/openai-compatible": "^2.0.47",
|
||||
"@aws-sdk/client-s3": "^3.1045.0",
|
||||
"@orpc/client": "^1.14.2",
|
||||
"@orpc/experimental-ratelimit": "^1.14.2",
|
||||
@@ -33,7 +33,7 @@
|
||||
"@reactive-resume/schema": "workspace:*",
|
||||
"@reactive-resume/utils": "workspace:*",
|
||||
"@tanstack/react-start": "^1.167.65",
|
||||
"ai": "^6.0.175",
|
||||
"ai": "^6.0.176",
|
||||
"bcrypt": "^6.0.0",
|
||||
"better-auth": "1.6.9",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
@@ -49,7 +49,7 @@
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/bcrypt": "^6.0.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/bcrypt": "^6.0.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"drizzle-kit": "1.0.0-beta.22",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/nodemailer": "^8.0.0",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+2
-2
@@ -19,8 +19,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^25.6.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@types/node": "^25.6.2",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"@react-pdf/types": "^2.11.1",
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/react": "^19.2.14",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -51,12 +51,13 @@ export const AzurillPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles, featureStyles } = useAzurillTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
const mainSections = filterSections(page.main, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} featureStyles={featureStyles} colors={colors} features={azurillFeatures}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -54,13 +54,14 @@ export const BronzorPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { styles, colors } = useBronzorTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sections = getBronzorSections({ mainSections, sidebarSections, fullWidth: page.fullWidth });
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -40,13 +40,14 @@ export const ChikoritaPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useChikoritaTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const hasPicture = hasTemplatePicture(picture);
|
||||
const showHeader = pageIndex === 0;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
const mainSections = filterSections(page.main, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
<View
|
||||
style={composeStyles(styles.mainColumn, {
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -48,6 +48,7 @@ export const DitgarPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useDitgarTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const showSidebar = !page.fullWidth || showHeader;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
@@ -56,7 +57,7 @@ export const DitgarPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const regularMainSections = showHeader ? mainSections.slice(1) : mainSections;
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors} features={ditgarFeatures}>
|
||||
{showSidebar && (
|
||||
<View
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -45,13 +45,14 @@ export const DittoPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useDittoTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const hasPicture = hasTemplatePicture(picture);
|
||||
const showHeader = pageIndex === 0;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
const mainSections = filterSections(page.main, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -43,6 +43,7 @@ export const GengarPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useGengarTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const showSidebar = !page.fullWidth || showHeader;
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
@@ -51,7 +52,7 @@ export const GengarPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const regularMainSections = showHeader ? mainSections.slice(1) : mainSections;
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showSidebar && (
|
||||
<View
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -47,13 +47,14 @@ export const GlaliePage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useGlalieTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const showSidebar = !page.fullWidth || showHeader;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors} features={glalieFeatures}>
|
||||
{showSidebar && <View style={styles.sidebarBackground} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -39,12 +39,13 @@ export const KakunaPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useKakunaTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -38,12 +38,13 @@ export const LaprasPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useLaprasTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -43,12 +43,13 @@ export const LeafishPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useLeafishTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data).filter((section) => section !== "summary");
|
||||
const sidebarSections = filterSections(page.sidebar, data).filter((section) => section !== "summary");
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -43,12 +43,13 @@ export const MeowthPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useMeowthTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors} features={meowthFeatures}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -38,12 +38,13 @@ export const OnyxPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useOnyxTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -47,6 +47,7 @@ export const PikachuPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = usePikachuTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const showSidebar = !page.fullWidth;
|
||||
const hasPicture = hasTemplatePicture(picture);
|
||||
@@ -54,7 +55,7 @@ export const PikachuPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors} features={pikachuFeatures}>
|
||||
<View style={styles.layout}>
|
||||
{showSidebar && (
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useRender } from "../../context";
|
||||
import { TemplateProvider } from "../shared/context";
|
||||
import { filterSections } from "../shared/filtering";
|
||||
import { getTemplateMetrics } from "../shared/metrics";
|
||||
import { getTemplatePageSize } from "../shared/page-size";
|
||||
import { getTemplatePageMinHeightStyle, getTemplatePageSize } from "../shared/page-size";
|
||||
import { hasTemplatePicture } from "../shared/picture";
|
||||
import { Heading, Icon, Link, Text } from "../shared/primitives";
|
||||
import { Section } from "../shared/sections";
|
||||
@@ -40,12 +40,13 @@ export const RhyhornPage = ({ page, pageIndex }: TemplatePageProps) => {
|
||||
const { colors, styles } = useRhyhornTemplate();
|
||||
const metrics = getTemplateMetrics(metadata.page);
|
||||
const pageSize = getTemplatePageSize(metadata.page.format);
|
||||
const pageMinHeightStyle = getTemplatePageMinHeightStyle(metadata.page.format);
|
||||
const showHeader = pageIndex === 0;
|
||||
const mainSections = filterSections(page.main, data);
|
||||
const sidebarSections = filterSections(page.sidebar, data);
|
||||
|
||||
return (
|
||||
<Page size={pageSize} style={styles.page}>
|
||||
<Page size={pageSize} style={composeStyles(styles.page, pageMinHeightStyle)}>
|
||||
<TemplateProvider styles={styles} colors={colors}>
|
||||
{showHeader && <Header styles={styles} />}
|
||||
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
import type { Style } from "@react-pdf/types";
|
||||
import type { ResumeData } from "@reactive-resume/schema/resume/data";
|
||||
|
||||
export const getTemplatePageSize = (format: ResumeData["metadata"]["page"]["format"]) =>
|
||||
format === "letter" ? "LETTER" : "A4";
|
||||
const A4_PAGE_SIZE = {
|
||||
width: 595.28,
|
||||
height: 841.89,
|
||||
} as const;
|
||||
|
||||
export const getTemplatePageSize = (format: ResumeData["metadata"]["page"]["format"]) => {
|
||||
if (format === "free-form") return { width: A4_PAGE_SIZE.width };
|
||||
if (format === "letter") return "LETTER";
|
||||
|
||||
return "A4";
|
||||
};
|
||||
|
||||
export const getTemplatePageMinHeightStyle = (format: ResumeData["metadata"]["page"]["format"]): Style | undefined => {
|
||||
if (format !== "free-form") return undefined;
|
||||
|
||||
return { minHeight: A4_PAGE_SIZE.height };
|
||||
};
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1689,8 +1689,8 @@
|
||||
"format": {
|
||||
"default": "a4",
|
||||
"type": "string",
|
||||
"enum": ["a4", "letter"],
|
||||
"description": "The format of the page. Can be 'a4' or 'letter'."
|
||||
"enum": ["a4", "letter", "free-form"],
|
||||
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
||||
},
|
||||
"locale": {
|
||||
"default": "en-US",
|
||||
|
||||
@@ -7,6 +7,10 @@ export const pageDimensionsAsPixels = {
|
||||
width: 816,
|
||||
height: 1056,
|
||||
},
|
||||
"free-form": {
|
||||
width: 794,
|
||||
height: 1123,
|
||||
},
|
||||
} as const;
|
||||
|
||||
export const pageDimensionsAsMillimeters = {
|
||||
@@ -18,4 +22,8 @@ export const pageDimensionsAsMillimeters = {
|
||||
width: "216mm",
|
||||
height: "279mm",
|
||||
},
|
||||
"free-form": {
|
||||
width: "210mm",
|
||||
height: "297mm",
|
||||
},
|
||||
} as const;
|
||||
|
||||
@@ -449,7 +449,10 @@ export const pageSchema = z.object({
|
||||
gapY: z.number().min(0).describe("The vertical gap between the sections of the page, defined in points (pt)."),
|
||||
marginX: z.number().min(0).describe("The horizontal margin of the page, defined in points (pt)."),
|
||||
marginY: z.number().min(0).describe("The vertical margin of the page, defined in points (pt)."),
|
||||
format: z.enum(["a4", "letter"]).describe("The format of the page. Can be 'a4' or 'letter'.").catch("a4"),
|
||||
format: z
|
||||
.enum(["a4", "letter", "free-form"])
|
||||
.describe("The format of the page. Can be 'a4', 'letter', or 'free-form'.")
|
||||
.catch("a4"),
|
||||
locale: z
|
||||
.string()
|
||||
.describe("The locale of the page. Used for displaying pre-translated section headings, if not overridden.")
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@reactive-resume/env": "workspace:*",
|
||||
"@types/pg": "^8.20.0",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"drizzle-orm": "1.0.0-beta.22",
|
||||
"pg": "^8.20.0",
|
||||
"tsx": "^4.21.0"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"@tailwindcss/typography": "^0.5.19",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"tailwindcss": "^4.2.4",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ function DialogFooter({
|
||||
<div
|
||||
data-slot="dialog-footer"
|
||||
className={cn(
|
||||
"sticky bottom-0 z-1 -mx-4 in-[form]:-mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",
|
||||
"-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",
|
||||
className,
|
||||
)}
|
||||
{...props}
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@reactive-resume/config": "workspace:*",
|
||||
"@types/node": "^25.6.1",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260507.1",
|
||||
"@types/node": "^25.6.2",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260508.1",
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,9 +50,17 @@ interface PageSize {
|
||||
|
||||
const DEFAULT_PAGE_SIZE: PageSize = { width: 210, height: 297 };
|
||||
|
||||
const PAGE_SIZES: Record<string, PageSize> = {
|
||||
const PAGE_SIZES = {
|
||||
a4: DEFAULT_PAGE_SIZE,
|
||||
letter: { width: 215.9, height: 279.4 },
|
||||
} satisfies Record<string, PageSize>;
|
||||
|
||||
type DocxPageFormat = keyof typeof PAGE_SIZES;
|
||||
|
||||
const resolveDocxPageFormat = (format: ResumeData["metadata"]["page"]["format"]): DocxPageFormat => {
|
||||
if (format === "letter") return "letter";
|
||||
|
||||
return "a4";
|
||||
};
|
||||
|
||||
// --- Invisible border preset for table cells ---
|
||||
@@ -344,7 +352,7 @@ function buildTwoColumnTable(
|
||||
* - Header with name, headline, and contact info (centered, full-width)
|
||||
* - Two-column table layout (main + sidebar) matching `metadata.layout`
|
||||
* - Typography (font family, size, line height) from `metadata.typography`
|
||||
* - Page margins and format (A4/Letter) from `metadata.page`
|
||||
* - Page margins and fixed DOCX page format from `metadata.page`; free-form exports as A4
|
||||
* - Primary, text, and background colors from `metadata.design.colors`
|
||||
*/
|
||||
export function buildDocument(data: ResumeData): Document {
|
||||
@@ -357,7 +365,7 @@ export function buildDocument(data: ResumeData): Document {
|
||||
const lineSpacing = Math.round(data.metadata.typography.body.lineHeight * 240);
|
||||
|
||||
const { page } = data.metadata;
|
||||
const pageSize = PAGE_SIZES[page.format] ?? DEFAULT_PAGE_SIZE;
|
||||
const pageSize = PAGE_SIZES[resolveDocxPageFormat(page.format)];
|
||||
// Margins and gaps are defined in points (pt), not mm
|
||||
const marginXTwips = ptToTwips(page.marginX);
|
||||
const marginYTwips = ptToTwips(page.marginY);
|
||||
|
||||
Generated
+416
-218
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user