diff --git a/src/components/game/StrategyAnimation.tsx b/src/components/game/StrategyAnimation.tsx index b746d6f..19459ea 100644 --- a/src/components/game/StrategyAnimation.tsx +++ b/src/components/game/StrategyAnimation.tsx @@ -15,6 +15,15 @@ interface StrategyAnimationProps { export const StrategyAnimation: React.FC = ({ animation, className = '' }) => { const { type } = animation; + // Helper function to render default animation with custom text + const renderDefaultAnimation = (text: string) => ( +
+
+ {text} +
+
+ ); + switch (type) { case 'network': return ; @@ -28,13 +37,29 @@ export const StrategyAnimation: React.FC = ({ animation, return ; case 'podcast': return ; + case 'influencer': + return renderDefaultAnimation('Influencer Strategy'); + case 'silence': + return renderDefaultAnimation('Strategic Silence'); + case 'counter': + return renderDefaultAnimation('Counter Campaign'); + case 'academic': + return renderDefaultAnimation('Academic Strategy'); + case 'whitepaper': + return renderDefaultAnimation('Whitepaper Publication'); + case 'celebrity': + return renderDefaultAnimation('Celebrity Influence'); + case 'bias': + return renderDefaultAnimation('Media Bias Strategy'); + case 'research': + return renderDefaultAnimation('Research Strategy'); + case 'event': + return renderDefaultAnimation('Event Strategy'); + case 'platform': + return renderDefaultAnimation('Platform Strategy'); + case 'freedom': + return renderDefaultAnimation('Freedom Strategy'); default: - return ( -
-
- Strategy Visualization -
-
- ); + return renderDefaultAnimation('Strategy Visualization'); } }; \ No newline at end of file diff --git a/src/components/game/types.ts b/src/components/game/types.ts index 266503a..c85b6c5 100644 --- a/src/components/game/types.ts +++ b/src/components/game/types.ts @@ -9,7 +9,9 @@ export interface ExpertAudio { } export interface StrategyAnimation { - type: "network" | "meme" | "news" | "community" | "expert" | "research" | "podcast" | "event" | "platform" | "freedom"; + type: "network" | "meme" | "news" | "community" | "expert" | "research" | + "podcast" | "event" | "platform" | "freedom" | "influencer" | "silence" | + "counter" | "academic" | "whitepaper" | "celebrity" | "bias"; config?: { particleCount?: number; speed?: number; @@ -50,5 +52,4 @@ export interface DossierEntry { title: string; insights: string[]; strategicNote: string; -} - \ No newline at end of file +} \ No newline at end of file