Session Expired Dialog
ExamplesA local re-auth dialog simulation with manual expiry, optional dismissal, and a simulated sign-in action. Automatic session/401 detection belongs to the copied Surface.
A local user-menu simulation with loading, signed-out, sign-in, and sign-out transitions. The copied ReoptUserMenu Surface derives these states from the real session.
Change the width and theme, then interact with the components.
로딩
authClient.useSession()의 isPending 단계. SkeletonAvatar로 placeholder 표시.
비로그인
session === null에 해당하는 상태. 로그인 버튼은 로컬 데모 상태를 로그인으로 바꿉니다.
로그인
Avatar + Dropdown. 메뉴 내 user.name / user.email 표시 + destructive 로그아웃.
authClient.useSession() 반환값으로 상태를 자동 판단합니다. 이 데모는 상태를 수동 토글로 시연합니다.opt block add reopt-user-menuimport { ReoptUserMenu } from "@/components/surfaces/reopt-user-menu";A local re-auth dialog simulation with manual expiry, optional dismissal, and a simulated sign-in action. Automatic session/401 detection belongs to the copied Surface.
A local simulation of a protected-content gate with loading, signed-out, and signed-in states. Its sign-in CTA changes only the preview state.
SDK control center showing server-side verifier checks, auth health, secret rotation, EAV schema remediation, AI credit guardrails, webhook replay, terms publication, and lazy server-client boundaries.