import React, { useEffect, useState } from 'react';
import type { ReactElement } from 'react';
import Head from 'next/head';
import Link from 'next/link';
import { useAppSelector } from '../../stores/hooks';
import LayoutGuest from '../../layouts/Guest';
import WebSiteHeader from '../../components/WebPageComponents/Header';
import WebSiteFooter from '../../components/WebPageComponents/Footer';
import {
  HeroDesigns,
  FeaturesDesigns,
  AboutUsDesigns,
  ContactFormDesigns,
} from '../../components/WebPageComponents/designs';

import HeroSection from '../../components/WebPageComponents/HeroComponent';

import FeaturesSection from '../../components/WebPageComponents/FeaturesComponent';

import AboutUsSection from '../../components/WebPageComponents/AboutUsComponent';

import ContactFormSection from '../../components/WebPageComponents/ContactFormComponent';

export default function WebSite() {
  const cardsStyle = useAppSelector((state) => state.style.cardsStyle);
  const bgColor = useAppSelector((state) => state.style.bgLayoutColor);
  const projectName = 'Nextry';

  useEffect(() => {
    const darkElement = document.querySelector('body .dark');
    if (darkElement) {
      darkElement.classList.remove('dark');
    }
  }, []);

  const features_points = [
    {
      name: 'Dynamic Role Management',
      description:
        'Easily assign and modify roles to ensure the right access for every team member. Adapt quickly to organizational changes with flexible role settings.',
      icon: 'mdiAccountKey',
    },
    {
      name: 'Real-Time Data Dashboard',
      description:
        'Monitor employee and asset data in real-time with an intuitive dashboard. Gain insights and make informed decisions with up-to-date information at your fingertips.',
      icon: 'mdiViewDashboard',
    },
    {
      name: 'Secure User Authentication',
      description:
        'Protect your data with robust user authentication. Ensure only authorized personnel access sensitive information, maintaining the integrity and security of your system.',
      icon: 'mdiLock',
    },
  ];

  return (
    <div className='flex flex-col min-h-screen'>
      <Head>
        <title>{`Employee and Asset Management Application`}</title>
        <meta
          name='description'
          content={`Discover our secure, browser-based application designed to efficiently manage employee and asset information with user authentication, dynamic roles, and seamless integration.`}
        />
      </Head>
      <WebSiteHeader projectName={'Nextry'} />
      <main className={`flex-grow    bg-white  rounded-none  `}>
        <HeroSection
          projectName={'Nextry'}
          image={['Efficient team and asset management']}
          mainText={`Streamline Your Workforce and Assets`}
          subTitle={`Experience seamless management with ${projectName}, a secure, browser-based solution for employee and asset information. Enhance efficiency with dynamic roles and real-time data.`}
          design={HeroDesigns.IMAGE_RIGHT || ''}
          buttonText={`Get Started Now`}
        />

        <FeaturesSection
          projectName={'Nextry'}
          image={['Efficient management tools display']}
          withBg={1}
          features={features_points}
          mainText={`Discover Key Features of ${projectName}`}
          subTitle={`Unlock the full potential of your workforce and assets with ${projectName}. Explore our powerful features designed to enhance efficiency and security.`}
          design={FeaturesDesigns.CARDS_GRID_WITH_ICONS || ''}
        />

        <AboutUsSection
          projectName={'Nextry'}
          image={['Team collaborating on project']}
          mainText={`Empowering Your Workforce and Assets`}
          subTitle={`At ${projectName}, we are committed to providing a secure and efficient platform for managing your employees and assets. Our mission is to streamline operations and enhance productivity through innovative solutions.`}
          design={AboutUsDesigns.IMAGE_LEFT || ''}
          buttonText={`Learn More About Us`}
        />

        <ContactFormSection
          projectName={'Nextry'}
          design={ContactFormDesigns.WITH_IMAGE || ''}
          image={['Person typing on a laptop']}
          mainText={`Get in Touch with ${projectName} `}
          subTitle={`Reach out to us anytime for inquiries or support. Our team is here to assist you and will respond promptly to your messages.`}
        />
      </main>
      <WebSiteFooter projectName={'Nextry'} />
    </div>
  );
}

WebSite.getLayout = function getLayout(page: ReactElement) {
  return <LayoutGuest>{page}</LayoutGuest>;
};
