fix(trash): implement robust ancestor-preserving restore and filterActiveTree for trash reliability
Build and Push Docker Image / build-and-push (push) Successful in 9m29s
Build and Push Docker Image / build-and-push (push) Successful in 9m29s
This commit is contained in:
@@ -20,6 +20,7 @@ import {
|
||||
findTaskInTree,
|
||||
getAllTrashTasks,
|
||||
filterTasksByTag,
|
||||
filterActiveTree,
|
||||
} from "@/lib/mockData";
|
||||
|
||||
interface AppShellProps {
|
||||
@@ -126,10 +127,10 @@ export function AppShell({ user, isDemo = false }: AppShellProps) {
|
||||
} else if (selectedTag) {
|
||||
setTasks(filterTasksByTag(store.tasks, selectedTag) as Task[]);
|
||||
} else if (selectedListId) {
|
||||
const listTasks = (store.tasks as Task[]).filter(
|
||||
(t) => !t.isDeleted && t.listId === selectedListId && (showCompleted ? true : !t.completed)
|
||||
const listTasks = filterActiveTree(store.tasks as MockTask[], showCompleted).filter(
|
||||
(t) => t.listId === selectedListId
|
||||
);
|
||||
setTasks(listTasks);
|
||||
setTasks(listTasks as Task[]);
|
||||
} else {
|
||||
setTasks([]);
|
||||
}
|
||||
@@ -337,7 +338,13 @@ export function AppShell({ user, isDemo = false }: AppShellProps) {
|
||||
const store = getDemoStore();
|
||||
const newTasks = moveToTrashInTree(store.tasks, task.id);
|
||||
saveDemoStore(store.lists, newTasks);
|
||||
setTasks((prev) => prev.filter((t) => t.id !== task.id));
|
||||
if (isTrashActive) {
|
||||
setTasks(getAllTrashTasks(newTasks) as Task[]);
|
||||
} else if (selectedListId) {
|
||||
setTasks(filterActiveTree(newTasks, showCompleted).filter((t) => t.listId === selectedListId) as Task[]);
|
||||
} else if (selectedTag) {
|
||||
setTasks(filterTasksByTag(newTasks, selectedTag) as Task[]);
|
||||
}
|
||||
if (selectedTask?.id === task.id) setSelectedTask(null);
|
||||
} else {
|
||||
setTasks((prev) => prev.filter((t) => t.id !== task.id));
|
||||
|
||||
Reference in New Issue
Block a user