From d53d49f8f483503b04fcc7a9f58fd69e16f85099 Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Fri, 19 Jun 2026 19:50:19 +0000 Subject: [PATCH] Bob AI: Add Reputation Management, CRM Dashboard, and update FAQ --- src/pages/HomePage.tsx | 6 +- src/pages/HomePage/sections/CrmDashboard.tsx | 78 ++++++++++ src/pages/HomePage/sections/Faq.tsx | 146 ++++++++++++++---- .../sections/ReputationManagement.tsx | 74 +++++++++ 4 files changed, 271 insertions(+), 33 deletions(-) create mode 100644 src/pages/HomePage/sections/CrmDashboard.tsx create mode 100644 src/pages/HomePage/sections/ReputationManagement.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 2ada8c9..4272220 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -17,7 +17,9 @@ import TrustedBySection from './HomePage/sections/TrustedBy'; import BusinessProblemsSection from './HomePage/sections/BusinessProblems'; import AiDemosSection from './HomePage/sections/AiDemos'; import AutomationShowcaseSection from './HomePage/sections/AutomationShowcase'; -import PremiumHamperSection from './HomePage/sections/PremiumHamper';export default function HomePage(): React.JSX.Element { +import PremiumHamperSection from './HomePage/sections/PremiumHamper'; +import ReputationManagementSection from './HomePage/sections/ReputationManagement'; +import CrmDashboardSection from './HomePage/sections/CrmDashboard';export default function HomePage(): React.JSX.Element { return ( <> @@ -34,6 +36,8 @@ import PremiumHamperSection from './HomePage/sections/PremiumHamper';export defa + + diff --git a/src/pages/HomePage/sections/CrmDashboard.tsx b/src/pages/HomePage/sections/CrmDashboard.tsx new file mode 100644 index 0000000..616571d --- /dev/null +++ b/src/pages/HomePage/sections/CrmDashboard.tsx @@ -0,0 +1,78 @@ +import React from "react"; +import ScrollReveal from '@/components/ui/ScrollReveal'; +import TextAnimation from '@/components/ui/TextAnimation'; +import Tag from '@/components/ui/Tag'; +import ImageOrVideo from '@/components/ui/ImageOrVideo'; +import { LayoutDashboard, Users, TrendingUp } from 'lucide-react'; + +export default function CrmDashboardSection() { + return ( +
+
+
+
+
+ + + + + +

+ Manage all your leads, conversations, and appointments in one unified, premium interface. Never lose track of a prospect again with our intelligent tracking system. +

+
+ +
+ {[ + { + icon: Users, + title: "Unified Inbox", + description: "All your WhatsApp, SMS, and email conversations in one place." + }, + { + icon: LayoutDashboard, + title: "Pipeline Management", + description: "Drag-and-drop interface to track leads from prospect to closed deal." + }, + { + icon: TrendingUp, + title: "Real-Time Analytics", + description: "Monitor your ROI, conversion rates, and AI performance instantly." + } + ].map((feature, index) => ( + +
+
+ +
+
+

{feature.title}

+

{feature.description}

+
+
+
+ ))} +
+
+ + +
+
+ +
+
+
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx index 63d9f12..453e4b7 100644 --- a/src/pages/HomePage/sections/Faq.tsx +++ b/src/pages/HomePage/sections/Faq.tsx @@ -1,38 +1,120 @@ -// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this -// file as the canonical source for the "faq" section. +/* eslint-disable */ +// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body +import { useState } from "react"; +import { motion, AnimatePresence } from "motion/react"; +import { Plus } from "lucide-react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; +import Button from "@/components/ui/Button"; +import TextAnimation from "@/components/ui/TextAnimation"; +import { cls } from "@/lib/utils"; -import React from 'react'; -import FaqSimple from '@/components/sections/faq/FaqSimple'; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +const items = [ + { + question: "Is the AI receptionist indistinguishable from a human?", + answer: "Yes, our voice agents are designed with natural inflection and professional tone, trained on your specific business data for high-quality interactions." + }, + { + question: "Can I integrate this with my existing calendar?", + answer: "We integrate seamlessly with Google Calendar, Outlook, and most major industry-specific scheduling software." + }, + { + question: "What happens if a prospect has a complex question?", + answer: "The AI is designed to handle common tasks and escalate complex requests directly to your human staff, ensuring no query ever goes unanswered." + }, + { + question: "Do I need technical skills to get started?", + answer: "No technical skills required. Our team handles the entire setup, training, and deployment for your business." + } +]; + +type FaqItem = { + question: string; + answer: string; +}; + +const FaqInline = () => { + const [activeIndex, setActiveIndex] = useState(null); + + const handleToggle = (index: number) => { + setActiveIndex(activeIndex === index ? null : index); + }; -export default function FaqSection(): React.JSX.Element { return ( -
- - - +
+
+
+
+

{"Common Questions"}

+
+ + + + + + {(undefined || undefined) && ( +
+ {undefined &&
+ )} +
+ + + {items.map((item, index) => ( +
handleToggle(index)} + className="p-3 xl:p-3.5 2xl:p-4 rounded card cursor-pointer select-none" + > +
+

{item.question}

+
+ +
+
+ + {activeIndex === index && ( + +

{item.answer}

+
+ )} +
+
+ ))} +
+
+ ); +}; + +export default function FaqSection() { + return ( +
+ +
); } diff --git a/src/pages/HomePage/sections/ReputationManagement.tsx b/src/pages/HomePage/sections/ReputationManagement.tsx new file mode 100644 index 0000000..0484f0f --- /dev/null +++ b/src/pages/HomePage/sections/ReputationManagement.tsx @@ -0,0 +1,74 @@ +import React from "react"; +import ScrollReveal from '@/components/ui/ScrollReveal'; +import TextAnimation from '@/components/ui/TextAnimation'; +import Tag from '@/components/ui/Tag'; +import RatingStars from '@/components/ui/RatingStars'; +import { Star } from 'lucide-react'; + +export default function ReputationManagementSection() { + return ( +
+
+
+
+ + + + + +

+ Turn happy customers into your best marketing asset. Our system automatically requests and collects Google Reviews after successful interactions, boosting your local SEO and trust. +

+
+
+ +
+ {[ + { + name: "Sarah Jenkins", + role: "Local Customer", + quote: "The booking process was incredibly smooth, and the service was top-notch. Highly recommend!", + rating: 5, + imageSrc: "http://img.b2bpic.net/free-photo/smiling-doctor-sitting-isolated-grey_651396-917.jpg" + }, + { + name: "Mark Thompson", + role: "Verified Buyer", + quote: "I was amazed by how quickly they responded to my inquiry. The AI assistant was very helpful.", + rating: 5, + imageSrc: "http://img.b2bpic.net/free-photo/face-happy-male-executive-looking-camera-smiling_1262-14920.jpg" + }, + { + name: "Jessica Lee", + role: "Client", + quote: "Fantastic experience from start to finish. The automated reminders kept me on track.", + rating: 5, + imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-illustrator-drawing-tablet_23-2150040139.jpg" + } + ].map((review, index) => ( + +
+ +

"{review.quote}"

+
+ {review.name} +
+

{review.name}

+

{review.role}

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