'use client' import learnhouseIcon from 'public/learnhouse_bigicon_1.png' import Image from 'next/image' import { getOrgLogoMediaDirectory } from '@services/media/media' import Link from 'next/link' import { getUriWithOrg } from '@services/config/config' import { useLHSession } from '@components/Contexts/LHSessionContext' import React, { useEffect } from 'react' import { MailWarning, Ticket, UserPlus } from 'lucide-react' import { useOrg } from '@components/Contexts/OrgContext' import UserAvatar from '@components/Objects/UserAvatar' import OpenSignUpComponent from './OpenSignup' import InviteOnlySignUpComponent from './InviteOnlySignUp' import { useRouter, useSearchParams } from 'next/navigation' import { validateInviteCode } from '@services/organizations/invites' import PageLoading from '@components/Objects/Loaders/PageLoading' import Toast from '@components/StyledElements/Toast/Toast' import toast from 'react-hot-toast' interface SignUpClientProps { org: any } function SignUpClient(props: SignUpClientProps) { const session = useLHSession() as any const [joinMethod, setJoinMethod] = React.useState('open') const [inviteCode, setInviteCode] = React.useState('') const searchParams = useSearchParams() const inviteCodeParam = searchParams.get('inviteCode') useEffect(() => { if (props.org.config) { setJoinMethod( props.org?.config?.config?.GeneralConfig.users.signup_mechanism ) } if (inviteCodeParam) { setInviteCode(inviteCodeParam) } }, [props.org, inviteCodeParam]) return (
Hi