// AUTO-GENERADO desde novasis-ecommerce-store/defaultStoreConfig.ts
// Representa el DISEÑO ESTÁNDAR de la tienda. Se usa como semilla al crear
// una configuración ecommerce nueva y como fallback público en desarrollo.
// Para regenerar: ver script en plan-ecommerce-implementacion.md (Fase 1).

export const DEFAULT_STORE_CONFIG = {
  version: 1,
  status: 'default',
  source: 'fallback',
  identity: {
    name: 'Mercado Aurora',
    slogan: 'Frescos, despensa y ofertas para tu semana',
    subdomain: 'aurora.novasis.store',
    logoText: 'A',
  },
  theme: {
    primary: '#0f766e',
    secondary: '#1d4ed8',
    accent: '#f97316',
    background: '#ffffff',
    surface: '#ffffff',
    text: '#14211f',
    muted: '#66736f',
    success: '#15803d',
    danger: '#dc2626',
    priceColor: '#0f766e',
  },
  typography: {
    scale: 'normal',
    priceFontSize: 18,
  },
  catalog: {
    cardSize: 'normal',
    displayMode: 'categoryCarousels',
    imageRatio: '4 / 3',
    columnsDesktop: 4,
    columnsTablet: 3,
    columnsMobile: 2,
    maxCategoriesOnHome: 6,
    maxProductsPerCategory: 10,
    pageSize: 12,
    showStock: true,
    showBrand: true,
    showCategory: true,
    showPromotionBadge: true,
  },
  search: {
    position: 'header',
    showSuggestions: true,
    showRecentSearches: true,
  },
  promotions: {
    topBar: 'Envío gratis desde Gs. 250.000 en Asunción y Gran Asunción',
    heroTitle: 'Combo saludable de la semana',
    heroSubtitle: 'Frutas, lacteos y panificados seleccionados con precio especial hasta agotar stock.',
    heroImage: '',
    heroBadge: 'Semana saludable',
    heroDealTitle: 'Hasta 25%',
    heroDealSubtitle: 'en seleccionados',
    catalogInlineEveryNProducts: 6,
    checkoutUpsell: true,
    popupEnabled: false,
    popupBadge: 'Oferta especial',
    popupTitle: 'Una oportunidad para vos',
    popupDescription: 'Descubri la selección promocional vigente antes de que termine.',
    popupImage: '',
    popupCtaLabel: 'Comprar ahora',
    popupTargetCategory: 'Todos',
    popupFrequency: 'oncePerSession',
    popupStartDate: '',
    popupEndDate: '',
  },
  texts: {
    b2bPanelTitle: 'Compra recurrente B2B',
    b2bPanelSubtitle: 'Inicia sesión para repetir pedidos y ver precio mayorista.',
    novedadesTitle: 'Novedades',
    novedadesSubtitle: 'Anuncios, nuevos ingresos y campanas activas',
    categoryBannerTitleSuffix: 'store',
    categoryBannerDescription:
      'Selección especializada de {categoria} con disponibilidad actualizada, ofertas activas y opciones para compra recurrente.',
    mostViewedLabel: 'Más de esta categoría',
    poweredByLabel: 'Powered by Novasis Store',
  },
  footer: {
    description:
      'Tienda online multi tenant para compras rápidas, pagos seguros y seguimiento de pedidos desde Novasis.',
    labels: {
      leadEyebrow: 'Compra con confianza',
      paymentTrustTitle: 'Pago protegido',
      deliveryTrustTitle: 'Entrega flexible',
      supportTrustTitle: 'Atención directa',
      whatsappAction: 'WhatsApp',
      contactAction: 'Contactar',
      contactColumnTitle: 'Contacto',
      socialTitle: 'Seguinos',
      paymentsTitle: 'Pagos aceptados',
      deliveryAndPickup: 'Delivery o retiro en local',
      deliveryOnly: 'Delivery disponible',
      pickupOnly: 'Retiro en local',
      copyrightTemplate: '© {year} {store}. Todos los derechos reservados.',
    },
    contact: {
      phone: '021 555 010',
      whatsapp: '595982124618',
      email: 'ventas@aurora.novasis.store',
      address: 'Asunción, Paraguay',
      hours: 'Lunes a sábado, 08:00 a 19:00',
      description:
        'Nuestro equipo de atención acompana consultas sobre productos, pagos, facturación, delivery y seguimiento de pedidos ecommerce. Estos textos y canales se podrán editar desde el panel Ecommerce.',
      map: {
        title: 'Mercado Aurora',
        subtitle: 'Asunción, Paraguay',
        embedUrl:
          'https://www.openstreetmap.org/export/embed.html?bbox=-57.6530%2C-25.3100%2C-57.5000%2C-25.2100&layer=mapnik&marker=-25.2637%2C-57.5759',
        directionsUrl: 'https://www.openstreetmap.org/?mlat=-25.2637&mlon=-57.5759#map=14/-25.2637/-57.5759',
      },
    },
    linkGroups: [
      {
        title: 'Comprar',
        links: [
          {
            label: 'Catálogo',
            href: '#catalogo',
          },
          {
            label: 'Ofertas',
            href: '#ofertas',
          },
          {
            label: 'Novedades',
            href: '#novedades',
          },
          {
            label: 'Mayoristas',
            href: '#mayoristas',
          },
        ],
      },
      {
        title: 'Soporte',
        links: [
          {
            label: 'Seguimiento de pedido',
            pageKey: 'seguimiento',
          },
          {
            label: 'Cambios y devoluciones',
            pageKey: 'devoluciones',
          },
          {
            label: 'Preguntas frecuentes',
            pageKey: 'faq',
          },
          {
            label: 'Contacto',
            pageKey: 'contacto',
          },
        ],
      },
      {
        title: 'Legal',
        links: [
          {
            label: 'Términos y condiciones',
            pageKey: 'terminos',
          },
          {
            label: 'Política de privacidad',
            pageKey: 'privacidad',
          },
          {
            label: 'Facturación',
            pageKey: 'facturacion',
          },
        ],
      },
    ],
    paymentMethods: ['Novasis Pay', 'Tarjetas', 'Transferencia', 'Contra entrega'],
    socialLinks: [
      {
        label: 'Instagram',
        href: '#instagram',
      },
      {
        label: 'Facebook',
        href: '#facebook',
      },
      {
        label: 'TikTok',
        href: '#tiktok',
      },
    ],
  },
  contentPages: [
    {
      key: 'terminos',
      title: 'Términos y condiciones',
      subtitle: 'Condiciones comerciales configurables por el comercio.',
      blocks: [
        {
          title: 'Uso de la tienda',
          content:
            'El comercio define desde el panel las condiciones de uso, disponibilidad de productos, precios publicados y politicas aplicables al canal online.',
        },
        {
          title: 'Pedidos y confirmacion',
          content:
            'Los pedidos se confirman luego de validar pago, stock y datos de entrega. Las condiciones pueden variar por sucursal, deposito o zona de cobertura.',
        },
      ],
    },
    {
      key: 'privacidad',
      title: 'Política de privacidad',
      subtitle: 'Tratamiento de datos personales del ecommerce.',
      blocks: [
        {
          title: 'Datos recolectados',
          content:
            'El comercio puede configurar que datos solicita durante el checkout, incluyendo nombre, contacto, documento, dirección y preferencias de entrega.',
        },
        {
          title: 'Uso de datos',
          content:
            'Los datos se utilizan para procesar pedidos, pagos, facturación, entregas y comunicacion operativa con el cliente.',
        },
      ],
    },
    {
      key: 'faq',
      title: 'Preguntas frecuentes',
      subtitle: 'Respuestas editables desde el panel Ecommerce.',
      blocks: [
        {
          title: 'Como hago seguimiento de mi pedido?',
          content:
            'Luego de comprar, el cliente recibe un enlace de seguimiento cuando el pedido entra al flujo operativo de ecommerce.',
        },
        {
          title: 'Puedo comprar como invitado?',
          content:
            'Si el comercio lo permite, los clientes B2C pueden comprar como invitados. Los clientes B2B pueden acceder con login para ver condiciones comerciales.',
        },
      ],
    },
    {
      key: 'devoluciones',
      title: 'Cambios y devoluciones',
      subtitle: 'Política editable de cambios, devoluciones e incidencias.',
      blocks: [
        {
          title: 'Solicitud de cambio',
          content:
            'El comercio define plazos, condiciones y canales para solicitar cambios o devoluciones desde el panel.',
        },
        {
          title: 'Productos con incidencia',
          content:
            'Las incidencias pueden registrarse sobre el pedido ecommerce y quedar visibles para atención o supervisor.',
        },
      ],
    },
    {
      key: 'facturacion',
      title: 'Facturación',
      subtitle: 'Información fiscal y reglas de emision configurables.',
      blocks: [
        {
          title: 'Datos fiscales',
          content:
            'El cliente puede cargar datos fiscales durante el checkout cuando el comercio habilita facturación para ecommerce.',
        },
        {
          title: 'Emision',
          content: 'La factura se emite desde el flujo de facturación integrado del ERP segun la política configurada.',
        },
      ],
    },
    {
      key: 'contacto',
      title: 'Contacto',
      subtitle: 'Canales de contacto configurados por el comercio.',
      blocks: [
        {
          title: 'Atención al cliente',
          content: 'El comercio configura teléfono, WhatsApp, email, horarios y dirección visible en la tienda online.',
        },
      ],
    },
    {
      key: 'seguimiento',
      title: 'Seguimiento de pedido',
      subtitle: 'Consulta del estado posterior a la compra.',
      blocks: [
        {
          title: 'Estado del pedido',
          content:
            'El cliente puede consultar estados como recibido, verificado, preparando, despachado, en reparto o entregado cuando el flujo operativo este activo.',
        },
      ],
    },
  ],
  checkout: {
    layout: 'singlePage',
    allowGuestB2C: true,
    paymentRequired: true,
    paymentProviderLabel: 'Novasis Pay',
    paymentMethods: [
      { id: 'novasis-pay', type: 'online', name: 'Novasis Pay (tarjetas)', enabled: true, discountPercent: 0 },
      { id: 'transferencia', type: 'manual', name: 'Transferencia bancaria', enabled: true, discountPercent: 0 },
      { id: 'contra-entrega', type: 'manual', name: 'Efectivo contra entrega', enabled: true, discountPercent: 0 },
    ],
    allowDelivery: true,
    allowPickup: true,
    deliveryCost: 18000,
    deliveryMethods: [
      {
        id: 'delivery-programado',
        type: 'delivery',
        name: 'Delivery programado',
        cost: 18000,
        enabled: true,
      },
      {
        id: 'retiro-local',
        type: 'pickup',
        name: 'Retiro en local',
        cost: 0,
        enabled: true,
      },
    ],
    requireTermsAcceptance: true,
  },
  layout: {
    homeSections: ['hero', 'featuredCategories', 'catalog', 'promotions', 'b2b'],
    bannerHoverEffect: 'effect-5',
    motionPreset: 'dynamic',
    transitionSpeed: 'normal',
    heroVariant: 'immersive',
    sectionBackgroundMode: 'alternating',
    cardHoverEffect: 'lift',
    headerVariant: 'compact',
    stickyHeader: true,
    showScrollAnimations: true,
    showCarouselProgress: true,
  },
  seasons: [
    {
      id: 'otono-2026',
      name: 'Otoño',
      enabled: true,
      startDate: '2026-03-01',
      endDate: '2026-05-31',
      priority: 20,
      themeOverrides: {},
      promotions: {
        topBar: 'Temporada otoño: productos de despensa y combos para tardes frescas',
        heroTitle: 'Otoño para renovar tu despensa',
        heroSubtitle: 'Infusiones, panificados y seleccionados para acompanar el cambio de clima.',
        heroImage: '',
        heroBadge: 'Temporada otoño',
        heroDealTitle: 'Combos otoño',
        heroDealSubtitle: 'despensa seleccionada',
      },
      decoration: {
        type: 'autumn',
        intensity: 'low',
      },
    },
    {
      id: 'invierno-2026',
      name: 'Invierno',
      enabled: true,
      startDate: '2026-06-01',
      endDate: '2026-08-31',
      priority: 20,
      themeOverrides: {},
      promotions: {
        topBar: 'Temporada invierno: combos para días frios con envío programado',
        heroTitle: 'Invierno con despensa completa',
        heroSubtitle: 'Bebidas calientes, panificados y productos seleccionados para la temporada.',
        heroImage: '',
        heroBadge: 'Temporada invierno',
        heroDealTitle: 'Abrigate con ofertas',
        heroDealSubtitle: 'combos de temporada',
      },
      decoration: {
        type: 'snow',
        intensity: 'medium',
      },
    },
    {
      id: 'primavera-2026',
      name: 'Primavera',
      enabled: true,
      startDate: '2026-09-01',
      endDate: '2026-11-30',
      priority: 20,
      themeOverrides: {},
      promotions: {
        topBar: 'Primavera activa: frescos, bebidas livianas y ofertas de temporada',
        heroTitle: 'Primavera fresca en tu tienda',
        heroSubtitle: 'Frutas, ensaladas, bebidas y productos livianos para todos los días.',
        heroImage: '',
        heroBadge: 'Temporada primavera',
        heroDealTitle: 'Frescos destacados',
        heroDealSubtitle: 'selección primavera',
      },
      decoration: {
        type: 'spring',
        intensity: 'low',
      },
    },
    {
      id: 'verano-2026',
      name: 'Verano',
      enabled: true,
      startDate: '2026-12-01',
      endDate: '2027-02-28',
      priority: 20,
      themeOverrides: {},
      promotions: {
        topBar: 'Verano activo: bebidas frias, frescos y combos para compartir',
        heroTitle: 'Verano fresco en tu carrito',
        heroSubtitle: 'Promociones en bebidas, frutas y productos livianos para todos los días.',
        heroImage: '',
        heroBadge: 'Temporada verano',
        heroDealTitle: '2x1 verano',
        heroDealSubtitle: 'en bebidas seleccionadas',
      },
      decoration: {
        type: 'summer',
        intensity: 'low',
      },
    },
  ],
  notifications: {
    adminEmail: '',
    orderConfirmed: {
      enabled: true,
      subject: 'Recibimos tu pedido {{NRO_PEDIDO}} — {{TIENDA_NOMBRE}}',
      body: '<p>Te notificaremos en cada etapa del proceso. ¡Gracias por confiar en nosotros!</p><p><strong>El equipo de {{TIENDA_NOMBRE}} 💚</strong></p>',
    },
    orderInvoiced: {
      enabled: true,
      subject: 'Tu factura está lista — Pedido {{NRO_PEDIDO}}',
      body: '<p>Ante cualquier consulta sobre tu factura, respondé este correo y te ayudamos enseguida.</p><p><strong>El equipo de {{TIENDA_NOMBRE}} 💙</strong></p>',
    },
    orderShipped: {
      enabled: true,
      subject: 'Tu pedido {{NRO_PEDIDO}} está en camino',
      body: '<p>¡Pronto lo tendrás en tus manos! Cualquier consulta estamos disponibles.</p><p><strong>El equipo de {{TIENDA_NOMBRE}} 🚀</strong></p>',
    },
    orderCancelled: {
      enabled: true,
      subject: 'Tu pedido {{NRO_PEDIDO}} fue cancelado',
      body: '<p>Esperamos poder servirte muy pronto. Gracias por tu comprensión.</p><p><strong>El equipo de {{TIENDA_NOMBRE}}</strong></p>',
    },
    newOrderAdmin: {
      enabled: true,
      subject: 'Nuevo pedido recibido — {{NRO_PEDIDO}}',
      body: '<p>Revisá el detalle de arriba e ingresá al panel para confirmar el pago y preparar el pedido.</p>',
    },
  },
} as const;

export type StoreConfigShape = typeof DEFAULT_STORE_CONFIG;
