improvement: UI/UX improved for v1 standalone treatments/cases feature.

This commit is contained in:
2026-08-19 16:07:32 +03:30
parent 8bfa8c88fe
commit 96f698be98
24 changed files with 320 additions and 121 deletions

View File

@@ -0,0 +1,5 @@
export type LabCaseOriginCode = 'CLINIC_DISPATCH' | 'LAB_INTERNAL';
export function isLabGeneratedCase(origin?: string | null): boolean {
return origin === 'LAB_INTERNAL';
}

View File

@@ -16,6 +16,10 @@ export function parseTasksSearchParams(
if (searchParams.get('unassignedOnly') === '1') {
partial.unassignedOnly = true;
}
const origin = searchParams.get('origin');
if (origin === 'CLINIC_DISPATCH' || origin === 'LAB_INTERNAL') {
partial.origin = origin;
}
const status = searchParams.get('status');
if (status === 'IN_PROGRESS' || status === 'COMPLETED') {

View File

@@ -17,6 +17,7 @@ export type CaseTaskGroup = {
caseDueDate: string | null;
isCaseOverdue: boolean;
isImportant: boolean;
origin?: 'CLINIC_DISPATCH' | 'LAB_INTERNAL';
prosthesisGroups: ProsthesisTaskGroup[];
};
@@ -52,6 +53,7 @@ export function groupTasksForDisplay(
caseDueDate: task.caseDueDate ?? null,
isCaseOverdue: task.isCaseOverdue,
isImportant: task.isImportant,
origin: task.origin,
prosthesisGroups: [],
});
}

View File

@@ -11,6 +11,7 @@ export type TasksViewState = {
assignedToMe: boolean;
overdueOnly: boolean;
unassignedOnly: boolean;
origin: '' | 'CLINIC_DISPATCH' | 'LAB_INTERNAL';
prosthesisTypeCode: string;
page: number;
highlightTaskId: string | null;
@@ -27,6 +28,7 @@ export const DEFAULT_TASKS_VIEW: TasksViewState = {
assignedToMe: false,
overdueOnly: false,
unassignedOnly: false,
origin: '',
prosthesisTypeCode: '',
page: 1,
highlightTaskId: null,
@@ -46,6 +48,7 @@ export function isDefaultTasksView(state: TasksViewState): boolean {
state.assignedToMe === DEFAULT_TASKS_VIEW.assignedToMe &&
state.overdueOnly === DEFAULT_TASKS_VIEW.overdueOnly &&
state.unassignedOnly === DEFAULT_TASKS_VIEW.unassignedOnly &&
state.origin === DEFAULT_TASKS_VIEW.origin &&
state.prosthesisTypeCode === DEFAULT_TASKS_VIEW.prosthesisTypeCode &&
state.page === DEFAULT_TASKS_VIEW.page &&
state.highlightTaskId === DEFAULT_TASKS_VIEW.highlightTaskId