feature: version one notification feature implemented.
This commit is contained in:
@@ -318,12 +318,14 @@ interface TreatmentWorkspaceProps {
|
||||
userId: string;
|
||||
currentOrganization: Organization | null;
|
||||
initialAppointmentId?: string | null;
|
||||
initialLabCaseId?: string | null;
|
||||
}
|
||||
|
||||
export function TreatmentWorkspace({
|
||||
userId,
|
||||
currentOrganization,
|
||||
initialAppointmentId = null,
|
||||
initialLabCaseId = null,
|
||||
}: TreatmentWorkspaceProps) {
|
||||
const locale = useLocale();
|
||||
const t = useTranslations('treatment');
|
||||
@@ -404,6 +406,7 @@ export function TreatmentWorkspace({
|
||||
labCaseDraftsRef.current = labCaseDrafts;
|
||||
const skipNextGetDraftRef = useRef(false);
|
||||
const pendingAppointmentIdRef = useRef<string | null>(initialAppointmentId);
|
||||
const pendingLabCaseIdRef = useRef<string | null>(initialLabCaseId);
|
||||
const labPanelRef = useRef<HTMLDivElement>(null);
|
||||
const historyRequestRef = useRef(0);
|
||||
/** When set, activeDetailId effect opens this wizard step instead of resetting to teeth. */
|
||||
@@ -417,6 +420,10 @@ export function TreatmentWorkspace({
|
||||
}
|
||||
}, [initialAppointmentId]);
|
||||
|
||||
useEffect(() => {
|
||||
pendingLabCaseIdRef.current = initialLabCaseId;
|
||||
}, [initialLabCaseId]);
|
||||
|
||||
const [sendBusyId, setSendBusyId] = useState<string | null>(null);
|
||||
const [uploadBusyDetailId, setUploadBusyDetailId] = useState<string | null>(null);
|
||||
const [organizationSearch, setOrganizationSearch] = useState('');
|
||||
@@ -1351,6 +1358,17 @@ export function TreatmentWorkspace({
|
||||
],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
const labCaseId = pendingLabCaseIdRef.current;
|
||||
if (!labCaseId) return;
|
||||
const match =
|
||||
unreadLabCases.find((item) => item.labCaseId === labCaseId) ??
|
||||
patientLabCases.find((item) => item.labCaseId === labCaseId);
|
||||
if (!match) return;
|
||||
pendingLabCaseIdRef.current = null;
|
||||
void handleSelectPatientLabCase(match);
|
||||
}, [unreadLabCases, patientLabCases, handleSelectPatientLabCase]);
|
||||
|
||||
useEffect(() => {
|
||||
const match = patientLabCases.find((item) => item.detailClientId === activeDetailId);
|
||||
if (match) {
|
||||
|
||||
Reference in New Issue
Block a user