diff --git a/favicon.png b/favicon.png
new file mode 100644
index 0000000..6df206d
Binary files /dev/null and b/favicon.png differ
diff --git a/header.php b/header.php
index 9c2e851..e7e620e 100644
--- a/header.php
+++ b/header.php
@@ -8,6 +8,8 @@ $activePage = $activePage ?? "";
= htmlspecialchars($pageTitle) ?>
+
+
diff --git a/modules/budget/budget.css b/modules/budget/budget.css
index ae6088b..1761df2 100644
--- a/modules/budget/budget.css
+++ b/modules/budget/budget.css
@@ -930,73 +930,89 @@ th.col-laia {
border: none;
}
-/* --- 12. OPTIMISATIONS MOBILES (Responsive) --- */
+/* --- 12. OPTIMISATIONS MOBILES (Mode Largeur Fixe 680px) --- */
@media (max-width: 768px) {
- /* 1. Header du Budget Prévisionnel : On empile verticalement */
- .prev-section-header {
- flex-direction: column;
- align-items: flex-start;
- gap: 15px;
+ /* 1. ON FORCE TOUT LE SITE A FAIRE MINIMUM 680px */
+ /* Cela inclut le Header et le Footer global */
+ html,
+ body {
+ min-width: 680px !important;
+ overflow-x: auto !important; /* Active le scroll horizontal global si besoin */
+ position: relative;
}
- /* On s'assure que les sous-groupes (Titre + Nav) prennent toute la largeur */
- .prev-section-header > div {
+ /* Si ton header/footer a des classes spécifiques, ajoute-les ici */
+ header,
+ footer,
+ .navbar,
+ .site-header,
+ .site-footer {
+ min-width: 680px !important;
+ width: 100% !important;
+ box-sizing: border-box;
+ }
+
+ /* Le conteneur principal du budget */
+ .budget-view {
+ min-width: 680px !important;
width: 100%;
- justify-content: space-between;
+ padding-right: 10px; /* Petite marge de sécurité */
}
- /* 2. Colonne Fixe (Sticky) : On réduit la largeur pour laisser voir les données */
- .col-sticky {
- min-width: 140px !important; /* Réduit de 220px à 140px */
- max-width: 140px;
- font-size: 0.85rem; /* Texte un peu plus petit */
- white-space: normal; /* Autorise le retour à la ligne du nom */
- line-height: 1.2;
+ /* 2. TABLEAU REVENUS (Doit s'afficher en entier sans scroll interne) */
+ .prev-salary-table {
+ min-width: 100%; /* Prend toute la largeur dispo (680px) */
+ width: 100%;
}
- /* Ajustement du petit texte (cible) */
- .col-sticky small {
- font-size: 0.65rem;
- margin-top: 2px;
+ /* 3. TABLEAU REPARTITION (Timeline) */
+ /* Lui est très large (> 1000px). On le laisse scroller DANS la page de 680px */
+ .prev-timeline-wrapper {
+ width: 100%;
+ overflow-x: auto !important; /* Scrollbar interne */
+ display: block;
}
- /* 3. Actions (Edit/Delete) : Toujours visibles sur mobile */
- /* Car pas de "hover" avec le doigt */
+ /* 4. ACTIONS (Crayon/Poubelle) */
+ /* On garde la logique "au clic" car c'est plus sûr sur mobile */
.row-actions {
- display: flex !important; /* Force l'affichage */
- background: rgba(255, 255, 255, 0.8); /* Fond semi-transparent */
- border: 1px solid #e2e8f0;
- right: 2px;
- padding: 1px;
+ display: none !important;
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ background: #ffffff;
+ box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
+ padding: 0 10px;
+ align-items: center;
+ gap: 10px;
+ z-index: 50;
+ border-left: 1px solid #e2e8f0;
+ }
+ .row-actions.show-actions {
+ display: flex !important;
}
+ /* On ajuste la taille des icônes à cette vue dézoomée */
.btn-icon-action {
- width: 28px; /* Zone de touche un peu plus grande */
- height: 28px;
font-size: 1.2rem;
+ padding: 5px;
+ width: 34px;
+ height: 34px;
}
- /* 4. Tableau Récapitulatif */
- .recap-wrapper {
- padding-top: 10px;
+ /* 5. COLONNE STICKY */
+ /* Puisque la page est large, on peut laisser une largeur confortable */
+ .col-sticky {
+ min-width: 180px !important;
+ position: sticky !important;
+ left: 0;
}
- .recap-card {
- border-radius: 8px; /* Coins moins arrondis pour gagner de la place */
- border-left: none;
- border-right: none; /* Enlever les bordures latérales sur tout petits écrans */
- }
-
- .recap-table th,
- .recap-table td {
- padding: 8px 6px; /* Padding réduit */
- font-size: 0.85rem;
- }
-
- /* 5. Inputs du tableau : Plus facile à toucher */
- .prev-input {
- font-size: 16px; /* Évite que l'iPhone zoom quand on clique dessus */
- padding: 8px 0;
+ /* 6. HEADER DE SECTION (Alignement) */
+ .prev-section-header {
+ flex-direction: row; /* On peut garder aligné car on a de la place (680px) */
+ align-items: center;
}
}
diff --git a/modules/budget/views/budget_prev.php b/modules/budget/views/budget_prev.php
index 1d09913..a6fd62f 100644
--- a/modules/budget/views/budget_prev.php
+++ b/modules/budget/views/budget_prev.php
@@ -573,4 +573,49 @@ function saveData(action, data) {
}
document.addEventListener('DOMContentLoaded', recalcAllAllocations);
+
+
\ No newline at end of file