Task #459: Hide iPad Safari URL bar across all apps (notes + home)
Problem: On iPad Safari, the executive-meetings app collapsed the URL bar on scroll (native-app feel), but Notes and Home kept it visible permanently because their root containers were not document-scrollable. - notes.tsx used `h-screen ... overflow-hidden` with an internal `flex-1 min-h-0 overflow-y-auto` scroll region. - home.tsx used `min-h-screen ... overflow-hidden`. With no document-level scroll, iOS Safari has no trigger to hide the URL bar. Fix (quick-fix path the user picked, no PWA install meta): - notes.tsx: root → `min-h-[100dvh] os-bg flex flex-col` (removed `overflow-hidden`, swapped `h-screen` → `min-h-[100dvh]`). Header now `sticky top-0 z-10` so it stays pinned. Inner body wrapper changed from `flex-1 min-h-0 overflow-y-auto flex flex-col` to `flex-1 flex flex-col` so the document (not an inner div) scrolls — giving Safari the trigger it needs. - home.tsx: root → `min-h-[100dvh] os-bg flex flex-col relative` (removed `overflow-hidden`). Why `100dvh`: dynamic viewport height sizes against the *visible* area, so the layout reflows cleanly when the URL bar appears/hides. Out of scope (matches task): no PWA meta tags, no other pages touched (spot-checked others: chat/services/orders/notifications/admin already use min-h-screen without overflow-hidden), no styling changes, executive- meetings page untouched (it's the reference). Verification: tsc --noEmit clean. Pre-existing test workflow failure on unrelated executive-meetings.ts type errors is out of scope.
This commit is contained in:
@@ -497,7 +497,12 @@ export default function HomePage() {
|
||||
const initials = (displayName || "?").trim().slice(0, 1).toUpperCase();
|
||||
|
||||
return (
|
||||
<div className="min-h-screen os-bg flex flex-col overflow-hidden relative">
|
||||
// Task #459: removed `overflow-hidden` and switched to `min-h-[100dvh]`
|
||||
// so iOS Safari can collapse its URL bar on scroll, matching the
|
||||
// executive-meetings page behavior. `100dvh` (dynamic viewport
|
||||
// height) sizes against the visible area, so the layout reflows
|
||||
// cleanly when the URL bar shows/hides.
|
||||
<div className="min-h-[100dvh] os-bg flex flex-col relative">
|
||||
{/*
|
||||
Status Bar
|
||||
--------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user