Skip to content

Conversation

@mirmirmirr
Copy link
Member

@mirmirmirr mirmirmirr commented Jan 6, 2026

This pr implements a transition between light mode and dark mode colors. This logic was added to globals.css and all instances of transition-all and transition-color were removed from the rest of the code base to comply with timing.

NOTE: using the * in css might cause a lot of rendering power and CPU usage. This was the only way I found that would apply the transitions at once. If it ends up causing a problem, we will have to resort to manually adding the transition to all components that are not bound by body (I haven't experienced any issues thus far)

liug88 and others added 8 commits November 21, 2025 21:46
Introduced transition effects to the body, base button, and frosted glass button styles for smoother color and background changes. Removed redundant transition from the main element in page.tsx to avoid overlap.

NO. MORE. FLASHBANGS
Introduces granular theme transition classes for backgrounds, borders, and SVG icons to improve UI transitions. Also updates body transition properties for smoother theme changes.
Copilot AI review requested due to automatic review settings January 6, 2026 01:42
@mirmirmirr mirmirmirr changed the base branch from main to v0.1.3 January 6, 2026 01:43
@mirmirmirr mirmirmirr linked an issue Jan 6, 2026 that may be closed by this pull request
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR implements smooth transitions between light and dark theme modes by centralizing transition logic in globals.css and removing redundant transition classes from individual components to ensure consistent timing across the application.

Key Changes:

  • Added centralized theme transition rules in globals.css for all color-related properties
  • Extracted hardcoded color values to named CSS variables (--color-pure-white and --color-dark-purple) in the theme configuration
  • Removed component-level transition classes (transition-all, transition-colors) from 4 components to prevent conflicting timing behavior

Reviewed changes

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

Show a summary per file
File Description
src/styles/tailwind.css Added new color variables and refactored theme definitions to use named variables instead of inline oklch values
src/styles/globals.css Implemented global transition rules on body and all elements for theme color transitions
src/features/event/editor/weekday-calendar.tsx Removed transition-all class from calendar day buttons
src/components/text-input-field.tsx Changed from transition-all to transition-transform for label animation (preserves transform transitions while removing color transitions)
src/app/page.tsx Removed transition-colors class from main element
src/app/dashboard/page-client.tsx Removed transition class from tab button

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

@mirmirmirr mirmirmirr requested review from jzgom067 and liug88 January 6, 2026 02:27
className={cn(
"absolute origin-[0_0] cursor-text px-1",
"transition-all duration-200 ease-in-out",
"transition-transform duration-200 ease-in-out",
Copy link
Member

Choose a reason for hiding this comment

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

I don't think this worked, since the placeholder text fades from one place to another.

Screen.Recording.2026-01-06.at.10.21.18.PM.mov

Copy link
Member

Choose a reason for hiding this comment

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

All the text with the --accent-text color has an instant transition, making it noticeable against everything else.

Screen.Recording.2026-01-06.at.10.23.21.PM.mov
Screen.Recording.2026-01-06.at.10.24.19.PM.mov

Copy link
Member

Choose a reason for hiding this comment

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

The placeholder text has an instant transition.

Screen.Recording.2026-01-06.at.10.27.45.PM.mov

@jzgom067
Copy link
Member

jzgom067 commented Jan 7, 2026

The new transitions really mess with the date popover.

Screen.Recording.2026-01-06.at.10.29.32.PM.mov

@jzgom067
Copy link
Member

jzgom067 commented Jan 7, 2026

We discussed that all user-interaction-based transitions should be instant. For example, button hovering:

Screen.Recording.2026-01-06.at.10.33.49.PM.mov

Grid painting:

Screen.Recording.2026-01-06.at.10.36.14.PM.mov

The same thing happened to hovering options in a dropdown.

The one exception might be the dashboard event tile hover shadow, since that was a transition to begin with.

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.

Add a transition between light and dark themes

4 participants