123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 'use client'
- import React, { useEffect, useState } from 'react'
- import cn from 'classnames'
- import Script from 'next/script'
- import Loading from '../components/base/loading'
- import Forms from './forms'
- import Header from './_header'
- import style from './page.module.css'
- import EnterpriseSSOForm from './enterpriseSSOForm'
- import { IS_CE_EDITION } from '@/config'
- import { getEnterpriseFeatures } from '@/service/enterprise'
- import type { EnterpriseFeatures } from '@/types/enterprise'
- import { defaultEnterpriseFeatures } from '@/types/enterprise'
- const SignIn = () => {
- const [loading, setLoading] = useState<boolean>(true)
- const [enterpriseFeatures, setEnterpriseFeatures] = useState<EnterpriseFeatures>(defaultEnterpriseFeatures)
- useEffect(() => {
- getEnterpriseFeatures().then((res) => {
- setEnterpriseFeatures(res)
- }).finally(() => {
- setLoading(false)
- })
- }, [])
- return (
- <>
- {!IS_CE_EDITION && (
- <>
- <Script strategy="beforeInteractive" async src={'https://www.googletagmanager.com/gtag/js?id=AW-11217955271'}></Script>
- <Script
- id="ga-monitor-register"
- dangerouslySetInnerHTML={{
- __html: `
- window.dataLayer2 = window.dataLayer2 || [];
- function gtag(){dataLayer2.push(arguments);}
- gtag('js', new Date());
- gtag('config', 'AW-11217955271"');
- `,
- }}
- >
- </Script>
- </>
- )}
- <div className={cn(
- style.background,
- 'flex w-full min-h-screen',
- 'sm:p-4 lg:p-8',
- 'gap-x-20',
- 'justify-center lg:justify-start',
- )}>
- <div className={
- cn(
- 'flex w-full flex-col bg-white shadow rounded-2xl shrink-0',
- 'space-between',
- )
- }>
- <Header />
- {loading && (
- <div className={
- cn(
- 'flex flex-col items-center w-full grow items-center justify-center',
- 'px-6',
- 'md:px-[108px]',
- )
- }>
- <Loading type='area' />
- </div>
- )}
- {!loading && !enterpriseFeatures.sso_enforced_for_signin && (
- <>
- <Forms />
- <div className='px-8 py-6 text-sm font-normal text-gray-500'>
- © {new Date().getFullYear()} LangGenius, Inc. All rights reserved.
- </div>
- </>
- )}
- {!loading && enterpriseFeatures.sso_enforced_for_signin && (
- <EnterpriseSSOForm protocol={enterpriseFeatures.sso_enforced_for_signin_protocol} />
- )}
- </div>
- </div>
- </>
- )
- }
- export default SignIn
|