mirror of
https://github.com/akaswan/table-list.git
synced 2026-07-22 05:49:21 +00:00
Fixed some minor bugs related to dates and task data
This commit is contained in:
parent
b2d2e215c7
commit
558f92052d
4 changed files with 25 additions and 5 deletions
|
|
@ -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>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue