mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-28 11:25:00 +00:00
feat: refine landing experience and restore my-skills metadata
This commit is contained in:
parent
67e3c8ff19
commit
808b80f295
5 changed files with 71 additions and 16 deletions
|
|
@ -19,7 +19,6 @@ export function Layout() {
|
|||
{ label: t('nav.landing'), to: '/', exact: true },
|
||||
{ label: t('nav.home'), to: '/skills' },
|
||||
{ label: t('nav.search'), to: '/search' },
|
||||
{ label: t('nav.skillDetail'), to: '/space/demo/example' },
|
||||
{ label: t('nav.dashboard'), to: '/dashboard', auth: true },
|
||||
{ label: t('nav.mySkills'), to: '/dashboard/skills', auth: true },
|
||||
{ label: t('nav.publish'), to: '/dashboard/publish', auth: true },
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
"title": "Discover & Share AI Skills",
|
||||
"subtitle": "Build powerful AI agents with community-driven skills",
|
||||
"searchPlaceholder": "Search skills...",
|
||||
"exploreSkills": "Explore Skills"
|
||||
"exploreSkills": "Explore Skills",
|
||||
"publishSkill": "Start Building"
|
||||
},
|
||||
"features": {
|
||||
"secure": {
|
||||
|
|
@ -29,8 +30,29 @@
|
|||
"integration": {
|
||||
"title": "Easy Integration",
|
||||
"description": "Seamlessly integrate with your existing tools"
|
||||
},
|
||||
"versionControl": {
|
||||
"title": "Version Control",
|
||||
"description": "Structured version management and release workflows that keep skill packages traceable and reliable."
|
||||
},
|
||||
"cli": {
|
||||
"title": "CLI Tooling",
|
||||
"description": "Powerful command-line workflows for publishing, installing, and managing skill packages."
|
||||
},
|
||||
"governance": {
|
||||
"title": "Review Governance",
|
||||
"description": "Built-in review flows and permission controls to keep enterprise skill quality high."
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"skills": "Catalogs",
|
||||
"downloads": "Downloads",
|
||||
"teams": "Teams"
|
||||
},
|
||||
"whySkillHub": {
|
||||
"title": "Why SkillHub",
|
||||
"subtitle": "A private Agent skill platform designed for enterprise teams"
|
||||
},
|
||||
"badge": "Enterprise Skill Registry",
|
||||
"tagline": "Publish, Discover, Manage",
|
||||
"taglineHighlight": " Agent Skills",
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@
|
|||
"title": "发现与分享 AI 技能",
|
||||
"subtitle": "使用社区驱动的技能构建强大的 AI 代理",
|
||||
"searchPlaceholder": "搜索技能...",
|
||||
"exploreSkills": "探索技能"
|
||||
"exploreSkills": "探索技能",
|
||||
"publishSkill": "开始构建"
|
||||
},
|
||||
"features": {
|
||||
"secure": {
|
||||
|
|
@ -29,8 +30,29 @@
|
|||
"integration": {
|
||||
"title": "轻松集成",
|
||||
"description": "无缝集成到您现有的工具中"
|
||||
},
|
||||
"versionControl": {
|
||||
"title": "版本控制",
|
||||
"description": "完善的版本管理和发布流程,确保技能包的质量和可追溯性。"
|
||||
},
|
||||
"cli": {
|
||||
"title": "CLI 工具",
|
||||
"description": "强大的命令行工具,支持快速发布、安装和管理技能包。"
|
||||
},
|
||||
"governance": {
|
||||
"title": "审核治理",
|
||||
"description": "内置审核流程和权限管理,保障企业级技能质量。"
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
"skills": "项目库",
|
||||
"downloads": "下载量",
|
||||
"teams": "团队"
|
||||
},
|
||||
"whySkillHub": {
|
||||
"title": "为什么选择 SkillHub",
|
||||
"subtitle": "专为企业打造的私有化 Agent 技能管理平台"
|
||||
},
|
||||
"badge": "企业级技能注册中心",
|
||||
"tagline": "发布、发现、管理",
|
||||
"taglineHighlight": " Agent 技能包",
|
||||
|
|
|
|||
|
|
@ -201,16 +201,28 @@ export function MySkillsPage() {
|
|||
{skill.summary && (
|
||||
<p className="text-sm text-muted-foreground mb-3 leading-relaxed">{skill.summary}</p>
|
||||
)}
|
||||
{skill.status ? (
|
||||
<span className={resolveStatusClassName(skill.status)}>
|
||||
{resolveStatusLabel(skill.status)}
|
||||
<div className="flex flex-wrap items-center gap-3 text-sm text-muted-foreground">
|
||||
<span className="handle-tag">@{skill.namespace}</span>
|
||||
{skill.latestVersion ? (
|
||||
<span className="font-mono text-xs">v{skill.latestVersion}</span>
|
||||
) : null}
|
||||
<span className="flex items-center gap-1">
|
||||
<svg className="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10" />
|
||||
</svg>
|
||||
{formatCompactCount(skill.downloadCount)}
|
||||
</span>
|
||||
) : null}
|
||||
{skill.latestVersionStatus ? (
|
||||
<span className={resolveStatusClassName(skill.latestVersionStatus)}>
|
||||
{resolveStatusLabel(skill.latestVersionStatus)}
|
||||
</span>
|
||||
) : null}
|
||||
{skill.status ? (
|
||||
<span className={resolveStatusClassName(skill.status)}>
|
||||
{resolveStatusLabel(skill.status)}
|
||||
</span>
|
||||
) : null}
|
||||
{skill.latestVersionStatus ? (
|
||||
<span className={resolveStatusClassName(skill.latestVersionStatus)}>
|
||||
{resolveStatusLabel(skill.latestVersionStatus)}
|
||||
</span>
|
||||
) : null}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex items-center gap-2 pl-4">
|
||||
{skill.latestVersionStatus === 'PENDING_REVIEW' && skill.latestVersion ? (
|
||||
|
|
|
|||
|
|
@ -445,9 +445,9 @@ export function SkillDetailPage() {
|
|||
}
|
||||
|
||||
return (
|
||||
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8 animate-fade-up">
|
||||
<div className="max-w-6xl mx-auto flex flex-col lg:flex-row gap-8 animate-fade-up">
|
||||
{/* Main Content */}
|
||||
<div className="lg:col-span-2 space-y-8">
|
||||
<div className="flex-1 min-w-0 space-y-8">
|
||||
<div className="space-y-3">
|
||||
<Button
|
||||
variant="ghost"
|
||||
|
|
@ -620,7 +620,7 @@ export function SkillDetailPage() {
|
|||
</div>
|
||||
|
||||
{/* Sidebar */}
|
||||
<div className="space-y-5">
|
||||
<aside className="w-full lg:w-80 flex-shrink-0 space-y-5">
|
||||
<Card className="p-5 space-y-5">
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="text-sm text-muted-foreground">{t('skillDetail.version')}</div>
|
||||
|
|
@ -756,7 +756,7 @@ export function SkillDetailPage() {
|
|||
</div>
|
||||
</Card>
|
||||
)}
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<Dialog open={reportDialogOpen} onOpenChange={setReportDialogOpen}>
|
||||
<DialogContent>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue