Skip to content

feat: wrap advanced settings in collapsible <details> panel#353

Open
Yesha-19 wants to merge 17 commits into
magic-peach:mainfrom
Yesha-19:main
Open

feat: wrap advanced settings in collapsible <details> panel#353
Yesha-19 wants to merge 17 commits into
magic-peach:mainfrom
Yesha-19:main

Conversation

@Yesha-19
Copy link
Copy Markdown

@Yesha-19 Yesha-19 commented May 15, 2026

Closes #229

📋 Overview

This PR improves the default UI of the Video Editor by moving the less frequently used controls (RotateControl and ExportSettings) into a collapsible "Advanced settings" section. This reduces visual clutter and simplifies the default view for users.

🛠️ Changes Made

  • src/components/VideoEditor.tsx:
    • Restructured the left/right column layout.
    • Wrapped RotateControl and ExportSettings inside a native HTML <details> and <summary> element in the left column.
    • Maintained TrimControl and AudioSpeedControl as always-visible primary options.
  • src/app/globals.css:
    • Added a CSS snippet to hide the browser's default ::-webkit-details-marker disclosure triangle so only the custom chevron is displayed.

♿ Accessibility & UX

  • Utilizes native HTML <details>/<summary>, meaning keyboard navigation (Tab, Space/Enter) and screen reader support (native aria-expanded) work out of the box without additional JavaScript.
  • Section is collapsed by default and expands on click.

📸 Visual Proof

Screenshot 2026-05-14 162933 Screenshot 2026-05-14 162940

✅ Checklist

  • Tested locally
  • Verified native expanding/collapsing behavior
  • Verified keyboard navigation works
  • Code passes the linter

@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

@Yesha-19 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.

@Yesha-19
Copy link
Copy Markdown
Author

Hello @magic-peach,

This PR resolves issue #229.

Please note that the Vercel check is currently failing with an "Authorization required to deploy" message. This appears to be a standard preview deployment permission restriction for fork contributors rather than a failing code check.

I have tested the changes locally using bun run dev and successfully verified that pressing Ctrl+O opens the file picker.
Please let me know if any further adjustments are required before merging.

Thanks in advance for your time reviewing this!

@magic-peach magic-peach added feature New feature request ui/ux User interface or experience improvement gssoc'26 GirlScript Summer of Code 2026 level:beginner Beginner level - 20 pts size: small Small issue - a few lines of code needs-review Needs maintainer review gssoc:approved Approved for GSSoC'26 type:feature New feature type:design UI/UX design and removed feature New feature request ui/ux User interface or experience improvement size: small Small issue - a few lines of code needs-review Needs maintainer review labels May 15, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! The CI build check hasn't run on this PR yet — this usually happens when the PR was opened before the CI was fully set up, or if the branch hasn't been updated recently.

To trigger the build check, please rebase onto the latest main:

git fetch origin
git rebase origin/main
git push --force-with-lease

This will re-trigger CI. If you hit any merge conflicts in src/app/page.tsx, keep the version from main (no <main> wrapper around <VideoEditor />).

Once CI passes and the Vercel deployment is authorized, we'll review and merge. 🚀

@magic-peach magic-peach removed the gssoc:approved Approved for GSSoC'26 label May 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 16, 2026

✅ PR Format Check Passed — @Yesha-19

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 github-actions Bot added the ui/ux User interface or experience improvement label May 16, 2026
@magic-peach magic-peach added the gssoc:approved Approved for GSSoC'26 label May 16, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! The build is failing with a CSS syntax error in src/app/globals.css:

Error — line 49:

Syntax error: src/app/globals.css Unclosed block
 47 |   list-style: none;
 48 | }
>49 | details > summary::-webkit-details-marker {
    | ^
 50 |   display: none;

The CSS block for details > summary::-webkit-details-marker is not closed with a matching }. It looks like a closing brace is missing at the end of that rule.

Fix: Make sure the CSS block you added in globals.css for the details element has proper opening and closing braces:

details > summary::-webkit-details-marker {
  display: none;
}

details > summary {
  cursor: pointer;
}

Check that every { has a matching }. After fixing, rebase on main and push.

@magic-peach
Copy link
Copy Markdown
Owner

Hi @Yesha-19 👋 This PR has a merge conflict with main. Please update your branch:

git fetch upstream && git merge upstream/main
# resolve any conflicts, then:
git push

Once conflicts are resolved and CI passes, this will be ready to merge. 🙂

@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! Your branch has a merge conflict with main that needs to be resolved before we can merge.

Please sync your fork with the latest main:

git fetch upstream
git merge upstream/main
# resolve any conflicts
git push

Once conflicts are resolved and the build passes, we'll get this merged. Thanks!

@magic-peach magic-peach added the needs-fixes PR has issues that need to be fixed label May 16, 2026
@Yesha-19
Copy link
Copy Markdown
Author

Okay @magic-peach
Thank you for review.

@magic-peach magic-peach added the quality:clean Well-implemented, clean code label May 16, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19, the collapsible advanced settings idea is good, but this PR also removes the dark mode CSS tokens (.dark class variables) and the smooth CSS transitions from globals.css. These are important for the theme switching functionality. Please limit the changes to just the collapsible <details> panel and restore the CSS you removed.

@github-actions github-actions Bot added the level:intermediate Intermediate level - 35 pts label May 16, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! Wrapping advanced settings in a collapsible panel is a great UX idea, but the globals.css changes are too aggressive and break the design system.

Issues:

  1. Removes CSS variables — Your changes to globals.css remove --accent-hover, --film-600, and --film-400 from the light mode theme, and change the --accent value. Any component using these variables in light mode will break.

  2. Adds complex new styles unrelated to the feature — The body::before SVG noise texture and z-index restructuring are significant visual changes not related to collapsible settings.

  3. src/app/page.tsx scope — The page.tsx changes go beyond just adding a collapsible panel.

What to do:

  • Revert the globals.css changes entirely — keep the original CSS variables
  • Focus the PR on just the collapsible <details> panel in VideoEditor.tsx
  • Don't modify page.tsx

The core feature (collapsible advanced settings) is a great contribution — just keep it focused!

@Yesha-19
Copy link
Copy Markdown
Author

Hi @magic-peach,

Could you please review it and let me know if any changes are required?
Thank you!

@magic-peach magic-peach removed ui/ux User interface or experience improvement level:beginner Beginner level - 20 pts labels May 17, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! Wrapping advanced settings in a collapsible panel is a nice UX improvement. This PR has merge conflicts with main and no CI results. Please rebase:

git fetch origin
git rebase origin/main
git push --force-with-lease

@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! This PR needs a rebase on the latest main to trigger fresh CI checks. Please run:

git fetch origin
git rebase origin/main
git push --force-with-lease

Once CI (build/lint/typecheck) passes, we'll review and merge!

@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! This PR had merge conflicts with main — I've resolved them automatically and pushed. Conflicts were resolved by keeping main's versions of core files while preserving your changes. CI has been re-triggered. Once it passes, we'll review for merge!

@magic-peach
Copy link
Copy Markdown
Owner

Conflicts have been resolved and pushed! Please rebase to trigger a fresh CI run:

git fetch upstream && git rebase upstream/main && git push --force-with-lease

Once build/lint/typecheck pass, we'll review and merge!

@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! 👋

We've added a new requirement for all PRs: a screen recording showing your changes working on your local machine must be attached before a PR can be merged.

Please add a recording to this PR that shows:

  1. bun run dev running at http://localhost:3000
  2. The full working flow of your change (demonstrate the feature/fix end-to-end)
  3. Any tests passing — if your change touches logic with tests, show bun run lint and bunx tsc --noEmit completing without errors in the terminal

How to record:

  • macOS: Cmd + Shift + 5 → Record Selected Portion, or QuickTime Player
  • Windows: Win + G → Xbox Game Bar → Capture
  • Linux: OBS Studio, GNOME Screenshot, or kazam
  • Any OS: Loom (free, easy to share)

Once you have the recording, drag the file directly into a comment on this PR, or paste a Loom link. This is now a hard requirement — see CONTRIBUTING.md for full details.

Thanks for contributing to Reframe! 🎬

@Yesha-19
Copy link
Copy Markdown
Author

Screen Recording (2).zip

Hi @magic-peach,

I have successfully resolved the import issues, and the local build is now compiling with zero errors.

I have attached a short screen recording demonstrating the working implementation of the collapsible

Details panel for the advanced settings. The layout changes are now strictly scoped to VideoEditor.tsx as requested, and all original light-mode CSS tokens, smooth transitions, and core layout bounds have been fully restored.

Please let me know if everything looks good to merge!

@Yesha-19
Copy link
Copy Markdown
Author

Hi @magic-peach ,

I resolved the merge conflicts and updated the branch successfully. The remaining checks appear to be related to workflow approval and Vercel authorization. Could you please review and approve the pending workflows if needed?

Thank you.

@magic-peach
Copy link
Copy Markdown
Owner

Hey @Yesha-19! This PR has merge conflicts with main that need to be resolved before we can merge it.

Please rebase on the latest main:

git fetch origin
git rebase origin/main
# resolve any conflicts
git push --force-with-lease origin <your-branch>

Once conflicts are cleared and CI passes, we'll proceed with the collapsible Advanced settings panel!

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

Labels

gssoc:approved Approved for GSSoC'26 gssoc'26 GirlScript Summer of Code 2026 level:intermediate Intermediate level - 35 pts needs-fixes PR has issues that need to be fixed quality:clean Well-implemented, clean code type:design UI/UX design type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Good First Issue] Add a collapsible 'Advanced settings' section for power users

2 participants