Docfile's picture
Update api/templates/base.html
6b1e735 verified
<!DOCTYPE html>
<html lang="fr" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Plateforme Éducative{% endblock %}</title>
<!-- Bootstrap CSS from CDN -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Font Awesome for icons -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<!-- Custom CSS -->
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
<!-- Additional CSS specific to templates -->
{% block styles %}{% endblock %}
</head>
<body>
<!-- Header -->
<header class="main-header">
<div class="container header-container">
<!-- Burger Menu Button -->
<button id="burger-menu" class="burger-menu-button" title="Ouvrir le menu">
<i class="fas fa-bars"></i>
</button>
<h1 class="site-title">
<a href="{{ url_for('main_bp.index') }}">Cours</a>
</h1>
<div class="header-actions">
<!-- Theme toggle button -->
<button id="theme-toggle" class="theme-toggle" title="Changer de thème">
<i class="fas fa-moon"></i>
</button>
<!-- Admin link if admin is logged in -->
{% if session.get('admin_logged_in') %}
<a href="{{ url_for('admin_bp.dashboard') }}" class="btn btn-primary btn-sm ms-2">
<i class="fas fa-cog"></i> Gestion
</a>
{% endif %}
</div>
</div>
</header>
<!-- Sidebar Overlay -->
<div id="sidebar-overlay" class="sidebar-overlay"></div>
<!-- Sidebar 1: Matières -->
<nav id="sidebar-matieres" class="sidebar">
<div class="sidebar-header">
<h4>Matières</h4>
<button class="close-sidebar-btn" data-sidebar-id="sidebar-matieres" title="Fermer le menu">×</button>
</div>
<ul id="matieres-list-sidebar" class="sidebar-list">
{# Assure-toi de passer la variable 'matieres' depuis ta route Flask #}
{# Example: return render_template('index.html', matieres=get_all_matieres()) #}
{% if matieres %}
{% for matiere in matieres %}
{# Utilise |e pour échapper les caractères spéciaux dans le nom pour l'attribut data #}
<li data-matiere-id="{{ matiere.id }}" data-matiere-nom="{{ matiere.nom | e }}">
{{ matiere.nom }}
<i class="fas fa-chevron-right float-end"></i>
</li>
{% endfor %}
{% else %}
<li>Aucune matière disponible.</li>
{% endif %}
</ul>
</nav>
<!-- Sidebar 2: Sous-catégories -->
<nav id="sidebar-sous-categories" class="sidebar">
<div class="sidebar-header">
<button id="sidebar-back-button" class="sidebar-back-button" title="Retour aux matières">
<i class="fas fa-arrow-left"></i>
</button>
<h4 id="sidebar-sous-categories-title">Sous-catégories</h4>
<button class="close-sidebar-btn" data-sidebar-id="sidebar-sous-categories" title="Fermer le menu">×</button>
</div>
<ul id="sous-categories-list-sidebar" class="sidebar-list">
<!-- Les sous-catégories seront chargées ici par JavaScript -->
<li>Chargement...</li>
</ul>
</nav>
<!-- Flash messages -->
<div class="container mt-3 flash-container">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category if category != 'message' else 'info' }} alert-dismissible fade show" role="alert">
{{ message }}
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endfor %}
{% endif %}
{% endwith %}
</div>
<!-- Main content -->
<main class="main-content">
<div class="container">
{% block content %}{% endblock %}
</div>
</main>
<!-- Footer -->
<footer class="main-footer">
<div class="container footer-content">
<!-- Feedback form -->
<div class="feedback-form">
<h4 class="feedback-title">Votre avis nous intéresse</h4>
<form id="feedback-form" action="{{ url_for('main_bp.submit_feedback') }}" method="POST">
<div class="form-group mb-2">
<textarea id="feedback-message" name="message" class="form-control" rows="2" placeholder="Laissez-nous un message..." required></textarea>
</div>
<button type="submit" class="btn btn-primary">Envoyer</button>
</form>
</div>
</div>
</footer>
<!-- Bootstrap JS Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Main JavaScript -->
<script src="{{ url_for('static', filename='js/main.js') }}"></script>
<!-- Additional JavaScript -->
{% block scripts %}{% endblock %}
</body>
</html>