This commit is contained in:
2026-01-30 23:48:42 +01:00
parent e248eee882
commit 94cde4ae34
5 changed files with 472 additions and 493 deletions
+55 -45
View File
@@ -1,57 +1,67 @@
<?php
// S'assurer que la session est démarrée si on veut afficher l'utilisateur
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
if (!isset($pageTitle)) {
$pageTitle = "PachaFamily";
}
if (!isset($activePage)) {
$activePage = "";
}
if (session_status() === PHP_SESSION_NONE) session_start();
$pageTitle = $pageTitle ?? "PachaFamily";
$activePage = $activePage ?? "";
?>
<!DOCTYPE html>
<html lang="fr" class="<?= htmlspecialchars($bodyClass ?? '') ?>">
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title><?= htmlspecialchars($pageTitle, ENT_QUOTES, 'UTF-8'); ?></title>
<!-- CSS globale -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?= htmlspecialchars($pageTitle) ?></title>
<link rel="stylesheet" href="/global.css">
<!-- CSS spécifique à la page (optionnel) -->
<?php if (!empty($pageCss)): ?>
<link rel="stylesheet" href="<?= htmlspecialchars($pageCss, ENT_QUOTES, 'UTF-8') ?>">
<link rel="stylesheet" href="<?= htmlspecialchars($pageCss) ?>">
<?php endif; ?>
</head>
<body class="<?= htmlspecialchars($bodyClass ?? '') ?>">
<div class="pf-page"><!-- WRAPPER OUVERT ICI -->
<header class="pf-header">
<div class="pf-container pf-header-content">
<div class="pf-logo">PachaFamily</div>
<nav class="pf-nav">
<a href="/index.php"
class="pf-nav-link <?= $activePage === 'home' ? 'pf-nav-link--active' : ''; ?>">Accueil</a>
<a href="/family-calendar.php"
class="pf-nav-link <?= $activePage === 'family-calendar' ? 'pf-nav-link--active' : ''; ?>">Family calendar</a>
<a href="/holidays.php"
class="pf-nav-link <?= $activePage === 'holidays' ? 'pf-nav-link--active' : ''; ?>">Holidays</a>
<a href="/gift-list.php"
class="pf-nav-link <?= $activePage === 'gift-list' ? 'pf-nav-link--active' : ''; ?>">Gift list</a>
</nav>
<div class="pf-header-actions">
<?php if (isset($_SESSION['user'])): ?>
<span class="pf-greeting">
Bonjour <?= htmlspecialchars($_SESSION['user']['display_name'] ?? $_SESSION['user']['username'], ENT_QUOTES, 'UTF-8'); ?>
</span>
<a href="/logout.php" class="pf-nav-link pf-nav-link--secondary">Se déconnecter</a>
<?php else: ?>
<a href="/login.php" class="pf-nav-link pf-nav-link--secondary">Se connecter</a>
<?php endif; ?>
<header class="pf-header">
<a href="/index.php" class="pf-logo">PachaFamily</a>
<nav class="pf-nav">
<a href="/index.php" class="pf-nav-link <?= $activePage === 'home' ? 'pf-nav-link--active' : '' ?>">Accueil</a>
<a href="/family-calendar.php" class="pf-nav-link <?= $activePage === 'family-calendar' ? 'pf-nav-link--active' : '' ?>">Calendrier</a>
<a href="/holidays.php" class="pf-nav-link <?= $activePage === 'holidays' ? 'pf-nav-link--active' : '' ?>">Vacances</a>
<a href="/gift-list.php" class="pf-nav-link <?= $activePage === 'gift-list' ? 'pf-nav-link--active' : '' ?>">Cadeaux</a>
</nav>
<div class="pf-header-actions">
<?php if (isset($_SESSION['user'])): ?>
<div class="pf-user-badge">
<?= htmlspecialchars($_SESSION['user']['display_name'] ?? $_SESSION['user']['username']) ?>
</div>
</div>
</header>
<a href="/logout.php" class="pf-logout-btn">Déconnexion</a>
<?php else: ?>
<a href="/login.php" class="pf-nav-link">Connexion</a>
<?php endif; ?>
</div>
<main class="pf-container pf-main">
<button class="pf-burger-btn" aria-label="Menu">☰</button>
</header>
<div class="pf-mobile-menu">
<a href="/index.php" class="pf-mobile-nav-link">Accueil</a>
<a href="/family-calendar.php" class="pf-mobile-nav-link">Calendrier</a>
<a href="/holidays.php" class="pf-mobile-nav-link">Vacances</a>
<a href="/gift-list.php" class="pf-mobile-nav-link">Cadeaux</a>
<?php if (isset($_SESSION['user'])): ?>
<a href="/logout.php" class="pf-mobile-nav-link pf-mobile-logout">Se déconnecter</a>
<?php else: ?>
<a href="/login.php" class="pf-mobile-nav-link">Se connecter</a>
<?php endif; ?>
</div>
<main class="pf-main">
<script>
// Script simple pour le menu mobile
const burgerBtn = document.querySelector('.pf-burger-btn');
const mobileMenu = document.querySelector('.pf-mobile-menu');
if(burgerBtn) {
burgerBtn.addEventListener('click', () => {
const isOpen = mobileMenu.classList.toggle('is-open');
burgerBtn.textContent = isOpen ? '✕' : '☰';
});
}
</script>