Răsfoiți Sursa

fix: 应用 NameAvatar 共享组件到首页,修复人才列表头像样式

- Dashboard 页面使用 NameAvatar 组件替代内联样式
- 删除 Dashboard.css 中重复的 name-avatar 样式定义
- 删除 talent/list 页面的遗留 TalentManagement.css 文件
- 确保 all name-avatar 样式统一由 NameAvatar 组件管理

修复问题:
- 首页人才列表的姓氏头像缺少样式(之前未被 a50c58a9 覆盖)
- 多处重复定义 name-avatar 样式违反 DRY 原则

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 zi în urmă
părinte
comite
3c1ac73a12

+ 0 - 14
mini/src/pages/yongren/dashboard/Dashboard.css

@@ -1,19 +1,5 @@
 /* 首页样式 */
 
-/* 头像颜色类 */
-.name-avatar.blue {
-  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
-}
-.name-avatar.green {
-  background: linear-gradient(135deg, #10b981, #059669);
-}
-.name-avatar.purple {
-  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
-}
-.name-avatar.orange {
-  background: linear-gradient(135deg, #f59e0b, #d97706);
-}
-
 /* 进度条样式 */
 .progress-bar {
   height: 6px;

+ 7 - 6
mini/src/pages/yongren/dashboard/index.tsx

@@ -5,6 +5,7 @@ import { useQuery, useQueryClient } from '@tanstack/react-query'
 import dayjs from 'dayjs'
 import { YongrenTabBarLayout } from '@/components/YongrenTabBarLayout'
 import { Navbar } from '@d8d/mini-shared-ui-components/components/navbar'
+import { NameAvatar } from '@/components/NameAvatar'
 import { enterpriseCompanyClient } from '@/api'
 import { enterpriseStatisticsClient } from '@/api/enterpriseStatisticsClient'
 import { useAuth, useRequireAuth } from '@/hooks'
@@ -12,7 +13,7 @@ import type {
   EmploymentRateResponse,
   AverageSalaryResponse
 } from '@/types/statisticsTypes'
-// import './Dashboard.css'
+import './Dashboard.css'
 
 // 类型定义
 interface OverviewData {
@@ -315,11 +316,11 @@ const Dashboard: React.FC = () => {
                   onClick={() => handleTalentCardClick(allocation.id)}
                 >
                   {/* 头像区域 */}
-                  <View className={`name-avatar ${allocation.avatarColor} w-10 h-10 rounded-full flex items-center justify-center`}>
-                    <Text className="text-white font-semibold">
-                      {allocation.name.charAt(0)}
-                    </Text>
-                  </View>
+                  <NameAvatar
+                    name={allocation.name}
+                    size="sm"
+                    id={parseInt(allocation.id)}
+                  />
 
                   {/* 信息区域 */}
                   <View className="flex-1 ml-3">

+ 0 - 58
mini/src/pages/yongren/talent/list/TalentManagement.css

@@ -1,58 +0,0 @@
-/* 人才列表页样式 */
-
-/* 头像颜色类 */
-.name-avatar.blue {
-  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
-}
-.name-avatar.green {
-  background: linear-gradient(135deg, #10b981, #059669);
-}
-.name-avatar.purple {
-  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
-}
-.name-avatar.orange {
-  background: linear-gradient(135deg, #f59e0b, #d97706);
-}
-.name-avatar.red {
-  background: linear-gradient(135deg, #ef4444, #dc2626);
-}
-.name-avatar.teal {
-  background: linear-gradient(135deg, #14b8a6, #0d9488);
-}
-
-/* 卡片样式 */
-.card {
-  border-radius: 12px;
-  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
-  transition: transform 0.2s ease, box-shadow 0.2s ease;
-}
-
-.card:active {
-  transform: translateY(-1px);
-  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
-}
-
-/* 筛选标签激活状态 */
-.filter-tag-active {
-  background-color: rgb(219 234 254);
-  color: rgb(30 64 175);
-}
-
-.filter-tag-inactive {
-  background-color: rgb(243 244 246);
-  color: rgb(55 65 81);
-}
-
-/* 加载动画 */
-@keyframes pulse-bg {
-  0%, 100% {
-    opacity: 1;
-  }
-  50% {
-    opacity: 0.5;
-  }
-}
-
-.animate-pulse {
-  animation: pulse-bg 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
-}