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
+12
View File
@@ -0,0 +1,12 @@
package practice
// Icon IDs address bundled artwork, never client-provided URLs or file paths.
func validProjectIcon(id string) bool {
switch id {
case "", "plie", "tendu", "releve", "port-de-bras", "arabesque", "attitude",
"pirouette", "grand-jete", "foot-hip", "flexibility", "ball-core",
"swan-arms", "breathing", "core-glutes", "soft-shoes", "pointe-shoes", "barre", "piano":
return true
}
return false
}