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 = 'icabinet';

  useEffect(() => {
    const darkElement = document.querySelector('body .dark');
    if (darkElement) {
      darkElement.classList.remove('dark');
    }
  }, []);
  const pages = [
    {
      href: '/home',
      label: 'home',
    },

    {
      href: '/services',
      label: 'services',
    },

    {
      href: '/contact',
      label: 'contact',
    },
  ];

  const features_points = [
    {
      name: 'User Management',
      description:
        'Effortlessly manage user roles and permissions, ensuring secure access for super-admins, admins, doctors, and secretaries.',
      icon: 'mdiAccountGroup',
    },
    {
      name: 'Patient Scheduling',
      description:
        'Streamline appointment bookings with an intuitive interface, allowing easy scheduling, rescheduling, and cancellations.',
      icon: 'mdiCalendarCheck',
    },
    {
      name: 'Real-time Messaging',
      description:
        'Enhance communication with instant messaging between users, facilitating quick and effective collaboration.',
      icon: 'mdiMessageText',
    },
    {
      name: 'Excel Integration',
      description:
        'Seamlessly import and export patient data using Excel, ensuring data accuracy and easy record management.',
      icon: 'mdiFileExcel',
    },
    {
      name: 'Waiting Room Management',
      description:
        'Optimize patient flow with drag-and-drop status updates, improving the waiting room experience.',
      icon: 'mdiChairRolling',
    },
    {
      name: 'Prescription Management',
      description:
        'Simplify prescription creation and management, allowing doctors to quickly generate and print prescriptions.',
      icon: 'mdiPill',
    },
  ];

  return (
    <div className='flex flex-col min-h-screen'>
      <Head>
        <title>{`iCabinet - Comprehensive Medical Practice Management`}</title>
        <meta
          name='description'
          content={`Discover iCabinet, the ultimate solution for managing medical practices efficiently. From user management to patient appointments, streamline your operations with our intuitive platform.`}
        />
      </Head>
      <WebSiteHeader projectName={'icabinet'} pages={pages} />
      <main className={`flex-grow    bg-white  rounded-none  `}>
        <HeroSection
          projectName={'icabinet'}
          image={['Doctor managing appointments efficiently']}
          mainText={`Revolutionize Your Practice with iCabinet`}
          subTitle={`Experience seamless medical practice management with iCabinet. From patient appointments to user access, streamline every aspect of your operations effortlessly.`}
          design={HeroDesigns.IMAGE_RIGHT || ''}
          buttonText={`Get Started Now`}
        />

        <FeaturesSection
          projectName={'icabinet'}
          image={['Dashboard showcasing key features']}
          withBg={0}
          features={features_points}
          mainText={`Explore iCabinet's Powerful Features`}
          subTitle={`Discover how ${projectName} can transform your medical practice with its comprehensive features designed for efficiency and ease.`}
          design={FeaturesDesigns.CARDS_GRID_WITH_ICONS || ''}
        />

        <AboutUsSection
          projectName={'icabinet'}
          image={['Team collaborating on innovative solutions']}
          mainText={`Discover the Vision Behind iCabinet`}
          subTitle={`At ${projectName}, we are committed to revolutionizing medical practice management. Our mission is to provide a seamless, efficient, and user-friendly platform that empowers healthcare professionals to focus on what truly matters: patient care.`}
          design={AboutUsDesigns.IMAGE_LEFT || ''}
          buttonText={`Learn More About Us`}
        />

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

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