Compare commits
2 Commits
84d8f1c481
...
efad1b078e
| Author | SHA1 | Date | |
|---|---|---|---|
| efad1b078e | |||
| 16ab4707e2 |
3
package-lock.json
generated
3
package-lock.json
generated
@@ -76,7 +76,8 @@
|
||||
"node_modules/scheduler": {
|
||||
"version": "0.27.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="
|
||||
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/tinymce": {
|
||||
"version": "8.2.2",
|
||||
|
||||
@@ -82,77 +82,85 @@
|
||||
</header>
|
||||
|
||||
|
||||
<div class="container mt-5">
|
||||
|
||||
<h1 class="mb-4 text-center">Ajouter un résultat en images (Avant / Après)</h1>
|
||||
|
||||
<!-- Message succès -->
|
||||
<div id="successMsg" class="alert alert-success d-none">
|
||||
Nouveau résultat ajouté avec succès !
|
||||
</div>
|
||||
|
||||
<!-- Message erreur -->
|
||||
<div id="errorMsg" class="alert alert-danger d-none">
|
||||
Merci de remplir tous les champs obligatoires.
|
||||
</div>
|
||||
|
||||
<!-- Erreur : format invalide -->
|
||||
<div id="errorFormat" class="alert alert-danger d-none">
|
||||
Format d'image invalide. Formats acceptés : JPG, PNG, WEBP.
|
||||
</div>
|
||||
|
||||
<form id="addPairForm" class="mt-3">
|
||||
|
||||
<!-- Titre / label -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label fw-bold" for="pairTitle">Titre du résultat (obligatoire)</label>
|
||||
<input type="text" id="pairTitle" class="form-control" 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>
|
||||
|
||||
<!-- Image AVANT -->
|
||||
<div class="mb-4">
|
||||
<label class="form-label fw-bold" for="beforeImage">Image AVANT (obligatoire, formats acceptés : jpg,
|
||||
png, webp)</label>
|
||||
<input type="file" id="beforeImage" class="form-control" accept="image/*" required>
|
||||
|
||||
<img id="beforePreview" class="img-preview border mt-2" src="#" alt="image avant">
|
||||
</div>
|
||||
|
||||
<!-- Image APRÈS -->
|
||||
<div class="mb-4">
|
||||
<label class="form-label fw-bold" for="afterImage">Image APRÈS (obligatoire, formats acceptés : jpg,
|
||||
png, webp)</label>
|
||||
<input type="file" id="afterImage" class="form-control" accept="image/*" required>
|
||||
|
||||
<img id="afterPreview" class="img-preview border mt-2" src="#" alt="image après">
|
||||
</div>
|
||||
|
||||
<!-- Boutons : empilés en mobile, côte à côte en md+ -->
|
||||
<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>
|
||||
<main class="my-5 fs-6">
|
||||
<div class="container">
|
||||
<header>
|
||||
<h1 class="title fs-2">Ajouter un résultat en images (Avant / Après)</h1>
|
||||
<!-- Message succès -->
|
||||
<div id="successMsg" class="alert alert-success d-none">
|
||||
Nouveau résultat ajouté avec succès !
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<button type="submit" class="btn btn-primary w-100">
|
||||
Ajouter
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<!-- Message erreur -->
|
||||
<div id="errorMsg" class="alert alert-danger d-none">
|
||||
Merci de remplir tous les champs obligatoires.
|
||||
</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">
|
||||
|
||||
<form id="addPairForm" class="mt-3">
|
||||
|
||||
<!-- Titre -->
|
||||
<div class="mb-3">
|
||||
<label class="form-label fw-bold" for="pairTitle">Titre du résultat (obligatoire)</label>
|
||||
<input type="text" id="pairTitle" class="form-control" 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>
|
||||
|
||||
<!-- Image AVANT -->
|
||||
<div class="mb-4">
|
||||
<label class="form-label fw-bold" for="beforeImage">Image AVANT (obligatoire, formats acceptés :
|
||||
jpg,
|
||||
png, webp)</label>
|
||||
<input type="file" id="beforeImage" class="form-control" accept="image/*" required>
|
||||
|
||||
<img id="beforePreview" class="img-preview border mt-2" src="#" alt="image avant">
|
||||
</div>
|
||||
|
||||
<!-- Image APRÈS -->
|
||||
<div class="mb-4">
|
||||
<label class="form-label fw-bold" for="afterImage">Image APRÈS (obligatoire, formats acceptés :
|
||||
jpg,
|
||||
png, webp)</label>
|
||||
<input type="file" id="afterImage" class="form-control" accept="image/*" required>
|
||||
|
||||
<img id="afterPreview" class="img-preview border mt-2" src="#" alt="image après">
|
||||
</div>
|
||||
|
||||
<!-- Boutons : empilés en mobile, côte à côte en md+ -->
|
||||
<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">
|
||||
Ajouter
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
<script src="../js/ajouter_avant_apres.js"></script>
|
||||
<script src="../../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div>
|
||||
<div class="section">
|
||||
|
||||
<div class="d-flex justify-content-start mb-4">
|
||||
<a href="../html/ajouter_avant_apres.html" class="btn btn-primary">
|
||||
|
||||
@@ -1,25 +1,31 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Liste des slides</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<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">
|
||||
|
||||
<style>
|
||||
body {
|
||||
background: #f4f6f9;
|
||||
padding: 40px;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 900px;
|
||||
}
|
||||
|
||||
.miniature {
|
||||
width: 90px;
|
||||
height: 60px;
|
||||
object-fit: cover;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.action-buttons button,
|
||||
.action-buttons a {
|
||||
margin-right: 8px;
|
||||
@@ -27,39 +33,103 @@
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<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 active 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 de renseignements</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link left-label" href="#">Partenaires</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>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<div class="container">
|
||||
|
||||
<h2 class="text-center mb-4">Slider – Liste des images</h2>
|
||||
<h2 class="text-center mb-4">Slider – Liste des images</h2>
|
||||
|
||||
<!-- Message succès (suppression / ordre) -->
|
||||
<div id="successMsg" class="alert alert-success d-none"></div>
|
||||
<!-- Message succès (suppression / ordre) -->
|
||||
<div id="successMsg" class="alert alert-success d-none"></div>
|
||||
|
||||
<!-- Bouton ajouter -->
|
||||
<div class="d-flex justify-content-end mb-4">
|
||||
<a href="../../slider/ajouter_slider/ajouter_slider.html" class="btn btn-primary">Ajouter une image au slider</a>
|
||||
<!-- Bouton ajouter -->
|
||||
<div class="d-flex justify-content-start mb-4">
|
||||
<a href="../html/ajouter_slider.html" class="btn btn-primary">Ajouter une image au slider</a>
|
||||
</div>
|
||||
|
||||
<table class="table table-striped table-hover align-middle">
|
||||
<thead class="table-dark">
|
||||
<tr>
|
||||
<th>Image</th>
|
||||
<th>Texte ALT</th>
|
||||
<th>Titre</th>
|
||||
<th>Ordre</th>
|
||||
<th class="text-center">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="sliderTableBody">
|
||||
<!-- rempli en JS -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<table class="table table-striped table-hover align-middle">
|
||||
<thead class="table-dark">
|
||||
<tr>
|
||||
<th>Image</th>
|
||||
<th>Texte ALT</th>
|
||||
<th>Titre</th>
|
||||
<th>Ordre</th>
|
||||
<th class="text-center">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="sliderTableBody">
|
||||
<!-- rempli en JS -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script src="liste_slider.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../js/liste_slider.js"></script>
|
||||
<script src="../../node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -96,7 +96,7 @@
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<div class="section">
|
||||
|
||||
<!-- Formulaire de modification -->
|
||||
<form id="editPairForm" class="mt-3">
|
||||
|
||||
Reference in New Issue
Block a user