export const PLANS = ['free', 'plus'] as const; export type Plan = (typeof PLANS)[number]; /** * Every feature gate lives here so paid tiers can be reshaped without * hunting through the codebase. Clients read these to show upsells. */ export interface Entitlements { /** How often we refresh now-playing while someone is watching you. */ activePollSeconds: number; maxConnections: number; /** Friends you can pin to the top of your feed. */ maxPinnedFriends: number; /** Placeholder for future paid features. */ listeningHistory: boolean; profileThemes: boolean; } export const PLAN_ENTITLEMENTS: Record = { free: { activePollSeconds: 15, maxConnections: 3, maxPinnedFriends: 3, listeningHistory: false, profileThemes: false }, plus: { activePollSeconds: 5, maxConnections: 10, maxPinnedFriends: 20, listeningHistory: true, profileThemes: true }, };