Merge version_2_1782165985380 into main #1
@@ -1,4 +1,4 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
|
||||
@import "tailwindcss";
|
||||
@import "./styles/masks.css";
|
||||
@import "./styles/animations.css";
|
||||
@@ -8,7 +8,7 @@
|
||||
--background: #000000;
|
||||
--card: #0c0c0c;
|
||||
--foreground: #ffffff;
|
||||
--primary-cta: #106EFB;
|
||||
--primary-cta: #E53935;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #000000;
|
||||
--secondary-cta-text: #ffffff;
|
||||
@@ -88,7 +88,7 @@
|
||||
--color-background-accent: var(--background-accent);
|
||||
|
||||
/* Fonts */
|
||||
--font-sans: 'Nunito', sans-serif;
|
||||
--font-sans: 'Inter', sans-serif;
|
||||
--font-tight: "Inter Tight", sans-serif;
|
||||
--font-mono: monospace;
|
||||
|
||||
|
||||
@@ -1,327 +1,36 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import AboutSection from './HomePage/sections/About';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import ProductSection from './HomePage/sections/Product';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="SaaS Platform"
|
||||
title="Modernize Your Workflow With Filtrify"
|
||||
description="Streamline data, automate processes, and scale your business with the most advanced filtering and management suite."
|
||||
primaryButton={{
|
||||
text: "Start Free Trial",
|
||||
href: "#pricing",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Book a Demo",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gradient-background-with-pink-purple-light-effect_53876-103684.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-elegant-background-with-landscape-extruding-hexagons-black-gold_1048-15814.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/network-connections_1048-7667.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-background-with-flowing-cyber-particles_1048-13211.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-low-poly-with-defocussed-areas_1048-12159.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gray-wireframe-wave-with-geometric-shapes-black-background_53876-129584.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-black-friday-neon-logo_23-2151854207.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-futuristic-background-with-flowing-particles-data-science_1048-18193.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/bright-blue-drop-water_23-2147748903.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-cyber-lines-particles_1048-13985.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-abstract-black-white_23-2150853557.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/globe-internet-icon-line-connection-circuit-board_1379-893.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Intelligence Built for Growth"
|
||||
descriptions={[
|
||||
"Filtrify provides the essential infrastructure for modern data management. We believe in simplifying the complex, allowing your team to focus on what matters most.",
|
||||
"Our platform is designed for agility. Whether you're a startup or an enterprise, our tools adapt to your scale, performance needs, and evolving business goals.",
|
||||
]}
|
||||
primaryButton={{
|
||||
text: "Our Vision",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesDetailedCards
|
||||
tag="Capabilities"
|
||||
title="Comprehensive Data Solutions"
|
||||
description="Manage your ecosystem with precision and confidence."
|
||||
items={[
|
||||
{
|
||||
title: "Automated Filtering",
|
||||
description: "Intelligent, real-time data sorting and categorization.",
|
||||
tags: [
|
||||
"AI-Driven",
|
||||
"Fast",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businessman-using-smartwatch-hologram-presentation-wearable-gadget_53876-97061.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cloud-Native Architecture",
|
||||
description: "Scale seamlessly with our globally distributed cloud infrastructure.",
|
||||
tags: [
|
||||
"Secure",
|
||||
"Cloud",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smartwatch-with-different-types-graphics_1134-417.jpg",
|
||||
},
|
||||
{
|
||||
title: "Advanced API Control",
|
||||
description: "Granular control over your integration endpoints.",
|
||||
tags: [
|
||||
"Developer",
|
||||
"API",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-abstract-dots-lines-connected_1048-11946.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="product" data-section="product">
|
||||
<SectionErrorBoundary name="product">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Product Suite"
|
||||
title="Unified Experience"
|
||||
description="Everything you need in one powerful interface."
|
||||
items={[
|
||||
{
|
||||
title: "Dashboard",
|
||||
description: "Real-time analytics monitor",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology-identity-card_23-2149142081.jpg",
|
||||
},
|
||||
{
|
||||
title: "Integrations",
|
||||
description: "Connect with all tools",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-robot-interacting-with-digital-interface_23-2151966726.jpg",
|
||||
},
|
||||
{
|
||||
title: "Automations",
|
||||
description: "Set and forget tasks",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/photo-editor-using-high-tech-vr-goggles-look-editorial-pictures_482257-82237.jpg",
|
||||
},
|
||||
{
|
||||
title: "Security",
|
||||
description: "Military-grade encryption",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technology-particle-dots-5g-digital-corporate-background_53876-102624.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reporting",
|
||||
description: "Deep data insights",
|
||||
href: "#",
|
||||
imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=52mh30",
|
||||
},
|
||||
{
|
||||
title: "Team Access",
|
||||
description: "Role-based control",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/minimalist-3d-rendering-modern-tech-device_187299-46717.jpg",
|
||||
},
|
||||
{
|
||||
title: "Audit Logs",
|
||||
description: "Track every change",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology_23-2149123980.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductSection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingHighlightedCards
|
||||
tag="Pricing Plans"
|
||||
title="Transparent & Scalable"
|
||||
description="Select the plan that fits your current operational needs."
|
||||
plans={[
|
||||
{
|
||||
tag: "Starter",
|
||||
price: "$49",
|
||||
description: "Ideal for small teams",
|
||||
features: [
|
||||
"5 projects",
|
||||
"Basic API access",
|
||||
"24/7 Support",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Get Started",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Growth",
|
||||
price: "$129",
|
||||
description: "Best for growing startups",
|
||||
features: [
|
||||
"Unlimited projects",
|
||||
"Full API access",
|
||||
"Priority Support",
|
||||
"Advanced Analytics",
|
||||
],
|
||||
highlight: "Popular",
|
||||
primaryButton: {
|
||||
text: "Get Started",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Enterprise",
|
||||
price: "Custom",
|
||||
description: "For large organizations",
|
||||
features: [
|
||||
"SSO & Security",
|
||||
"Custom SLAs",
|
||||
"Dedicated Account Manager",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="Trusted by Leaders"
|
||||
description="See why top companies switch to Filtrify."
|
||||
testimonials={[
|
||||
{
|
||||
name: "John Doe",
|
||||
role: "CEO",
|
||||
quote: "The platform revolutionized our workflow.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-blond-female-dressed-white-shirt-red-eyeglasses_613910-3575.jpg",
|
||||
},
|
||||
{
|
||||
name: "Jane Smith",
|
||||
role: "CTO",
|
||||
quote: "Incredible API controls and performance.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/successful-senior-businesswoman-eyeglasses_1262-5856.jpg",
|
||||
},
|
||||
{
|
||||
name: "Alex Brown",
|
||||
role: "Head of Engineering",
|
||||
quote: "A must-have for modern cloud infrastructure.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/videographer-smiling-camera-working-computer-editing-video-footage-audio-app-sitting-mo_482257-2649.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah Lee",
|
||||
role: "Founder",
|
||||
quote: "The bento grid UI is incredibly intuitive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-content-pretty-businesswoman-glasses_1262-1740.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike Davis",
|
||||
role: "DevOps",
|
||||
quote: "Solid security and reliable scaling.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sucsessful-businesswoman-studio-isolated-grey_613910-11320.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Questions"
|
||||
title="Frequently Asked"
|
||||
description="Find answers to our most common queries."
|
||||
items={[
|
||||
{
|
||||
question: "Is it free to start?",
|
||||
answer: "Yes, we offer a 14-day free trial.",
|
||||
},
|
||||
{
|
||||
question: "Can I upgrade anytime?",
|
||||
answer: "Yes, you can upgrade your plan via the dashboard.",
|
||||
},
|
||||
{
|
||||
question: "Do you have support?",
|
||||
answer: "Our dedicated support team is available 24/7.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/low-poly-background-with-connecting-lines-dots_1048-6496.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Join Us"
|
||||
text="Ready to scale your business operations?"
|
||||
primaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "mailto:hello@filtrify.com.br",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Schedule Demo",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
26
src/pages/HomePage/sections/About.tsx
Normal file
26
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
// 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 AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Intelligence Built for Growth"
|
||||
descriptions={[
|
||||
"Filtrify provides the essential infrastructure for modern data management. We believe in simplifying the complex, allowing your team to focus on what matters most.",
|
||||
"Our platform is designed for agility. Whether you're a startup or an enterprise, our tools adapt to your scale, performance needs, and evolving business goals.",
|
||||
]}
|
||||
primaryButton={{
|
||||
text: "Our Vision",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -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 ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Join Us"
|
||||
text="Ready to scale your business operations?"
|
||||
primaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "mailto:hello@filtrify.com.br",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Schedule Demo",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Faq.tsx
Normal file
35
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Questions"
|
||||
title="Frequently Asked"
|
||||
description="Find answers to our most common queries."
|
||||
items={[
|
||||
{
|
||||
question: "Is it free to start?",
|
||||
answer: "Yes, we offer a 14-day free trial.",
|
||||
},
|
||||
{
|
||||
question: "Can I upgrade anytime?",
|
||||
answer: "Yes, you can upgrade your plan via the dashboard.",
|
||||
},
|
||||
{
|
||||
question: "Do you have support?",
|
||||
answer: "Our dedicated support team is available 24/7.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/low-poly-background-with-connecting-lines-dots_1048-6496.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
49
src/pages/HomePage/sections/Features.tsx
Normal file
49
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesDetailedCards from '@/components/sections/features/FeaturesDetailedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesDetailedCards
|
||||
tag="Capabilities"
|
||||
title="Comprehensive Data Solutions"
|
||||
description="Manage your ecosystem with precision and confidence."
|
||||
items={[
|
||||
{
|
||||
title: "Automated Filtering",
|
||||
description: "Intelligent, real-time data sorting and categorization.",
|
||||
tags: [
|
||||
"AI-Driven",
|
||||
"Fast",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/businessman-using-smartwatch-hologram-presentation-wearable-gadget_53876-97061.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cloud-Native Architecture",
|
||||
description: "Scale seamlessly with our globally distributed cloud infrastructure.",
|
||||
tags: [
|
||||
"Secure",
|
||||
"Cloud",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smartwatch-with-different-types-graphics_1134-417.jpg",
|
||||
},
|
||||
{
|
||||
title: "Advanced API Control",
|
||||
description: "Granular control over your integration endpoints.",
|
||||
tags: [
|
||||
"Developer",
|
||||
"API",
|
||||
],
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-abstract-dots-lines-connected_1048-11946.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
68
src/pages/HomePage/sections/Hero.tsx
Normal file
68
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,68 @@
|
||||
// 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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="SaaS Platform"
|
||||
title="Modernize Your Workflow With Filtrify"
|
||||
description="Streamline data, automate processes, and scale your business with the most advanced filtering and management suite."
|
||||
primaryButton={{
|
||||
text: "Start Free Trial",
|
||||
href: "#pricing",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Book a Demo",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gradient-background-with-pink-purple-light-effect_53876-103684.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-elegant-background-with-landscape-extruding-hexagons-black-gold_1048-15814.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/network-connections_1048-7667.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-background-with-flowing-cyber-particles_1048-13211.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-low-poly-with-defocussed-areas_1048-12159.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gray-wireframe-wave-with-geometric-shapes-black-background_53876-129584.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-black-friday-neon-logo_23-2151854207.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-futuristic-background-with-flowing-particles-data-science_1048-18193.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/bright-blue-drop-water_23-2147748903.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-cyber-lines-particles_1048-13985.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-abstract-black-white_23-2150853557.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/globe-internet-icon-line-connection-circuit-board_1379-893.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
66
src/pages/HomePage/sections/Pricing.tsx
Normal file
66
src/pages/HomePage/sections/Pricing.tsx
Normal file
@@ -0,0 +1,66 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "pricing" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingHighlightedCards
|
||||
tag="Pricing Plans"
|
||||
title="Transparent & Scalable"
|
||||
description="Select the plan that fits your current operational needs."
|
||||
plans={[
|
||||
{
|
||||
tag: "Starter",
|
||||
price: "$49",
|
||||
description: "Ideal for small teams",
|
||||
features: [
|
||||
"5 projects",
|
||||
"Basic API access",
|
||||
"24/7 Support",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Get Started",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Growth",
|
||||
price: "$129",
|
||||
description: "Best for growing startups",
|
||||
features: [
|
||||
"Unlimited projects",
|
||||
"Full API access",
|
||||
"Priority Support",
|
||||
"Advanced Analytics",
|
||||
],
|
||||
highlight: "Popular",
|
||||
primaryButton: {
|
||||
text: "Get Started",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Enterprise",
|
||||
price: "Custom",
|
||||
description: "For large organizations",
|
||||
features: [
|
||||
"SSO & Security",
|
||||
"Custom SLAs",
|
||||
"Dedicated Account Manager",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Product.tsx
Normal file
64
src/pages/HomePage/sections/Product.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "product" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="product" data-section="product">
|
||||
<SectionErrorBoundary name="product">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Product Suite"
|
||||
title="Unified Experience"
|
||||
description="Everything you need in one powerful interface."
|
||||
items={[
|
||||
{
|
||||
title: "Dashboard",
|
||||
description: "Real-time analytics monitor",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology-identity-card_23-2149142081.jpg",
|
||||
},
|
||||
{
|
||||
title: "Integrations",
|
||||
description: "Connect with all tools",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-robot-interacting-with-digital-interface_23-2151966726.jpg",
|
||||
},
|
||||
{
|
||||
title: "Automations",
|
||||
description: "Set and forget tasks",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/photo-editor-using-high-tech-vr-goggles-look-editorial-pictures_482257-82237.jpg",
|
||||
},
|
||||
{
|
||||
title: "Security",
|
||||
description: "Military-grade encryption",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technology-particle-dots-5g-digital-corporate-background_53876-102624.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reporting",
|
||||
description: "Deep data insights",
|
||||
href: "#",
|
||||
imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=52mh30",
|
||||
},
|
||||
{
|
||||
title: "Team Access",
|
||||
description: "Role-based control",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/minimalist-3d-rendering-modern-tech-device_187299-46717.jpg",
|
||||
},
|
||||
{
|
||||
title: "Audit Logs",
|
||||
description: "Track every change",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology_23-2149123980.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Testimonials"
|
||||
title="Trusted by Leaders"
|
||||
description="See why top companies switch to Filtrify."
|
||||
testimonials={[
|
||||
{
|
||||
name: "John Doe",
|
||||
role: "CEO",
|
||||
quote: "The platform revolutionized our workflow.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-blond-female-dressed-white-shirt-red-eyeglasses_613910-3575.jpg",
|
||||
},
|
||||
{
|
||||
name: "Jane Smith",
|
||||
role: "CTO",
|
||||
quote: "Incredible API controls and performance.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/successful-senior-businesswoman-eyeglasses_1262-5856.jpg",
|
||||
},
|
||||
{
|
||||
name: "Alex Brown",
|
||||
role: "Head of Engineering",
|
||||
quote: "A must-have for modern cloud infrastructure.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/videographer-smiling-camera-working-computer-editing-video-footage-audio-app-sitting-mo_482257-2649.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sarah Lee",
|
||||
role: "Founder",
|
||||
quote: "The bento grid UI is incredibly intuitive.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-content-pretty-businesswoman-glasses_1262-1740.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mike Davis",
|
||||
role: "DevOps",
|
||||
quote: "Solid security and reliable scaling.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sucsessful-businesswoman-studio-isolated-grey_613910-11320.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user