From 58c7591db689e4d873c69995f0f1f0a7223ee1fc Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sat, 20 Jun 2026 21:10:52 +0000 Subject: [PATCH 1/2] Bob AI: Update hero section with Tanishq's profile and positioning --- src/pages/HomePage.tsx | 172 +++----------------- src/pages/HomePage/sections/About.tsx | 24 +++ src/pages/HomePage/sections/Contact.tsx | 27 +++ src/pages/HomePage/sections/Faq.tsx | 62 +++++++ src/pages/HomePage/sections/Hero.tsx | 26 +++ src/pages/HomePage/sections/Services.tsx | 29 ++++ src/pages/HomePage/sections/Testimonial.tsx | 20 +++ 7 files changed, 207 insertions(+), 153 deletions(-) create mode 100644 src/pages/HomePage/sections/About.tsx create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Faq.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Services.tsx create mode 100644 src/pages/HomePage/sections/Testimonial.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 4ac7766..7fdb980 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,16 +1,22 @@ +// 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. + import { motion } from "motion/react"; import { StyleProvider } from "@/components/ui/StyleProvider"; import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot"; -import TestimonialTrustCard from "@/components/sections/testimonial/TestimonialTrustCard"; -import HeroWorkScrollStack from "@/components/sections/hero/HeroWorkScrollStack"; -import AboutTestimonialParallax from "@/components/sections/about/AboutTestimonialParallax"; -import FeaturesBentoGridCta from "@/components/sections/features/FeaturesBentoGridCta"; -import FaqTabbedAccordion from "@/components/sections/faq/FaqTabbedAccordion"; -import ContactSplitFormParallax from "@/components/sections/contact/ContactSplitFormParallax"; import LoaderReveal from "@/components/ui/LoaderReveal"; import CornerGlowBackground from "@/components/ui/CornerGlowBackground"; +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import TestimonialSection from './HomePage/sections/Testimonial'; +import AboutSection from './HomePage/sections/About'; +import ServicesSection from './HomePage/sections/Services'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; -export default function HomePage() { +export default function HomePage(): React.JSX.Element { return ( - + - + -
- -
+ -
- -
+ - + -
- -
+
diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..d04b60f --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -0,0 +1,24 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "about" section. + +import React from 'react'; +import AboutTestimonialParallax from "@/components/sections/about/AboutTestimonialParallax"; + +export default function AboutSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..8aaa44c --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -0,0 +1,27 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "contact" section. + +import React from 'react'; +import ContactSplitFormParallax from "@/components/sections/contact/ContactSplitFormParallax"; + +export default function ContactSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..f443e8b --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,62 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "faq" section. + +import React from 'react'; +import FaqTabbedAccordion from "@/components/sections/faq/FaqTabbedAccordion"; + +export default function FaqSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..9b5240b --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,26 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "hero" section. + +import React from 'react'; +import HeroWorkScrollStack from "@/components/sections/hero/HeroWorkScrollStack"; + +export default function HeroSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/Services.tsx b/src/pages/HomePage/sections/Services.tsx new file mode 100644 index 0000000..9523117 --- /dev/null +++ b/src/pages/HomePage/sections/Services.tsx @@ -0,0 +1,29 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "services" section. + +import React from 'react'; +import FeaturesBentoGridCta from "@/components/sections/features/FeaturesBentoGridCta"; + +export default function ServicesSection(): React.JSX.Element { + return ( +
+ +
+ ); +} diff --git a/src/pages/HomePage/sections/Testimonial.tsx b/src/pages/HomePage/sections/Testimonial.tsx new file mode 100644 index 0000000..8f77d31 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonial.tsx @@ -0,0 +1,20 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "testimonial" section. + +import React from 'react'; +import TestimonialTrustCard from "@/components/sections/testimonial/TestimonialTrustCard"; + +export default function TestimonialSection(): React.JSX.Element { + return ( +
+ +
+ ); +} -- 2.49.1 From 42664ce49ac0574415a5305074276f75ba4050fb Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sat, 20 Jun 2026 21:11:52 +0000 Subject: [PATCH 2/2] Bob AI: Add tools section and remove unused sections --- src/pages/HomePage.tsx | 8 +-- src/pages/HomePage/sections/About.tsx | 18 +++--- src/pages/HomePage/sections/Contact.tsx | 20 +++---- src/pages/HomePage/sections/Faq.tsx | 62 -------------------- src/pages/HomePage/sections/Services.tsx | 22 ++----- src/pages/HomePage/sections/Testimonial.tsx | 20 ------- src/pages/HomePage/sections/Tools.tsx | 64 +++++++++++++++++++++ 7 files changed, 89 insertions(+), 125 deletions(-) delete mode 100644 src/pages/HomePage/sections/Faq.tsx delete mode 100644 src/pages/HomePage/sections/Testimonial.tsx create mode 100644 src/pages/HomePage/sections/Tools.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 7fdb980..6cbf6d9 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -10,13 +10,12 @@ import LoaderReveal from "@/components/ui/LoaderReveal"; import CornerGlowBackground from "@/components/ui/CornerGlowBackground"; import React from 'react'; import HeroSection from './HomePage/sections/Hero'; -import TestimonialSection from './HomePage/sections/Testimonial'; import AboutSection from './HomePage/sections/About'; import ServicesSection from './HomePage/sections/Services'; -import FaqSection from './HomePage/sections/Faq'; import ContactSection from './HomePage/sections/Contact'; -export default function HomePage(): React.JSX.Element { + +import ToolsSection from './HomePage/sections/Tools';export default function HomePage(): React.JSX.Element { return ( - + - diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx index d04b60f..4b08809 100644 --- a/src/pages/HomePage/sections/About.tsx +++ b/src/pages/HomePage/sections/About.tsx @@ -8,17 +8,13 @@ export default function AboutSection(): React.JSX.Element { return (
+ tag="About Me" + quote="I'm a marketer who understands brands from the inside out. I've scaled revenue through campaigns, built content that ranks organically, and designed experiences that convert. Currently pursuing MBA in Marketing & Business Analytics at DTU." + author="Tanishq" + role="Brand & Marketing Professional" + imageSrc="https://picsum.photos/seed/524311708/1200/800" + socialLinks={[{"icon":"Linkedin","href":"#","label":"LinkedIn"},{"label":"Email","href":"#","icon":"Mail"},{"label":"Phone","href":"#","icon":"Phone"}]} + />
); } diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx index 8aaa44c..026e622 100644 --- a/src/pages/HomePage/sections/Contact.tsx +++ b/src/pages/HomePage/sections/Contact.tsx @@ -8,20 +8,18 @@ export default function ContactSection(): React.JSX.Element { return (
+ textarea={{ name: "message", placeholder: "Tell me about your project...", rows: 5, required: true }} + buttonText="Send Message" + imageSrc="https://picsum.photos/seed/2106098008/1200/800" + ctaLinks={[{"href":"#","icon":"Linkedin","label":"Connect on LinkedIn"},{"icon":"Mail","label":"Email Me","href":"#"}]} + />
); } diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx deleted file mode 100644 index f443e8b..0000000 --- a/src/pages/HomePage/sections/Faq.tsx +++ /dev/null @@ -1,62 +0,0 @@ -// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this -// file as the canonical source for the "faq" section. - -import React from 'react'; -import FaqTabbedAccordion from "@/components/sections/faq/FaqTabbedAccordion"; - -export default function FaqSection(): React.JSX.Element { - return ( -
- -
- ); -} diff --git a/src/pages/HomePage/sections/Services.tsx b/src/pages/HomePage/sections/Services.tsx index 9523117..fc4e483 100644 --- a/src/pages/HomePage/sections/Services.tsx +++ b/src/pages/HomePage/sections/Services.tsx @@ -8,22 +8,12 @@ export default function ServicesSection(): React.JSX.Element { return (
+ tag="Expertise" + title="What I Do" + description="End-to-end marketing expertise spanning strategy, execution, and measurement." + features={[{"description":"End-to-end campaign planning and execution across digital channels.","title":"Brand & Campaign Marketing","imageSrc":"https://images.unsplash.com/photo-1557838923-2985c318be48?auto=format&fit=crop&q=80&w=1000"},{"description":"Long form, short form, ad copy, scripts — written to perform not just to exist.","title":"Creative Content","imageSrc":"https://images.unsplash.com/photo-1455390582262-044cdead2708?auto=format&fit=crop&q=80&w=1000"},{"imageSrc":"https://images.unsplash.com/photo-1432888117426-115b08df9ddf?auto=format&fit=crop&q=80&w=1000","description":"Data-driven content strategy with proven Page 1 rankings and organic growth.","title":"Digital & SEO"},{"imageSrc":"https://images.unsplash.com/photo-1561070791-2526d30994b5?auto=format&fit=crop&q=80&w=1000","description":"Wireframes, website references, visual templates using Figma and Canva.","title":"Design & UI/UX"}]} + ctaButton={{"href":"#contact","text":"Let's work together","avatarSrc":"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=200","avatarLabel":"Tanishq"}} + />
); } diff --git a/src/pages/HomePage/sections/Testimonial.tsx b/src/pages/HomePage/sections/Testimonial.tsx deleted file mode 100644 index 8f77d31..0000000 --- a/src/pages/HomePage/sections/Testimonial.tsx +++ /dev/null @@ -1,20 +0,0 @@ -// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this -// file as the canonical source for the "testimonial" section. - -import React from 'react'; -import TestimonialTrustCard from "@/components/sections/testimonial/TestimonialTrustCard"; - -export default function TestimonialSection(): React.JSX.Element { - return ( -
- -
- ); -} diff --git a/src/pages/HomePage/sections/Tools.tsx b/src/pages/HomePage/sections/Tools.tsx new file mode 100644 index 0000000..015862f --- /dev/null +++ b/src/pages/HomePage/sections/Tools.tsx @@ -0,0 +1,64 @@ +import ScrollReveal from '@/components/ui/ScrollReveal'; +import TextAnimation from '@/components/ui/TextAnimation'; +import Card from '@/components/ui/Card'; +import Tag from '@/components/ui/Tag'; +import { Search, BarChart, FileText, PenTool, Database, PieChart, Code, Bot } from 'lucide-react'; + +export default function ToolsSection() { + const tools = [ + { name: 'SEMrush', icon: Search }, + { name: 'Ahrefs', icon: Search }, + { name: 'Google Analytics', icon: BarChart }, + { name: 'Yoast SEO', icon: FileText }, + { name: 'Figma', icon: PenTool }, + { name: 'Canva', icon: PenTool }, + { name: 'HubSpot', icon: Database }, + { name: 'Claude', icon: Bot }, + { name: 'Lovable', icon: Code }, + { name: 'Codex', icon: Code }, + { name: 'Power BI', icon: PieChart }, + { name: 'Excel', icon: PieChart }, + ]; + + return ( +
+
+
+
+ + + + + +

+ The platforms and software I use to execute campaigns, analyze data, and design experiences. +

+
+
+ +
+ {tools.map((tool, index) => { + const Icon = tool.icon; + return ( + + +
+ +
+

{tool.name}

+
+
+ ); + })} +
+
+
+
+ ); +} \ No newline at end of file -- 2.49.1