diff --git a/public/about.png b/public/about.png new file mode 100644 index 0000000..be660f2 Binary files /dev/null and b/public/about.png differ diff --git a/public/contect.png b/public/contect.png new file mode 100644 index 0000000..dbbcfd8 Binary files /dev/null and b/public/contect.png differ diff --git a/public/nearle people.png b/public/nearle people.png new file mode 100644 index 0000000..e368a11 Binary files /dev/null and b/public/nearle people.png differ diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 7811942..df69dff 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -1,8 +1,13 @@ -"use client"; - import React from "react"; import Link from "next/link"; +import Image from "next/image"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "About Us", + description: "Discover Nearle, India's first hyperlocal neighborhood living platform connecting residents with local convenience, grocery delivery, and home services.", +}; const STRATEGY_CARDS = [ { @@ -31,47 +36,24 @@ const COUNTERS = [ { count: "100+", label: "Active Neighborhoods", icon: "location_city" } ]; -const TEAM = [ - { - name: "Nellian Solliappan", - role: "Co-Founder & CEO", - initials: "NS", - color: "bg-primary text-white" - }, - { - name: "Fazul Ilahi", - role: "Founder & CTO", - initials: "FI", - color: "bg-secondary text-white" - }, - { - name: "Sagar", - role: "Co-Founder & COO", - initials: "S", - color: "bg-brand-accent text-brand-dark" - }, - { - name: "Prithvi", - role: "Investor", - initials: "P", - color: "bg-surface-container text-on-surface" - }, - { - name: "Sriram Sundararajan", - role: "Investor", - initials: "SS", - color: "bg-surface-container-highest text-brand-dark" - } -]; - export default function AboutPage() { return (
{/* ─── Hero Section ─── */} -
-
-
+
+ {/* Background Image with Overlay */} +
+ About Nearle Background +
+

@@ -142,82 +124,6 @@ export default function AboutPage() {

- {/* ─── Team Section ─── */} -
-
- - {/* Left: About team content */} -
- - Who we are - -

- Team Nearle -

-

- Nearle is built on the core concept of “Boost business by trust”. We assist local offline stores in successfully spreading their brand message to the neighborhood to open new revenue streams. -

-

- Our team combines technology skills, domain expertise, and operational focus to ensure the highest quality solution for our customers. -

- - - Contact Team - -
- - {/* Right: Team Grid cards */} -
- {TEAM.map((t) => ( -
-
- {t.initials} -
-

- {t.name} -

-

- {t.role} -

-
- ))} -
- -
-
- - {/* ─── Client Testimonial & Quote ─── */} -
-
- - “ - -
-

- Partner Feedback -

-
- “Nearle has opened up immense opportunities for us to survive the competition, sustain in business, and gain our customers back.” -
-
-
- DK -
-
-

Darshan K

-

Erranderz Partner

-
-
-
-
-
- {/* ─── Brand Building Banner ─── */}
diff --git a/src/app/businesses/page.tsx b/src/app/businesses/page.tsx index 7c6f03d..2c71d0b 100644 --- a/src/app/businesses/page.tsx +++ b/src/app/businesses/page.tsx @@ -90,7 +90,7 @@ export default function BusinessesPage() { return (
{/* ─── Hero Section with Animated Rotator ─── */} -
+
{/* Background Image with Overlay */}
Power your business.
- + {ROTATOR_WORDS[wordIndex]} diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 2288358..835b3bd 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -1,129 +1,34 @@ -"use client"; - -import React, { useState } from "react"; +import React from "react"; import Link from "next/link"; +import Image from "next/image"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; +import { ContactForm } from "@/components/contact/ContactForm"; +import type { Metadata } from "next"; -type FormData = { - name: string; - email: string; - message: string; -}; - -type FormErrors = { - name?: string; - email?: string; - message?: string; +export const metadata: Metadata = { + title: "Contact Us", + description: "Get in touch with Nearle's team. Reach out for support, merchant partnerships, delivery, or general hyperlocal neighborhood inquiries.", }; export default function ContactPage() { - const [formData, setFormData] = useState({ - name: "", - email: "", - message: "", - }); - - const [errors, setErrors] = useState({}); - const [isSubmitting, setIsSubmitting] = useState(false); - const [showToast, setShowToast] = useState(false); - - const handleInputChange = ( - e: React.ChangeEvent - ) => { - const { name, value } = e.target; - setFormData((prev) => ({ - ...prev, - [name]: value, - })); - // Clear error for this field as the user types - if (errors[name as keyof FormErrors]) { - setErrors((prev) => ({ - ...prev, - [name]: undefined, - })); - } - }; - - const validateForm = (): boolean => { - const tempErrors: FormErrors = {}; - let isValid = true; - - if (!formData.name.trim()) { - tempErrors.name = "Name is required"; - isValid = false; - } - - const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; - if (!formData.email.trim()) { - tempErrors.email = "Email is required"; - isValid = false; - } else if (!emailRegex.test(formData.email)) { - tempErrors.email = "Please enter a valid email address"; - isValid = false; - } - - if (!formData.message.trim()) { - tempErrors.message = "Message is required"; - isValid = false; - } else if (formData.message.trim().length < 10) { - tempErrors.message = "Message must be at least 10 characters long"; - isValid = false; - } - - setErrors(tempErrors); - return isValid; - }; - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - - if (!validateForm()) return; - - setIsSubmitting(true); - - // Simulate API Request delay - await new Promise((resolve) => setTimeout(resolve, 1200)); - - setIsSubmitting(false); - setShowToast(true); - setFormData({ name: "", email: "", message: "" }); - - // Auto-hide toast after 5 seconds - setTimeout(() => { - setShowToast(false); - }, 5000); - }; - return (
{/* ─── Breadcrumbs & Hero Page Header ─── */} -
- {/* Background Decorative Gradients */} -
-
- -
- {/* Breadcrumbs */} - +
+ {/* Background Image with Overlay */} +
+ Contact Nearle Background +
+
+ {/* Header Title */}

Get in touch

@@ -147,12 +52,12 @@ export default function ContactPage() {

Our Location

- Nearle HQ, 29 Avinashi Road,
- Coimbatore, Tamil Nadu,
- 641018, India + Nearle HQ, 424, Diwan Bahadur Rd,
+ Opposite To Sri Krishna Sweets, R.S. Puram,
+ Coimbatore, Tamil Nadu 641002