From 558f92052d6632034e891516142e85f0f0339c6e Mon Sep 17 00:00:00 2001 From: Akaswan Date: Sat, 4 Jan 2025 10:17:12 -0600 Subject: [PATCH] Fixed some minor bugs related to dates and task data --- src/main/components/App.tsx | 18 ++++++++++++++++-- src/main/components/Table.tsx | 6 +++++- src/main/components/TaskCell.tsx | 5 ++++- styles.css | 1 - 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/components/App.tsx b/src/main/components/App.tsx index 7c54b32..0e9dc82 100644 --- a/src/main/components/App.tsx +++ b/src/main/components/App.tsx @@ -48,10 +48,10 @@ const App: React.FC = () => { return newDates; }); }; - + const decrementDates = () => { setDates((prevDates) => { - const newDates = getWeekDates(subDays(new Date(prevDates[0]), 8)); + const newDates = getWeekDates(subDays(new Date(prevDates[0]), 6)); return newDates; }); }; @@ -73,6 +73,19 @@ const App: React.FC = () => { }); }; + const handleTaskNameChange = (id: number, newName: string) => { + setProjects((prevProjects) => { + const newProjects = prevProjects.map((project) => { + const newTasks = project.tasks.map((task) => + task.id === id ? { ...task, name: newName } : task + ); + return { ...project, tasks: newTasks }; + }); + saveSpecificData("projects", newProjects); + return newProjects; + }); + } + const removeProject = (id: number) => { setProjects((prevProjects) => { const newProjects = prevProjects.filter( @@ -183,6 +196,7 @@ const App: React.FC = () => { removeProject={removeProject} removeTask={removeTask} nextTaskId={nextTaskId} + handleTaskNameChange={handleTaskNameChange} /> ); diff --git a/src/main/components/Table.tsx b/src/main/components/Table.tsx index ec41561..94c6cc6 100644 --- a/src/main/components/Table.tsx +++ b/src/main/components/Table.tsx @@ -17,6 +17,7 @@ interface TableProps { removeProject: (id: number) => void; removeTask: (id: number) => void; nextTaskId: number; + handleTaskNameChange: (id: number, newName: string) => void; } const Table: React.FC = ({ @@ -28,7 +29,8 @@ const Table: React.FC = ({ addTaskToProject, removeProject, removeTask, - nextTaskId + nextTaskId, + handleTaskNameChange }) => { const containerRef = useRef(null); const newProjectInputRef = useRef(null); @@ -131,6 +133,8 @@ const Table: React.FC = ({ ? newTaskInputRef : null } + + handleTaskNameChange={handleTaskNameChange} /> ))} diff --git a/src/main/components/TaskCell.tsx b/src/main/components/TaskCell.tsx index a0d32f3..4eb7d42 100644 --- a/src/main/components/TaskCell.tsx +++ b/src/main/components/TaskCell.tsx @@ -23,9 +23,10 @@ interface TaskCellProps { task: Task; removeTask: (id: number) => void; inputRef: React.RefObject | null; + handleTaskNameChange: (id: number, newName: string) => void; } -const TaskCell: React.FC = ({task, removeTask, inputRef}) => { +const TaskCell: React.FC = ({task, removeTask, inputRef, handleTaskNameChange}) => { const color = "#35CC70"; document.documentElement.style.setProperty("--task-color", color); @@ -52,6 +53,8 @@ const TaskCell: React.FC = ({task, removeTask, inputRef}) => { if (e.target.value === "") removeTask(task.id); }} ref={inputRef} + onChange={(e) => handleTaskNameChange(task.id, e.target.value)} + value={task.name} > diff --git a/styles.css b/styles.css index 34dcbe5..68320d9 100644 --- a/styles.css +++ b/styles.css @@ -139,7 +139,6 @@ padding: 8px; font-size: small; height: 80px; - /* height: 128px; */ border-top: var(--border-width) solid var(--background-modifier-border); } .taskcell-enclosure {