import { User } from '@/contexts/AuthContext';

const PORTAL_PREFIX: Record<User['role'], string> = {
  CUSTOMER: '/customer',
  WORKER: '/worker',
  ADMIN: '/admin',
};

const PORTAL_HOME: Record<User['role'], string> = {
  CUSTOMER: '/customer/dashboard',
  WORKER: '/worker/dashboard',
  ADMIN: '/admin',
};

/** Returns a safe post-login path for the given role. */
export function getPostLoginPath(role: User['role'], redirect?: string | null): string {
  if (redirect && redirect.startsWith('/') && !redirect.startsWith('//')) {
    const prefix = PORTAL_PREFIX[role];
    if (redirect.startsWith(prefix)) {
      return redirect;
    }
  }
  return PORTAL_HOME[role];
}

export function isPortalPath(path: string): boolean {
  return path.startsWith('/customer') || path.startsWith('/worker') || path.startsWith('/admin');
}
