<?php
/**
 * Projet                    : MageStock
 * Logiciel                  : MageStock
 * Fichier                   : views/warehouse-manager.php
 * Rôle                      : Vue unique de gestion des magasins et de leurs catégories
 * Auteur                    : Régis KREMER
 * Version du fichier        : 2.6.116
 * Version générale          : 2.6.116
 * Lot                       : MAGESTOCK WAREHOUSE UI CONSOLIDATION1
 * Base requise              : MageStock 2.6.115
 * Création                  : 2026-02-21
 * Dernière modification     : 2026-07-25
 * Dépendances               : views/layout.php, warehouse-manager.js, crud-mobile.css
 * Données touchées          : aucune directement
 * Permissions               : zone administration, warehouses.manage pour les écritures
 * Sécurité                  : sorties encodées par le moteur de vue et le module JavaScript
 * Compatibilité             : ordinateur, smartphone et tablette
 *
 * Résumé :
 * - remplace définitivement l'ancienne page Magasins ;
 * - conserve le design compact validé et expose les informations utiles du magasin ;
 * - fournit une racine unique pour les actions de gestion et les catégories.
 *
 * Historique :
 * - 2.6.116 — interface unique Gestion des magasins et libellés internationalisés.
 * - 2.6.101 — cartes compactes et catégories maîtrisées.
 * - 2.6.86 — socle mobile/tablette accessible.
 */
?>
<div class="page-body" id="pgWarehouseManager">
    <section class="page-sect">
        <div class="sect-toolbar">
            <div class="sect-toolbar-left">
                <h2><?= htmlspecialchars($tr('warehouse.manager.heading', 'Gestion des magasins')) ?></h2>
                <p><?= htmlspecialchars($tr('warehouse.manager.intro', 'Créez les magasins, renseignez leurs informations et organisez leurs catégories.')) ?></p>
            </div>
            <button class="btn btn-primary" id="btnNewWarehouse" type="button">
                <span data-icon="plus"></span>
                <?= htmlspecialchars($tr('warehouse.manager.new', 'Nouveau magasin')) ?>
            </button>
        </div>

        <div class="warehouse-manager-grid" aria-live="polite"></div>
    </section>
</div>

<style>
#pgWarehouseManager .page-sect{max-width:1680px;margin:0 auto;}
#pgWarehouseManager .sect-toolbar{margin-bottom:18px;padding:0 4px 16px;border-bottom:1px solid var(--border);align-items:flex-end;}
#pgWarehouseManager .sect-toolbar-left{display:grid;gap:5px;min-width:0;}
#pgWarehouseManager .sect-toolbar h2{font-size:18px;font-weight:800;margin:0;color:var(--text-primary);}
#pgWarehouseManager .sect-toolbar p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.45;max-width:720px;}
.warehouse-manager-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:0 4px 28px;align-items:start;}
.warehouse-card{min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 5px 16px rgba(15,23,42,.05);transition:border-color .16s,box-shadow .16s;}
.warehouse-card:hover{border-color:color-mix(in srgb,var(--blue) 38%,var(--border));box-shadow:0 10px 24px rgba(15,23,42,.09);}
.warehouse-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;margin:0;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-card),var(--bg-elevated));}
.warehouse-name{min-width:0;font-size:15px;font-weight:850;color:var(--text-primary);line-height:1.25;overflow-wrap:anywhere;}
.warehouse-header .btn{width:40px;height:40px;padding:0;flex:0 0 auto;}
.warehouse-details{display:grid;gap:7px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-card);}
.warehouse-detail{display:grid;grid-template-columns:minmax(82px,.38fr) 1fr;gap:10px;align-items:start;font-size:11px;line-height:1.45;}
.warehouse-detail-label{font-weight:800;color:var(--text-muted);}
.warehouse-detail-value{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;}
.warehouse-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;background:var(--bg-elevated);border-bottom:1px solid var(--border);}
.warehouse-stat{min-width:0;text-align:left;padding:13px 16px;}
.warehouse-stat+.warehouse-stat{border-left:1px solid var(--border);}
.warehouse-stat-value{font-size:21px;font-weight:900;color:var(--blue);line-height:1;}
.warehouse-stat-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-top:5px;}
.warehouse-categories{margin:0;padding:14px 16px 16px;}
.warehouse-categories-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.warehouse-categories-title{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);}
.warehouse-categories-header .btn{min-height:38px;}
.category-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;min-height:34px;max-height:250px;overflow:auto;padding-right:3px;scrollbar-gutter:stable;}
.category-empty{display:block;width:100%;padding:12px;border:1px dashed var(--border);color:var(--text-muted);font-style:italic;font-size:12px;text-align:center;}
.category-tag{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:32px;padding:5px 8px 5px 10px;background:var(--blue-pale);color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--border));border-radius:6px;font-size:11px;font-weight:750;line-height:1.2;overflow-wrap:anywhere;}
.category-tag:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue-pale) 78%,var(--bg-card));}
.category-tag-remove{border:0;background:transparent;color:inherit;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;line-height:1;padding:0;border-radius:4px;flex:0 0 auto;}
.category-tag-remove:hover,.category-tag-remove:focus-visible{background:rgba(37,99,235,.12);outline:none;}
.warehouse-delete-dependencies{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none;}
.warehouse-delete-dependencies li{display:flex;justify-content:space-between;gap:18px;padding:7px 9px;background:var(--bg-elevated);border:1px solid var(--border);font-size:12px;}
.warehouse-delete-dependencies strong{color:var(--text-primary);}
@media(max-width:900px){.warehouse-manager-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){#pgWarehouseManager .sect-toolbar{align-items:stretch}.warehouse-manager-grid{grid-template-columns:1fr;padding:0 0 24px}.warehouse-categories{padding:13px 14px 15px}.category-list{max-height:none}.warehouse-header{padding:13px 14px}.warehouse-detail{grid-template-columns:1fr;gap:2px}}
</style>

<script>window.SM_PAGE = 'warehouse-manager';</script>
