From 33a7f16be4ed6baf1bafff9210dd8ee4975b238a Mon Sep 17 00:00:00 2001 From: Giovanni-Josserand Date: Mon, 24 Nov 2025 08:37:04 +0100 Subject: [PATCH] initialize searchBar component --- public/search.svg | 1 + src/components/SearchBar/SearchBar.jsx | 23 ++++++++++++++++ src/components/SearchBar/SearchBar.module.css | 0 src/pages/Events/EventsPage.jsx | 16 +++++++++++- src/pages/Events/EventsPage.module.css | 26 +++++++++++-------- 5 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 public/search.svg create mode 100644 src/components/SearchBar/SearchBar.jsx create mode 100644 src/components/SearchBar/SearchBar.module.css diff --git a/public/search.svg b/public/search.svg new file mode 100644 index 0000000..f0d166f --- /dev/null +++ b/public/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/SearchBar/SearchBar.jsx b/src/components/SearchBar/SearchBar.jsx new file mode 100644 index 0000000..b984cb9 --- /dev/null +++ b/src/components/SearchBar/SearchBar.jsx @@ -0,0 +1,23 @@ +import styles from "./SearchBar.module.css" + +function SearchBar({isSearchVisible, setIsSearchVisible}) { + + + return ( +
+
+
+ + + + +
+ + +
+
+ ); +} + +export default SearchBar; \ No newline at end of file diff --git a/src/components/SearchBar/SearchBar.module.css b/src/components/SearchBar/SearchBar.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Events/EventsPage.jsx b/src/pages/Events/EventsPage.jsx index f547b45..2d8e636 100644 --- a/src/pages/Events/EventsPage.jsx +++ b/src/pages/Events/EventsPage.jsx @@ -3,11 +3,12 @@ import Event from "../../components/Event/Event.jsx"; import {Link} from "react-router"; import styles from "./EventsPage.module.css"; import Filter from "../../components/Filter/Filter.jsx"; - +import SearchBar from "../../components/SearchBar/SearchBar.jsx"; function EventsPage(){ const [isFilterVisible, setIsFilterVisible] = useState(false); + const [isSearchVisible, setIsSearchVisible] = useState(false); const toggleFilters = () => { setIsFilterVisible(prev => !prev); }; @@ -222,12 +223,24 @@ function EventsPage(){ return (
+ + {isSearchVisible ? ( + + ) : null} +
+ + + +
+
) } diff --git a/src/pages/Events/EventsPage.module.css b/src/pages/Events/EventsPage.module.css index 9bff2ec..059e604 100644 --- a/src/pages/Events/EventsPage.module.css +++ b/src/pages/Events/EventsPage.module.css @@ -1,5 +1,6 @@ .eventsContainer { width: 100%; + position: relative; } @@ -34,7 +35,7 @@ } -.createButton, .sortButton { +.createButton, .searchButton, .sortButton { display: flex; align-items: center; justify-content: center; @@ -50,25 +51,28 @@ color: #019AFF; } -.sortButton svg { +.sortButton svg, .searchButton svg { transform: scale(0.8); fill: #019AFF; } -.sortButton:hover { +.createButton:hover, .searchButton:hover, .mobileFilter:hover { + transform: translateY(-5px); cursor: pointer; } -.createButton:hover, .mobileFilter:hover { - transform: translateY(-5px); -} - -.sortButton:focus { +.sortButton:focus, .searchButton:focus { outline: none; } -.sortButton:focus-visible { - outline: 2px solid black; + + + +.searchBar { + position: absolute; + top: 0; + right: 0; + left: 0; } @@ -92,7 +96,7 @@ width: fit-content; } - .createButton:hover, .mobileFilter:hover { + .createButton:hover, .searchButton:hover, .mobileFilter:hover { transform: none !important; } }