aau-auth-kit-ui
Version:
Plug & play shadcn/ui components for aau-auth-kit with Next.js integration
44 lines (39 loc) • 1.26 kB
text/typescript
import {
adminClient,
organizationClient,
phoneNumberClient,
twoFactorClient,
usernameClient,
} from "aau-auth-kit/client-plugins";
import { createAuthClient } from "aau-auth-kit/react";
// export AuthClient = ReturnType<
// typeof createAuthClient<{
// plugins: [
// AdminClientPlugin,
// UsernameClientPlugin,
// TwoFactorClientPlugin,
// OrganizationClientPlugin,
// ];
// }>
// >;
export type Session = AuthClient["$Infer"]["Session"]["session"];
const authClientForType = createAuthClient({
plugins: [
adminClient(),
organizationClient(),
twoFactorClient(),
usernameClient(),
phoneNumberClient(),
],
});
const session = authClientForType.useSession();
const { data } = authClientForType.useActiveOrganization();
const members = data?.members;
const invitations = data?.invitations;
export type User = NonNullable<typeof session.data>["user"];
export type AuthClient = typeof authClientForType;
export type Invitation = NonNullable<typeof invitations>[number];
export type MemberWithNoStatus = NonNullable<typeof members>[number];
export interface Member extends MemberWithNoStatus {
status: Invitation["status"] | "no_invitation";
}