3 Commits

Author SHA1 Message Date
5dcfc2316f Merge version_2_1781516006703 into main
Merge version_2_1781516006703 into main
2026-06-15 09:45:28 +00:00
kudinDmitriyUp
fe3b7e88b6 Bob AI: Add Bayer to trusted by logos 2026-06-15 09:44:38 +00:00
kudinDmitriyUp
8826005843 Bob AI: Added trusted by logo ticker section with agricultural brand 2026-06-15 09:35:13 +00:00
11 changed files with 472 additions and 324 deletions

View File

@@ -1,337 +1,41 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
import FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import { BarChart2, Shield, Zap } from "lucide-react";
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 MetricsSection from './HomePage/sections/Metrics';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
import TrustedBySection from './HomePage/sections/TrustedBy';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Advanced Market Intelligence"
title="Precision Price Analysis for Modern Agriculture"
description="Unlock data-driven insights. Monitor global commodity markets with AI-powered analytics designed for the future of supply chain and trade."
primaryButton={{
text: "Request Demo",
href: "#contact",
}}
secondaryButton={{
text: "Learn More",
href: "#about",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/digital-environment-scene_23-2151873119.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-technology-concept_23-2151908117.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-ai-data-visualization_23-2151977857.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/pov-manager-uses-tablet-with-greenscreen_482257-76300.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/happy-adventurer-standing-rocky-top-copy-space-display_482257-119851.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-broker-looking-real-time-stock-market-sales-analyzing-global-trade-exchange-statistics-capital-money-investment-working-with-hegde-fund-index-profit-forex-trading-night_482257-46966.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/representation-user-experience-interface-design_23-2150169845.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/executive-workspace-features-digital-dashboard-with-financial-charts_482257-123845.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-vector/dashboard-admin-panel-template-with-flat-design_23-2147868153.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/employee-examining-company-performance_482257-121856.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-vector/ecology-infographic-with-photo_52683-36218.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-technologist-agronomist-with-tablet-computer-field-checking-quality-growth-crops-agriculture_342744-593.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<TrustedBySection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Who We Are"
title="Turning Volatility into Opportunity"
description="AgroIndex LLC provides the infrastructure for agricultural market transparency, helping stakeholders mitigate risk and capture value through predictive data."
items={[
{
icon: Zap,
title: "Real-time Pricing",
description: "Global price discovery across all major agricultural commodities.",
},
{
icon: Shield,
title: "Risk Mitigation",
description: "Proactive alerts to market shifts and supply chain disruptions.",
},
{
icon: BarChart2,
title: "Predictive Trends",
description: "AI models analyzing historical data to forecast future price movements.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/teamwork-developing-new-project-together_1098-21664.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesArrowCards
tag="Core Capabilities"
title="Built for the Modern Agricultural Ecosystem"
description="Powerful tools to optimize your buying, selling, and supply chain decisions."
items={[
{
title: "Market Forecasting",
tags: [
"AI",
"Analytics",
],
imageSrc: "http://img.b2bpic.net/free-vector/20-data-analysis-flat-color-icon-presentation_1142-24722.jpg",
},
{
title: "Supply Chain Visibility",
tags: [
"Logistics",
"Operations",
],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-photovoltaics-facility-expert-workstation-desk_482257-125184.jpg",
},
{
title: "Real-Time Intelligence",
tags: [
"Market",
"Finance",
],
imageSrc: "http://img.b2bpic.net/free-photo/businessman-watching-phone-screen-business-evolution-close-up_482257-32836.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesImageBento
tag="Our Platform"
title="A Complete Analytical Suite"
description="From granular price analysis to macro trend forecasting, explore the modules that empower AgroIndex."
items={[
{
title: "Commodity Prices",
description: "Live commodity pricing updates.",
imageSrc: "http://img.b2bpic.net/free-photo/stock-data-office-computer-screen_482257-119275.jpg",
},
{
title: "Forecasting Map",
description: "Global crop forecasting.",
imageSrc: "http://img.b2bpic.net/free-photo/world-map-made-with-grass_1160-620.jpg",
},
{
title: "Alerting System",
description: "Automated supply alerts.",
imageSrc: "http://img.b2bpic.net/free-photo/sales-assistant-planning-business-charts-digital-laptop-working-with-e-commerce-e-shopping-management-company-office-manager-using-statistics-develop-creative-project_482257-39076.jpg",
},
{
title: "Soil Analytics",
description: "Precision farm insights.",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-using-laptop-travel-nature_1150-12813.jpg",
},
{
title: "Risk Dashboard",
description: "Mitigation and planning.",
imageSrc: "http://img.b2bpic.net/free-photo/empty-business-workspace-with-device-showing-data-analytics-infographics_482257-116612.jpg",
},
{
title: "Data Archive",
description: "Decades of historical data.",
imageSrc: "http://img.b2bpic.net/free-vector/glass-website-elements-templates-vector-set-element-design-button-internet-chart-graph_1284-42823.jpg",
},
{
title: "Global Trade Tracker",
description: "Cross-border tracking.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-tablet_23-2149105728.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Choose Your Plan"
title="Flexible Solutions for Every Organization"
description="Whether you are an independent farm or a global enterprise, we have the analytical power you need."
plans={[
{
tag: "Starter",
price: "$499/mo",
description: "Perfect for individual traders and small operations.",
features: [
"Live Price Feeds",
"Basic Analytics",
"Email Support",
],
},
{
tag: "Professional",
price: "$1,299/mo",
description: "Comprehensive tools for serious agricultural enterprises.",
features: [
"Advanced Forecasting",
"Supply Chain Alerts",
"Priority Support",
"API Access",
],
},
{
tag: "Enterprise",
price: "Custom",
description: "Tailored analytical solutions for global operations.",
features: [
"Custom AI Models",
"Dedicated Analyst",
"Unlimited Users",
"Enterprise Integration",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Impact"
title="Driving Results for our Partners"
description="The data that moves the market forward."
metrics={[
{
value: "95%",
title: "Forecast Accuracy",
description: "Average predictive model accuracy across major crops.",
imageSrc: "http://img.b2bpic.net/free-photo/corporate-business-line-graph-report_53876-120736.jpg",
},
{
value: "20M+",
title: "Data Points Processed",
description: "Daily metrics gathered from global market sources.",
imageSrc: "http://img.b2bpic.net/free-photo/business-person-hand-holding-financial-statistics-displayed-t_1150-772.jpg",
},
{
value: "400+",
title: "Active Organizations",
description: "Trusting our platform for market intelligence daily.",
imageSrc: "http://img.b2bpic.net/free-photo/technology-concept-with-futuristic-element_23-2151910932.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="AgroIndex has fundamentally changed how we approach market volatility. The predictive insights are indispensable for our hedging strategy."
rating={5}
author="Sarah Miller, Head of Trade"
avatars={[
{
name: "Sarah Miller",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-holding-digital-tablet-watching-time-wrist-watch_23-2147941665.jpg",
},
{
name: "James Chen",
imageSrc: "http://img.b2bpic.net/free-photo/solar-panels-manufacturing-factory-specialist-explains-production-process_482257-118103.jpg",
},
{
name: "Elena Rossi",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-groom-classy-black-suit-stands-dark-room_8353-7083.jpg",
},
{
name: "David Kim",
imageSrc: "http://img.b2bpic.net/free-photo/pov-businessman-attending-videocall-meeting-office-using-online-videoconference-talk-consultant-about-financial-strategy-company-employee-chatting-remote-teleconference-close-up_482257-40929.jpg",
},
{
name: "Amara Okafor",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-mature-businessman-with-crossed-arms-standing-restaurant_23-2147955310.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTwoColumn
tag="Support"
title="Frequently Asked Questions"
description="Clear answers to help you get started with AgroIndex."
items={[
{
question: "What data sources do you use?",
answer: "We integrate with satellite, market, and supply-side sources globally.",
},
{
question: "Is API access included?",
answer: "Yes, API access is included in the Professional and Enterprise tiers.",
},
{
question: "Can I integrate my existing CRM?",
answer: "Yes, we support native integrations with major CRM platforms.",
},
{
question: "Do you offer custom training?",
answer: "Enterprise plans include dedicated setup and team training.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Contact Us"
text="Ready to gain a competitive advantage in the agricultural market?"
primaryButton={{
text: "Contact Sales",
href: "#",
}}
secondaryButton={{
text: "Schedule Demo",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,39 @@
// 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 AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { BarChart2, Shield, Zap } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Who We Are"
title="Turning Volatility into Opportunity"
description="AgroIndex LLC provides the infrastructure for agricultural market transparency, helping stakeholders mitigate risk and capture value through predictive data."
items={[
{
icon: Zap,
title: "Real-time Pricing",
description: "Global price discovery across all major agricultural commodities.",
},
{
icon: Shield,
title: "Risk Mitigation",
description: "Proactive alerts to market shifts and supply chain disruptions.",
},
{
icon: BarChart2,
title: "Predictive Trends",
description: "AI models analyzing historical data to forecast future price movements.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/teamwork-developing-new-project-together_1098-21664.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View 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="Contact Us"
text="Ready to gain a competitive advantage in the agricultural market?"
primaryButton={{
text: "Contact Sales",
href: "#",
}}
secondaryButton={{
text: "Schedule Demo",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// 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 FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTwoColumn
tag="Support"
title="Frequently Asked Questions"
description="Clear answers to help you get started with AgroIndex."
items={[
{
question: "What data sources do you use?",
answer: "We integrate with satellite, market, and supply-side sources globally.",
},
{
question: "Is API access included?",
answer: "Yes, API access is included in the Professional and Enterprise tiers.",
},
{
question: "Can I integrate my existing CRM?",
answer: "Yes, we support native integrations with major CRM platforms.",
},
{
question: "Do you offer custom training?",
answer: "Enterprise plans include dedicated setup and team training.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,46 @@
// 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 FeaturesArrowCards from '@/components/sections/features/FeaturesArrowCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesArrowCards
tag="Core Capabilities"
title="Built for the Modern Agricultural Ecosystem"
description="Powerful tools to optimize your buying, selling, and supply chain decisions."
items={[
{
title: "Market Forecasting",
tags: [
"AI",
"Analytics",
],
imageSrc: "http://img.b2bpic.net/free-vector/20-data-analysis-flat-color-icon-presentation_1142-24722.jpg",
},
{
title: "Supply Chain Visibility",
tags: [
"Logistics",
"Operations",
],
imageSrc: "http://img.b2bpic.net/free-photo/close-up-photovoltaics-facility-expert-workstation-desk_482257-125184.jpg",
},
{
title: "Real-Time Intelligence",
tags: [
"Market",
"Finance",
],
imageSrc: "http://img.b2bpic.net/free-photo/businessman-watching-phone-screen-business-evolution-close-up_482257-32836.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View 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="Advanced Market Intelligence"
title="Precision Price Analysis for Modern Agriculture"
description="Unlock data-driven insights. Monitor global commodity markets with AI-powered analytics designed for the future of supply chain and trade."
primaryButton={{
text: "Request Demo",
href: "#contact",
}}
secondaryButton={{
text: "Learn More",
href: "#about",
}}
leftItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/digital-environment-scene_23-2151873119.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-technology-concept_23-2151908117.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-ai-data-visualization_23-2151977857.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/pov-manager-uses-tablet-with-greenscreen_482257-76300.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/happy-adventurer-standing-rocky-top-copy-space-display_482257-119851.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-broker-looking-real-time-stock-market-sales-analyzing-global-trade-exchange-statistics-capital-money-investment-working-with-hegde-fund-index-profit-forex-trading-night_482257-46966.jpg",
},
]}
rightItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/representation-user-experience-interface-design_23-2150169845.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/executive-workspace-features-digital-dashboard-with-financial-charts_482257-123845.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-vector/dashboard-admin-panel-template-with-flat-design_23-2147868153.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/employee-examining-company-performance_482257-121856.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-vector/ecology-infographic-with-photo_52683-36218.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-technologist-agronomist-with-tablet-computer-field-checking-quality-growth-crops-agriculture_342744-593.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsMediaCards
tag="Our Impact"
title="Driving Results for our Partners"
description="The data that moves the market forward."
metrics={[
{
value: "95%",
title: "Forecast Accuracy",
description: "Average predictive model accuracy across major crops.",
imageSrc: "http://img.b2bpic.net/free-photo/corporate-business-line-graph-report_53876-120736.jpg",
},
{
value: "20M+",
title: "Data Points Processed",
description: "Daily metrics gathered from global market sources.",
imageSrc: "http://img.b2bpic.net/free-photo/business-person-hand-holding-financial-statistics-displayed-t_1150-772.jpg",
},
{
value: "400+",
title: "Active Organizations",
description: "Trusting our platform for market intelligence daily.",
imageSrc: "http://img.b2bpic.net/free-photo/technology-concept-with-futuristic-element_23-2151910932.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,54 @@
// 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 PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Choose Your Plan"
title="Flexible Solutions for Every Organization"
description="Whether you are an independent farm or a global enterprise, we have the analytical power you need."
plans={[
{
tag: "Starter",
price: "$499/mo",
description: "Perfect for individual traders and small operations.",
features: [
"Live Price Feeds",
"Basic Analytics",
"Email Support",
],
},
{
tag: "Professional",
price: "$1,299/mo",
description: "Comprehensive tools for serious agricultural enterprises.",
features: [
"Advanced Forecasting",
"Supply Chain Alerts",
"Priority Support",
"API Access",
],
},
{
tag: "Enterprise",
price: "Custom",
description: "Tailored analytical solutions for global operations.",
features: [
"Custom AI Models",
"Dedicated Analyst",
"Unlimited Users",
"Enterprise Integration",
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,57 @@
// 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 FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductSection(): React.JSX.Element {
return (
<div id="product" data-section="product">
<SectionErrorBoundary name="product">
<FeaturesImageBento
tag="Our Platform"
title="A Complete Analytical Suite"
description="From granular price analysis to macro trend forecasting, explore the modules that empower AgroIndex."
items={[
{
title: "Commodity Prices",
description: "Live commodity pricing updates.",
imageSrc: "http://img.b2bpic.net/free-photo/stock-data-office-computer-screen_482257-119275.jpg",
},
{
title: "Forecasting Map",
description: "Global crop forecasting.",
imageSrc: "http://img.b2bpic.net/free-photo/world-map-made-with-grass_1160-620.jpg",
},
{
title: "Alerting System",
description: "Automated supply alerts.",
imageSrc: "http://img.b2bpic.net/free-photo/sales-assistant-planning-business-charts-digital-laptop-working-with-e-commerce-e-shopping-management-company-office-manager-using-statistics-develop-creative-project_482257-39076.jpg",
},
{
title: "Soil Analytics",
description: "Precision farm insights.",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-using-laptop-travel-nature_1150-12813.jpg",
},
{
title: "Risk Dashboard",
description: "Mitigation and planning.",
imageSrc: "http://img.b2bpic.net/free-photo/empty-business-workspace-with-device-showing-data-analytics-infographics_482257-116612.jpg",
},
{
title: "Data Archive",
description: "Decades of historical data.",
imageSrc: "http://img.b2bpic.net/free-vector/glass-website-elements-templates-vector-set-element-design-button-internet-chart-graph_1284-42823.jpg",
},
{
title: "Global Trade Tracker",
description: "Cross-border tracking.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-tablet_23-2149105728.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,42 @@
// 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 TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialTrustCard
quote="AgroIndex has fundamentally changed how we approach market volatility. The predictive insights are indispensable for our hedging strategy."
rating={5}
author="Sarah Miller, Head of Trade"
avatars={[
{
name: "Sarah Miller",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-young-man-holding-digital-tablet-watching-time-wrist-watch_23-2147941665.jpg",
},
{
name: "James Chen",
imageSrc: "http://img.b2bpic.net/free-photo/solar-panels-manufacturing-factory-specialist-explains-production-process_482257-118103.jpg",
},
{
name: "Elena Rossi",
imageSrc: "http://img.b2bpic.net/free-photo/handsome-groom-classy-black-suit-stands-dark-room_8353-7083.jpg",
},
{
name: "David Kim",
imageSrc: "http://img.b2bpic.net/free-photo/pov-businessman-attending-videocall-meeting-office-using-online-videoconference-talk-consultant-about-financial-strategy-company-employee-chatting-remote-teleconference-close-up_482257-40929.jpg",
},
{
name: "Amara Okafor",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-mature-businessman-with-crossed-arms-standing-restaurant_23-2147955310.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,33 @@
import LoopCarousel from '@/components/ui/LoopCarousel';
export default function TrustedBySection() {
return (
<div data-webild-section="trusted-by" id="trusted-by">
<section className="w-full py-12 bg-background border-b border-border/10">
<div className="max-w-content-width mx-auto px-6">
<p className="text-center text-sm font-medium text-muted-foreground mb-8 uppercase tracking-wider">
Trusted by industry leaders & financial institutions
</p>
<LoopCarousel>
<div className="flex items-center gap-16 px-8">
<img
src="https://storage.googleapis.com/webild/users/user_3FARBY42GBOGEHNPUv4JSbYyHOk/uploaded-1781516005777-o28vx4s5.jpg"
alt="AgroIndex Benchmark"
className="h-16 w-auto object-contain mix-blend-multiply dark:mix-blend-screen opacity-80 hover:opacity-100 transition-opacity"
/>
<div className="text-2xl font-bold text-foreground/60 hover:text-foreground transition-colors">Cargill</div>
<div className="text-2xl font-black tracking-tighter text-foreground/60 hover:text-foreground transition-colors">ADM</div>
<div className="text-2xl font-serif italic text-foreground/60 hover:text-foreground transition-colors">Bunge</div>
<div className="text-2xl font-bold uppercase tracking-widest text-foreground/60 hover:text-foreground transition-colors">Louis Dreyfus</div>
<div className="text-2xl font-extrabold text-foreground/60 hover:text-foreground transition-colors">John Deere</div>
<div className="text-2xl font-medium tracking-tight text-foreground/60 hover:text-foreground transition-colors">Syngenta</div>
<div className="text-2xl font-bold text-foreground/60 hover:text-foreground transition-colors">J.P. Morgan</div>
<div className="text-2xl font-serif text-foreground/60 hover:text-foreground transition-colors">Goldman Sachs</div>
<div className="text-2xl font-bold tracking-wide text-foreground/60 hover:text-foreground transition-colors">Bayer</div>
</div>
</LoopCarousel>
</div>
</section>
</div>
);
}