Component kit

Reusable sales components for auth and licensing pages.

Shared components keep the Svelte landing, login, registration, and license request surfaces visually consistent while pages stay independently lazy-loaded.

ready provider endpoint planned
buttons

Actions

Primary, secondary, and quiet actions share sizing, contrast, focus rings, and loading-safe minimum dimensions.

cards

Cards

Information cards use compact 8px surfaces for capabilities, provider state, and license summaries.

forms

Forms

Login, registration, and license requests share labels, validation text, and provider status feedback.

pills

Status

Provider readiness is shown with small status pills so operational state stays scannable.

Form standard

Compact, stable, provider-aware forms.

Inputs keep fixed rhythm and generous focus rings so login, registration, and license request flows can scan quickly on desktop and mobile.

Providers

Readiness components match the provider facades.

ky HTTP client

ready

All browser-to-server calls go through a shared ky client with retry, timeout, and signed JSON helpers.

CAPTCHA

ready

Cloudflare Turnstile is loaded only when a form asks for a token, with backend verification kept behind signed requests.

Twilio

provider endpoint

Registration and remembered-device login can use Twilio Verify through backend OTP endpoints without exposing Twilio secrets in the browser.

Prelude

provider endpoint

The same OTP endpoints can route phone or email verification through Prelude Verify when PRELUDE_API_KEY is configured server-side.

SendGrid

provider endpoint

License requests and sales mail are prepared for a backend SendGrid endpoint so templates and API keys stay server-side.

Session

ready

Short-lived sales sessions are stored with explicit expiry and can be persisted only when the visitor opts in.

Payment gateway

planned

License requests are captured now; checkout handoff is intentionally reserved for a later payment gateway integration.