From c960fe8eac19d763c2f8fc27d469079be7588b45 Mon Sep 17 00:00:00 2001 From: Belle <65808924+bellesea@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:16:53 -0500 Subject: [PATCH] change header + add spotlight effect (#1051) * header * small changes * add bg --- components/nav.js | 4 +- components/secret.js | 2 +- pages/index.js | 183 +++++++++++++++++++++++++++---------------- 3 files changed, 117 insertions(+), 72 deletions(-) diff --git a/components/nav.js b/components/nav.js index 3bc3fff5..b4b11c2a 100644 --- a/components/nav.js +++ b/components/nav.js @@ -146,10 +146,10 @@ const Navigation = props => ( Hackathons - Slack + Community Scrapbook - Jams + Workshops OnBoard diff --git a/components/secret.js b/components/secret.js index bb19dc03..b26353f8 100644 --- a/components/secret.js +++ b/components/secret.js @@ -15,7 +15,7 @@ export default function Secret({ reveal, ...props }) { right: 5, bottom: 0, transform: `${reveal ? 'translateY(0)' : 'translateY(100%)'}`, - transition: '1s', + transition: '2s', zIndex: 3 }} {...props} diff --git a/pages/index.js b/pages/index.js index 5d0a6cdf..58da5c6f 100644 --- a/pages/index.js +++ b/pages/index.js @@ -1,7 +1,17 @@ -import {Badge, Box, Button, Card, Flex, Grid, Heading, Link, Text} from 'theme-ui' -import React, {useEffect, useRef, useState} from 'react' +import { + Badge, + Box, + Button, + Card, + Flex, + Grid, + Heading, + Link, + Text +} from 'theme-ui' +import React, { useEffect, useRef, useState } from 'react' import Head from 'next/head' -import {useRouter} from 'next/router' +import { useRouter } from 'next/router' import Meta from '@hackclub/meta' import Nav from '../components/nav' import BGImg from '../components/background-image' @@ -120,6 +130,24 @@ function Page({ } }, [count, images.length]) + // Spotlight effect + const spotlightRef = useRef() + useEffect(() => { + const handler = event => { + var rect = document.getElementById('spotlight').getBoundingClientRect() + var x = event.clientX - rect.left //x position within the element. + var y = event.clientY - rect.top //y position within the element. + + spotlightRef.current.style.background = `radial-gradient( + circle at ${x}px ${y}px, + rgba(132, 146, 166, 0) 10px, + rgba(249, 250, 252, 0.9) 80px + )` + } + window.addEventListener('mousemove', handler) + return () => window.removeEventListener('mousemove', handler) + }, []) + return ( <> { setHover(true) + console.log(hover) }} onMouseOut={() => { - setHover(false) + setReveal(false) }} /> {"Hey, I'm an Easter Egg! Look at me!"} - { - setHover(false) !reveal ? setReveal(true) : setReveal(false) }} sx={{ @@ -586,21 +613,38 @@ function Page({ + @@ -1068,78 +1112,79 @@ function Page({ - - {new URL(asPath, 'http://example.com').searchParams.get('gen') === - 'z' && ( - <> - + + {new URL(asPath, 'http://example.com').searchParams.get('gen') === + 'z' && ( + <> + + + + + - - - - - - - - - )} - + + + + + )} + +