improvement: task assignment flow added. cases and tasks feature updated accordingly.
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
import type { CSSProperties } from 'react';
|
||||
import type { BadgeVariant } from '@/components/ui/shared/Badge';
|
||||
import type { LabTaskStatus } from '@/types/cases';
|
||||
import type { LabTaskListItem, LabTaskStatus } from '@/types/cases';
|
||||
|
||||
export function canEditLabTaskStatus(
|
||||
task: Pick<LabTaskListItem, 'assignee'>,
|
||||
currentUserId: string | undefined,
|
||||
canEditTasks: boolean,
|
||||
): boolean {
|
||||
if (!canEditTasks || !currentUserId) return false;
|
||||
if (!task.assignee) return true;
|
||||
return task.assignee.id === currentUserId;
|
||||
}
|
||||
|
||||
export function labTaskStatusVariant(status: LabTaskStatus): BadgeVariant {
|
||||
return status === 'COMPLETED' ? 'success' : 'warning';
|
||||
|
||||
@@ -8,6 +8,7 @@ export type TasksViewState = {
|
||||
sortBy: TaskSortField;
|
||||
sortDir: 'asc' | 'desc';
|
||||
importantOnly: boolean;
|
||||
assignedToMe: boolean;
|
||||
page: number;
|
||||
highlightTaskId: string | null;
|
||||
};
|
||||
@@ -20,6 +21,7 @@ export const DEFAULT_TASKS_VIEW: TasksViewState = {
|
||||
sortBy: 'date',
|
||||
sortDir: 'desc',
|
||||
importantOnly: false,
|
||||
assignedToMe: false,
|
||||
page: 1,
|
||||
highlightTaskId: null,
|
||||
};
|
||||
@@ -35,6 +37,7 @@ export function isDefaultTasksView(state: TasksViewState): boolean {
|
||||
state.sortBy === DEFAULT_TASKS_VIEW.sortBy &&
|
||||
state.sortDir === DEFAULT_TASKS_VIEW.sortDir &&
|
||||
state.importantOnly === DEFAULT_TASKS_VIEW.importantOnly &&
|
||||
state.assignedToMe === DEFAULT_TASKS_VIEW.assignedToMe &&
|
||||
state.page === DEFAULT_TASKS_VIEW.page &&
|
||||
state.highlightTaskId === DEFAULT_TASKS_VIEW.highlightTaskId
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user