Refactor admin settings to use accordion layout

Co-authored-by: mathieumoran1 <[email protected]>
This commit is contained in:
Cursor Agent
2025-12-22 21:14:05 +00:00
co-authored by mathieumoran1
parent 420d26dfaa
commit dad2285704
+83 -61
View File
@@ -102,74 +102,96 @@
<div class="tab-content pt-3"> <div class="tab-content pt-3">
<div class="tab-pane fade show active" id="admin-settings" role="tabpanel" aria-labelledby="admin-settings-tab"> <div class="tab-pane fade show active" id="admin-settings" role="tabpanel" aria-labelledby="admin-settings-tab">
<div class="row g-3"> <div class="row g-3">
<div class="col-12 col-xl-8"> <div class="col-12 col-xxl-8">
<div class="card p-3"> <div class="accordion" id="adminSettingsAccordion">
<h4 class="mb-1">Année active</h4> <!-- Active year -->
<p class="text-muted mb-3"> <div class="accordion-item">
Cette année pilote tout le site (films affichés, checklist et statistiques). <h2 class="accordion-header" id="adminSettingsHeadingYear">
</p> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#adminSettingsCollapseYear" aria-expanded="true" aria-controls="adminSettingsCollapseYear">
<div class="mb-3"> Année active
<label for="active_oscar_year" class="form-label">Année active</label> </button>
<select class="form-select" id="active_oscar_year"></select> </h2>
<div class="form-text">La liste est basée sur les années présentes dans les films.</div> <div id="adminSettingsCollapseYear" class="accordion-collapse collapse show" aria-labelledby="adminSettingsHeadingYear" data-bs-parent="#adminSettingsAccordion">
</div> <div class="accordion-body">
<div class="d-flex justify-content-end"> <div class="text-muted small mb-2">
<button type="button" id="save-active-year" class="btn btn-warning">Appliquer l’année</button> Pilote tout le site (films, checklist, statistiques).
</div> </div>
</div> <div class="d-flex flex-wrap gap-2 align-items-end justify-content-between">
</div> <div class="flex-grow-1" style="min-width: 220px;">
<label for="active_oscar_year" class="form-label mb-1">Année active</label>
<div class="col-12 col-xl-8"> <select class="form-select" id="active_oscar_year"></select>
<div class="card p-3"> <div class="form-text">Basé sur les années présentes dans les films.</div>
<h4 class="mb-1">Lecteur (player)</h4> </div>
<p class="text-muted mb-3"> <div class="d-flex justify-content-end">
Affiche/masque le bloc “Source” et “Progress” dans <code>player.html</code> (visible uniquement pour les admins). <button type="button" id="save-active-year" class="btn btn-warning">Appliquer</button>
</p> </div>
</div>
<div class="row g-3 align-items-center">
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="player_ui_show_status">
<label class="form-check-label" for="player_ui_show_status">Afficher “Source” + “Progress”</label>
</div> </div>
</div> </div>
<div class="col-12 d-flex justify-content-end gap-2">
<button type="button" id="player_ui_reload" class="btn btn-outline-secondary">Recharger</button>
<button type="button" id="player_ui_save" class="btn btn-warning">Enregistrer</button>
</div>
</div> </div>
</div>
</div>
<div class="col-12 col-xl-8"> <!-- Player -->
<div class="card p-3"> <div class="accordion-item">
<h4 class="mb-1">Date des Oscars (par année)</h4> <h2 class="accordion-header" id="adminSettingsHeadingPlayer">
<p class="text-muted mb-3"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#adminSettingsCollapsePlayer" aria-expanded="false" aria-controls="adminSettingsCollapsePlayer">
Configure la date exacte de la cérémonie pour le <strong>compte à rebours</strong> sur Films &amp; Checklist. Lecteur (player)
Si non défini, la date par défaut reste <code>15 mars</code> (comportement actuel). </button>
</p> </h2>
<div id="adminSettingsCollapsePlayer" class="accordion-collapse collapse" aria-labelledby="adminSettingsHeadingPlayer" data-bs-parent="#adminSettingsAccordion">
<div class="row g-3"> <div class="accordion-body">
<div class="col-md-4"> <div class="d-flex flex-wrap gap-2 align-items-center justify-content-between">
<label for="oscar_date_year" class="form-label">Année</label> <div class="form-check">
<select class="form-select" id="oscar_date_year"></select> <input class="form-check-input" type="checkbox" id="player_ui_show_status">
<div class="form-text">Basé sur les années présentes dans les films.</div> <label class="form-check-label" for="player_ui_show_status">Afficher “Source” + “Progress” (admins)</label>
</div> </div>
<div class="col-md-4"> <div class="d-flex gap-2">
<label for="oscar_date_value" class="form-label">Date</label> <button type="button" id="player_ui_reload" class="btn btn-outline-secondary btn-sm">Recharger</button>
<input type="date" class="form-control" id="oscar_date_value"> <button type="button" id="player_ui_save" class="btn btn-warning btn-sm">Enregistrer</button>
<div class="form-text">Format: YYYY-MM-DD.</div> </div>
</div> </div>
<div class="col-md-4 d-flex align-items-end justify-content-end gap-2"> <div class="form-text mt-2">
<button type="button" id="clear-oscar-date" class="btn btn-outline-danger">Effacer</button> Contrôle l’affichage du bloc debug dans <code>player.html</code> (admins uniquement).
<button type="button" id="save-oscar-date" class="btn btn-warning">Enregistrer</button> </div>
</div>
</div> </div>
</div> </div>
<div class="mt-3"> <!-- Oscar date -->
<div class="text-muted small mb-1">Dates configurées</div> <div class="accordion-item">
<div id="oscar-date-current" class="border rounded p-2 bg-light">—</div> <h2 class="accordion-header" id="adminSettingsHeadingOscarDate">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#adminSettingsCollapseOscarDate" aria-expanded="false" aria-controls="adminSettingsCollapseOscarDate">
Date des Oscars (par année)
</button>
</h2>
<div id="adminSettingsCollapseOscarDate" class="accordion-collapse collapse" aria-labelledby="adminSettingsHeadingOscarDate" data-bs-parent="#adminSettingsAccordion">
<div class="accordion-body">
<div class="text-muted small mb-2">
Configure la date de cérémonie pour le compte à rebours (Films &amp; Checklist). Défaut: <code>15 mars</code>.
</div>
<div class="row g-2">
<div class="col-12 col-md-4">
<label for="oscar_date_year" class="form-label mb-1">Année</label>
<select class="form-select" id="oscar_date_year"></select>
<div class="form-text">Basé sur les années présentes dans les films.</div>
</div>
<div class="col-12 col-md-4">
<label for="oscar_date_value" class="form-label mb-1">Date</label>
<input type="date" class="form-control" id="oscar_date_value">
<div class="form-text">Format: YYYY-MM-DD.</div>
</div>
<div class="col-12 col-md-4 d-flex align-items-end justify-content-end gap-2">
<button type="button" id="clear-oscar-date" class="btn btn-outline-danger btn-sm">Effacer</button>
<button type="button" id="save-oscar-date" class="btn btn-warning btn-sm">Enregistrer</button>
</div>
</div>
<div class="mt-3">
<div class="text-muted small mb-1">Dates configurées</div>
<div id="oscar-date-current" class="border rounded p-2 bg-light">—</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>