diff --git a/ee/tabby-ui/app/auth/page.tsx b/ee/tabby-ui/app/auth/page.tsx index 5943578..333813e 100644 --- a/ee/tabby-ui/app/auth/page.tsx +++ b/ee/tabby-ui/app/auth/page.tsx @@ -1,10 +1,8 @@ import { Metadata } from "next" -import Image from "next/image" -import Link from "next/link" -import { cn } from "@/lib/utils" -import { buttonVariants } from "@/components/ui/button" import { UserAuthForm } from "./components/user-auth-form" +import { useGraphQL } from "@/lib/hooks/use-graphql" +import { getIsAdminInitialized } from "@/lib/gql/request-documents" export const metadata: Metadata = { title: "Authentication", @@ -14,17 +12,17 @@ export const metadata: Metadata = { export default function AuthenticationPage() { return (
-
-
-

- Create an account -

-

- Enter your credentials below to create admin account -

-
- +
+
+

+ Create an account +

+

+ Enter your credentials below to create admin account +

+ +
) -} \ No newline at end of file +} diff --git a/ee/tabby-ui/app/layout.tsx b/ee/tabby-ui/app/layout.tsx index 8942821..5949cf8 100644 --- a/ee/tabby-ui/app/layout.tsx +++ b/ee/tabby-ui/app/layout.tsx @@ -7,7 +7,6 @@ import { fontMono, fontSans } from '@/lib/fonts' import { cn } from '@/lib/utils' import { TailwindIndicator } from '@/components/tailwind-indicator' import { Providers } from '@/components/providers' -import { Header } from '@/components/header' export const metadata: Metadata = { title: { diff --git a/ee/tabby-ui/lib/gql/generates/gql.ts b/ee/tabby-ui/lib/gql/generates/gql.ts index 0af4c32..ce70771 100644 --- a/ee/tabby-ui/lib/gql/generates/gql.ts +++ b/ee/tabby-ui/lib/gql/generates/gql.ts @@ -16,7 +16,9 @@ const documents = { '\n query GetWorkers {\n workers {\n kind\n name\n addr\n device\n arch\n cpuInfo\n cpuCount\n cudaDevices\n }\n }\n': types.GetWorkersDocument, '\n query GetRegistrationToken {\n registrationToken\n }\n': - types.GetRegistrationTokenDocument + types.GetRegistrationTokenDocument, + '\n query GetIsAdminInitialized {\n isAdminInitialized\n }\n': + types.GetIsAdminInitializedDocument } /** @@ -45,6 +47,12 @@ export function graphql( export function graphql( source: '\n query GetRegistrationToken {\n registrationToken\n }\n' ): (typeof documents)['\n query GetRegistrationToken {\n registrationToken\n }\n'] +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: '\n query GetIsAdminInitialized {\n isAdminInitialized\n }\n' +): (typeof documents)['\n query GetIsAdminInitialized {\n isAdminInitialized\n }\n'] export function graphql(source: string) { return (documents as any)[source] ?? {} diff --git a/ee/tabby-ui/lib/gql/generates/graphql.ts b/ee/tabby-ui/lib/gql/generates/graphql.ts index adadd03..10e68ad 100644 --- a/ee/tabby-ui/lib/gql/generates/graphql.ts +++ b/ee/tabby-ui/lib/gql/generates/graphql.ts @@ -29,17 +29,87 @@ export type Scalars = { Float: { input: number; output: number } } +export type Claims = { + __typename?: 'Claims' + exp: Scalars['Float']['output'] + iat: Scalars['Float']['output'] + user: UserInfo +} + +export type Invitation = { + __typename?: 'Invitation' + code: Scalars['String']['output'] + createdAt: Scalars['String']['output'] + email: Scalars['String']['output'] + id: Scalars['Int']['output'] +} + export type Mutation = { __typename?: 'Mutation' + createInvitation: Scalars['Int']['output'] + deleteInvitation: Scalars['Int']['output'] + register: RegisterResponse resetRegistrationToken: Scalars['String']['output'] + tokenAuth: TokenAuthResponse + verifyToken: VerifyTokenResponse +} + +export type MutationCreateInvitationArgs = { + email: Scalars['String']['input'] +} + +export type MutationDeleteInvitationArgs = { + id: Scalars['Int']['input'] +} + +export type MutationRegisterArgs = { + email: Scalars['String']['input'] + invitationCode?: InputMaybe + password1: Scalars['String']['input'] + password2: Scalars['String']['input'] +} + +export type MutationTokenAuthArgs = { + email: Scalars['String']['input'] + password: Scalars['String']['input'] +} + +export type MutationVerifyTokenArgs = { + token: Scalars['String']['input'] } export type Query = { __typename?: 'Query' + invitations: Array + isAdminInitialized: Scalars['Boolean']['output'] + me: UserInfo registrationToken: Scalars['String']['output'] workers: Array } +export type RegisterResponse = { + __typename?: 'RegisterResponse' + accessToken: Scalars['String']['output'] + refreshToken: Scalars['String']['output'] +} + +export type TokenAuthResponse = { + __typename?: 'TokenAuthResponse' + accessToken: Scalars['String']['output'] + refreshToken: Scalars['String']['output'] +} + +export type UserInfo = { + __typename?: 'UserInfo' + email: Scalars['String']['output'] + isAdmin: Scalars['Boolean']['output'] +} + +export type VerifyTokenResponse = { + __typename?: 'VerifyTokenResponse' + claims: Claims +} + export type Worker = { __typename?: 'Worker' addr: Scalars['String']['output'] @@ -81,6 +151,15 @@ export type GetRegistrationTokenQuery = { registrationToken: string } +export type GetIsAdminInitializedQueryVariables = Exact<{ + [key: string]: never +}> + +export type GetIsAdminInitializedQuery = { + __typename?: 'Query' + isAdminInitialized: boolean +} + export const GetWorkersDocument = { kind: 'Document', definitions: [ @@ -132,3 +211,22 @@ export const GetRegistrationTokenDocument = { GetRegistrationTokenQuery, GetRegistrationTokenQueryVariables > +export const GetIsAdminInitializedDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetIsAdminInitialized' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'isAdminInitialized' } } + ] + } + } + ] +} as unknown as DocumentNode< + GetIsAdminInitializedQuery, + GetIsAdminInitializedQueryVariables +> diff --git a/ee/tabby-ui/lib/gql/request-documents.tsx b/ee/tabby-ui/lib/gql/request-documents.tsx index 3c3df64..1372917 100644 --- a/ee/tabby-ui/lib/gql/request-documents.tsx +++ b/ee/tabby-ui/lib/gql/request-documents.tsx @@ -20,3 +20,9 @@ export const getRegistrationTokenDocument = graphql(/* GraphQL */ ` registrationToken } `) + +export const getIsAdminInitialized = graphql(/* GraphQL */ ` + query GetIsAdminInitialized { + isAdminInitialized + } +`)