import { useState } from 'react'; import { motion } from 'framer-motion'; import { Battery, Plus, Copy, Edit, FileText, Image, Video, Layout } from 'lucide-react'; import { MarketingBattery as BatteryType } from '../types'; import { mockBattery } from '../data/mockPlan'; const typeIcons = { campaign: Layout, template: FileText, cta: Plus, image_format: Image, video_format: Video, text_template: FileText }; export function MarketingBattery() { const [battery] = useState(mockBattery); const [filter, setFilter] = useState('all'); const filtered = filter === 'all' ? battery : battery.filter(b => b.type === filter); return (

Marketing Battery

Reusable campaigns, templates, and content formats

{/* Filters */}
{['all', 'campaign', 'template', 'cta', 'image_format', 'video_format'].map(type => ( ))}
{/* Battery Grid */}
{filtered.map(item => { const Icon = typeIcons[item.type] || Battery; return (

{item.name}

{item.type.replace('_', ' ')}
                  {JSON.stringify(item.content, null, 2)}
                
{item.tags.map(tag => ( {tag} ))}
Used {item.usageCount} times
); })}
); }