React
Get up and running with Wacht in minutes
DeploymentProvider
import { DeploymentProvider } from '@snipextt/wacht' import { NextjsAdapter } from '@snipextt/wacht-nextjs' export default function App({ children }) { return ( <DeploymentProvider publicKey="pk_your_public_key" platformAdapter={NextjsAdapter} > {children} </DeploymentProvider> ) }
import { SignInForm, SignedIn, SignedOut, UserButton } from '@snipextt/wacht' export default function AuthExample() { return ( <> <SignedOut> <div> <h1>Welcome to Our App</h1> <SignInForm /> </div> </SignedOut> <SignedIn> <div> <h1>Welcome back!</h1> <UserButton /> </div> </SignedIn> </> ) }
import { useSignin, useSession } from '@snipextt/wacht' function CustomAuth() { const { signIn, isLoading } = useSignin() const { user } = useSession() const handleSignIn = async () => { try { await signIn({ strategy: 'plain_email', email: 'user@example.com', password: 'password' }) } catch (error) { console.error('Sign-in failed:', error) } } if (user) { return <div>Welcome, {user.firstName}!</div> } return ( <button onClick={handleSignIn} disabled={isLoading}> {isLoading ? 'Signing in...' : 'Sign In'} </button> ) }
import { OrganizationSwitcher, useOrganization } from '@snipextt/wacht' function OrganizationExample() { const { currentOrganization } = useOrganization() return ( <div> <h2>Current Organization: {currentOrganization?.name}</h2> <OrganizationSwitcher /> </div> ) }