diff --git a/src/app/(dashboard)/subscription/page.tsx b/src/app/(dashboard)/subscription/page.tsx new file mode 100644 index 0000000..5dcb0da --- /dev/null +++ b/src/app/(dashboard)/subscription/page.tsx @@ -0,0 +1,179 @@ +import { createClient } from '@/lib/supabase/server' +import { redirect } from 'next/navigation' +import { PlanCard } from '@/components/subscription/plan-card' +import { Plan, PlanFeatures } from '@/types/database' +import { PLAN_DISPLAY_ORDER } from '@/lib/plans' + +export default async function SubscriptionPage() { + const supabase = await createClient() + + const { data: { user } } = await supabase.auth.getUser() + + if (!user) { + redirect('/login') + } + + // Get user's current plan + const { data: profile } = await supabase + .from('profiles') + .select('plan_id') + .eq('id', user.id) + .single() + + // Get all plans + const { data: plans, error: plansError } = await supabase + .from('plans') + .select('*') + .order('price_monthly', { ascending: true }) + + if (plansError || !plans) { + return ( +
Errore nel caricamento dei piani
++ Scegli il piano piu adatto alle tue esigenze +
++ Nota: Il pagamento verra implementato nelle prossime versioni. + Per ora puoi passare liberamente tra i piani per testare le funzionalita. +
+| + Funzionalita + | + {sortedPlans.map((plan) => ( ++ {plan.display_name_it} + | + ))} +
|---|
{answer}
+