import type {
  Accommodation,
  DelayedSymptom,
  Limitation,
  RecoveryStatus,
  ReportStatus,
  TaskCompletion,
  TaskType,
  WorseThanBefore
} from "./types";

export const statusLabels: Record<ReportStatus, string> = {
  kan_fortsette: "Kan fortsette",
  trenger_pause: "Trenger pause",
  trenger_enklere_oppgave: "Trenger enklere oppgave",
  bør_stoppe: "Ønsker å stoppe",
  onsker_a_stoppe: "Ønsker å stoppe",
  ønsker_å_stoppe: "Ønsker å stoppe"
};

export const taskTypeLabels: Record<TaskType, string> = {
  sitting: "Sitte",
  standing: "Stå",
  walking: "Gå",
  lifting: "Løft",
  computer_work: "PC-arbeid",
  concentration: "Konsentrasjon",
  multitasking: "Flere oppgaver",
  talking_social: "Prat/sosialt",
  noise: "Støy",
  bright_light: "Sterkt lys",
  time_pressure: "Tidspress"
};

export const limitationLabels: Record<Limitation, string> = {
  fatigue: "Utmattelse",
  brain_fog: "Hjernetåke",
  pain: "Smerter",
  headache_migraine: "Hodepine/migrene",
  dizziness: "Svimmelhet",
  nausea: "Kvalme",
  sensory_overload: "Sansebelastning",
  stress_anxiety: "Stress/uro",
  weakness: "Svakhet",
  sleepiness: "Søvnighet",
  other: "Annet"
};

export const accommodationLabels: Record<Accommodation, string> = {
  extra_breaks: "Ekstra pauser",
  sitting_down: "Sitte ned",
  quiet_room: "Stille rom",
  reduced_pace: "Lavere tempo",
  shorter_task: "Kortere oppgave",
  help_from_others: "Hjelp fra andre",
  remote_work: "Jobbe hjemmefra",
  task_switching: "Bytte oppgave",
  nothing_helped: "Ingenting hjalp"
};

export const taskCompletionLabels: Record<TaskCompletion, string> = {
  nesten_ingenting: "Nesten ingenting",
  litt: "Litt",
  delvis: "Delvis",
  som_forventet: "Som forventet",
  mer_enn_forventet: "Mer enn forventet"
};

export const worseLabels: Record<WorseThanBefore, string> = {
  nei: "Nei",
  litt: "Litt",
  moderat: "Moderat",
  mye: "Mye"
};

export const delayedSymptomLabels: Record<DelayedSymptom, string> = {
  fatigue: "Utmattelse",
  pain: "Smerter",
  brain_fog: "Hjernetåke",
  flu_like: "Influensafølelse",
  headache: "Hodepine",
  dizziness: "Svimmelhet",
  sleep_disruption: "Søvnforstyrrelse",
  sensory_sensitivity: "Lys/lydfølsomhet"
};

export const recoveryLabels: Record<RecoveryStatus, string> = {
  tilbake_til_baseline: "Tilbake til vanlig nivå",
  samme_dag: "Samme dag",
  en_dag: "En dag",
  to_tre_dager: "To-tre dager",
  fire_pluss_dager: "Fire+ dager",
  ikke_tilbake_til_baseline: "Ikke tilbake ennå"
};

export const positiveScale = {
  1: "Svært lavt",
  2: "Lavt",
  3: "Middels",
  4: "Godt",
  5: "Svært godt"
} as const;

export const negativeScale = {
  1: "Lite/ingen",
  2: "Mildt",
  3: "Moderat",
  4: "Høyt",
  5: "Svært høyt"
} as const;

export const tooltipTexts = {
  work_ability:
    "Hvor godt du opplever at du kan fungere i arbeidssituasjonen akkurat nå, uavhengig av om du faktisk får gjort alt.",
  energy_level: "Samlet opplevd energi. Hvis du ikke skiller mellom fysisk og mental energi, brukes denne for begge.",
  physical_energy: "Kroppslig energi, utholdenhet og fysisk kapasitet.",
  mental_energy: "Mental utholdenhet, evne til å holde fokus over tid og tåle kognitiv belastning.",
  mental_clarity: "Hvor klart du tenker, hvor lett det er å konsentrere seg, huske, forstå og følge med.",
  symptom_burden:
    "Hvor mye symptomer plager eller begrenser deg, for eksempel smerte, hodepine, svimmelhet, kvalme eller sanseoverbelastning.",
  effort_strain:
    "Hvor mye det koster å gjennomføre. Dette handler om belastning/anstrengelse, ikke bare hvor sterke symptomene er.",
  symptom_vs_effort:
    "Symptombelastning handler om hvor mye symptomer du har. Anstrengelse/belastning handler om hvor hardt du må presse deg for å gjennomføre.",
  total_score_percent:
    "En beregnet funksjonsindikator fra 0 til 100 basert på rapporterte svar. Dette er ikke en medisinsk validert testscore.",
  workplace: "Arbeidssted eller kontekst for økten. Feltet forhåndsfylles fra forrige rapport når det finnes.",
  work_time: "Start- og sluttid for arbeidsøkten. Feltene kan endres før rapporten sendes."
} as const;

export const categoryTooltipTexts = {
  A: "Arbeidsevne",
  E: "Energi",
  K: "Mental klarhet/konsentrasjon",
  S: "Symptombelastning",
  B: "Belastning/anstrengelse",
  T: "Totalscore"
} as const;
