Usman Baig
00423ee599
fix: auto-scroll to submit button when card payment is selected
2026-03-27 22:17:04 +01:00
Usman Baig
23132a5194
fix: hide redirect text when no payment method is selected
2026-03-27 22:12:29 +01:00
Usman Baig
6aea24f018
fix: checkout UX — no auto-select payment method, stable price table during loading, add spacing before submit button
2026-03-27 22:04:09 +01:00
Usman Baig
a9cf1484fd
fix: always show table-style price breakdown on checkout, even without country selected
2026-03-27 21:50:16 +01:00
Usman Baig
e206399f9d
fix: pause carousel on hidden tab, remove payment tile labels
...
Carousel: listen to visibilitychange to prevent animation backlog when
tab is backgrounded. Payment tiles: logo-only, no text labels.
2026-03-27 15:53:20 +01:00
Usman Baig
5faa0dec80
fix: pause carousel interval when tab is hidden
...
Prevents animation backlog from setInterval firing while the browser
throttles rAF in background tabs, which caused a blank carousel on return.
2026-03-27 15:52:17 +01:00
Usman Baig
eca42d56ca
fix: use real official payment method logos instead of hand-drawn SVGs
...
Add official brand SVGs (Visa, Mastercard, Bancontact, iDEAL, Apple Pay,
Google Pay, SEPA) as static assets and render via img tags.
2026-03-27 15:39:30 +01:00
Usman Baig
5c90b15b2e
feat: branded payment tiles, add Google Pay, remove Bank Transfer
...
Replace generic icons with colored brand SVGs (Mastercard, Bancontact,
iDEAL, Apple Pay, Google Pay, SEPA). Compact equal-height tiles.
2026-03-27 15:30:52 +01:00
Usman Baig
9c7afda80d
feat: payment method selector with foldable card form
...
Checkout shows payment method tiles (Card, Bancontact, iDEAL,
Apple Pay, SEPA DD, Bank Transfer). Card selection expands the
embedded form; other methods redirect to Mollie hosted checkout
with the method pre-selected.
2026-03-27 15:12:27 +01:00
Usman Baig
a55f9a91bd
fix: hide VAT warning during loading and when VAT is valid
...
Warning no longer flashes during VIES lookup or shows alongside
company info for Belgian B2B (valid VAT but not exempt).
2026-03-27 12:48:51 +01:00
Usman Baig
3306508bf0
fix: show Verified for valid VAT IDs regardless of exemption
...
Use company_name presence to determine validity instead of
vat_exempt, so Belgian B2B shows Verified + company info
even though 21% VAT still applies.
2026-03-27 12:43:59 +01:00
Usman Baig
cb7e4c7c98
fix: title-case VIES data, animate company info, no price flash
...
VIES returns ALL CAPS — now title-cased for display. Company info
slides in with framer-motion. Price breakdown stays visible during
VAT verification instead of flashing to a loading spinner.
2026-03-27 12:42:07 +01:00
Usman Baig
9656225b60
fix: eliminate double VIES call on Verify click
...
Let the verifiedVatId useEffect handle the fetch instead of
calling fetchVAT directly in handleVerifyVatId. Prevents
VIES MS_MAX_CONCURRENT_REQ rate limiting.
2026-03-27 12:37:08 +01:00
Usman Baig
8db8f65fca
fix: show Verified only when VIES confirms valid VAT ID
...
Split isVatVerified into isVatChecked (user clicked Verify) and
isVatValid (VIES confirmed exempt). Button now shows Verify and
stays enabled after a failed check so the user can retry.
2026-03-27 12:28:10 +01:00
Usman Baig
a495ef8389
fix: only show slider focus ring on keyboard navigation
...
Replace focus: with focus-visible: on range input so the
orange ring only appears during keyboard nav, not on click.
2026-03-27 12:26:54 +01:00
Usman Baig
c7cf50ef1d
fix: prevent price flash on VAT ID keystroke
...
Only re-fetch VAT when clearing a previously verified VAT ID,
not on every keystroke when nothing was verified yet.
2026-03-27 12:22:33 +01:00
Usman Baig
342d86c26d
feat: add VAT ID verify button and company info display
...
PlanSummary now has a Verify button for VAT ID instead of
auto-verifying on input. Shows company name and address from
VIES on successful verification, with warning on invalid IDs.
2026-03-27 12:16:46 +01:00
Usman Baig
0ca65a50fb
fix: org switcher in sidebar uses SPA navigation instead of hard reload
2026-03-27 11:55:34 +01:00
Usman Baig
ad207dc23f
fix: move useState before conditional returns, fix yearly total display
2026-03-27 11:48:00 +01:00
Usman Baig
fc5372ff26
feat: add excl. VAT label to pricing page
2026-03-27 11:44:38 +01:00
Usman Baig
eb52b7fae6
feat: remove country/VAT inputs from PaymentForm, accept as props
2026-03-27 11:43:19 +01:00
Usman Baig
d9e3f90c27
feat: add VAT breakdown to PlanSummary
2026-03-27 11:41:44 +01:00
Usman Baig
ef83176089
fix: replace browser confirm with in-app modal for cancel subscription
2026-03-27 00:25:23 +01:00
Usman Baig
af1d718a18
fix: move logo to left panel, increase slide interval to 8s, keep mobile logo
2026-03-26 23:50:28 +01:00
Usman Baig
0bfde33050
fix: remove funnel and email report slides from checkout slideshow
2026-03-26 23:39:38 +01:00
Usman Baig
088db2a104
fix: escape apostrophe in slideshow headline
2026-03-26 23:35:09 +01:00
Usman Baig
977425fdb9
feat: break visitor carousel into 5 separate slides with unique titles
2026-03-26 23:33:36 +01:00
Usman Baig
7a44787438
fix: center titles, constrain mockups with overflow hidden instead of scale
2026-03-26 23:31:50 +01:00
Usman Baig
b5150e3b7a
fix: remove mockup border, scale down mockups to fit viewport
2026-03-26 23:28:03 +01:00
Usman Baig
4896089463
fix: remove dot indicators from checkout slideshow
2026-03-26 23:27:04 +01:00
Usman Baig
7c55e5f763
fix: simplify slideshow to titles only, catch mollie unmount errors
2026-03-26 23:18:58 +01:00
Usman Baig
75bf071d98
feat: split checkout layout with auto-cycling feature slideshow
2026-03-26 23:10:14 +01:00
Usman Baig
4c6020535a
fix: hide mollie spinners with overflow clip, show static placeholder fields while loading
2026-03-26 22:51:54 +01:00
Usman Baig
3a29fb5a09
fix: use visibility hidden instead of opacity to fully hide mollie loading spinners
2026-03-26 22:47:01 +01:00
Usman Baig
9297e20604
fix: increase card field height and font size for larger card brand logos
2026-03-26 22:45:35 +01:00
Usman Baig
497f0f791a
fix: hide mollie spinners, add placeholders, errors only on submit, sliding interval toggle
2026-03-26 22:41:51 +01:00
Usman Baig
48f71ee65b
fix: checkout UI polish — brand colors, Pulse Select, logo, touched-only errors, no skeletons
2026-03-26 22:33:30 +01:00
Usman Baig
f72a140ca6
fix: add required cardHolder component for mollie components
2026-03-26 22:16:20 +01:00
Usman Baig
3e7a32dc91
fix: use correct mollie component types (expiryDate, verificationCode)
2026-03-26 22:11:30 +01:00
Usman Baig
e089640fb9
fix: cast querySelector result to HTMLElement for mollie mount
2026-03-26 22:04:55 +01:00
Usman Baig
22dddc6b6f
fix: mount mollie components after DOM ready via useEffect
2026-03-26 22:03:23 +01:00
Usman Baig
58ac7b9cc5
feat: pricing and welcome CTAs now redirect to /checkout page
2026-03-26 21:30:17 +01:00
Usman Baig
e23ec2ca40
feat: add payment form with mollie components card fields
2026-03-26 21:26:38 +01:00
Usman Baig
837f440107
feat: add plan summary component for checkout page
2026-03-26 21:25:51 +01:00
Usman Baig
d419322ab7
refactor: extract shared country list and plan prices
2026-03-26 21:22:12 +01:00
Usman Baig
4e7ad88763
fix: update billing tab for mollie response format, use updatePaymentMethod
2026-03-26 20:46:47 +01:00
Usman Baig
94d0b3498f
feat: add country and vat id fields to checkout flow
2026-03-26 20:27:07 +01:00
Usman Baig
704557f233
feat: update frontend billing api for mollie (country, vat_id, payment method update)
2026-03-26 20:24:54 +01:00
Usman Baig
ef3edd963a
perf: reduce chart animation from 1100ms to 400ms — shorter main thread block
2026-03-26 11:52:29 +01:00
Usman Baig
c63e72a578
feat: sliding background animation on context switcher
2026-03-26 11:39:46 +01:00