fixes #2733: Bug where date range is displayed on separate line (#2862)

This commit is contained in:
Amruth Pillai
2026-04-04 12:03:09 +02:00
committed by GitHub
parent 9332e1e3ff
commit 923f5f6173
68 changed files with 2042 additions and 1704 deletions
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Vaardighede kon nie gesinchroniseer word nie"
msgid "Features"
msgstr "Funksies"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filter volgens"
@@ -2167,9 +2168,9 @@ msgstr "Verfris"
msgid "Remember your password? <0/>"
msgstr "Onthou jy jou wagwoord? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Afgeleë"
@@ -2517,6 +2518,7 @@ msgstr "Slak"
msgid "Something went wrong. Please try again."
msgstr "Iets het verkeerd geloop. Probeer asseblief weer."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sorteer volgens"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr ""
msgid "Features"
msgstr "መለያዎች"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "መመርመሪያ በ"
@@ -2167,9 +2168,9 @@ msgstr "ዳስ አድርግ"
msgid "Remember your password? <0/>"
msgstr "የይለፍ ቃልዎን ያስታውሳሉ? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "የተሳሳተ ነገር ተፈጥሯል። እባክዎን ደግመው ይሞክሩ።"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "መደብ በ"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "فشل في مزامنة المهارات"
msgid "Features"
msgstr "الميزات"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "تصفية حسب"
@@ -2167,9 +2168,9 @@ msgstr "تحديث"
msgid "Remember your password? <0/>"
msgstr "تتذكر كلمة المرور؟ <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "جهاز التحكم عن بُعد"
@@ -2517,6 +2518,7 @@ msgstr "المعرّف النصي (Slug)"
msgid "Something went wrong. Please try again."
msgstr "حدث خطأ ما. يُرجى المحاولة مرة أخرى."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "فرز حسب"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Bacarıqları sinxronlaşdırmaq mümkün olmadı"
msgid "Features"
msgstr "Xüsusiyyətlər"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrlə"
@@ -2167,9 +2168,9 @@ msgstr "Yenilə"
msgid "Remember your password? <0/>"
msgstr "Şifrənizi xatırlayırsınız? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Uzaqdan"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Nəsə səhv getdi. Zəhmət olmasa, yenidən cəhd edin."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sırala"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Неуспешно синхронизиране на умения"
msgid "Features"
msgstr "Функции"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Филтриране по"
@@ -2167,9 +2168,9 @@ msgstr "Опресняване"
msgid "Remember your password? <0/>"
msgstr "Спомняте ли си паролата? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Отдалечен"
@@ -2517,6 +2518,7 @@ msgstr "Слъг"
msgid "Something went wrong. Please try again."
msgstr "Нещо се обърка. Моля, опитайте отново."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Сортиране по"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "দক্ষতা সিঙ্ক করতে ব্যর্থ হ
msgid "Features"
msgstr "বৈশিষ্ট্যসমূহ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ফিল্টার করুন"
@@ -2167,9 +2168,9 @@ msgstr "রিফ্রেশ"
msgid "Remember your password? <0/>"
msgstr "আপনার পাসওয়ার্ড মনে আছে? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "দূরবর্তী"
@@ -2517,6 +2518,7 @@ msgstr "স্লাগ"
msgid "Something went wrong. Please try again."
msgstr "কিছু একটা ভুল হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "সর্ট করুন"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Sincronització d'habilitats fallida"
msgid "Features"
msgstr "Funcions"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtra per"
@@ -2167,9 +2168,9 @@ msgstr "Actualitza"
msgid "Remember your password? <0/>"
msgstr "Recordeu la contrasenya? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "A distància"
@@ -2517,6 +2518,7 @@ msgstr "Identificador llegible (slug)"
msgid "Something went wrong. Please try again."
msgstr "Alguna cosa ha anat malament. Torna-ho a provar."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordena per"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Nepodařilo se synchronizovat dovednosti"
msgid "Features"
msgstr "Funkce"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrovat podle"
@@ -2167,9 +2168,9 @@ msgstr "Obnovit"
msgid "Remember your password? <0/>"
msgstr "Vzpomínáte si na heslo? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Vzdálený"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Něco se pokazilo. Zkuste to prosím znovu."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Seřadit podle"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Kunne ikke synkronisere færdigheder"
msgid "Features"
msgstr "Funktioner"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrér efter"
@@ -2167,9 +2168,9 @@ msgstr "Opdater"
msgid "Remember your password? <0/>"
msgstr "Husker du din adgangskode? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Fjernbetjening"
@@ -2517,6 +2518,7 @@ msgstr "URL-segment"
msgid "Something went wrong. Please try again."
msgstr "Noget gik galt. Prøv igen."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sortér efter"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Synchronisierung der Fähigkeiten fehlgeschlagen"
msgid "Features"
msgstr "Funktionen"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtern nach"
@@ -2167,9 +2168,9 @@ msgstr "Aktualisieren"
msgid "Remember your password? <0/>"
msgstr "Passwort noch parat? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Fernbedienung"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sortieren nach"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Αποτυχία συγχρονισμού δεξιοτήτων"
msgid "Features"
msgstr "Λειτουργίες"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Φιλτράρισμα κατά"
@@ -2167,9 +2168,9 @@ msgstr "Ανανέωση"
msgid "Remember your password? <0/>"
msgstr "Θυμάστε τον κωδικό σας; <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Απομακρυσμένο"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Κάτι πήγε στραβά. Παρακαλώ δοκιμάστε ξανά."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ταξινόμηση κατά"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Failed to sync skills"
msgid "Features"
msgstr "Features"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filter by"
@@ -2167,9 +2168,9 @@ msgstr "Refresh"
msgid "Remember your password? <0/>"
msgstr "Remember your password? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remote"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Something went wrong. Please try again."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sort by"
+3 -1
View File
@@ -1229,6 +1229,7 @@ msgstr "Failed to sync skills"
msgid "Features"
msgstr "Features"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filter by"
@@ -2162,9 +2163,9 @@ msgstr "Refresh"
msgid "Remember your password? <0/>"
msgstr "Remember your password? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remote"
@@ -2512,6 +2513,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Something went wrong. Please try again."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sort by"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Fallo en la sincronización de habilidades"
msgid "Features"
msgstr "Funciones"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrar por"
@@ -2167,9 +2168,9 @@ msgstr "Actualizar"
msgid "Remember your password? <0/>"
msgstr "¿Recuerdas tu contraseña? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remoto"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Algo salió mal. Vuelve a intentarlo."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordenar por"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "همگام‌سازی مهارت‌ها ناموفق بود"
msgid "Features"
msgstr "امکانات"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "فیلتر بر اساس"
@@ -2167,9 +2168,9 @@ msgstr "تازه‌سازی"
msgid "Remember your password? <0/>"
msgstr "رمز عبور را به خاطر دارید؟ <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "از راه دور"
@@ -2517,6 +2518,7 @@ msgstr "نام یکتا"
msgid "Something went wrong. Please try again."
msgstr "مشکلی پیش آمد. لطفاً دوباره تلاش کنید."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "مرتب‌سازی بر اساس"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Taitojen synkronointi epäonnistui"
msgid "Features"
msgstr "Ominaisuudet"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Suodata"
@@ -2167,9 +2168,9 @@ msgstr "Päivitä"
msgid "Remember your password? <0/>"
msgstr "Muistatko salasanasi? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Kaukosäädin"
@@ -2517,6 +2518,7 @@ msgstr "Polkutunnus"
msgid "Something went wrong. Please try again."
msgstr "Jokin meni pieleen. Yritä uudelleen."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Lajittele"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Échec de la synchronisation des compétences"
msgid "Features"
msgstr "Fonctionnalités"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrer par"
@@ -2167,9 +2168,9 @@ msgstr "Actualiser"
msgid "Remember your password? <0/>"
msgstr "Vous vous souvenez de votre mot de passe ? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "A distance"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Une erreur s'est produite. Veuillez réessayer."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Trier par"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "לא הצליח לסנכרן מיומנויות"
msgid "Features"
msgstr "יכולות"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "סינון לפי"
@@ -2167,9 +2168,9 @@ msgstr "רענון"
msgid "Remember your password? <0/>"
msgstr "זוכר את הסיסמה? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "מרחוק"
@@ -2517,6 +2518,7 @@ msgstr "שם ייצוגי"
msgid "Something went wrong. Please try again."
msgstr "משהו השתבש. נא לנסות שוב."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "מיון לפי"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "कौशल सिंक करने में असफल"
msgid "Features"
msgstr "विशेषताएँ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "फ़िल्टर करें"
@@ -2167,9 +2168,9 @@ msgstr "रिफ़्रेश"
msgid "Remember your password? <0/>"
msgstr "अपना पासवर्ड याद है? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "दूरस्थ"
@@ -2517,6 +2518,7 @@ msgstr "काउंटर"
msgid "Something went wrong. Please try again."
msgstr "कुछ गड़बड़ हो गई। कृपया फिर से प्रयास करें।"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "क्रमबद्ध करें"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Nem sikerült szinkronizálni a készségeket"
msgid "Features"
msgstr "Funkciók"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Szűrés alapja"
@@ -2167,9 +2168,9 @@ msgstr "Frissítés"
msgid "Remember your password? <0/>"
msgstr "Emlékszik a jelszavára? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Távoli"
@@ -2517,6 +2518,7 @@ msgstr "Keresőbarát azonosító"
msgid "Something went wrong. Please try again."
msgstr "Valami hiba történt. Kérjük, próbáld újra."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Rendezés alapja"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Gagal menyinkronkan keterampilan"
msgid "Features"
msgstr "Fitur"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filter berdasarkan"
@@ -2167,9 +2168,9 @@ msgstr "Muat Ulang"
msgid "Remember your password? <0/>"
msgstr "Ingat kata sandi Anda? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Jarak jauh"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Terjadi sesuatu yang salah. Silakan coba lagi."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Urutkan berdasarkan"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Impossibile sincronizzare le competenze"
msgid "Features"
msgstr "Funzionalità"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtra per"
@@ -2167,9 +2168,9 @@ msgstr "Aggiorna"
msgid "Remember your password? <0/>"
msgstr "Ricordi la tua password? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remoto"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Qualcosa è andato storto. Riprova."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordina per"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "スキルの同期に失敗"
msgid "Features"
msgstr "機能"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "絞り込み条件"
@@ -2167,9 +2168,9 @@ msgstr "再読み込み"
msgid "Remember your password? <0/>"
msgstr "パスワードを思い出しましたか? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "リモート"
@@ -2517,6 +2518,7 @@ msgstr "スラッグ"
msgid "Something went wrong. Please try again."
msgstr "問題が発生しました。もう一度お試しください。"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "並べ替え条件"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr ""
msgid "Features"
msgstr "មុខងារ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ត្រង​តាម"
@@ -2167,9 +2168,9 @@ msgstr "ផ្ទៀងផ្ទាត់​ម្ដងទៀត"
msgid "Remember your password? <0/>"
msgstr "ចាំពាក្យសម្ងាត់របស់អ្នក? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "មាន​អ្វីមួយ​ខុសប្រក្រតី។ សូម​ព្យាយាម​ម្ដង​ទៀត។"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "តម្រៀប​តាម"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr ""
msgid "Features"
msgstr "ವೈಶಿಷ್ಟ್ಯಗಳು"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ಫಿಲ್ಟರ್ ಆಧಾರಿತವಾಗಿ"
@@ -2167,9 +2168,9 @@ msgstr "ರಿಫ್ರೆಶ್ ಮಾಡಿ"
msgid "Remember your password? <0/>"
msgstr "ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ನೆನಪಿದೆಯೇ? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2517,6 +2518,7 @@ msgstr "ಸ್ಲಗ್"
msgid "Something went wrong. Please try again."
msgstr "ಏನೋ ತಪ್ಪಾಗಿದೆ. ದಯವಿಟ್ಟು ಮರುಪ್ರಯತ್ನಿಸಿ."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "ವಿನ್ಯಾಸ ಆಧಾರದ ಮೇಲೆ ವಿಂಗಡಿಸಿ"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "스킬 동기화에 실패했습니다."
msgid "Features"
msgstr "기능"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "다음 기준으로 필터링"
@@ -2167,9 +2168,9 @@ msgstr "새로고침"
msgid "Remember your password? <0/>"
msgstr "비밀번호가 기억나시나요? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "원격"
@@ -2517,6 +2518,7 @@ msgstr "슬러그"
msgid "Something went wrong. Please try again."
msgstr "문제가 발생했습니다. 다시 시도해 주세요."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "정렬 기준"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Nepavyko sinchronizuoti įgūdžių"
msgid "Features"
msgstr "Funkcijos"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtruoti pagal"
@@ -2167,9 +2168,9 @@ msgstr "Perkrauti"
msgid "Remember your password? <0/>"
msgstr "Prisimenate slaptažodį? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Nuotolinis"
@@ -2517,6 +2518,7 @@ msgstr "Nuorodos dalis"
msgid "Something went wrong. Please try again."
msgstr "Kažkas nepavyko. Bandykite dar kartą."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Rikiuoti pagal"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Neizdevās sinhronizēt prasmes"
msgid "Features"
msgstr "Funkcijas"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrēt pēc"
@@ -2167,9 +2168,9 @@ msgstr "Atsvaidzināt"
msgid "Remember your password? <0/>"
msgstr "Atceraties paroli? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Tālvadības pults"
@@ -2517,6 +2518,7 @@ msgstr "Tīmekļa adrese (slug)"
msgid "Something went wrong. Please try again."
msgstr "Kaut kas nogāja greizi. Lūdzu, mēģiniet vēlreiz."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Kārtot pēc"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "നൈപുണ്യങ്ങൾ സിങ്ക് ചെയ്യു
msgid "Features"
msgstr "സവിശേഷതകൾ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ഫിൽറ്റർ ചെയ്യുക"
@@ -2167,9 +2168,9 @@ msgstr "റിഫ്രെഷ് ചെയ്യുക"
msgid "Remember your password? <0/>"
msgstr "നിങ്ങളുടെ പാസ്‌വേഡ് ഓർമ്മയുണ്ടോ? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "ദൂരസ്ഥ"
@@ -2517,6 +2518,7 @@ msgstr "സ്ലഗ്"
msgid "Something went wrong. Please try again."
msgstr "എന്തോ പിശക് സംഭവിച്ചു. ദയവായി വീണ്ടും ശ്രമിക്കുക."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "സോർട്ട് ചെയ്യുക"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "कौशल्ये समक्रमित करण्यात अ
msgid "Features"
msgstr "वैशिष्ट्ये"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "यावरून फिल्टर करा"
@@ -2167,9 +2168,9 @@ msgstr "ताजेतवाने करा"
msgid "Remember your password? <0/>"
msgstr "तुमचा पासवर्ड आठवतो? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "दूरस्थ"
@@ -2517,6 +2518,7 @@ msgstr "युआरएल"
msgid "Something went wrong. Please try again."
msgstr "काही तरी चूक झाली. कृपया पुन्हा प्रयत्न करा."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "यावरून क्रम लावा"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Gagal menyegerakkan kemahiran"
msgid "Features"
msgstr "Ciri"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Tapis mengikut"
@@ -2167,9 +2168,9 @@ msgstr "Muat semula"
msgid "Remember your password? <0/>"
msgstr "Ingat kata laluan anda? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Jauh"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Ada sesuatu yang tidak kena. Sila cuba lagi."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Isih mengikut"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "कौशलहरू सिङ्क गर्न असफल भय
msgid "Features"
msgstr "विशेषताहरू"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "यसद्वारा फिल्टर गर्नुहोस्"
@@ -2167,9 +2168,9 @@ msgstr "रिफ्रेस गर्नुहोस्"
msgid "Remember your password? <0/>"
msgstr "पासवर्ड सम्झनुभयो? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "दूरस्थ"
@@ -2517,6 +2518,7 @@ msgstr "स्लग"
msgid "Something went wrong. Please try again."
msgstr "केही समस्या भयो। कृपया पुनः प्रयास गर्नुहोस्।"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "यसअनुसार क्रमबद्ध गर्नुहोस्"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Synchronisatie van vaardigheden mislukt"
msgid "Features"
msgstr "Functies"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filteren op"
@@ -2167,9 +2168,9 @@ msgstr "Vernieuwen"
msgid "Remember your password? <0/>"
msgstr "Wachtwoord nog weten? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Op afstand"
@@ -2517,6 +2518,7 @@ msgstr "Korte naam"
msgid "Something went wrong. Please try again."
msgstr "Er is iets misgegaan. Probeer het alstublieft opnieuw."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sorteren op"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr ""
msgid "Features"
msgstr "Funksjoner"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrer etter"
@@ -2167,9 +2168,9 @@ msgstr "Oppdater"
msgid "Remember your password? <0/>"
msgstr "Husker du passordet ditt? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2517,6 +2518,7 @@ msgstr "Forkortelse"
msgid "Something went wrong. Please try again."
msgstr "Noe gikk galt. Vennligst prøv igjen."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sorter etter"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr ""
msgid "Features"
msgstr "ବିଶେଷତାଗୁଡିକ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ଏହା ଦ୍ୱାରା ଫିଲ୍ଟର୍ କରନ୍ତୁ"
@@ -2167,9 +2168,9 @@ msgstr "ରିଫ୍ରେଶ କରନ୍ତୁ"
msgid "Remember your password? <0/>"
msgstr "ଆପଣଙ୍କ ପାସୱାର୍ଡ ମନେ ଅଛି? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2517,6 +2518,7 @@ msgstr "ସ୍ଲଗ୍"
msgid "Something went wrong. Please try again."
msgstr "କିଛି ଭୁଲ୍ ହୋଇଛି। ଦୟାକରି ପୁନଃ ଚେଷ୍ଟା କରନ୍ତୁ।"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "ଏହା ଦ୍ୱାରା ସଜାଇବେ"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Nie udało się zsynchronizować umiejętności"
msgid "Features"
msgstr "Funkcje"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtruj według"
@@ -2167,9 +2168,9 @@ msgstr "Odśwież"
msgid "Remember your password? <0/>"
msgstr "Pamiętasz hasło? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Zdalny"
@@ -2517,6 +2518,7 @@ msgstr "Krótka nazwa"
msgid "Something went wrong. Please try again."
msgstr "Coś poszło nie tak. Spróbuj ponownie."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sortuj według"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Falha na sincronização de habilidades"
msgid "Features"
msgstr "Recursos"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrar por"
@@ -2167,9 +2168,9 @@ msgstr "Atualizar"
msgid "Remember your password? <0/>"
msgstr "Lembrou sua senha? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remoto"
@@ -2517,6 +2518,7 @@ msgstr "Permalink"
msgid "Something went wrong. Please try again."
msgstr "Algo deu errado. Tente novamente."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordenar por"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Falha na sincronização de competências"
msgid "Features"
msgstr "Funcionalidades"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrar por"
@@ -2167,9 +2168,9 @@ msgstr "Recarregar"
msgid "Remember your password? <0/>"
msgstr "Lembra-se da sua palavra-passe? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Remoto"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Algo correu mal. Tente novamente."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Ordenar por"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "A eșuat sincronizarea competențelor"
msgid "Features"
msgstr "Funcționalități"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrați după"
@@ -2167,9 +2168,9 @@ msgstr "Reîncarcă"
msgid "Remember your password? <0/>"
msgstr "Îți amintești parola? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "La distanță"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Ceva nu a funcționat. Vă rugăm să încercați din nou."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sortați după"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Не удалось синхронизировать навыки"
msgid "Features"
msgstr "Возможности"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Фильтровать по"
@@ -2167,9 +2168,9 @@ msgstr "Обновить"
msgid "Remember your password? <0/>"
msgstr "Вспомнили пароль? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Удаленный"
@@ -2517,6 +2518,7 @@ msgstr "URL"
msgid "Something went wrong. Please try again."
msgstr "Что-то пошло не так. Пожалуйста, попробуйте еще раз."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Сортировать по"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Nepodarilo sa synchronizovať zručnosti"
msgid "Features"
msgstr "Funkcie"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrovať podľa"
@@ -2167,9 +2168,9 @@ msgstr "Obnoviť"
msgid "Remember your password? <0/>"
msgstr "Pamätáte si heslo? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Vzdialená adresa"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Niečo sa pokazilo. Skús to, prosím, znova."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Zoradiť podľa"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Ni uspelo sinhronizirati veščin"
msgid "Features"
msgstr "Funkcionalnosti"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtriraj po"
@@ -2167,9 +2168,9 @@ msgstr "Osveži"
msgid "Remember your password? <0/>"
msgstr ""
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Oddaljena stran"
@@ -2517,6 +2518,7 @@ msgstr "Polž"
msgid "Something went wrong. Please try again."
msgstr "Nekaj je šlo narobe. Prosimo, poskusite znova."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Razvrsti po"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Dështoi sinkronizimi i aftësive"
msgid "Features"
msgstr "Veçori"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtro sipas"
@@ -2167,9 +2168,9 @@ msgstr "Rifresko"
msgid "Remember your password? <0/>"
msgstr "Ju kujtohet fjalëkalimi? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Në distancë"
@@ -2517,6 +2518,7 @@ msgstr "Linku i normalizuar"
msgid "Something went wrong. Please try again."
msgstr "Diçka shkoi keq. Ju lutemi provoni përsëri."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Rendit sipas"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Синхронизација вештина није успела"
msgid "Features"
msgstr "Функције"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Филтрирај по"
@@ -2167,9 +2168,9 @@ msgstr "Освежи"
msgid "Remember your password? <0/>"
msgstr "Сећате се лозинке? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Даљински"
@@ -2517,6 +2518,7 @@ msgstr "Идентификатор (slug)"
msgid "Something went wrong. Please try again."
msgstr "Нешто је пошло наопако. Покушајте поново."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Сортирај по"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Misslyckades med att synkronisera färdigheter"
msgid "Features"
msgstr "Funktioner"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrera efter"
@@ -2167,9 +2168,9 @@ msgstr "Uppdatera"
msgid "Remember your password? <0/>"
msgstr "Kommer du ihåg ditt lösenord? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Fjärrkontroll"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Något gick fel. Försök igen."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sortera efter"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "திறன்களை ஒத்திசைக்கத் தவற
msgid "Features"
msgstr "அம்சங்கள்"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "இதன்படி வடிகட்டு"
@@ -2167,9 +2168,9 @@ msgstr "மீண்டும் ஏற்று"
msgid "Remember your password? <0/>"
msgstr "உங்கள் கடவுச்சொல் நினைவிருக்கிறதா? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "தொலைநிலை"
@@ -2517,6 +2518,7 @@ msgstr "ஸ்லக்"
msgid "Something went wrong. Please try again."
msgstr "ஏதோ தவறு நடந்துள்ளது. தயவுசெய்து மீண்டும் முயற்சிக்கவும்."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "இதன்படி வரிசைப்படுத்து"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "నైపుణ్యాలను సింక్ చేయడంలో
msgid "Features"
msgstr "ఫీచర్లు"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "ద్వారా ఫిల్టర్ చేయండి"
@@ -2167,9 +2168,9 @@ msgstr "రిఫ్రెష్ చేయండి"
msgid "Remember your password? <0/>"
msgstr "మీ పాస్‌వర్డ్ గుర్తుందా? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "రిమోట్"
@@ -2517,6 +2518,7 @@ msgstr "స్లగ్"
msgid "Something went wrong. Please try again."
msgstr "ఏదో తప్పు జరిగింది. దయచేసి మళ్లీ ప్రయత్నించండి."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "సორტ్ చేయండి"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "ไม่สามารถซิงค์ทักษะได้"
msgid "Features"
msgstr "คุณสมบัติ"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "กรองโดย"
@@ -2167,9 +2168,9 @@ msgstr "รีเฟรช"
msgid "Remember your password? <0/>"
msgstr "จำรหัสผ่านได้? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "ระยะไกล"
@@ -2517,6 +2518,7 @@ msgstr "ชื่อ"
msgid "Something went wrong. Please try again."
msgstr "เกิดข้อผิดพลาดบางอย่าง กรุณาลองใหม่อีกครั้ง"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "เรียงตาม"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Beceriler senkronize edilemedi"
msgid "Features"
msgstr "Özellikler"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Filtrele"
@@ -2167,9 +2168,9 @@ msgstr "Yenile"
msgid "Remember your password? <0/>"
msgstr "Şifrenizi hatırladınız mı? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Uzaktan Kumanda"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Bir hata oluştu. Lütfen tekrar deneyin."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sırala"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Не вдалося синхронізувати навички"
msgid "Features"
msgstr "Функції"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Фільтрувати за"
@@ -2167,9 +2168,9 @@ msgstr "Оновити"
msgid "Remember your password? <0/>"
msgstr "Пригадали пароль? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Пульт дистанційного керування"
@@ -2517,6 +2518,7 @@ msgstr "Посилання"
msgid "Something went wrong. Please try again."
msgstr "Щось пішло не так. Будь ласка, спробуйте ще раз."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Сортувати за"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Mahoratlarni sinxronlashtirish muvaffaqiyatsiz bo'ldi"
msgid "Features"
msgstr "Xususiyatlar"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Saralash"
@@ -2167,9 +2168,9 @@ msgstr "Yangilash"
msgid "Remember your password? <0/>"
msgstr "Parolingizni eslaysizmi? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Masofaviy"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Nimadir xato ketdi. Iltimos, qayta urinib koʻring."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Saralash boʻyicha"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "Không đồng bộ hóa được các kỹ năng"
msgid "Features"
msgstr "Tính năng"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "Lọc theo"
@@ -2167,9 +2168,9 @@ msgstr "Làm mới"
msgid "Remember your password? <0/>"
msgstr "Nhớ mật khẩu? <0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "Từ xa"
@@ -2517,6 +2518,7 @@ msgstr "Slug"
msgid "Something went wrong. Please try again."
msgstr "Đã xảy ra lỗi. Vui lòng thử lại."
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "Sắp xếp theo"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "同步技能失败"
msgid "Features"
msgstr "功能"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "筛选条件"
@@ -2167,9 +2168,9 @@ msgstr "刷新"
msgid "Remember your password? <0/>"
msgstr "记得密码?<0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "远程"
@@ -2517,6 +2518,7 @@ msgstr "短链接"
msgid "Something went wrong. Please try again."
msgstr "出现了一些问题。请重试。"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "排序方式"
+3 -1
View File
@@ -1234,6 +1234,7 @@ msgstr "同步技能失敗"
msgid "Features"
msgstr "功能"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr "篩選條件"
@@ -2167,9 +2168,9 @@ msgstr "重新整理"
msgid "Remember your password? <0/>"
msgstr "記得密碼?<0/>"
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr "遙控"
@@ -2517,6 +2518,7 @@ msgstr "標示碼"
msgid "Something went wrong. Please try again."
msgstr "發生錯誤。請再試一次。"
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr "排序方式"
+3 -1
View File
@@ -1229,6 +1229,7 @@ msgstr ""
msgid "Features"
msgstr ""
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Filter by"
msgstr ""
@@ -2162,9 +2163,9 @@ msgstr ""
msgid "Remember your password? <0/>"
msgstr ""
#: src/routes/dashboard/job-search/-components/job-card.tsx
#: src/routes/dashboard/job-search/-components/job-detail.tsx
#: src/routes/dashboard/job-search/-components/search-filters.tsx
#: src/routes/dashboard/job-search/index.tsx
msgid "Remote"
msgstr ""
@@ -2512,6 +2513,7 @@ msgstr ""
msgid "Something went wrong. Please try again."
msgstr ""
#: src/routes/dashboard/resumes/index.tsx
#: src/routes/dashboard/resumes/index.tsx
msgid "Sort by"
msgstr ""
+22 -22
View File
@@ -35,10 +35,10 @@
"typecheck": "tsgo --noEmit"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.64",
"@ai-sdk/google": "^3.0.55",
"@ai-sdk/openai": "^3.0.49",
"@aws-sdk/client-s3": "^3.1022.0",
"@ai-sdk/anthropic": "^3.0.66",
"@ai-sdk/google": "^3.0.58",
"@ai-sdk/openai": "^3.0.50",
"@aws-sdk/client-s3": "^3.1024.0",
"@base-ui/react": "^1.3.0",
"@better-auth/api-key": "^1.5.6",
"@better-auth/drizzle-adapter": "^1.5.6",
@@ -63,20 +63,20 @@
"@phosphor-icons/web": "^2.1.2",
"@sindresorhus/slugify": "^3.0.0",
"@t3-oss/env-core": "^0.13.11",
"@tanstack/react-query": "^5.96.1",
"@tanstack/react-query": "^5.96.2",
"@tanstack/react-router": "^1.168.10",
"@tanstack/react-router-ssr-query": "^1.166.10",
"@tanstack/react-start": "^1.167.16",
"@tanstack/zod-adapter": "^1.166.9",
"@tiptap/extension-highlight": "^3.22.0",
"@tiptap/extension-table": "^3.22.0",
"@tiptap/extension-text-align": "^3.22.0",
"@tiptap/pm": "^3.22.0",
"@tiptap/react": "^3.22.0",
"@tiptap/starter-kit": "^3.22.0",
"@tiptap/extension-highlight": "^3.22.1",
"@tiptap/extension-table": "^3.22.1",
"@tiptap/extension-text-align": "^3.22.1",
"@tiptap/pm": "^3.22.1",
"@tiptap/react": "^3.22.1",
"@tiptap/starter-kit": "^3.22.1",
"@uiw/color-convert": "^2.9.6",
"@uiw/react-color-colorful": "^2.9.6",
"ai": "^6.0.142",
"ai": "^6.0.146",
"ai-sdk-ollama": "^3.8.2",
"bcrypt": "^6.0.0",
"better-auth": "^1.5.6",
@@ -86,11 +86,11 @@
"docx": "^9.6.1",
"dompurify": "^3.3.3",
"drizzle-orm": "1.0.0-beta.20",
"drizzle-zod": "^1.0.0-beta.14-a36c63d",
"drizzle-zod": "1.0.0-beta.9-e89174b",
"es-toolkit": "^1.45.1",
"fast-deep-equal": "^3.1.3",
"fast-json-patch": "^3.1.1",
"fuse.js": "^7.1.0",
"fuse.js": "^7.2.0",
"immer": "^11.1.4",
"js-cookie": "^3.0.5",
"jsonrepair": "^3.13.3",
@@ -102,15 +102,15 @@
"qrcode.react": "^4.2.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-hook-form": "^7.72.0",
"react-hook-form": "^7.72.1",
"react-hotkeys-hook": "^5.2.4",
"react-resizable-panels": "^4.8.0",
"react-resizable-panels": "^4.9.0",
"react-window": "^2.2.7",
"react-zoom-pan-pinch": "^3.7.0",
"shadcn": "^4.1.2",
"sharp": "^0.34.5",
"sonner": "^2.0.7",
"srvx": "^0.11.14",
"srvx": "^0.11.15",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.2",
"ts-pattern": "^5.9.0",
@@ -133,27 +133,27 @@
"@testing-library/react": "^16.3.2",
"@types/bcrypt": "^6.0.0",
"@types/js-cookie": "^3.0.6",
"@types/node": "^25.5.0",
"@types/node": "^25.5.2",
"@types/nodemailer": "^7.0.11",
"@types/pg": "^8.20.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@typescript/native-preview": "7.0.0-dev.20260401.1",
"@typescript/native-preview": "7.0.0-dev.20260404.1",
"@vitejs/plugin-react": "^6.0.1",
"@vitest/coverage-v8": "^4.1.2",
"babel-plugin-macros": "^3.1.0",
"drizzle-kit": "1.0.0-beta.20",
"happy-dom": "^20.8.9",
"jose": "^6.2.2",
"knip": "^6.2.0",
"knip": "^6.3.0",
"nitro": "3.0.260311-beta",
"node-addon-api": "^8.7.0",
"node-gyp": "^12.2.0",
"npm-check-updates": "^20.0.0",
"vite": "npm:@voidzero-dev/vite-plus-core@latest",
"vite": "npm:@voidzero-dev/vite-plus-core@^0.1.15",
"vite-plugin-pwa": "^1.2.0",
"vite-plus": "latest",
"vitest": "npm:@voidzero-dev/vite-plus-test@latest"
"vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.15"
},
"packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319",
"pnpm": {
+1556 -1494
View File
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,24 +13,44 @@ type AwardsItemProps = SectionItem<"awards"> & {
};
export function AwardsItem({ className, ...item }: AwardsItemProps) {
const headerValues = {
title: item.title,
date: item.date,
awarder: item.awarder,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "title",
content: (
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title awards-item-title"
/>
),
},
{
key: "date",
content: <span className="section-item-metadata awards-item-date">{item.date}</span>,
},
{
key: "awarder",
content: <span className="section-item-metadata awards-item-awarder">{item.awarder}</span>,
},
);
return (
<div className={cn("awards-item", className)}>
{/* Header */}
<div className="section-item-header awards-item-header">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title awards-item-title"
/>
<span className="section-item-metadata awards-item-date shrink-0 text-end">{item.date}</span>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata awards-item-awarder">{item.awarder}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,24 +13,44 @@ type CertificationsItemProps = SectionItem<"certifications"> & {
};
export function CertificationsItem({ className, ...item }: CertificationsItemProps) {
const headerValues = {
title: item.title,
date: item.date,
issuer: item.issuer,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "title",
content: (
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title certifications-item-title"
/>
),
},
{
key: "date",
content: <span className="section-item-metadata certifications-item-date">{item.date}</span>,
},
{
key: "issuer",
content: <span className="section-item-metadata certifications-item-issuer">{item.issuer}</span>,
},
);
return (
<div className={cn("certifications-item", className)}>
{/* Header */}
<div className="section-item-header certifications-item-header">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title certifications-item-title"
/>
<span className="section-item-metadata certifications-item-date shrink-0 text-end">{item.date}</span>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata certifications-item-issuer">{item.issuer}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,29 +13,51 @@ type EducationItemProps = SectionItem<"education"> & {
};
export function EducationItem({ className, ...item }: EducationItemProps) {
const degreeAndGrade = [item.degree, item.grade].filter(Boolean).join(" • ");
const locationAndPeriod = [item.location, item.period].filter(Boolean).join(" • ");
const headerValues = {
school: item.school,
degreeAndGrade,
area: item.area,
locationAndPeriod,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "school",
content: (
<LinkedTitle
title={item.school}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title education-item-title"
/>
),
},
{
key: "degreeAndGrade",
content: <span className="section-item-metadata education-item-degree-grade">{degreeAndGrade}</span>,
},
{
key: "area",
content: <span className="section-item-metadata education-item-area">{item.area}</span>,
},
{
key: "locationAndPeriod",
content: <span className="section-item-metadata education-item-location-period">{locationAndPeriod}</span>,
},
);
return (
<div className={cn("education-item", className)}>
{/* Header */}
<div className="section-item-header education-item-header mb-2">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.school}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title education-item-title"
/>
<span className="section-item-metadata education-item-degree-grade shrink-0 text-end">
{[item.degree, item.grade].filter(Boolean).join(" • ")}
</span>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata education-item-area">{item.area}</span>
<span className="section-item-metadata education-item-location-period shrink-0 text-end">
{[item.location, item.period].filter(Boolean).join(" • ")}
</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -13,36 +14,50 @@ type ExperienceItemProps = SectionItem<"experience"> & {
export function ExperienceItem({ className, ...item }: ExperienceItemProps) {
const hasRoles = Array.isArray(item.roles) && item.roles.length > 0;
const headerValues = {
company: item.company,
location: item.location,
position: item.position,
period: item.period,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "company",
content: (
<LinkedTitle
title={item.company}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title experience-item-title"
/>
),
},
{
key: "location",
content: <span className="section-item-metadata experience-item-location">{item.location}</span>,
},
{
key: "position",
content: <span className="section-item-metadata experience-item-position">{item.position}</span>,
},
{
key: "period",
content: <span className="section-item-metadata experience-item-period">{item.period}</span>,
},
);
return (
<div className={cn("experience-item", className)}>
{/* Header */}
<div className="section-item-header experience-item-header">
{/* Row 1: Company + Location */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.company}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title experience-item-title"
/>
<span className="section-item-metadata experience-item-location shrink-0 text-end">{item.location}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
{/* Row 2: Position + Period */}
{(!hasRoles || item.position) && (
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata experience-item-position">{item.position}</span>
<span className="section-item-metadata experience-item-period shrink-0 text-end">{item.period}</span>
</div>
)}
{/* Overall period when hasRoles and no summary position */}
{hasRoles && !item.position && item.period && (
<div className="flex items-start justify-end gap-x-2">
<span className="section-item-metadata experience-item-period shrink-0 text-end">{item.period}</span>
</div>
)}
</div>
{/* Role Progression */}
@@ -52,7 +67,7 @@ export function ExperienceItem({ className, ...item }: ExperienceItemProps) {
<div key={role.id} className="experience-item-role">
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata experience-item-role-position">{role.position}</span>
<span className="section-item-metadata experience-item-role-period shrink-0 text-end">
<span className="section-item-metadata experience-item-role-period shrink-0 justify-self-end text-end">
{role.period}
</span>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,24 +13,44 @@ type PublicationsItemProps = SectionItem<"publications"> & {
};
export function PublicationsItem({ className, ...item }: PublicationsItemProps) {
const headerValues = {
title: item.title,
date: item.date,
publisher: item.publisher,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "title",
content: (
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title publications-item-title"
/>
),
},
{
key: "date",
content: <span className="section-item-metadata publications-item-date">{item.date}</span>,
},
{
key: "publisher",
content: <span className="section-item-metadata publications-item-publisher">{item.publisher}</span>,
},
);
return (
<div className={cn("publications-item", className)}>
{/* Header */}
<div className="section-item-header publications-item-header">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.title}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title publications-item-title"
/>
<span className="section-item-metadata publications-item-date shrink-0 text-end">{item.date}</span>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata publications-item-publisher">{item.publisher}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,23 +13,39 @@ type ReferencesItemProps = SectionItem<"references"> & {
};
export function ReferencesItem({ className, ...item }: ReferencesItemProps) {
const headerValues = {
name: item.name,
position: item.position,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "name",
content: (
<LinkedTitle
title={item.name}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title references-item-name"
/>
),
},
{
key: "position",
content: <span className="section-item-metadata references-item-position">{item.position}</span>,
},
);
return (
<div className={cn("references-item", className)}>
{/* Header */}
<div className="section-item-header references-item-header">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.name}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title references-item-name"
/>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata references-item-position">{item.position}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
@@ -1,6 +1,7 @@
import type { SectionItem } from "@/schema/resume/data";
import { TiptapContent } from "@/components/input/rich-input";
import { filterFieldValues } from "@/utils/field";
import { stripHtml } from "@/utils/string";
import { cn } from "@/utils/style";
@@ -12,24 +13,44 @@ type VolunteerItemProps = SectionItem<"volunteer"> & {
};
export function VolunteerItem({ className, ...item }: VolunteerItemProps) {
const headerValues = {
organization: item.organization,
period: item.period,
location: item.location,
};
const headerFields = filterFieldValues(
headerValues,
{
key: "organization",
content: (
<LinkedTitle
title={item.organization}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title volunteer-item-title"
/>
),
},
{
key: "period",
content: <span className="section-item-metadata volunteer-item-period">{item.period}</span>,
},
{
key: "location",
content: <span className="section-item-metadata volunteer-item-location">{item.location}</span>,
},
);
return (
<div className={cn("volunteer-item", className)}>
{/* Header */}
<div className="section-item-header volunteer-item-header">
{/* Row 1 */}
<div className="flex items-start justify-between gap-x-2">
<LinkedTitle
title={item.organization}
website={item.website}
showLinkInTitle={item.options?.showLinkInTitle}
className="section-item-title volunteer-item-title"
/>
<span className="section-item-metadata volunteer-item-period shrink-0 text-end">{item.period}</span>
</div>
{/* Row 2 */}
<div className="flex items-start justify-between gap-x-2">
<span className="section-item-metadata volunteer-item-location">{item.location}</span>
<div className="grid grid-cols-2 items-start gap-x-2">
{headerFields.map((field, index) => (
<div key={field.key} className={cn(index % 2 === 1 && "shrink-0 justify-self-end text-end")}>
{field.content}
</div>
))}
</div>
</div>
+4 -4
View File
@@ -164,11 +164,11 @@ function EducationForm() {
<FormField
control={form.control}
name="degree"
name="area"
render={({ field }) => (
<FormItem>
<FormLabel>
<Trans>Degree</Trans>
<Trans>Area of Study</Trans>
</FormLabel>
<FormControl render={<Input {...field} />} />
<FormMessage />
@@ -178,11 +178,11 @@ function EducationForm() {
<FormField
control={form.control}
name="area"
name="degree"
render={({ field }) => (
<FormItem>
<FormLabel>
<Trans>Area of Study</Trans>
<Trans>Degree</Trans>
</FormLabel>
<FormControl render={<Input {...field} />} />
<FormMessage />
+18 -16
View File
@@ -262,20 +262,6 @@ function ExperienceForm() {
)}
/>
<FormField
control={form.control}
name="position"
render={({ field }) => (
<FormItem>
<FormLabel>{hasRoles ? <Trans>Overall Title (optional)</Trans> : <Trans>Position</Trans>}</FormLabel>
<FormControl
render={<Input {...field} placeholder={hasRoles ? "e.g. Software Engineer → Senior Engineer" : ""} />}
/>
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="location"
@@ -290,13 +276,29 @@ function ExperienceForm() {
)}
/>
<FormField
control={form.control}
name="position"
render={({ field }) => (
<FormItem>
<FormLabel>
<Trans>Position</Trans>
</FormLabel>
<FormControl render={<Input {...field} />} />
<FormMessage />
</FormItem>
)}
/>
<FormField
control={form.control}
name="period"
render={({ field }) => (
<FormItem>
<FormLabel>{hasRoles ? <Trans>Overall Period</Trans> : <Trans>Period</Trans>}</FormLabel>
<FormControl render={<Input {...field} placeholder={hasRoles ? "e.g. 2018 Present" : ""} />} />
<FormLabel>
<Trans>Period</Trans>
</FormLabel>
<FormControl render={<Input {...field} />} />
<FormMessage />
</FormItem>
)}
+23
View File
@@ -0,0 +1,23 @@
type KeyedField<TKey extends string> = {
key: TKey;
};
type KeyValueMap<TKey extends string> = Partial<Record<TKey, string | null | undefined>>;
/**
* Filters keyed field descriptors to only those whose corresponding value in the given
* values object is a non-empty string.
*
* This is useful for rendering or processing only the fields with actual, non-blank content,
* e.g., when displaying optional sections in a UI or assembling objects with present values.
*
* @param values - An object mapping keys to string values (which may be empty, null, or undefined)
* @param fields - Field descriptors with { key: TKey }
* @returns An array of fields whose corresponding values[key] is a non-empty string
*/
export function filterFieldValues<TKey extends string, TField extends KeyedField<TKey>>(
values: KeyValueMap<TKey>,
...fields: TField[]
) {
return fields.filter((field) => Boolean(values[field.key]?.trim()));
}
+2
View File
@@ -168,6 +168,8 @@ if (!isVitest) {
const config = defineConfig({
plugins,
run: { cache: true },
staged: {
"*": "vp check --fix",
},