import type { NextConfig } from "next";

const nextConfig: NextConfig = {
  trailingSlash: true,

  async redirects() {
    return [
      {
        source: "/product/:slug",
        destination: "/services/:slug/",
        permanent: true,
      },
      {
        source: "/product/:slug/",
        destination: "/services/:slug/",
        permanent: true,
      },
      {
        source: "/:slug(sigma-1040-ez|sigma-1040-ez-web-demo)(/?)",
        destination: "/services/",
        permanent: true,
      },
      {
        source: "/:slug(what-is-a-bank-product)(/?)",
        destination: "/bank-products/what-is-a-bank-product/",
        permanent: true,
      },
      {
        source: "/:slug(demos)(/?)",
        destination: "/download-demos/",
        permanent: true,
      },
      {
        source: "/:slug(contact)(/?)",
        destination: "/contact-us/",
        permanent: true,
      },
      {
        source: "/:slug(comparison-chart)(/?)",
        destination: "/professional-tax-software-comparison-chart/",
        permanent: true,
      },
    ];
  },

  async headers() {
    return [
      {
        source: "/(.*)",
        headers: [
          {
            key: "Content-Security-Policy",
            value:
              "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://connect.facebook.net https://googleads.g.doubleclick.net https://js.authorize.net https://jstest.authorize.net https://www.google.com https://www.gstatic.com https://www.googletagmanager.com https://www.googleadservices.com https://www.recaptcha.net; connect-src 'self' https://ad.doubleclick.net https://adservice.google.com https://analytics.google.com https://connect.facebook.net https://dashstp.sigmataxpro.com https://stats.g.doubleclick.net https://www.facebook.com https://www.google-analytics.com https://www.google.com https://www.googletagmanager.com https://www.googleadservices.com https://www.recaptcha.net; img-src 'self' https://adservice.google.com https://dashstp.sigmataxpro.com https://stats.g.doubleclick.net https://www.facebook.com https://www.google.com https://www.googleadservices.com https://googleads.g.doubleclick.net data:; style-src 'self' 'unsafe-inline'; font-src 'self' https://fonts.gstatic.com; frame-src https://accept.authorize.net https://js.authorize.net https://jstest.authorize.net https://www.google.com https://www.recaptcha.net;",
          },
          {
            key: "X-Content-Type-Options",
            value: "nosniff",
          },
          {
            key: "X-Frame-Options",
            value: "SAMEORIGIN",
          },
          {
            key: "Referrer-Policy",
            value: "strict-origin-when-cross-origin",
          },
        ],
      },
    ];
  },
};

export default nextConfig;
