Skip to content

Polish RepoFuse marketing and dashboard UI consistency#45

Open
DealPatrol wants to merge 4 commits into
mainfrom
cursor/repofuse-ui-polish-0e18
Open

Polish RepoFuse marketing and dashboard UI consistency#45
DealPatrol wants to merge 4 commits into
mainfrom
cursor/repofuse-ui-polish-0e18

Conversation

@DealPatrol

Copy link
Copy Markdown
Owner

Summary

Implements the UI assessment plan: fresher launch messaging, consistent navigation, tighter headers, and stronger social proof on the landing page.

Changes

Landing page (app/page.tsx)

  • Replaced stale "FULL LAUNCH 5/12/2026" banner with post-launch "Now live" offer and pricing CTA
  • Aligned hero badge and primary CTA copy with live product (removed conflicting "Public Beta" vs launch messaging)
  • Updated footer to © 2026
  • Replaced inline metrics strip with ImpactStats (variant="marketing")
  • Added Testimonials section (variant="marketing")
  • Fixed "How it works" connector positioning (left-[12.5%])
  • Removed unused icon imports

Shared navigation (lib/dashboard-nav.ts)

  • Single source of truth for dashboard routes used by marketing dropdown and app header
  • Primary nav items in header; secondary items in "More" dropdown on desktop; full scrollable nav on mobile

Dashboard & pricing chrome

  • Header logos reduced to h-10 and switched to animated RepoFuseLogo3D
  • Cyan brand accents on borders, active nav, and hovers
  • Pricing header aligned with dashboard styling

Accessibility & metadata

  • Removed maximumScale: 1 from root viewport (pinch-zoom enabled)
  • Removed generator: 'v0.app' from metadata

Components

  • ImpactStats and Testimonials support variant="marketing" for dark landing theme
  • NavDropdown now imports from shared nav config

Testing

  • pnpm exec tsc --noEmit passes
  • Manual check recommended: /, /pricing, /dashboard (desktop + mobile nav)
Open in Web Open in Cursor 

- Refresh homepage post-launch banner and align hero messaging with live product
- Fix footer year, wire ImpactStats and Testimonials on landing page
- Shrink header logos on dashboard and pricing; use RepoFuseLogo3D in app chrome
- Unify dashboard navigation via shared config with More dropdown for secondary routes
- Add cyan brand accents to dashboard header; remove viewport maximumScale cap
- Remove v0.app generator metadata

Co-authored-by: Cole Collins <DealPatrol@users.noreply.github.com>
@vercel

vercel Bot commented May 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
repo-app-architect Ready Ready Preview, Comment May 24, 2026 2:34am
repofuse Ready Ready Preview, Comment, Open in v0 May 24, 2026 2:34am
v0-repo-app-architect Ready Ready Preview, Comment, Open in v0 May 24, 2026 2:34am

Request Review

@supabase

supabase Bot commented May 18, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project bpjftwoiosftvjvxpovz because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

Resolve conflicts by keeping main production homepage layout and
applying UI polish: post-launch banner, ImpactStats, Testimonials,
unified dashboard nav with App Idea Chat rename, footer 2026.

Co-authored-by: Cole Collins <DealPatrol@users.noreply.github.com>
Co-authored-by: Cole Collins <DealPatrol@users.noreply.github.com>
- Keep Neon/Postgres webhook (HEAD); add force-dynamic and GET 405 from main
- Take main SEO metadata (OpenGraph, siteUrl); keep accessible viewport

Co-authored-by: Cole Collins <DealPatrol@users.noreply.github.com>
stripe_customer_id: session.customer as string,
stripe_subscription_id: sub.id,
plan: 'pro',
status: 'active',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
status: 'active',
status:
sub.status === 'active'
? 'active'
: sub.status === 'past_due'
? 'past_due'
: sub.status === 'trialing'
? 'trialing'
: 'canceled',

Subscription status hardcoded to 'active' instead of using actual Stripe subscription status in checkout.session.completed handler

Fix on Vercel

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.

2 participants