fix: scope rail nav-label hiding to sidebar and fall back fab-only to sidebar on desktop
This commit is contained in:
+3
-3
@@ -471,14 +471,14 @@
|
||||
color: var(--ink-mute);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
:where(html[data-nav="rail"]) .nav-item {
|
||||
:where(html[data-nav="rail"]) .sidebar .nav-item {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
padding: 0;
|
||||
justify-content: center;
|
||||
}
|
||||
:where(html[data-nav="rail"]) .nav-label,
|
||||
:where(html[data-nav="rail"]) .nav-count {
|
||||
:where(html[data-nav="rail"]) .sidebar .nav-label,
|
||||
:where(html[data-nav="rail"]) .sidebar .nav-count {
|
||||
display: none;
|
||||
}
|
||||
.sidebar-top .nav-item {
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@ const prePaintScript = `(function(){
|
||||
var navStyle = localStorage.getItem('themeNavStyle') || 'rail-desktop';
|
||||
var dataNav = navStyle === 'compact-rail' ? 'rail'
|
||||
: navStyle === 'top-nav' ? 'top'
|
||||
: navStyle === 'fab-only' ? 'fab' : 'sidebar';
|
||||
: 'sidebar';
|
||||
if (window.matchMedia && window.matchMedia('(max-width: 759px)').matches) {
|
||||
dataNav = navStyle === 'fab-only' ? 'fab' : 'bottom';
|
||||
}
|
||||
|
||||
@@ -83,14 +83,13 @@ export const DEFAULT_THEME: ThemeState = {
|
||||
|
||||
// Map our nav style preference to the data-nav attribute we set on <html>.
|
||||
// On mobile (handled by NavModeProvider) we override to "bottom" or "fab".
|
||||
// fab-only has no desktop equivalent — falls back to sidebar so the nav doesn't disappear.
|
||||
export function navStyleToDataNav(style: NavStyle): "sidebar" | "rail" | "top" | "fab" {
|
||||
switch (style) {
|
||||
case "compact-rail":
|
||||
return "rail";
|
||||
case "top-nav":
|
||||
return "top";
|
||||
case "fab-only":
|
||||
return "fab";
|
||||
default:
|
||||
return "sidebar";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user