Fixed some minor bugs related to dates and task data

This commit is contained in:
Akaswan 2025-01-04 10:17:12 -06:00
parent b2d2e215c7
commit 558f92052d
4 changed files with 25 additions and 5 deletions

View file

@ -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}
/>
</div>
);

View file

@ -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<TableProps> = ({
@ -28,7 +29,8 @@ const Table: React.FC<TableProps> = ({
addTaskToProject,
removeProject,
removeTask,
nextTaskId
nextTaskId,
handleTaskNameChange
}) => {
const containerRef = useRef<HTMLDivElement>(null);
const newProjectInputRef = useRef<HTMLInputElement | null>(null);
@ -131,6 +133,8 @@ const Table: React.FC<TableProps> = ({
? newTaskInputRef
: null
}
handleTaskNameChange={handleTaskNameChange}
/>
))}
</td>

View file

@ -23,9 +23,10 @@ interface TaskCellProps {
task: Task;
removeTask: (id: number) => void;
inputRef: React.RefObject<HTMLInputElement | null> | null;
handleTaskNameChange: (id: number, newName: string) => void;
}
const TaskCell: React.FC<TaskCellProps> = ({task, removeTask, inputRef}) => {
const TaskCell: React.FC<TaskCellProps> = ({task, removeTask, inputRef, handleTaskNameChange}) => {
const color = "#35CC70";
document.documentElement.style.setProperty("--task-color", color);
@ -52,6 +53,8 @@ const TaskCell: React.FC<TaskCellProps> = ({task, removeTask, inputRef}) => {
if (e.target.value === "") removeTask(task.id);
}}
ref={inputRef}
onChange={(e) => handleTaskNameChange(task.id, e.target.value)}
value={task.name}
></input>
</div>
</div>

View file

@ -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 {