import { cached } from '@/app/cached-functions' import { ActiveUserModal } from '@/app/groups/[groupId]/expenses/active-user-modal' import { CreateFromReceiptButton } from '@/app/groups/[groupId]/expenses/create-from-receipt-button' import { ExpenseList } from '@/app/groups/[groupId]/expenses/expense-list' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@/components/ui/card' import { Skeleton } from '@/components/ui/skeleton' import { getCategories, getGroupExpenses } from '@/lib/api' import { env } from '@/lib/env' import { Download, Plus } from 'lucide-react' import { Metadata } from 'next' import Link from 'next/link' import { notFound } from 'next/navigation' import { Suspense } from 'react' export const revalidate = 3600 export const metadata: Metadata = { title: 'Expenses', } export default async function GroupExpensesPage({ params: { groupId }, }: { params: { groupId: string } }) { const group = await cached.getGroup(groupId) if (!group) notFound() const categories = await getCategories() return ( <>
Expenses Here are the expenses that you created for your group. {env.NEXT_PUBLIC_ENABLE_RECEIPT_EXTRACT && ( )}
(
))} >
) } async function Expenses({ groupId }: { groupId: string }) { const group = await cached.getGroup(groupId) if (!group) notFound() const expenses = await getGroupExpenses(group.id) return ( ) }