Files
TaxHacker_s23/app/(app)/dashboard/page.tsx
Vasily Zubarev f1a26e511e feat: config.js
2025-04-03 14:36:16 +02:00

40 lines
1.4 KiB
TypeScript

import DashboardDropZoneWidget from "@/components/dashboard/drop-zone-widget"
import { StatsWidget } from "@/components/dashboard/stats-widget"
import DashboardUnsortedWidget from "@/components/dashboard/unsorted-widget"
import { WelcomeWidget } from "@/components/dashboard/welcome-widget"
import { Separator } from "@/components/ui/separator"
import { getCurrentUser } from "@/lib/auth"
import config from "@/lib/config"
import { getUnsortedFiles } from "@/models/files"
import { getSettings } from "@/models/settings"
import { TransactionFilters } from "@/models/transactions"
import { Metadata } from "next"
export const metadata: Metadata = {
title: "Dashboard",
description: config.app.description,
}
export default async function Dashboard({ searchParams }: { searchParams: Promise<TransactionFilters> }) {
const filters = await searchParams
const user = await getCurrentUser()
const unsortedFiles = await getUnsortedFiles(user.id)
const settings = await getSettings(user.id)
return (
<div className="flex flex-col gap-5 p-5 w-full max-w-7xl self-center">
<div className="flex flex-col sm:flex-row gap-5 items-stretch h-full">
<DashboardDropZoneWidget />
<DashboardUnsortedWidget files={unsortedFiles} />
</div>
{settings.is_welcome_message_hidden !== "true" && <WelcomeWidget />}
<Separator />
<StatsWidget filters={filters} />
</div>
)
}