Merge version_2_1782044851929 into main

Merge version_2_1782044851929 into main
This commit was merged in pull request #1.
This commit is contained in:
2026-06-21 12:30:21 +00:00
10 changed files with 186 additions and 217 deletions

View File

@@ -19,21 +19,13 @@ export default function Layout() {
"name": "Training",
"href": "#training"
},
{
"name": "Why NGA",
"href": "#why-nga"
},
{
"name": "Contact",
"href": "#contact"
},
{
"name": "Hero",
"href": "#hero"
},
{
"name": "About",
"href": "#about"
},
{
"name": "Why Nga",
"href": "#why-nga"
}
];

View File

@@ -5,15 +5,15 @@
:root {
/* @colorThemes/lightTheme/grayNavyBlue */
--background: #050012;
--card: #040121;
--foreground: #f0e6ff;
--primary-cta: #c89bff;
--primary-cta-text: #050012;
--secondary-cta: #1d123b;
--secondary-cta-text: #f0e6ff;
--accent: #684f7b;
--background-accent: #65417c;
--background: #030305;
--card: #0a0a0f;
--foreground: #ffffff;
--primary-cta: #00e5ff;
--primary-cta-text: #000000;
--secondary-cta: #11111a;
--secondary-cta-text: #ffffff;
--accent: #8a2be2;
--background-accent: #110822;
/* @layout/border-radius/rounded */
--radius: 0.5rem;

View File

@@ -1,207 +1,33 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
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 HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import { Code, Palette, Sparkles } 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 ServicesSection from './HomePage/sections/Services';
import PortfolioSection from './HomePage/sections/Portfolio';
import TrainingSection from './HomePage/sections/Training';
import WhyNgaSection from './HomePage/sections/WhyNga';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitMediaGrid
tag="Next Gen AI Digital Solutions"
title="Transform Your Ideas Into Digital Reality"
description="NGA Digital bridges the gap between intelligence and design. We build AI-powered experiences that scale."
primaryButton={{
text: "Get Started",
href: "#contact",
}}
secondaryButton={{
text: "Explore Services",
href: "#services",
}}
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/3d-data-technology-background-with-flowing-particles_1048-18065.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/still-life-office-desk-mess_23-2150164871.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="About Us"
quote="Innovation, intelligence, and creativity. We help businesses harness the power of AI to create impactful digital footprints in an evolving world."
author="NGA Digital Leadership"
role="Next Gen AI Experts"
imageSrc="http://img.b2bpic.net/free-photo/abstract-green-background-from-brilliant-mosaic-pattern-generative-ai_169016-30202.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesBentoGrid
tag="Our Expertise"
title="Next Gen Digital Services"
description="Comprehensive solutions powered by cutting-edge AI and human creativity."
features={[
{
title: "AI Digital Solutions",
description: "Leverage machine learning to drive automation and smart business growth.",
imageSrc: "http://img.b2bpic.net/free-photo/blockchain-technology-controls-digital-currency-transactions-online-generated-by-ai_188544-27198.jpg",
},
{
title: "Branding & Design",
description: "Stunning visuals that define your corporate identity and voice.",
imageSrc: "http://img.b2bpic.net/free-vector/graphic-design-element-collection_23-2148098250.jpg",
},
{
title: "Web Development",
description: "High-performance websites designed for speed, security, and conversion.",
imageSrc: "http://img.b2bpic.net/free-vector/creative-coding-app-development-25-flat-icon-pack-such-as-flask-testing-internet-sketching-notepad_1142-21598.jpg",
},
{
title: "Online Training",
description: "Upskill your team with courses designed for the future of digital work.",
imageSrc: "https://storage.googleapis.com/webild/default/no-image.jpg?id=97tgx9",
},
]}
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesRevealCardsBento
tag="Portfolio"
title="Selected Projects"
description="A glimpse into our creative and technical capability."
items={[
{
title: "AI Dashboard",
description: "Smart analytics interface for retail.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-vector/flat-electronics-logo-pack_23-2148974940.jpg",
},
{
title: "E-commerce Site",
description: "High-conversion shop platform.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/qwerty-word-gradient-corporate-visiting-cards_23-2148500435.jpg",
},
{
title: "Corporate Branding",
description: "Identity system for new tech start-up.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-vector/linear-web-development-illustration_1257-357.jpg",
},
{
title: "Marketing Social App",
description: "Campaign management platform.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology-landing-page_23-2149148966.jpg",
},
{
title: "AI Content Bot",
description: "Automated engagement systems.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-vector/technological-logo_1035-6545.jpg",
},
{
title: "Modern Course Hub",
description: "Platform for digital skill training.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/abstract-luxury-gradient-blue-background-smooth-dark-blue-with-black-vignette-studio-banner_1258-92086.jpg",
},
{
title: "Visual AI Branding",
description: "Identity using generative tech.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-vector/digital-code-coding-from-connecting-dot-line-light-effect-vector-illustration-isolated-transparent-background_587448-324.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<PortfolioSection />
<div id="training" data-section="training">
<SectionErrorBoundary name="training">
<MetricsIconCards
tag="Digital Training"
title="Empowering Future Talent"
description="Courses designed by industry experts to boost your competitive edge."
metrics={[
{
icon: Sparkles,
title: "AI Masterclass",
value: "20+ hrs",
},
{
icon: Palette,
title: "Design Systems",
value: "Expert",
},
{
icon: Code,
title: "Dev Basics",
value: "Applied",
},
]}
/>
</SectionErrorBoundary>
</div>
<TrainingSection />
<div id="why-nga" data-section="why-nga">
<SectionErrorBoundary name="why-nga">
<FaqSimple
tag="Why Choose Us"
title="NGA Digital Advantage"
description="What makes our agency unique in a crowded market."
items={[
{
question: "AI-Powered Creativity",
answer: "We integrate advanced machine learning tools to accelerate the design and development phase without compromising quality.",
},
{
question: "Professional Quality",
answer: "Our team maintains global agency standards, ensuring your project reflects professionalism and innovation.",
},
{
question: "Fast Workflow",
answer: "Through intelligent technologies, we deliver high-end digital solutions faster than traditional agencies.",
},
]}
/>
</SectionErrorBoundary>
</div>
<WhyNgaSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Let's Talk"
text="Ready to launch your project? Lets talk about how NGA Digital can build your future."
primaryButton={{
text: "Start Your Project",
href: "mailto:hello@ngadigital.com",
}}
secondaryButton={{
text: "Email Us",
href: "mailto:hello@ngadigital.com",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="About NGA Digital"
quote="Innovation, intelligence, and creativity. We help businesses harness the power of AI to create impactful digital footprints in an evolving world."
author="NGA Digital Leadership"
role="Next Gen AI Experts"
imageSrc="https://picsum.photos/seed/2129599349/1200/800"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// 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="Start Your Project"
text="Ready to launch your project? Let's talk about how NGA Digital can build your future."
primaryButton={{"href":"mailto:hello@ngadigital.com","text":"Let's Build the Future Together"}}
secondaryButton={{"href":"#","text":"Follow on Social"}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,23 @@
// 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 HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitMediaGrid
tag="Next Generation AI-Powered Digital Solutions"
title="Transform Your Ideas Into Digital Reality"
description="NGA Digital bridges the gap between intelligence and design. We build AI-powered experiences that scale."
primaryButton={{"text":"Start Your Project","href":"#contact"}}
secondaryButton={{"href":"#services","text":"Explore Services"}}
items={[{"imageSrc":"https://images.unsplash.com/photo-1620712943543-bcc4688e7485?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1677442136019-21780ecad995?q=80&w=1000&auto=format&fit=crop"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "portfolio" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PortfolioSection(): React.JSX.Element {
return (
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesRevealCardsBento
tag="Portfolio & Case Studies"
title="Selected Projects"
description="A glimpse into our creative and technical capability."
items={[{"imageSrc":"https://images.unsplash.com/photo-1551288049-bebda4e38f71?q=80&w=1000&auto=format&fit=crop","href":"#","description":"Smart analytics interface for retail.","title":"AI Dashboard"},{"title":"E-commerce Site","description":"High-conversion shop platform.","href":"#","imageSrc":"https://images.unsplash.com/photo-1460925895917-afdab827c52f?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1600132806370-bf17e65e942f?q=80&w=1000&auto=format&fit=crop","href":"#","description":"Identity system for new tech start-up.","title":"Corporate Branding"},{"href":"#","imageSrc":"https://images.unsplash.com/photo-1611162617474-5b21e879e113?q=80&w=1000&auto=format&fit=crop","title":"Marketing Social App","description":"Campaign management platform."},{"title":"AI Content Bot","description":"Automated engagement systems.","href":"#","imageSrc":"https://images.unsplash.com/photo-1677442136019-21780ecad995?q=80&w=1000&auto=format&fit=crop"},{"title":"Modern Course Hub","description":"Platform for digital skill training.","href":"#","imageSrc":"https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1000&auto=format&fit=crop"},{"href":"#","imageSrc":"https://images.unsplash.com/photo-1620712943543-bcc4688e7485?q=80&w=1000&auto=format&fit=crop","title":"Visual AI Branding","description":"Identity using generative tech."}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// 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 FeaturesBentoGrid from '@/components/sections/features/FeaturesBentoGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesBentoGrid
tag="Our Expertise"
title="Next Gen Digital Services"
description="Comprehensive solutions powered by cutting-edge AI and human creativity."
features={[{"imageSrc":"https://images.unsplash.com/photo-1677442136019-21780ecad995?q=80&w=1000&auto=format&fit=crop","title":"AI Digital Solutions","description":"Leverage machine learning to drive automation and smart business growth."},{"description":"Stunning visuals that define your corporate identity and voice.","imageSrc":"https://images.unsplash.com/photo-1620712943543-bcc4688e7485?q=80&w=1000&auto=format&fit=crop","title":"Branding & Design"},{"description":"High-performance websites designed for speed, security, and conversion.","title":"Web Development","imageSrc":"https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1000&auto=format&fit=crop"},{"imageSrc":"https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1000&auto=format&fit=crop","title":"Online Training","description":"Upskill your team with courses designed for the future of digital work."}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "training" section.
import React from 'react';
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
import { Code, Palette, Sparkles } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TrainingSection(): React.JSX.Element {
return (
<div id="training" data-section="training">
<SectionErrorBoundary name="training">
<MetricsIconCards
tag="Training Academy"
title="Empowering Future Talent"
description="Structured courses, learning paths, and certifications designed for the future of digital work."
metrics={[{"value":"Masterclass","icon":"Sparkles","title":"AI Tools Training"},{"value":"Advanced","icon":"Palette","title":"Graphic Design"},{"title":"Digital Skills","icon":"Code","value":"Certified"}]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "why-nga" section.
import React from 'react';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function WhyNgaSection(): React.JSX.Element {
return (
<div id="why-nga" data-section="why-nga">
<SectionErrorBoundary name="why-nga">
<FaqSimple
tag="Why Choose Us"
title="NGA Digital Advantage"
description="What makes our agency unique in a crowded market."
items={[{"answer":"We integrate advanced machine learning tools to accelerate the design and development phase without compromising quality.","question":"AI-Powered Creativity"},{"answer":"Our team maintains global agency standards, ensuring your project reflects professionalism and innovation.","question":"Professional Quality"},{"question":"Fast Workflow","answer":"Through intelligent technologies, we deliver high-end digital solutions faster than traditional agencies."},{"question":"Integrated Services","answer":"We combine agency services with professional education, offering a complete ecosystem for digital growth."}]}
/>
</SectionErrorBoundary>
</div>
);
}