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
+14
View File
@@ -0,0 +1,14 @@
<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">软开素质</title>
<desc id="desc">坐姿舞者一腿舒展、一腿收拢,手臂弧线越过头顶,身体向伸展腿一侧延长。</desc>
<g stroke="#9c5268" stroke-width="1.65" stroke-linecap="round" stroke-linejoin="round">
<path d="M15 114H115" stroke="#d8b6bf" stroke-width="1.2"/>
<path d="M70 55C66 48 62 38 67 31C73 24 84 27 94 31L103 37C105 38 104 40 102 39L91 34C84 32 76 30 73 34C71 38 74 45 77 51Z" fill="#fff4ed"/>
<path d="M77 51C76 54 78 56 81 58C86 63 89 70 93 79L103 94L111 98C114 100 113 102 110 101L101 98C96 92 91 87 87 81L77 68C74 75 71 80 68 85C80 88 90 96 101 102L113 104C116 104 117 106 113 107L99 108C85 104 73 98 59 96C50 100 43 103 35 103C41 105 48 105 54 106C57 107 56 109 53 109L31 108C27 108 24 106 26 103C33 96 42 88 52 85C56 79 61 71 65 63C68 57 72 55 73 50Z" fill="#fff4ed"/>
<path d="M69 58C73 61 78 62 81 58L85 64L77 68C74 75 71 80 68 85C64 87 61 92 59 96C55 94 51 91 48 90L52 85C56 79 61 71 65 63Z" fill="#ead1d7"/>
<path d="M56 79C59 82 63 83 68 83M102 102L101 107" stroke="#bd8292" stroke-width="1.2"/>
<path d="M72 37C68 36 68 32 71 31C75 30 77 33 76 36" fill="#ead1d7"/>
<path d="M73 36C77 34 81 36 84 40C86 44 85 50 81 52C77 54 73 50 71 46C69 42 70 38 73 36Z" fill="#fff4ed"/>
<path d="M71 44C74 42 76 39 75 36C79 36 82 38 84 41" fill="#ead1d7"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB