'use client' import { useUserProfile } from '@nextsparkjs/core/hooks/useUserProfile' import { useRouter } from 'next/navigation' import { useEffect } from 'react' import { Button } from '@nextsparkjs/core/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@nextsparkjs/core/components/ui/card' import { Badge } from '@nextsparkjs/core/components/ui/badge' import { useTranslations } from 'next-intl' import { getTemplateOrDefaultClient } from '@nextsparkjs/registries/template-registry.client' import { Loader2, User, Activity, Settings, CreditCard, Users, BarChart3, ListTodo } from 'lucide-react' // Default dashboard page component function DefaultDashboardPage() { const { user, isLoading } = useUserProfile() const router = useRouter() const t = useTranslations('dashboard') useEffect(() => { if (!isLoading && !user) { router.push('/login') } }, [user, isLoading, router]) if (isLoading) { return (
) } if (!user) { return null } const stats = [ { title: t('stats.accountStatus'), value: t('stats.active'), icon: , trend: t('badges.verified') }, { title: t('stats.plan'), value: t('stats.free'), icon: , trend: t('badges.basic') }, { title: t('stats.teamMembers'), value: '1', icon: , trend: t('badges.solo') }, { title: t('stats.usage'), value: '0%', icon: , trend: t('badges.low') }, ] return (
{/* Header */}

{t('title')}

{t('welcome', { name: user.firstName || user.email || '' })}

{/* Stats Grid */}
{stats.map((stat) => ( {stat.title} {stat.icon}
{stat.value}
{stat.trend}
))}
{/* Quick Actions */} {t('quickActions.title')} {t('quickActions.description')}
{/* Activity Card */} {t('activity.title')} {t('activity.description')}

{t('activity.signedIn')}

{t('activity.justNow')}

{t('activity.accountCreated')}

{new Date(user.createdAt || '').toLocaleDateString()}

) } // Export the resolved component (theme override or default) export default getTemplateOrDefaultClient('app/dashboard/(main)/page.tsx', DefaultDashboardPage)