feat: unified Skills Hub — merge analytics + marketplace into one page
Combines SkillsAnalytics (496 LOC) and SkillMarketplace (346 LOC) into a single tabbed Skills Hub (770 LOC total, -9% code). New structure: - skills/shared.tsx: ProficiencyBadge, GapIndicator, constants (extracted) - skills/OverviewTab.tsx: KPI cards, top 10 table, distribution chart, export - skills/SearchTab.tsx: skill search + proficiency + availability filter - skills/GapsTab.tsx: supply vs demand table with gap indicators - skills/PeopleFinderTab.tsx: multi-rule AND/OR builder, chapter filter, export - SkillsHub.tsx: tabbed container with URL-persisted tab state (?tab=) Routing: - /analytics/skills renders SkillsHub (was SkillsAnalytics) - /analytics/skill-marketplace redirects to /analytics/skills?tab=search - Sidebar: "Skill Marketplace" removed, renamed to "Skills Hub" No API changes — reuses existing queries with conditional fetching per tab. Full dark theme support on all components. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { SkillMarketplace } from "~/components/analytics/SkillMarketplace.js";
|
||||
import { redirect } from "next/navigation";
|
||||
|
||||
export default function SkillMarketplacePage() {
|
||||
return <SkillMarketplace />;
|
||||
redirect("/analytics/skills?tab=search");
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SkillsAnalytics } from "~/components/analytics/SkillsAnalytics.js";
|
||||
import { SkillsHub } from "~/components/analytics/SkillsHub.js";
|
||||
|
||||
export default function SkillsAnalyticsPage() {
|
||||
return <SkillsAnalytics />;
|
||||
export default function SkillsHubPage() {
|
||||
return <SkillsHub />;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user