gc-guide/src/components/common/StepGuide.tsx
htlee 456cfdddd9 feat: 전체 UI 구현 및 백엔드 인증 API 연동
- 테마 시스템: CSS 변수 + data-theme + Tailwind v4 시맨틱 색상 (다크모드 지원)
- 공통 컴포넌트: CodeBlock, Alert, StepGuide, CopyButton, TableOfContents
- 가이드 콘텐츠 8개 섹션 (React.lazy 동적 로딩, 실제 인프라 검증 완료)
- 관리자 페이지 4개 (사용자/롤/권한/통계)
- 레이아웃: 반응형 사이드바 + 테마 토글 + ScrollSpy 목차
- 인증: Google OAuth 로그인/세션복원/로그아웃 백엔드 API 연동
- 개발모드 mock 인증 (import.meta.env.DEV 전용)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:38:28 +09:00

34 lines
981 B
TypeScript

import type { ReactNode } from 'react';
interface Step {
title: string;
content: ReactNode;
}
interface StepGuideProps {
steps: Step[];
}
export function StepGuide({ steps }: StepGuideProps) {
return (
<div className="space-y-0 my-6">
{steps.map((step, index) => (
<div key={index} className="flex gap-4">
<div className="flex flex-col items-center">
<div className="w-8 h-8 rounded-full bg-accent text-white flex items-center justify-center text-sm font-bold flex-shrink-0">
{index + 1}
</div>
{index < steps.length - 1 && (
<div className="w-0.5 flex-1 bg-accent/20 mt-2" />
)}
</div>
<div className="pb-8 flex-1 min-w-0">
<h4 className="font-semibold text-text-primary mb-2">{step.title}</h4>
<div className="text-sm text-text-secondary">{step.content}</div>
</div>
</div>
))}
</div>
);
}