import { getSubscription, getSubscriptionPrices, getSubscriptions, } from '@/actions/api/subscriptions'; import { getSessionUser } from '@/actions/session'; import { TryFreeButton } from '@/components/subscription'; import { env } from '@/config/env'; import { Enum_Subscriptionprice_Period as SubscriptionPricePeriod } from '@repo/graphql/types'; import { Button } from '@repo/ui/components/ui/button'; import { formatMoney } from '@repo/utils/money'; import { ArrowRight, Crown, Infinity as InfinityIcon } from 'lucide-react'; import Link from 'next/link'; export default async function ProPage() { const { telegramId } = await getSessionUser(); const { subscriptions } = await getSubscriptions({ filters: { customer: { telegramId: { eq: telegramId } } }, }); const hasActiveSubscription = subscriptions?.length ? ((await getSubscription({ telegramId }))?.hasActiveSubscription ?? false) : false; const canUseTrial = !subscriptions?.length; const { subscriptionPrices = [] } = await getSubscriptionPrices({ filters: { active: { eq: true }, period: { ne: SubscriptionPricePeriod.Trial }, }, }); const botUrl = new URL(env.BOT_URL); botUrl.searchParams.set('start', 'pro'); return (
{hasActiveSubscription ? 'Ваш Pro доступ активен!' : 'Разблокируйте больше возможностей'}
{!hasActiveSubscription && (Доступно неограниченное количество записей в месяц
Профиль и аватар выделяются цветом