diff --git a/ui/litellm-dashboard/package-lock.json b/ui/litellm-dashboard/package-lock.json index 3af0f6a66..ae2aee6eb 100644 --- a/ui/litellm-dashboard/package-lock.json +++ b/ui/litellm-dashboard/package-lock.json @@ -21,14 +21,14 @@ "devDependencies": { "@tailwindcss/forms": "^0.5.7", "@types/node": "^20", - "@types/react": "^18", + "@types/react": "18.2.48", "@types/react-dom": "^18", "autoprefixer": "^10.4.17", "eslint": "^8", "eslint-config-next": "14.1.0", "postcss": "^8.4.33", "tailwindcss": "^3.4.1", - "typescript": "^5" + "typescript": "5.3.3" } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/ui/litellm-dashboard/package.json b/ui/litellm-dashboard/package.json index 67744e794..3b98a6b43 100644 --- a/ui/litellm-dashboard/package.json +++ b/ui/litellm-dashboard/package.json @@ -22,13 +22,13 @@ "devDependencies": { "@tailwindcss/forms": "^0.5.7", "@types/node": "^20", - "@types/react": "^18", + "@types/react": "18.2.48", "@types/react-dom": "^18", "autoprefixer": "^10.4.17", "eslint": "^8", "eslint-config-next": "14.1.0", "postcss": "^8.4.33", "tailwindcss": "^3.4.1", - "typescript": "^5" + "typescript": "5.3.3" } } diff --git a/ui/litellm-dashboard/src/components/user_dashboard.tsx b/ui/litellm-dashboard/src/components/user_dashboard.tsx index 1faf4f1f8..f72482498 100644 --- a/ui/litellm-dashboard/src/components/user_dashboard.tsx +++ b/ui/litellm-dashboard/src/components/user_dashboard.tsx @@ -35,18 +35,39 @@ const UserDashboard = () => { } }, [userID, accessToken, proxyBaseUrl, data]); - if (!userID || !accessToken || !proxyBaseUrl || !data) { + if (proxyBaseUrl == null) { return ( - - Login to create/delete keys - +
+ +
); } + else if (userID == null || accessToken == null) { + // redirect to page: ProxyBaseUrl/google-login/key/generate + sessionStorage.setItem('returnUrl', window.location.href); + + // window.location.href = `${proxyBaseUrl}/google-login/key/generate`; + + fetch(`${proxyBaseUrl}/google-login/key/generate`, { redirect: 'follow' }) + .then(response => { + if (!response.ok) { + throw new Error(`HTTP error! Status: ${response.status}`); + } + return response.json(); + }) + .then(data => { + console.log('Response Data:', data); + }) + .catch(error => { + console.error('Fetch Error:', error); + }); + // after this check return value from this page + + + return null; + } + return (