From 451da54fc33fec41aa44ae96e4bb6625efbd1673 Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Wed, 11 Feb 2026 17:08:52 +0100 Subject: [PATCH] Fix errors --- src/components/Filter/Filter.jsx | 56 ---------------- src/components/Filter/Filter.tsx | 78 ++++++++++++++++++++++ src/components/ToolBar/tools/FilterBtn.tsx | 10 ++- 3 files changed, 85 insertions(+), 59 deletions(-) delete mode 100644 src/components/Filter/Filter.jsx create mode 100644 src/components/Filter/Filter.tsx diff --git a/src/components/Filter/Filter.jsx b/src/components/Filter/Filter.jsx deleted file mode 100644 index eb0bf87..0000000 --- a/src/components/Filter/Filter.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import styles from "./Filter.module.css"; -import Button from "../ui/button/button.tsx" - -function Filter({isFilterVisible, filters, setFilters}){ - const setAlphabeticalOrder = (order) => { - setFilters(prev => ({ - ...prev, - alphabetical : prev.alphabetical === order ? null : order - })); - }; - - const setYearOrder = (order) => { - setFilters(prev => ({ - ...prev, - yearOrder: prev.yearOrder === order ? null : order - })); - }; - - return ( -
- - - - - - - - - - - - - - - -
- ) -} - -export default Filter; \ No newline at end of file diff --git a/src/components/Filter/Filter.tsx b/src/components/Filter/Filter.tsx new file mode 100644 index 0000000..d917928 --- /dev/null +++ b/src/components/Filter/Filter.tsx @@ -0,0 +1,78 @@ +import styles from "./Filter.module.css"; +import Button from "../ui/button/button"; +import React from "react"; + +type FiltersType = { + alphabetical: "asc" | "desc" | null; + yearOrder: "asc" | "desc" | null; + [key: string]: any; +}; + +type FilterProps = { + isFilterVisible: boolean; + filters: FiltersType; + setFilters: React.Dispatch>; +}; + +function Filter({ isFilterVisible, filters, setFilters }: FilterProps): any { + + const setAlphabeticalOrder = (order: "asc" | "desc"): void => { + setFilters((prev) => ({ + ...prev, + alphabetical: prev.alphabetical === order ? null : order + })); + }; + + const setYearOrder = (order: "asc" | "desc"): void => { + setFilters((prev) => ({ + ...prev, + yearOrder: prev.yearOrder === order ? null : order + })); + }; + + return ( +
+ + + + + + + + + + + + + + + +
+ ); +} + +export default Filter; diff --git a/src/components/ToolBar/tools/FilterBtn.tsx b/src/components/ToolBar/tools/FilterBtn.tsx index 672a3f3..0f87ae9 100644 --- a/src/components/ToolBar/tools/FilterBtn.tsx +++ b/src/components/ToolBar/tools/FilterBtn.tsx @@ -1,12 +1,16 @@ import styles from "../ToolBar.module.css" import Button from "../../ui/button/button"; import { useState } from "react"; -import Filter from "../../Filter/Filter.jsx"; +import Filter from "../../Filter/Filter"; +interface Filters { + alphabetical: "asc" | "desc"; + yearOrder: "asc" | "desc"; +} interface FilterBtnProps { - setFilters: (filter: string) => void; - filters: string; + setFilters: any + filters: Filters } export default function FilterBtn({ setFilters, filters }: FilterBtnProps) {