mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-15 15:02:04 +00:00
feat(medications): a sortable table view with an order you choose
The medications page gains a compact table beside the card view — one row per medication with the same served-due status pill, next-intake line, cadence-scaled adherence bars, dose-derived stock and the take and skip actions the cards use, all from the payloads the cards already read; the list response aggregates stock in the same round trip. Columns sort tri-state with nulls last, the default order is yours to arrange — the same drag dialog the dashboard and insights use, applied to both views — and the chosen view and order persist per user on their own settings column with field-scoped writes, so toggling the view never touches the order. Inactive medications pin to the end, the first column stays put under horizontal scroll, and the loading skeleton follows the view you left.
This commit is contained in:
1 parent
d142a6ed31
commit
e21dfd040e
31 files changed
+3382
-65
No files matched your search
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Injektionsstellen erfassen",
|
||||
"trackInjectionSitesHint": "Nach einer eingenommenen Dosis nach der verwendeten Stelle fragen und die nächste Rotation vorschlagen.",
|
||||
"allowedSitesLabel": "Erlaubte Stellen",
|
||||
"allowedSitesHint": "Alle ausgewählt lassen für keine Einschränkung. Global ausgeschlossene Stellen werden nie angeboten."
|
||||
"allowedSitesHint": "Alle ausgewählt lassen für keine Einschränkung. Global ausgeschlossene Stellen werden nie angeboten.",
|
||||
"viewToggleLabel": "Ansicht",
|
||||
"viewCards": "Kartenansicht",
|
||||
"viewTable": "Tabellenansicht",
|
||||
"viewSaveFailed": "Ansicht konnte nicht gespeichert werden",
|
||||
"tableCaption": "Medikamente in Tabellenform mit Status, nächster Einnahme, Therapietreue und Bestand",
|
||||
"tableColName": "Name",
|
||||
"tableColStatus": "Status",
|
||||
"tableColNextDose": "Nächste Einnahme",
|
||||
"tableColCompliance": "Therapietreue",
|
||||
"tableColStock": "Bestand",
|
||||
"tableColActions": "Aktionen",
|
||||
"tableSortBy": "Sortieren nach {column}",
|
||||
"tableComplianceDays": "{days} T",
|
||||
"tableStockDoseOne": "1 Dosis",
|
||||
"tableStockDoses": "{count} Dosen",
|
||||
"takeActionFor": "Einnehmen – {name}",
|
||||
"skipActionFor": "Überspringen – {name}",
|
||||
"reorderTitle": "Reihenfolge anpassen",
|
||||
"reorderDescription": "Bestimme die Reihenfolge deiner Medikamente – sie gilt für die Karten- und die Tabellenansicht.",
|
||||
"reorderSaved": "Reihenfolge gespeichert",
|
||||
"reorderSaveFailed": "Reihenfolge konnte nicht gespeichert werden"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Diagramm wird geladen…",
|
||||
|
||||
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Track injection sites",
|
||||
"trackInjectionSitesHint": "After a dose is taken, ask which site was used and suggest the next rotation.",
|
||||
"allowedSitesLabel": "Allowed sites",
|
||||
"allowedSitesHint": "Leave all selected for no restriction. Sites you excluded globally are never offered."
|
||||
"allowedSitesHint": "Leave all selected for no restriction. Sites you excluded globally are never offered.",
|
||||
"viewToggleLabel": "View",
|
||||
"viewCards": "Card view",
|
||||
"viewTable": "Table view",
|
||||
"viewSaveFailed": "View could not be saved",
|
||||
"tableCaption": "Medications as a table with status, next dose, adherence and stock",
|
||||
"tableColName": "Name",
|
||||
"tableColStatus": "Status",
|
||||
"tableColNextDose": "Next dose",
|
||||
"tableColCompliance": "Adherence",
|
||||
"tableColStock": "Stock",
|
||||
"tableColActions": "Actions",
|
||||
"tableSortBy": "Sort by {column}",
|
||||
"tableComplianceDays": "{days} d",
|
||||
"tableStockDoseOne": "1 dose",
|
||||
"tableStockDoses": "{count} doses",
|
||||
"takeActionFor": "Take – {name}",
|
||||
"skipActionFor": "Skip – {name}",
|
||||
"reorderTitle": "Adjust order",
|
||||
"reorderDescription": "Set the order of your medications – it applies to both the card and the table view.",
|
||||
"reorderSaved": "Order saved",
|
||||
"reorderSaveFailed": "Order could not be saved"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Loading chart…",
|
||||
|
||||
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Registrar sitios de inyección",
|
||||
"trackInjectionSitesHint": "Tras administrar una dosis, pregunta qué sitio se usó y sugiere la siguiente rotación.",
|
||||
"allowedSitesLabel": "Sitios permitidos",
|
||||
"allowedSitesHint": "Deja todos seleccionados para no aplicar restricciones. Los sitios que excluiste globalmente nunca se ofrecen."
|
||||
"allowedSitesHint": "Deja todos seleccionados para no aplicar restricciones. Los sitios que excluiste globalmente nunca se ofrecen.",
|
||||
"viewToggleLabel": "Vista",
|
||||
"viewCards": "Vista de tarjetas",
|
||||
"viewTable": "Vista de tabla",
|
||||
"viewSaveFailed": "No se pudo guardar la vista",
|
||||
"tableCaption": "Medicamentos en tabla con estado, próxima toma, adherencia y existencias",
|
||||
"tableColName": "Nombre",
|
||||
"tableColStatus": "Estado",
|
||||
"tableColNextDose": "Próxima toma",
|
||||
"tableColCompliance": "Adherencia",
|
||||
"tableColStock": "Existencias",
|
||||
"tableColActions": "Acciones",
|
||||
"tableSortBy": "Ordenar por {column}",
|
||||
"tableComplianceDays": "{days} d",
|
||||
"tableStockDoseOne": "1 dosis",
|
||||
"tableStockDoses": "{count} dosis",
|
||||
"takeActionFor": "Tomar – {name}",
|
||||
"skipActionFor": "Omitir – {name}",
|
||||
"reorderTitle": "Ajustar orden",
|
||||
"reorderDescription": "Define el orden de tus medicamentos: se aplica a la vista de tarjetas y a la de tabla.",
|
||||
"reorderSaved": "Orden guardado",
|
||||
"reorderSaveFailed": "No se pudo guardar el orden"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Cargando la gráfica…",
|
||||
|
||||
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Suivre les sites d'injection",
|
||||
"trackInjectionSitesHint": "Après la prise d'une dose, demander quel site a été utilisé et suggérer la prochaine rotation.",
|
||||
"allowedSitesLabel": "Sites autorisés",
|
||||
"allowedSitesHint": "Laissez tout sélectionné pour aucune restriction. Les sites exclus globalement ne sont jamais proposés."
|
||||
"allowedSitesHint": "Laissez tout sélectionné pour aucune restriction. Les sites exclus globalement ne sont jamais proposés.",
|
||||
"viewToggleLabel": "Affichage",
|
||||
"viewCards": "Vue cartes",
|
||||
"viewTable": "Vue tableau",
|
||||
"viewSaveFailed": "L'affichage n'a pas pu être enregistré",
|
||||
"tableCaption": "Médicaments sous forme de tableau avec statut, prochaine prise, observance et stock",
|
||||
"tableColName": "Nom",
|
||||
"tableColStatus": "Statut",
|
||||
"tableColNextDose": "Prochaine prise",
|
||||
"tableColCompliance": "Observance",
|
||||
"tableColStock": "Stock",
|
||||
"tableColActions": "Actions",
|
||||
"tableSortBy": "Trier par {column}",
|
||||
"tableComplianceDays": "{days} j",
|
||||
"tableStockDoseOne": "1 dose",
|
||||
"tableStockDoses": "{count} doses",
|
||||
"takeActionFor": "Prendre – {name}",
|
||||
"skipActionFor": "Passer – {name}",
|
||||
"reorderTitle": "Modifier l'ordre",
|
||||
"reorderDescription": "Définis l'ordre de tes médicaments – il s'applique à la vue cartes et à la vue tableau.",
|
||||
"reorderSaved": "Ordre enregistré",
|
||||
"reorderSaveFailed": "L'ordre n'a pas pu être enregistré"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Chargement du graphique…",
|
||||
|
||||
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Registra i siti di iniezione",
|
||||
"trackInjectionSitesHint": "Dopo l'assunzione di una dose, chiedi quale sito è stato usato e suggerisci la rotazione successiva.",
|
||||
"allowedSitesLabel": "Siti consentiti",
|
||||
"allowedSitesHint": "Lascia tutti selezionati per nessuna restrizione. I siti esclusi globalmente non vengono mai proposti."
|
||||
"allowedSitesHint": "Lascia tutti selezionati per nessuna restrizione. I siti esclusi globalmente non vengono mai proposti.",
|
||||
"viewToggleLabel": "Vista",
|
||||
"viewCards": "Vista a schede",
|
||||
"viewTable": "Vista tabella",
|
||||
"viewSaveFailed": "Impossibile salvare la vista",
|
||||
"tableCaption": "Farmaci in tabella con stato, prossima assunzione, aderenza e scorte",
|
||||
"tableColName": "Nome",
|
||||
"tableColStatus": "Stato",
|
||||
"tableColNextDose": "Prossima assunzione",
|
||||
"tableColCompliance": "Aderenza",
|
||||
"tableColStock": "Scorte",
|
||||
"tableColActions": "Azioni",
|
||||
"tableSortBy": "Ordina per {column}",
|
||||
"tableComplianceDays": "{days} g",
|
||||
"tableStockDoseOne": "1 dose",
|
||||
"tableStockDoses": "{count} dosi",
|
||||
"takeActionFor": "Assumi – {name}",
|
||||
"skipActionFor": "Salta – {name}",
|
||||
"reorderTitle": "Modifica ordine",
|
||||
"reorderDescription": "Imposta l'ordine dei tuoi farmaci: vale per la vista a schede e per la tabella.",
|
||||
"reorderSaved": "Ordine salvato",
|
||||
"reorderSaveFailed": "Impossibile salvare l’ordine"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Caricamento del grafico…",
|
||||
|
||||
+22
-1
@@ -1714,7 +1714,28 @@
|
||||
"trackInjectionSitesToggle": "Rejestruj miejsca iniekcji",
|
||||
"trackInjectionSitesHint": "Po przyjęciu dawki zapytaj, którego miejsca użyto, i zaproponuj kolejną rotację.",
|
||||
"allowedSitesLabel": "Dozwolone miejsca",
|
||||
"allowedSitesHint": "Pozostaw wszystkie zaznaczone, aby nie stosować ograniczeń. Miejsca wykluczone globalnie nigdy nie są proponowane."
|
||||
"allowedSitesHint": "Pozostaw wszystkie zaznaczone, aby nie stosować ograniczeń. Miejsca wykluczone globalnie nigdy nie są proponowane.",
|
||||
"viewToggleLabel": "Widok",
|
||||
"viewCards": "Widok kart",
|
||||
"viewTable": "Widok tabeli",
|
||||
"viewSaveFailed": "Nie udało się zapisać widoku",
|
||||
"tableCaption": "Leki w formie tabeli ze statusem, następną dawką, przestrzeganiem zaleceń i zapasem",
|
||||
"tableColName": "Nazwa",
|
||||
"tableColStatus": "Status",
|
||||
"tableColNextDose": "Następna dawka",
|
||||
"tableColCompliance": "Przestrzeganie",
|
||||
"tableColStock": "Zapas",
|
||||
"tableColActions": "Akcje",
|
||||
"tableSortBy": "Sortuj według {column}",
|
||||
"tableComplianceDays": "{days} dni",
|
||||
"tableStockDoseOne": "1 dawka",
|
||||
"tableStockDoses": "{count} dawek",
|
||||
"takeActionFor": "Przyjmij – {name}",
|
||||
"skipActionFor": "Pomiń – {name}",
|
||||
"reorderTitle": "Zmień kolejność",
|
||||
"reorderDescription": "Ustal kolejność swoich leków – obowiązuje w widoku kart i w tabeli.",
|
||||
"reorderSaved": "Kolejność zapisana",
|
||||
"reorderSaveFailed": "Nie udało się zapisać kolejności"
|
||||
},
|
||||
"charts": {
|
||||
"loadingLabel": "Ładowanie wykresu…",
|
||||
|
||||
Reference in new issue
Block a user