FastVPN
Premium shell prototype
Not configured
Legacy real-read wiring is not configured for this surface.

Legacy adapter mode is stub.

Demo state switcher

This vertical slice intentionally exposes local subscription scenarios so the dashboard and billing pages can be validated before real legacy reads exist.

No subscriptionНикита

No subscription yet.

This is the pre-purchase state for the new web app. It stays explicit that plans and checkout are running on local stub data.

Plan
Not purchased
Access
Waiting for checkout
Honest local mode

The frontend can now exercise plan and checkout routes locally without pretending production billing exists.

Setup

Setup waits for an active plan

When there is no active plan, the setup surface routes users into plans or billing instead of pretending access exists.

Natural handoff: plans → checkout → payment → setup
See plans
Referral

12 referral sales

Referral summary is wired into the same local dashboard payload so Home can show meaningful stats, not decorative filler.

Balance: 1640 ₽
View referrals
Account

No active tariff

The current user summary and subscription state are separate backend contracts, then composed again for the dashboard route.

Project: FastVPN
Billing details