810485ecc8
---ci--- phase: 7 milestone: v0.1 status: complete requirements: covered: [REQ-001, REQ-002, REQ-003, REQ-004, REQ-005, REQ-006, REQ-007, REQ-008, REQ-009, REQ-010, REQ-011, REQ-012, REQ-013, REQ-014, REQ-015, REQ-016, REQ-017, REQ-018, REQ-019, REQ-020, REQ-021, REQ-022, REQ-023, REQ-024, REQ-025, REQ-026, REQ-027, REQ-028] partial: [] ---/ci--- Milestone v0.1 (nextcraft-ui-prototype) complete. Summary: - 7 phases (P0 pre-execution + P1-P6 execution + P7 final review) - 28 requirements covered (all complete) - 4 surfaces: Learner (7 pages), Marketplace (5), Employer Dashboard (4), Admin (4) - 19 routes, 104 TypeScript files - Shared component library (5 primitives + design tokens) - Mock data: 5 competency stacks (70 competencies), 20 jobs, 15 candidates, 10 employers - Tech: Next.js 15, Tailwind CSS v4, lucide-react, recharts, @xyflow/react, Inter font - Storybook with 6 stories - Dark mode, breadcrumbs, role switcher, responsive design - Build passes, typecheck passes, Storybook build passes Phases: P0 pre-execution → v0.0.1 P1 project-scaffolding → v0.0.2 P2 learner-surface → v0.0.3 P3 marketplace-surface → v0.0.4 P4 employer-dashboard → v0.0.5 P5 admin-surface → v0.0.6 P6 polish-integration → v0.0.7 P7 final-review-ship → v0.1.0 (milestone release)
101 lines
2.9 KiB
TypeScript
101 lines
2.9 KiB
TypeScript
import type { Meta, StoryObj } from '@storybook/react';
|
|
import { Breadcrumbs } from './breadcrumbs';
|
|
|
|
const meta: Meta<typeof Breadcrumbs> = {
|
|
title: 'Composites/Breadcrumbs',
|
|
component: Breadcrumbs,
|
|
tags: ['autodocs'],
|
|
parameters: {
|
|
layout: 'padded',
|
|
nextjs: {
|
|
navigation: {
|
|
// Simulate different pathnames for each story.
|
|
pathname: '/',
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
export default meta;
|
|
type Story = StoryObj<typeof Breadcrumbs>;
|
|
|
|
/**
|
|
* Breadcrumbs reads `usePathname()` from next/navigation. In Storybook the
|
|
* pathname is provided via the Next.js framework mock — each story below
|
|
* documents a representative route.
|
|
*/
|
|
export const Home: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/' } } },
|
|
};
|
|
|
|
export const Catalog: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/catalog' } } },
|
|
};
|
|
|
|
export const StackDetail: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/catalog/stack-orchestration' } } },
|
|
};
|
|
|
|
export const Dashboard: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/dashboard' } } },
|
|
};
|
|
|
|
export const LearnCompetency: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/learn/stack-orchestration-c001' } } },
|
|
};
|
|
|
|
export const BuildCompetency: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/build/stack-safety-c002' } } },
|
|
};
|
|
|
|
export const DefendCompetency: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/defend/stack-designer-c001' } } },
|
|
};
|
|
|
|
export const Marketplace: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/marketplace' } } },
|
|
};
|
|
|
|
export const MarketplacePricing: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/marketplace/pricing' } } },
|
|
};
|
|
|
|
export const JobDetail: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/marketplace/jobs/job-001' } } },
|
|
};
|
|
|
|
export const EmployerProfile: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/marketplace/employers/emp-openai' } } },
|
|
};
|
|
|
|
export const EmployerDashboard: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/employer' } } },
|
|
};
|
|
|
|
export const EmployerTalent: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/employer/talent' } } },
|
|
};
|
|
|
|
export const CandidateProfile: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/employer/talent/cand-001' } } },
|
|
};
|
|
|
|
export const EmployerPostings: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/employer/postings' } } },
|
|
};
|
|
|
|
export const Admin: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/admin' } } },
|
|
};
|
|
|
|
export const AdminLearners: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/admin/learners' } } },
|
|
};
|
|
|
|
export const AdminGraph: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/admin/graph' } } },
|
|
};
|
|
|
|
export const AdminModeration: Story = {
|
|
parameters: { nextjs: { navigation: { pathname: '/admin/moderation' } } },
|
|
}; |