diff --git a/src/index.css b/src/index.css index 757e10f..27a70ee 100644 --- a/src/index.css +++ b/src/index.css @@ -1,19 +1,19 @@ -@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap'); @import "tailwindcss"; @import "./styles/masks.css"; @import "./styles/animations.css"; :root { /* @colorThemes/lightTheme/grayNavyBlue */ - --background: #f5faff; - --card: #ffffff; - --foreground: #001122; - --primary-cta: #15479c; - --primary-cta-text: #f5faff; - --secondary-cta: #ffffff; - --secondary-cta-text: #001122; - --accent: #a8cce8; - --background-accent: #7ba3cf; + --background: #0D0D0D; + --card: #1A1A1A; + --foreground: #FFFFFF; + --primary-cta: #00FFAA; + --primary-cta-text: #000000; + --secondary-cta: #0088FF; + --secondary-cta-text: #FFFFFF; + --accent: #FF6600; + --background-accent: #222222; /* @layout/border-radius/rounded */ --radius: 0.5rem; @@ -88,7 +88,7 @@ --color-background-accent: var(--background-accent); /* Fonts */ - --font-sans: 'Poppins', sans-serif; + --font-sans: 'Space Grotesk', sans-serif; --font-tight: "Inter Tight", sans-serif; --font-mono: monospace; diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 4a2f92b..de78ca0 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,245 +1,33 @@ -import AboutTextSplit from '@/components/sections/about/AboutTextSplit'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn'; -import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; -import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel'; -import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; -import PricingLayeredCards from '@/components/sections/pricing/PricingLayeredCards'; -import { Shield, Smartphone, TrendingUp } from "lucide-react"; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in .//sections/.tsx. Edit the section +// files directly. Non-block content (wrappers, non-inlinable sections) is +// preserved inline; extracted section blocks become refs. -export default function HomePage() { +import React from 'react'; + + +import HeroNewSection from './HomePage/sections/HeroNew'; +import ServicesNewSection from './HomePage/sections/ServicesNew'; +import PortfolioNewSection from './HomePage/sections/PortfolioNew'; +import AboutNewSection from './HomePage/sections/AboutNew'; +import ContactNewSection from './HomePage/sections/ContactNew'; +import FaqSection from './HomePage/sections/Faq'; +import MetricsSection from './HomePage/sections/Metrics';export default function HomePage(): React.JSX.Element { return ( - <> -
- - - -
+<> + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
-
- - - -
-
- - - -
+ + + ); } diff --git a/src/pages/HomePage/sections/AboutNew.tsx b/src/pages/HomePage/sections/AboutNew.tsx new file mode 100644 index 0000000..f77fc0a --- /dev/null +++ b/src/pages/HomePage/sections/AboutNew.tsx @@ -0,0 +1,41 @@ +import { motion } from "motion/react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +export default function AboutNewSection() { + return ( +
+
+
+
+ +
+ Palak Dusiya +
+ Palak Dusiya +
+
+
+
+
+ +

+ About_ +

+
+

+ I'm Palak Dusiya, a Full Stack Developer (B.Tech CS) based in Jhansi. +

+

+ I started Prauha because I noticed local businesses—dental clinics, restaurants, hotels—struggling with generic, slow, and uninspiring template websites. +

+

+ My goal is simple: build fast, unique, and hand-coded websites that actually help your business grow and stand out from the competition. +

+
+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/ContactNew.tsx b/src/pages/HomePage/sections/ContactNew.tsx new file mode 100644 index 0000000..1a25638 --- /dev/null +++ b/src/pages/HomePage/sections/ContactNew.tsx @@ -0,0 +1,58 @@ +import { motion } from "motion/react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; +import Button from "@/components/ui/Button"; + +export default function ContactNewSection() { + return ( +
+
+
+
+
+ +

+ Let's Talk_ +

+

+ Ready to get a website that doesn't look like everyone else's? Reach out directly. +

+ +
+
+
+ +
+ +91 9026089417 +
+ + +
+
+
+ + +
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..d113760 --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,17 @@ +// Created by add_section_from_catalog (FaqTwoColumn). + +import React from 'react'; +import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn'; + +export default function FaqSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/HeroNew.tsx b/src/pages/HomePage/sections/HeroNew.tsx new file mode 100644 index 0000000..632db93 --- /dev/null +++ b/src/pages/HomePage/sections/HeroNew.tsx @@ -0,0 +1,57 @@ +import { motion } from "motion/react"; +import Button from "@/components/ui/Button"; + +export default function HeroNewSection() { + return ( +
+
+
+
+
+ + Freelance Web Developer + + + Prauha. + + + Websites That Don't Look Like Everyone Else's + + +
+
+
+
+
+ {""} +
+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Metrics.tsx b/src/pages/HomePage/sections/Metrics.tsx new file mode 100644 index 0000000..1763029 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,17 @@ +// Created by add_section_from_catalog (MetricsIconCards). + +import React from 'react'; +import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/PortfolioNew.tsx b/src/pages/HomePage/sections/PortfolioNew.tsx new file mode 100644 index 0000000..21ac518 --- /dev/null +++ b/src/pages/HomePage/sections/PortfolioNew.tsx @@ -0,0 +1,58 @@ +import { motion } from "motion/react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +export default function PortfolioNewSection() { + const projects = [ + { + title: "Smile Care Dental", + type: "Clinic Website", + image: "https://images.unsplash.com/photo-1606811841689-23dfddce3e95?auto=format&fit=crop&q=80", + color: "bg-primary-cta" + }, + { + title: "Spice Garden", + type: "Restaurant Menu & Booking", + image: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?auto=format&fit=crop&q=80", + color: "bg-secondary-cta" + }, + { + title: "City Hospital", + type: "Healthcare Portal", + image: "https://images.unsplash.com/photo-1519494026892-80bbd2d6fd0d?auto=format&fit=crop&q=80", + color: "bg-accent" + } + ]; + + return ( +
+
+
+ +

+ Work_ +

+
+ +
+ {projects.map((project, index) => ( + +
+
+
+ {project.title} +
+
+
{project.type}
+

{project.title}

+
+
+ +
+
+
+ ))} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/ServicesNew.tsx b/src/pages/HomePage/sections/ServicesNew.tsx new file mode 100644 index 0000000..2ae3ddb --- /dev/null +++ b/src/pages/HomePage/sections/ServicesNew.tsx @@ -0,0 +1,66 @@ +import { motion } from "motion/react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; + +export default function ServicesNewSection() { + const services = [ + { + title: "Basic Website", + price: "₹15,000", + features: ["5 pages", "Mobile-friendly", "Google Maps", "Contact form", "WhatsApp button"], + color: "bg-primary-cta", + textColor: "text-primary-cta-text" + }, + { + title: "Premium Website", + price: "₹25,000", + features: ["Everything in Basic", "Appointment booking", "Customer reviews", "Gallery", "SEO basics"], + color: "bg-secondary-cta", + textColor: "text-secondary-cta-text" + }, + { + title: "Restaurant / Hotel", + price: "₹35,000", + features: ["Online table/room booking", "Digital menu", "Event calendar", "Payment gateway integration"], + color: "bg-accent", + textColor: "text-foreground" + } + ]; + + return ( +
+
+ +

+ Services_ +

+
+ +
+ {services.map((service, index) => ( + +
+
+

+ {service.title} +

+
    + {service.features.map((feature, i) => ( +
  • + {feature} +
  • + ))} +
+
+
+
+ {service.price} +
+
+
+
+ ))} +
+
+
+ ); +} \ No newline at end of file