diff --git a/ui/litellm-dashboard/src/app/onboarding/OnboardingForm.tsx b/ui/litellm-dashboard/src/app/onboarding/OnboardingForm.tsx index 3adb30c601..6b229be06c 100644 --- a/ui/litellm-dashboard/src/app/onboarding/OnboardingForm.tsx +++ b/ui/litellm-dashboard/src/app/onboarding/OnboardingForm.tsx @@ -14,6 +14,7 @@ export function OnboardingForm({ variant }: OnboardingFormProps) { const [form] = Form.useForm(); const searchParams = useSearchParams()!; const inviteId = searchParams.get("invitation_id"); + const [claimError, setClaimError] = React.useState(null); const { data: credentialsData, @@ -38,16 +39,21 @@ export function OnboardingForm({ variant }: OnboardingFormProps) { const handleSubmit = (formValues: { password: string }) => { if (!accessToken || !jwtToken || !userId || !inviteId) return; + setClaimError(null); + claimToken( { accessToken, inviteId, userId, password: formValues.password }, { onSuccess: () => { - document.cookie = "token=" + jwtToken; + document.cookie = `token=${jwtToken}; path=/; SameSite=Lax`; const proxyBaseUrl = getProxyBaseUrl(); window.location.href = proxyBaseUrl ? `${proxyBaseUrl}/ui/?login=success` : "/ui/?login=success"; }, + onError: (error: Error) => { + setClaimError(error.message || "Failed to submit. Please try again."); + }, } ); }; @@ -128,6 +134,10 @@ export function OnboardingForm({ variant }: OnboardingFormProps) { + {claimError && ( + + )} +