update of filter menu design

This commit is contained in:
2025-11-20 10:58:03 +01:00
parent 880ca7fbc7
commit cab0a0ac4d
5 changed files with 121 additions and 11 deletions
+23 -7
View File
@@ -1,12 +1,23 @@
import {useState} from "react";
import Event from "../../components/Event/Event.jsx";
import {Link} from "react-router";
import styles from "./EventsPage.module.css"
import styles from "./EventsPage.module.css";
import Filter from "../../components/Filter/Filter.jsx";
function EventsPage(){
const [events, setEvents] = useState([
const [isFilterVisible, setIsFilterVisible] = useState(false);
const toggleFilters = () => {
setIsFilterVisible(prev => !prev);
};
const [filters, setFilters] = useState({
alphabetical: "asc",
yearOrder: "asc",
});
const [events] = useState([
{
id: 1,
name: "Marathon de la Ville",
@@ -184,11 +195,16 @@ function EventsPage(){
className={`${styles.createButton} glassCard`}>
+
</Link>
<button className={`${styles.sortButton} glassCard`}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor">
<path d="M440-160q-17 0-28.5-11.5T400-200v-240L168-736q-15-20-4.5-42t36.5-22h560q26 0 36.5 22t-4.5 42L560-440v240q0 17-11.5 28.5T520-160h-80Zm40-308 198-252H282l198 252Zm0 0Z"/>
</svg>
</button>
<div className={`${styles.filterContainer} ${isFilterVisible ? "glassCard" : ""}`}>
<button className={`${isFilterVisible ? "" : styles.mobileFilter} ${styles.sortButton} glassCard`} onClick={toggleFilters}>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="currentColor">
<path d="M440-160q-17 0-28.5-11.5T400-200v-240L168-736q-15-20-4.5-42t36.5-22h560q26 0 36.5 22t-4.5 42L560-440v240q0 17-11.5 28.5T520-160h-80Zm40-308 198-252H282l198 252Zm0 0Z"/>
</svg>
</button>
<div className={styles.filterMenu}>
<Filter isFilterVisible={isFilterVisible} filters={filters} setFilters={setFilters}/>
</div>
</div>
</div>
</div>
)
+17 -3
View File
@@ -23,6 +23,17 @@
}
.filterContainer{
padding: 0;
border-radius: 30px;
overflow: visible;
}
.filterMenu{
padding: 5px 5px 5px 5px;
}
.createButton, .sortButton {
display: flex;
align-items: center;
@@ -40,13 +51,16 @@
}
.sortButton svg {
transform: scale(0.8);
transform: scale(1.5);
fill: #019AFF;
}
.createButton:hover, .sortButton:hover {
transform: translateY(-5px);
.sortButton:hover {
cursor: pointer;
}
.createButton:hover, .mobileFilter:hover {
transform: translateY(-5px);
}