Create FilterBtn
This commit is contained in:
@@ -1,17 +1,12 @@
|
||||
import styles from "./ToolBar.module.css"
|
||||
import Filter from "../Filter/Filter.jsx";
|
||||
import {useContext, useState} from "react";
|
||||
import { useContext } from "react";
|
||||
import CreateEventBtn from "../createEventBtn/CreateEventBtn.jsx";
|
||||
import Button from "../ui/button/button.tsx";
|
||||
import {AuthContext} from "../../contexts/auth/AuthContext.js";
|
||||
import SearchBtn from "./components/searchBtn/SearchBtn.tsx";
|
||||
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
||||
import SearchBtn from "./tools/SearchBtn.tsx";
|
||||
import FilterBtn from "./tools/FilterBtn.tsx";
|
||||
|
||||
function ToolBar({setFilters, filters, showCreate = true}) {
|
||||
const { user } = useContext(AuthContext);
|
||||
const [isFilterVisible, setIsFilterVisible] = useState(false);
|
||||
const toggleFilters = () => {
|
||||
setIsFilterVisible(prev => !prev);
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
@@ -21,15 +16,7 @@ function ToolBar({setFilters, filters, showCreate = true}) {
|
||||
) : null}
|
||||
|
||||
<SearchBtn />
|
||||
|
||||
<div className={`${styles.filterContainer} ${isFilterVisible ? "glassCard" : ""}`}>
|
||||
<Button className={`${isFilterVisible ? "" : styles.mobileFilter} ${styles.sortButton} glassCard`} variant={"default"} onClick={toggleFilters}>
|
||||
<img src="filter.svg" alt="Filtrer"/>
|
||||
</Button>
|
||||
<div className={styles.filterMenu}>
|
||||
<Filter isFilterVisible={isFilterVisible} filters={filters} setFilters={setFilters}/>
|
||||
</div>
|
||||
</div>
|
||||
<FilterBtn setFilters={setFilters} filters={filters} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
import styles from "../ToolBar.module.css"
|
||||
import Button from "../../ui/button/button";
|
||||
import { useEffect, useState } from "react";
|
||||
import SearchBar from "../../SearchBar/SearchBar";
|
||||
import Filter from "../../Filter/Filter.jsx";
|
||||
|
||||
|
||||
interface FilterBtnProps {
|
||||
setFilters: (filter: string) => void;
|
||||
filters: string;
|
||||
}
|
||||
|
||||
export default function FilterBtn({ setFilters, filters }: FilterBtnProps) {
|
||||
|
||||
const [isFilterVisible, setIsFilterVisible] = useState(false);
|
||||
|
||||
const toggleFilters = () => {
|
||||
setIsFilterVisible(prev => !prev);
|
||||
};
|
||||
|
||||
return <div className={`${styles.filterContainer} ${isFilterVisible ? "glassCard" : ""}`}>
|
||||
<Button className={`${isFilterVisible ? "" : styles.mobileFilter} ${styles.sortButton} glassCard`} variant={"default"} onClick={toggleFilters}>
|
||||
<img src="filter.svg" alt="Filtrer"/>
|
||||
</Button>
|
||||
<div className={styles.filterMenu}>
|
||||
<Filter isFilterVisible={isFilterVisible} filters={filters} setFilters={setFilters}/>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
Reference in New Issue
Block a user