import { useEffect } from 'react';
import PropTypes from 'prop-types';
import Head from 'next/head';
// components
import DashboardLayout from './dashboard';
import LogoOnlyLayout from './LogoOnlyLayout';
import MainLayout from './main';
import AuthGuard from '../guards/AuthGuard';
import { Box, Stack, Typography,Card,Button } from '@mui/material';

//redux
import { useDispatch, useSelector} from '../redux/store';
import { getSettingService } from '../redux/slices/service';
import Iconify from '../components/Iconify';
import { NextScript } from 'next/document';

// ----------------------------------------------------------------------

Layout.propTypes = {
  children: PropTypes.node.isRequired,
  variant: PropTypes.oneOf(['dashboard', 'main', 'logoOnly','print']),
};

export default function Layout({ variant = 'dashboard', children }) {
  
  const dispatch                        = useDispatch();
  const { setting }                     = useSelector((state) => state.service);
  const { store, error,isLoading }      = useSelector((state) => state.toko_anda);

  useEffect(() => {
      dispatch(getSettingService({
          setting:1
      }));
  },[dispatch]);


  if (variant === 'logoOnly') {
    return (
      <>
        <Head>
           <link rel="apple-touch-icon" sizes="180x180" href={setting?.detail?.favicon} />
            <link rel="icon" type="image/png" sizes="32x32" href={setting?.detail?.favicon} />
            <link rel="icon" type="image/png" sizes="16x16" href={setting?.detail?.favicon} />
            <LogoOnlyLayout> {children} </LogoOnlyLayout>
         </Head>
      </>

    )
  }

  if(variant === 'main') {
    return (
      <>
          <Head>
            <link rel="apple-touch-icon" sizes="180x180" href="" />
            <link rel="icon" type="image/png" sizes="32x32" href="" />
            <link rel="icon" type="image/png" sizes="16x16" href="" />
            {store?.detail?.data?.detail?.facebook_pixel ?
            <script  dangerouslySetInnerHTML={{
              __html: store?.detail?.data?.detail?.facebook_pixel.split('</script>')[0].replace('<script>',''),
            }}/> : ''}
           
          
         </Head>
         {store?.detail?.data?.detail?.facebook_pixel ?
            <noscript  dangerouslySetInnerHTML={{
              __html: store?.detail?.data?.detail?.facebook_pixel.split('</script>')[1].replace('<noscript>','').replace('</noscript>',''),
            }}/> : ''}
         <MainLayout>{children}</MainLayout>
      </>

    );
  }

  if(variant === 'print') {
    return (
      <>
         <Head>
            <link rel="apple-touch-icon" sizes="180x180" href={setting?.detail?.favicon} />
            <link rel="icon" type="image/png" sizes="32x32" href={setting?.detail?.favicon} />
            <link rel="icon" type="image/png" sizes="16x16" href={setting?.detail?.favicon} />
         </Head>
         <AuthGuard>
          {children} 
         </AuthGuard>
      </>
      
    );
  }

  return (
    <>
      <Head>
        <link rel="apple-touch-icon" sizes="180x180" href={setting?.detail?.favicon} />
          <link rel="icon" type="image/png" sizes="32x32" href={setting?.detail?.favicon} />
          <link rel="icon" type="image/png" sizes="16x16" href={setting?.detail?.favicon} />
      </Head>
      <AuthGuard>
       
      
          <DashboardLayout isCollapse={true}>  
        
            {children} 
          </DashboardLayout>
      </AuthGuard>
    </>
    
  );
}
