diff --git a/ui/litellm-dashboard/src/components/user_dashboard.tsx b/ui/litellm-dashboard/src/components/user_dashboard.tsx index d9268fe3ed..bf95d09f73 100644 --- a/ui/litellm-dashboard/src/components/user_dashboard.tsx +++ b/ui/litellm-dashboard/src/components/user_dashboard.tsx @@ -47,7 +47,7 @@ const UserDashboard: React.FC = ({ const token = searchParams.get("token"); const [accessToken, setAccessToken] = useState(null); - let userModels = [""]; + const [userModels, setUserModels] = useState([]); function formatUserRole(userRole: string) { if (!userRole) { @@ -97,32 +97,37 @@ const UserDashboard: React.FC = ({ } } if (userID && accessToken && userRole && !data) { - const cachedData = localStorage.getItem("userData"); - const cachedSpendData = localStorage.getItem("userSpendData"); - if (cachedData && cachedSpendData) { + const cachedData = localStorage.getItem("userData" + userID); + const cachedSpendData = localStorage.getItem("userSpendData" + userID); + const cachedUserModels = localStorage.getItem("userModels" + userID); + if (cachedData && cachedSpendData && cachedUserModels) { setData(JSON.parse(cachedData)); setUserSpendData(JSON.parse(cachedSpendData)); + setUserModels(JSON.parse(cachedUserModels)); + } else { const fetchData = async () => { try { const response = await userInfoCall(accessToken, userID, userRole); setUserSpendData(response["user_info"]); setData(response["keys"]); // Assuming this is the correct path to your data - localStorage.setItem("userData", JSON.stringify(response["keys"])); + localStorage.setItem("userData" + userID, JSON.stringify(response["keys"])); localStorage.setItem( - "userSpendData", + "userSpendData" + userID, JSON.stringify(response["user_info"]) ); const model_info = await modelInfoCall(accessToken, userID, userRole); console.log("model_info:", model_info); // loop through model_info["data"] and create an array of element.model_name - model_info.forEach((model: any) => { - userModels.push(model.model_name); - }) + let available_model_names = model_info["data"].map((element: { model_name: string; }) => element.model_name); + console.log("available_model_names:", available_model_names); + setUserModels(available_model_names); console.log("userModels:", userModels); + localStorage.setItem("userModels" + userID, JSON.stringify(available_model_names)); + } catch (error) {