import { getDefaultLocaleByLanguage, language } from "@/locales";
import { compatibilityV2Prefix } from "@/routes";
import { Helmet } from "react-helmet";

const routesCompatibility2 = [
  compatibilityV2Prefix
]

const isRouteInclude = (url: string, routes: string[]) => {
  for (const route of routes) {
    if (url.includes(route)) {
      return true;
    }
  }
  return false;
};

const HeadDataCompatibilityDomen = () => {
  const locale = getDefaultLocaleByLanguage(language);
  const isCompatibility = isRouteInclude(window.location.pathname, routesCompatibility2);

  // Compatibility
  const FBScriptCompatibility = `
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '567196172967340');
fbq('track', 'PageView');`;

  const FBScriptCompatibilityPT1 = `
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '567469913004428');
fbq('track', 'PageView');`

  return (
    <Helmet htmlAttributes={{ lang: language }}>
      {/* Compatibility */}
      {isCompatibility && (
        <script>{FBScriptCompatibility}</script>
      )}
      {isCompatibility && locale?.includes("pt") && (
        <script>{FBScriptCompatibilityPT1}</script>
      )}
    </Helmet>
  );
};

export default HeadDataCompatibilityDomen;
