1.16 Fixe la hauteur maximale de la barre de menu

This commit is contained in:
Fred Tempez 2024-12-30 23:21:45 +01:00
parent 3b661fa9e2
commit aa9c231327
2 changed files with 35 additions and 11 deletions

View File

@ -251,6 +251,25 @@ class core extends common
} }
$css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) . ';font-family:' . $fonts[$this->getData(['theme', 'menu', 'font'])] . ';font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}'; $css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) . ';font-family:' . $fonts[$this->getData(['theme', 'menu', 'font'])] . ';font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
// Déterminer la hauteur max du menu pour éviter les débordements
$padding = $this->getData(['theme', 'menu', 'height']); // Par exemple, "10px 20px"
$fontSize = (float) $this->getData(['theme', 'text', 'fontSize']); // Taille de référence en pixels
$menuFontSize = (float) $this->getData(['theme', 'menu', 'fontSize']); // Taille du menu en em
// Extraire la première valeur du padding (par exemple "10px 20px" -> "10px")
$firstPadding = (float) explode(" ", $padding)[0]; // Nous prenons la première valeur, supposée être en px
// Convertir menuFontSize (en em) en pixels
$menuFontSizeInPx = $menuFontSize * $fontSize;
// Calculer la hauteur totale
$totalHeight = $firstPadding + $fontSize + $menuFontSizeInPx;
// Fixer la hauteur maximale de la barre de menu
$css .= '#menuLeft, nav, a.active {max-height:' . $totalHeight . 'px}';
// Pied de page // Pied de page
$colors = helper::colorVariants($this->getData(['theme', 'footer', 'backgroundColor'])); $colors = helper::colorVariants($this->getData(['theme', 'footer', 'backgroundColor']));
if ($this->getData(['theme', 'footer', 'margin'])) { if ($this->getData(['theme', 'footer', 'margin'])) {
@ -629,7 +648,6 @@ class core extends common
'inlineStyle' => $inlineStyle, 'inlineStyle' => $inlineStyle,
'inlineScript' => $inlineScript, 'inlineScript' => $inlineScript,
]); ]);
} }
// Importe le module // Importe le module
else { else {
@ -858,8 +876,7 @@ class core extends common
// Pour éviter une 404, bascule dans l'espace correct si la page existe dans cet espace. // Pour éviter une 404, bascule dans l'espace correct si la page existe dans cet espace.
// Parcourir les espaces y compris l'accueil // Parcourir les espaces y compris l'accueil
foreach (array_merge(['home' => []], $this->getData(['course'])) as $courseId => $value) { foreach (array_merge(['home' => []], $this->getData(['course'])) as $courseId => $value) {;
;
if ( if (
// l'espace existe // l'espace existe
is_dir(common::DATA_DIR . $courseId) && is_dir(common::DATA_DIR . $courseId) &&

View File

@ -372,9 +372,16 @@ core.start = function () {
/** /**
* Masque les pages du menu si demandé dans la configuration du thème du menu * Masque les pages du menu si demandé dans la configuration du thème du menu
*/ */
// Option active
var hidePages = "<?php echo $this->getData(['theme', 'menu', 'hidePages'])?>"; var hidePages = "<?php echo $this->getData(['theme', 'menu', 'hidePages'])?>";
if (hidePages == 1) { if (hidePages == 1) {
$("#menuLeft").css("visibility", "hidden"); $("#menuLeft").css({
"visibility": "hidden",
"overflow": "hidden",
"max-width": "10px"
});
} }
}; };