Skip to main content
Glama
index.tsx2.11 kB
'use client'; import type { UserAPI } from '@intlayer/backend'; import { useRegister } from '@intlayer/design-system/hooks'; import { useRouter, useSearchParams } from 'next/navigation'; import { type FC, useRef, useState } from 'react'; import { PagesRoutes } from '@/Routes'; import { VerifyEmailForm as VerifyEmailFormUI } from '../VerifyEmail'; import type { SignUp } from './SignUpForm'; import { SignUpForm as SignUpFormUI } from './SignUpForm/SignUpForm'; export const SignUpForm: FC = () => { const router = useRouter(); const userId = useSearchParams().get('') as string | undefined; const [user, setUser] = useState<UserAPI | null>(null); const emailInputRef = useRef<HTMLInputElement>(null); const searchParams = useSearchParams(); const email = searchParams.get('email') ?? undefined; const { mutate: register, isPending } = useRegister(); const handleRegistration = ({ email, password }: SignUp) => { register( { name: email.split('@')[0], email, password, }, { onSuccess: (response) => { if (response?.data?.user) { setUser(response.data.user); } }, } ); }; const getEmailContext = () => { const email = searchParams.get('email'); if (email) { return email; } else { const emailFromInput = emailInputRef.current; return emailFromInput?.value; } }; const onClickBackToSignIn = () => { const email = getEmailContext(); if (email) { router.push(`${PagesRoutes.Auth_SignIn}?email=${email}`); } else { router.push(PagesRoutes.Auth_SignIn); } }; const handleEmailValidated = async () => { onClickBackToSignIn(); }; return user ? ( <VerifyEmailFormUI onSubmitSuccess={handleEmailValidated} userId={(user?.id ? String(user.id) : undefined) ?? userId} /> ) : ( <SignUpFormUI onSubmitSuccess={handleRegistration} onClickBackToSignIn={onClickBackToSignIn} emailInputRef={emailInputRef} defaultEmail={email} isLoading={isPending} /> ); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server