feat: add project icon picker component and integrate with project management

- 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.
This commit is contained in:
yuxuanhui
2026-09-29 18:40:25 +08:00
parent 9644a68d07
commit b0c62d461e
71 changed files with 1305 additions and 125 deletions
@@ -0,0 +1,15 @@
ALTER TABLE projects ADD COLUMN icon_id text NOT NULL DEFAULT '' CHECK (char_length(icon_id) <= 64);
-- Existing installations have never offered icon selection. Seed familiar names
-- once; subsequent migrations/logins must preserve explicit changes or removal.
UPDATE projects SET icon_id = CASE name
WHEN '零基础' THEN 'plie'
WHEN '基础提升' THEN 'tendu'
WHEN '软开素质' THEN 'flexibility'
WHEN '足髋训练' THEN 'foot-hip'
WHEN '核心臀腿' THEN 'core-glutes'
WHEN '小球核心' THEN 'ball-core'
WHEN '天鹅臂颈' THEN 'swan-arms'
WHEN '呼吸训练' THEN 'breathing'
ELSE ''
END;