Feature: Create a new useFormBlocker hook to block the user from closing a dialog or navigating away from a page if the form is dirty (#2654)

* feat: add useFormBlocker hook for dialog dirty state protection

* feat: add useFormBlocker hook for dialog dirty state protection

- Create useFormBlocker hook that blocks dialog closing when forms have unsaved changes
- Use onPointerDownOutside and onEscapeKeyDown to intercept close attempts
- Show confirmation dialog with Leave/Stay options using useConfirm
- Integrate with CreateResumeDialog, UpdateResumeDialog, and DuplicateResumeDialog
- All strings are translatable via Lingui

* Feature: Create a new `useFormBlocker` hook to block the user from closing a dialog or navigating away from a page if the form is dirty.
This commit is contained in:
Amruth Pillai
2026-01-31 01:13:38 +01:00
committed by GitHub
parent f6fcbdcad0
commit 3d1c2d1fb6
81 changed files with 1800 additions and 1032 deletions
-3
View File
@@ -10,12 +10,10 @@
"*.css": "tailwindcss"
},
"files.readonlyInclude": {
"locales/*.po": true,
"pnpm-lock.yaml": true,
"**/routeTree.gen.ts": true
},
"files.watcherExclude": {
"locales/*.po": true,
"pnpm-lock.yaml": true,
"**/routeTree.gen.ts": true
},
@@ -23,7 +21,6 @@
"i18n-ally.localesPaths": ["locales"],
"i18n-ally.sourceLanguage": "en-US",
"search.exclude": {
"locales/*.po": true,
"pnpm-lock.yaml": true,
"**/routeTree.gen.ts": true
},
+5 -5
View File
@@ -20,9 +20,9 @@ services:
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- postgres_data:/var/lib/postgresql
ports:
@@ -40,9 +40,9 @@ services:
ports:
- "4000:3000"
environment:
- QUEUED=30
- QUEUED=10
- HEALTH=true
- CONCURRENT=20
- CONCURRENT=5
- TOKEN=1234567890
healthcheck:
test:
+5 -6
View File
@@ -5,9 +5,9 @@ services:
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- postgres_data:/var/lib/postgresql
healthcheck:
@@ -21,10 +21,9 @@ services:
image: ghcr.io/browserless/chromium:latest
restart: unless-stopped
environment:
- QUEUED=30
- TIMEOUT=-1
- QUEUED=10
- HEALTH=true
- CONCURRENT=20
- CONCURRENT=5
- TOKEN=1234567890
healthcheck:
test:
+2 -2
View File
@@ -153,14 +153,14 @@ FLAG_DISABLE_EMAIL_AUTH="false"
```yaml compose.yml
services:
postgres:
image: postgres:16
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
interval: 10s
+20 -80
View File
@@ -59,14 +59,14 @@ services:
- "traefik.http.middlewares.auth.basicauth.users=${TRAEFIK_DASHBOARD_AUTH}"
postgres:
image: postgres:16
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_data:/var/lib/postgresql
networks:
- reactive_resume_network
healthcheck:
@@ -79,10 +79,11 @@ services:
image: ghcr.io/browserless/chromium:latest
restart: unless-stopped
environment:
- TIMEOUT=120000
- CONCURRENT=10
- QUEUED=10
- HEALTH=true
- TOKEN=your-secret-token
- CONCURRENT=5
# Optional: Set a token for authentication
# - TOKEN=your-secret-token
networks:
- reactive_resume_network
healthcheck:
@@ -166,14 +167,14 @@ services:
- app
postgres:
image: postgres:16
image: postgres:latest
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
- postgres_data:/var/lib/postgresql
networks:
- reactive_resume_network
healthcheck:
@@ -186,17 +187,13 @@ services:
image: ghcr.io/browserless/chromium:latest
restart: unless-stopped
environment:
- TIMEOUT=120000
- CONCURRENT=10
- QUEUED=10
- HEALTH=true
- TOKEN=your-secret-token
- CONCURRENT=5
# Optional: Set a token for authentication
# - TOKEN=your-secret-token
networks:
- reactive_resume_network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/pressure?token=your-secret-token"]
interval: 30s
timeout: 10s
retries: 3
app:
image: amruthpillai/reactive-resume:latest
@@ -312,8 +309,7 @@ This example demonstrates a production-grade Docker Swarm deployment with multip
```yaml compose-swarm.yml lines expandable
services:
postgres:
image: postgres:18
command: postgres -c config_file=/etc/postgresql.conf
image: postgres:latest
networks:
- reactive_resume_network
volumes:
@@ -322,37 +318,24 @@ services:
- POSTGRES_DB=$POSTGRES_DB
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
configs:
- source: reactive_resume_postgres_config
target: /etc/postgresql.conf
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER -d $POSTGRES_DB"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
printer:
image: ghcr.io/browserless/chromium:latest
networks:
- reactive_resume_network
environment:
- TIMEOUT=120000
- CONCURRENT=10
- QUEUED=10
- HEALTH=true
- CONCURRENT=5
# Optional: Set a token for authentication
# - TOKEN=your-secret-token
healthcheck:
@@ -361,19 +344,9 @@ services:
timeout: 10s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
deploy:
mode: replicated
replicas: 2
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
replicas: 1
seaweedfs:
image: chrislusf/seaweedfs:latest
@@ -391,19 +364,9 @@ services:
timeout: 10s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
seaweedfs_create_bucket:
image: quay.io/minio/mc:latest
@@ -420,11 +383,6 @@ services:
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
delay: 10s
max_attempts: 5
window: 120s
app:
image: ghcr.io/amruthpillai/reactive-resume:latest
@@ -461,27 +419,9 @@ services:
timeout: 10s
retries: 3
start_period: 30s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
deploy:
mode: replicated
replicas: 2
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
update_config:
parallelism: 1
delay: 10s
failure_action: rollback
order: start-first
rollback_config:
parallelism: 1
delay: 10s
replicas: 1
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`rxresu.me`)"
BIN
View File
Binary file not shown.
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "የመተግበሪያ ስታቲስቲክስ"
msgid "Arabic"
msgstr "ዓረብኛ"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "ይህን የ API ቁልፍ ለመሰረዝ እርግጠኛ ነዎት?"
@@ -1392,6 +1396,10 @@ msgstr "ተጨማሪ ይወቁ"
msgid "Learn more about how to fit content on a page"
msgstr "ይህን ገፅ ላይ ይዘቱን እንዴት እንደሚስት ተጨማሪ ያውቁ"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ነጥሉን ባዶ ትተው ርዕሱን ወደ መጀመሪያው ሁኔታ ልትመለሱት ትችላላችሁ።"
@@ -2038,7 +2046,7 @@ msgstr "አሳይ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "የጎን አሞሌ<<<<<<< HEAD"
msgstr "የጎን አሞሌ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "የየታሪክዎን ማቅረቢያ ከመጀመሪያው በሙሉ
msgid "Statistics"
msgstr "ስታቲስቲክስ"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "መሰረዣ"
@@ -2695,6 +2707,10 @@ msgstr "የየታሪክዎን በተለየ የህዝብ አገናኝ ይካፈ
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "ፓስኪ \"{0}\"ን ከሰረዙት በኋላ እንደገና ለመግባት መጠቀም አትችሉም። ይህ ተግባር መቀለብ አይቻልም።"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "አጉር"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ዙሉ"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "إحصاءات التطبيق"
msgid "Arabic"
msgstr "العربية"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "هل أنت متأكد من أنك تريد حذف مفتاح واجهة برمجة التطبيقات هذا؟"
@@ -1392,6 +1396,10 @@ msgstr "اعرف المزيد"
msgid "Learn more about how to fit content on a page"
msgstr "تعرّف أكثر على كيفية ضبط المحتوى ليتناسب مع الصفحة"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "اتركه فارغًا لإعادة تعيين العنوان إلى الأصل."
@@ -2038,7 +2046,7 @@ msgstr "إظهار"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "الشريط الجانبي<<<<<<< HEAD"
msgstr "الشريط الجانبي"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ابدأ في إنشاء سيرتك الذاتية من الصفر"
msgid "Statistics"
msgstr "الإحصاءات"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "شطب"
@@ -2695,6 +2707,10 @@ msgstr "يمكنك مشاركة سيرتك الذاتية عبر عنوان URL
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "لن تتمكن من استخدام مفتاح المرور \"{0}\" لتسجيل الدخول بعد حذفه. لا يمكن التراجع عن هذا الإجراء."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "تصغير"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "الزولو"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Tətbiq Statistikası"
msgid "Arabic"
msgstr "Ərəb"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Bu API açarını silmək istədiyinizə əminsiniz?"
@@ -1392,6 +1396,10 @@ msgstr "Daha ətraflı"
msgid "Learn more about how to fit content on a page"
msgstr "Səhifədə məzmunu necə yerləşdirmək barədə daha ətraflı məlumat alın"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Başlığı orijinal vəziyyətinə qaytarmaq üçün boş saxlayın."
@@ -2038,7 +2046,7 @@ msgstr "Göstər"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Yan panel<<<<<<< HEAD"
msgstr "Yan panel"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Özgeçmişinizi sıfırdan qurmağa başlayın"
msgid "Statistics"
msgstr "Statistika"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Üstündən xətt çək"
@@ -2695,6 +2707,10 @@ msgstr "Özgeçmişinizi unikal açıq URL vasitəsilə paylaşa, onu parol ilə
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Bu keçid açarını \"{0}\" siləndən sonra artıq daxil olmaq üçün istifadə edə bilməyəcəksiniz. Bu əməliyyat geri qaytarıla bilməz."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Uzaqlaşdır"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Статистика на приложението"
msgid "Arabic"
msgstr "Арабски"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Сигурни ли сте, че искате да изтриете този API ключ?"
@@ -1392,6 +1396,10 @@ msgstr "Научи повече"
msgid "Learn more about how to fit content on a page"
msgstr "Научете повече за това как да поберете съдържанието на страницата"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Оставете празно, за да върнете заглавието към оригиналното."
@@ -2038,7 +2046,7 @@ msgstr "Показване"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Странична лента<<<<<<< HEAD"
msgstr "Странична лента"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Започнете да изграждате автобиография
msgid "Statistics"
msgstr "Статистика"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Зачеркване"
@@ -2695,6 +2707,10 @@ msgstr "Можете да споделяте автобиографията си
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "След изтриване вече няма да можете да използвате ключа за достъп „{0}“ за влизане. Това действие е необратимо."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Намаляване"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Зулуски"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "অ্যাপ্লিকেশন পরিসংখ্যান"
msgid "Arabic"
msgstr "আরবি"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "আপনি কি নিশ্চিত আপনি এই API কী মুছে ফেলতে চান?"
@@ -1392,6 +1396,10 @@ msgstr "আরও জানুন"
msgid "Learn more about how to fit content on a page"
msgstr "একটি পৃষ্ঠায় কনটেন্ট কিভাবে ফিট করানো যায় সে সম্পর্কে আরও জানুন"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "শিরোনামটি আবার মূল অবস্থায় ফেরাতে ফাঁকা রাখুন।"
@@ -2038,7 +2046,7 @@ msgstr "দেখান"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "সাইডবার<<<<<<< HEAD"
msgstr "সাইডবার"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "শূন্য থেকে শুরু করে আপনার জ
msgid "Statistics"
msgstr "পরিসংখ্যান"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "স্ট্রাইক"
@@ -2695,6 +2707,10 @@ msgstr "আপনি একটি আলাদা সর্বজনীন URL
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "মুছে ফেলার পর আপনি আর \"{0}\" পাসকি ব্যবহার করে সাইন ইন করতে পারবেন না। এই কাজটি ফিরিয়ে নেওয়া যাবে না।"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "জুম আউট"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "জুলু"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Estadístiques de laplicació"
msgid "Arabic"
msgstr "Àrab"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Segur que vols suprimir aquesta clau API?"
@@ -1392,6 +1396,10 @@ msgstr "Més informació"
msgid "Learn more about how to fit content on a page"
msgstr "Aprèn més sobre com ajustar el contingut en una pàgina"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Deixa-ho buit per restablir el títol original."
@@ -2038,7 +2046,7 @@ msgstr "Mostra"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra lateral<<<<<<< HEAD"
msgstr "Barra lateral"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Comença a crear el currículum des de zero"
msgid "Statistics"
msgstr "Estadístiques"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Barrat"
@@ -2695,6 +2707,10 @@ msgstr "Pots compartir el currículum mitjançant un URL públic únic, protegir
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Després de la supressió ja no podràs utilitzar la clau daccés \"{0}\" per iniciar sessió. Aquesta acció no es pot desfer."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Allunya"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulú"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistiky aplikace"
msgid "Arabic"
msgstr "Arabština"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Opravdu chcete tento API klíč odstranit?"
@@ -1392,6 +1396,10 @@ msgstr "Zjistit více"
msgid "Learn more about how to fit content on a page"
msgstr "Zjistěte více o tom, jak přizpůsobit obsah na stránku"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Ponechte prázdné pro resetování názvu na původní."
@@ -2038,7 +2046,7 @@ msgstr "Zobrazit"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Postranní panel<<<<<<< HEAD"
msgstr "Postranní panel"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Začněte vytvářet životopis od nuly"
msgid "Statistics"
msgstr "Statistiky"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Přeškrtnutí"
@@ -2695,6 +2707,10 @@ msgstr "Svůj životopis můžete sdílet pomocí jedinečné veřejné URL adre
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Po smazání již nebudete moci přístupový klíč „{0}“ použít k přihlášení. Tuto akci nelze vrátit zpět."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Oddálit"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Applikationsstatistik"
msgid "Arabic"
msgstr "Arabisk"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Er du sikker på, at du vil slette denne API-nøgle?"
@@ -1392,6 +1396,10 @@ msgstr "Få mere at vide"
msgid "Learn more about how to fit content on a page"
msgstr "Lær mere om, hvordan du tilpasser indholdet til en side"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Lad det være tomt for at nulstille titlen til originalen."
@@ -2038,7 +2046,7 @@ msgstr "Vis"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sidebjælke<<<<<<< HEAD"
msgstr "Sidebjælke"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Begynd at opbygge dit CV helt fra bunden"
msgid "Statistics"
msgstr "Statistik"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Gennemstreget"
@@ -2695,6 +2707,10 @@ msgstr "Du kan dele dit CV via en unik offentlig URL, beskytte det med en adgang
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Du kan ikke længere bruge adgangsnøglen \"{0}\" til at logge ind efter sletning. Denne handling kan ikke fortrydes."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zoom ud"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+16 -1
View File
@@ -297,6 +297,10 @@ msgstr "Anwendungsstatistiken"
msgid "Arabic"
msgstr "Arabisch"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Möchtest du diesen API-Schlüssel wirklich löschen?"
@@ -1392,6 +1396,10 @@ msgstr "Mehr erfahren"
msgid "Learn more about how to fit content on a page"
msgstr "Erfahren Sie mehr darüber, wie Sie Inhalte auf einer Seite anpassen können"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Leer lassen, um den Titel auf den Original zurückzusetzen."
@@ -2173,6 +2181,10 @@ msgstr "Erstellen Sie Ihren Lebenslauf von Grund auf"
msgid "Statistics"
msgstr "Statistiken"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Durchgestrichen"
@@ -2695,6 +2707,10 @@ msgstr "Du kannst deinen Lebenslauf über eine eindeutige öffentliche URL teile
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Sie können den Passkey \"{0}\" nach dem Löschen nicht mehr zum Anmelden verwenden. Diese Aktion kann nicht rückgängig gemacht werden."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Herauszoomen"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Στατιστικά εφαρμογής"
msgid "Arabic"
msgstr "Αραβικά"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το κλειδί API;"
@@ -1392,6 +1396,10 @@ msgstr "Μάθετε περισσότερα"
msgid "Learn more about how to fit content on a page"
msgstr "Μάθετε περισσότερα σχετικά με το πώς να προσαρμόσετε το περιεχόμενο σε μια σελίδα"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Αφήστε το κενό για να επαναφέρετε τον τίτλο στο αρχικό."
@@ -2038,7 +2046,7 @@ msgstr "Εμφάνιση"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Πλαϊνή μπάρα<<<<<<< HEAD"
msgstr "Πλαϊνή μπάρα"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Ξεκινήστε να φτιάχνετε το βιογραφικό σ
msgid "Statistics"
msgstr "Στατιστικά"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Διακριτική διαγραφή"
@@ -2695,6 +2707,10 @@ msgstr "Μπορείτε να μοιραστείτε το βιογραφικό
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Δεν θα μπορείτε πλέον να χρησιμοποιήσετε το κλειδί πρόσβασης \"{0}\" για σύνδεση μετά τη διαγραφή. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Σμίκρυνση"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Ζουλού"
+16
View File
@@ -292,6 +292,10 @@ msgstr "Application Statistics"
msgid "Arabic"
msgstr "Arabic"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr "Are you sure you want to close this dialog?"
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Are you sure you want to delete this API key?"
@@ -1387,6 +1391,10 @@ msgstr "Learn More"
msgid "Learn more about how to fit content on a page"
msgstr "Learn more about how to fit content on a page"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr "Leave"
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Leave empty to reset the title to the original."
@@ -2168,6 +2176,10 @@ msgstr "Start building your resume from scratch"
msgid "Statistics"
msgstr "Statistics"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr "Stay"
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Strike"
@@ -2690,6 +2702,10 @@ msgstr "You can share your resume via a unique public URL, protect it with a pas
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr "You have unsaved changes that will be lost."
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Estadísticas de la aplicación"
msgid "Arabic"
msgstr "Árabe"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "¿Seguro que deseas eliminar esta clave API?"
@@ -1392,6 +1396,10 @@ msgstr "Aprende más"
msgid "Learn more about how to fit content on a page"
msgstr "Obtén más información sobre cómo ajustar el contenido en una página"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Déjalo vacío para restablecer el título al original."
@@ -2038,7 +2046,7 @@ msgstr "Mostrar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra lateral<<<<<<< HEAD"
msgstr "Barra lateral"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Comienza a crear tu currículum desde cero"
msgid "Statistics"
msgstr "Estadísticas"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Tachado"
@@ -2695,6 +2707,10 @@ msgstr "Puedes compartir tu currículum mediante una URL pública única, proteg
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Después de eliminarla, ya no podrás usar la clave de acceso \"{0}\" para iniciar sesión. Esta acción no se puede deshacer."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Alejar"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulú"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "آمار اپلیکیشن"
msgid "Arabic"
msgstr "عربی"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "آیا از حذف این کلید API مطمئن هستید؟"
@@ -1392,6 +1396,10 @@ msgstr "بیشتر بدانید"
msgid "Learn more about how to fit content on a page"
msgstr "راهنمای تنظیم محتوا در صفحه"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "برای بازگرداندن عنوان به مقدار اصلی، آن را خالی بگذارید."
@@ -2038,7 +2046,7 @@ msgstr "نمایش"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "نوار کناری<<<<<<< HEAD"
msgstr "نوار کناری"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ساخت رزومه خود را از صفر شروع کنید"
msgid "Statistics"
msgstr "آمارها"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "خط‌خورده"
@@ -2695,6 +2707,10 @@ msgstr "می‌توانید رزومه خود را از طریق یک URL عمو
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "پس از حذف، دیگر نمی‌توانید از کلید عبور \"{0}\" برای ورود استفاده کنید. این عمل قابل بازگشت نیست."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "کوچک‌نمایی"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "زولو"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Sovelluksen tilastot"
msgid "Arabic"
msgstr "arabia"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Haluatko varmasti poistaa tämän API-avaimen?"
@@ -1392,6 +1396,10 @@ msgstr "Lue lisää"
msgid "Learn more about how to fit content on a page"
msgstr "Lue lisää sisällön sovittamisesta sivulle"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Jätä tyhjäksi palauttaaksesi otsikon alkuperäiseksi."
@@ -2038,7 +2046,7 @@ msgstr "Näytä"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sivupalkki<<<<<<< HEAD"
msgstr "Sivupalkki"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Aloita ansioluettelon laatiminen alusta"
msgid "Statistics"
msgstr "Tilastot"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Yliviivaus"
@@ -2695,6 +2707,10 @@ msgstr "Voit jakaa ansioluettelosi yksilöllisen julkisen URL-osoitteen kautta,
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Et voi enää käyttää avainta \"{0}\" kirjautumiseen sen poistamisen jälkeen. Tätä toimintoa ei voi perua."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Loitonna"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+16 -1
View File
@@ -297,6 +297,10 @@ msgstr "Statistiques d'application"
msgid "Arabic"
msgstr "Arabe"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Êtes-vous sûr de vouloir supprimer cette clé API ?"
@@ -1392,6 +1396,10 @@ msgstr "En savoir plus"
msgid "Learn more about how to fit content on a page"
msgstr "En savoir plus sur la manière d'adapter le contenu d'une page"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Laissez le champ vide pour rétablir le titre d'origine."
@@ -2173,6 +2181,10 @@ msgstr "Commencez à rédiger votre CV en partant de zéro"
msgid "Statistics"
msgstr "Statistiques"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Barré"
@@ -2695,6 +2707,10 @@ msgstr "Vous pouvez partager votre CV via une URL publique unique, le protéger
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Vous ne pouvez plus utiliser la clé d'accès \"{0}\" pour vous connecter après la suppression. Cette action ne peut pas être annulée."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zoom arrière"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zoulou"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "סטטיסטיקת היישום"
msgid "Arabic"
msgstr "ערבית"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "האם למחוק את מפתח ה־API הזה?"
@@ -1392,6 +1396,10 @@ msgstr "מידע נוסף"
msgid "Learn more about how to fit content on a page"
msgstr "למד עוד על איך להתאים תוכן לעמוד"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "השאר ריק כדי לאפס את הכותרת למקורית."
@@ -2038,7 +2046,7 @@ msgstr "הצגה"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "סרגל צד<<<<<<< HEAD"
msgstr "סרגל צד"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "התחלת בנייה מאפס של קורות החיים שלך"
msgid "Statistics"
msgstr "סטטיסטיקה"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "קו חוצה"
@@ -2695,6 +2707,10 @@ msgstr "אפשר לשתף את קורות החיים שלך באמצעות כת
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "לא תוכל להשתמש יותר במפתח הכניסה \"{0}\" כדי להתחבר לאחר המחיקה. לא ניתן לבטל פעולה זו."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "התרחקות"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "זולו"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "ऐप आँकड़े"
msgid "Arabic"
msgstr "अरबी"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "क्या आप वाकई इस API कुंजी को हटाना चाहते हैं?"
@@ -1392,6 +1396,10 @@ msgstr "अधिक जानें"
msgid "Learn more about how to fit content on a page"
msgstr "पृष्ठ पर सामग्री फिट करने के बारे में अधिक जानें"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "शीर्षक को मूल पर रीसेट करने के लिए खाली छोड़ दें।"
@@ -2038,7 +2046,7 @@ msgstr "दिखाएँ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "साइडबार<<<<<<< HEAD"
msgstr "साइडबार"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "शुरुआत से अपना रेज़्यूमे ब
msgid "Statistics"
msgstr "आंकड़े"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "स्ट्राइक"
@@ -2695,6 +2707,10 @@ msgstr "आप अपना रेज़्यूमे एक यूनिक
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "हटाने के बाद आप साइन इन करने के लिए पासकी \"{0}\" का उपयोग नहीं कर पाएंगे। इस कार्रवाई को पूर्ववत नहीं किया जा सकता।"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "ज़ूम आउट"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ज़ुलु"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Alkalmazásstatisztikák"
msgid "Arabic"
msgstr "arab"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Biztosan törölni szeretnéd ezt az API kulcsot?"
@@ -1392,6 +1396,10 @@ msgstr "Tudj meg többet"
msgid "Learn more about how to fit content on a page"
msgstr "Tudjon meg többet arról, hogyan illesztheti a tartalmat egy oldalra"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Hagyd üresen az eredeti cím visszaállításához."
@@ -2038,7 +2046,7 @@ msgstr "Megjelenítés"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Oldalsáv<<<<<<< HEAD"
msgstr "Oldalsáv"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Kezdd el az önéletrajzod építését a nulláról"
msgid "Statistics"
msgstr "Statisztikák"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Áthúzás"
@@ -2695,6 +2707,10 @@ msgstr "Az önéletrajzodat megoszthatod egy egyedi nyilvános URLlel, jelsz
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "A(z) \"{0}\" hozzáférési kulcsot törlés után többé nem használhatod bejelentkezéshez. Ez a művelet nem vonható vissza."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Kicsinyítés"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistik Aplikasi"
msgid "Arabic"
msgstr "Arab"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Apakah Anda yakin ingin menghapus API key ini?"
@@ -1392,6 +1396,10 @@ msgstr "Pelajari Lebih Lanjut"
msgid "Learn more about how to fit content on a page"
msgstr "Pelajari lebih lanjut tentang cara menyesuaikan konten pada halaman"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Biarkan kosong untuk mengatur ulang judul ke aslinya."
@@ -2038,7 +2046,7 @@ msgstr "Tampilkan"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Bilah Sisi<<<<<<< HEAD"
msgstr "Bilah Sisi"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Mulai membuat resume Anda dari awal"
msgid "Statistics"
msgstr "Statistik"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Coret"
@@ -2695,6 +2707,10 @@ msgstr "Anda dapat membagikan resume Anda melalui URL publik unik, melindunginya
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Anda tidak dapat lagi menggunakan passkey \"{0}\" untuk masuk setelah dihapus. Tindakan ini tidak dapat dibatalkan."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Perkecil"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistiche dell'applicazione"
msgid "Arabic"
msgstr "Arabo"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Sei sicuro di voler eliminare questa chiave API?"
@@ -1392,6 +1396,10 @@ msgstr "Altre informazioni"
msgid "Learn more about how to fit content on a page"
msgstr "Scopri di più su come adattare il contenuto a una pagina"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Lascia vuoto per ripristinare il titolo originale."
@@ -2038,7 +2046,7 @@ msgstr "Mostra"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra laterale<<<<<<< HEAD"
msgstr "Barra laterale"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Inizia a costruire il tuo curriculum da zero"
msgid "Statistics"
msgstr "Statistiche"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Barrato"
@@ -2695,6 +2707,10 @@ msgstr "Puoi condividere il tuo curriculum tramite un URL pubblico univoco, prot
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Dopo l'eliminazione non potrai più usare la passkey \"{0}\" per accedere. Questa azione non può essere annullata."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Rimpicciolisci"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "アプリケーション統計"
msgid "Arabic"
msgstr "アラビア語"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "この API キーを削除してもよろしいですか?"
@@ -1392,6 +1396,10 @@ msgstr "詳しく見る"
msgid "Learn more about how to fit content on a page"
msgstr "ページにコンテンツを収める方法について詳しくはこちら"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "空欄のままにすると、タイトルは元の名前にリセットされます。"
@@ -2038,7 +2046,7 @@ msgstr "表示"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "サイドバー<<<<<<< HEAD"
msgstr "サイドバー"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ゼロから履歴書の作成を始める"
msgid "Statistics"
msgstr "統計"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "取り消し線"
@@ -2695,6 +2707,10 @@ msgstr "履歴書は、一意の公開 URL を使って共有したり、パス
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "このパスキー「{0}」は、削除後はサインインに使用できなくなります。この操作は取り消せません。"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "ズームアウト"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ズールー語"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "ស្ថិតិ​កម្មវិធី"
msgid "Arabic"
msgstr "Arabic"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "តើ​អ្នក​ប្រាកដ​ជា​ចង់​លុប​កូនសោ API នេះ​ឬ?"
@@ -1392,6 +1396,10 @@ msgstr "ស្វែងយល់បន្ថែម"
msgid "Learn more about how to fit content on a page"
msgstr "ស្វែងយល់បន្ថែមអំពីរបៀបសម្របខ្លឹមសារឲ្យសមនឹងទំព័រ"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ទុក​វែងៗ ដើម្បី​កំណត់​ចំណងជើង​ឲ្យ​ត្រឡប់​ទៅ​ដើម​វិញ។"
@@ -2038,7 +2046,7 @@ msgstr "បង្ហាញ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "របារ​បាត<<<<<<< HEAD"
msgstr "របារ​បាត"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ចាប់ផ្តើម​បង្កើត​ប្រវត្ត
msgid "Statistics"
msgstr "ស្ថិតិ"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "អក្សរ​ឆូត"
@@ -2695,6 +2707,10 @@ msgstr "អ្នក​អាច​ចែករំលែក​ប្រវត្
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "បន្ទាប់​ពី​លុប អ្នក​នឹង​មិន​អាច​ប្រើ​កូនសោ​កំណត់​អត្តសញ្ញាណ \"{0}\" នេះ ដើម្បី​ចូល​បាន​ទៀត​ទេ។ សកម្មភាព​នេះ​មិន​អាច​មិនធ្វើវិញ​បានទេ។"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "បង្រួម"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "ಅಪ್ಲಿಕೇಶನ್ ಅಂಕಿಅಂಶಗಳು"
msgid "Arabic"
msgstr "ಅರೇಬಿಕ್"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "ಈ API ಕೀಲಿಯನ್ನು ಅಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"
@@ -1392,6 +1396,10 @@ msgstr "ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"
msgid "Learn more about how to fit content on a page"
msgstr "ಒಂದು ಪುಟದಲ್ಲಿ ವಿಷಯವನ್ನು ಹೇಗೆ ಹೊಂದಿಸಲು ತಿಳಿಯಿರಿ"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ಶೀರ್ಷಿಕೆಯನ್ನು ಮೂಲದಂತೆ ಮರುಹೊಂದಿಸಲು ಖಾಲಿ ಬಿಟ್ಟುಬಿಡಿ."
@@ -2038,7 +2046,7 @@ msgstr "ತೋರಿಸು"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "ಪಾರ್ಶ್ವಪಟ್ಟಿ<<<<<<< HEAD"
msgstr "ಪಾರ್ಶ್ವಪಟ್ಟಿ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ಮೊದಲಿನಿಂದ ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅ
msgid "Statistics"
msgstr "ಅಂಕಿಅಂಶಗಳು"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "ಸ್ಟ್ರೈಕ್"
@@ -2695,6 +2707,10 @@ msgstr "ನೀವು ನಿಮ್ಮ ರೆಸ್ಯೂಮ್ ಅನ್ನು
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "ಅಳಿಸಿದ ನಂತರ ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಲು \"{0}\" ಎಂಬ ಪಾಸ್‌ಕೀ ಅನ್ನು ಇನ್ನೂ ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಈ ಕ್ರಿಯೆಯನ್ನು ಹಿಂತೆಗೆದುಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "ಗಾತ್ರ ಕುಗ್ಗಿಸಿ"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ಜೂಲೂ"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "애플리케이션 통계"
msgid "Arabic"
msgstr "아랍어"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "이 API 키를 삭제하시겠습니까?"
@@ -1392,6 +1396,10 @@ msgstr "자세히 알아보기"
msgid "Learn more about how to fit content on a page"
msgstr "페이지에 콘텐츠를 맞추는 방법에 대해 자세히 알아보세요"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "원래 제목으로 되돌리려면 비워 두세요."
@@ -2038,7 +2046,7 @@ msgstr "표시"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "사이드바<<<<<<< HEAD"
msgstr "사이드바"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "처음부터 이력서를 직접 작성하기"
msgid "Statistics"
msgstr "통계"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "취소선"
@@ -2695,6 +2707,10 @@ msgstr "고유한 공개 URL로 이력서를 공유하고, 비밀번호로 보
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "삭제 후에는 더 이상 \"{0}\" 패스키로 로그인할 수 없습니다. 이 작업은 되돌릴 수 없습니다."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "축소"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "줄루어"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Programos statistika"
msgid "Arabic"
msgstr "Arabų"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Ar tikrai norite ištrinti šį API raktą?"
@@ -1392,6 +1396,10 @@ msgstr "Sužinokite daugiau"
msgid "Learn more about how to fit content on a page"
msgstr "Sužinokite daugiau apie tai, kaip pritaikyti turinį puslapyje"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Palikite tuščią, jei norite atstatyti pirminį pavadinimą."
@@ -2038,7 +2046,7 @@ msgstr "Rodyti"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Šoninė juosta<<<<<<< HEAD"
msgstr "Šoninė juosta"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Pradėkite kurti savo gyvenimo aprašymą nuo nulio"
msgid "Statistics"
msgstr "Statistika"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Perbraukti"
@@ -2695,6 +2707,10 @@ msgstr "Gyvenimo aprašymu galite dalintis per unikalų viešą URL, apsaugoti j
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Ištrynę šio rakto „{0}“ daugiau nebegalėsite naudoti prisijungimui. Šio veiksmo anuliuoti neįmanoma."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Tolinti"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulų"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Lietotnes statistika"
msgid "Arabic"
msgstr "Arābu"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Vai tiešām vēlaties dzēst šo API atslēgu?"
@@ -1392,6 +1396,10 @@ msgstr "Uzzināt vairāk"
msgid "Learn more about how to fit content on a page"
msgstr "Uzziniet vairāk par to, kā pielāgot saturu lapai"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Atstājiet tukšu, lai atjaunotu sākotnējo virsrakstu."
@@ -2038,7 +2046,7 @@ msgstr "Rādīt"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sānu josla<<<<<<< HEAD"
msgstr "Sānu josla"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Sāciet veidot savu CV no nulles"
msgid "Statistics"
msgstr "Statistika"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Pārsvītrot"
@@ -2695,6 +2707,10 @@ msgstr "Varat kopīgot savu CV, izmantojot unikālu publisku URL, aizsargāt to
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Pēc dzēšanas jūs vairs nevarēsiet izmantot piekļuves atslēgu \"{0}\" pieteikšanās veikšanai. Šo darbību nevar atsaukt."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Tālināt"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "ആപ്ലിക്കേഷൻ സ്റ്റാറ്റിസ്
msgid "Arabic"
msgstr "അറബിക്"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "ഈ API കീ ഡിലീറ്റ് ചെയ്യണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?"
@@ -1392,6 +1396,10 @@ msgstr "കൂടുതൽ അറിയുക"
msgid "Learn more about how to fit content on a page"
msgstr "ഒരു പേജിൽ ഉള്ളടക്കം എങ്ങനെ ചേര്ക്കാം എന്നതിനെക്കുറിച്ച് കൂടുതൽ അറിയുക"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ശീർഷകം ആദ്ധ്യത്തിലേതിലേക്ക് റീസെറ്റ് ചെയ്യാൻ, ഇത് ശൂന്യമാക്കി വിടുക."
@@ -2038,7 +2046,7 @@ msgstr "കാണിക്കുക"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "സൈഡ്ബാർ<<<<<<< HEAD"
msgstr "സൈഡ്ബാർ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "നിറുത്തിടുന്നിടത്ത് നിന്
msgid "Statistics"
msgstr "സ്റ്റാറ്റിസ്റ്റിക്സ്"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "സ്ട്രൈക്ക്"
@@ -2695,6 +2707,10 @@ msgstr "നിങ്ങളുടെ റിസ്യൂം ഒരു സവിശ
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "ഈ പാസ്‌കി \"{0}\" ഡിലീറ്റ് ചെയ്ത ശേഷം ഇനി സൈൻ ഇൻ ചെയ്യാൻ ഉപയോഗിക്കാൻ സാധിക്കില്ല. ഈ പ്രവർത്തി തിരികെ ലഭ്യമാക്കാൻ സാധിക്കില്ല."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "സൂം ഔട്ട് ചെയ്യുക"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "സൂളു"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "अ‍ॅप्लिकेशन आकडेवारी"
msgid "Arabic"
msgstr "अरबी"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "तुम्हाला ही API key नक्की काढून टाकायची आहे का?"
@@ -1392,6 +1396,10 @@ msgstr "अधिक जाणून घ्या"
msgid "Learn more about how to fit content on a page"
msgstr "पृष्ठावर सामग्री कशी बसवायची याबद्दल अधिक जाणून घ्या"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "शीर्षक मूळवर रीसेट करण्यासाठी रिकामे सोडा."
@@ -2038,7 +2046,7 @@ msgstr "दाखवा"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "बाजूची पट्टी<<<<<<< HEAD"
msgstr "बाजूची पट्टी"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "शून्यापासून तुमचा रेझ्युम
msgid "Statistics"
msgstr "आकडेवारी"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "स्ट्राइक"
@@ -2695,6 +2707,10 @@ msgstr "तुम्ही तुमचा रेझ्युमे युनि
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "ही पासकी \"{0}\" डिलीट केल्यानंतर साइन इन करण्यासाठी वापरता येणार नाही. ही क्रिया उलट करता येणार नाही."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "बाहेर झूम करा"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "झुलू"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistik Aplikasi"
msgid "Arabic"
msgstr "Bahasa Arab"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Adakah anda pasti ingin memadamkan kunci API ini?"
@@ -1392,6 +1396,10 @@ msgstr "Ketahui lebih lanjut"
msgid "Learn more about how to fit content on a page"
msgstr "Ketahui lebih lanjut tentang cara menyesuaikan kandungan pada halaman"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Biarkan kosong untuk menetapkan semula tajuk kepada asal."
@@ -2038,7 +2046,7 @@ msgstr "Paparkan"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Panel Sisi<<<<<<< HEAD"
msgstr "Panel Sisi"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Mula bina resume anda dari awal"
msgid "Statistics"
msgstr "Statistik"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Coret"
@@ -2695,6 +2707,10 @@ msgstr "Anda boleh berkongsi resume anda melalui URL awam unik, melindunginya de
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Anda tidak boleh lagi menggunakan kunci laluan \"{0}\" untuk log masuk selepas ia dipadam. Tindakan ini tidak boleh dibatalkan."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zum keluar"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "अनुप्रयोग तथ्याङ्क"
msgid "Arabic"
msgstr "अरबी"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "के तपाईं यो API key मेटाउन निश्चित हुनुहुन्छ?"
@@ -1392,6 +1396,10 @@ msgstr "थप जान्नुहोस्"
msgid "Learn more about how to fit content on a page"
msgstr "पृष्ठमा सामग्री कसरी फिट गर्ने भन्ने बारेमा थप जान्नुहोस्"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "शीर्षकलाई मौलिक अवस्थामा फर्काउन खाली छोड्नुहोस्।"
@@ -2038,7 +2046,7 @@ msgstr "देखाउनुहोस्"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sidebar<<<<<<< HEAD"
msgstr "Sidebar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "सुरुदेखि नयाँ बायोडाटा बना
msgid "Statistics"
msgstr "तथ्याङ्क (Statistics)"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "स्ट्राइक (Strikethrough)"
@@ -2695,6 +2707,10 @@ msgstr "तपाईं आफ्नो बायोडाटा अद्वि
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "मेटाइसकेपछि तपाईंले \"{0}\" यो पासकी प्रयोग गरेर साइन इन गर्न सक्नुहुनेछैन। यो कार्य उल्ट्याउन सकिँदैन।"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "जूम आउट"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "जुलु"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Applicatiestatistieken"
msgid "Arabic"
msgstr "Arabisch"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Weet u zeker dat u deze API-sleutel wilt verwijderen?"
@@ -1392,6 +1396,10 @@ msgstr "Kom meer te weten"
msgid "Learn more about how to fit content on a page"
msgstr "Meer informatie over hoe je inhoud op een pagina kunt aanpassen"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Laat leeg om de titel terug te zetten naar de oorspronkelijke."
@@ -2038,7 +2046,7 @@ msgstr "Weergeven"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Zijbalk<<<<<<< HEAD"
msgstr "Zijbalk"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Begin met het opstellen van uw cv vanaf nul"
msgid "Statistics"
msgstr "Statistieken"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Doorhalen"
@@ -2695,6 +2707,10 @@ msgstr "U kunt uw cv delen via een unieke openbare URL, het met een wachtwoord b
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "U kunt de passkey \"{0}\" na verwijdering niet meer gebruiken om in te loggen. Deze actie kan niet ongedaan worden gemaakt."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Uitzoomen"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Applikasjonsstatistikk"
msgid "Arabic"
msgstr "Arabisk"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Er du sikker på at du vil slette denne API-nøkkelen?"
@@ -1392,6 +1396,10 @@ msgstr "Lær mer"
msgid "Learn more about how to fit content on a page"
msgstr "Lær mer om hvordan du får innhold til å passe på en side"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "La være tom for å tilbakestille tittelen til originalen."
@@ -2038,7 +2046,7 @@ msgstr "Vis"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sidepanel<<<<<<< HEAD"
msgstr "Sidepanel"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Begynn å bygge CV-en din fra bunnen av"
msgid "Statistics"
msgstr "Statistikk"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Gjennomstreking"
@@ -2695,6 +2707,10 @@ msgstr "Du kan dele CV-en din via en unik offentlig URL, beskytte den med et pas
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Du kan ikke lenger bruke passnøkkelen \"{0}\" til å logge inn etter sletting. Denne handlingen kan ikke angres."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zoom ut"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "ଆପ୍ଲିକେସନ୍ ସଂଖ୍ୟାତ୍ମକ ତଥ୍
msgid "Arabic"
msgstr "ଆରବୀ"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "ଆପଣ ନିଶ୍ଚିତ କି ଏହି API କିକୁ ବିଲୋପ କରିବାକୁ ଚାହାଁନ୍ତି?"
@@ -1392,6 +1396,10 @@ msgstr "ଅଧିକ ଜାଣନ୍ତୁ"
msgid "Learn more about how to fit content on a page"
msgstr "ଏହି ପୃଷ୍ଠାରେ ବିଷୟବସ୍ତୁ କିପରି ଫିଟ୍ କରିବେ ବିଷୟରେ ଅଧିକ ସିଖନ୍ତୁ"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ମୂଳ ଶିରୋନାମାକୁ ପୁନସ୍ଥାପିତ କରିବା ପାଇଁ ଖାଲି ଛାଡନ୍ତୁ।"
@@ -2038,7 +2046,7 @@ msgstr "ଦେଖାନ୍ତୁ"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "ସାଇଡବାର୍<<<<<<< HEAD"
msgstr "ସାଇଡବାର୍"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "ଶୂନ୍ୟରୁ ଆପଣଙ୍କ ରେଜ୍ୟୁମେ ତି
msgid "Statistics"
msgstr "ସଂଖ୍ୟାତ୍ମକ ତଥ୍ୟ"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "ଷ୍ଟ୍ରାଇକ୍"
@@ -2695,6 +2707,10 @@ msgstr "ଆପଣ ଏକ ଅଦ୍ୱିତୀୟ ସାର୍ବଜନିକ UR
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "ବିଲୋପ କରିବା ପରେ ଆପଣ ପୁଣିଥରେ \"{0}\" ପାସକି ବ୍ୟବହାର କରି ସାଇନ୍ ଇନ୍ କରିପାରିବେ ନାହିଁ। ଏହି କାର୍ଯ୍ୟ ପୁନଃ କରିହୋଇପାରିବ ନାହିଁ।"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ଜୁଲୁ"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statystyki aplikacji"
msgid "Arabic"
msgstr "Arabski"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Czy na pewno chcesz usunąć ten klucz API?"
@@ -1392,6 +1396,10 @@ msgstr "Zobacz więcej"
msgid "Learn more about how to fit content on a page"
msgstr "Dowiedz się więcej o dopasowywaniu treści na stronie"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Pozostaw puste, aby przywrócić oryginalny tytuł."
@@ -2038,7 +2046,7 @@ msgstr "Pokaż"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Pasek boczny<<<<<<< HEAD"
msgstr "Pasek boczny"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Zacznij tworzyć swoje CV od zera"
msgid "Statistics"
msgstr "Statystyki"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Przekreślenie"
@@ -2695,6 +2707,10 @@ msgstr "Możesz udostępnić swoje CV za pomocą unikalnego publicznego adresu U
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Po usunięciu nie będziesz już mógł używać klucza dostępu \"{0}\" do logowania. Tej akcji nie można cofnąć."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Pomniejsz"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Estatísticas do aplicativo"
msgid "Arabic"
msgstr "Árabe"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Tem certeza de que deseja excluir esta chave de API?"
@@ -1392,6 +1396,10 @@ msgstr "Saiba mais"
msgid "Learn more about how to fit content on a page"
msgstr "Saiba mais sobre como ajustar o conteúdo em uma página"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Deixe vazio para redefinir o título para o original."
@@ -2038,7 +2046,7 @@ msgstr "Mostrar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra lateral<<<<<<< HEAD"
msgstr "Barra lateral"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Comece a construir seu currículo do zero"
msgid "Statistics"
msgstr "Estatísticas"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Tachar"
@@ -2695,6 +2707,10 @@ msgstr "Você pode compartilhar seu currículo por meio de um URL público exclu
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Você não poderá mais usar a chave de acesso \"{0}\" para entrar após a exclusão. Esta ação não pode ser desfeita."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Diminuir zoom"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Estatísticas da aplicação"
msgid "Arabic"
msgstr "Árabe"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Tem a certeza de que pretende eliminar esta chave API?"
@@ -1392,6 +1396,10 @@ msgstr "Saiba mais"
msgid "Learn more about how to fit content on a page"
msgstr "Saiba mais sobre como ajustar o conteúdo em uma página"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Deixe em branco para repor o título para o original."
@@ -2038,7 +2046,7 @@ msgstr "Mostrar"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Barra lateral<<<<<<< HEAD"
msgstr "Barra lateral"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Comece a criar o seu currículo do zero"
msgid "Statistics"
msgstr "Estatísticas"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Rasurar"
@@ -2695,6 +2707,10 @@ msgstr "Pode partilhar o seu currículo através de um URL público único, prot
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Após a eliminação, já não poderá usar a passkey \"{0}\" para iniciar sessão. Esta ação não pode ser anulada."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Afastar"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistici aplicație"
msgid "Arabic"
msgstr "Arabă"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Sigur doriți să ștergeți această cheie API?"
@@ -1392,6 +1396,10 @@ msgstr "Aflați mai multe"
msgid "Learn more about how to fit content on a page"
msgstr "Află mai multe despre cum să potrivești conținutul pe o pagină"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Lăsați necompletat pentru a reseta titlul la cel original."
@@ -2038,7 +2046,7 @@ msgstr "Arată"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Bară laterală<<<<<<< HEAD"
msgstr "Bară laterală"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Începeți să vă creați CV-ul de la zero"
msgid "Statistics"
msgstr "Statistici"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Tăiat"
@@ -2695,6 +2707,10 @@ msgstr "Puteți partaja CV-ul printr-un URL public unic, îl puteți proteja cu
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Nu veți mai putea folosi cheia de acces \"{0}\" pentru autentificare după ștergere. Această acțiune nu poate fi anulată."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Micșorează"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Статистика приложения"
msgid "Arabic"
msgstr "Арабский"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Вы уверены, что хотите удалить этот API-ключ?"
@@ -1392,6 +1396,10 @@ msgstr "Подробнее"
msgid "Learn more about how to fit content on a page"
msgstr "Узнайте больше о том, как разместить контент на странице"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Оставьте пустым, чтобы сбросить заголовок к исходному."
@@ -2038,7 +2046,7 @@ msgstr "Показать"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Боковая панель<<<<<<< HEAD"
msgstr "Боковая панель"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Начните делать свое резюме с нуля"
msgid "Statistics"
msgstr "Статистика"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Зачеркнутый"
@@ -2695,6 +2707,10 @@ msgstr "Вы можете поделиться резюме по уникаль
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "После удаления вы больше не сможете использовать ключ доступа «{0}» для входа. Это действие нельзя отменить."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Уменьшить"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Зулу"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Štatistiky aplikácie"
msgid "Arabic"
msgstr "Arabčina"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Naozaj chceš tento API kľúč vymazať?"
@@ -1392,6 +1396,10 @@ msgstr "Zistiť viac"
msgid "Learn more about how to fit content on a page"
msgstr "Zistite viac o tom, ako prispôsobiť obsah na stránku"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Ak necháš prázdne, názov sa vráti na pôvodný."
@@ -2038,7 +2046,7 @@ msgstr "Zobraziť"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Bočný panel<<<<<<< HEAD"
msgstr "Bočný panel"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Začni vytvárať svoj životopis od nuly"
msgid "Statistics"
msgstr "Štatistiky"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Prečiarknuté"
@@ -2695,6 +2707,10 @@ msgstr "Svoj životopis môžeš zdieľať pomocou unikátnej verejnej URL adres
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Po vymazaní už nebudeš môcť použiť prístupový kľúč \"{0}\" na prihlásenie. Túto akciu nemožno vrátiť späť."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Oddialiť"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Statistikat e aplikacionit"
msgid "Arabic"
msgstr "Arabisht"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Jeni i sigurt se dëshironi të fshini këtë API key?"
@@ -1392,6 +1396,10 @@ msgstr "Mëso më shumë"
msgid "Learn more about how to fit content on a page"
msgstr "Mësoni më shumë rreth mënyrës se si të përshtatni përmbajtjen në një faqe"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Lëreni bosh për ta rikthyer titullin në origjinal."
@@ -2038,7 +2046,7 @@ msgstr "Shfaq"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Shiriti anësor<<<<<<< HEAD"
msgstr "Shiriti anësor"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Filloni të ndërtoni CV-në tuaj nga e para"
msgid "Statistics"
msgstr "Statistikat"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Heqje"
@@ -2695,6 +2707,10 @@ msgstr "CV-në tuaj mund ta ndani përmes një URL-je publike unike, ta mbroni m
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Nuk do të mund ta përdorni më passkey-n \"{0}\" për tu kyçur pas fshirjes. Ky veprim nuk mund të zhbëhet."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zvogëlo"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Статистика апликације"
msgid "Arabic"
msgstr "Арапски"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Да ли сигурно желите да обришете овај API кључ?"
@@ -1392,6 +1396,10 @@ msgstr "Сазнај више"
msgid "Learn more about how to fit content on a page"
msgstr "Сазнајте више о томе како да прилагодите садржај страници"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Оставите празно да ресетујете на оригинални наслов."
@@ -2038,7 +2046,7 @@ msgstr "Прикажи"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Бочна трака<<<<<<< HEAD"
msgstr "Бочна трака"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Почните да креирате свој резиме од нуле
msgid "Statistics"
msgstr "Статистика"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Прецртано"
@@ -2695,6 +2707,10 @@ msgstr "Свој резиме можете поделити путем једи
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Након брисања више нећете моћи да користите приступну лозинку \"{0}\" за пријаву. Ова радња се не може опозвати."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Умањи"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Зулу"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "Applikationsstatistik"
msgid "Arabic"
msgstr "Arabiska"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Är du säker på att du vill ta bort denna API-nyckel?"
@@ -1392,6 +1396,10 @@ msgstr "Läs mer"
msgid "Learn more about how to fit content on a page"
msgstr "Läs mer om hur du anpassar innehållet på en sida"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Lämna tomt för att återställa titeln till originalet."
@@ -2038,7 +2046,7 @@ msgstr "Visa"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "Sidofält<<<<<<< HEAD"
msgstr "Sidofält"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Börja bygga ditt CV från grunden"
msgid "Statistics"
msgstr "Statistik"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Genomstrykning"
@@ -2695,6 +2707,10 @@ msgstr "Du kan dela ditt CV via en unik offentlig URL, skydda det med ett lösen
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Du kan inte längre använda passnyckeln \"{0}\" för att logga in efter att den har raderats. Denna åtgärd kan inte ångras."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "Zooma ut"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "செயலி புள்ளிவிபரங்கள்"
msgid "Arabic"
msgstr "அரபிக்"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "இந்த API விசையை நிச்சயமாக நீக்க விரும்புகிறீர்களா?"
@@ -1392,6 +1396,10 @@ msgstr "மேலும் அறிக"
msgid "Learn more about how to fit content on a page"
msgstr "ஒரு பக்கத்தில் உள்ளடக்கத்தை எப்படி பொருத்துவது என்பதைப் பற்றி மேலும் அறிந்துகொள்ளவும்"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "தலைப்பை அசல் நிலைக்குத் திருப்ப, காலியிடமாக விடவும்."
@@ -2038,7 +2046,7 @@ msgstr "காட்டு"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "சைட்பார்<<<<<<< HEAD"
msgstr "சைட்பார்"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,13 +2181,17 @@ msgstr "அடிப்படையில் இருந்து உங்க
msgid "Statistics"
msgstr "புள்ளிவிபரங்கள்"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "கோடு கிழித்தல்"
#: src/routes/_home/-sections/footer.tsx
msgid "Subreddit"
msgstr "சப் "
msgstr "சப்ரெட்டிட்"
#: src/utils/resume/section.tsx
msgid "Summary"
@@ -2695,6 +2707,10 @@ msgstr "உங்கள் ரெஸ்யூமியை தனித்து
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "நீக்கப்பட்ட பிறகு, \"{0}\" என்ற பாஸ்கியை உள்நுழைய இனி பயன்படுத்த முடியாது. இந்த செயலைக் களைந்து விட முடியாது."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "சிறிதாக்கு"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ஜூலு"
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "యాప్ గణాంకాలు"
msgid "Arabic"
msgstr "అరబిక్"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "మీరు ఖచ్చితంగా ఈ API కీని తొలగించాలనుకుంటున్నారా?"
@@ -1392,6 +1396,10 @@ msgstr "మరింత తెలుసుకోండి"
msgid "Learn more about how to fit content on a page"
msgstr "పేజీలో కంటెంట్ ని సరిపడేలా ఎలా ఏర్పాటు చేయాలో మరింత తెలుసుకోండి"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "ప్రధాన శీర్షికను పునఃస్థాపించడానికి ఖాళీగా వదిలేయండి."
@@ -2038,7 +2046,7 @@ msgstr "చూపించండి"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "స్క్రాచ్ నుండి మీ రెజ్యూమే
msgid "Statistics"
msgstr "స్టాటిస్టిక్స్"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "స్ట్రైక్"
@@ -2695,6 +2707,10 @@ msgstr "మీ రిజ్యూమ్‌ను ప్రత్యేకమై
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "తొలగించిన తరువాత మీరు ఇకపై \"{0}\" పాస్‌కీతో సైన్ ఇన్ చేయలేరు. ఈ చర్య రద్దు చేయలేనిది."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "జూమ్ అవుట్ చేయండి"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "జులు"
msgstr ""
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "สถิติของแอปพลิเคชัน"
msgid "Arabic"
msgstr "อารบิก"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบ API Key นี้?"
@@ -1392,6 +1396,10 @@ msgstr "เรียนรู้เพิ่มเติม"
msgid "Learn more about how to fit content on a page"
msgstr "เรียนรู้เพิ่มเติมเกี่ยวกับวิธีปรับเนื้อหาให้พอดีกับหน้า"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "เว้นว่างไว้เพื่อรีเซ็ตชื่อกลับเป็นค่าเดิม"
@@ -2038,7 +2046,7 @@ msgstr "แสดง"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "เริ่มสร้างเรซูเม่ตั้งแต่
msgid "Statistics"
msgstr "สถิติ"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "ขีดฆ่า"
@@ -2695,6 +2707,10 @@ msgstr "คุณสามารถแบ่งปันประวัติย
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "คุณไม่สามารถใช้กุญแจผ่าน \"{0}\" เพื่อลงชื่อเข้าใช้หลังจากลบแล้ว การกระทำนี้จะไม่สามารถย้อนกลับได้."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "ซูมออก"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "ซูลู"
msgstr ""
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "Uygulama İstatistikleri"
msgid "Arabic"
msgstr "Arapça"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Bu API anahtarını silmek istediğinizden emin misiniz?"
@@ -1392,6 +1396,10 @@ msgstr "Daha fazla bilgi"
msgid "Learn more about how to fit content on a page"
msgstr "Bir sayfaya içeriğin nasıl sığdırılacağı hakkında daha fazla bilgi edinin"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Başlığı orijinaline sıfırlamak için boş bırakın."
@@ -2038,7 +2046,7 @@ msgstr "Göster"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Özgeçmişinizi sıfırdan oluşturmaya başlayın"
msgid "Statistics"
msgstr "İstatistikler"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Üstü Çizili"
@@ -2695,6 +2707,10 @@ msgstr "Özgeçmişinizi benzersiz bir halka açık URL ile paylaşabilir, şifr
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Silindikten sonra artık \"{0}\" geçiş anahtarını kullanarak giriş yapamazsınız. Bu işlem geri alınamaz."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "Uzaklaştır"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
msgstr ""
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "Статистика заявок"
msgid "Arabic"
msgstr "Арабська"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Ви впевнені, що хочете видалити цей API ключ?"
@@ -1392,6 +1396,10 @@ msgstr "Дізнатися більше"
msgid "Learn more about how to fit content on a page"
msgstr "Дізнайтеся більше про розміщення контенту на сторінці"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Залиште порожнім, щоб повернути початкову назву."
@@ -2038,7 +2046,7 @@ msgstr "Показати"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Почати створення резюме з нуля"
msgid "Statistics"
msgstr "Статистика"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Закреслення"
@@ -2695,6 +2707,10 @@ msgstr "Ви можете поділитися резюме за унікаль
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Ви більше не зможете використовувати ключ доступу \"{0}\" для входу після видалення. Цю дію неможливо скасувати."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "Зменшити"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Зулу"
msgstr ""
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "Ilova statistikasi"
msgid "Arabic"
msgstr "Arab tili"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Haqiqatan ham bu API kalitni oʻchirmoqchimisiz?"
@@ -1392,6 +1396,10 @@ msgstr "Batafsil"
msgid "Learn more about how to fit content on a page"
msgstr "Sahifada kontentni qanday joylashtirish haqida batafsil ma'lumot oling"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Sarlavhani asl holatga qaytarish uchun bosh qoldiring."
@@ -2038,7 +2046,7 @@ msgstr "Korsatish"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Rezyumeni nolldan boshlang va yarating"
msgid "Statistics"
msgstr "Statistika"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Ustiga chizish"
@@ -2695,6 +2707,10 @@ msgstr "Rezyumeni noyob ommaviy URL orqali ulashishingiz, parol bilan himoyalash
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "\"{0}\" kaliti oʻchirilgandan song tizimga kirish uchun endi foydalanib boʻlmaydi. Bu amal qayta tiklanmaydi."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "Kichraytirish"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
msgstr ""
+18 -3
View File
@@ -297,6 +297,10 @@ msgstr "Thống kê ứng dụng"
msgid "Arabic"
msgstr "Tiếng Ả Rập"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "Bạn có chắc muốn xoá API key này không?"
@@ -1392,6 +1396,10 @@ msgstr "Tìm hiểu thêm"
msgid "Learn more about how to fit content on a page"
msgstr "Tìm hiểu thêm về cách căn chỉnh nội dung vừa trang"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "Để trống để đặt lại tiêu đề về mặc định."
@@ -2038,7 +2046,7 @@ msgstr "Hiện"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "Bắt đầu xây dựng hồ sơ từ đầu"
msgid "Statistics"
msgstr "Thống kê"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "Gạch ngang"
@@ -2695,6 +2707,10 @@ msgstr "Bạn có thể chia sẻ resume của mình qua một URL công khai du
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "Bạn không thể sử dụng passkey \"{0}\" để đăng nhập sau khi đã xoá. Hành động này không thể hoàn tác."
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2785,5 +2801,4 @@ msgstr "Thu nhỏ"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "Zulu"
msgstr ""
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "应用统计数据"
msgid "Arabic"
msgstr "阿拉伯语"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "你确定要删除此 API key 吗?"
@@ -1392,6 +1396,10 @@ msgstr "了解详情"
msgid "Learn more about how to fit content on a page"
msgstr "了解更多关于如何让内容适应页面的信息"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "留空则将标题重置为原始值。"
@@ -2038,7 +2046,7 @@ msgstr "显示"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "侧边栏<<<<<<< HEAD"
msgstr "侧边栏"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "从头开始构建你的简历"
msgid "Statistics"
msgstr "统计数据"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "删除线"
@@ -2695,6 +2707,10 @@ msgstr "你可以通过唯一的公共 URL 分享你的简历,用密码保护
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "删除后,你将无法再使用通行密钥“{0}”登录。此操作不可撤销。"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "缩小"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "祖鲁语"
+17 -2
View File
@@ -297,6 +297,10 @@ msgstr "應用程式統計資料"
msgid "Arabic"
msgstr "阿拉伯文"
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr "確定要刪除此 API Key 嗎?"
@@ -1392,6 +1396,10 @@ msgstr "瞭解更多"
msgid "Learn more about how to fit content on a page"
msgstr "深入了解如何讓內容適應頁面"
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr "留空則會將標題重設為原始值。"
@@ -2038,7 +2046,7 @@ msgstr "顯示"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "側邊欄<<<<<<< HEAD"
msgstr "側邊欄"
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2173,6 +2181,10 @@ msgstr "從零開始建立您的履歷"
msgid "Statistics"
msgstr "統計資料"
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr "刪除線"
@@ -2695,6 +2707,10 @@ msgstr "您可以透過唯一的公開 URL 分享履歷、以密碼加以保護
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr "刪除後,您將無法再使用通行金鑰「{0}」登入。此動作無法復原。"
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
@@ -2786,4 +2802,3 @@ msgstr "縮小"
#: src/utils/locale.ts
msgid "Zulu"
msgstr "祖魯語"
+17 -1
View File
@@ -292,6 +292,10 @@ msgstr ""
msgid "Arabic"
msgstr ""
#: src/hooks/use-form-blocker.tsx
msgid "Are you sure you want to close this dialog?"
msgstr ""
#: src/routes/dashboard/settings/api-keys.tsx
msgid "Are you sure you want to delete this API key?"
msgstr ""
@@ -1387,6 +1391,10 @@ msgstr ""
msgid "Learn more about how to fit content on a page"
msgstr ""
#: src/hooks/use-form-blocker.tsx
msgid "Leave"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/left/shared/section-menu.tsx
msgid "Leave empty to reset the title to the original."
msgstr ""
@@ -2033,7 +2041,7 @@ msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/pages.tsx
msgid "Sidebar"
msgstr "<<<<<<< HEAD"
msgstr ""
#: src/routes/builder/$resumeId/-sidebar/right/sections/layout/index.tsx
msgid "Sidebar Width"
@@ -2168,6 +2176,10 @@ msgstr ""
msgid "Statistics"
msgstr ""
#: src/hooks/use-form-blocker.tsx
msgid "Stay"
msgstr ""
#: src/components/input/rich-input.tsx
msgid "Strike"
msgstr ""
@@ -2690,6 +2702,10 @@ msgstr ""
msgid "You cannot use the passkey \"{0}\" anymore to sign in after deletion. This action cannot be undone."
msgstr ""
#: src/hooks/use-form-blocker.tsx
msgid "You have unsaved changes that will be lost."
msgstr ""
#: src/routes/auth/forgot-password.tsx
#: src/routes/auth/register.tsx
msgid "You've got mail!"
+19 -19
View File
@@ -31,10 +31,10 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.28",
"@ai-sdk/google": "^3.0.15",
"@ai-sdk/openai": "^3.0.21",
"@aws-sdk/client-s3": "^3.975.0",
"@ai-sdk/anthropic": "^3.0.33",
"@ai-sdk/google": "^3.0.18",
"@ai-sdk/openai": "^3.0.23",
"@aws-sdk/client-s3": "^3.980.0",
"@better-auth/core": "1.5.0-beta.10",
"@better-auth/passkey": "1.5.0-beta.10",
"@dnd-kit/core": "^6.3.1",
@@ -56,17 +56,17 @@
"@sindresorhus/slugify": "^3.0.0",
"@t3-oss/env-core": "^0.13.10",
"@tanstack/react-query": "5.90.20",
"@tanstack/react-router": "^1.157.16",
"@tanstack/react-router-ssr-query": "^1.157.16",
"@tanstack/react-start": "^1.157.16",
"@tanstack/zod-adapter": "^1.157.16",
"@tiptap/extension-highlight": "^3.17.1",
"@tiptap/extension-table": "^3.17.1",
"@tiptap/extension-text-align": "^3.17.1",
"@tiptap/pm": "^3.17.1",
"@tiptap/react": "^3.17.1",
"@tiptap/starter-kit": "^3.17.1",
"ai": "^6.0.57",
"@tanstack/react-router": "^1.157.17",
"@tanstack/react-router-ssr-query": "^1.157.17",
"@tanstack/react-start": "^1.157.17",
"@tanstack/zod-adapter": "^1.157.17",
"@tiptap/extension-highlight": "^3.18.0",
"@tiptap/extension-table": "^3.18.0",
"@tiptap/extension-text-align": "^3.18.0",
"@tiptap/pm": "^3.18.0",
"@tiptap/react": "^3.18.0",
"@tiptap/starter-kit": "^3.18.0",
"ai": "^6.0.63",
"ai-sdk-ollama": "^3.3.0",
"bcrypt": "^6.0.0",
"better-auth": "1.5.0-beta.10",
@@ -84,7 +84,7 @@
"monaco-editor": "^0.55.1",
"motion": "^12.29.2",
"nodemailer": "^7.0.13",
"pg": "^8.17.2",
"pg": "^8.18.0",
"puppeteer-core": "^24.36.1",
"qrcode.react": "^4.2.0",
"radix-ui": "^1.4.3",
@@ -92,11 +92,11 @@
"react-dom": "^19.2.4",
"react-hook-form": "^7.71.1",
"react-hotkeys-hook": "^5.2.3",
"react-resizable-panels": "^4.5.2",
"react-resizable-panels": "^4.5.6",
"react-window": "^2.2.5",
"react-zoom-pan-pinch": "^3.7.0",
"reflect-metadata": "^0.2.2",
"shadcn": "^3.7.0",
"shadcn": "^3.8.0",
"sharp": "^0.34.5",
"sonner": "^2.0.7",
"tailwind-merge": "^3.4.0",
@@ -120,7 +120,7 @@
"@tailwindcss/vite": "^4.1.18",
"@types/bcrypt": "^6.0.0",
"@types/js-cookie": "^3.0.6",
"@types/node": "^25.0.10",
"@types/node": "^25.1.0",
"@types/nodemailer": "^7.0.9",
"@types/pg": "^8.16.0",
"@types/react": "^19.2.10",
+641 -747
View File
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -14,6 +14,7 @@ import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTit
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "@/components/ui/input-group";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { authClient } from "@/integrations/auth/client";
import { type DialogProps, useDialogStore } from "../store";
@@ -45,6 +46,8 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => {
},
});
const { blockEvents } = useFormBlocker(form);
const onSubmit = async (values: FormValues) => {
const toastId = toast.loading(t`Creating your API key...`);
@@ -63,7 +66,7 @@ const CreateApiKeyForm = ({ setApiKey }: CreateApiKeyFormProps) => {
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
+4 -1
View File
@@ -11,6 +11,7 @@ import { Button } from "@/components/ui/button";
import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { authClient } from "@/integrations/auth/client";
import { type DialogProps, useDialogStore } from "../store";
@@ -41,6 +42,8 @@ export function ChangePasswordDialog(_: DialogProps<"auth.change-password">) {
},
});
const { blockEvents } = useFormBlocker(form);
const onSubmit = async (data: FormValues) => {
const toastId = toast.loading(t`Updating your password...`);
@@ -60,7 +63,7 @@ export function ChangePasswordDialog(_: DialogProps<"auth.change-password">) {
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PasswordIcon />
+4 -1
View File
@@ -11,6 +11,7 @@ import { Button } from "@/components/ui/button";
import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog";
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { authClient } from "@/integrations/auth/client";
import { type DialogProps, useDialogStore } from "../store";
@@ -32,6 +33,8 @@ export function DisableTwoFactorDialog(_: DialogProps<"auth.two-factor.disable">
},
});
const { blockEvents } = useFormBlocker(form);
const onSubmit = async (data: FormValues) => {
const toastId = toast.loading(t`Disabling two-factor authentication...`);
@@ -49,7 +52,7 @@ export function DisableTwoFactorDialog(_: DialogProps<"auth.two-factor.disable">
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<LockOpenIcon />
+14 -2
View File
@@ -16,6 +16,7 @@ import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTit
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { authClient } from "@/integrations/auth/client";
import { type DialogProps, useDialogStore } from "../store";
@@ -55,6 +56,17 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">)
},
});
const enableFormState = enableForm.formState;
const verifyFormState = verifyForm.formState;
const { blockEvents, requestClose } = useFormBlocker(enableForm, {
shouldBlock: () => {
if (step === "enable") return enableFormState.isDirty && !enableFormState.isSubmitting;
if (step === "verify") return verifyFormState.isDirty && !verifyFormState.isSubmitting;
return false;
},
});
const onEnableSubmit = async (values: EnableFormValues) => {
const toastId = toast.loading(t`Enabling two-factor authentication...`);
@@ -136,7 +148,7 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">)
};
return (
<DialogContent className="max-w-md">
<DialogContent className="max-w-md" {...blockEvents}>
<DialogHeader>
<DialogTitle>
{match(step)
@@ -257,7 +269,7 @@ export function EnableTwoFactorDialog(_: DialogProps<"auth.two-factor.enable">)
/>
<DialogFooter className="gap-x-2">
<Button type="button" variant="outline" onClick={closeDialog}>
<Button type="button" variant="outline" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
<Button type="submit">
+4 -1
View File
@@ -14,6 +14,7 @@ import { DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTit
import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { Spinner } from "@/components/ui/spinner";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { useAIStore } from "@/integrations/ai/store";
import { JSONResumeImporter } from "@/integrations/import/json-resume";
import { ReactiveResumeJSONImporter } from "@/integrations/import/reactive-resume-json";
@@ -98,6 +99,8 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
form.setValue("file", file, { shouldDirty: true });
};
const { blockEvents } = useFormBlocker(form);
const onSubmit = async (values: FormValues) => {
if (values.type === "") return;
@@ -182,7 +185,7 @@ export function ImportResumeDialog(_: DialogProps<"resume.import">) {
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<DownloadSimpleIcon />
+10 -3
View File
@@ -21,6 +21,7 @@ import {
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form";
import { Input } from "@/components/ui/input";
import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText } from "@/components/ui/input-group";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { authClient } from "@/integrations/auth/client";
import { orpc, type RouterInput } from "@/integrations/orpc/client";
import { generateId, generateRandomName, slugify } from "@/utils/string";
@@ -56,6 +57,8 @@ export function CreateResumeDialog(_: DialogProps<"resume.create">) {
form.setValue("slug", slugify(name), { shouldDirty: true });
}, [form, name]);
const { blockEvents } = useFormBlocker(form);
const onSubmit = (data: FormValues) => {
const toastId = toast.loading(t`Creating your resume...`);
@@ -100,7 +103,7 @@ export function CreateResumeDialog(_: DialogProps<"resume.create">) {
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -165,6 +168,8 @@ export function UpdateResumeDialog({ data }: DialogProps<"resume.update">) {
form.setValue("slug", slugify(name), { shouldDirty: true });
}, [form, name]);
const { blockEvents } = useFormBlocker(form);
const onSubmit = (data: FormValues) => {
const toastId = toast.loading(t`Updating your resume...`);
@@ -185,7 +190,7 @@ export function UpdateResumeDialog({ data }: DialogProps<"resume.update">) {
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -234,6 +239,8 @@ export function DuplicateResumeDialog({ data }: DialogProps<"resume.duplicate">)
form.setValue("slug", slugify(name), { shouldDirty: true });
}, [form, name]);
const { blockEvents } = useFormBlocker(form);
const onSubmit = (values: FormValues) => {
const toastId = toast.loading(t`Duplicating your resume...`);
@@ -253,7 +260,7 @@ export function DuplicateResumeDialog({ data }: DialogProps<"resume.duplicate">)
};
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { awardItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -48,8 +49,10 @@ export function CreateAwardDialog({ data }: DialogProps<"resume.sections.awards.
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreateAwardDialog({ data }: DialogProps<"resume.sections.awards.
<AwardForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdateAwardDialog({ data }: DialogProps<"resume.sections.awards.
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdateAwardDialog({ data }: DialogProps<"resume.sections.awards.
<AwardForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { certificationItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -48,8 +49,10 @@ export function CreateCertificationDialog({ data }: DialogProps<"resume.sections
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreateCertificationDialog({ data }: DialogProps<"resume.sections
<CertificationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdateCertificationDialog({ data }: DialogProps<"resume.sections
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdateCertificationDialog({ data }: DialogProps<"resume.sections
<CertificationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -10,6 +10,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { customSectionSchema, type SectionType } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -59,8 +60,10 @@ export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -74,7 +77,7 @@ export function CreateCustomSectionDialog({ data }: DialogProps<"resume.sections
<CustomSectionForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -113,8 +116,10 @@ export function UpdateCustomSectionDialog({ data }: DialogProps<"resume.sections
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -128,7 +133,7 @@ export function UpdateCustomSectionDialog({ data }: DialogProps<"resume.sections
<CustomSectionForm isUpdate />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { educationItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -51,8 +52,10 @@ export function CreateEducationDialog({ data }: DialogProps<"resume.sections.edu
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -66,7 +69,7 @@ export function CreateEducationDialog({ data }: DialogProps<"resume.sections.edu
<EducationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -115,8 +118,10 @@ export function UpdateEducationDialog({ data }: DialogProps<"resume.sections.edu
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -130,7 +135,7 @@ export function UpdateEducationDialog({ data }: DialogProps<"resume.sections.edu
<EducationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { experienceItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -49,8 +50,10 @@ export function CreateExperienceDialog({ data }: DialogProps<"resume.sections.ex
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -64,7 +67,7 @@ export function CreateExperienceDialog({ data }: DialogProps<"resume.sections.ex
<ExperienceForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -111,8 +114,10 @@ export function UpdateExperienceDialog({ data }: DialogProps<"resume.sections.ex
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -126,7 +131,7 @@ export function UpdateExperienceDialog({ data }: DialogProps<"resume.sections.ex
<ExperienceForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -13,6 +13,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { interestItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -48,8 +49,10 @@ export function CreateInterestDialog({ data }: DialogProps<"resume.sections.inte
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreateInterestDialog({ data }: DialogProps<"resume.sections.inte
<InterestForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -107,8 +110,10 @@ export function UpdateInterestDialog({ data }: DialogProps<"resume.sections.inte
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -122,7 +127,7 @@ export function UpdateInterestDialog({ data }: DialogProps<"resume.sections.inte
<InterestForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Input } from "@/components/ui/input";
import { Slider } from "@/components/ui/slider";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { languageItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -46,8 +47,10 @@ export function CreateLanguageDialog({ data }: DialogProps<"resume.sections.lang
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -61,7 +64,7 @@ export function CreateLanguageDialog({ data }: DialogProps<"resume.sections.lang
<LanguageForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -105,8 +108,10 @@ export function UpdateLanguageDialog({ data }: DialogProps<"resume.sections.lang
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -120,7 +125,7 @@ export function UpdateLanguageDialog({ data }: DialogProps<"resume.sections.lang
<LanguageForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -13,6 +13,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText } from "@/components/ui/input-group";
import { type DialogProps, useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { profileItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -49,8 +50,10 @@ export function CreateProfileDialog({ data }: DialogProps<"resume.sections.profi
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -64,7 +67,7 @@ export function CreateProfileDialog({ data }: DialogProps<"resume.sections.profi
<ProfileForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdateProfileDialog({ data }: DialogProps<"resume.sections.profi
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdateProfileDialog({ data }: DialogProps<"resume.sections.profi
<ProfileForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { projectItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -47,8 +48,10 @@ export function CreateProjectDialog({ data }: DialogProps<"resume.sections.proje
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -62,7 +65,7 @@ export function CreateProjectDialog({ data }: DialogProps<"resume.sections.proje
<ProjectForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -107,8 +110,10 @@ export function UpdateProjectDialog({ data }: DialogProps<"resume.sections.proje
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -122,7 +127,7 @@ export function UpdateProjectDialog({ data }: DialogProps<"resume.sections.proje
<ProjectForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { publicationItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -48,8 +49,10 @@ export function CreatePublicationDialog({ data }: DialogProps<"resume.sections.p
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreatePublicationDialog({ data }: DialogProps<"resume.sections.p
<PublicationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdatePublicationDialog({ data }: DialogProps<"resume.sections.p
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdatePublicationDialog({ data }: DialogProps<"resume.sections.p
<PublicationForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { referenceItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -48,8 +49,10 @@ export function CreateReferenceDialog({ data }: DialogProps<"resume.sections.ref
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreateReferenceDialog({ data }: DialogProps<"resume.sections.ref
<ReferenceForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdateReferenceDialog({ data }: DialogProps<"resume.sections.ref
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdateReferenceDialog({ data }: DialogProps<"resume.sections.ref
<ReferenceForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -15,6 +15,7 @@ import { Input } from "@/components/ui/input";
import { Slider } from "@/components/ui/slider";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { skillItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -52,8 +53,10 @@ export function CreateSkillDialog({ data }: DialogProps<"resume.sections.skills.
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -67,7 +70,7 @@ export function CreateSkillDialog({ data }: DialogProps<"resume.sections.skills.
<SkillForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -113,8 +116,10 @@ export function UpdateSkillDialog({ data }: DialogProps<"resume.sections.skills.
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -128,7 +133,7 @@ export function UpdateSkillDialog({ data }: DialogProps<"resume.sections.skills.
<SkillForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+9 -4
View File
@@ -12,6 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import type { DialogProps } from "@/dialogs/store";
import { useDialogStore } from "@/dialogs/store";
import { useFormBlocker } from "@/hooks/use-form-blocker";
import { volunteerItemSchema } from "@/schema/resume/data";
import { generateId } from "@/utils/string";
@@ -48,8 +49,10 @@ export function CreateVolunteerDialog({ data }: DialogProps<"resume.sections.vol
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PlusIcon />
@@ -63,7 +66,7 @@ export function CreateVolunteerDialog({ data }: DialogProps<"resume.sections.vol
<VolunteerForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
@@ -109,8 +112,10 @@ export function UpdateVolunteerDialog({ data }: DialogProps<"resume.sections.vol
closeDialog();
};
const { blockEvents, requestClose } = useFormBlocker(form);
return (
<DialogContent>
<DialogContent {...blockEvents}>
<DialogHeader>
<DialogTitle className="flex items-center gap-x-2">
<PencilSimpleLineIcon />
@@ -124,7 +129,7 @@ export function UpdateVolunteerDialog({ data }: DialogProps<"resume.sections.vol
<VolunteerForm />
<DialogFooter className="sm:col-span-full">
<Button variant="ghost" onClick={closeDialog}>
<Button variant="ghost" onClick={requestClose}>
<Trans>Cancel</Trans>
</Button>
+60
View File
@@ -0,0 +1,60 @@
import { t } from "@lingui/core/macro";
import { useCallback } from "react";
import type { FieldValues, UseFormReturn } from "react-hook-form";
import { useDialogStore } from "@/dialogs/store";
import { useConfirm } from "@/hooks/use-confirm";
interface UseFormBlockerOptions {
shouldBlock?: () => boolean;
}
export function useFormBlocker<T extends FieldValues>(form: UseFormReturn<T>, options?: UseFormBlockerOptions) {
const confirm = useConfirm();
const closeDialog = useDialogStore((state) => state.closeDialog);
// Subscribe to formState changes by reading during render (react-hook-form requirement)
const { isDirty, isSubmitting } = form.formState;
const shouldBlock = useCallback(() => {
// Use custom shouldBlock if provided, otherwise use default form state check
if (options?.shouldBlock) return options.shouldBlock();
return isDirty && !isSubmitting;
}, [options, isDirty, isSubmitting]);
const requestClose = useCallback(async () => {
if (!shouldBlock()) {
closeDialog();
return;
}
const confirmed = await confirm(t`Are you sure you want to close this dialog?`, {
description: t`You have unsaved changes that will be lost.`,
confirmText: t`Leave`,
cancelText: t`Stay`,
});
if (confirmed) closeDialog();
}, [shouldBlock, closeDialog, confirm]);
const blockEvents = {
onEscapeKeyDown: (event: KeyboardEvent) => {
if (shouldBlock()) {
event.preventDefault();
requestClose();
}
},
onPointerDownOutside: (event: Event) => {
if (shouldBlock()) {
event.preventDefault();
requestClose();
}
},
onInteractOutside: (event: Event) => {
if (shouldBlock()) {
event.preventDefault();
}
},
};
return { requestClose, blockEvents };
}
+3 -3
View File
@@ -94,7 +94,7 @@ function BuilderLayout({ initialLayout, ...props }: BuilderLayoutProps) {
<div className="flex h-svh flex-col" {...props}>
<BuilderHeader />
<ResizableGroup orientation="horizontal" onLayoutChange={onLayoutChange} className="mt-14 flex-1">
<ResizableGroup orientation="horizontal" className="mt-14 flex-1" onLayoutChange={onLayoutChange}>
<ResizablePanel
collapsible
id="left"
@@ -107,11 +107,11 @@ function BuilderLayout({ initialLayout, ...props }: BuilderLayoutProps) {
>
<BuilderSidebarLeft />
</ResizablePanel>
<ResizableSeparator withHandle className="z-20 border-r" />
<ResizableSeparator withHandle className="z-20 border-s" />
<ResizablePanel id="artboard" defaultSize={artboardSize} className="h-[calc(100svh-3.5rem)]">
<Outlet />
</ResizablePanel>
<ResizableSeparator withHandle className="z-20 border-l" />
<ResizableSeparator withHandle className="z-20 border-e" />
<ResizablePanel
collapsible
id="right"