Skip to content

feat: Add animated intro splash screen and fix theme hydration mismatch#1024

Closed
Abhishek2005-ard wants to merge 1 commit into
magic-peach:mainfrom
Abhishek2005-ard:feat/splash-screen-animation
Closed

feat: Add animated intro splash screen and fix theme hydration mismatch#1024
Abhishek2005-ard wants to merge 1 commit into
magic-peach:mainfrom
Abhishek2005-ard:feat/splash-screen-animation

Conversation

@Abhishek2005-ard
Copy link
Copy Markdown

Description

This PR introduces a new animated splash screen that appears on initial application load, creating a smoother and more polished user experience before the main dashboard is revealed. Additionally, it resolves a Next.js hydration mismatch warning related to the theme toggle component.

Changes Made

Added SplashScreen Component: Created a full-screen, theme-aware splash overlay (src/components/SplashScreen.tsx) that features a pulsing Reframe brand logo and text.
Root Layout Integration: Injected the splash screen into src/app/layout.tsx so it mounts immediately on initial page load.
Smooth Transitions: Implemented timeout logic so the splash screen displays for 1.8 seconds before triggering a smooth 500ms fade-out and unmounting entirely.
Fixed Hydration Mismatch**: Updated src/components/ThemeToggle.tsx to wait for client hydration before rendering the light/dark mode icon. This resolves the Invalid HTML tag nesting / typeof window !== 'undefined' error caused by the server and client rendering different SVG icons on the initial load.

Visual Changes

Users will now see a brief, animated "Reframe" logo overlay when they first visit the app, which gracefully fades out into the video editor dashboard.

Type of Change

New feature (non-breaking change which adds functionality)
Bug fix (non-breaking change which fixes an issue)

ScreenShort:-
Screenshot 2026-05-23 213854

close #1017

@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

@Abhishek2005-ard is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

✅ PR Format Check Passed — @Abhishek2005-ard

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Abhishek2005-ard!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions github-actions Bot added level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design type:feature New feature labels May 23, 2026
@Abhishek2005-ard
Copy link
Copy Markdown
Author

Hi maintainers, could you please approve the workflows/checks for this PR? The build appears to be waiting for approval. Thank you!

@magic-peach
Copy link
Copy Markdown
Owner

@Abhishek2005-ard Thanks for the splash screen contribution! However, this PR is a duplicate of #1030 which implements the same feature with better quality (localStorage first-visit check, prefers-reduced-motion support, aria-hidden accessibility).

Closing this in favor of #1030. You're welcome to contribute other features!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Add intro/splash animation on app load before dashboard appears

2 participants