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",

View file

@ -32,8 +32,82 @@
"dashboard_title": "Dashboard",
"dashboard_subtitle": "Przegląd zdrowia i pielęgnacji",
"dashboard_dailyBriefing": "Szybki rzut oka na zmiany, braki i miejsca, które warto teraz sprawdzić.",
"dashboard_latestSnapshot": "Ostatni stan skóry",
"dashboard_recentRoutines": "Ostatnie rutyny",
"dashboard_requiresAttention": "Wymaga uwagi",
"dashboard_healthPulse": "Puls zdrowia",
"dashboard_viewSkinHistory": "Otwórz historię skóry",
"dashboard_viewLabResults": "Otwórz wyniki badań",
"dashboard_heroFreshness": "Świeżość",
"dashboard_sinceLastSnapshot": "od ostatniego wpisu",
"dashboard_skinFreshness": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "Ostatni wpis był {count} dzień temu.",
"countPlural=few": "Ostatni wpis był {count} dni temu.",
"countPlural=many": "Ostatni wpis był {count} dni temu.",
"countPlural=*": "Ostatni wpis był {count} dni temu."
}
}
],
"dashboard_daysAgo": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count} dzień temu",
"countPlural=few": "{count} dni temu",
"countPlural=many": "{count} dni temu",
"countPlural=*": "{count} dni temu"
}
}
],
"dashboard_daysAgoShort": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count} d",
"countPlural=few": "{count} d",
"countPlural=many": "{count} d",
"countPlural=*": "{count} d"
}
}
],
"dashboard_flaggedResults": "wyników oznaczonych flagą",
"dashboard_flaggedLabsCount": [
{
"declarations": ["input count", "local countPlural = count: plural"],
"selectors": ["countPlural"],
"match": {
"countPlural=one": "{count} wynik z flagą",
"countPlural=few": "{count} wyniki z flagą",
"countPlural=many": "{count} wyników z flagą",
"countPlural=*": "{count} wyników z flagą"
}
}
],
"dashboard_attentionSnapshot": "Dziennik skóry",
"dashboard_attentionRoutineAM": "Rutyna AM",
"dashboard_attentionRoutinePM": "Rutyna PM",
"dashboard_attentionLabs": "Przegląd badań",
"dashboard_attentionMissing": "Brak",
"dashboard_attentionToday": "Dzisiaj",
"dashboard_attentionStable": "Brak flagowanych pozycji",
"dashboard_statusLogged": "Zapisane",
"dashboard_statusOpen": "Do uzupełnienia",
"dashboard_metricHydration": "Nawodnienie",
"dashboard_metricSensitivity": "Wrażliwość",
"dashboard_metricSebumTzone": "Sebum T-zone",
"dashboard_metricSebumCheeks": "Sebum policzki",
"dashboard_metricDelta": "Zmiana {delta}",
"dashboard_averageSteps": "Śr. {count} kroków",
"dashboard_lastRoutine": "Ostatnia rutyna",
"dashboard_lastLabDate": "Ostatnie badanie",
"dashboard_noLabResults": "Brak wyników badań.",
"dashboard_noSnapshots": "Brak wpisów o stanie skóry.",
"dashboard_noRoutines": "Brak rutyn w ciągu ostatnich 2 tygodni.",
@ -156,6 +230,9 @@
"grooming_title": "Harmonogram pielęgnacji",
"grooming_backToRoutines": "Rutyny",
"grooming_addEntry": "+ Dodaj wpis",
"grooming_newTitle": "Nowy wpis pielęgnacyjny",
"grooming_newSubtitle": "Dodaj stały wpis do tygodniowego harmonogramu pielęgnacji.",
"grooming_newSectionIntro": "Ustal dzień, czynność i krótką notatkę, jeśli chcesz.",
"grooming_entryAdded": "Wpis dodany.",
"grooming_entryUpdated": "Wpis zaktualizowany.",
"grooming_entryDeleted": "Wpis usunięty.",
@ -262,6 +339,8 @@
],
"medications_addNew": "+ Dodaj lek",
"medications_newTitle": "Nowy lek",
"medications_newSubtitle": "Dodaj podstawowy rekord leku lub suplementu do dalszego śledzenia.",
"medications_newSectionIntro": "Zacznij od rodzaju, nazwy i substancji czynnej.",
"medications_kind": "Rodzaj",
"medications_productName": "Nazwa produktu *",
"medications_productNamePlaceholder": "np. Witamina D3",
@ -303,6 +382,8 @@
],
"labResults_addNew": "+ Dodaj wynik",
"labResults_newTitle": "Nowy wynik badania",
"labResults_newSubtitle": "Zapisz pojedynczy wynik badania, aby dołączyć go do historii zdrowia.",
"labResults_newSectionIntro": "Najpierw podaj datę i kod LOINC, resztę możesz uzupełnić skrótowo.",
"labResults_flagFilter": "Flaga:",
"labResults_flagAll": "Wszystkie",
"labResults_flagNone": "Brak",
@ -388,6 +469,8 @@
"skin_analyzePhotos": "Analizuj zdjęcia",
"skin_analyzing": "Analizuję…",
"skin_newSnapshotTitle": "Nowy wpis",
"skin_newSubtitle": "Zapisz bieżący stan skóry ręcznie lub uzupełnij pola analizą AI ze zdjęć.",
"skin_newSectionIntro": "Zacznij od daty i ogólnej oceny, a potem doprecyzuj szczegóły.",
"skin_date": "Data *",
"skin_overallState": "Ogólny stan",
"skin_texture": "Tekstura",