feat(admin): orders, kitchen view, users pages with realistic placeholders
This commit is contained in:
parent
447cc598f6
commit
199d926903
3 changed files with 803 additions and 0 deletions
254
src/public/admin/commandes.html
Normal file
254
src/public/admin/commandes.html
Normal file
|
|
@ -0,0 +1,254 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Commandes — Wakdo Admin</title>
|
||||||
|
<link rel="stylesheet" href="assets/css/admin.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="admin-layout">
|
||||||
|
|
||||||
|
<!-- Topbar -->
|
||||||
|
<header class="topbar">
|
||||||
|
<div class="topbar-logo">
|
||||||
|
<img src="assets/images/logo.png" alt="Wakdo">
|
||||||
|
<div>
|
||||||
|
<span class="topbar-logo-text">Wakdo</span>
|
||||||
|
<span class="topbar-logo-sub">Administration</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="topbar-search">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
|
||||||
|
<input type="text" placeholder="N° commande, statut...">
|
||||||
|
</div>
|
||||||
|
<div class="topbar-actions">
|
||||||
|
<div class="topbar-user">
|
||||||
|
<button class="topbar-user-btn" id="userMenuBtn" type="button">
|
||||||
|
<div class="topbar-user-avatar">CJ</div>
|
||||||
|
<div>
|
||||||
|
<div class="topbar-user-name">Corentin J.</div>
|
||||||
|
<div class="topbar-user-role">Administrateur</div>
|
||||||
|
</div>
|
||||||
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu" id="userMenu">
|
||||||
|
<a href="#">Mon profil</a>
|
||||||
|
<a href="#">Parametres</a>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Se deconnecter</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Vue d'ensemble</div>
|
||||||
|
<a href="dashboard.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect></svg>
|
||||||
|
Tableau de bord
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Catalogue</div>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
|
||||||
|
Categories
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
|
||||||
|
Produits
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"></path><rect x="9" y="3" width="6" height="4" rx="2"></rect></svg>
|
||||||
|
Menus
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Operations</div>
|
||||||
|
<a href="commandes.html" class="sidebar-item active">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></svg>
|
||||||
|
Commandes
|
||||||
|
</a>
|
||||||
|
<a href="cuisine.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line></svg>
|
||||||
|
Cuisine
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Administration</div>
|
||||||
|
<a href="users.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
|
||||||
|
Utilisateurs
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
|
||||||
|
Roles
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14"></path></svg>
|
||||||
|
Parametres
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<main class="content">
|
||||||
|
<div class="page-header">
|
||||||
|
<div>
|
||||||
|
<h1 class="page-title">Commandes</h1>
|
||||||
|
<p class="page-subtitle">Historique et suivi de toutes les commandes</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Filters -->
|
||||||
|
<div class="toolbar">
|
||||||
|
<div class="toolbar-left">
|
||||||
|
<div class="search-field">
|
||||||
|
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
|
||||||
|
<input type="text" placeholder="N° commande..." id="cmdSearch">
|
||||||
|
</div>
|
||||||
|
<select class="filter-select" id="statusFilter">
|
||||||
|
<option value="">Tous les statuts</option>
|
||||||
|
<option value="pending">En attente</option>
|
||||||
|
<option value="paid">Payee</option>
|
||||||
|
<option value="preparing">En preparation</option>
|
||||||
|
<option value="ready">Prete</option>
|
||||||
|
<option value="delivered">Livree</option>
|
||||||
|
<option value="cancelled">Annulee</option>
|
||||||
|
</select>
|
||||||
|
<select class="filter-select">
|
||||||
|
<option value="">Tous les modes</option>
|
||||||
|
<option value="kiosk">Borne</option>
|
||||||
|
<option value="counter">Comptoir</option>
|
||||||
|
<option value="drive">Drive</option>
|
||||||
|
</select>
|
||||||
|
<select class="filter-select">
|
||||||
|
<option value="today">Aujourd'hui</option>
|
||||||
|
<option value="7d">7 derniers jours</option>
|
||||||
|
<option value="30d">30 derniers jours</option>
|
||||||
|
<option value="custom">Personnalise</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-container">
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table id="cmdTable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="sortable" data-col="0">N° <span class="sort-icon">↕</span></th>
|
||||||
|
<th class="sortable" data-col="1">Date / Heure <span class="sort-icon">↕</span></th>
|
||||||
|
<th>Mode</th>
|
||||||
|
<th>Source</th>
|
||||||
|
<th>Statut</th>
|
||||||
|
<th style="text-align:center;">Lignes</th>
|
||||||
|
<th class="sortable" data-col="6" style="text-align:right;">Total <span class="sort-icon">↕</span></th>
|
||||||
|
<th style="width:50px;"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1087</td>
|
||||||
|
<td class="muted">09/05/2026 13:42</td>
|
||||||
|
<td><span class="pill pill-info">Sur place</span></td>
|
||||||
|
<td class="muted text-sm">Borne</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">3</td>
|
||||||
|
<td class="text-right fw-600">18,70 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1086</td>
|
||||||
|
<td class="muted">09/05/2026 13:38</td>
|
||||||
|
<td><span class="pill pill-neutral">A emporter</span></td>
|
||||||
|
<td class="muted text-sm">Comptoir</td>
|
||||||
|
<td><span class="pill pill-warning">En preparation</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">5</td>
|
||||||
|
<td class="text-right fw-600">24,30 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1085</td>
|
||||||
|
<td class="muted">09/05/2026 13:31</td>
|
||||||
|
<td><span class="pill pill-info">Sur place</span></td>
|
||||||
|
<td class="muted text-sm">Borne</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">2</td>
|
||||||
|
<td class="text-right fw-600">11,40 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1084</td>
|
||||||
|
<td class="muted">09/05/2026 13:27</td>
|
||||||
|
<td><span class="pill pill-neutral">A emporter</span></td>
|
||||||
|
<td class="muted text-sm">Drive</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">2</td>
|
||||||
|
<td class="text-right fw-600">8,80 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1083</td>
|
||||||
|
<td class="muted">09/05/2026 13:19</td>
|
||||||
|
<td><span class="pill pill-info">Sur place</span></td>
|
||||||
|
<td class="muted text-sm">Borne</td>
|
||||||
|
<td><span class="pill pill-neutral">Annulee</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">1</td>
|
||||||
|
<td class="text-right muted">6,40 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1082</td>
|
||||||
|
<td class="muted">09/05/2026 13:14</td>
|
||||||
|
<td><span class="pill pill-info">Sur place</span></td>
|
||||||
|
<td class="muted text-sm">Borne</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">7</td>
|
||||||
|
<td class="text-right fw-600">32,10 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1081</td>
|
||||||
|
<td class="muted">09/05/2026 13:08</td>
|
||||||
|
<td><span class="pill pill-neutral">A emporter</span></td>
|
||||||
|
<td class="muted text-sm">Drive</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">2</td>
|
||||||
|
<td class="text-right fw-600">10,90 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mono fw-600">#1080</td>
|
||||||
|
<td class="muted">09/05/2026 12:58</td>
|
||||||
|
<td><span class="pill pill-info">Sur place</span></td>
|
||||||
|
<td class="muted text-sm">Comptoir</td>
|
||||||
|
<td><span class="pill pill-success">Livree</span></td>
|
||||||
|
<td style="text-align:center;" class="muted">4</td>
|
||||||
|
<td class="text-right fw-600">15,60 €</td>
|
||||||
|
<td><div class="action-menu"><button class="action-menu-btn" type="button"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg></button><div class="action-menu-dropdown"><a href="#">Voir detail</a><div class="divider"></div><button class="danger" type="button">Annuler</button></div></div></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="pagination">
|
||||||
|
<span class="pagination-info">Affichage de 8 sur 231 commandes</span>
|
||||||
|
<div class="pagination-controls">
|
||||||
|
<button class="pagination-btn" disabled type="button">«</button>
|
||||||
|
<button class="pagination-btn active" type="button">1</button>
|
||||||
|
<button class="pagination-btn" type="button">2</button>
|
||||||
|
<button class="pagination-btn" type="button">3</button>
|
||||||
|
<span style="padding:0 4px;color:var(--color-text-muted);font-size:12px;">...</span>
|
||||||
|
<button class="pagination-btn" type="button">29</button>
|
||||||
|
<button class="pagination-btn" type="button">»</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="assets/js/admin.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
253
src/public/admin/cuisine.html
Normal file
253
src/public/admin/cuisine.html
Normal file
|
|
@ -0,0 +1,253 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Cuisine — Wakdo Admin</title>
|
||||||
|
<link rel="stylesheet" href="assets/css/admin.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="admin-layout">
|
||||||
|
|
||||||
|
<!-- Topbar -->
|
||||||
|
<header class="topbar">
|
||||||
|
<div class="topbar-logo">
|
||||||
|
<img src="assets/images/logo.png" alt="Wakdo">
|
||||||
|
<div>
|
||||||
|
<span class="topbar-logo-text">Wakdo</span>
|
||||||
|
<span class="topbar-logo-sub">Administration</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="topbar-search">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
|
||||||
|
<input type="text" placeholder="Rechercher une commande...">
|
||||||
|
</div>
|
||||||
|
<div class="topbar-actions">
|
||||||
|
<div class="topbar-user">
|
||||||
|
<button class="topbar-user-btn" id="userMenuBtn" type="button">
|
||||||
|
<div class="topbar-user-avatar">CJ</div>
|
||||||
|
<div>
|
||||||
|
<div class="topbar-user-name">Corentin J.</div>
|
||||||
|
<div class="topbar-user-role">Administrateur</div>
|
||||||
|
</div>
|
||||||
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu" id="userMenu">
|
||||||
|
<a href="#">Mon profil</a>
|
||||||
|
<a href="#">Parametres</a>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Se deconnecter</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Vue d'ensemble</div>
|
||||||
|
<a href="dashboard.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect></svg>
|
||||||
|
Tableau de bord
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Catalogue</div>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
|
||||||
|
Categories
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
|
||||||
|
Produits
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"></path><rect x="9" y="3" width="6" height="4" rx="2"></rect></svg>
|
||||||
|
Menus
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Operations</div>
|
||||||
|
<a href="commandes.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></svg>
|
||||||
|
Commandes
|
||||||
|
</a>
|
||||||
|
<a href="cuisine.html" class="sidebar-item active">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line></svg>
|
||||||
|
Cuisine
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Administration</div>
|
||||||
|
<a href="users.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
|
||||||
|
Utilisateurs
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
|
||||||
|
Roles
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14"></path></svg>
|
||||||
|
Parametres
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<main class="content">
|
||||||
|
<div class="page-header">
|
||||||
|
<div>
|
||||||
|
<h1 class="page-title">Cuisine</h1>
|
||||||
|
<p class="page-subtitle">Commandes en attente de preparation — tries par heure croissante</p>
|
||||||
|
</div>
|
||||||
|
<div class="page-actions">
|
||||||
|
<span class="text-sm text-muted" id="kitchenTime">13:42:17</span>
|
||||||
|
<button class="btn btn-secondary" type="button" id="kitchenRefresh">
|
||||||
|
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>
|
||||||
|
Actualiser
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Kitchen cards grid -->
|
||||||
|
<div class="kitchen-grid" id="kitchenGrid">
|
||||||
|
|
||||||
|
<div class="kitchen-card">
|
||||||
|
<div class="kitchen-card-header">
|
||||||
|
<div>
|
||||||
|
<div class="kitchen-order-num">#1086</div>
|
||||||
|
<div class="kitchen-order-time">13:38 — 4 min</div>
|
||||||
|
</div>
|
||||||
|
<span class="pill pill-neutral">A emporter</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-body">
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x2</span>Menu Big Mac</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Grande Frite</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x2</span>Coca Cola</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Nuggets x4</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-footer">
|
||||||
|
<span class="text-sm text-muted">24,30 €</span>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button">Marquer prete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kitchen-card">
|
||||||
|
<div class="kitchen-card-header">
|
||||||
|
<div>
|
||||||
|
<div class="kitchen-order-num">#1088</div>
|
||||||
|
<div class="kitchen-order-time">13:44 — 2 min</div>
|
||||||
|
</div>
|
||||||
|
<span class="pill pill-info">Sur place</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-body">
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Menu CBO</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Fanta Orange</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Classic Barbecue</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-footer">
|
||||||
|
<span class="text-sm text-muted">13,50 €</span>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button">Marquer prete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kitchen-card">
|
||||||
|
<div class="kitchen-card-header">
|
||||||
|
<div>
|
||||||
|
<div class="kitchen-order-num">#1089</div>
|
||||||
|
<div class="kitchen-order-time">13:45 — 1 min</div>
|
||||||
|
</div>
|
||||||
|
<span class="pill pill-neutral">A emporter</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-body">
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x3</span>Menu Royal Cheese</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Petite Salade</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x3</span>Eau</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-footer">
|
||||||
|
<span class="text-sm text-muted">25,50 €</span>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button">Marquer prete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kitchen-card">
|
||||||
|
<div class="kitchen-card-header">
|
||||||
|
<div>
|
||||||
|
<div class="kitchen-order-num">#1090</div>
|
||||||
|
<div class="kitchen-order-time">13:46 — maintenant</div>
|
||||||
|
</div>
|
||||||
|
<span class="pill pill-info">Sur place</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-body">
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Big Tasty Bacon</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Grande Frite</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x1</span>Ice Tea Peche</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x2</span>Ketchup</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-footer">
|
||||||
|
<span class="text-sm text-muted">12,60 €</span>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button">Marquer prete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="kitchen-card">
|
||||||
|
<div class="kitchen-card-header">
|
||||||
|
<div>
|
||||||
|
<div class="kitchen-order-num">#1091</div>
|
||||||
|
<div class="kitchen-order-time">13:46 — maintenant</div>
|
||||||
|
</div>
|
||||||
|
<span class="pill pill-neutral">A emporter</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-body">
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x4</span>Cheeseburger</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x2</span>Moyenne Frite</span>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-line">
|
||||||
|
<span><span class="kitchen-qty">x4</span>Coca Cola</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="kitchen-card-footer">
|
||||||
|
<span class="text-sm text-muted">22,10 €</span>
|
||||||
|
<button class="btn btn-primary btn-sm" type="button">Marquer prete</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="assets/js/admin.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
296
src/public/admin/users.html
Normal file
296
src/public/admin/users.html
Normal file
|
|
@ -0,0 +1,296 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Utilisateurs — Wakdo Admin</title>
|
||||||
|
<link rel="stylesheet" href="assets/css/admin.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="admin-layout">
|
||||||
|
|
||||||
|
<!-- Topbar -->
|
||||||
|
<header class="topbar">
|
||||||
|
<div class="topbar-logo">
|
||||||
|
<img src="assets/images/logo.png" alt="Wakdo">
|
||||||
|
<div>
|
||||||
|
<span class="topbar-logo-text">Wakdo</span>
|
||||||
|
<span class="topbar-logo-sub">Administration</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="topbar-search">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
|
||||||
|
<input type="text" placeholder="Rechercher un utilisateur...">
|
||||||
|
</div>
|
||||||
|
<div class="topbar-actions">
|
||||||
|
<div class="topbar-user">
|
||||||
|
<button class="topbar-user-btn" id="userMenuBtn" type="button">
|
||||||
|
<div class="topbar-user-avatar">CJ</div>
|
||||||
|
<div>
|
||||||
|
<div class="topbar-user-name">Corentin J.</div>
|
||||||
|
<div class="topbar-user-role">Administrateur</div>
|
||||||
|
</div>
|
||||||
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu" id="userMenu">
|
||||||
|
<a href="#">Mon profil</a>
|
||||||
|
<a href="#">Parametres</a>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Se deconnecter</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<nav class="sidebar">
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Vue d'ensemble</div>
|
||||||
|
<a href="dashboard.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect></svg>
|
||||||
|
Tableau de bord
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Catalogue</div>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"></path><line x1="7" y1="7" x2="7.01" y2="7"></line></svg>
|
||||||
|
Categories
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
|
||||||
|
Produits
|
||||||
|
</a>
|
||||||
|
<a href="catalogue.html" class="sidebar-item sidebar-item-sub">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2"></path><rect x="9" y="3" width="6" height="4" rx="2"></rect></svg>
|
||||||
|
Menus
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Operations</div>
|
||||||
|
<a href="commandes.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></svg>
|
||||||
|
Commandes
|
||||||
|
</a>
|
||||||
|
<a href="cuisine.html" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"></path><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"></path><line x1="6" y1="1" x2="6" y2="4"></line><line x1="10" y1="1" x2="10" y2="4"></line><line x1="14" y1="1" x2="14" y2="4"></line></svg>
|
||||||
|
Cuisine
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="sidebar-section">
|
||||||
|
<div class="sidebar-section-label">Administration</div>
|
||||||
|
<a href="users.html" class="sidebar-item active">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
|
||||||
|
Utilisateurs
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
|
||||||
|
Roles
|
||||||
|
</a>
|
||||||
|
<a href="#" class="sidebar-item">
|
||||||
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14"></path></svg>
|
||||||
|
Parametres
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<main class="content">
|
||||||
|
<div class="page-header">
|
||||||
|
<div>
|
||||||
|
<h1 class="page-title">Utilisateurs</h1>
|
||||||
|
<p class="page-subtitle">Comptes et droits d'acces au back-office</p>
|
||||||
|
</div>
|
||||||
|
<div class="page-actions">
|
||||||
|
<button class="btn btn-primary" type="button">
|
||||||
|
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>
|
||||||
|
Nouvel utilisateur
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="toolbar">
|
||||||
|
<div class="toolbar-left">
|
||||||
|
<div class="search-field">
|
||||||
|
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
|
||||||
|
<input type="text" placeholder="Nom, email..." id="userSearch">
|
||||||
|
</div>
|
||||||
|
<select class="filter-select">
|
||||||
|
<option value="">Tous les roles</option>
|
||||||
|
<option value="admin">Administrateur</option>
|
||||||
|
<option value="manager">Manager</option>
|
||||||
|
<option value="preparation">Preparation</option>
|
||||||
|
<option value="accueil">Accueil</option>
|
||||||
|
</select>
|
||||||
|
<select class="filter-select">
|
||||||
|
<option value="">Tous les statuts</option>
|
||||||
|
<option value="active">Actif</option>
|
||||||
|
<option value="inactive">Inactif</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-container">
|
||||||
|
<div class="table-wrapper">
|
||||||
|
<table id="userTable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="sortable" data-col="0">Nom / Email <span class="sort-icon">↕</span></th>
|
||||||
|
<th class="sortable" data-col="1">Role <span class="sort-icon">↕</span></th>
|
||||||
|
<th>Statut</th>
|
||||||
|
<th class="sortable" data-col="3">Derniere connexion <span class="sort-icon">↕</span></th>
|
||||||
|
<th style="width:50px;"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-center gap-8">
|
||||||
|
<div class="topbar-user-avatar" style="width:30px;height:30px;font-size:12px;">CJ</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-600">Corentin Jog</div>
|
||||||
|
<div class="text-sm text-muted">corentin@wakdo.fr</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><span class="pill pill-info">Administrateur</span></td>
|
||||||
|
<td><span class="pill pill-success">Actif</span></td>
|
||||||
|
<td class="muted">09/05/2026 13:42</td>
|
||||||
|
<td>
|
||||||
|
<div class="action-menu">
|
||||||
|
<button class="action-menu-btn" type="button">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>
|
||||||
|
</button>
|
||||||
|
<div class="action-menu-dropdown">
|
||||||
|
<a href="#">Modifier</a>
|
||||||
|
<button type="button">Reinitialiser mdp</button>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Desactiver</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-center gap-8">
|
||||||
|
<div class="topbar-user-avatar" style="width:30px;height:30px;font-size:12px;background:#E5E7EB;color:#4A4A4A;">ML</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-600">Marie Laurent</div>
|
||||||
|
<div class="text-sm text-muted">marie.laurent@wakdo.fr</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><span class="pill pill-warning">Manager</span></td>
|
||||||
|
<td><span class="pill pill-success">Actif</span></td>
|
||||||
|
<td class="muted">09/05/2026 10:15</td>
|
||||||
|
<td>
|
||||||
|
<div class="action-menu">
|
||||||
|
<button class="action-menu-btn" type="button">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>
|
||||||
|
</button>
|
||||||
|
<div class="action-menu-dropdown">
|
||||||
|
<a href="#">Modifier</a>
|
||||||
|
<button type="button">Reinitialiser mdp</button>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Desactiver</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-center gap-8">
|
||||||
|
<div class="topbar-user-avatar" style="width:30px;height:30px;font-size:12px;background:#E5E7EB;color:#4A4A4A;">AD</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-600">Ahmed Diallo</div>
|
||||||
|
<div class="text-sm text-muted">ahmed.diallo@wakdo.fr</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><span class="pill pill-neutral">Preparation</span></td>
|
||||||
|
<td><span class="pill pill-success">Actif</span></td>
|
||||||
|
<td class="muted">09/05/2026 11:00</td>
|
||||||
|
<td>
|
||||||
|
<div class="action-menu">
|
||||||
|
<button class="action-menu-btn" type="button">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>
|
||||||
|
</button>
|
||||||
|
<div class="action-menu-dropdown">
|
||||||
|
<a href="#">Modifier</a>
|
||||||
|
<button type="button">Reinitialiser mdp</button>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Desactiver</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-center gap-8">
|
||||||
|
<div class="topbar-user-avatar" style="width:30px;height:30px;font-size:12px;background:#E5E7EB;color:#4A4A4A;">SP</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-600">Sophie Petit</div>
|
||||||
|
<div class="text-sm text-muted">sophie.petit@wakdo.fr</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><span class="pill pill-neutral">Accueil</span></td>
|
||||||
|
<td><span class="pill pill-success">Actif</span></td>
|
||||||
|
<td class="muted">09/05/2026 09:58</td>
|
||||||
|
<td>
|
||||||
|
<div class="action-menu">
|
||||||
|
<button class="action-menu-btn" type="button">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>
|
||||||
|
</button>
|
||||||
|
<div class="action-menu-dropdown">
|
||||||
|
<a href="#">Modifier</a>
|
||||||
|
<button type="button">Reinitialiser mdp</button>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Desactiver</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="d-flex align-center gap-8">
|
||||||
|
<div class="topbar-user-avatar" style="width:30px;height:30px;font-size:12px;background:#F3F4F6;color:#9CA3AF;">TM</div>
|
||||||
|
<div>
|
||||||
|
<div class="fw-600" style="color:var(--color-text-muted);">Thomas Martin</div>
|
||||||
|
<div class="text-sm text-muted">thomas.martin@wakdo.fr</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td><span class="pill pill-neutral">Preparation</span></td>
|
||||||
|
<td><span class="pill pill-neutral">Inactif</span></td>
|
||||||
|
<td class="muted">02/04/2026 17:30</td>
|
||||||
|
<td>
|
||||||
|
<div class="action-menu">
|
||||||
|
<button class="action-menu-btn" type="button">
|
||||||
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>
|
||||||
|
</button>
|
||||||
|
<div class="action-menu-dropdown">
|
||||||
|
<a href="#">Modifier</a>
|
||||||
|
<button type="button">Reactiver</button>
|
||||||
|
<div class="divider"></div>
|
||||||
|
<button class="danger" type="button">Supprimer</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="pagination">
|
||||||
|
<span class="pagination-info">5 utilisateurs</span>
|
||||||
|
<div class="pagination-controls">
|
||||||
|
<button class="pagination-btn active" type="button">1</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="assets/js/admin.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Add table
Reference in a new issue