猪窝 v1.6.0:关系时间线与美食地图 - UI/UX 重构
猪窝 v1.6.0 对「关系时间线」与「美食地图」两个模块做了整体 UI 重构与交互升级:前者从朴素列表升级为完整的视觉体系,后者完成数据模型重构并引入点击悬浮窗查看菜品详情。
2026-08-04
猪窝 v1.6.0 对「关系时间线」与「美食地图」两个模块做了整体 UI 重构与交互升级:前者从朴素列表升级为完整的视觉体系,后者完成数据模型重构并引入点击悬浮窗查看菜品详情。
关系时间线
- 新增 hero 头部:kicker「HOME SWEET HOME · 一起走过的日子」、大标题与总事件统计卡,暖色渐变底加 💞 装饰,与美食地图 hero 风格统一。
- 胶囊筛选精修:每个分类加 emoji 图标(✨全部 / ✈️旅行 / 🚶西安 walk / 💢吵架复盘)与独立数量气泡,选中态为深棕底金黄字加阴影。
- 月份标题改为琥珀色胶囊 chip 与渐变分隔线,时间轴中央加纵向暖色渐变线。
- 时间轴节点改为彩色圆环内嵌 emoji 图标并按分类着色(旅行琥珀 / 西安绿 / 吵架红)。
- 卡片按分类使用暖色左边框与浅色渐变底,悬停抬升;顶部新增分类标签;吵架详情字段带图标与红色 label 徽章。
- 修复筛选失效问题:
display:flex会覆盖hidden属性,为.timeline-item与.timeline-month补齐[hidden]{display:none},过滤时同时隐藏没有条目的月份标题。
美食地图
- 数据模型重构:
dishes支持对象数组(含name/note/price),兼容旧纯字符串格式;10 家有菜品的店已迁移为对象格式,评价从整体note拆分到各菜一一对应,价格字段可选。 - 店名调整:「门口的炒饼丝炒河粉」改为「东成炒面」,文件随 slug 重命名为
dong-cheng-chao-mian。 - 新增 hero 头部(kicker「FOOD NOTES · 觅食记录」+ 大标题 + 总店数统计卡)。
- 区域按钮选中态改为圆角暖渐变卡片,地点按钮改为胶囊加渐变选中。
- 店卡片改卡片式(圆角 + 分类左边框 + 悬停抬升),新增分类 tag、状态徽章与地址展示。
- 状态徽章按
note关键词自动推导四种语义色:已吃过 🍽️(灰)、推荐 👍(绿)、想去试试 ⭐(琥珀)、不再推荐 🚫(红)。 - 点击卡片弹出悬浮窗详情:顶部展示状态徽章、店名、分类、地点、日期、地址与整体评价,主体逐条列出每道菜的菜名、单菜评价与价格;支持遮罩 / ✕ / Esc 关闭,打开时锁定背景滚动。
- 悬浮窗数据经隐藏 div 的
data-fm-places-json属性注入(Astro 的<script>内变量不插值,需走 HTML 属性传 JSON)。 - 修复地址或日期为空时出现孤立图标的问题(拼接前缀后空值会被判定为 truthy,需先判原始值)。
构建通过,git diff --check 干净。
UI 设计图留档
以下截图根据猪窝 v1.6.0 commit 6b59767 在本地打开「美食地图」路由重建,用于记录关系时间线与美食地图 UI 重构后的页面状态。
