Skip to content

fix: replace hard-coded colors with CSS variables for dark mode - #1721

Open
Youngmaster0304 wants to merge 10 commits into
magic-peach:mainfrom
Youngmaster0304:fix/dark-mode-audit
Open

fix: replace hard-coded colors with CSS variables for dark mode#1721
Youngmaster0304 wants to merge 10 commits into
magic-peach:mainfrom
Youngmaster0304:fix/dark-mode-audit

Conversation

@Youngmaster0304

Copy link
Copy Markdown

What this does

Fixed hard-coded color values in ComparisonPreview and TrimControl components that were breaking dark mode.

Why

Several UI components had hard-coded bg-white and text-black values that don't switch correctly in dark mode, resulting in poor contrast and visibility issues.

Changes

  • ComparisonPreview.tsx: Replaced bg-white with bg-[var(--surface)] and text-black with text-[var(--text)]
  • TrimControl.tsx: Replaced bg-white with bg-[var(--surface)] on slider thumbs

Acceptance Criteria

  • Toggle dark mode — all text, backgrounds, and borders look correct
  • No component has hard-coded text-white / text-black / bg-white that conflicts with dark mode
  • Contrast ratios meet WCAG AA (4.5:1 for normal text, 3:1 for large text) in both modes
  • bun run lint and bunx tsc --noEmit still pass

Note

This PR addresses the specific hard-coded values found. A full WCAG contrast audit and screen recording may be needed for complete acceptance.

Contributor

Abhinav Jha (@Youngmaster0304) | abhinavjha0304@gmail.com
GSSoC 2026 Participant

Fixes #673

Changed the h1 element in the header to a span element to ensure
there is only one h1 per page (the main REFRAME title in VideoEditor).

Fixes magic-peach#69

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added title attributes to quick action buttons (Instagram Reels,
TikTok, YouTube Short, YouTube, Twitter/X) showing exact dimensions.

Fixes magic-peach#71

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added data-testid attributes for automated testing:
- file-upload-zone: File upload drop zone
- export-button: Export video button
- export-progress: Progress bar during export
- download-button: Download result button
- reset-button: Reset/upload new video button
- quality-slider: Quality CRF slider
- speed-slider: Speed control slider

Fixes magic-peach#56

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added formatTimeWithDecimal helper function and updated trim control
labels to show formatted time (e.g., 01:05.5 instead of 65.5).

Fixes magic-peach#78

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added animate-pulse-subtle class to export button for visual feedback.
Respects prefers-reduced-motion to disable animation for accessibility.

Fixes magic-peach#236

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added How It Works section with 4 common questions about privacy,
formats, performance, and offline use. Uses semantic details/summary
elements for accessibility.

Fixes magic-peach#198

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Fixed broken social media links to point to Reframe accounts.
Replaced outdated Twitter bird icon with X (Twitter) logo.

Fixes magic-peach#1016

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Added LICENSE file to clarify usage terms and encourage contributions.

Fixes magic-peach#1045

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
Fixed dark mode issues in ComparisonPreview and TrimControl components.
Replaced bg-white and text-black with appropriate CSS variable tokens.

Fixes magic-peach#673

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
@vercel

vercel Bot commented Aug 1, 2026

Copy link
Copy Markdown

@Youngmaster0304 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

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Youngmaster0304!

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

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

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 gssoc'26 GirlScript Summer of Code 2026 labels Aug 1, 2026
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

✅ PR Format Check Passed — @Youngmaster0304

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.

…Button

Extended dark mode audit to fix NativeShareButton.tsx which had
hard-coded blue-600, blue-700, blue-500, and gray-900 values.

Fixes magic-peach#673

Contributor: Abhinav Jha (@Youngmaster0304)
Email: abhinavjha0304@gmail.com
GSSoC 2026 Participant
@Youngmaster0304

Copy link
Copy Markdown
Author

Extended: Now also fixes NativeShareButton.tsx which had hard-coded blue-600, blue-700, blue-500, and gray-900 values. Replaced with CSS variables for proper dark mode support.

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

Labels

gssoc'26 GirlScript Summer of Code 2026 level:intermediate Intermediate level - 35 pts type:bug Bug fix type:design UI/UX design

Projects

None yet

Development

Successfully merging this pull request may close these issues.

design: dark mode audit — ensure all components respect dark mode CSS tokens

1 participant