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
+16
View File
@@ -0,0 +1,16 @@
<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">软底舞鞋 · Ballet slippers</title>
<desc id="desc">灰玫瑰线描软底舞鞋,圆润鞋头、浅色鞋身与交叉松紧带。</desc>
<g stroke="#9c5268" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
<g transform="rotate(19 83 68)">
<path d="M83 24C73 24 67 36 66 51L66 89C66 101 71 109 80 110C89 111 96 103 97 91L99 54C100 35 94 24 86 24Z" fill="#ead1d7"/>
<path d="M83 31C76 31 72 44 72 57C72 63 75 67 81 68C88 68 92 63 92 57C93 44 89 31 85 31Z" fill="#fff4ed"/>
<path d="M75 41L92 57M90 41L72 57M72 93C75 99 87 100 91 94"/>
</g>
<g transform="rotate(24 44 70)">
<path d="M44 27C34 27 27 40 27 55L28 91C28 105 35 113 44 112C54 111 60 102 60 89L60 55C60 38 54 27 47 27Z" fill="#f3e4e5"/>
<path d="M44 34C37 34 33 46 33 59C33 67 37 71 44 71C51 71 55 66 54 59C54 45 50 34 46 34Z" fill="#fff4ed"/>
<path d="M35 45L54 60M53 45L33 60M34 96C38 102 49 102 54 95"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB