diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 03e828c..f98d3a3 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,211 +1,38 @@ -import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion'; -import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel'; -import HeroBrand from '@/components/sections/hero/HeroBrand'; -import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; -import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards'; -import { Award, BookOpen, GraduationCap, Users, Zap } from "lucide-react"; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in .//sections/.tsx. Edit the section +// files directly. Non-block content (wrappers, non-inlinable sections) is +// preserved inline; extracted section blocks become refs. -export default function HomePage() { +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import AboutSection from './HomePage/sections/About'; +import ProgramsSection from './HomePage/sections/Programs'; +import MetricsSection from './HomePage/sections/Metrics'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; + + + +{/* webild-stub @2026-06-15T14:22:02.484Z: Include a section displaying logos of educational accreditation bodies or ministry affiliations to immediately establish institutional credibility and authority. */} + +import AccreditationsSection from './HomePage/sections/Accreditations';export default function HomePage(): React.JSX.Element { return ( - <> -
- - - -
+<> + + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ ); } diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..a853ead --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -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 { Award, BookOpen, GraduationCap, Users, Zap } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function AboutSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Accreditations.tsx b/src/pages/HomePage/sections/Accreditations.tsx new file mode 100644 index 0000000..a05e810 --- /dev/null +++ b/src/pages/HomePage/sections/Accreditations.tsx @@ -0,0 +1,46 @@ +import ScrollReveal from '@/components/ui/ScrollReveal'; +import TextAnimation from '@/components/ui/TextAnimation'; +import LoopCarousel from '@/components/ui/LoopCarousel'; +import ImageOrVideo from '@/components/ui/ImageOrVideo'; + +export default function AccreditationsSection() { + return ( +
+
+ +
+ +

+ نفخر بحصولنا على اعتمادات من أبرز الهيئات التعليمية المحلية والدولية +

+
+
+ +
+ + {[ + { name: "وزارة التعليم", src: "https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=100&fit=crop&q=80" }, + { name: "هيئة تقويم التعليم والتدريب", src: "https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=100&fit=crop&q=80" }, + { name: "Cognia", src: "https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=100&fit=crop&q=80" }, + { name: "Cambridge Assessment", src: "https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=100&fit=crop&q=80" }, + { name: "IB World School", src: "https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=200&h=100&fit=crop&q=80" }, + ].map((logo, idx) => ( +
+ +
+ ))} +
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..39633f9 --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..4fe08ba --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,44 @@ +// 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 FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function FaqSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..6819347 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,28 @@ +// 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 HeroBrand from '@/components/sections/hero/HeroBrand'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Metrics.tsx b/src/pages/HomePage/sections/Metrics.tsx new file mode 100644 index 0000000..54a6ac8 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,38 @@ +// 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 MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; +import { Award, BookOpen, GraduationCap, Users, Zap } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Programs.tsx b/src/pages/HomePage/sections/Programs.tsx new file mode 100644 index 0000000..b126458 --- /dev/null +++ b/src/pages/HomePage/sections/Programs.tsx @@ -0,0 +1,40 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "programs" section. + +import React from 'react'; +import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ProgramsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Testimonials.tsx b/src/pages/HomePage/sections/Testimonials.tsx new file mode 100644 index 0000000..6a7327b --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -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 ( +
+ + + +
+ ); +}