bugfix: no-detail treatment ui made some confusion. it is improved. at least to a degree.
This commit is contained in:
@@ -32,7 +32,7 @@ import { prosthesisCatalogApi } from '@/lib/api/prosthesis-catalog';
|
||||
import { treatmentsApi } from '@/lib/api/treatments';
|
||||
import { notificationsApi } from '@/lib/api/notifications';
|
||||
import { pickAutoAppointment } from '@/components/shared/treatmentSelection';
|
||||
import type { DayStripItem } from '@/components/treatment/dayStrip';
|
||||
import { unscheduledStripColorCode, type DayStripItem } from '@/components/treatment/dayStrip';
|
||||
import {
|
||||
areDetailsPersistable,
|
||||
defaultTreatmentTypeForAppointment,
|
||||
@@ -603,8 +603,8 @@ export function TreatmentWorkspace({
|
||||
setStandaloneTreatments((prev) => {
|
||||
const current = prev.find((row) => row.id === selectedStandaloneId);
|
||||
if (!current) return prev;
|
||||
const prevColor = current.details.find((d) => d.treatmentType?.trim())?.treatmentType?.trim() ?? '';
|
||||
const nextColor = nextDetails.find((d) => d.treatmentType?.trim())?.treatmentType?.trim() ?? '';
|
||||
const prevColor = unscheduledStripColorCode(current.details);
|
||||
const nextColor = unscheduledStripColorCode(nextDetails);
|
||||
if (
|
||||
prevColor === nextColor &&
|
||||
areUnscheduledDetailsStripDeletable(current.details) ===
|
||||
@@ -635,8 +635,7 @@ export function TreatmentWorkspace({
|
||||
const sourceDetails = tr.id === selectedStandaloneId && !draftHydratingRef.current
|
||||
? details
|
||||
: tr.details;
|
||||
const typedDetail = sourceDetails.find((d) => Boolean(d.treatmentType?.trim()));
|
||||
const colorCode = typedDetail?.treatmentType?.trim() ?? '';
|
||||
const colorCode = unscheduledStripColorCode(sourceDetails);
|
||||
return {
|
||||
kind: 'unscheduled' as const,
|
||||
id: tr.id,
|
||||
@@ -1887,7 +1886,9 @@ export function TreatmentWorkspace({
|
||||
if (idx < 0) return;
|
||||
const target = details[idx];
|
||||
if (!target || isDetailLocked(target)) return;
|
||||
if (!window.confirm(t('confirmRemoveDetail'))) return;
|
||||
if (!window.confirm(
|
||||
details.length <= 1 ? t('confirmRemoveLastDetail') : t('confirmRemoveDetail'),
|
||||
)) return;
|
||||
|
||||
const nextDetails = details.filter((d) => d.clientId !== detailClientId);
|
||||
const nextActive =
|
||||
@@ -2342,8 +2343,8 @@ export function TreatmentWorkspace({
|
||||
canEdit={canEdit}
|
||||
saveStatus={saveStatus}
|
||||
uploadBusy={uploadBusyDetailId === activeDetailId}
|
||||
onAddDetail={(initialType) => {
|
||||
const next = newDetail(initialType);
|
||||
onAddDetail={() => {
|
||||
const next = newDetail();
|
||||
setDetails((prev) => [...prev, next]);
|
||||
setActiveDetailId(next.clientId);
|
||||
setEntryStep('treatment');
|
||||
|
||||
Reference in New Issue
Block a user