Skip to content

Add dark mode, custom mouse, and parallax effects#57

Merged
EvanStreams merged 7 commits into
hackclub:mainfrom
evanxdsouza:main
Jun 5, 2026
Merged

Add dark mode, custom mouse, and parallax effects#57
EvanStreams merged 7 commits into
hackclub:mainfrom
evanxdsouza:main

Conversation

@evanxdsouza

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 23, 2026 13:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR introduces site-wide UI enhancements: a dark mode color palette with a nav toggle, richer motion effects on key components, and a global custom cursor.

Changes:

  • Add Theme UI dark mode colors and a header toggle to switch color modes.
  • Replace CSS-only hover effects with JS-driven parallax/tilt interactions in the Slack page UI.
  • Add a global custom cursor mounted from _app.js.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
pages/index.js Removes forced light theme and adds mouse-driven tilt interactions to cards; tweaks timeline border color token.
pages/_app.js Mounts the new global CustomCursor component for all pages.
lib/theme.js Adds Theme UI dark mode palette and sets initial color mode to light.
components/slack/header.js Adds scroll parallax + button tilt interactions using refs/effects and forwardRef cover.
components/nav.js Adds Theme UI color mode toggle button and link underline hover styling.
components/custom-cursor.js Implements a global animated custom cursor and hides the native cursor.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pages/index.js
Comment thread pages/index.js Outdated
Comment thread components/custom-cursor.js Outdated

return (
<>
<style>{`* { cursor: none !important; }`}</style>
Comment thread components/custom-cursor.js Outdated
Comment thread components/nav.js
Comment thread components/nav.js
@EvanStreams

Copy link
Copy Markdown
Collaborator

Hi Evan,
Thanks for the PR! A few requests:

  1. Can you remove the custom cursor code? I would like the site to respect the user's default cursor
  2. Can you show me what the parallax effects would look like?
  3. Can you fix the issues that Copilot listed?
    Cheers!
    Evan

@evanxdsouza

Copy link
Copy Markdown
Contributor Author

Hey Evan,
I have fixed the details with the latest commit.

Regards,
Evan

@christianwell

Copy link
Copy Markdown
Member
image fix the conflicts

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 8 changed files in this pull request and generated 8 comments.

Comment thread pages/index.js
Comment on lines +143 to +145
const cardRef = useRef(null)
const prefersMotion = usePrefersMotion()
const rafRef = useRef(null)
)

const Cover = () => (
const Cover = React.forwardRef((props, ref) => (
Comment on lines +170 to +174
ref={btnRef}
as="button"
onClick={onJoinClick}
onMouseMove={onBtnMouseMove}
onMouseLeave={onBtnMouseLeave}
Comment thread components/nav.js
Comment on lines +228 to +230
onClick={() => setColorMode(colorMode === 'dark' ? 'light' : 'dark')}
aria-label="Toggle dark mode"
sx={{
Comment thread package.json
"@types/react": "^19.2.14",
"eslint": "^10.0.3",
"eslint-config-next": "^16.2.1",
"playwright": "^1.60.0",
Comment thread pages/index.js
Comment on lines +171 to +179
const handleMouseLeave = prefersMotion
? () => {
const el = cardRef.current
if (!el) return
el.style.transition = 'all 0.4s ease-in-out'
el.style.transform = ''
el.style.boxShadow = ''
}
: undefined
Comment on lines +299 to +306
const handleBtnMouseLeave = prefersMotion
? () => {
const el = btnRef.current
if (!el) return
el.style.transition = 'transform 0.4s ease, box-shadow 0.125s ease-in-out'
el.style.transform = ''
}
: undefined
Comment on lines +248 to +250
const hasMounted = useHasMounted()
const prefersMotion = usePrefersMotion()
const coverRef = useRef(null)
@EvanStreams EvanStreams merged commit 2e5823e into hackclub:main Jun 5, 2026
5 checks passed
EvanStreams added a commit that referenced this pull request Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants