Skip to content

提示 02:日记标签页(历史与反思)

目标

为 MysticX Expo 移动应用构建 Journal(日记)界面。此标签页是用户的"灵性账本",以宁静、有序的方式展示其解读历史、每日连续记录和灵性统计数据。

设计约束(来自主设计指南)

  • 视觉: "OLED Noir"(#000000 基底,#121212 用于卡片背景)。
  • 排版: 双字体系统。使用 Playfair DisplayCormorant Garamond 作为分区标题("你的旅程"、"最近的解读")。使用 Inter 作为时间戳、统计数据和工具文本。
  • 节奏: "慢 UI"理念。列表应平滑滚动,避免激进的弹跳效果。使用平静的留白,避免密集的数据网格。

需求

  1. 组件: JournalTabView
  2. 顶部区域(灵性统计):
    • 展示关键指标:总解读次数、抽牌数量、当前连续天数。
    • 视觉游戏化: 连续天数不使用普通数字,而是使用发光的"光环"环或微妙的粒子效果(使用 react-native-reanimated),其强度根据连续天数变化。
  3. 中间区域(筛选器):
    • 分段控件或药片式筛选器,用于在"所有解读"、"每日"和"牌阵"之间切换。
    • 激活状态:古金色(#c5a059)文本配磨砂玻璃背景(expo-blur)。
  4. 列表区域(解读历史):
    • 过去解读的纵向 FlashList
    • 每个项目卡片应显示:牌阵名称(衬线体)、问题预览(无衬线体)、时间戳,以及读牌师头像/名称。
    • 在滚动时为列表项实现微妙的视差效果,以营造深度感。

实现指南

  • 使用 @shopify/flash-list 渲染解读历史,确保即使有数百条历史记录也能保持 60fps 滚动。
  • 触觉反馈: 切换筛选标签时触发 expo-hapticsimpactAsync(ImpactFeedbackStyle.Light)
  • 空状态: 如果用户没有解读记录,显示"共情 UI"空状态:一个精美绘制的、暗淡的空牌阵,配以温柔的行动号召("牌卡正等待你的提问……")。

Internal documentation for MysticX team