ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/llms-txt-hub / packages/auth/src/client/context/index.tsx

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

Source identity

FieldRecorded value
Source typeGitHub source
Original recordJanady13/llms-txt-hub / packages/auth/src/client/context/index.tsx
DateNot specified in source
RepositoryJanady13/llms-txt-hub
Revisione0f4bf978d4df168369c7601d9c5f5ea89e84377
Branchmain
Path or archive memberpackages/auth/src/client/context/index.tsx
Original SHA-2568ee56e76b82502bbeba810377d15cc41118ad8d0e100400c1472c90462d6877a
Git blob SHAbfdf8ba9304814f7c8c6be6b30f8ff92388f819f
Reading-copy SHA-2568ee56e76b82502bbeba810377d15cc41118ad8d0e100400c1472c90462d6877a

Original source ↗

Recovered source transcript

'use client' import { useClerk, useUser } from '@clerk/nextjs' import { useRouter } from 'next/navigation' import { createContext } from 'react' import type { AuthUser } from '../../core/types' export interface AuthProvider { user: AuthUser | null isLoaded: boolean isSignedIn: boolean signIn(): Promise<void> signOut(): Promise<void> getSession(): Promise<{ user: AuthUser | null; isSignedIn: boolean }> getUser(): Promise<AuthUser | null> reloadUser(): Promise<void> } export const AuthContext = createContext<AuthProvider | null>(null) /** * Authentication hook that uses Clerk internally * @returns AuthProvider object with user data and authentication methods */ export function useAuth(): AuthProvider { const { user, isLoaded, isSignedIn } = useUser() const { signOut: clerkSignOut } = useClerk() const router = useRouter() // Transform Clerk user to AuthUser format const authUser: AuthUser | null = user ? { id: user.id, email: user.primaryEmailAddress?.emailAddress || null, name: user.fullName || user.username || null, firstName: user.firstName || null, lastName: user.lastName || null, username: user.username || null, imageUrl: user.imageUrl || null, user_metadata: { user_name: user.username || null, full_name: user.fullName || null, avatar_url: user.imageUrl || null }, publicMetadata: user.publicMetadata, externalAccounts: (user.externalAccounts || []).map((account: any) => ({ id: account.id, provider: account.provider, username: account.username || null })) } : null return { user: authUser, isLoaded, isSignedIn: !!isSignedIn, signIn: async () => { router.push('/login') }, signOut: async () => { await clerkSignOut({ redirectUrl: '/' }) }, getSession: async () => { return { user: authUser, isSignedIn: !!isSignedIn } }, getUser: async () => { return authUser }, reloadUser: async () => { await user?.reload() } } } export const AuthContextProvider = AuthContext.Provider

Search equations, builds, manuscript text, and recovered sources.