Skip to content

feat: add dismissible privacy-advantage banner above the upload area#1666

Open
Subramaniyajothi6 wants to merge 1 commit into
magic-peach:mainfrom
Subramaniyajothi6:feat/privacy-banner
Open

feat: add dismissible privacy-advantage banner above the upload area#1666
Subramaniyajothi6 wants to merge 1 commit into
magic-peach:mainfrom
Subramaniyajothi6:feat/privacy-banner

Conversation

@Subramaniyajothi6

@Subramaniyajothi6 Subramaniyajothi6 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Reframe's biggest differentiator — that video processing is 100% local, nothing is ever uploaded — was not communicated anywhere in the UI. This adds a small, dismissible privacy banner above the upload area so the benefit is obvious on first visit.

Closes #679

What changed

  • New src/components/PrivacyBanner.tsx — a self-contained, dismissible banner.
  • src/components/VideoEditor.tsx — renders {!file && <PrivacyBanner />} above the upload card.

Behaviour

  • Uses existing design tokens (--surface, --border, --accent, --text, --muted), so it adapts to light, dark, and high-contrast themes automatically.
  • The close button dismisses the banner and stores a timestamp in localStorage (reframe_privacy_banner_dismissed_until); it stays hidden for 7 days.
  • Reveals client-side after mount, so there is no hydration mismatch under output: "export".
  • No new dependencies.

Acceptance criteria

  • Banner is visible before a file is loaded
  • Close button dismisses the banner and stores the dismissal in localStorage
  • Banner does not reappear within 7 days of dismissal
  • Works in light and dark mode
  • Responsive: readable on 375px mobile

Testing

  • next lint — clean on the changed files
  • tsc --noEmit — no errors from the changed files
  • Manual: verified light / dark / 375px, plus dismiss + reload persistence

@magic-peach please review this PR .

Surfaces Reframe's core differentiator — all video processing is 100%
local. Adds a PrivacyBanner shown above the upload area before a file is
loaded, dismissible via a close button with the dismissal remembered in
localStorage for 7 days.

- New src/components/PrivacyBanner.tsx using --surface/--border/--accent
- Verified in light, dark, and high-contrast themes; readable at 375px

Closes magic-peach#679
@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

@Subramaniyajothi6 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 — @Subramaniyajothi6

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 level:intermediate Intermediate level - 35 pts type:design UI/UX design type:testing Testing labels Jul 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Subramaniyajothi6!

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! 🎉

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:design UI/UX design type:testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add a privacy-advantage banner — highlight the 100% local offline benefit

1 participant