Use searchBarBtn component
This commit is contained in:
1 parent
ed90671693
commit
171a202859
1 file changed
+3
-26
@@ -1,50 +1,27 @@
|
|||||||
import styles from "./ToolBar.module.css"
|
import styles from "./ToolBar.module.css"
|
||||||
import Filter from "../Filter/Filter.jsx";
|
import Filter from "../Filter/Filter.jsx";
|
||||||
import {useContext, useEffect, useState} from "react";
|
import {useContext, useEffect, useState} from "react";
|
||||||
import SearchBar from "../SearchBar/SearchBar.jsx";
|
use import SearchBar from "../SearchBar/SearchBar.tsx";
|
||||||
import CreateEventBtn from "../createEventBtn/CreateEventBtn.jsx";
|
import CreateEventBtn from "../createEventBtn/CreateEventBtn.jsx";
|
||||||
import Button from "../ui/button/button.tsx";
|
import Button from "../ui/button/button.tsx";
|
||||||
import {AuthContext} from "../../contexts/auth/AuthContext.js";
|
import {AuthContext} from "../../contexts/auth/AuthContext.js";
|
||||||
|
import SearchBtn from "./components/searchBtn/SearchBtn.tsx";
|
||||||
|
|
||||||
function ToolBar({setFilters, filters, showCreate = true}) {
|
function ToolBar({setFilters, filters, showCreate = true}) {
|
||||||
const { user } = useContext(AuthContext);
|
const { user } = useContext(AuthContext);
|
||||||
const [isFilterVisible, setIsFilterVisible] = useState(false);
|
const [isFilterVisible, setIsFilterVisible] = useState(false);
|
||||||
const [isSearchVisible, setIsSearchVisible] = useState(false);
|
|
||||||
const toggleFilters = () => {
|
const toggleFilters = () => {
|
||||||
setIsFilterVisible(prev => !prev);
|
setIsFilterVisible(prev => !prev);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (isSearchVisible) {
|
|
||||||
document.documentElement.style.overflow = 'hidden';
|
|
||||||
} else {
|
|
||||||
document.documentElement.style.overflow = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
return () => {
|
|
||||||
document.documentElement.style.overflow = '';
|
|
||||||
};
|
|
||||||
}, [isSearchVisible]);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{isSearchVisible ? (
|
|
||||||
<div className={styles.searchBarContainer}>
|
|
||||||
<div className={styles.searchBarOverlay} onClick={() => setIsSearchVisible(false)}></div>
|
|
||||||
<SearchBar/>
|
|
||||||
</div>
|
|
||||||
) : null}
|
|
||||||
<div className={styles.eventsButtons}>
|
<div className={styles.eventsButtons}>
|
||||||
{showCreate && user.isAdmin ? (
|
{showCreate && user.isAdmin ? (
|
||||||
<CreateEventBtn />
|
<CreateEventBtn />
|
||||||
) : null}
|
) : null}
|
||||||
|
|
||||||
<Button className={`${styles.searchButton} glassCard`} variant={"default"} onClick={() => setIsSearchVisible(true)}>
|
<SearchBtn />
|
||||||
<img src="search.svg" alt="Rechercher"/>
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
<div className={`${styles.filterContainer} ${isFilterVisible ? "glassCard" : ""}`}>
|
<div className={`${styles.filterContainer} ${isFilterVisible ? "glassCard" : ""}`}>
|
||||||
<Button className={`${isFilterVisible ? "" : styles.mobileFilter} ${styles.sortButton} glassCard`} variant={"default"} onClick={toggleFilters}>
|
<Button className={`${isFilterVisible ? "" : styles.mobileFilter} ${styles.sortButton} glassCard`} variant={"default"} onClick={toggleFilters}>
|
||||||
|
|||||||
Reference in new issue
Block a user