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.

ExpiredНикита

Your subscription has expired.

Access is paused until renewal. This mirrors the rescue path the dashboard and checkout need to support.

Status
Expired
Auto-renew
Unavailable without an active plan
Setup should not overpromise

The app should route this state back to plans or billing instead of implying active VPN access.

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

1 month

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

Project: FastVPN
Billing details