diff --git a/frontend/src/auth/clerk.tsx b/frontend/src/auth/clerk.tsx index 5dfcd62d..a61e8c91 100644 --- a/frontend/src/auth/clerk.tsx +++ b/frontend/src/auth/clerk.tsx @@ -15,6 +15,11 @@ import { useUser as clerkUseUser, } from "@clerk/nextjs"; +import type { + SignInButtonProps, + SignOutButtonProps, +} from "@clerk/nextjs"; + export function isClerkEnabled(): boolean { // Invariant: Clerk is disabled ONLY when the publishable key is absent. // If a key is present, we assume Clerk is intended to be enabled and we let @@ -32,13 +37,13 @@ export function SignedOut(props: { children: ReactNode }) { return {props.children}; } -// Accept arbitrary Clerk component props so existing call sites don't need edits. -export function SignInButton(props: any) { +// Keep the same prop surface as Clerk components so call sites don't need edits. +export function SignInButton(props: SignInButtonProps) { if (!isClerkEnabled()) return null; return ; } -export function SignOutButton(props: any) { +export function SignOutButton(props: SignOutButtonProps) { if (!isClerkEnabled()) return null; return ; }