import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  output: "standalone",
  poweredByHeader: false,
  compress: true,

  images: {
    formats: ["image/avif", "image/webp"],
    minimumCacheTTL: 604800,
    deviceSizes: [360, 640, 768, 1024, 1280, 1536],
    imageSizes: [64, 96, 160, 256, 384, 560],

    remotePatterns: [
      {
        protocol: "https",
        hostname: "media.cruzcloud.net",
        pathname: "/ari-products/**",
      },
      {
        protocol: "https",
        hostname: "shop.cruzcloud.net",
        pathname: "/images/products/**",
      },
      {
        protocol: "https",
        hostname: "shop.cruzcloud.net",
        pathname: "/images/thumbnails/**",
      },
    ],
  },

  async headers() {
    return [
      {
        source: "/images/:path*",
        headers: [
          {
            key: "Cache-Control",
            value:
              "public, max-age=604800, stale-while-revalidate=2592000",
          },
        ],
      },
    ];
  },
};

export default nextConfig;
