import React, { useState, useEffect } from "react"; import { Card, Title, Subtitle, Table, TableHead, TableRow, TableCell, TableBody, Metric, Grid, } from "@tremor/react"; import { userInfoCall } from "./networking"; import { Badge, BadgeDelta, Button } from "@tremor/react"; import RequestAccess from "./request_model_access"; import CreateUser from "./create_user_button"; interface ViewUserDashboardProps { accessToken: string | null; token: string | null; userRole: string | null; userID: string | null; } const ViewUserDashboard: React.FC = ({ accessToken, token, userRole, userID, }) => { const [userData, setuserData] = useState(null); const [pendingRequests, setPendingRequests] = useState([]); useEffect(() => { if (!accessToken || !token || !userRole || !userID) { return; } const fetchData = async () => { try { // Replace with your actual API call for model data const userDataResponse = await userInfoCall( accessToken, null, userRole, true ); console.log("user data response:", userDataResponse); setuserData(userDataResponse); } catch (error) { console.error("There was an error fetching the model data", error); } }; if (accessToken && token && userRole && userID) { fetchData(); } }, [accessToken, token, userRole, userID]); if (!userData) { return
Loading...
; } if (!accessToken || !token || !userRole || !userID) { return
Loading...
; } return (
User ID User Role User Models User Spend ($ USD) User Max Budget ($ USD) {userData.map((user: any) => ( {user.user_id} {user.user_role ? user.user_role : "app_user"} {user.models && user.models.length > 0 ? user.models : "All Models"} {user.spend ? user.spend : 0} {user.max_budget ? user.max_budget : "Unlimited"} ))}
); }; export default ViewUserDashboard;