import type { NextConfig } from "next";

// basePath: пусто в dev / `/trade-in` в production когда сидим под gendsgn.ru/trade-in.
// Прокидывается через env при сборке Docker.
const BASE_PATH = process.env.NEXT_PUBLIC_BASE_PATH ?? "";

const nextConfig: NextConfig = {
  reactStrictMode: true,
  output: "standalone",

  // basePath сдвигает ВСЕ routes на /trade-in/* — Next сам префиксит ассеты
  // и navigation. Пустая строка = no-op.
  basePath: BASE_PATH || undefined,

  // assetPrefix — для CDN (мы не используем, оставляем пустым)
  // trailingSlash — false (default), важно чтобы Caddy /trade-in без слэша
  // редиректил на /trade-in/.

  // В dev (без Caddy) Next.js сам проксирует /api/* и /health на backend
  // так что браузер использует относительные same-origin URLs.
  async rewrites() {
    const backend = process.env.BACKEND_URL ?? "http://localhost:8000";
    return [
      { source: "/api/:path*", destination: `${backend}/api/:path*` },
      { source: "/health", destination: `${backend}/health` },
    ];
  },
};

export default nextConfig;
