31248/frontend/src/pages/index.tsx
2025-05-05 07:53:47 +00:00

216 lines
7.2 KiB
TypeScript

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,
TestimonialsDesigns,
PricingDesigns,
AboutUsDesigns,
} from '../components/WebPageComponents/designs';
import HeroSection from '../components/WebPageComponents/HeroComponent';
import FeaturesSection from '../components/WebPageComponents/FeaturesComponent';
import TestimonialsSection from '../components/WebPageComponents/TestimonialsComponent';
import PricingSection from '../components/WebPageComponents/PricingComponent';
import AboutUsSection from '../components/WebPageComponents/AboutUsComponent';
export default function WebSite() {
const cardsStyle = useAppSelector((state) => state.style.cardsStyle);
const bgColor = useAppSelector((state) => state.style.bgLayoutColor);
const projectName = 'astro';
useEffect(() => {
const darkElement = document.querySelector('body .dark');
if (darkElement) {
darkElement.classList.remove('dark');
}
}, []);
const pages = [
{
href: '/home',
label: 'home',
},
{
href: '/blog',
label: 'blog',
},
{
href: '/faq',
label: 'FAQ',
},
{
href: '/pricing',
label: 'pricing',
},
{
href: '/contact',
label: 'contact',
},
];
const features_points = [
{
name: 'Personalized Kundli Generation',
description:
'Enter your birth details to generate a detailed and personalized Kundli. Understand your astrological chart with ease.',
icon: 'mdiAccountCircle',
},
{
name: 'Gemstone Recommendations',
description:
'Receive tailored gemstone suggestions based on your Kundli. Enhance your life with the right astrological stones.',
icon: 'mdiGemstone',
},
{
name: 'Secure PDF Downloads',
description:
'Download your comprehensive Kundli report in a secure PDF format. Keep your astrological insights at your fingertips.',
icon: 'mdiFileDownload',
},
];
const testimonials = [
{
text: 'Using ${projectName} has transformed my understanding of astrology. The insights are incredibly accurate and helpful.',
company: 'AstroTech Solutions',
user_name: 'Jane Doe, CEO',
},
{
text: "I was amazed by the detailed Kundli report I received. It's like having a personal astrologer at my fingertips!",
company: 'Starry Skies Inc.',
user_name: 'John Smith, Marketing Director',
},
{
text: "The gemstone recommendations were spot on. I've noticed a positive change in my life since using them.",
company: 'Cosmic Creations',
user_name: 'Emily Johnson, Product Manager',
},
{
text: 'I love how easy it is to generate my Kundli with ${projectName}. The interface is user-friendly and intuitive.',
company: 'Zodiac Ventures',
user_name: 'Michael Brown, UX Designer',
},
{
text: 'The customer support is fantastic. They helped me understand my Kundli and provided valuable insights.',
company: 'Astro Innovations',
user_name: 'Sarah Lee, Customer Success Manager',
},
{
text: 'I highly recommend ${projectName} to anyone interested in astrology. The accuracy and detail are unmatched.',
company: 'Celestial Enterprises',
user_name: 'David Wilson, Astrologer',
},
];
const pricing_features = {
standard: {
features: [
'Personalized Kundli Generation',
'Basic Gemstone Recommendations',
],
limited_features: ['Limited PDF Downloads', 'Email Support'],
},
premium: {
features: [
'Advanced Kundli Analysis',
'Comprehensive Gemstone Recommendations',
],
also_included: [
'Priority Email Support',
'Monthly Astrological Insights',
],
},
business: {
features: [
'Full Kundli Suite Access',
'Custom Gemstone Solutions',
'Dedicated Account Manager',
],
},
};
const description = {
standard:
'Ideal for individuals seeking personalized astrological insights and basic gemstone recommendations.',
premium:
'Perfect for small businesses or startups looking for advanced astrological analysis and comprehensive support.',
business:
'Designed for enterprises requiring full access to astrological tools, custom solutions, and dedicated support.',
};
return (
<div className='flex flex-col min-h-screen'>
<Head>
<title>{`Kundli.com - Your Personalized Digital Astrology Platform`}</title>
<meta
name='description'
content={`Discover your personalized digital Kundli with Kundli.com. Generate detailed horoscopes, explore astrological insights, and find gemstone recommendations tailored to your birth details.`}
/>
</Head>
<WebSiteHeader projectName={'astro'} pages={pages} />
<main className={`flex-grow ${bgColor} rounded-none `}>
<HeroSection
projectName={'astro'}
image={['Astrological chart and stars']}
mainText={`Unlock Your Future with ${projectName}`}
subTitle={`Experience the power of personalized astrology with ${projectName}. Generate your detailed digital Kundli and explore insights tailored to your birth details. Discover the path to your destiny today.`}
design={HeroDesigns.IMAGE_BG || ''}
buttonText={`Get Your Kundli`}
/>
<FeaturesSection
projectName={'astro'}
image={['Astrology tools and symbols']}
withBg={0}
features={features_points}
mainText={`Explore ${projectName} Features`}
subTitle={`Discover the powerful features of ${projectName} that make astrology accessible and insightful for everyone.`}
design={FeaturesDesigns.CARDS_GRID_WITH_ICONS || ''}
/>
<TestimonialsSection
projectName={'astro'}
design={TestimonialsDesigns.HORIZONTAL_CAROUSEL || ''}
testimonials={testimonials}
mainText={`What Our Users Say About ${projectName} `}
/>
<PricingSection
projectName={'astro'}
withBg={1}
features={pricing_features}
description={description}
/>
<AboutUsSection
projectName={'astro'}
image={['Astrologer with celestial chart']}
mainText={`Discover the Magic of ${projectName}`}
subTitle={`At ${projectName}, we blend ancient wisdom with modern technology to provide personalized astrological insights. Our mission is to empower individuals with knowledge and guidance for a brighter future.`}
design={AboutUsDesigns.IMAGE_RIGHT || ''}
buttonText={`Learn More About Us`}
/>
</main>
<WebSiteFooter projectName={'astro'} pages={pages} />
</div>
);
}
WebSite.getLayout = function getLayout(page: ReactElement) {
return <LayoutGuest>{page}</LayoutGuest>;
};