script delete

This commit is contained in:
2025-12-12 15:02:57 +01:00
parent f02c69449a
commit dbd1ccee68
8 changed files with 530 additions and 180 deletions

View File

@@ -1,182 +1,174 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Citations - L'Il'eau chiens - Admin</title>
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="shortcut icon" href="favicon.png" type="image/png">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/citations.css">
<link rel="shortcut icon" href="/favicon.png" type="image/png">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Citations - L'Il'eau chiens - Admin</title>
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="shortcut icon" href="favicon.png" type="image/png">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/citations.css">
<link rel="shortcut icon" href="/favicon.png" type="image/png">
</head>
<body>
<header>
<nav class="navbar navbar-expand-xxl bg-body-tertiary">
<div class="container-fluid align-items-center">
<a class="navbar-brand" href="#">L'Il'eau chiens - Admin</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link left-label" aria-current="page" href="#">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link left-label" href="#">Boutique</a>
</li>
<li class="nav-item">
<a class="nav-link left-label" href="#">Prestations</a>
</li>
<li class="nav-item">
<a class="nav-link left-label" href="#">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link left-label" href="#">Fiche renseignements</a>
</li>
<li class="nav-item">
<a class="nav-link left-label" href="#">Partenaires</a>
</li>
<li class="nav-item">
<a class="nav-link active left-label" href="#">Citations</a>
</li>
</ul>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-megaphone me-1"></i> Message d'actu</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-box-arrow-up-right me-1"></i> Voir le site</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-gear me-1"></i> Configuration</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-person-circle me-1"></i> <span id="userFirstName">Prénom</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userMenu">
<li><a class="dropdown-item" href="#">Profil</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Sortir</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="my-5 fs-6">
<div class="container">
<header>
<h1 class="title my-4 fs-2">Liste des citations</h1>
</header>
<main>
<div class="ajouter">
<a href="#" class="btn btn-primary ">Ajouter une citation</a>
</div>
<section class="chiens my-4">
<h2 class="fs-4">Citations chiens</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tbody>
</table>
</section>
<section class="chats my-4">
<h2 class="fs-4">Citations chats</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tbody>
</table>
</section>
<section class="chats my-4">
<h2 class="fs-4">Citations divers</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger">Supprimer</a>
</td>
</tbody>
</table>
</section>
</main>
<header>
<nav class="navbar navbar-expand-xxl bg-body-tertiary">
<div class="container-fluid align-items-center">
<a class="navbar-brand" href="#">L'Il'eau chiens - Admin</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link left-label" aria-current="page" href="#">Blog</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Boutique</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Prestations</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">FAQ</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Fiche renseignements</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Partenaires</a></li>
<li class="nav-item"><a class="nav-link active left-label" href="#">Citations</a></li>
</ul>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-megaphone me-1"></i> Message d'actu</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-box-arrow-up-right me-1"></i> Voir le site</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-gear me-1"></i> Configuration</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-person-circle me-1"></i> <span id="userFirstName">Prénom</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userMenu">
<li><a class="dropdown-item" href="#">Profil</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Sortir</a></li>
</ul>
</li>
</ul>
</div>
</main>
</div>
</nav>
</header>
<main class="my-5 fs-6">
<div class="container">
<header>
<h1 class="title my-4 fs-2">Liste des citations</h1>
</header>
<div class="content">
<div class="ajouter">
<a href="#" class="btn btn-primary">Ajouter une citation</a>
</div>
<section class="chiens my-4">
<h2 class="fs-4">Citations chiens</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="index.php" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
</tbody>
</table>
</section>
<section class="chats my-4">
<h2 class="fs-4">Citations chats</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="index.php?suppression" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
</tbody>
</table>
</section>
<section class="divers my-4">
<h2 class="fs-4">Citations divers</h2>
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Citations</th>
<th class="text-end">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Le chien est le seul être sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="index.php?suppression" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
<tr>
<td>Un chien est la seule chose sur terre qui vous aime plus qu'il ne s'aime lui-même. (Josh Billings)</td>
<td class="text-end">
<a href="#" class="btn btn-sm btn-outline-primary me-2">Modifier</a>
<a href="#" class="btn btn-sm btn-outline-danger" role="button" data-bs-toggle="modal" data-bs-target="#confirmDeleteModal">Supprimer</a>
</td>
</tr>
</tbody>
</table>
</section>
</div>
</div>
</main>
<div class="modal fade" id="confirmDeleteModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Confirmer la suppression</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Êtes-vous sûr de vouloir supprimer cette citation ? Cette action est définitive.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-danger" id="confirmDeleteBtn">Supprimer</button>
</div>
</div>
</div>
</div>
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="/js/contentReduct.js"></script>
<script src="/js/confirmDelete.js"></script>
</body>
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="../js/contentReduct.js"></script>
</html>
</html>

View File

@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajouter une citation - L'Il'eau chiens - Admin</title>
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="shortcut icon" href="favicon.png" type="image/png">
<link rel="stylesheet" href="/css/style.css">
<link rel="shortcut icon" href="/favicon.png" type="image/png">
</head>
<body>
<header>
<nav class="navbar navbar-expand-xxl bg-body-tertiary">
<div class="container-fluid align-items-center">
<a class="navbar-brand" href="#">L'Il'eau chiens - Admin</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link left-label" aria-current="page" href="#">Blog</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Boutique</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Prestations</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">FAQ</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Fiche renseignements</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Partenaires</a></li>
<li class="nav-item"><a class="nav-link active left-label" href="#">Citations</a></li>
</ul>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-megaphone me-1"></i> Message
d'actu</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-box-arrow-up-right me-1"></i>
Voir le site</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-gear me-1"></i>
Configuration</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userMenu" role="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-person-circle me-1"></i> <span id="userFirstName">Prénom</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userMenu">
<li><a class="dropdown-item" href="#">Profil</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li><a class="dropdown-item" href="#">Sortir</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="my-5 fs-6">
<div class="container">
<header>
<h1 class="title my-4 fs-2">Ajouter une citation</h1>
</header>
<div class="content">
<form id="ajouterArticleForm">
<div class="mb-4 quote-addition">
<label class="form-label fw-bold" for="citation">La citations</label>
<input type="text" id="citation" class="form-control"
placeholder="Il faut ne jamais abandonner..." required>
</div>
<div class="mb-3 citation-category">
<label class="form-label fw-bold" for="citationCategory">Catégorie de la citation</label>
<select id="citationCategory" class="form-select" required>
<option value="" disabled selected>Choisissez une catégorie</option>
<option value="chiens">Chiens</option>
<option value="chats">Chats</option>
<option value="divers">Divers</option>
</select>
</div>
<div class="d-flex gap-3 mt-4 confirmation-buttons">
<a href="./accueil.html" class="btn btn-secondary w-50">Annuler</a>
<button type="submit" class="btn btn-primary w-50">Ajouter</button>
</div>
</form>
</div>
</div>
</main>
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="/js/contentReduct.js"></script>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modifier une citation - L'Il'eau chiens - Admin</title>
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="shortcut icon" href="favicon.png" type="image/png">
<link rel="stylesheet" href="/css/style.css">
<link rel="shortcut icon" href="/favicon.png" type="image/png">
</head>
<body>
<header>
<nav class="navbar navbar-expand-xxl bg-body-tertiary">
<div class="container-fluid align-items-center">
<a class="navbar-brand" href="#">L'Il'eau chiens - Admin</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link left-label" aria-current="page" href="#">Blog</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Boutique</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Prestations</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">FAQ</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Fiche renseignements</a></li>
<li class="nav-item"><a class="nav-link left-label" href="#">Partenaires</a></li>
<li class="nav-item"><a class="nav-link active left-label" href="#">Citations</a></li>
</ul>
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-megaphone me-1"></i> Message
d'actu</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-box-arrow-up-right me-1"></i>
Voir le site</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-gear me-1"></i>
Configuration</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="userMenu" role="button"
data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-person-circle me-1"></i> <span id="userFirstName">Prénom</span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="userMenu">
<li><a class="dropdown-item" href="#">Profil</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li><a class="dropdown-item" href="#">Sortir</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</header>
<main class="my-5 fs-6">
<div class="container">
<header>
<h1 class="title my-4 fs-2">Modifier une citation</h1>
</header>
<div class="content">
<form id="ajouterArticleForm">
<div class="mb-4 quote-addition">
<label class="form-label fw-bold" for="citation">La citations</label>
<input type="text" id="citation" class="form-control"
placeholder="Il faut ne jamais abandonner..." value="La citation à modifier" required>
</div>
<div class="mb-3 citation-category">
<label class="form-label fw-bold" for="citationCategory">Catégorie de la citation</label>
<select id="citationCategory" class="form-select" required>
<option value="" disabled>Choisissez une catégorie</option>
<option value="chiens" selected>Chiens</option>
<option value="chats">Chats</option>
<option value="divers">Divers</option>
</select>
</div>
<div class="d-flex gap-3 mt-4 confirmation-buttons">
<a href="./accueil.html" class="btn btn-secondary w-50">Annuler</a>
<button type="submit" class="btn btn-primary w-50">Ajouter</button>
</div>
</form>
</div>
</div>
</main>
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="/js/contentReduct.js"></script>
</body>
</html>

View File

@@ -85,9 +85,9 @@
<header>
<h1 class="title my-4 fs-2">Titre de la page</h1>
</header>
<main>
<div class="content">
Contenu de la page
</main>
</div>
</div>
</main>

60
js/confirmDelete.js Normal file
View File

@@ -0,0 +1,60 @@
/**
* confirmDelete.js
*
* Modal de confirmation générique pour les actions de suppression.
*
* Usage:
* 1. Ajouter data-bs-toggle="modal" et data-bs-target="#confirmDeleteModal" au lien de suppression.
* 2. Lors de la confirmation, l'attribut href du lien est utilisé pour la navigation (GET).
*/
(function(){
let pendingHref = null;
let pendingModalId = '#confirmDeleteModal';
function getBootstrapModal(modalEl){
//retourne l'instance Bootstrap Modal associée à modalEl, ou en crée une nouvelle si nécessaire
if (!modalEl || !window.bootstrap) return null;
return bootstrap.Modal.getInstance(modalEl) || new bootstrap.Modal(modalEl);
}
document.addEventListener('click', function(e){
const btn = e.target.closest('a[data-bs-toggle="modal"][data-bs-target]');
if (!btn) return;
const target = btn.getAttribute('data-bs-target');
// Gérer les boutons de type suppression ; restreindre éventuellement en utilisant une classe CSS spécifique
// Pour un appariement plus strict, ajouter une classe dédiée et la vérifier ici.
e.preventDefault();
pendingHref = btn.getAttribute('href');
pendingModalId = btn.getAttribute('data-confirm-modal') || target || '#confirmDeleteModal';
const modalEl = document.querySelector(pendingModalId);
const modal = getBootstrapModal(modalEl);
if (modal) modal.show();
});
document.addEventListener('click', function(e){
const confirmBtn = e.target.closest('#confirmDeleteBtn');
if (!confirmBtn) return;
if (pendingHref && pendingHref !== '#' && pendingHref.trim() !== ''){
window.location.assign(pendingHref);
return; // la navigation va se produire, arrêter le traitement ici
}
// Si aucun href n'est présent, fermer simplement le modal
const modalEl = document.querySelector(pendingModalId);
const modal = getBootstrapModal(modalEl);
if (modal) modal.hide();
pendingHref = null;
pendingModalId = '#confirmDeleteModal';
});
// Réinitialiser l'état stocké lorsque n'importe quel modal Bootstrap est caché
document.addEventListener('hidden.bs.modal', function(){
pendingHref = null;
pendingModalId = '#confirmDeleteModal';
});
})();

View File

@@ -5,6 +5,7 @@
const BREAKPOINT_SM = 1000;
const NB_CARACTERES = 40;
(() => {
// Récupère les cellules td (premier d'un tr) à traiter
const getTargetCells = () => {
@@ -31,7 +32,7 @@ const BREAKPOINT_SM = 1000;
const full = td.dataset.fullText ?? td.textContent;
const text = (full || "").trim();
if (narrow) {
td.textContent = text.length > 40 ? text.slice(0, 40) + '...': text;
td.textContent = text.length > 40 ? text.slice(0, NB_CARACTERES) + '...': text;
} else {
td.textContent = full;
}

View File

@@ -5,10 +5,10 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modifier un résultat avant/après</title>
<link href="../../node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="../../node_modules/bs-icon/icons.css">
<link rel="stylesheet" href="../../css/style.css">
<link rel="stylesheet" href="../../css/avant_apres.css">
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/avant_apres.css">
</head>
<body>

111
prestations/html/verif.html Normal file
View File

@@ -0,0 +1,111 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modifier un résultat avant/après</title>
<link href="/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/node_modules/bs-icon/icons.css">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/avant_apres.css">
</head>
<body>
<div id="header-placeholder"></div>
<main class="my-5 fs-6">
<div class="container">
<header>
<h1 class="title fs-2">Modifier un résultat en images (Avant / Après)</h1>
<!-- Messages -->
<div id="successMsg" class="alert alert-success d-none">
Le résultat a été modifié avec succès.
</div>
<div id="errorMsg" class="alert alert-danger d-none">
Une erreur est survenue. Merci de vérifier le formulaire.
</div>
<!-- Erreur : format invalide -->
<div id="errorFormat" class="alert alert-danger d-none">
Format d'image invalide. Formats acceptés : JPG, PNG, WEBP.
</div>
</header>
<div class="section">
<!-- Formulaire de modification -->
<form id="editPairForm" class="mt-3">
<!-- ID caché -->
<input type="hidden" id="pairId">
<!-- Titre-->
<div class="mb-3">
<label for="pairTitle" class="form-label fw-bold">Titre du résultat
(obligatoire)</label>
<input type="text" class="form-control" id="pairTitle" required>
</div>
<!-- Type -->
<div class="mb-3">
<label class="form-label fw-bold" for="pairType">Type (obligatoire)</label>
<select id="pairType" class="form-select" required>
<option value="">-- Choisir --</option>
<option value="Chien">Chien</option>
<option value="Chat">Chat</option>
</select>
</div>
<!-- Images AVANT / APRÈS -->
<div class="row gy-4 mb-4">
<!-- Image AVANT -->
<div class="col-12">
<label class="form-label fw-bold" for="beforeImage">
Image AVANT (obligatoire, formats acceptés : jpg, png, webp)
</label>
<input type="file" class="form-control" id="beforeImage" accept="image/*" required>
<img id="beforePreview" class="img-preview mt-2 d-none" src="#" alt="Aperçu avant">
</div>
<!-- Image APRÈS -->
<div class="col-12">
<label class="form-label fw-bold" for="afterImage">
Image APRÈS (obligatoire, formats acceptés : jpg, png, webp)
</label>
<input type="file" class="form-control" id="afterImage" accept="image/*" required>
<img id="afterPreview" class="img-preview mt-2 d-none" src="#" alt="Aperçu après">
</div>
</div>
<!-- Boutons -->
<div class="row mt-4 g-3">
<div class="col-12 col-md-6">
<a href="../html/liste_avant_apres.html" class="btn btn-secondary w-100">
Annuler
</a>
</div>
<div class="col-12 col-md-6">
<button type="submit" class="btn btn-primary w-100">
Enregistrer les modifications
</button>
</div>
</div>
</form>
</div>
</div>
</main>
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="../js/modifier_avant_apres.js"></script>
</body>
</html>