@@ -20,6 +20,7 @@ import {
|
||||
getMedDisplayName,
|
||||
getMedTotal,
|
||||
getPackageSize,
|
||||
getStockDisplayCapacity,
|
||||
type IntakeUnit,
|
||||
isAmountBasedPackageType,
|
||||
isLiquidContainerPackageType,
|
||||
@@ -213,9 +214,10 @@ export function MedDetailModal({
|
||||
|
||||
const medCoverage = coverage.all.find((c) => c.name === getMedDisplayName(selectedMed));
|
||||
const packageSize = getPackageSize(selectedMed);
|
||||
const stockDisplayCapacity = getStockDisplayCapacity(selectedMed);
|
||||
// Structural max = sealed package capacity only (excludes pre-existing looseTablets).
|
||||
const structuralMax = isAmountBasedPackageType(selectedMed.packageType)
|
||||
? (selectedMed.totalPills ?? packageSize)
|
||||
? stockDisplayCapacity
|
||||
: selectedMed.packCount * selectedMed.blistersPerPack * selectedMed.pillsPerBlister;
|
||||
const currentStock = medCoverage ? Math.round(medCoverage.medsLeft) : getMedTotal(selectedMed);
|
||||
const status = medCoverage ? getStockStatus(medCoverage.daysLeft, medCoverage.medsLeft, settings) : null;
|
||||
@@ -226,7 +228,7 @@ export function MedDetailModal({
|
||||
const currentPartialPills = Math.max(0, stock.openBlisterPills);
|
||||
const currentLoosePills = Math.max(0, stock.loosePills);
|
||||
const stockDisplayTotal = isAmountBasedPackageType(selectedMed.packageType)
|
||||
? (selectedMed.totalPills ?? packageSize)
|
||||
? stockDisplayCapacity
|
||||
: Math.max(0, structuralMax);
|
||||
const packageCount = Math.max(1, Number(selectedMed.packCount) || 1);
|
||||
const amountPerPackage = (() => {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { useScrollLock } from "../hooks/useScrollLock";
|
||||
import type { Medication } from "../types";
|
||||
import {
|
||||
getMedDisplayName,
|
||||
getPackageSize,
|
||||
getMedTotal,
|
||||
isAmountBasedPackageType,
|
||||
isLiquidContainerPackageType,
|
||||
isTubePackageType,
|
||||
@@ -313,9 +313,9 @@ function getTotalCapacityLabel(med: Medication, t: TFn): string {
|
||||
|
||||
function getCurrentStockText(med: Medication, t: TFn): string {
|
||||
if (isTubePackageType(med.packageType) || isLiquidContainerPackageType(med.packageType)) {
|
||||
return `${getPackageSize(med)} ${t(getTubeUnitKey(med))}`;
|
||||
return `${getMedTotal(med)} ${t(getTubeUnitKey(med))}`;
|
||||
}
|
||||
return `${getPackageSize(med)} ${t("common.pills")}`;
|
||||
return `${getMedTotal(med)} ${t("common.pills")}`;
|
||||
}
|
||||
|
||||
function getReportPackageTypeLabel(med: Medication, t: TFn): string {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { useTranslation } from "react-i18next";
|
||||
import { MedicationAvatar } from "../components";
|
||||
import { useEscapeKey } from "../hooks/useEscapeKey";
|
||||
import type { Coverage, IntakeUnit, Medication, StockThresholds } from "../types";
|
||||
import { getMedDisplayName, getMedTotal, getPackageSize } from "../types";
|
||||
import { getMedDisplayName, getMedTotal, getStockDisplayCapacity } from "../types";
|
||||
import { allowsPillFormSelection, isLiquidContainerPackageType, isTubePackageType } from "../types/package-profiles";
|
||||
import { formatNumber } from "../utils";
|
||||
import { getSystemLocale } from "../utils/formatters";
|
||||
@@ -99,7 +99,7 @@ export function UserFilterModal({
|
||||
const status = medCoverage
|
||||
? getStockStatus(medCoverage.daysLeft, medCoverage.medsLeft, settings, med.packageType)
|
||||
: getStockStatus(null, getMedTotal(med), settings, med.packageType);
|
||||
const packageSize = getPackageSize(med);
|
||||
const packageSize = getStockDisplayCapacity(med);
|
||||
const currentStock = medCoverage ? medCoverage.medsLeft : getMedTotal(med);
|
||||
|
||||
// Get intakes relevant to this person
|
||||
|
||||
Reference in New Issue
Block a user