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
+15
View File
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" fill="none" role="img" aria-labelledby="title desc">
<title id="title">钢琴 · Piano</title>
<desc id="desc">灰玫瑰线描三角钢琴,弧形琴身、浅色琴盖与简洁黑白琴键。</desc>
<g stroke="#9c5268" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
<path d="M26 86V111H31L34 86M86 85L91 109H96V80" fill="#ead1d7"/>
<path d="M25 37H63C85 37 108 48 108 63C108 77 95 83 85 83H25Z" fill="#f3e4e5"/>
<path d="M25 37L63 17C81 17 105 29 112 44L108 63L25 56Z" fill="#ead1d7"/>
<path d="M93 61L96 43M25 37V56"/>
<path d="M22 75H84V90H22Z" fill="#fff4ed"/>
<path d="M22 70H84V76H22Z" fill="#ead1d7"/>
<path d="M31 76V90M40 76V90M49 76V90M58 76V90M67 76V90M76 76V90" stroke-width="1.2"/>
<path d="M31 76V83M40 76V83M58 76V83M67 76V83M76 76V83" stroke-width="3.5"/>
<path d="M54 90V98H64M60 94V99"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 969 B