mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-07 04:12:04 +00:00
feat(insights): name the part of the day on the blood pressure stats while narrowed
The stat strip reads the chart's visible window, so with the chart narrowed to the morning its figures were morning figures under a plain Systolic label. The column label now says so. Russian texts for the time-of-day card.
This commit is contained in:
1 parent
22f83aed6e
commit
1a4703f4fe
12 files changed
+108
-2
No files matched your search
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Blutdruck morgens",
|
||||
"midday": "Blutdruck mittags",
|
||||
"evening": "Blutdruck abends"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "morgens",
|
||||
"midday": "mittags",
|
||||
"evening": "abends"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Blood pressure in the morning",
|
||||
"midday": "Blood pressure at midday",
|
||||
"evening": "Blood pressure in the evening"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "morning",
|
||||
"midday": "midday",
|
||||
"evening": "evening"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Tensión arterial por la mañana",
|
||||
"midday": "Tensión arterial a mediodía",
|
||||
"evening": "Tensión arterial por la noche"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "por la mañana",
|
||||
"midday": "al mediodía",
|
||||
"evening": "por la noche"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Tension artérielle le matin",
|
||||
"midday": "Tension artérielle à midi",
|
||||
"evening": "Tension artérielle le soir"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "le matin",
|
||||
"midday": "à midi",
|
||||
"evening": "le soir"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Pressione arteriosa al mattino",
|
||||
"midday": "Pressione arteriosa a mezzogiorno",
|
||||
"evening": "Pressione arteriosa alla sera"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "al mattino",
|
||||
"midday": "a mezzogiorno",
|
||||
"evening": "alla sera"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "아침 혈압",
|
||||
"midday": "낮 혈압",
|
||||
"evening": "저녁 혈압"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "아침",
|
||||
"midday": "낮",
|
||||
"evening": "저녁"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Bloeddruk 's ochtends",
|
||||
"midday": "Bloeddruk 's middags",
|
||||
"evening": "Bloeddruk 's avonds"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "'s ochtends",
|
||||
"midday": "'s middags",
|
||||
"evening": "'s avonds"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Ciśnienie tętnicze rano",
|
||||
"midday": "Ciśnienie tętnicze w południe",
|
||||
"evening": "Ciśnienie tętnicze wieczorem"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "rano",
|
||||
"midday": "w południe",
|
||||
"evening": "wieczorem"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4999,6 +4999,12 @@
|
||||
"morning": "Pressão arterial pela manhã",
|
||||
"midday": "Pressão arterial à tarde",
|
||||
"evening": "Pressão arterial à noite"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "pela manhã",
|
||||
"midday": "ao meio-dia",
|
||||
"evening": "à noite"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4972,6 +4972,40 @@
|
||||
"emptyDescription": "В этом диапазоне пока не записано ни одного балла.",
|
||||
"usualRange": "Заштриховано: ваш обычный диапазон, {lo}–{hi}.",
|
||||
"seam": "Линия прерывается там, где изменилось то, что учитывается в балле."
|
||||
},
|
||||
"bpTimeOfDay": {
|
||||
"title": "По времени суток",
|
||||
"description": "Ваше среднее давление в каждой части дня за период графика.",
|
||||
"part": {
|
||||
"morning": "Утро",
|
||||
"midday": "День",
|
||||
"evening": "Вечер"
|
||||
},
|
||||
"filterAll": "Весь день",
|
||||
"filterLabel": "Показать на графике",
|
||||
"readingsOne": "{count} измерение",
|
||||
"readingsFew": "{count} измерения",
|
||||
"readingsOther": "{count} измерений",
|
||||
"notEnough": "Слишком мало измерений",
|
||||
"pulse": "Пульс {value} уд/мин",
|
||||
"difference": "Утро минус вечер: {systolic}/{diastolic} мм рт. ст.",
|
||||
"differencePending": "Утро и вечер сравниваются, когда в каждом есть не меньше {min} измерений.",
|
||||
"hours": "Утро {morning}, день {midday}, вечер {evening}, в вашем часовом поясе.",
|
||||
"hourRange": "{start}–{end}",
|
||||
"emptyTitle": "За этот период нет полных измерений",
|
||||
"emptyDescription": "Здесь появляются измерения, в которых есть и систолическое, и диастолическое значение.",
|
||||
"error": "Не удалось загрузить средние значения по времени суток.",
|
||||
"chartTitle": {
|
||||
"morning": "Давление утром",
|
||||
"midday": "Давление днём",
|
||||
"evening": "Давление вечером"
|
||||
},
|
||||
"statsLabel": "{series}, {part}",
|
||||
"statsPart": {
|
||||
"morning": "утром",
|
||||
"midday": "днём",
|
||||
"evening": "вечером"
|
||||
}
|
||||
}
|
||||
},
|
||||
"thresholds": {
|
||||
|
||||
@@ -145,7 +145,7 @@ export default function InsightsBlutdruckPage() {
|
||||
summary: sysSummary,
|
||||
unit: "mmHg",
|
||||
fractionDigits: 0,
|
||||
seriesLabel: t("charts.systolic"),
|
||||
seriesLabel: timeOfDay.statsLabel(t("charts.systolic")),
|
||||
icon: ArrowUpRight,
|
||||
windowStats: statsByType?.BLOOD_PRESSURE_SYS ?? null,
|
||||
windowPending: !statsSettled,
|
||||
@@ -155,7 +155,7 @@ export default function InsightsBlutdruckPage() {
|
||||
summary: diaSummary,
|
||||
unit: "mmHg",
|
||||
fractionDigits: 0,
|
||||
seriesLabel: t("charts.diastolic"),
|
||||
seriesLabel: timeOfDay.statsLabel(t("charts.diastolic")),
|
||||
icon: ArrowDownRight,
|
||||
windowStats: statsByType?.BLOOD_PRESSURE_DIA ?? null,
|
||||
windowPending: !statsSettled,
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
BP_PARTS_OF_DAY,
|
||||
type BpPartOfDay,
|
||||
} from "@/lib/analytics/bp-time-of-day";
|
||||
import { useTranslations } from "@/lib/i18n/context";
|
||||
import { useUrlSearch, writeUrlState } from "@/lib/url-state";
|
||||
|
||||
/** The chart's part of the day, or the whole day. */
|
||||
@@ -24,6 +25,13 @@ export function parseBpChartPart(
|
||||
return BP_PARTS_OF_DAY.find((part) => part === raw);
|
||||
}
|
||||
|
||||
/** The stat strip's part-of-day word, so its figures say which readings they are. */
|
||||
const STATS_PART_KEYS: Record<BpPartOfDay, string> = {
|
||||
morning: "insights.bpTimeOfDay.statsPart.morning",
|
||||
midday: "insights.bpTimeOfDay.statsPart.midday",
|
||||
evening: "insights.bpTimeOfDay.statsPart.evening",
|
||||
};
|
||||
|
||||
const CHART_TITLE_KEYS: Record<BpPartOfDay, string> = {
|
||||
morning: "insights.bpTimeOfDay.chartTitle.morning",
|
||||
midday: "insights.bpTimeOfDay.chartTitle.midday",
|
||||
@@ -45,8 +53,11 @@ export function useBpTimeOfDayState(): {
|
||||
/** The chart title's message key while narrowed; undefined for the whole day. */
|
||||
chartTitleKey: string | undefined;
|
||||
setChartPart: (next: BpChartPart) => void;
|
||||
/** A stat column's label, naming the part of the day while narrowed. */
|
||||
statsLabel: (series: string) => string;
|
||||
days: number;
|
||||
} {
|
||||
const { t } = useTranslations();
|
||||
const partOfDay = parseBpChartPart(useUrlSearch());
|
||||
const setChartPart = useCallback((next: BpChartPart) => {
|
||||
writeUrlState(
|
||||
@@ -63,6 +74,13 @@ export function useBpTimeOfDayState(): {
|
||||
partOfDay,
|
||||
chartTitleKey: partOfDay ? CHART_TITLE_KEYS[partOfDay] : undefined,
|
||||
setChartPart,
|
||||
statsLabel: (series) =>
|
||||
partOfDay
|
||||
? t("insights.bpTimeOfDay.statsLabel", {
|
||||
series,
|
||||
part: t(STATS_PART_KEYS[partOfDay]),
|
||||
})
|
||||
: series,
|
||||
days: rangeWindowDays(range),
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user