Merge branch 'dev' into features/notifications

# Conflicts:
#	package-lock.json
#	package.json
#	src/components/Header/Header.jsx
This commit is contained in:
2026-01-12 00:15:16 +01:00
42 changed files with 2469 additions and 1656 deletions
+15 -7
View File
@@ -1,5 +1,6 @@
import { Link, NavLink } from "react-router";
import {useContext, useEffect, useRef, useState} from "react";
import {AuthContext} from "../../contexts/auth/AuthContext.js";
import styles from "./Header.module.css"
@@ -13,11 +14,8 @@ import { userCreatedListener } from "../../utils/echo/listeners/userCreatedListe
import { userNotificationsListener } from "../../utils/echo/listeners/userNotificationsListener.js";
import NotificationCard from "../NotificationCard/NotificationCard.jsx";
function Header() {
const { update } = useContext(AuthContext);
const { update, user } = useContext(AuthContext);
const [notificationMenu, setnotificationMenu] = useState(false);
const [unreadNotification, setunreadNotification] = useState(false);
const [mobileMenu, setMobileMenu] = useState(false);
@@ -115,7 +113,7 @@ function Header() {
<nav className={`${mobileMenu ? styles.inactiveHeaderContent : styles.activeHeaderContent}`}>
<div className={styles.headerLeftContent}>
<NavLink className={styles.logoLink} to="/">
<img src="logo.png" alt="logo" className={styles.logo} />
<img src="/logo.png" alt="logo" className={styles.logo} />
</NavLink>
<div className={styles.navLinks}>
<NavLink to="/" className={({ isActive }) => isActive ? styles.activeLink : styles.link}>
@@ -127,6 +125,11 @@ function Header() {
<NavLink to="/volunteers" className={({ isActive }) => isActive ? styles.activeLink : styles.link}>
Bénévoles
</NavLink>
{user?.isAdmin && (
<NavLink to="/admin" className={({ isActive }) => isActive ? styles.activeLink : styles.link}>
Administration
</NavLink>
)}
</div>
</div>
@@ -135,12 +138,12 @@ function Header() {
className={`${styles.bellBtn} ${notificationMenu ? styles.activeBellBtn : ""}`}
onClick={() => {toggleNotificationMenu();}}
>
<img className={styles.notificationsImg} src="bell.svg" alt="notifications"/>
<img className={styles.notificationsImg} src="/bell.svg" alt="notifications"/>
{unreadNotification && <span className={styles.notificationBadge}></span>}
</button>
<Link to="/profile" className={styles.profileLink}>
<img className={styles.profileImg} src="person.svg" alt="profile"/>
<img className={styles.profileImg} src="/person.svg" alt="profile"/>
</Link>
</div>
</nav>
@@ -155,6 +158,11 @@ function Header() {
<NavLink to="/volunteers" className={({ isActive }) => isActive ? styles.activeLink : styles.link}>
Bénévoles
</NavLink>
{user?.isAdmin && (
<NavLink to="/admin" className={({ isActive }) => isActive ? styles.activeLink : styles.link}>
Administration
</NavLink>
)}
</nav>