feat(ui): redesign personal dashboard presentation

This commit is contained in:
cesnimda
2026-10-06 18:26:09 +02:00
parent 384dfa8a4b
commit ec6baaeddd
35 changed files with 1922 additions and 528 deletions
+80 -10
View File
@@ -31,7 +31,7 @@ export const translations = {
home: "Home",
analytics: "Analytics",
overview: "Overview",
dashboardPageSubtitle: "Your search at a glance — response rate, funnel, and what needs attention.",
dashboardPageSubtitle: "Your next actions, current pipeline and application activity.",
jobsPageSubtitle: "Filter, search, and manage every application in one workspace.",
kanbanPageSubtitle: "Drag a card between stages to update its status.",
remindersPageSubtitle: "Everything due for follow-up, soonest first.",
@@ -1389,6 +1389,41 @@ export const translations = {
cropDialogZoom: "Zoom",
cropDialogPreviewAlt: "Crop preview",
cropDialogSave: "Save image",
dashboardSnapshotScope: "Your tracker today. Activity charts have a separate period.",
dashboardAttentionBreakdown: "{followUp} follow-ups · {preparation} interview preparations · {package} package gaps in the feed",
dashboardTrackedJobs: "Tracked jobs",
dashboardTrackedBody: "Includes prospects and closed outcomes.",
dashboardRecordedDates: "Recorded application dates from the last 30 days, including any future-dated entries.",
dashboardCurrentInterviews: "Jobs at interview",
dashboardCurrentOffers: "Current offers",
dashboardCurrentStage: "Jobs currently in this stage.",
dashboardAttentionSample: "Showing {shown} of {count} items from your reminder feed.",
dashboardCurrentPipeline: "Current pipeline",
dashboardPipelineBody: "Non-deleted jobs by their current stage. Recorded custom statuses below.",
dashboardNoPipelineData: "No jobs in the standard stages.",
dashboardRecordedStatuses: "Recorded status breakdown",
dashboardStartTitle: "Your search starts here",
dashboardStartBody: "Save a job you want to explore. Your activity and patterns will appear as you build your tracker.",
dashboardAllHidden: "Your dashboard sections are hidden.",
dashboardTrendPeriod: "Activity and tag-trend period",
dashboardActivityDefinition: "Applications from the selected months and their dated responses within the same window. Deleted jobs excluded.",
dashboardResponseSample: "{responses} / {total} recorded responses",
dashboardNoWindowData: "No applications or dated responses in this period.",
dashboardMonthlyValues: "View monthly values",
dashboardMonth: "Month",
dashboardApplications: "Applications",
dashboardChartLegend: "Solid: applications. Dashed: dated responses. Shared scale: 0–{max}. Exact values below.",
dashboardStageAge: "Median current-stage age",
dashboardStageAgeBody: "Jobs still in each stage, measured from the latest recorded transition or application/saved date.",
dashboardSourceBody: "Up to six sources by tracked-job count. Current company source; includes prospects. A response flag or date counts as a recorded response.",
dashboardRecordedResponseSample: "{responses} of {total} non-deleted jobs have a recorded response.",
dashboardSalaryDefinition: "Mean of recorded salary-range midpoints, with observed min/max and sample count. Currencies and pay periods stay separate.",
dashboardCompaniesBody: "Up to eight companies by non-deleted job count, including prospects. Responses use a recorded flag or date.",
dashboardJobTags: "Job tags",
dashboardTagsBody: "Top eight job tags across all non-deleted jobs. All time.",
dashboardTagTrendValues: "View monthly tag values",
dashboardTagTrendBody: "Top five tags on jobs with an application date in the selected period. Counts are recorded tag occurrences.",
dashboardOccurrences: "Occurrences",
dashboardOverviewTitle: "Dashboard overview",
dashboardHeroLabel: "Job search overview",
onboardingTitle: "Get set up",
@@ -1421,9 +1456,9 @@ export const translations = {
dashboardCustomize: "Customize dashboard",
dashboardSummaryCards: "Summary cards",
dashboardActivityChart: "Activity chart",
dashboardConversionFunnel: "Conversion funnel",
dashboardConversionFunnel: "Current pipeline",
dashboardTopCompanies: "Top companies",
dashboardSkillsInsights: "Skills insights",
dashboardSkillsInsights: "Job tags",
dashboardActiveApplications: "Active applications",
dashboardCurrentlyInProgress: "Currently in progress",
dashboardApplied30Days: "Applied (30 days)",
@@ -1443,7 +1478,7 @@ export const translations = {
dashboardMonthlyApplicationsResponses: "Monthly applications versus responses.",
dashboardConversionFunnelTitle: "Conversion funnel",
dashboardTimeInStageTitle: "Median time in stage",
dashboardTimeInStageValue: "{days}d · {count} active",
dashboardTimeInStageValue: "{days} days · {count} jobs",
dashboardResponseSources: "Response sources",
dashboardSalaryInsights: "Salary insights",
dashboardSalaryInsightsBody: "Comparable ranges from jobs in your tracker. Currencies and pay periods stay separate.",
@@ -1453,7 +1488,7 @@ export const translations = {
dashboardTopSkills: "Top skills",
dashboardNoTagsYet: "No tags yet.",
dashboardSkillTags: "skill tags",
dashboardSkillTrends: "Skill trends",
dashboardSkillTrends: "Monthly job-tag trends",
dashboardNoTagTrendData: "No tag trend data yet.",
remindersTitle: "Needs Follow-up",
remindersSubtitle: "Grouped by the most useful next action so you can fix gaps faster.",
@@ -2501,7 +2536,7 @@ export const translations = {
home: "Hjem",
analytics: "Analyse",
overview: "Oversikt",
dashboardPageSubtitle: "Søket ditt i korte trekk — svarrate, trakt og hva som trenger oppmerksomhet.",
dashboardPageSubtitle: "Neste steg, nåværende statusfordeling og søknadsaktivitet.",
jobsPageSubtitle: "Filtrer, søk og administrer alle søknader på ett sted.",
kanbanPageSubtitle: "Dra et kort mellom stadier for å oppdatere status.",
remindersPageSubtitle: "Alt som trenger oppfølging, snarest først.",
@@ -3859,6 +3894,41 @@ export const translations = {
cropDialogZoom: "Zoom",
cropDialogPreviewAlt: "Forhåndsvisning av beskjæring",
cropDialogSave: "Lagre bilde",
dashboardSnapshotScope: "Jobbsøket ditt nå. Aktivitetsdiagrammene har et eget periodevalg.",
dashboardAttentionBreakdown: "{followUp} oppfølginger · {preparation} intervjuforberedelser · {package} mangler i søknadspakker i oversikten",
dashboardTrackedJobs: "Registrerte jobber",
dashboardTrackedBody: "Inkluderer muligheter og avsluttede prosesser.",
dashboardRecordedDates: "Registrerte søknadsdatoer fra de siste 30 dagene, inkludert eventuelle fremtidige datoer.",
dashboardCurrentInterviews: "Jobber i intervjufasen",
dashboardCurrentOffers: "Nåværende tilbud",
dashboardCurrentStage: "Jobber som er i denne fasen nå.",
dashboardAttentionSample: "Viser {shown} av {count} elementer fra påminnelsene dine.",
dashboardCurrentPipeline: "Nåværende statusfordeling",
dashboardPipelineBody: "Jobber som ikke er slettet, etter nåværende fase. Registrerte egendefinerte statuser nedenfor.",
dashboardNoPipelineData: "Ingen jobber i standardfasene.",
dashboardRecordedStatuses: "Fordeling av registrerte statuser",
dashboardStartTitle: "Jobbsøket starter her",
dashboardStartBody: "Lagre en jobb du vil utforske. Aktivitet og mønstre vises etter hvert som du bygger oversikten.",
dashboardAllHidden: "Dashboard-seksjonene dine er skjult.",
dashboardTrendPeriod: "Periode for aktivitet og taggtrender",
dashboardActivityDefinition: "Søknader fra de valgte månedene og daterte svar på disse i samme intervall. Slettede jobber er utelatt.",
dashboardResponseSample: "{responses} / {total} registrerte svar",
dashboardNoWindowData: "Ingen søknader eller daterte svar i denne perioden.",
dashboardMonthlyValues: "Vis månedsverdier",
dashboardMonth: "Måned",
dashboardApplications: "Søknader",
dashboardChartLegend: "Heltrukket: søknader. Stiplet: daterte svar. Felles skala: 0–{max}. Nøyaktige verdier nedenfor.",
dashboardStageAge: "Median tid i nåværende fase",
dashboardStageAgeBody: "Jobber som fortsatt er i hver fase, målt fra siste registrerte overgang eller søknads-/lagringsdato.",
dashboardSourceBody: "Opptil seks kilder etter antall registrerte jobber. Nåværende selskapskilde; inkluderer muligheter. Svarmarkering eller svardato regnes som registrert svar.",
dashboardRecordedResponseSample: "{responses} av {total} jobber som ikke er slettet, har et registrert svar.",
dashboardSalaryDefinition: "Gjennomsnitt av registrerte lønnsintervallers midtpunkter, med observert min/maks og antall. Valutaer og lønnsperioder holdes adskilt.",
dashboardCompaniesBody: "Opptil åtte selskaper etter antall jobber som ikke er slettet, inkludert muligheter. Svar telles fra registrert markering eller dato.",
dashboardJobTags: "Jobbtagger",
dashboardTagsBody: "De åtte vanligste jobbtaggene på alle jobber som ikke er slettet. Alle perioder.",
dashboardTagTrendValues: "Vis månedlige taggverdier",
dashboardTagTrendBody: "De fem vanligste taggene på jobber med søknadsdato i valgt periode. Tallene viser registrerte taggforekomster.",
dashboardOccurrences: "Forekomster",
dashboardOverviewTitle: "Dashboard-oversikt",
dashboardHeroLabel: "Oversikt over jobbsøket",
onboardingTitle: "Kom i gang",
@@ -3891,9 +3961,9 @@ export const translations = {
dashboardCustomize: "Tilpass dashboard",
dashboardSummaryCards: "Oppsummeringskort",
dashboardActivityChart: "Aktivitetsgraf",
dashboardConversionFunnel: "Konverteringstrakt",
dashboardConversionFunnel: "Nåværende statusfordeling",
dashboardTopCompanies: "Topp selskaper",
dashboardSkillsInsights: "Kompetanseinnsikt",
dashboardSkillsInsights: "Jobbtagger",
dashboardActiveApplications: "Aktive søknader",
dashboardCurrentlyInProgress: "Pågår nå",
dashboardApplied30Days: "Søkt (30 dager)",
@@ -3913,7 +3983,7 @@ export const translations = {
dashboardMonthlyApplicationsResponses: "Månedlige søknader versus svar.",
dashboardConversionFunnelTitle: "Konverteringstrakt",
dashboardTimeInStageTitle: "Median tid i fase",
dashboardTimeInStageValue: "{days}d · {count} aktive",
dashboardTimeInStageValue: "{days} dager · {count} jobber",
dashboardResponseSources: "Svar etter kilde",
dashboardSalaryInsights: "Lønnsinnsikt",
dashboardSalaryInsightsBody: "Sammenlignbare intervaller fra jobber i oversikten din. Valutaer og lønnsperioder holdes adskilt.",
@@ -3923,7 +3993,7 @@ export const translations = {
dashboardTopSkills: "Topp ferdigheter",
dashboardNoTagsYet: "Ingen tagger ennå.",
dashboardSkillTags: "ferdighetstagger",
dashboardSkillTrends: "Ferdighetstrender",
dashboardSkillTrends: "Månedlige jobbtaggtrender",
dashboardNoTagTrendData: "Ingen trenddata for tagger ennå.",
remindersTitle: "Trenger oppfølging",
remindersSubtitle: "Gruppert etter den mest nyttige neste handlingen slik at du kan lukke hull raskere.",