Skip to content

fix(paywall): apply figma specs and coverage driven layout#809

Open
kjmitchelljr wants to merge 5 commits into
mainfrom
feat/paywall-figma-redesign
Open

fix(paywall): apply figma specs and coverage driven layout#809
kjmitchelljr wants to merge 5 commits into
mainfrom
feat/paywall-figma-redesign

Conversation

@kjmitchelljr

Copy link
Copy Markdown
Collaborator

Summary

  • Coverage-driven layout — icon visibility, .price padding, and content alignment/gap now derive from the coverage setting via CSS custom properties
  • Figma design — Inter as default font, colors (#363636 text, #7469a8 price, #f6f8fa price bg), title 500
    weight + 38px line-height, wallet-address required asterisk.
  • Layout fixes — grid → flex column so the icon row collapses when hidden; removed 32rem max-height cap so tall sheets can center content; wallet-form pinned to base/sm variants (need to check with @RaduMedregan on this)
  • Small issues — OKLCH button threshold 1.21 → 1.4 so teal renders white text

Closes #808

Builds on top of #804

@kjmitchelljr kjmitchelljr self-assigned this Jul 7, 2026
@kjmitchelljr kjmitchelljr requested a review from sidvishnoi July 7, 2026 01:51
@kjmitchelljr kjmitchelljr changed the base branch from feat/issue-781-paywall-wallet-hint to main July 7, 2026 02:01
@kjmitchelljr kjmitchelljr changed the base branch from main to feat/issue-781-paywall-wallet-hint July 7, 2026 02:02
@kjmitchelljr kjmitchelljr changed the base branch from feat/issue-781-paywall-wallet-hint to main July 7, 2026 02:03
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

Deployment results

Worker Alias URL Outcome
API - 0988cbda success
CDN - 1a4c2516 success
App - 209be252 success

Logs #28874265434

@sidvishnoi sidvishnoi added the AI AI generated PRs, just to keep a track label Jul 7, 2026
Comment on lines +256 to +274
this.style.setProperty(
'--wmt-icon-display',
coverage.value >= 75 ? 'grid' : 'none',
)
this.style.setProperty(
'--wmt-price-padding',
coverage.value >= 50 ? '1.5rem 0.5rem' : '0.25rem 0.5rem',
)
// Compact (25%) sits top-aligned with tight 12px gap; medium+ (50/75/100)
const spacious = coverage.value >= 50
this.style.setProperty(
'--wmt-content-justify',
spacious ? 'center' : 'flex-start',
)
this.style.setProperty(
'--wmt-content-align',
spacious ? 'center' : 'flex-start',
)
this.style.setProperty('--wmt-content-gap', spacious ? '1.5rem' : '0.75rem')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Use CSS.

Comment on lines +11 to +25
[
'Inter',
{
fileName: 'inter.css',
fallback: [
'ui-sans-serif',
'system-ui',
'-apple-system',
'BlinkMacSystemFont',
'"Segoe UI"',
'Roboto',
'sans-serif',
],
},
],

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is not in product requirements, at least as of yet. We're using Inter only in our editor UI, not in embeds.

Comment on lines +256 to +274
this.style.setProperty(
'--wmt-icon-display',
coverage.value >= 75 ? 'grid' : 'none',
)
this.style.setProperty(
'--wmt-price-padding',
coverage.value >= 50 ? '1.5rem 0.5rem' : '0.25rem 0.5rem',
)
// Compact (25%) sits top-aligned with tight 12px gap; medium+ (50/75/100)
const spacious = coverage.value >= 50
this.style.setProperty(
'--wmt-content-justify',
spacious ? 'center' : 'flex-start',
)
this.style.setProperty(
'--wmt-content-align',
spacious ? 'center' : 'flex-start',
)
this.style.setProperty('--wmt-content-gap', spacious ? '1.5rem' : '0.75rem')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Mobile (50% coverage). Note the difference in two screens.

Home Form
Image Image

this.style.setProperty('--wmt-height', `${coverage.value}vh`)
this.style.setProperty(
'--wmt-icon-display',
coverage.value >= 75 ? 'grid' : 'none',

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why hide icon on 50% coverage as well?

Comment on lines +30 to +33
<p class="description">
Already paid? Enter your wallet address to access this content for
free.
</p>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should this be on the form screen as well?

Comment on lines -21 to -26
--min-height-threshold: 6rem;
height: clamp(
0%,
(100% - var(--min-height-threshold)) * 999,
var(--coverage) * 0.3
);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This ensured the icon size scaled to screen size, font size, virtual keyboard (phone) and available space, without hardcoding different settings.

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

Labels

AI AI generated PRs, just to keep a track do not merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Paywall design pass — Figma spec + coverage-driven layout

2 participants