From bb8adf68139a6a9bed3d1ab4787094b109e8a1f9 Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Mon, 26 Jan 2026 15:15:07 +0100 Subject: [PATCH] fix(webui): fix iOS Safari input zoom and keyboard issues - Add global CSS rule to prevent auto-zoom on input focus by ensuring font-size >= 16px on touch devices - Update bottom sheet to use dvh units and visualViewport API for proper keyboard handling on iOS Safari - Update modal components (ab-add-rss, ab-search-modal) to use dvh units with vh fallback for older browsers - Add scroll-margin-bottom for inputs in bottom sheets Closes #959 Co-Authored-By: Claude Opus 4.5 --- webui/src/components/ab-add-rss.vue | 7 +- .../src/components/basic/ab-bottom-sheet.vue | 68 ++++++++++++++++--- .../src/components/search/ab-search-modal.vue | 13 +++- webui/src/style/global.scss | 11 +++ 4 files changed, 88 insertions(+), 11 deletions(-) diff --git a/webui/src/components/ab-add-rss.vue b/webui/src/components/ab-add-rss.vue index b82fc538..86d99970 100644 --- a/webui/src/components/ab-add-rss.vue +++ b/webui/src/components/ab-add-rss.vue @@ -402,13 +402,18 @@ function subscribe() { .add-modal { width: 100%; max-width: 480px; - max-height: 90vh; + max-height: 90dvh; // Use dynamic viewport height for iOS Safari keyboard support display: flex; flex-direction: column; background: var(--color-surface); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); overflow: hidden; + + // Fallback for browsers that don't support dvh + @supports not (max-height: 1dvh) { + max-height: 90vh; + } } .add-header { diff --git a/webui/src/components/basic/ab-bottom-sheet.vue b/webui/src/components/basic/ab-bottom-sheet.vue index ec3b8754..18a56c43 100644 --- a/webui/src/components/basic/ab-bottom-sheet.vue +++ b/webui/src/components/basic/ab-bottom-sheet.vue @@ -1,5 +1,5 @@