diff --git a/app/about/book-meeting/page.tsx b/app/about/book-meeting/page.tsx index 1721815bc..3d1629a88 100644 --- a/app/about/book-meeting/page.tsx +++ b/app/about/book-meeting/page.tsx @@ -1,6 +1,11 @@ "use client"; +import { Metadata } from "next"; import { useEffect } from "react"; - +export const metadata: Metadata = { + title: "Book meeting", + description: + "Let's make together.", +}; const CalendlyWidget = () => { useEffect(() => { diff --git a/app/blog/first-post/page.tsx b/app/blog/first-post/page.tsx index 3be042e42..12d9317c4 100644 --- a/app/blog/first-post/page.tsx +++ b/app/blog/first-post/page.tsx @@ -1,120 +1,113 @@ import { IconShare, IconLink, IconHeartFilled, IconQuote } from '@tabler/icons-react'; import posts from '../data/posts.json'; import LikeButton from '@/app/components/LikeButton'; -import Image from "next/image" +import Image from 'next/image'; import Link from 'next/link'; +import { Metadata } from 'next'; +// Find the post after declaring metadata to avoid the block-scoped variable issue const post = posts.find(p => p.slug === 'first-post'); +export const metadata: Metadata = { + title: post?.title || "Blog Post", + description: + post?.description || "Blog Description", +}; + export default function FirstPostPage() { return ( - -
-
-

think it

-
-

{post?.title ? ( - - {post?.title} - - ):(
title in processing
)}

-
- - by - - {post?.author} - - / - {new Date(post?.date as string).toLocaleString("en-US", { +
+
+

+ think it +

+
+

+ {post?.title ? ( + + {post.title} + + ) : ( +
Title in processing
+ )} +

+
+ by + {post?.author} + / + + {new Date(post?.date || '').toLocaleString('en-US', { day: 'numeric', month: 'long', - year: 'numeric' - - })} - / - - {post?.duration} - -
-

- {post?.description} - -

- {post && ( + year: 'numeric', + })} + + / + {post?.duration} +
+

+ {post?.description} +

+ {post && ( +
+ {post.title}
- - {post?.title} -
- {/* Check if post.content is an object and has the "data-ctn" property */} - {typeof post.content === 'object' && 'data-ctn' in post.content && post.content["data-ctn"].map((contentItem) => ( + {Array.isArray(post.content) && + post.content.map(contentItem => (
{contentItem.heading3 && ( -

{contentItem.heading3}

- )} - {contentItem.paraChildPara && ( -

{contentItem.paraChildPara}

+

+ {contentItem.heading3} +

)} + {contentItem.paraChildPara &&

{contentItem.paraChildPara}

}
))} -
- )} - - {/* Additional post content */} -
-{/* - - */}
-
- -
-
-
- like this -
-
- - Himanshu and12 -

others love this

-
-
-
-
-
-
-
- neel -
-
neeraj rekwar
-

Artist way show realism

- + )} + +
+
+
+ + like this + +
+
+ Himanshu + and + 12 +

others love this

+
+
+
+
+
+
+
+ neel +
+
neeraj rekwar
+

Artist way show realism

+
- - -
- -
-
-
- + + + ); } diff --git a/app/blog/layout.tsx b/app/blog/layout.tsx index efbebf44e..a32ed5d9c 100644 --- a/app/blog/layout.tsx +++ b/app/blog/layout.tsx @@ -3,6 +3,12 @@ import { FloatingNavDemo } from "../components/floatingNavBar"; import { Toaster } from "@/components/ui/toaster"; import { Caveat } from "next/font/google"; import CurrentTime from "../components/CurrentTime"; +import { Metadata } from "next"; +export const metadata: Metadata = { + title: "Blog", + description: + "Never give up on your dreams. With perseverance and resilience, you can overcome any challenge.", +}; const caveat = Caveat({ weight: "400", diff --git a/app/blog/second-post/page.tsx b/app/blog/second-post/page.tsx index 4c7d36bc2..b2ff37022 100644 --- a/app/blog/second-post/page.tsx +++ b/app/blog/second-post/page.tsx @@ -2,9 +2,16 @@ import { IconHeartFilled, IconLink, IconQuestionMark, IconQuote, IconShare } fro import posts from '../data/posts.json'; import Image from 'next/image' import Link from 'next/link'; +import { Metadata } from 'next'; const post = posts.find(p => p.slug === 'second-post'); +export const metadata: Metadata = { + title: post?.title || "Blog Post", + description: + post?.description || "Blog Description", +}; + export default function SecondPostPage() { return (
diff --git a/app/components/heroSection.tsx b/app/components/heroSection.tsx index a0310230b..94f3f709c 100644 --- a/app/components/heroSection.tsx +++ b/app/components/heroSection.tsx @@ -409,7 +409,7 @@ export function HeroSection() { Localization

- + Your business, including location, hours of operation, and contact details.

@@ -1283,14 +1283,27 @@ export function HeroSection() { concepts into tangible results.
-
diff --git a/app/contact/page.tsx b/app/contact/page.tsx index 1476159e2..da759e5cd 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -1,229 +1,12 @@ -"use client"; - -import React, { useState } from "react"; -import { Button } from "@/components/ui/button"; -import { ToastAction } from "@/components/ui/toast"; - -import CurrentTime from "../components/CurrentTime"; -import AdminWeather from "../components/AdminWeather"; -import QuotesSlider from "../components/QuotesSlider"; -import { useToast } from "@/hooks/use-toast"; +import FillForm from "@/components/FillForm"; const ContactPage: React.FC = () => { - const { toast } = useToast(); - const [formData, setFormData] = useState({ - name: "", - mobile: "", - email: "", - subject: "", - message: "", - }); - - const handleChange = ( - e: React.ChangeEvent - ) => { - setFormData({ - ...formData, - [e.target.name]: e.target.value, - }); - }; - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - - try { - const response = await fetch("https://formspree.io/f/mnqebqjq", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(formData), - }); - - if (response.ok) { - toast({ - variant: "default", - title: "Message sent!", - description: "Your message has been successfully sent.", - }); - setFormData({ - name: "", - mobile: "", - email: "", - subject: "", - message: "", - }); - } else { - toast({ - variant: "destructive", - title: "Uh oh! Something went wrong.", - description: "There was a problem with your request.", - action: Try again, - }); - } - } catch (error) { - toast({ - variant: "destructive", - title: "Uh oh! Something went wrong.", - description: "An unexpected error occurred. Please try again.", - action: Try again, - }); - } - }; - - return ( -
-
-
    -
  • nee
  • -
-
    -
  • - Reach at me ● -
  • -
-
-
-
-
-

- Connecting You with Us – Reach Out Anytime, Anywhere. -

-

- -

-
-
- -
-
- ● Your Matters – Drop Me a Line. -
- -
-
- - -
-
- - -
- -
- - -
-
- -