Merge version_2_1781377221412 into main #2

Merged
bender merged 1 commits from version_2_1781377221412 into main 2026-06-13 19:02:46 +00:00
9 changed files with 305 additions and 226 deletions

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #050012;
--card: #040121;
--foreground: #f0e6ff;
--primary-cta: #c89bff;
--background: #0a0a0a;
--card: #141414;
--foreground: #ffffff;
--primary-cta: #ffffff;
--primary-cta-text: #050012;
--secondary-cta: #1d123b;
--secondary-cta: #262626;
--secondary-cta-text: #f0e6ff;
--accent: #684f7b;
--background-accent: #65417c;
--accent: #333333;
--background-accent: #1a1a1a;
/* @layout/border-radius/rounded */
--radius: 1rem;

View File

@@ -1,230 +1,33 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
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 FeaturesSection from './HomePage/sections/Features';
import ProductsSection from './HomePage/sections/Products';
import MetricsSection from './HomePage/sections/Metrics';
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">
<HeroOverlay
tag="Next-Gen Gaming Gear"
title="Welcome to the Republic"
description="Dominate the competition with gear designed for victory. Precision hardware meets futuristic performance."
primaryButton={{
text: "Shop Republic",
href: "#products",
}}
secondaryButton={{
text: "Learn More",
href: "#features",
}}
imageSrc="http://img.b2bpic.net/free-photo/beautiful-mature-woman-having-fun-time_23-2149232846.jpg?_wi=1"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Us"
title="Elite Performance Gear"
description="Engineered for speed, durability, and absolute precision."
features={[
{
title: "Thermal Precision",
description: "Keep cool under pressure.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-ventilation-system_23-2149388989.jpg",
},
{
title: "High-Res Sensing",
description: "Never miss a frame.",
imageSrc: "http://img.b2bpic.net/free-photo/gradient-view-illuminated-neon-gaming-desk-setup-with-keyboard_23-2149529387.jpg",
},
{
title: "Tactile Mastery",
description: "Instant responsiveness.",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-black-computer-keyboard_53876-32344.jpg",
},
{
title: "Immersive View",
description: "Total screen dominance.",
imageSrc: "http://img.b2bpic.net/free-photo/gamer-using-headphones-joystick-play-video-games-computer-man-playing-with-controller-audio-headset-online-gaming-player-having-fun-with-equipment-play-games_482257-39555.jpg",
},
]}
primaryButton={{
text: "Explore",
href: "#products",
}}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Inventory"
title="Republic Arsenal"
description="Equip yourself with the best peripherals in the world."
items={[
{
title: "Pro Headset",
description: "Crystal clear sound.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/headphones-record-player_23-2147781816.jpg",
},
{
title: "Tactical Controller",
description: "Haptic feedback precision.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/boy-playing-with-controller_23-2148755306.jpg",
},
{
title: "E-Sport Chair",
description: "Max comfort for pros.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/gamer-chair-with-multicolored-neon-lights_52683-99744.jpg",
},
{
title: "Turbo SSD",
description: "Zero loading time.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/minimalist-tech-setup-with-old-hard-disk_58702-17218.jpg",
},
{
title: "Charging Pad",
description: "Always powered.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-desk-with-laptop-notebook-tea_23-2148821816.jpg",
},
{
title: "Apex Motherboard",
description: "Max overclocking.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/background-with-printed-circuit-board-concept-modern-technologies_169016-60203.jpg",
},
{
title: "Speed Router",
description: "Lag-free connectivity.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128041.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Republic Stats"
title="Trusted by Pros"
description="Powering the next generation of esports."
metrics={[
{
value: "1.5M+",
description: "Happy Gamers",
},
{
value: "500K+",
description: "Hours Streamed",
},
{
value: "99%",
description: "Victory Rate",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Community"
title="Voices of the Republic"
description="See why top competitors choose Gamers Republic."
testimonials={[
{
name: "Jaxon V",
role: "Pro Streamer",
quote: "The responsiveness is unmatched.",
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-handsome-guy-wearing-black-t-shirt-with-headphones-playing-phone-isolated-blue-background_141793-105239.jpg",
},
{
name: "Mia S",
role: "Esports Pro",
quote: "My kill-death ratio improved instantly.",
imageSrc: "http://img.b2bpic.net/free-photo/independent-black-man-using-laptop-remote-job-tasks-coffee-table_482257-125597.jpg",
},
{
name: "David L",
role: "Tech Reviewer",
quote: "Best build quality I've seen.",
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-arab-woman-streamer-smiling-confident-sitting-table-gaming-room_839833-22468.jpg",
},
{
name: "Elena R",
role: "Casual Gamer",
quote: "Incredible comfort and style.",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-woman-with-gaming-headset-playing-multiplayer-first-person-shooter-streaming-gameplay-professional-pc-setup-gamer-girl-looking-computer-screen-while-talking-team-tournament_482257-49412.jpg",
},
{
name: "Chris M",
role: "Hardware Enthusiast",
quote: "Fastest hardware in the game.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-pro-streamer-streaming-videogame-talking-into-headset_482257-112403.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked"
description="Have questions? We have answers."
items={[
{
question: "What is the warranty policy?",
answer: "All items have a lifetime warranty.",
},
{
question: "Is shipping global?",
answer: "Yes, we ship to all continents.",
},
{
question: "Do you offer bulk discounts?",
answer: "Contact our sales team for bulk inquiries.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Join Today"
text="Ready to upgrade your battle station?"
primaryButton={{
text: "Contact Support",
href: "#",
}}
secondaryButton={{
text: "Join Newsletter",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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="Join Today"
text="Ready to upgrade your battle station?"
primaryButton={{
text: "Contact Support",
href: "#",
}}
secondaryButton={{
text: "Join Newsletter",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// 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 FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked"
description="Have questions? We have answers."
items={[
{
question: "What is the warranty policy?",
answer: "All items have a lifetime warranty.",
},
{
question: "Is shipping global?",
answer: "Yes, we ship to all continents.",
},
{
question: "Do you offer bulk discounts?",
answer: "Contact our sales team for bulk inquiries.",
},
]}
/>
</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 FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBentoGrid
tag="Why Us"
title="Elite Performance Gear"
description="Engineered for speed, durability, and absolute precision."
features={[
{
title: "Thermal Precision",
description: "Keep cool under pressure.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-ventilation-system_23-2149388989.jpg",
},
{
title: "High-Res Sensing",
description: "Never miss a frame.",
imageSrc: "http://img.b2bpic.net/free-photo/gradient-view-illuminated-neon-gaming-desk-setup-with-keyboard_23-2149529387.jpg",
},
{
title: "Tactile Mastery",
description: "Instant responsiveness.",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-black-computer-keyboard_53876-32344.jpg",
},
{
title: "Immersive View",
description: "Total screen dominance.",
imageSrc: "http://img.b2bpic.net/free-photo/gamer-using-headphones-joystick-play-video-games-computer-man-playing-with-controller-audio-headset-online-gaming-player-having-fun-with-equipment-play-games_482257-39555.jpg",
},
]}
primaryButton={{
text: "Explore",
href: "#products",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,19 @@
// Created by add_section_from_catalog (HeroTiltedCards).
import React from 'react';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
export default function HeroSection(): React.JSX.Element {
return (
<div data-webild-section="hero" id="hero">
<HeroTiltedCards
tag="Premium Gaming Gear"
title="Gamers Republic"
primaryButton={{"href":"#products","text":"Shop Collection"}}
secondaryButton={{"text":"View Specs","href":"#features"}}
description="Elevate your gameplay with professional-grade equipment. Precision engineering meets immersive design for the ultimate competitive advantage."
items={[{"imageSrc":"http://img.b2bpic.net/free-photo/headphones-record-player_23-2147781816.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/boy-playing-with-controller_23-2148755306.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/gamer-chair-with-multicolored-neon-lights_52683-99744.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/minimalist-tech-setup-with-old-hard-disk_58702-17218.jpg"},{"imageSrc":"http://img.b2bpic.net/free-photo/top-view-desk-with-laptop-notebook-tea_23-2148821816.jpg"}]}
/>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Republic Stats"
title="Trusted by Pros"
description="Powering the next generation of esports."
metrics={[
{
value: "1.5M+",
description: "Happy Gamers",
},
{
value: "500K+",
description: "Hours Streamed",
},
{
value: "99%",
description: "Victory Rate",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Inventory"
title="Republic Arsenal"
description="Equip yourself with the best peripherals in the world."
items={[
{
title: "Pro Headset",
description: "Crystal clear sound.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/headphones-record-player_23-2147781816.jpg",
},
{
title: "Tactical Controller",
description: "Haptic feedback precision.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/boy-playing-with-controller_23-2148755306.jpg",
},
{
title: "E-Sport Chair",
description: "Max comfort for pros.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/gamer-chair-with-multicolored-neon-lights_52683-99744.jpg",
},
{
title: "Turbo SSD",
description: "Zero loading time.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/minimalist-tech-setup-with-old-hard-disk_58702-17218.jpg",
},
{
title: "Charging Pad",
description: "Always powered.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-desk-with-laptop-notebook-tea_23-2148821816.jpg",
},
{
title: "Apex Motherboard",
description: "Max overclocking.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/background-with-printed-circuit-board-concept-modern-technologies_169016-60203.jpg",
},
{
title: "Speed Router",
description: "Lag-free connectivity.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/3d-fantasy-scene_23-2151128041.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,52 @@
// 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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Community"
title="Voices of the Republic"
description="See why top competitors choose Gamers Republic."
testimonials={[
{
name: "Jaxon V",
role: "Pro Streamer",
quote: "The responsiveness is unmatched.",
imageSrc: "http://img.b2bpic.net/free-photo/pleased-young-handsome-guy-wearing-black-t-shirt-with-headphones-playing-phone-isolated-blue-background_141793-105239.jpg",
},
{
name: "Mia S",
role: "Esports Pro",
quote: "My kill-death ratio improved instantly.",
imageSrc: "http://img.b2bpic.net/free-photo/independent-black-man-using-laptop-remote-job-tasks-coffee-table_482257-125597.jpg",
},
{
name: "David L",
role: "Tech Reviewer",
quote: "Best build quality I've seen.",
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-arab-woman-streamer-smiling-confident-sitting-table-gaming-room_839833-22468.jpg",
},
{
name: "Elena R",
role: "Casual Gamer",
quote: "Incredible comfort and style.",
imageSrc: "http://img.b2bpic.net/free-photo/closeup-woman-with-gaming-headset-playing-multiplayer-first-person-shooter-streaming-gameplay-professional-pc-setup-gamer-girl-looking-computer-screen-while-talking-team-tournament_482257-49412.jpg",
},
{
name: "Chris M",
role: "Hardware Enthusiast",
quote: "Fastest hardware in the game.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-pro-streamer-streaming-videogame-talking-into-headset_482257-112403.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}