| 
                        123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
                        - import type { FC } from 'react'
 - import React from 'react'
 - import Script from 'next/script'
 - import { headers } from 'next/headers'
 - import { IS_CE_EDITION } from '@/config'
 - 
 - export enum GaType {
 -   admin = 'admin',
 -   webapp = 'webapp',
 - }
 - 
 - const gaIdMaps = {
 -   [GaType.admin]: 'G-DM9497FN4V',
 -   [GaType.webapp]: 'G-2MFWXK7WYT',
 - }
 - 
 - export type IGAProps = {
 -   gaType: GaType
 - }
 - 
 - const GA: FC<IGAProps> = ({
 -   gaType,
 - }) => {
 -   if (IS_CE_EDITION)
 -     return null
 - 
 -   const nonce = process.env.NODE_ENV === 'production' ? headers().get('x-nonce') : ''
 - 
 -   return (
 -     <>
 -       <Script
 -         strategy="beforeInteractive"
 -         async
 -         src={`https://www.googletagmanager.com/gtag/js?id=${gaIdMaps[gaType]}`}
 -         nonce={nonce!}
 -       ></Script>
 -       <Script
 -         id="ga-init"
 -         dangerouslySetInnerHTML={{
 -           __html: `
 - window.dataLayer = window.dataLayer || [];
 - function gtag(){dataLayer.push(arguments);}
 - gtag('js', new Date());
 - gtag('config', '${gaIdMaps[gaType]}');
 -           `,
 -         }}
 -         nonce={nonce!}
 -       >
 -       </Script>
 -       {/* Cookie banner */}
 -       <Script
 -         id="cookieyes"
 -         src='https://cdn-cookieyes.com/client_data/2a645945fcae53f8e025a2b1/script.js'
 -         nonce={nonce!}
 -       ></Script>
 -     </>
 - 
 -   )
 - }
 - export default React.memo(GA)
 
 
  |