import React, {useState, useEffect, useCallback} from 'react'; import Shader from './Shader'; import WhoAmI from './WhoAmI'; import Git from './Git'; import DownloadCV from './DownloadCV'; import ClickMe from './ClickMe'; /** * @return {jsx} The root component */ export default function Root() { const [windowSize, setWindowSize] = useState(0); const [trigger, setTrigger] = useState(0); const [content, setContent]: any = useState([]); const Shaders = [ 'BaseRaymarching', 'Collapse', 'Droplets', 'Inception', 'Menstom', 'Torus', 'Triangle', 'BaseLattice', ]; const handleWindowResize = useCallback((_event) => { setWindowSize(window.innerWidth); }, []); useEffect(() => { window.addEventListener('resize', handleWindowResize); return () => { window.removeEventListener('resize', handleWindowResize); }; }, [handleWindowResize]); useEffect(() => { let newContent = []; let randomContent = []; let shadersRandom = []; let imagesRandom = []; shadersRandom.push(Math.floor(Math.random() * 8)); shadersRandom.push(Math.floor(Math.random() * 8)); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); newContent.push(
); setContent(newContent); }, [trigger]); return (
{content} {/*
*/}
); }