Skip to content

[bug] PWA standalone 內容頁返回列被狀態列遮蔽(sticky 未吃 safe-area-inset-top) #600

Description

@s123104

摘要

PWA standalone 模式下,7 個內容頁(FAQ/使用指南/關於/隱私/開放資料/SEO 揭露/開源)共用的返回麵包屑列(PageNavHeader)被 iOS 狀態列遮蔽,返回按鈕頂進瀏海區域無法辨識與點擊。

背景/證據

  • 使用者於實機 iPhone(PWA 安裝後 standalone)親自取證:內容頁 sticky 返回列直接被狀態列覆蓋。
  • 根因:apps/ratewise/src/components/PageNavHeader.tsx 的 sticky 列為 sticky top-0 + 固定 py-2.5(padding-top 10px),未套用 env(safe-area-inset-top)
  • App 設定 viewport-fit=cover + apple-mobile-web-app-status-bar-style: black-translucent,standalone 下內容延伸至狀態列底下,該列頂到 y=0 被狀態列蓋住。
  • 換算器主畫面(AppLayout 系)已有 safe-area 處理,不受影響;僅內容頁共用骨架中招。
  • 使用者已實機驗證修法:套用專案既有 .pt-safe-toppadding-top: env(safe-area-inset-top, 0))後,該列下移 59px 完全脫離狀態列。

影響

  • 所有 iPhone 瀏海/動態島機型的 PWA standalone 使用者,7 個內容頁的「返回」操作被狀態列遮蔽,導覽功能實質不可用。
  • 影響頁面:/faq//guide//about//privacy//open-data//seo-tech//open-source/

範圍

  • apps/ratewise/src/components/PageNavHeader.tsx(sticky 返回列)
  • 連動檢查:sticky 列變高後,錨點跳轉(隱私頁/Guide 目錄 scroll-mt-20)與內容起始位置。

驗收標準

  • standalone + safe-area-inset-top 環境下,返回列完全脫離狀態列且 sticky 捲動時持續貼齊 safe-area 下緣
  • 7 個內容頁全數驗證(390×844 模擬 standalone + inset 前後截圖)
  • 錨點跳轉(scroll-mt)不被變高後的 sticky 列遮蔽
  • 內容頁測試補 safe-area class 斷言,vitest/typecheck/build 全綠

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingseverity:p1High-priority work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions