export interface Plan {
  slug: string;
  name: string;
  priceUsdYear: number;
  technical: number;
  pricePerMb: number;
  category: 'entry' | 'mid' | 'business' | 'premium';
  recommended?: boolean;
  features: string[];
}

export const PLANS: Plan[] = [
  {
    slug: 'basico',
    name: 'Básico',
    priceUsdYear: 59,
    technical: 53,
    pricePerMb: 11.80,
    category: 'entry',
    features: [
      '5 GB espacio en disco',
      '7.500 MB transferencia',
      '1 cuenta FTP',
      '10 cuentas de correo',
      '50 mensajes por hora',
      '0 bases de datos',
      'SSL gratis (Let\'s Encrypt)',
      'Backups automáticos diarios',
      'cPanel incluido',
      '100% CPU · 512 MB RAM',
    ],
  },
  {
    slug: 'wordpress',
    name: 'WordPress',
    priceUsdYear: 99,
    technical: 89,
    pricePerMb: 19.80,
    category: 'entry',
    features: [
      '5 GB espacio en disco',
      '7.500 MB transferencia',
      '1 cuenta FTP',
      '10 cuentas de correo',
      '50 mensajes por hora',
      '0 bases de datos',
      'WordPress pre-instalado',
      'Backups automáticos diarios',
      'cPanel + WP-CLI',
      '200% CPU · 512 MB RAM',
    ],
  },
  {
    slug: 'institucional',
    name: 'Institucional',
    priceUsdYear: 129,
    technical: 116,
    pricePerMb: 8.60,
    category: 'mid',
    recommended: true,
    features: [
      '15 GB espacio en disco',
      '22.500 MB transferencia',
      '∞ cuentas FTP',
      '30 cuentas de correo',
      '150 mensajes por hora',
      '1 base de datos',
      '2 subdominios',
      '1 dominio parqueado',
      'SSL gratis',
      '250% CPU · 2 GB RAM',
    ],
  },
  {
    slug: 'empresarial',
    name: 'Empresarial',
    priceUsdYear: 169,
    technical: 152,
    pricePerMb: 8.45,
    category: 'mid',
    features: [
      '20 GB espacio en disco',
      '30.000 MB transferencia',
      '∞ cuentas FTP',
      '40 cuentas de correo',
      '250 mensajes por hora',
      '2 bases de datos',
      '3 subdominios',
      '2 dominios parkados',
      'SSL gratis',
      '250% CPU · 2 GB RAM',
    ],
  },
  {
    slug: 'e-commerce',
    name: 'E-commerce',
    priceUsdYear: 219,
    technical: 197,
    pricePerMb: 7.30,
    category: 'business',
    features: [
      '30 GB espacio en disco',
      '45.000 MB transferencia',
      '∞ cuentas FTP',
      '50 cuentas de correo',
      '350 mensajes por hora',
      '3 bases de datos',
      '∞ subdominios',
      '3 dominios parkados',
      'Optimización WooCommerce',
      '300% CPU · 2.5 GB RAM',
    ],
  },
  {
    slug: 'avanzado',
    name: 'Avanzado',
    priceUsdYear: 289,
    technical: 260,
    pricePerMb: 5.78,
    category: 'business',
    features: [
      '50 GB espacio en disco',
      '75.000 MB transferencia',
      '∞ cuentas FTP',
      '75 cuentas de correo',
      '500 mensajes por hora',
      '4 bases de datos',
      '∞ subdominios',
      '4 dominios parkados',
      '1 dominio agregado',
      '350% CPU · 3 GB RAM',
    ],
  },
  {
    slug: 'avanzado-hd',
    name: 'Avanzado HD',
    priceUsdYear: 349,
    technical: 314,
    pricePerMb: 5.37,
    category: 'premium',
    features: [
      '65 GB espacio en disco',
      '80.000 MB transferencia',
      '∞ cuentas FTP',
      '75 cuentas de correo',
      '500 mensajes por hora',
      '5 bases de datos',
      '∞ subdominios',
      '9 dominios parkados',
      '1 dominio agregado',
      '400% CPU · 3 GB RAM',
    ],
  },
  {
    slug: 'corporativo',
    name: 'Corporativo',
    priceUsdYear: 399,
    technical: 359,
    pricePerMb: 4.99,
    category: 'premium',
    features: [
      '80 GB espacio en disco',
      '100.000 MB transferencia',
      '∞ cuentas FTP',
      '100 cuentas de correo',
      '1.000 mensajes por hora',
      '10 bases de datos',
      '∞ subdominios',
      '9 dominios parkados',
      '2 dominios agregados',
      '400% CPU · 5 GB RAM',
    ],
  },
  {
    slug: 'corporativo-hd',
    name: 'Corporativo HD',
    priceUsdYear: 549,
    technical: 494,
    pricePerMb: 4.58,
    category: 'premium',
    features: [
      '120 GB espacio en disco',
      '125.000 MB transferencia',
      '∞ cuentas FTP',
      '120 cuentas de correo',
      '1.200 mensajes por hora',
      '10 bases de datos',
      '∞ subdominios',
      '12 dominios parkados',
      '3 dominios agregados',
      '450% CPU · 5 GB RAM',
    ],
  },
];

export const FEATURED_PLAN_SLUGS = ['basico', 'institucional', 'e-commerce'] as const;

export function getFeaturedPlans() {
  return PLANS.filter((p) => FEATURED_PLAN_SLUGS.includes(p.slug as any));
}

export function getOtherPlans() {
  return PLANS.filter((p) => !FEATURED_PLAN_SLUGS.includes(p.slug as any));
}

export const ADDITIONAL_PLANS = PLANS.map((p) => p.name);

export function monthlyEquivalent(annual: number): string {
  return (annual / 12).toFixed(2);
}
