/*product.service.ts*/
import { Injectable } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class ProductService {

  private productos: {
    celulares: { [marca: string]: any[] },
    televisores: any[],
    computadores: any[],
    portatiles: any[]
  } = {
    celulares: {
      oppo: [
        {
        codigo: '7CO05',
        nombre: 'OPPO A20',
        descripcion: 'PANTALLA 6,67" - OCTA CORE 2,2GHZ / 1,8GHZ - 128GB - MEM 4GB (+4GB EXPANDIBLE) - DOBLE CAM - ANDROID 14 - DUAL SIM - 4G LTE - OCEAN BLUE',
        precio: 419000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/OPPOA20-OCEAN BLUE.webp'
        },
        {
        codigo: '7CO06',
        nombre: 'OPPO A20',
        descripcion: 'PANTALLA 6,67" - OCTA CORE 2,2GHZ / 1,8GHZ - 128GB - MEM 4GB (+4GB EXPANDIBLE) - DOBLE CAM - ANDROID 14 - DUAL SIM - 4G LTE - CAFE',
        precio: 419000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/OPPOA20CAFE.webp'
        },
      ],
      samsung: [
      {
        codigo: '7CS205',
        nombre: 'SAMSUNG A05',
        descripcion: 'PANTALLA 6,6" - OCTA CORE 2,0GHZ / 1,8GHZ - 128GB - MEM 4GB - DOBLE CAMARA - ANDROID 13 - DUAL SIM - 4G LTE - NEGRO',
        precio: 380000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNGA05NEGRO.jpg'
      },
      {
        codigo: '7CS222',
        nombre: 'SAMSUNG A06',
        descripcion: 'PANTALLA 6,7" - OCTA CORE 2,0GHZ / 1,8GHZ - 128GB - MEM 4GB - DOBLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - VERDE',
        precio: 390000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/Samsung-A06-verde.webp'
      },
      {
        codigo: '7CS224',
        nombre: 'SAMSUNG A06',
        descripcion: 'PANTALLA 6,7" - OCTA CORE 2,0GHZ / 1,8GHZ - 128GB - MEM 4GB - DOBLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - AZUL',
        precio: 390000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/CelularSAMSUNGA06AZUL.webp'
      },
      {
        codigo: '7CS221',
        nombre: 'SAMSUNG A05S',
        descripcion: 'PANTALLA 6,6" - OCTA CORE 2,4GHZ / 1,9GHZ - 128GB - MEM 6GB - TRIPLE CAMARA - ANDROID 13 - DUAL SIM - 4G LTE - NEGRO',
        precio: 463000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNGA05SNEGRO.jpg'
      },
      {
        codigo: '7CS223',
        nombre: 'SAMSUNG A05S',
        descripcion: 'PANTALLA 6,6" - OCTA CORE 2,4GHZ / 1,9GHZ - 128GB - MEM 6GB - TRIPLE CAMARA - ANDROID 13 - DUAL SIM - 4G LTE - GRIS',
        precio: 463000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNGA05SGRIS.jpg'
      },
      {
        codigo: '7CS225',
        nombre: 'SAMSUNG A16',
        descripcion: 'PANTALLA 6,7" - OCTA CORE 2,4GHZ / 2,0GHZ - 256GB - MEM 8GB - TRIPLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - LIGHT GRAY',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNG A16 LIGHT GRAY.webp'
      },
      {
        codigo: '7CS226',
        nombre: 'SAMSUNG A16',
        descripcion: 'PANTALLA 6,7" - OCTA CORE 2,4GHZ / 2,0GHZ - 256GB - MEM 8GB - TRIPLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - BLUE BLACK',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNGA16BLUEBLACK.jpg'
      },
      {
        codigo: '7CS227',
        nombre: 'SAMSUNG A16',
        descripcion: 'PANTALLA 6,7" - OCTA CORE 2,4GHZ / 2,0GHZ - 256GB - MEM 8GB - TRIPLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - LIGHT GREEN',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/SAMSUNGA16LIGHT GREEN.jpg'
      },

      ],
      xiaomi: [
      {
        codigo: '7CX123',
        nombre: 'XIAOMI REDMI A3X',
        descripcion: 'PANTALLA 6,71" - OCTA CORE (1,8GHZ / 1,2GHZ)- 64GB - MEMORIA 3GB - DOBLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - MIDNIGHT BLACK',
        precio: 270000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMIA3XMIDNIGHT BLACK.webp'
      },
      {
        codigo: '7CX124',
        nombre: 'XIAOMI REDMI A3X',
        descripcion: 'PANTALLA 6,71" - OCTA CORE (1,8GHZ / 1,2GHZ)- 64GB - MEMORIA 3GB - DOBLE CAMARA - ANDROID 14 - DUAL SIM - 4G LTE - AURORA GREEN',
        precio: 270000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMIA3XAURORA GREEN.webp'
      },
      {
        codigo: '7CX125',
        nombre: 'XIAOMI REDMI A5',
        descripcion: 'PANTALLA 6,88" - OCTA CORE (1,8GHZ / 1,6GHZ)- 128GB - MEMORIA 4GB - DOBLE CAMARA - ANDROID 15 - DUAL SIM - 4G LTE - MIDNIGHT BLACK',
        precio: 335000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMIA5BLACK.webp'
      },
      {
        codigo: '7CX111',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 128GB - MEMORIA 4GB - DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE -STARRY BLUE',
        precio: 400000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMI14CstarryBLUE.webp'
      },
      {
        codigo: '7CX112',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 128GB - MEMORIA 4GB - DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE -SEA GREEN',
        precio: 400000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMI14CSEAGREEN.webp'
      },
      
      {
        codigo: '7CX113',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 128GB - MEMORIA 4GB - DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE - MIDN BLACK',
        precio: 400000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMI14CMIDNBLACK.webp'
      },
      {
        codigo: '7CX51',
        nombre: 'XIAOMI REDMI NOTE 11',
        descripcion: 'PANTALLA 6,4" -OCTA CORE (2,4GHZ / 1,9GHZ) - 128GB - MEMORIA 4GB - CUATRO CAMARAS - ANDROID 11 - DUAL SIM - 4G LTE - BLUE',
        precio: 499000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 11.webp'
      },
      {
        codigo: '7CX114',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 256GB - MEMORIA 8GB - DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE -SEA GREEN',
        precio: 499000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMI14CSEAGREEN.webp'
      },
      {
        codigo: '7CX115',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 256GB - MEMORIA 8GB -DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE - STARRY BLUE',
        precio: 499000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMI14CSTARRY BLUE.webp'
      },
      {
        codigo: '7CX116',
        nombre: 'XIAOMI REDMI 14C',
        descripcion: 'PANTALLA 6,8" - OCTA CORE (2,0GHZ / 1,8GHZ) - 256GB - MEMORIA 8GB -DOBLE CAMARA - XIAOMI HYPER OS - DUAL SIM - 4G LTE - MIDN BLACK',
        precio: 499000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMIREDMIA3XMIDNIGHT BLACK.webp'
      },
      {
        codigo: '7CX120',
        nombre: 'XIAOMI REDMI NOTE 14',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM -ANDROID 14 - DUAL SIM - 4G LTE - MIDNIGHT BLACK',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 14 minghblack.webp'
      },
      {
        codigo: '7CX121',
        nombre: 'XIAOMI REDMI NOTE 14',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM -ANDROID 14 - DUAL SIM - 4G LTE - OCEAN BLUE',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 14 OCEAN BLUE$.webp'
      },
      {
        codigo: '7CX122',
        nombre: 'XIAOMI REDMI NOTE 14',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM -ANDROID 14 - DUAL SIM - 4G LTE - LIME GREEN',
        precio: 710000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/Celular XIAOMI REDMI NOTE 14 LIME GREEN.webp'
      },
      {
        codigo: '7CX117',
        nombre: 'XIAOMI REDMI NOTE 14 PRO',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM - ANDROID 14 - DUAL SIM - 4G LTE - OCEAN BLUE',
        precio: 999000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 14 PROOCEAN BLUE$.webp'
      },
      {
        codigo: '7CX118',
        nombre: 'XIAOMI REDMI NOTE 14 PRO',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM - ANDROID 14 - DUAL SIM - 4G LTE - AURORA P',
        precio: 999000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 14 PRO AURORA P.jpg'
      },
      {
        codigo: '7CX119',
        nombre: 'XIAOMI REDMI NOTE 14 PRO',
        descripcion: 'PANTALLA 6,67" - OCTA CORE (2,2GHZ / 2,0GHZ) - 256GB - MEMORIA 8GB - TRIPLE CAM - ANDROID 14 - DUAL SIM - 4G LTE - MID BLACK',
        precio: 999000,
        categoria: 'celulares',
        imagen: 'assets/images/celulares/XIAOMI REDMI NOTE 14 PROminghblack.webp'
      }
      ]
   
  
  
    /* Aquí va tu arreglo con todos los productos. Por ejemplo:
    { nombre: 'Celular A', precio: 123, imagen: '...' },
    { nombre: 'Celular B', precio: 456, imagen: '...' },
    ... hasta todos los que tengas
    */
  },
   televisores: [
    {

    }
   ],
   computadores: [
    {

    }
   ],
   portatiles: [
    {

    }
   ],
  };

  getProductosPorCategoria(categoria: string, subcategoria?: string): any[] {
  if (categoria === 'celulares') {
    if (subcategoria) {
      return this.productos.celulares[subcategoria] || [];
    } else {
      return Object.values(this.productos.celulares).flat();
    }
  }

  const result = this.productos[categoria as keyof typeof this.productos];
  return Array.isArray(result) ? result : [];
}


getTodos(): any[] {
  return [
    ...Object.values(this.productos.celulares).flat(),
    ...this.productos.portatiles,
    ...this.productos.televisores,
    ...this.productos.computadores
  ];
}


  search(term: string): any[] {
  term = term.toLowerCase();
  return this.getTodos().filter(p =>
    p.nombre.toLowerCase().includes(term) ||
    p.descripcion.toLowerCase().includes(term) ||
    p.categoria.toLowerCase().includes(term)
  );
}

}

