import { createAuthClient } from "better-auth/react"; import { organizationClient, passkeyClient, twoFactorClient, adminClient, multiSessionClient, oneTapClient, } from "better-auth/client/plugins"; import { toast } from "sonner"; import { customSessionClient } from "./auth/plugins/session-client"; export const client = createAuthClient({ plugins: [ organizationClient(), twoFactorClient({ redirect: true, twoFactorPage: "/two-factor", }), passkeyClient(), adminClient(), multiSessionClient(), oneTapClient({ clientId: process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!, }), customSessionClient(), ], fetchOptions: { onError(e) { if (e.error.status === 429) { toast.error("Too many requests. Please try again later."); } }, }, }); export const { signUp, signIn, signOut, useSession, organization, useListOrganizations, useActiveOrganization, } = client;