HyperFlow Theme Orchestrator
Change CSS color variables across all user surfaces, riders, and maps in real time.
{t.name}
{t.desc}
import React, { useState } from 'react'; import * as API from '../api'; export default function FestivalThemeManager({ activeTheme, onThemeChange, onBack }) { const [loading, setLoading] = useState(false); const [successMsg, setSuccessMsg] = useState(''); const themes = [ { id: 'default', name: 'Default Obsidian', primary: '#6C63FF', accent: '#00D4AA', desc: 'Core dark brand theme with electric violet gradients.' }, { id: 'diwali', name: 'Diwali Spark', primary: '#FFB300', accent: '#FF0077', desc: 'Golden marigold glow with festive pink and yellow highlights.' }, { id: 'holi', name: 'Holi Splash', primary: '#FF0077', accent: '#8F00FF', desc: 'Vibrant organic pigments, neon pink and purple overlays.' }, { id: 'monsoon', name: 'Monsoon Jitter', primary: '#3B82F6', accent: '#00E676', desc: 'Deep storm blue tiles with emerald safe-dispatch routing.' } ]; const handleSelectTheme = async (themeId) => { setLoading(true); setSuccessMsg(''); try { const res = await API.updateFestivalSettings(themeId); if (res) { onThemeChange(themeId); setSuccessMsg(`Active festival settings updated to ${themeId.toUpperCase()}`); setTimeout(() => setSuccessMsg(''), 3000); } } catch (err) { alert("Failed to update festival theme: " + err.message); } finally { setLoading(false); } }; return (
Change CSS color variables across all user surfaces, riders, and maps in real time.
{t.desc}