import { useState } from 'react'; import { motion } from 'motion/react'; import { ArrowRight } from 'lucide-react'; import { VideoFilled } from '../icons/FilledIcons'; import { SectionWrapper } from '../report/ui/SectionWrapper'; import type { ContentStrategyData } from '../../types/plan'; interface ContentStrategyProps { data: ContentStrategyData; } const tabItems = [ { key: 'pillars', label: 'Content Pillars', labelKr: '콘텐츠 필러' }, { key: 'types', label: 'Content Types', labelKr: '콘텐츠 유형' }, { key: 'workflow', label: 'Production Workflow', labelKr: '제작 워크플로우' }, { key: 'repurposing', label: 'Repurposing', labelKr: '콘텐츠 재활용' }, ] as const; type TabKey = (typeof tabItems)[number]['key']; const channelColorMap: Record = { YouTube: 'bg-[#FFF0F0] text-[#7C3A4B]', Instagram: 'bg-[#FFF0F0] text-[#7C3A4B]', Blog: 'bg-[#EFF0FF] text-[#3A3F7C]', '블로그': 'bg-[#EFF0FF] text-[#3A3F7C]', '네이버블로그': 'bg-[#F3F0FF] text-[#4A3A7C]', '네이버': 'bg-[#F3F0FF] text-[#4A3A7C]', Facebook: 'bg-[#EFF0FF] text-[#3A3F7C]', '홈페이지': 'bg-slate-100 text-slate-700', Website: 'bg-slate-100 text-slate-700', TikTok: 'bg-[#F3F0FF] text-[#4A3A7C]', '카카오': 'bg-[#FFF6ED] text-[#7C5C3A]', }; function getChannelBadgeClass(channel: string): string { for (const [key, value] of Object.entries(channelColorMap)) { if (channel.toLowerCase().includes(key.toLowerCase())) return value; } return 'bg-slate-100 text-slate-700'; } export default function ContentStrategy({ data }: ContentStrategyProps) { const [activeTab, setActiveTab] = useState('pillars'); return ( {/* Tabs */}
{tabItems.map((tab) => ( ))}
{/* Tab 1: Content Pillars */} {activeTab === 'pillars' && ( {data.pillars.map((pillar, i) => (

{pillar.title}

{pillar.description}

{pillar.relatedUSP}
    {pillar.exampleTopics.map((topic, j) => (
  • {topic}
  • ))}
))}
)} {/* Tab 2: Content Types */} {activeTab === 'types' && (
Format
Channels
Frequency
Purpose
{data.typeMatrix.map((row, i) => (
{row.format}
{row.channels.map((ch) => ( {ch} ))}
{row.frequency}
{row.purpose}
))}
)} {/* Tab 3: Production Workflow */} {activeTab === 'workflow' && ( {data.workflow.map((step, i) => (
{step.step}

{step.name}

{step.description}

{step.owner} {step.duration}
{i < data.workflow.length - 1 && ( )}
))}
)} {/* Tab 4: Repurposing */} {activeTab === 'repurposing' && ( {/* Source Card */}

{data.repurposingSource}

{/* Connector */}
{/* Outputs Grid */}
{data.repurposingOutputs.map((output, i) => (

{output.format}

{output.channel}

{output.description}

))}
)} ); }