diff --git a/public/style.css b/public/style.css index 0fd90fc..ccc878e 100644 --- a/public/style.css +++ b/public/style.css @@ -310,17 +310,25 @@ body:not(.editing) #view { padding-top: 8px; } .navtoggle { display: none; } .navcol { display: none; } @media (min-width: 768px) { - #nav { overflow-y: auto; scrollbar-width: none; } + #nav { overflow: hidden; } /* the menu never scrolls: when the window is short its entries shrink to fit instead */ + #nav a { flex: 1 1 0; min-height: 28px; max-height: 64px; } + #nav .ngrp { flex: none; } .navtoggle { display: grid; } body.nav-hidden #nav { display: none; } body.nav-hidden #navbar { padding-left: 12px; } } +@media (min-width: 1024px) { body:not(.nav-mini) #nav a { max-height: 48px; } } +@media (min-width: 768px) and (max-height: 700px) { /* a short window: tighter spacing so every entry still fits without scrolling */ + #nav { padding-top: calc(var(--sat) + 8px); padding-bottom: 6px; gap: 0; } + #nav a { min-height: 26px; font-size: 13px; } #nav a svg { width: 18px; height: 18px; } + .brand { margin-bottom: 6px !important; } #nav .ngrp { margin-top: 2px; padding-top: 2px; } #nav .ngrp span { display: none; } .navcol { min-height: 30px; } +} @media (min-width: 1024px) { .navcol { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 14px; border: 0; background: none; border-radius: 12px; color: var(--muted); font-size: 14px; } .navcol:hover { background: var(--panel2); color: var(--text); } .navcol svg { width: 20px; height: 20px; } body.nav-mini #nav { width: 76px; padding: calc(var(--sat) + 12px) 0 12px var(--sal); } - body.nav-mini #nav a { flex-direction: column; justify-content: center; gap: 2px; padding: 0; font-size: 10px; min-height: 50px; border-radius: 0; flex: none; } + body.nav-mini #nav a { flex-direction: column; justify-content: center; gap: 2px; padding: 0; font-size: 10px; min-height: 0; max-height: 50px; border-radius: 0; flex: 1 1 0; } body.nav-mini #nav a svg { width: 22px; height: 22px; } body.nav-mini #nav a.on { background: none; } body.nav-mini .brand { display: block; width: 36px; height: 36px; margin: 4px auto 12px; } diff --git a/public/sw.js b/public/sw.js index bc93182..f3065d9 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,5 +1,5 @@ // App-shell cache only; Seafile/API traffic always goes to the network. -const CACHE = 'hub-v53'; +const CACHE = 'hub-v54'; const SHARE = 'hub-share'; // files shared into the app from other apps, held until the person picks a folder const SHELL = ['/icon.svg', '/manifest.webmanifest', '/icons/icon-192.png', '/icons/apple-touch-icon.png'];