// Blast Events — Home page sections const { useEffect, useRef, useState } = React; const { TR, Counter, Star, PulseLine, Nav, MobileMenu, Footer, useCursor, useReveal, useNavScroll, useHeroReveal, submitContactForm } = window; function Hero() { const videoRef = React.useRef(null); // Force-mute the video. Some browsers ignore the JSX `muted` prop the first // time around; this also re-mutes if anything (extension, user) un-mutes it. React.useEffect(() => { const v = videoRef.current; if (!v) return; const lock = () => { v.muted = true; v.volume = 0; try { v.defaultMuted = true; } catch(e){} v.setAttribute('muted', ''); }; lock(); // Strip the audio track entirely if the browser exposes it try { if (v.audioTracks) { for (let i = 0; i < v.audioTracks.length; i++) v.audioTracks[i].enabled = false; } } catch (e) {} v.addEventListener('volumechange', lock); v.addEventListener('play', lock); v.addEventListener('loadedmetadata', lock); // Attempt to play (autoplay-muted is allowed) const tryPlay = () => { lock(); v.play().catch(() => {}); }; tryPlay(); return () => { v.removeEventListener('volumechange', lock); v.removeEventListener('play', lock); v.removeEventListener('loadedmetadata', lock); }; }, []); return (
{/* Desktop: foto reale dell'evento. Mobile: video verticale (loro). */} Evento live a Belluno prodotto da Blast Events: palco, luci e schermi LED
SHOWREEL · 2024 / 2025
BL · BELLUNO · IT
EST. 2019

BLAST events · belluno

Guarda i lavori Contattaci
Belluno · IT
N 46.14° · E 12.21°
); } // ============ Marquee ============ function Marquee() { const words = ['LIVE SHOWS', 'CORPORATE', 'PRIVATE EVENTS', 'STAGE DESIGN', 'AUDIO ENGINEERING', 'LIGHTING', 'FESTIVAL', 'TOUR SUPPORT']; const row = [...words, ...words]; return (
{row.map((w, i) => (
{w}
))}
); } // ============ About ============ function About() { return (
(01) Chi siamo

Dal 2019 dietro il palco.

Blast Events nasce nel 2019 con un'idea precisa. Un nuovo format di eventi che unisca intrattenimento, qualità e attenzione ai dettagli. Esperienze coinvolgenti, costruite su misura per il territorio e per il pubblico, curando ogni aspetto organizzativo e creativo.

Negli anni abbiamo evoluto le nostre competenze ampliando il raggio d'azione, fino a specializzarci nel service audio e luci, diventando parte integrante di ciò che sta dietro ogni evento. La struttura tecnica, l'atmosfera, la resa scenica.

Oggi offriamo un servizio completo, dall'ideazione alla realizzazione, inclusa la progettazione di palchi completamente personalizzati. La nostra filosofia. Passione, affidabilità, innovazione.

); } // ============ Services ============ const SERVICES = [ { n: '01', t: 'Service Audio', d: 'Sistemi line array, mixing FOH e monitor, sound design tarato sull\'acustica del luogo.' }, { n: '02', t: 'Service Luci', d: 'Light design, motion fixture, gestione DMX/Art-Net, programmazione su grandMA / Avolites.' }, { n: '03', t: 'Palchi Custom', d: 'Progettazione strutturale e scenografica, americane, truss, copertura, sicurezza inclusa.' }, { n: '04', t: 'Event Production', d: 'Ideazione, regia, coordinamento tecnico-artistico, gestione fornitori e timing operativo.' }, { n: '05', t: 'Video & LED Wall', d: 'Schermi LED indoor/outdoor, regia video, content design sincronizzato con il light show.' }, { n: '06', t: 'Eventi Privati', d: 'Matrimoni, compleanni, anniversari e celebrazioni. Il rigore del live, l\'eleganza del private.' }, ]; function Services() { return (
(02) Cosa facciamo

Quello che facciamo.

{SERVICES.map((s) => (
[{s.n}]
{s.t}
{s.d}
))}
); } // ============ Numbers ============ function Numbers() { const items = [ { v: '6', s: '+', l: 'Anni in attività' }, { v: '90', s: '+', l: 'Eventi prodotti' }, { v: '70', tail: 'k', s: '+', l: 'Spettatori totali' }, { v: '100', s: '%', l: 'Palchi custom' }, ]; return (
{items.map((i) => (
{i.tail || ''} {i.s}
{i.l}
))}
); } // ============ Portfolio ============ const PROJECTS = [ { name: 'Live Shows', year: '2024', tag: 'LIVE', img: 'event-04', w: 'w-6' }, { name: 'Festival', year: '2024', tag: 'FESTIVAL', img: 'event-02', w: 'w-6' }, { name: 'Stage Design', year: '2025', tag: 'STAGE', img: 'event-01', w: 'w-4' }, { name: 'Lighting', year: '2024', tag: 'LIGHTING', img: 'event-03', w: 'w-4' }, { name: 'Private Events', year: '2025', tag: 'PRIVATE', img: 'event-06', w: 'w-4' }, { name: 'Audio Engineering', year: '2024', tag: 'AUDIO', img: 'event-05', w: 'w-6' }, ]; function Portfolio({ onOpen }) { return (
(03) Portfolio

Selezione lavori.

{PROJECTS.map((p, i) => (
onOpen(`assets/${p.img}.webp`)}>
{`${p.name}
{p.tag}
{p.name}
{p.year}
))}
); } // ============ Contact ============ function Contact() { const [sent, setSent] = useState(false); const [busy, setBusy] = useState(false); const [err, setErr] = useState(false); return (
(04) Contatti

Contattaci.

{ e.preventDefault(); if (e.target.elements.website && e.target.elements.website.value) return; setErr(false); setBusy(true); try { const ok = await submitContactForm(e.target); if (ok) { setSent(true); e.target.reset(); } else { setErr(true); } } catch (_) { setErr(true); } setBusy(false); }}>
{err &&

Invio non riuscito. Riprova o scrivici a info@blasteventservice.com.

}

RISPONDIAMO ENTRO 24H · LUN–VEN

); } // ============ Lightbox ============ function Lightbox({ src, onClose }) { useEffect(() => { const k = (e) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', k); return () => window.removeEventListener('keydown', k); }, [onClose]); return (
{src && e.stopPropagation()} />}
); } // ============ Root App ============ function App({ tweaks }) { useCursor(); useReveal(); useNavScroll(); useHeroReveal(); const [menu, setMenu] = useState(false); const [lightbox, setLightbox] = useState(null); // Apply tweaks useEffect(() => { const r = document.documentElement.style; r.setProperty('--accent', tweaks.accent); r.setProperty('--display', tweaks.display); r.setProperty('--density', tweaks.density); if (tweaks.theme === 'light') { r.setProperty('--bg', '#f4f1ea'); r.setProperty('--bg-2', '#ebe7dd'); r.setProperty('--fg', '#0a0a0a'); r.setProperty('--fg-dim', '#666'); r.setProperty('--line', '#dcd6c8'); r.setProperty('--line-2', '#c8c1b0'); r.setProperty('--accent-ink', '#f4f1ea'); } else { r.setProperty('--bg', '#000'); r.setProperty('--bg-2', '#0a0a0a'); r.setProperty('--fg', '#ffffff'); r.setProperty('--fg-dim', '#8a8a8a'); r.setProperty('--line', '#1a1a1a'); r.setProperty('--line-2', '#2a2a2a'); r.setProperty('--accent-ink', '#000'); } }, [tweaks]); return ( <>