Crvi/templates/admin/agenda-page.php
2026-01-21 10:34:01 +01:00

202 lines
9.3 KiB
PHP

<?php
// Page d'agenda (admin) - squelette vide
?>
<div class="wrap">
<h1>Agenda</h1>
<p>Cette page est en cours de construction.</p>
<section class="agenda-container">
<!--filters-->
<section class="filters-container">
<form class="filters" method="get" onsubmit="return false;">
<div class="filter">
<label for="date">Date</label>
<input type="date" id="date" name="date">
</div>
<div class="filter">
<label for="local">Local</label>
<select id="local" name="local" class="select2">
<option value="">Tous</option>
<!-- Options dynamiques -->
<?php
foreach ($locals as $local) {
echo '<option value="' . $local['id'] . '">' . $local['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="personne">Personne</label>
<select id="personne" name="personne" class="select2">
<option value="">Toutes</option>
<!-- Options dynamiques -->
<?php
foreach ($intervenants as $intervenant) {
echo '<option value="' . $intervenant['id'] . '">' . $intervenant['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="departement">Département</label>
<select id="departement" name="departement" class="select2">
<option value="">Tous</option>
<!-- Options dynamiques -->
<?php
foreach ($departements as $departement) {
echo '<option value="' . $departement['id'] . '">' . $departement['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter" style="display: none;">
<label for="type_intervention">Type d'intervention</label>
<select id="type_intervention" name="type_intervention" class="select2">
<option value="">Tous</option>
<!-- Options dynamiques -->
<?php
foreach ($types_intervention as $type_intervention) {
echo '<option value="' . $type_intervention['id'] . '">' . $type_intervention['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="beneficiaire">Bénéficiaire</label>
<select id="beneficiaire" name="beneficiaire" class="select2">
<option value="">Tous</option>
<!-- Options dynamiques -->
<?php
foreach ($beneficiaires as $beneficiaire) {
echo '<option value="' . $beneficiaire['id'] . '">' . $beneficiaire['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="langue">Langue du rendez-vous</label>
<select id="langue" name="langue" class="select2">
<option value="">Toutes</option>
<!-- Options dynamiques -->
<?php
foreach ($langues_beneficiaire as $langue) {
echo '<option value="' . $langue['id'] . '">' . $langue['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="intervenant_externe">Intervenant externe</label>
<select id="intervenant_externe" name="intervenant_externe" class="select2">
<option value="">Tous</option>
<!-- Options dynamiques -->
<?php
foreach ($traducteurs as $traducteur) {
echo '<option value="' . $traducteur['id'] . '">' . $traducteur['nom'] . '</option>';
}
?>
</select>
</div>
<div class="filter">
<label for="filtre_permanence" style="display: flex; align-items: center; gap: 8px; cursor: pointer;">
<input type="checkbox" id="filtre_permanence" name="filtre_permanence" value="permanence">
<span>Afficher uniquement les permanences</span>
</label>
</div>
<div class="filter">
<button type="button" id="addEventBtn" class="btn btn-primary">
<i class="fas fa-plus"></i> Ajouter un RDV
</button>
</div>
<div class="filter" style="display: none;">
<button type="button" id="resetFiltersBtn" class="btn btn-secondary">
<i class="fas fa-times"></i> Réinitialiser
</button>
</div>
<div class="filter">
<button type="button" id="filterBtn" class="btn btn-primary" onclick="return false;">
<i class="fas fa-filter"></i> Filtrer
</button>
</div>
</form>
</section>
<!-- Filtres visuels -->
<section class="visual-filters-container mb-4">
<div class="card crvi-quick-filters">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0">
<i class="fas fa-filter me-2"></i>Filtres rapides
</h5>
<button class="btn btn-link text-decoration-none p-0" type="button" data-bs-toggle="collapse" data-bs-target="#visualFiltersCollapse" aria-expanded="true" aria-controls="visualFiltersCollapse">
<i class="fas fa-chevron-down transition-transform" id="visual-filters-toggle-icon"></i>
</button>
</div>
<div id="visualFiltersCollapse" class="collapse show">
<div class="card-body">
<!-- Filtres par département -->
<div class="filter-group mb-3">
<h6 class="filter-group-title">
<i class="fas fa-building me-2"></i>Départements
</h6>
<div id="departements-filter-buttons" class="button-filters">
<!-- Boutons générés dynamiquement -->
</div>
</div>
<!-- Filtres par capacité de traduction -->
<div class="filter-group">
<h6 class="filter-group-title">
<i class="fas fa-language me-2"></i>Capacités de traduction
</h6>
<div id="traductions-filter-buttons" class="button-filters">
<!-- Boutons générés dynamiquement -->
</div>
</div>
</div>
</div>
</div>
</section>
<!--agenda-->
<section class="agenda-inner-container" id="agenda-calendar">
<div id="loading-indicator" style="text-align: center; padding: 20px;">
<p>Chargement du calendrier...</p>
</div>
</section>
<!--modal-->
<?php
require_once dirname(__DIR__, 1) . '/modules/agenda-modal.php';
?>
</section>
<script>
// Animer l'icône du collapse des filtres visuels
document.addEventListener('DOMContentLoaded', function() {
const collapseElement = document.getElementById('visualFiltersCollapse');
const toggleIcon = document.getElementById('visual-filters-toggle-icon');
if (collapseElement && toggleIcon) {
// Définir l'état initial de l'icône
toggleIcon.style.transition = 'transform 0.3s ease';
if (collapseElement.classList.contains('show')) {
toggleIcon.style.transform = 'rotate(180deg)';
}
// Écouter les événements de collapse
collapseElement.addEventListener('show.bs.collapse', function() {
toggleIcon.style.transform = 'rotate(180deg)';
});
collapseElement.addEventListener('hide.bs.collapse', function() {
toggleIcon.style.transform = 'rotate(0deg)';
});
}
});
</script>
</div>