Skip to content

Landing page UX and layout refinement (#146) - #148

Open
aizuanjeme wants to merge 1 commit into
payjoin:masterfrom
aizuanjeme:feat/new-design
Open

Landing page UX and layout refinement (#146)#148
aizuanjeme wants to merge 1 commit into
payjoin:masterfrom
aizuanjeme:feat/new-design

Conversation

@aizuanjeme

Copy link
Copy Markdown

Addresses #146.

Refines the landing page's layout and UX. Previously each section had its own
type scale, container width, and spacing — the page read as five unrelated
blocks. Everything now shares one design language: a common heading scale, one
container width and gutter, full-bleed colour bands, and consistent card
treatment.

Content is unchanged apart from one deviation, noted at the bottom.

Hero

  • Responsive type scale (2rem6xl) replacing fixed sizing
  • Gradient headline treatment, reused as the accent in every section below
  • Concentric-ring concept diagram echoing the Payjoin mark, with the protocol's
    benefits radiating from it
  • Navbar goes transparent over the hero and reverts on scroll
  • Supporter logo marquee in a lighter band at the base

Why Payjoin

  • Three feature cards with stroke icons, hover lift, and a radial accent wash
  • Section header with uppercase eyebrow, gradient headline, and lead paragraph

Testimonials

  • Quote-mark card layout: mark → quote → attribution pinned to the card floor,
    so names line up across the row
  • Equal-height cards, replacing content-driven heights that left the row ragged
  • Hand-drawn circle and sparkle accents on the heading; smiley doodle in the band
  • pauseOnHover on the marquee — these cards hold long text meant to be read
  • Mobile fix: cards were 24rem wide, wider than a 375px viewport, so no
    whole card was ever visible. Now viewport-relative below sm.
  • Mobile fix: the marquee's default 200px edge fade covered over half a phone
    screen. Now proportional.

Prototype demo

  • Aspect-ratio frame (3/4 on phones, 16/10 on desktop) instead of 66vh,
    which changed shape with every viewport height
  • Embed sits in a bordered frame rather than floating as a raw iframe
  • Pointing hand doodle directing attention into the frame
  • Adds loading="lazy" — it's a heavy third-party embed below the fold
  • Fixes allowfullscreenallowFullScreen, which is not a valid React DOM
    prop and was being dropped with a console warning

Closing CTA

  • Dropped min-h-screen, which produced a mostly-empty viewport-tall block
  • Two stacked <h1>s became a single <h2> — the hero already owns the page's
    h1, so this also fixes the heading hierarchy
  • Stepped-path artwork as a backdrop, with a scrim keeping the copy readable
  • Newsletter and Discord promoted to CTA buttons matching the hero's

Footer

  • Oversized PAYJOIN wordmark that fades into the page edge. Uses SVG
    textLength + lengthAdjust="spacing", so the letters span the full width
    exactly at any viewport by opening the gaps between them — a vw-sized
    heading can only approximate that and overshoots into a horizontal scrollbar.
  • Link columns restyled: uppercase labels, muted links, pink hover
  • Added as a wrapper swizzle (@theme-original/Footer), not an eject, so
    footer links and copyright stay config-driven in docusaurus.config.ts and
    Docusaurus upgrades won't conflict

Page shell

  • Removed max-sm:gap-20, which showed the page background as a bright stripe
    between every section on mobile now that sections paint their own bands

Colours

All from the existing palette (#f75394 / #46192b / #6A394C). No new hues.
Sections are assigned different existing shades so the page has depth and
adjacent sections don't merge into each other.

Accessibility and motion

  • Decorative SVGs are aria-hidden and pointer-events-none
  • Animations respect prefers-reduced-motion

One copy deviation from #146

In the closing section, "Join our newsletter and the Discord to stay up to date
with Payjoin development" became two CTA buttons plus a caption. Same links,
same destinations — keeping the sentence and adding buttons would have meant
four links to two places. Happy to revert if you'd rather the copy stay
untouched.

Notes

  • yarn.lock deliberately excluded — no dependency changes
  • The 6 pre-existing Cannot find namespace 'JSX' errors from yarn typecheck
    are untouched by this PR

- Refactored the Testimonials component to use a predefined array of testimonial items, improving maintainability and readability.
- Introduced new SVG doodles (CircleScribble, Sparkle, SmileyDoodle) to enhance visual appeal in the testimonials section.
- Updated the styling of testimonials for better responsiveness and aesthetics, including hover effects and improved layout.
- Added a new Footer component with a custom Payjoin wordmark for branding consistency.
- Adjusted custom CSS for footer styling and mobile menu behavior to enhance user experience.
@aizuanjeme

Copy link
Copy Markdown
Author

Hey @DanGould , just following up on this PR whenever you get a chance. Would appreciate a review when you have some time. Thanks!

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.

1 participant