import type { User } from "@/types";

/** Contas de demonstração — uso local quando a API não está disponível */
const DEMO_ACCOUNTS: Array<{
  email: string;
  password: string;
  user: User;
}> = [
  {
    email: "atendimentonoga@gmail.com",
    password: "Noga6417@ns",
    user: {
      id: 1,
      name: "Admin NOGA CODE",
      email: "atendimentonoga@gmail.com",
      role: "admin",
      createdAt: new Date().toISOString(),
    },
  },
  {
    email: "cliente01@nogacode.com.br",
    password: "Noga6417@ns",
    user: {
      id: 2,
      name: "Cliente Demo",
      email: "cliente01@nogacode.com.br",
      role: "client",
      createdAt: new Date().toISOString(),
    },
  },
];

/** Token fictício usado só quando a API está inacessível (modo offline). */
export function isDemoAuthToken(token: string | null | undefined): boolean {
  return Boolean(token?.startsWith("demo-token-"));
}

export function tryDemoLogin(email: string, password: string) {
  const normalized = email.trim().toLowerCase();
  const account = DEMO_ACCOUNTS.find(
    (a) => a.email.toLowerCase() === normalized && a.password === password,
  );
  if (!account) return null;

  return {
    user: account.user,
    token: `demo-token-${account.user.role}-${account.user.id}`,
  };
}
