feat(frontend): unify page shell and move create flows to dedicated routes

This commit is contained in:
Piotr Oleszczyk 2026-03-10 12:25:25 +01:00
parent e20c18c2ee
commit 0253b2377d
50 changed files with 2235 additions and 1042 deletions

View file

@ -32,8 +32,74 @@
"dashboard_title": "Dashboard",
"dashboard_subtitle": "Your recent health & skincare overview",
"dashboard_dailyBriefing": "A quick read on what changed, what is missing, and where to look next.",
"dashboard_latestSnapshot": "Latest Skin Snapshot",
"dashboard_recentRoutines": "Recent Routines",
"dashboard_requiresAttention": "Requires attention",
"dashboard_healthPulse": "Health Pulse",
"dashboard_viewSkinHistory": "Open skin history",
"dashboard_viewLabResults": "Open lab results",
"dashboard_heroFreshness": "Freshness",
"dashboard_sinceLastSnapshot": "since last snapshot",
"dashboard_skinFreshness": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "Last snapshot was {count} day ago.",
"countPlural=*": "Last snapshot was {count} days ago."
}
}
],
"dashboard_daysAgo": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count} day ago",
"countPlural=*": "{count} days ago"
}
}
],
"dashboard_daysAgoShort": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count}d",
"countPlural=*": "{count}d"
}
}
],
"dashboard_flaggedResults": "flagged results",
"dashboard_flaggedLabsCount": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count} flagged result",
"countPlural=*": "{count} flagged results"
}
}
],
"dashboard_attentionSnapshot": "Skin log",
"dashboard_attentionRoutineAM": "AM routine",
"dashboard_attentionRoutinePM": "PM routine",
"dashboard_attentionLabs": "Lab review",
"dashboard_attentionMissing": "Missing",
"dashboard_attentionToday": "Today",
"dashboard_attentionStable": "No flagged items",
"dashboard_statusLogged": "Logged",
"dashboard_statusOpen": "Open",
"dashboard_metricHydration": "Hydration",
"dashboard_metricSensitivity": "Sensitivity",
"dashboard_metricSebumTzone": "Sebum T-zone",
"dashboard_metricSebumCheeks": "Sebum cheeks",
"dashboard_metricDelta": "Delta {delta}",
"dashboard_averageSteps": "Avg. {count} steps",
"dashboard_lastRoutine": "Last routine",
"dashboard_lastLabDate": "Last collection",
"dashboard_noLabResults": "No lab results yet.",
"dashboard_noSnapshots": "No skin snapshots yet.",
"dashboard_noRoutines": "No routines in the past 2 weeks.",
@ -152,6 +218,9 @@
"grooming_title": "Grooming Schedule",
"grooming_backToRoutines": "Routines",
"grooming_addEntry": "+ Add entry",
"grooming_newTitle": "New grooming entry",
"grooming_newSubtitle": "Add a recurring entry to your weekly grooming schedule.",
"grooming_newSectionIntro": "Choose the day, action, and an optional note.",
"grooming_entryAdded": "Entry added.",
"grooming_entryUpdated": "Entry updated.",
"grooming_entryDeleted": "Entry deleted.",
@ -254,6 +323,8 @@
],
"medications_addNew": "+ Add medication",
"medications_newTitle": "New medication",
"medications_newSubtitle": "Add a basic medication or supplement record for later tracking.",
"medications_newSectionIntro": "Start with the type, product name, and active substance.",
"medications_kind": "Kind",
"medications_productName": "Product name *",
"medications_productNamePlaceholder": "e.g. Vitamin D3",
@ -291,6 +362,8 @@
],
"labResults_addNew": "+ Add result",
"labResults_newTitle": "New lab result",
"labResults_newSubtitle": "Save a single lab result and add it to your health history.",
"labResults_newSectionIntro": "Start with the date and LOINC code, then add the remaining details.",
"labResults_flagFilter": "Flag:",
"labResults_flagAll": "All",
"labResults_flagNone": "None",
@ -374,6 +447,8 @@
"skin_analyzePhotos": "Analyze photos",
"skin_analyzing": "Analyzing…",
"skin_newSnapshotTitle": "New skin snapshot",
"skin_newSubtitle": "Capture todays skin state manually or prefill the form with AI photo analysis.",
"skin_newSectionIntro": "Start with the date and overall condition, then refine the details.",
"skin_date": "Date *",
"skin_overallState": "Overall state",
"skin_texture": "Texture",