From 4412851d3279624b1fcd51edab6f99921052b49f Mon Sep 17 00:00:00 2001 From: William Petit Date: Wed, 22 Apr 2020 23:18:18 +0200 Subject: [PATCH] Project deletion --- src/routes/project/financial-preview.tsx | 12 +++- src/routes/project/index.tsx | 2 +- src/routes/project/params-tab.tsx | 76 ++++++++++++++------ src/routes/project/task-categories-table.tsx | 2 +- 4 files changed, 67 insertions(+), 25 deletions(-) diff --git a/src/routes/project/financial-preview.tsx b/src/routes/project/financial-preview.tsx index bd39fbc..a820eca 100644 --- a/src/routes/project/financial-preview.tsx +++ b/src/routes/project/financial-preview.tsx @@ -27,11 +27,19 @@ const FinancialPreview: FunctionalComponent = ({ project Maximum - {maxCost} {getCurrency(project)} + +
+ ~ {maxCost} {getCurrency(project)} +
+ Minimum - {minCost} {getCurrency(project)} + +
+ ~ {minCost} {getCurrency(project)} +
+ diff --git a/src/routes/project/index.tsx b/src/routes/project/index.tsx index 33c37e5..15173ec 100644 --- a/src/routes/project/index.tsx +++ b/src/routes/project/index.tsx @@ -43,7 +43,7 @@ const Project: FunctionalComponent = ({ projectId }) => { render: () => }, { - label: 'Paramètres', + label: 'Options avancées', icon: '⚙️', render: () => }, diff --git a/src/routes/project/params-tab.tsx b/src/routes/project/params-tab.tsx index 9c9a8ee..aefbef4 100644 --- a/src/routes/project/params-tab.tsx +++ b/src/routes/project/params-tab.tsx @@ -3,6 +3,9 @@ import { Project } from "../../models/project"; import { ProjectReducerActions, updateParam } from "../../hooks/use-project-reducer"; import { getRoundUpEstimations, getCurrency, getTimeUnit } from "../../models/params"; import TaskCategoriesTable from "./task-categories-table"; +import { useState } from "preact/hooks"; +import { route } from "preact-router"; +import { getProjectStorageKey } from "../../util/storage"; export interface ParamsTabProps { project: Project @@ -10,57 +13,69 @@ export interface ParamsTabProps { } const ParamsTab: FunctionalComponent = ({ project, dispatch }) => { + const [ deleteButtonEnabled, setDeleteButtonEnabled ] = useState(false); + + const onEnableDeleteButtonChange = (evt: Event) => { + const checked = (evt.currentTarget as HTMLInputElement).checked; + setDeleteButtonEnabled(checked); + } + const onRoundUpChange = (evt: Event) => { - const checked = (evt.currentTarget as HTMLInputElement).checked; - dispatch(updateParam("roundUpEstimations", checked)); + const checked = (evt.currentTarget as HTMLInputElement).checked; + dispatch(updateParam("roundUpEstimations", checked)); }; const onCurrencyChange = (evt: Event) => { - const value = (evt.currentTarget as HTMLInputElement).value; - dispatch(updateParam("currency", value)); + const value = (evt.currentTarget as HTMLInputElement).value; + dispatch(updateParam("currency", value)); }; const timeUnit = getTimeUnit(project); const onTimeUnitLabelChange = (evt: Event) => { - const value = (evt.currentTarget as HTMLInputElement).value; - dispatch(updateParam("timeUnit", { ...timeUnit, label: value })); + const value = (evt.currentTarget as HTMLInputElement).value; + dispatch(updateParam("timeUnit", { ...timeUnit, label: value })); }; const onTimeUnitAcronymChange = (evt: Event) => { - const value = (evt.currentTarget as HTMLInputElement).value; - dispatch(updateParam("timeUnit", { ...timeUnit, acronym: value })); + const value = (evt.currentTarget as HTMLInputElement).value; + dispatch(updateParam("timeUnit", { ...timeUnit, acronym: value })); + }; + + const onDeleteProjectClick = (evt: Event) => { + const projectStorageKey = getProjectStorageKey(project.id); + window.localStorage.removeItem(projectStorageKey); + route('/'); }; return (
- - -
-
-
- +
- +
+
+ + +

- +
= ({ project, dispatch }) =

+
+
+ +
+ + +
+ +
+
); }; diff --git a/src/routes/project/task-categories-table.tsx b/src/routes/project/task-categories-table.tsx index 82ec14a..8eeedee 100644 --- a/src/routes/project/task-categories-table.tsx +++ b/src/routes/project/task-categories-table.tsx @@ -45,7 +45,7 @@ const TaskCategoriesTable: FunctionalComponent = ({ pr return (
- +