// hooks/use-auth-role.ts import { useSession } from "next-auth/react" export function useAuthRole() { const { data: session, status } = useSession() return { user: session?.user, isLoading: status === "loading", isAuthenticated: !!session?.user, roles: session?.user?.roles ?? [], // 특정 키워드가 포함된 role이 있는지 체크 hasRole: (keyword: string) => session?.user?.roles?.some(role => role.includes(keyword)) ?? false, // 정확한 role name으로 체크 hasExactRole: (roleName: string) => session?.user?.roles?.includes(roleName) ?? false, // 편의 메서드들 hasPeriodicEvaluationRole: () => session?.user?.roles?.some(role => role.includes('정기평가')) ?? false, hasAdminRole: () => session?.user?.roles?.some(role => role.includes('admin') || role.includes('관리자')) ?? false, } }