nvis-fe-cms-libs 1.1.28 → 1.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -457,7 +457,7 @@ const CompanyValues = ({ companyData, t, isDarkMode }) => {
457
457
  "div",
458
458
  {
459
459
  ref: (el) => refs.current[index2] = el,
460
- className: `flex items-start space-x-4 rounded-lg p-4 transform transition-all duration-700 ease-out border ${isDarkMode ? "border-gray-700" : "border-gray-300"} ${visible[index2] ? "opacity-100 scale-100" : "opacity-0 scale-75"}`,
460
+ className: `flex items-start space-x-4 rounded-2xl p-6 transform transition-all duration-700 ease-out border backdrop-blur-sm ${isDarkMode ? "border-blue-800/40 bg-gradient-to-br from-blue-900/30 via-indigo-900/20 to-purple-900/30 hover:from-blue-800/40 hover:to-purple-800/40" : "border-gray-200 bg-transparent hover:border-gray-300"} ${visible[index2] ? "opacity-100 scale-100" : "opacity-0 scale-75"}`,
461
461
  style: { transitionDelay: `${index2 * 200}ms` },
462
462
  children: [
463
463
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -507,6 +507,76 @@ const CompanyValues = ({ companyData, t, isDarkMode }) => {
507
507
  }
508
508
  }) });
509
509
  };
510
+ const SectionWrapper = ({
511
+ variant,
512
+ isDarkMode,
513
+ className = "",
514
+ children
515
+ }) => {
516
+ const defaultVariant = "neutral";
517
+ const currentVariant = variant || defaultVariant;
518
+ const variants = {
519
+ blue: {
520
+ light: "bg-gradient-to-b from-white via-blue-100 to-white",
521
+ dark: "bg-gradient-to-b from-gray-950 via-blue-900 to-gray-950",
522
+ lightDecor1: "bg-blue-200/30",
523
+ lightDecor2: "bg-blue-300/30",
524
+ darkDecor1: "bg-blue-500/10",
525
+ darkDecor2: "bg-blue-600/10"
526
+ },
527
+ purple: {
528
+ light: "bg-gradient-to-b from-white via-purple-100 to-white",
529
+ dark: "bg-gradient-to-b from-gray-950 via-purple-900 to-gray-950",
530
+ lightDecor1: "bg-purple-200/30",
531
+ lightDecor2: "bg-pink-200/30",
532
+ darkDecor1: "bg-purple-500/10",
533
+ darkDecor2: "bg-pink-500/10"
534
+ },
535
+ green: {
536
+ light: "bg-gradient-to-b from-white via-emerald-100 to-white",
537
+ dark: "bg-gradient-to-b from-gray-950 via-emerald-900 to-gray-950",
538
+ lightDecor1: "bg-emerald-200/30",
539
+ lightDecor2: "bg-teal-200/30",
540
+ darkDecor1: "bg-emerald-500/10",
541
+ darkDecor2: "bg-teal-500/10"
542
+ },
543
+ neutral: {
544
+ light: "bg-gradient-to-b from-white via-gray-100 to-white",
545
+ dark: "bg-gradient-to-b from-gray-950 via-gray-800 to-gray-950",
546
+ lightDecor1: "bg-gray-200/30",
547
+ lightDecor2: "bg-gray-300/30",
548
+ darkDecor1: "bg-gray-600/10",
549
+ darkDecor2: "bg-gray-700/10"
550
+ },
551
+ softLight: {
552
+ light: "bg-gradient-to-b from-white via-blue-50 to-white",
553
+ dark: "bg-gradient-to-b from-gray-950 via-blue-950 to-gray-950",
554
+ lightDecor1: "bg-blue-100/25",
555
+ lightDecor2: "bg-purple-100/25",
556
+ darkDecor1: "bg-blue-500/10",
557
+ darkDecor2: "bg-purple-500/10"
558
+ }
559
+ };
560
+ const current = variants[currentVariant] || variants[defaultVariant];
561
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: `relative py-32 ${isDarkMode ? current.dark : current.light} ${className}`, children: [
562
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
563
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
564
+ "div",
565
+ {
566
+ className: `absolute top-10 left-1/4 w-72 h-72 ${isDarkMode ? current.darkDecor1 : current.lightDecor1} rounded-full blur-3xl animate-pulse`
567
+ }
568
+ ),
569
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
570
+ "div",
571
+ {
572
+ className: `absolute bottom-10 right-1/4 w-80 h-80 ${isDarkMode ? current.darkDecor2 : current.lightDecor2} rounded-full blur-3xl animate-pulse`,
573
+ style: { animationDelay: "2s" }
574
+ }
575
+ )
576
+ ] }),
577
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative z-10", children })
578
+ ] });
579
+ };
510
580
  const AboutCompanySection = ({ data, t, isDarkMode }) => {
511
581
  var _a, _b;
512
582
  const safeT = typeof t === "function" ? t : (key, options) => {
@@ -573,7 +643,7 @@ const AboutCompanySection = ({ data, t, isDarkMode }) => {
573
643
  /* @__PURE__ */ jsxRuntimeExports.jsx(
574
644
  "h1",
575
645
  {
576
- className: `text-4xl lg:text-5xl font-bold ${isDarkMode ? "text-white" : "text-gray-100"}`,
646
+ className: `text-5xl lg:text-6xl font-extrabold tracking-tight mb-4 ${isDarkMode ? "text-transparent bg-clip-text bg-gradient-to-r from-blue-400 via-indigo-300 to-purple-400 drop-shadow-[0_2px_8px_rgba(0,0,0,0.6)]" : "text-transparent bg-clip-text bg-gradient-to-r from-blue-100 via-indigo-50 to-purple-100 drop-shadow-[0_2px_6px_rgba(0,0,0,0.4)]"}`,
577
647
  children: name
578
648
  }
579
649
  )
@@ -583,7 +653,10 @@ const AboutCompanySection = ({ data, t, isDarkMode }) => {
583
653
  "div",
584
654
  {
585
655
  dangerouslySetInnerHTML: { __html: shortDescription },
586
- className: `prose max-w-none transition-colors mb-6 ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-800"}`
656
+ className: `prose max-w-none mb-8 leading-relaxed transition-colors ${isDarkMode ? "prose-invert text-gray-200 drop-shadow-[0_1px_3px_rgba(0,0,0,0.6)]" : "text-gray-100 drop-shadow-[0_1px_2px_rgba(0,0,0,0.3)]"} text-lg sm:text-xl md:text-2xl font-light tracking-wide`,
657
+ style: {
658
+ textShadow: isDarkMode ? "0 1px 3px rgba(0,0,0,0.8)" : "0 1px 3px rgba(0,0,0,0.5)"
659
+ }
587
660
  }
588
661
  ),
589
662
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -603,58 +676,52 @@ const AboutCompanySection = ({ data, t, isDarkMode }) => {
603
676
  ]
604
677
  }
605
678
  ),
606
- /* @__PURE__ */ jsxRuntimeExports.jsx(
607
- "section",
608
- {
609
- className: `py-20 transition-colors duration-300 ${isDarkMode ? "bg-gray-900" : "bg-gray-50"}`,
610
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid lg:grid-cols-2 gap-12 items-center", children: [
611
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
612
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
613
- "div",
614
- {
615
- className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 ${isDarkMode ? "bg-blue-900/40 text-blue-300 border border-blue-700" : "bg-blue-100 text-blue-800"}`,
616
- children: [
617
- "📖 ",
618
- safeT("aboutCompany.story.badge")
619
- ]
620
- }
621
- ),
622
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
623
- "h2",
624
- {
625
- className: `text-3xl lg:text-4xl font-bold mb-6 ${isDarkMode ? "text-white" : "text-gray-800"}`,
626
- children: [
627
- safeT("aboutCompany.story.title"),
628
- " ",
629
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
630
- ]
631
- }
632
- ),
633
- /* @__PURE__ */ jsxRuntimeExports.jsx(
634
- "div",
635
- {
636
- dangerouslySetInnerHTML: { __html: description },
637
- className: `prose max-w-none transition-colors ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-600"}`
638
- }
639
- )
640
- ] }),
641
- /* @__PURE__ */ jsxRuntimeExports.jsx(
642
- "div",
679
+ /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid lg:grid-cols-2 gap-12 items-center", children: [
680
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
681
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
682
+ "div",
683
+ {
684
+ className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 ${isDarkMode ? "bg-blue-900/40 text-blue-300 border border-blue-700" : "bg-blue-100 text-blue-800"}`,
685
+ children: [
686
+ "📖 ",
687
+ safeT("aboutCompany.story.badge")
688
+ ]
689
+ }
690
+ ),
691
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
692
+ "h2",
693
+ {
694
+ className: `text-3xl lg:text-4xl font-bold mb-6 ${isDarkMode ? "text-white" : "text-gray-800"}`,
695
+ children: [
696
+ safeT("aboutCompany.story.title"),
697
+ " ",
698
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
699
+ ]
700
+ }
701
+ ),
702
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
703
+ "div",
704
+ {
705
+ dangerouslySetInnerHTML: { __html: description },
706
+ className: `prose max-w-none transition-colors ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-600"}`
707
+ }
708
+ )
709
+ ] }),
710
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
711
+ "div",
712
+ {
713
+ className: `transition-colors ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
714
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
715
+ CompanyValues,
643
716
  {
644
- className: `transition-colors ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
645
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
646
- CompanyValues,
647
- {
648
- companyData,
649
- t: safeT,
650
- isDarkMode
651
- }
652
- )
717
+ companyData,
718
+ t: safeT,
719
+ isDarkMode
653
720
  }
654
721
  )
655
- ] }) })
656
- }
657
- )
722
+ }
723
+ )
724
+ ] }) }) })
658
725
  ] });
659
726
  };
660
727
  const TimelineSection = ({ data, t, isDarkMode, section }) => {
@@ -696,7 +763,7 @@ const TimelineSection = ({ data, t, isDarkMode, section }) => {
696
763
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`, children: t("timeline.noData.description") || "Hiện tại chưa có milestone nào được thiết lập." })
697
764
  ] }) });
698
765
  }
699
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-gray-800" : "bg-white"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
766
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
700
767
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
701
768
  "div",
702
769
  {
@@ -995,70 +1062,64 @@ const PartnersSection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
995
1062
  return () => partnersRef.current && observer.unobserve(partnersRef.current);
996
1063
  }, []);
997
1064
  if (!partnersData.length) return null;
998
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
999
- "section",
1000
- {
1001
- className: `py-12 lg:py-20 transition-colors duration-300 ${isDarkMode ? "bg-gradient-to-b from-gray-950 via-gray-900 to-gray-800" : "bg-gradient-to-b from-white via-gray-50 to-gray-100"}`,
1002
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1003
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1004
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1065
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1066
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1067
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1068
+ "div",
1069
+ {
1070
+ className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 border shadow-sm ${isDarkMode ? "bg-blue-900/30 text-blue-300 border-blue-800" : "bg-blue-100 text-blue-800 border-blue-200"}`,
1071
+ children: [
1072
+ "🤝 ",
1073
+ t("partners.header.badge")
1074
+ ]
1075
+ }
1076
+ ),
1077
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1078
+ "h2",
1079
+ {
1080
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1081
+ children: [
1082
+ t("partners.header.title"),
1083
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent mt-2", children: t("partners.header.subtitle") })
1084
+ ]
1085
+ }
1086
+ )
1087
+ ] }),
1088
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1089
+ "div",
1090
+ {
1091
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1092
+ children: [
1093
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative h-56 md:h-64 lg:h-72 xl:h-80 mb-8", children: partners.map((group, slideIndex) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1005
1094
  "div",
1006
1095
  {
1007
- className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 border shadow-sm ${isDarkMode ? "bg-blue-900/30 text-blue-300 border-blue-800" : "bg-blue-100 text-blue-800 border-blue-200"}`,
1008
- children: [
1009
- "🤝 ",
1010
- t("partners.header.badge")
1011
- ]
1012
- }
1013
- ),
1014
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1015
- "h2",
1016
- {
1017
- className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1018
- children: [
1019
- t("partners.header.title"),
1020
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent mt-2", children: t("partners.header.subtitle") })
1021
- ]
1022
- }
1023
- )
1024
- ] }),
1025
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1026
- "div",
1027
- {
1028
- className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1029
- children: [
1030
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative h-56 md:h-64 lg:h-72 xl:h-80 mb-8", children: partners.map((group, slideIndex) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1031
- "div",
1032
- {
1033
- className: `absolute inset-0 transition-all duration-1000 ease-in-out ${slideIndex === currentPartnerSlide ? "opacity-100 translate-x-0" : slideIndex < currentPartnerSlide ? "opacity-0 -translate-x-full" : "opacity-0 translate-x-full"}`,
1034
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-6 h-full px-2", children: group.map((partner, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1035
- PartnerCard,
1036
- {
1037
- partner,
1038
- idx,
1039
- t,
1040
- getLogoUrl,
1041
- isDarkMode
1042
- },
1043
- partner.id || idx
1044
- )) })
1045
- },
1046
- slideIndex
1047
- )) }),
1048
- partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1049
- "button",
1096
+ className: `absolute inset-0 transition-all duration-1000 ease-in-out ${slideIndex === currentPartnerSlide ? "opacity-100 translate-x-0" : slideIndex < currentPartnerSlide ? "opacity-0 -translate-x-full" : "opacity-0 translate-x-full"}`,
1097
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-6 h-full px-2", children: group.map((partner, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1098
+ PartnerCard,
1050
1099
  {
1051
- onClick: () => setCurrentPartnerSlide(index2),
1052
- className: `w-3 h-3 rounded-full transition-all ${index2 === currentPartnerSlide ? "bg-blue-500 scale-125" : isDarkMode ? "bg-gray-600 hover:bg-blue-400" : "bg-gray-300 hover:bg-blue-500"}`
1100
+ partner,
1101
+ idx,
1102
+ t,
1103
+ getLogoUrl,
1104
+ isDarkMode
1053
1105
  },
1054
- index2
1106
+ partner.id || idx
1055
1107
  )) })
1056
- ]
1057
- }
1058
- ) })
1059
- ] })
1060
- }
1061
- );
1108
+ },
1109
+ slideIndex
1110
+ )) }),
1111
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1112
+ "button",
1113
+ {
1114
+ onClick: () => setCurrentPartnerSlide(index2),
1115
+ className: `w-3 h-3 rounded-full transition-all ${index2 === currentPartnerSlide ? "bg-blue-500 scale-125" : isDarkMode ? "bg-gray-600 hover:bg-blue-400" : "bg-gray-300 hover:bg-blue-500"}`
1116
+ },
1117
+ index2
1118
+ )) })
1119
+ ]
1120
+ }
1121
+ ) })
1122
+ ] }) });
1062
1123
  };
1063
1124
  const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }) => {
1064
1125
  const [milestones, setMilestones] = useState([]);
@@ -1147,68 +1208,62 @@ const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }
1147
1208
  }
1148
1209
  );
1149
1210
  }
1150
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1151
- "section",
1152
- {
1153
- className: `py-20 ${isDarkMode ? "bg-gray-800" : "bg-white"}`,
1154
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1155
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1156
- "div",
1157
- {
1158
- className: `relative inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 border transition-all duration-300 transform hover:scale-105 shadow-md hover:shadow-lg overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 text-emerald-300 border-blue-800" : "bg-white text-emerald-800 border-gray-200"}`,
1159
- children: [
1160
- "📈 ",
1161
- sectionTitle
1162
- ]
1163
- }
1164
- ) }),
1165
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1166
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute left-1/2 transform -translate-x-1/2 w-1 h-full bg-gradient-to-b from-blue-500 to-purple-600 rounded-full" }),
1167
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
1168
- "div",
1169
- {
1170
- ref: (el) => timelineRefs.current[index2] = el,
1171
- className: `flex items-center transition-all duration-700 ease-out ${index2 % 2 === 0 ? "flex-row" : "flex-row-reverse"} ${timelineVisible[index2] ? "opacity-100 scale-100" : "opacity-0 scale-75"}`,
1172
- style: { transitionDelay: `${index2 * 200}ms` },
1173
- children: [
1174
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1175
- "div",
1176
- {
1177
- className: `relative p-5 rounded-xl shadow-lg transition-all duration-300 hover:shadow-xl overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 border border-blue-800 hover:border-blue-600" : "bg-gray-50 hover:shadow-2xl"}`,
1178
- children: [
1179
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-bold text-xl mb-2", children: milestone.time }),
1180
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1181
- "h3",
1182
- {
1183
- className: `text-lg font-bold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1184
- children: milestone.title
1185
- }
1186
- ),
1187
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1188
- "p",
1189
- {
1190
- className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`,
1191
- children: milestone.description
1192
- }
1193
- )
1194
- ]
1195
- }
1196
- ) }),
1197
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1198
- "div",
1199
- {
1200
- className: `w-6 h-6 bg-gradient-to-r from-blue-500 to-purple-600 rounded-full border-4 ${isDarkMode ? "border-gray-800" : "border-white"} shadow-[0_0_10px_5px_rgba(59,130,246,0.5)] flex-shrink-0 z-10 animate-pulse`
1201
- }
1202
- ),
1203
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" })
1204
- ]
1205
- },
1206
- milestone.id
1207
- )) })
1208
- ] })
1209
- ] })
1210
- }
1211
- );
1211
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1212
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1213
+ "div",
1214
+ {
1215
+ className: `relative inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 border transition-all duration-300 transform hover:scale-105 shadow-md hover:shadow-lg overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 text-emerald-300 border-blue-800" : "bg-white text-emerald-800 border-gray-200"}`,
1216
+ children: [
1217
+ "📈 ",
1218
+ sectionTitle
1219
+ ]
1220
+ }
1221
+ ) }),
1222
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1223
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute left-1/2 transform -translate-x-1/2 w-1 h-full bg-gradient-to-b from-blue-500 to-purple-600 rounded-full" }),
1224
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
1225
+ "div",
1226
+ {
1227
+ ref: (el) => timelineRefs.current[index2] = el,
1228
+ className: `flex items-center transition-all duration-700 ease-out ${index2 % 2 === 0 ? "flex-row" : "flex-row-reverse"} ${timelineVisible[index2] ? "opacity-100 scale-100" : "opacity-0 scale-75"}`,
1229
+ style: { transitionDelay: `${index2 * 200}ms` },
1230
+ children: [
1231
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1232
+ "div",
1233
+ {
1234
+ className: `relative p-5 rounded-xl shadow-lg transition-all duration-300 hover:shadow-xl overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 border border-blue-800 hover:border-blue-600" : "bg-gray-50 hover:shadow-2xl"}`,
1235
+ children: [
1236
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-bold text-xl mb-2", children: milestone.time }),
1237
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1238
+ "h3",
1239
+ {
1240
+ className: `text-lg font-bold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1241
+ children: milestone.title
1242
+ }
1243
+ ),
1244
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1245
+ "p",
1246
+ {
1247
+ className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`,
1248
+ children: milestone.description
1249
+ }
1250
+ )
1251
+ ]
1252
+ }
1253
+ ) }),
1254
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1255
+ "div",
1256
+ {
1257
+ className: `w-6 h-6 bg-gradient-to-r from-blue-500 to-purple-600 rounded-full border-4 ${isDarkMode ? "border-gray-800" : "border-white"} shadow-[0_0_10px_5px_rgba(59,130,246,0.5)] flex-shrink-0 z-10 animate-pulse`
1258
+ }
1259
+ ),
1260
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" })
1261
+ ]
1262
+ },
1263
+ milestone.id
1264
+ )) })
1265
+ ] })
1266
+ ] }) });
1212
1267
  };
1213
1268
  const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1214
1269
  var _a;
@@ -1252,74 +1307,68 @@ const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1252
1307
  return () => clearInterval(interval);
1253
1308
  }
1254
1309
  }, [displayTestimonials.length]);
1255
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1256
- "section",
1257
- {
1258
- className: `py-20 transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-gray-50"}`,
1259
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
1260
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1261
- "div",
1262
- {
1263
- className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
1264
- children: [
1265
- "💬 ",
1266
- sectionTitle
1267
- ]
1268
- }
1269
- ),
1270
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1271
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1272
- "div",
1273
- {
1274
- className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white"}`,
1275
- children: [
1276
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1277
- "blockquote",
1310
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
1311
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1312
+ "div",
1313
+ {
1314
+ className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
1315
+ children: [
1316
+ "💬 ",
1317
+ sectionTitle
1318
+ ]
1319
+ }
1320
+ ),
1321
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1322
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1323
+ "div",
1324
+ {
1325
+ className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white"}`,
1326
+ children: [
1327
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1328
+ "blockquote",
1329
+ {
1330
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
1331
+ children: [
1332
+ '"',
1333
+ displayTestimonials[currentIndex].quote,
1334
+ '"'
1335
+ ]
1336
+ }
1337
+ ),
1338
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
1339
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
1340
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
1341
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1342
+ "div",
1278
1343
  {
1279
- className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
1280
- children: [
1281
- '"',
1282
- displayTestimonials[currentIndex].quote,
1283
- '"'
1284
- ]
1344
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1345
+ children: displayTestimonials[currentIndex].author
1285
1346
  }
1286
1347
  ),
1287
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
1288
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
1289
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
1290
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1291
- "div",
1292
- {
1293
- className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1294
- children: displayTestimonials[currentIndex].author
1295
- }
1296
- ),
1297
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: displayTestimonials[currentIndex].position }),
1298
- displayTestimonials[currentIndex].company && /* @__PURE__ */ jsxRuntimeExports.jsx(
1299
- "div",
1300
- {
1301
- className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
1302
- children: displayTestimonials[currentIndex].company
1303
- }
1304
- )
1305
- ] })
1306
- ] })
1307
- ]
1308
- },
1309
- currentIndex
1310
- ),
1311
- displayTestimonials.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: displayTestimonials.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1312
- "button",
1313
- {
1314
- onClick: () => setCurrentIndex(index2),
1315
- className: `w-2.5 h-2.5 rounded-full transition-all duration-300 ${index2 === currentIndex ? "bg-blue-600" : isDarkMode ? "bg-gray-600 hover:bg-gray-500" : "bg-gray-300 hover:bg-gray-400"}`
1316
- },
1317
- index2
1318
- )) })
1319
- ] })
1320
- ] })
1321
- }
1322
- );
1348
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: displayTestimonials[currentIndex].position }),
1349
+ displayTestimonials[currentIndex].company && /* @__PURE__ */ jsxRuntimeExports.jsx(
1350
+ "div",
1351
+ {
1352
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
1353
+ children: displayTestimonials[currentIndex].company
1354
+ }
1355
+ )
1356
+ ] })
1357
+ ] })
1358
+ ]
1359
+ },
1360
+ currentIndex
1361
+ ),
1362
+ displayTestimonials.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: displayTestimonials.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1363
+ "button",
1364
+ {
1365
+ onClick: () => setCurrentIndex(index2),
1366
+ className: `w-2.5 h-2.5 rounded-full transition-all duration-300 ${index2 === currentIndex ? "bg-blue-600" : isDarkMode ? "bg-gray-600 hover:bg-gray-500" : "bg-gray-300 hover:bg-gray-400"}`
1367
+ },
1368
+ index2
1369
+ )) })
1370
+ ] })
1371
+ ] }) });
1323
1372
  };
1324
1373
  const PartnerListCard = ({ partner, idx = 0, t, isDarkMode, getLogoUrl }) => {
1325
1374
  const itemRef = useRef(null);
@@ -1531,72 +1580,66 @@ const PartnerListSection = ({ t, isDarkMode, getPartnerList, imageBaseUrl = "" }
1531
1580
  return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: "py-20 text-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-red-500", children: t("partners.error") || error }) });
1532
1581
  }
1533
1582
  if (!partnersData.length) return null;
1534
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1535
- "section",
1536
- {
1537
- className: `py-12 lg:py-20 transition-colors duration-300 ${isDarkMode ? "bg-gradient-to-b from-gray-950 via-gray-900 to-gray-800" : "bg-gradient-to-b from-white via-gray-50 to-gray-100"}`,
1538
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1539
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1540
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1583
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1584
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1585
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1586
+ "div",
1587
+ {
1588
+ className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 border shadow-sm ${isDarkMode ? "bg-blue-900/30 text-blue-300 border-blue-800" : "bg-blue-100 text-blue-800 border-blue-200"}`,
1589
+ children: [
1590
+ "🤝 ",
1591
+ t("partners.badge") || "ĐỐI TÁC CHIẾN LƯỢC"
1592
+ ]
1593
+ }
1594
+ ),
1595
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1596
+ "h2",
1597
+ {
1598
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1599
+ children: [
1600
+ t("partners.title.part1") || "Đồng hành cùng",
1601
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent mt-2", children: t("partners.title.part2") || "Những thương hiệu hàng đầu" })
1602
+ ]
1603
+ }
1604
+ )
1605
+ ] }),
1606
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1607
+ "div",
1608
+ {
1609
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1610
+ children: [
1611
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative overflow-hidden mb-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-[220px]", children: partners.map((group, slideIndex) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1541
1612
  "div",
1542
1613
  {
1543
- className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 border shadow-sm ${isDarkMode ? "bg-blue-900/30 text-blue-300 border-blue-800" : "bg-blue-100 text-blue-800 border-blue-200"}`,
1544
- children: [
1545
- "🤝 ",
1546
- t("partners.badge") || "ĐỐI TÁC CHIẾN LƯỢC"
1547
- ]
1548
- }
1549
- ),
1550
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1551
- "h2",
1552
- {
1553
- className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1554
- children: [
1555
- t("partners.title.part1") || "Đồng hành cùng",
1556
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-500 to-purple-500 bg-clip-text text-transparent mt-2", children: t("partners.title.part2") || "Những thương hiệu hàng đầu" })
1557
- ]
1558
- }
1559
- )
1560
- ] }),
1561
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1562
- "div",
1563
- {
1564
- className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1565
- children: [
1566
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative overflow-hidden mb-8", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-[220px]", children: partners.map((group, slideIndex) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1567
- "div",
1614
+ className: `absolute inset-0 w-full transition-all duration-1000 ease-in-out ${slideIndex === currentPartnerSlide ? "opacity-100 translate-x-0" : slideIndex < currentPartnerSlide ? "opacity-0 -translate-x-full" : "opacity-0 translate-x-full"}`,
1615
+ style: { zIndex: slideIndex === currentPartnerSlide ? 10 : 1 },
1616
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-6 px-2", children: group.map((partner, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1617
+ PartnerListCard,
1568
1618
  {
1569
- className: `absolute inset-0 w-full transition-all duration-1000 ease-in-out ${slideIndex === currentPartnerSlide ? "opacity-100 translate-x-0" : slideIndex < currentPartnerSlide ? "opacity-0 -translate-x-full" : "opacity-0 translate-x-full"}`,
1570
- style: { zIndex: slideIndex === currentPartnerSlide ? 10 : 1 },
1571
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-6 px-2", children: group.map((partner, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1572
- PartnerListCard,
1573
- {
1574
- partner,
1575
- idx,
1576
- t,
1577
- isDarkMode,
1578
- getLogoUrl
1579
- },
1580
- partner.id || `${slideIndex}-${idx}`
1581
- )) })
1619
+ partner,
1620
+ idx,
1621
+ t,
1622
+ isDarkMode,
1623
+ getLogoUrl
1582
1624
  },
1583
- slideIndex
1584
- )) }) }),
1585
- partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", style: { zIndex: 50 }, children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1586
- "button",
1587
- {
1588
- onClick: () => setCurrentPartnerSlide(index2),
1589
- className: `w-3 h-3 rounded-full transition-all duration-300 ${index2 === currentPartnerSlide ? "bg-blue-500 scale-125 shadow-lg" : isDarkMode ? "bg-gray-600 hover:bg-blue-400" : "bg-gray-300 hover:bg-blue-500"}`,
1590
- "aria-label": `Slide ${index2 + 1}`
1591
- },
1592
- index2
1625
+ partner.id || `${slideIndex}-${idx}`
1593
1626
  )) })
1594
- ]
1595
- }
1596
- ) })
1597
- ] })
1598
- }
1599
- );
1627
+ },
1628
+ slideIndex
1629
+ )) }) }),
1630
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", style: { zIndex: 50 }, children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1631
+ "button",
1632
+ {
1633
+ onClick: () => setCurrentPartnerSlide(index2),
1634
+ className: `w-3 h-3 rounded-full transition-all duration-300 ${index2 === currentPartnerSlide ? "bg-blue-500 scale-125 shadow-lg" : isDarkMode ? "bg-gray-600 hover:bg-blue-400" : "bg-gray-300 hover:bg-blue-500"}`,
1635
+ "aria-label": `Slide ${index2 + 1}`
1636
+ },
1637
+ index2
1638
+ )) })
1639
+ ]
1640
+ }
1641
+ ) })
1642
+ ] }) });
1600
1643
  };
1601
1644
  /**
1602
1645
  * @license lucide-react v0.536.0 - ISC
@@ -2379,7 +2422,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
2379
2422
  });
2380
2423
  const inputBaseClasses = `w-full px-4 py-3 rounded-xl border transition-all duration-200 focus:ring-2 focus:ring-indigo-500/20 focus:outline-none ${isDarkMode ? "bg-gray-700 border-gray-600 text-white placeholder-gray-400 focus:border-indigo-500" : "bg-white border-slate-300 text-slate-900 placeholder-slate-500 focus:border-indigo-500"}`;
2381
2424
  const labelClasses = `block text-sm font-semibold mb-2 ${isDarkMode ? "text-gray-300" : "text-slate-700"}`;
2382
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-16 transition-colors duration-200 ${isDarkMode ? "bg-gray-950" : "bg-white"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid lg:grid-cols-3 gap-12", children: [
2425
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid lg:grid-cols-3 gap-12", children: [
2383
2426
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lg:col-span-2", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `rounded-2xl p-8 shadow-lg border transition-colors duration-200 ${isDarkMode ? "bg-gray-800 border-gray-700" : "bg-white border-slate-200"}`, children: [
2384
2427
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
2385
2428
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-lg bg-gradient-to-r from-indigo-500 to-purple-600 flex items-center justify-center mr-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { size: 20, className: "text-white" }) }),
@@ -2695,7 +2738,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
2695
2738
  const contactData = ((_b = (_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.filter((item) => item == null ? void 0 : item.data)) == null ? void 0 : _b.map((item) => item.data)) || [];
2696
2739
  const sectionTitle = (section == null ? void 0 : section.title) || "...";
2697
2740
  if (!contactData.length) return null;
2698
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-16 ${isDarkMode ? "bg-gray-900" : "bg-slate-50"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
2741
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
2699
2742
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `inline-flex items-center px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300" : "bg-indigo-50 text-indigo-700"}`, children: [
2700
2743
  /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 22, className: "mr-2" }),
2701
2744
  sectionTitle
@@ -2803,7 +2846,7 @@ const ContactListAutoSection = ({ data, t, isDarkMode, getContactList, section }
2803
2846
  /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `${isDarkMode ? "text-gray-500" : "text-gray-500"}`, children: t("contactList.status.noData.description") || "Danh sách liên hệ sẽ hiển thị tại đây" })
2804
2847
  ] });
2805
2848
  }
2806
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-gray-900" : "bg-gray-50"} transition-colors duration-300`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-6xl mx-auto px-5", children: [
2849
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-6xl mx-auto px-5", children: [
2807
2850
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-16", children: /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: `text-4xl font-bold ${isDarkMode ? "text-white" : "text-gray-900"} mb-4`, children: sectionTitle }) }),
2808
2851
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mt-10", children: contacts.map((contact, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(ContactCard, { contact, t, isDarkMode }, contact.id || index2)) })
2809
2852
  ] }) });
@@ -2943,75 +2986,71 @@ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback
2943
2986
  );
2944
2987
  }
2945
2988
  const currentFeedback = feedbacks[currentIndex];
2946
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2947
- "section",
2948
- {
2949
- className: `py-20 transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-gray-50"}`,
2950
- children: [
2951
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
2952
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2953
- "div",
2954
- {
2955
- className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
2956
- children: [
2957
- "💬 ",
2958
- sectionTitle
2959
- ]
2960
- }
2961
- ),
2962
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
2963
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2964
- "div",
2965
- {
2966
- className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white shadow-lg"}`,
2967
- children: [
2968
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2969
- "blockquote",
2989
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
2990
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
2991
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
2992
+ "div",
2993
+ {
2994
+ className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
2995
+ children: [
2996
+ "💬 ",
2997
+ sectionTitle
2998
+ ]
2999
+ }
3000
+ ),
3001
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
3002
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3003
+ "div",
3004
+ {
3005
+ className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white shadow-lg"}`,
3006
+ children: [
3007
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3008
+ "blockquote",
3009
+ {
3010
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 leading-relaxed ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
3011
+ children: [
3012
+ '"',
3013
+ currentFeedback.content,
3014
+ '"'
3015
+ ]
3016
+ }
3017
+ ),
3018
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
3019
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
3020
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
3021
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3022
+ "div",
2970
3023
  {
2971
- className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 leading-relaxed ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
2972
- children: [
2973
- '"',
2974
- currentFeedback.content,
2975
- '"'
2976
- ]
3024
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
3025
+ children: currentFeedback.customerName
2977
3026
  }
2978
3027
  ),
2979
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
2980
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
2981
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
2982
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2983
- "div",
2984
- {
2985
- className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
2986
- children: currentFeedback.customerName
2987
- }
2988
- ),
2989
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: currentFeedback.customerTitle }),
2990
- currentFeedback.customerCompany && /* @__PURE__ */ jsxRuntimeExports.jsx(
2991
- "div",
2992
- {
2993
- className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
2994
- children: currentFeedback.customerCompany
2995
- }
2996
- )
2997
- ] })
2998
- ] })
2999
- ]
3000
- },
3001
- currentIndex
3002
- ),
3003
- feedbacks.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: feedbacks.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3004
- "button",
3005
- {
3006
- onClick: () => setCurrentIndex(index2),
3007
- className: `w-2.5 h-2.5 rounded-full transition-all duration-300 ${index2 === currentIndex ? "bg-blue-600" : isDarkMode ? "bg-gray-600 hover:bg-gray-500" : "bg-gray-300 hover:bg-gray-400"}`,
3008
- "aria-label": t("customerFeedback.switchToFeedback", { number: index2 + 1 }) || `Chuyển đến phản hồi ${index2 + 1}`
3009
- },
3010
- index2
3011
- )) })
3012
- ] })
3013
- ] }),
3014
- /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
3028
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: currentFeedback.customerTitle }),
3029
+ currentFeedback.customerCompany && /* @__PURE__ */ jsxRuntimeExports.jsx(
3030
+ "div",
3031
+ {
3032
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
3033
+ children: currentFeedback.customerCompany
3034
+ }
3035
+ )
3036
+ ] })
3037
+ ] })
3038
+ ]
3039
+ },
3040
+ currentIndex
3041
+ ),
3042
+ feedbacks.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: feedbacks.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3043
+ "button",
3044
+ {
3045
+ onClick: () => setCurrentIndex(index2),
3046
+ className: `w-2.5 h-2.5 rounded-full transition-all duration-300 ${index2 === currentIndex ? "bg-blue-600" : isDarkMode ? "bg-gray-600 hover:bg-gray-500" : "bg-gray-300 hover:bg-gray-400"}`,
3047
+ "aria-label": t("customerFeedback.switchToFeedback", { number: index2 + 1 }) || `Chuyển đến phản hồi ${index2 + 1}`
3048
+ },
3049
+ index2
3050
+ )) })
3051
+ ] })
3052
+ ] }),
3053
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
3015
3054
  .animate-fadeIn {
3016
3055
  animation: fadeIn 0.5s ease-in-out;
3017
3056
  }
@@ -3026,9 +3065,7 @@ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback
3026
3065
  }
3027
3066
  }
3028
3067
  ` })
3029
- ]
3030
- }
3031
- );
3068
+ ] });
3032
3069
  };
3033
3070
  const ProductListSection = ({ data, t, isDarkMode, getProductList }) => {
3034
3071
  const [products, setProducts] = useState([]);
@@ -3256,164 +3293,12 @@ const ProductCard = ({ product, t, isDarkMode }) => {
3256
3293
  }
3257
3294
  );
3258
3295
  };
3259
- const ImageItem = ({ item, index: index2, isDarkMode, t, getObjectUrl: getObjectUrl2 }) => {
3260
- var _a;
3261
- const media = (_a = item.medias) == null ? void 0 : _a[0];
3262
- const getImageUrl = () => {
3263
- if (!(media == null ? void 0 : media.url)) return null;
3264
- if (media.url instanceof File) {
3265
- return URL.createObjectURL(media.url);
3266
- }
3267
- if (typeof media.url === "string" && getObjectUrl2) {
3268
- return getObjectUrl2(media.url);
3269
- }
3270
- return media.url;
3271
- };
3272
- const imageUrl = getImageUrl();
3273
- require$$0.useEffect(() => {
3274
- return () => {
3275
- if (imageUrl && imageUrl.startsWith("blob:")) {
3276
- URL.revokeObjectURL(imageUrl);
3277
- }
3278
- };
3279
- }, [imageUrl]);
3280
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3281
- "div",
3282
- {
3283
- style: {
3284
- borderRadius: "8px",
3285
- overflow: "hidden",
3286
- boxShadow: isDarkMode ? "0 4px 8px rgba(0,0,0,0.3)" : "0 4px 8px rgba(0,0,0,0.1)"
3287
- },
3288
- children: imageUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
3289
- "img",
3290
- {
3291
- src: imageUrl,
3292
- alt: `Image ${index2 + 1}`,
3293
- style: {
3294
- width: "100%",
3295
- height: "250px",
3296
- objectFit: "cover"
3297
- },
3298
- onError: (e) => {
3299
- e.currentTarget.parentElement.style.display = "none";
3300
- }
3301
- }
3302
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
3303
- "div",
3304
- {
3305
- style: {
3306
- width: "100%",
3307
- height: "250px",
3308
- backgroundColor: isDarkMode ? "#374151" : "#f3f4f6",
3309
- display: "flex",
3310
- alignItems: "center",
3311
- justifyContent: "center",
3312
- color: isDarkMode ? "#9ca3af" : "#6b7280",
3313
- fontSize: "14px"
3314
- },
3315
- children: t("imageSection.noImage") || "No image available"
3316
- }
3317
- )
3318
- },
3319
- item.id || index2
3320
- );
3321
- };
3322
- const ImageSection = ({ data, t, isDarkMode, getObjectUrl: getObjectUrl2 }) => {
3323
- const imageItems = useMemo(() => (data == null ? void 0 : data.sectionDataBindingItems) || [], [data]);
3324
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3325
- padding: "40px 20px",
3326
- backgroundColor: isDarkMode ? "#111827" : "white"
3327
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3328
- "div",
3329
- {
3330
- style: {
3331
- display: "grid",
3332
- gridTemplateColumns: "repeat(auto-fit, minmax(300px, 1fr))",
3333
- gap: "20px"
3334
- },
3335
- children: imageItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3336
- ImageItem,
3337
- {
3338
- item,
3339
- index: index2,
3340
- isDarkMode,
3341
- t,
3342
- getObjectUrl: getObjectUrl2
3343
- },
3344
- item.id || index2
3345
- ))
3346
- }
3347
- ) }) });
3348
- };
3349
- const SingleImageItem = ({ item, index: index2, isDarkMode }) => {
3350
- var _a;
3351
- const media = (_a = item.medias) == null ? void 0 : _a[0];
3352
- const getImageUrl = () => {
3353
- if (!(media == null ? void 0 : media.url)) return null;
3354
- if (media.url instanceof File) {
3355
- return URL.createObjectURL(media.url);
3356
- }
3357
- if (getObjectUrl && typeof media.url === "string") {
3358
- return getObjectUrl(media.url);
3359
- }
3360
- return media.url;
3361
- };
3362
- const imageUrl = getImageUrl();
3363
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3364
- "div",
3365
- {
3366
- style: {
3367
- borderRadius: "12px",
3368
- overflow: "hidden",
3369
- boxShadow: isDarkMode ? "0 8px 24px rgba(0,0,0,0.4)" : "0 8px 24px rgba(0,0,0,0.15)",
3370
- marginBottom: "30px"
3371
- },
3372
- children: imageUrl && /* @__PURE__ */ jsxRuntimeExports.jsx(
3373
- "img",
3374
- {
3375
- src: imageUrl,
3376
- alt: `Single Image ${index2 + 1}`,
3377
- style: {
3378
- width: "100%",
3379
- height: "400px",
3380
- objectFit: "cover",
3381
- display: "block"
3382
- },
3383
- onError: (e) => {
3384
- e.currentTarget.style.display = "none";
3385
- }
3386
- }
3387
- )
3388
- },
3389
- item.id || index2
3390
- );
3391
- };
3392
- const ImageSingleSection = ({ data, t, isDarkMode, getObjectUrl: getObjectUrl2 }) => {
3393
- const imageItems = useMemo(() => (data == null ? void 0 : data.sectionDataBindingItems) || [], [data]);
3394
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3395
- padding: "40px 20px",
3396
- backgroundColor: isDarkMode ? "#111827" : "white"
3397
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: imageItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3398
- SingleImageItem,
3399
- {
3400
- item,
3401
- index: index2,
3402
- isDarkMode,
3403
- getObjectUrl: getObjectUrl2
3404
- },
3405
- item.id || index2
3406
- )) }) });
3407
- };
3408
3296
  const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3409
3297
  var _a;
3410
3298
  const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3411
3299
  const title = ((_a = textItems[0]) == null ? void 0 : _a.value) || "";
3412
3300
  const descriptions = textItems.slice(1);
3413
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3414
- padding: "40px 20px",
3415
- backgroundColor: isDarkMode ? "#111827" : "#ffffff"
3416
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: [
3301
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: [
3417
3302
  title && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
3418
3303
  fontSize: "36px",
3419
3304
  fontWeight: "700",
@@ -3443,32 +3328,23 @@ const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3443
3328
  };
3444
3329
  const TextSection = ({ data, isDarkMode }) => {
3445
3330
  const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3446
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3331
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: textItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3447
3332
  "div",
3448
3333
  {
3449
3334
  style: {
3450
- padding: "40px 20px",
3451
- backgroundColor: isDarkMode ? "#111827" : "#ffffff"
3335
+ padding: "0",
3336
+ marginBottom: "20px",
3337
+ fontSize: "28px",
3338
+ fontWeight: "700",
3339
+ lineHeight: "1.3",
3340
+ color: isDarkMode ? "#f9fafb" : "#111827",
3341
+ textAlign: "left",
3342
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
3452
3343
  },
3453
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: textItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3454
- "div",
3455
- {
3456
- style: {
3457
- padding: "0",
3458
- marginBottom: "20px",
3459
- fontSize: "28px",
3460
- fontWeight: "700",
3461
- lineHeight: "1.3",
3462
- color: isDarkMode ? "#f9fafb" : "#111827",
3463
- textAlign: "left",
3464
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
3465
- },
3466
- children: item.value
3467
- },
3468
- item.id || index2
3469
- )) })
3470
- }
3471
- );
3344
+ children: item.value
3345
+ },
3346
+ item.id || index2
3347
+ )) }) });
3472
3348
  };
3473
3349
  const DiagramSection = ({ data, t, isDarkMode }) => {
3474
3350
  var _a, _b;
@@ -4424,7 +4300,7 @@ const FaqSection = ({ data, t, isDarkMode }) => {
4424
4300
  const toggleFaq = (index2) => {
4425
4301
  setActiveIndex(activeIndex === index2 ? -1 : index2);
4426
4302
  };
4427
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `py-16 px-4 ${isDarkMode ? "bg-gradient-to-b from-gray-900 via-gray-900 to-gray-800" : "bg-gradient-to-b from-gray-50 to-white"}`, children: [
4303
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
4428
4304
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
4429
4305
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center mb-6 animate-fade-in", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `
4430
4306
  w-10 h-10 rounded-lg flex items-center justify-center
@@ -4654,11 +4530,7 @@ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl
4654
4530
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4655
4531
  return `${imageBaseUrl}${url}`;
4656
4532
  };
4657
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4658
- padding: "80px 16px",
4659
- backgroundColor: isDarkMode ? "#111827" : "#f5f5f5",
4660
- transition: "background-color 0.3s"
4661
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4533
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4662
4534
  maxWidth: "1400px",
4663
4535
  margin: "0 auto"
4664
4536
  }, children: [
@@ -4803,11 +4675,7 @@ const PageChildrenSelectSection1 = ({ data, isDarkMode, t, section, imageBaseUrl
4803
4675
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4804
4676
  return `${imageBaseUrl}${url}`;
4805
4677
  };
4806
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4807
- padding: "60px 16px",
4808
- backgroundColor: isDarkMode ? "#111827" : "#ffffff",
4809
- transition: "background-color 0.3s"
4810
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4678
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4811
4679
  maxWidth: "1280px",
4812
4680
  margin: "0 auto"
4813
4681
  }, children: [
@@ -4970,11 +4838,7 @@ const PageChildrenSelectSection2 = ({ data, isDarkMode, t, section, imageBaseUrl
4970
4838
  };
4971
4839
  const visiblePages = pages.slice(0, visibleCount);
4972
4840
  const hasMore = visibleCount < pages.length;
4973
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4974
- padding: "80px 16px",
4975
- backgroundColor: isDarkMode ? "#0f172a" : "#f8fafc",
4976
- transition: "background-color 0.3s"
4977
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4841
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4978
4842
  maxWidth: "1400px",
4979
4843
  margin: "0 auto"
4980
4844
  }, children: [
@@ -5121,8 +4985,6 @@ const index = {
5121
4985
  ContactListAutoSection,
5122
4986
  CustomerFeedbackAutoSection,
5123
4987
  ProductListSection,
5124
- ImageSection,
5125
- ImageSingleSection,
5126
4988
  TextWithTitleSection,
5127
4989
  TextSection,
5128
4990
  DiagramSection,
@@ -5143,8 +5005,6 @@ export {
5143
5005
  DiagramSection,
5144
5006
  DiagramSection2,
5145
5007
  FaqSection,
5146
- ImageSection,
5147
- ImageSingleSection,
5148
5008
  MilestoneSection,
5149
5009
  PageChildrenSelectSection,
5150
5010
  PageChildrenSelectSection1,