feat: add prescription refills column to planner table and email (#207)
- Add 6th column 'Prescription refills' to frontend Planner table - Add matching column to backend planner email (HTML + plaintext) - Show remaining refills for meds with prescription tracking, '–' otherwise - Add backend translations for new column header (EN + DE) - Add frontend i18n keys for prescription refills column - Update planner tests with medications table schema Closes #203
This commit is contained in:
@@ -207,6 +207,7 @@
|
||||
"medication": "Medikament",
|
||||
"usage": "Verbrauch",
|
||||
"blistersNeeded": "Blister benötigt",
|
||||
"prescriptionRefills": "Rezept-Nachfüllungen",
|
||||
"blisters": "Blister",
|
||||
"available": "Verfügbar"
|
||||
}
|
||||
|
||||
@@ -207,6 +207,7 @@
|
||||
"medication": "Medication",
|
||||
"usage": "Usage",
|
||||
"blistersNeeded": "Blisters needed",
|
||||
"prescriptionRefills": "Prescription refills",
|
||||
"blisters": "Blisters",
|
||||
"available": "Available"
|
||||
}
|
||||
|
||||
@@ -196,16 +196,19 @@ export function PlannerPage() {
|
||||
</form>
|
||||
{plannerRows.length > 0 && (
|
||||
<>
|
||||
<div className="table">
|
||||
<div className="table table-6">
|
||||
<div className="table-head">
|
||||
<span>{t("planner.table.medication")}</span>
|
||||
<span>{t("planner.table.usage")}</span>
|
||||
<span>{t("planner.table.blistersNeeded")}</span>
|
||||
<span>{t("planner.table.prescriptionRefills")}</span>
|
||||
<span>{t("planner.table.available")}</span>
|
||||
<span>{t("table.status")}</span>
|
||||
</div>
|
||||
{plannerRows.map((row) => {
|
||||
const med = meds.find((m) => m.name === row.medicationName);
|
||||
const med =
|
||||
meds.find((m) => m.id === row.medicationId) || meds.find((m) => m.name === row.medicationName);
|
||||
const remainingRefills = med?.prescriptionEnabled ? (med.prescriptionRemainingRefills ?? 0) : null;
|
||||
return (
|
||||
<div key={row.medicationId} className="table-row clickable" onClick={() => med && openMedDetail(med)}>
|
||||
<span data-label={t("planner.table.medication")} className="cell-with-avatar">
|
||||
@@ -219,6 +222,7 @@ export function PlannerPage() {
|
||||
<span data-label={t("planner.table.blisters")}>
|
||||
{row.packageType === "bottle" ? "–" : `${row.blistersNeeded} × ${row.blisterSize}`}
|
||||
</span>
|
||||
<span data-label={t("planner.table.prescriptionRefills")}>{remainingRefills ?? "–"}</span>
|
||||
<span data-label={t("planner.table.available")}>
|
||||
{row.packageType === "bottle" ? (
|
||||
`${Math.round(row.loosePills * 10) / 10} ${Math.round(row.loosePills * 10) / 10 === 1 ? t("common.pill") : t("common.pills")}`
|
||||
|
||||
Reference in New Issue
Block a user