Refactored the admin dashboard to use tabbed navigation for analytics and management. Enhanced AdminAnalytics with Recharts visualizations, added top vendors by revenue, and improved chart tooltips. Removed unused columns from vendor table. Updated layout and notification context to exclude admin pages from dashboard-specific UI and notifications. Minor debug logging added to SystemStatusCard.
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
export const dynamic = "force-dynamic";
|
|
|
|
import React from "react";
|
|
import AdminAnalytics from "@/components/admin/AdminAnalytics";
|
|
import InviteVendorCard from "@/components/admin/InviteVendorCard";
|
|
import BanUserCard from "@/components/admin/BanUserCard";
|
|
import InvitationsListCard from "@/components/admin/InvitationsListCard";
|
|
import VendorsCard from "@/components/admin/VendorsCard";
|
|
import { Button } from "@/components/ui/button";
|
|
import Link from "next/link";
|
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
|
|
|
export default function AdminPage() {
|
|
return (
|
|
<div className="space-y-6">
|
|
<div className="flex items-center justify-between">
|
|
<div>
|
|
<h1 className="text-2xl font-semibold tracking-tight">Admin Dashboard</h1>
|
|
<p className="text-sm text-muted-foreground mt-1">Platform analytics and vendor management</p>
|
|
</div>
|
|
<Button asChild variant="outline" size="sm">
|
|
<Link href="/dashboard">Back to Dashboard</Link>
|
|
</Button>
|
|
</div>
|
|
|
|
<Tabs defaultValue="analytics" className="space-y-6">
|
|
<TabsList>
|
|
<TabsTrigger value="analytics">Analytics</TabsTrigger>
|
|
<TabsTrigger value="management">Management</TabsTrigger>
|
|
</TabsList>
|
|
|
|
<TabsContent value="analytics" className="space-y-6">
|
|
<AdminAnalytics />
|
|
</TabsContent>
|
|
|
|
<TabsContent value="management" className="space-y-6">
|
|
<div className="grid gap-4 lg:gap-6 sm:grid-cols-2 lg:grid-cols-3 items-stretch">
|
|
<VendorsCard />
|
|
<InviteVendorCard />
|
|
<BanUserCard />
|
|
<InvitationsListCard />
|
|
</div>
|
|
</TabsContent>
|
|
</Tabs>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
|