提示 02:日记标签页(历史与反思)
目标
为 MysticX Expo 移动应用构建 Journal(日记)界面。此标签页是用户的"灵性账本",以宁静、有序的方式展示其解读历史、每日连续记录和灵性统计数据。
设计约束(来自主设计指南)
- 视觉: "OLED Noir"(
#000000基底,#121212用于卡片背景)。 - 排版: 双字体系统。使用 Playfair Display 或 Cormorant Garamond 作为分区标题("你的旅程"、"最近的解读")。使用 Inter 作为时间戳、统计数据和工具文本。
- 节奏: "慢 UI"理念。列表应平滑滚动,避免激进的弹跳效果。使用平静的留白,避免密集的数据网格。
需求
- 组件:
JournalTabView。 - 顶部区域(灵性统计):
- 展示关键指标:总解读次数、抽牌数量、当前连续天数。
- 视觉游戏化: 连续天数不使用普通数字,而是使用发光的"光环"环或微妙的粒子效果(使用
react-native-reanimated),其强度根据连续天数变化。
- 中间区域(筛选器):
- 分段控件或药片式筛选器,用于在"所有解读"、"每日"和"牌阵"之间切换。
- 激活状态:古金色(
#c5a059)文本配磨砂玻璃背景(expo-blur)。
- 列表区域(解读历史):
- 过去解读的纵向
FlashList。 - 每个项目卡片应显示:牌阵名称(衬线体)、问题预览(无衬线体)、时间戳,以及读牌师头像/名称。
- 在滚动时为列表项实现微妙的视差效果,以营造深度感。
- 过去解读的纵向
实现指南
- 使用
@shopify/flash-list渲染解读历史,确保即使有数百条历史记录也能保持 60fps 滚动。 - 触觉反馈: 切换筛选标签时触发
expo-haptics的impactAsync(ImpactFeedbackStyle.Light)。 - 空状态: 如果用户没有解读记录,显示"共情 UI"空状态:一个精美绘制的、暗淡的空牌阵,配以温柔的行动号召("牌卡正等待你的提问……")。