refactor: 重构我的技能页面表格布局
- 移除版本、安装量、评分三列 - 将技能名称和描述分为两列显示 - 移除技能名称加粗样式 - 修复状态显示逻辑,只显示技能整体状态,不再额外显示审核中徽章 - 同步下架按钮禁用逻辑,详情页也添加 hasPendingReview 检查 - 移除技能描述字体特殊样式
This commit is contained in:
@@ -110,33 +110,23 @@ function MySkillsPage({ onSkillClick }) {
|
||||
<thead>
|
||||
<tr>
|
||||
<th>技能名称</th>
|
||||
<th>技能描述</th>
|
||||
<th>分类</th>
|
||||
<th>版本</th>
|
||||
<th>状态</th>
|
||||
<th>安装量</th>
|
||||
<th>评分</th>
|
||||
<th style={{ width: '200px' }}>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{filteredList.map(skill => (
|
||||
<tr key={skill.id} onClick={() => onSkillClick(skill.id)} style={{ cursor: 'pointer' }}>
|
||||
<td>
|
||||
<div style={{ fontWeight: 600 }}>{skill.name}</div>
|
||||
<div style={{ fontSize: '12px', color: '#94A3B8' }}>{skill.desc}</div>
|
||||
</td>
|
||||
<td>{skill.category}</td>
|
||||
<td>{skill.version}</td>
|
||||
<td>
|
||||
<span className={`status ${skillStatusMap[skill.status]?.className || 'status-stopped'}`}>
|
||||
{skillStatusMap[skill.status]?.text || skill.status}
|
||||
</span>
|
||||
{skill.hasPendingReview && (
|
||||
<span className="status status-warning" style={{ marginLeft: '6px' }}>审核中</span>
|
||||
)}
|
||||
</td>
|
||||
<td>{skill.installs}</td>
|
||||
<td>{skill.rating || '-'}</td>
|
||||
{filteredList.map(skill => (
|
||||
<tr key={skill.id} onClick={() => onSkillClick(skill.id)} style={{ cursor: 'pointer' }}>
|
||||
<td>{skill.name}</td>
|
||||
<td>{skill.desc}</td>
|
||||
<td>{skill.category}</td>
|
||||
<td>
|
||||
<span className={`status ${skillStatusMap[skill.status]?.className || 'status-stopped'}`}>
|
||||
{skillStatusMap[skill.status]?.text || skill.status}
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<div style={{ display: 'flex', gap: '8px' }}>
|
||||
<button className="text-btn text-btn-primary" onClick={e => { e.stopPropagation(); onSkillClick(skill.id); }}>
|
||||
|
||||
@@ -174,16 +174,23 @@ function SkillEditorPage({ skillId, onBack, onUploadNewVersion, onUpdateInfo })
|
||||
<div className="card-title">管理</div>
|
||||
</div>
|
||||
<div className="card-body">
|
||||
<div className="manage-actions">
|
||||
{skill.status === 'published' && (
|
||||
<button className="btn btn-danger" onClick={handleTogglePublish}>下架技能</button>
|
||||
)}
|
||||
<button
|
||||
className="btn btn-danger"
|
||||
onClick={() => setDeleteSkillModal(true)}
|
||||
disabled={skill.status === 'published'}
|
||||
title={skill.status === 'published' ? '已上架的技能需要先下架才能删除' : ''}
|
||||
>
|
||||
<div className="manage-actions">
|
||||
{skill.status === 'published' && (
|
||||
<button
|
||||
className="btn btn-danger"
|
||||
onClick={handleTogglePublish}
|
||||
disabled={skill.hasPendingReview}
|
||||
title={skill.hasPendingReview ? '存在审核中的版本,请先撤回后再下架' : ''}
|
||||
>
|
||||
下架技能
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
className="btn btn-danger"
|
||||
onClick={() => setDeleteSkillModal(true)}
|
||||
disabled={skill.status === 'published'}
|
||||
title={skill.status === 'published' ? '已上架的技能需要先下架才能删除' : ''}
|
||||
>
|
||||
删除技能
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user