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