// Nav, Hero, Marquee components
const { useState: useStateHero, useEffect: useEffectHero } = React;
function Nav() {
const scrolled = window.useScrolled(20);
const [mobileOpen, setMobileOpen] = useStateHero(false);
const close = () => setMobileOpen(false);
useEffectHero(() => {
if (!mobileOpen) return;
const onKey = (e) => { if (e.key === 'Escape') close(); };
window.addEventListener('keydown', onKey);
return () => window.removeEventListener('keydown', onKey);
}, [mobileOpen]);
return (
);
}
function Hero() {
const [time, setTime] = useStateHero(() => new Date());
useEffectHero(() => {
const t = setInterval(() => setTime(new Date()), 1000);
return () => clearInterval(t);
}, []);
window.useHeroParallax('.hero');
const fmt = (n) => String(n).padStart(2, '0');
const istHour = (time.getUTCHours() * 60 + time.getUTCMinutes() + 330) % 1440;
const h = Math.floor(istHour / 60);
const m = istHour % 60;
const s = time.getUTCSeconds();
const istClock = `${fmt(h)}:${fmt(m)}:${fmt(s)} IST`;
return (
<>
I'm Kshitij Verma, a director, Live Virtual Production specialist and VFX Supervisor.
A decade weaving tech and craft into frames people remember. Tech kid at heart, movie kid
since forever, obsessed with figuring out how the magic works, then building it.
Post-first
director shaping
cinematic dreamworlds