-- Reglages d'affichage personnalises (Phase 4) :
-- 1) parametre_affichage_table : alignement/couleurs d'un tableau donne, par utilisateur.
--    "cle_table" est un identifiant stable choisi cote vue (ex. 'vente_clients'), pas l'id
--    d'une ligne - un utilisateur a AU PLUS une ligne de reglage par (lui, tableau).
--    "colonnes" stocke un JSON {"Nom de colonne (tel qu'affiche dans le <th>)": "preset"},
--    volontairement limite a une liste fermee de presets cotes couleurs (voir
--    AffichageTable::COULEURS_COLONNE) - jamais de couleur libre choisie par l'utilisateur.
-- 2) parametre_style_module : meme principe que parametre_style_user (theme choisi par
--    l'utilisateur) mais scope a un module donne (ex. 'vente'), pour permettre un theme
--    different par module sans toucher au theme global. Absence de ligne = pas de surcharge,
--    le theme global s'applique (voir vendor/function.php::style()).
CREATE TABLE `parametre_affichage_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `cle_table` varchar(80) NOT NULL,
  `alignement` varchar(10) NOT NULL DEFAULT 'gauche',
  `preset_entete` varchar(30) NOT NULL DEFAULT 'defaut',
  `preset_bordure` varchar(30) NOT NULL DEFAULT 'defaut',
  `colonnes` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_table` (`id_user`, `cle_table`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

CREATE TABLE `parametre_style_module` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_user` int(11) NOT NULL,
  `module` varchar(40) NOT NULL,
  `id_style` int(11) NOT NULL,
  `mode_theme` varchar(10) NOT NULL DEFAULT 'clair',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_module` (`id_user`, `module`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
