From a43a2e1083c8fac2c6e35fde95c1aeb7db84ca71 Mon Sep 17 00:00:00 2001 From: Felix <67233923+DasProffi@users.noreply.github.com> Date: Mon, 14 Aug 2023 04:41:12 +0200 Subject: [PATCH] feat: reenable duedate field --- pnpm-lock.yaml | 7 ++ tasks/components/layout/TaskDetailView.tsx | 71 ++++++++--- tasks/mutations/task_mutations.ts | 138 +++++++++++++-------- tasks/package.json | 1 + tasks/utils/timeConversion.ts | 19 +++ 5 files changed, 167 insertions(+), 69 deletions(-) create mode 100644 tasks/utils/timeConversion.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4bc9b64..99a8c1ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -231,6 +231,9 @@ importers: '@twind/preset-typography': specifier: 1.0.7 version: 1.0.7(@twind/core@1.1.3)(typescript@5.1.6) + '@types/google-protobuf': + specifier: ^3.15.6 + version: 3.15.6 cookies-next: specifier: 2.1.2 version: 2.1.2 @@ -4710,6 +4713,10 @@ packages: resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} dev: true + /@types/google-protobuf@3.15.6: + resolution: {integrity: sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw==} + dev: false + /@types/graceful-fs@4.1.6: resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} dependencies: diff --git a/tasks/components/layout/TaskDetailView.tsx b/tasks/components/layout/TaskDetailView.tsx index 931f4439..8794c7e4 100644 --- a/tasks/components/layout/TaskDetailView.tsx +++ b/tasks/components/layout/TaskDetailView.tsx @@ -1,6 +1,6 @@ import type { PropsWithLanguage } from '@helpwave/common/hooks/useTranslation' import { useTranslation } from '@helpwave/common/hooks/useTranslation' -import { tw } from '@helpwave/common/twind' +import { tw, tx } from '@helpwave/common/twind' import { ToggleableInput } from '@helpwave/common/components/user_input/ToggleableInput' import { Textarea } from '@helpwave/common/components/user_input/Textarea' import { Select } from '@helpwave/common/components/user_input/Select' @@ -14,23 +14,25 @@ import { TaskTemplateListColumn } from '../TaskTemplateListColumn' import { Input } from '@helpwave/common/components/user_input/Input' import type { Languages } from '@helpwave/common/hooks/useLanguage' import type { TaskTemplateDTO } from '../../mutations/task_template_mutations' -import { - usePersonalTaskTemplateQuery, - useWardTaskTemplateQuery -} from '../../mutations/task_template_mutations' +import { usePersonalTaskTemplateQuery, useWardTaskTemplateQuery } from '../../mutations/task_template_mutations' import { useAuth } from '../../hooks/useAuth' import { useRouter } from 'next/router' import type { TaskDTO } from '../../mutations/task_mutations' import { emptyTask, useSubTaskAddMutation, - useTaskCreateMutation, useTaskDeleteMutation, + useTaskCreateMutation, + useTaskDeleteMutation, useTaskQuery, + useTaskToDoneMutation, + useTaskToInProgressMutation, + useTaskToToDoMutation, useTaskUpdateMutation } from '../../mutations/task_mutations' import { useEffect, useState } from 'react' import { LoadingAnimation } from '@helpwave/common/components/LoadingAnimation' -import { tx } from '@twind/core' +import { GetPatientDetailsResponse } from '@helpwave/proto-ts/proto/services/task_svc/v1/patient_svc_pb' +import TaskStatus = GetPatientDetailsResponse.TaskStatus import { LoadingAndErrorComponent } from '@helpwave/common/components/LoadingAndErrorComponent' type TaskDetailViewTranslation = { @@ -121,6 +123,9 @@ export const TaskDetailView = ({ const updateTaskMutation = useTaskUpdateMutation() const deleteTaskMutation = useTaskDeleteMutation(onClose) + const toToDoMutation = useTaskToToDoMutation() + const toInProgressMutation = useTaskToInProgressMutation() + const toDoneMutation = useTaskToDoneMutation() useEffect(() => { if (data && taskID) { @@ -179,8 +184,8 @@ export const TaskDetailView = ({ { /* TODO create a new component for this */}
-
-
+
+
{ - const dueDate = new Date(value) - setTask({ ...task, dueDate }) - }} - /> +
+ { + const dueDate = new Date(value) + setTask({ ...task, dueDate }) + // Maybe add some auto save here after a validation + }} + /> + { /* TODO reenable when backend has implemented a remove duedate + + */ } +
- setTask({ ...task, status })}/> + { + switch (status) { + case TaskStatus.TASK_STATUS_TODO: + toToDoMutation.mutate(task.id) + break + case TaskStatus.TASK_STATUS_IN_PROGRESS: + toInProgressMutation.mutate(task.id) + break + case TaskStatus.TASK_STATUS_DONE: + toDoneMutation.mutate(task.id) + break + default: + break + } + setTask({ ...task, status }) + }}/>
-
+