b0c62d461e
- Implemented ProjectIconPicker component for selecting project icons. - Created ProjectIcon component to display selected icons. - Updated calendar page to remove unused PageHeading component. - Modified growth page to enhance UI and improve text clarity. - Refactored index page to include project icons and improve layout. - Added mine page for user profile management with avatar selection. - Introduced projects-sort page for managing project order with drag-and-drop functionality. - Enhanced projects page to allow icon selection when adding or editing projects. - Updated record page to streamline user experience and improve form actions. - Adjusted practice service to support project icon management. - Added tests for project saving functionality to ensure correct handling of icons. - Updated global type definitions to support SVG and PNG imports.
1.2 KiB
1.2 KiB
记录总览与项目排序
Type: task Status: resolved
Scope
记录首页展示总记录时长、坚持天数和最早记录日期;项目右侧展示累计小时数。项目操作区提供纯 SVG 图标的管理列表与添加项目入口,管理列表可拖动排序并保存。
Implementation
- 总览的两个主数字按同一基线区域排版,日期仅在有记录时显示为“从 YYYY 年 MM 月 DD 日”。
- 项目累计分钟数换算为小时,项目时长数字加大。操作区只显示 28px 图标,保留无障碍名称。
- 新增独立排序页;拖动右侧手柄调整本地顺序,点击保存后调用
PUT /v1/projects/order。 - 服务端只接受当前用户完整的活跃项目 ID 列表,沿用既有位置槽位,保留归档项目和新增项目的排列语义。
Validation
2026-09-29,本地代码已完成,未提交或发布。小程序 pnpm typecheck、pnpm test:client、pnpm build 通过;后端 go vet ./...、go test -race ./...、go build -o bin/api ./cmd/server 和隔离 PostgreSQL 集成测试通过。服务端测试覆盖顺序持久化、后续新增、无效或跨用户 ID、归档后重排。微信开发者工具中的实际拖动与图标显示未在本轮完成交互核验。