diff --git a/ui/src/pages/tablo.tsx b/ui/src/pages/tablo.tsx index 4410ad1..89627c6 100644 --- a/ui/src/pages/tablo.tsx +++ b/ui/src/pages/tablo.tsx @@ -21,14 +21,15 @@ import { TabloInsert, TabloUpdate, UserTablo } from "@ui/types/tablos.types"; import { useNavigate } from "react-router-dom"; type FilterOption = { - id: "all" | "owned" | "invited"; + id: "all" | "todo" | "in_progress" | "done"; name: string; }; const filterOptions: FilterOption[] = [ { id: "all", name: "Tous" }, - { id: "owned", name: "Mes tablos" }, - { id: "invited", name: "Invitations" }, + { id: "todo", name: "À faire" }, + { id: "in_progress", name: "En cours" }, + { id: "done", name: "Terminé" }, ]; export const TabloPage = () => { @@ -41,9 +42,9 @@ export const TabloPage = () => { const [viewingTablo, setViewingTablo] = useState(null); const [deletingTablo, setDeletingTablo] = useState(null); const [isDeleting, setIsDeleting] = useState(false); - const [filterType, setFilterType] = useState<"all" | "owned" | "invited">( - "all" - ); + const [filterType, setFilterType] = useState< + "all" | "todo" | "in_progress" | "done" + >("all"); const navigate = useNavigate(); const { data: tablos, isLoading, error } = useTablosList(); @@ -51,12 +52,14 @@ export const TabloPage = () => { const { mutateAsync: updateTablo } = useUpdateTablo(); const { mutateAsync: deleteTablo } = useDeleteTablo(); - // Filter tablos based on ownership + // Filter tablos based on status const filteredTablos = tablos?.filter((tablo) => { - if (filterType === "owned") { - return tablo.is_admin; - } else if (filterType === "invited") { - return !tablo.is_admin; + if (filterType === "todo") { + return tablo.status === "todo"; + } else if (filterType === "in_progress") { + return tablo.status === "in_progress"; + } else if (filterType === "done") { + return tablo.status === "done"; } return true; // 'all' case }); @@ -547,7 +550,7 @@ export const TabloPage = () => { placeholder="Filtrer" selectedKey={filterType} onSelectionChange={(key) => - setFilterType(key as "all" | "owned" | "invited") + setFilterType(key as "all" | "todo" | "in_progress" | "done") } className="min-w-36" > @@ -602,33 +605,39 @@ export const TabloPage = () => {

- {filterType === "owned" - ? "Aucun tablo possédé trouvé" - : filterType === "invited" - ? "Aucune invitation trouvée" + {filterType === "todo" + ? "Aucun tablo 'À faire' trouvé" + : filterType === "in_progress" + ? "Aucun tablo 'En cours' trouvé" + : filterType === "done" + ? "Aucun tablo 'Terminé' trouvé" : "Aucun tablo trouvé"}

- + {filterType === "all" && ( +
+ +
+ )}
)}