"use client"; import React, { useState, useEffect } from "react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Button } from "@/components/ui/button"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { AlertCircle, Users, MessageSquare, BarChart as BarChartIcon, Trash2, Bot, Database, DollarSign, CreditCard, Landmark, Shield, Tag } from "lucide-react"; import AdminAnalytics from "@/components/admin/AdminAnalytics"; export default function AdminDashboardPage() { const [activeTab, setActiveTab] = useState("overview"); const [isAdmin, setIsAdmin] = useState(false); const [loading, setLoading] = useState(true); useEffect(() => { // Check if the current user is an admin const checkAdminStatus = async () => { try { // Get auth token from cookies const token = document.cookie .split("; ") .find((row) => row.startsWith("Authorization=")) ?.split("=")[1]; if (!token) { setIsAdmin(false); setLoading(false); return; } const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/me`, { method: "GET", headers: { Authorization: `Bearer ${token}`, }, }); const data = await response.json(); // Check if vendor has admin privileges setIsAdmin(data.vendor?.isAdmin === true); } catch (error) { console.error("Error checking admin status:", error); setIsAdmin(false); } finally { setLoading(false); } }; checkAdminStatus(); }, []); if (loading) { return (