nvis-fe-cms-libs 1.1.28 → 1.1.30

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,7 @@ 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" : "text-gray-100"} text-lg sm:text-xl md:text-2xl font-light tracking-wide`
587
657
  }
588
658
  ),
589
659
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -603,58 +673,52 @@ const AboutCompanySection = ({ data, t, isDarkMode }) => {
603
673
  ]
604
674
  }
605
675
  ),
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",
676
+ /* @__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: [
677
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
678
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
679
+ "div",
680
+ {
681
+ 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"}`,
682
+ children: [
683
+ "📖 ",
684
+ safeT("aboutCompany.story.badge")
685
+ ]
686
+ }
687
+ ),
688
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
689
+ "h2",
690
+ {
691
+ className: `text-3xl lg:text-4xl font-bold mb-6 ${isDarkMode ? "text-white" : "text-gray-800"}`,
692
+ children: [
693
+ safeT("aboutCompany.story.title"),
694
+ " ",
695
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
696
+ ]
697
+ }
698
+ ),
699
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
700
+ "div",
701
+ {
702
+ dangerouslySetInnerHTML: { __html: description },
703
+ className: `prose max-w-none transition-colors ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-600"}`
704
+ }
705
+ )
706
+ ] }),
707
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
708
+ "div",
709
+ {
710
+ className: `transition-colors ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
711
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
712
+ CompanyValues,
643
713
  {
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
- )
714
+ companyData,
715
+ t: safeT,
716
+ isDarkMode
653
717
  }
654
718
  )
655
- ] }) })
656
- }
657
- )
719
+ }
720
+ )
721
+ ] }) }) })
658
722
  ] });
659
723
  };
660
724
  const TimelineSection = ({ data, t, isDarkMode, section }) => {
@@ -696,7 +760,7 @@ const TimelineSection = ({ data, t, isDarkMode, section }) => {
696
760
  /* @__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
761
  ] }) });
698
762
  }
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: [
763
+ 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
764
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
701
765
  "div",
702
766
  {
@@ -995,70 +1059,64 @@ const PartnersSection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
995
1059
  return () => partnersRef.current && observer.unobserve(partnersRef.current);
996
1060
  }, []);
997
1061
  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(
1062
+ 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: [
1063
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1064
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1065
+ "div",
1066
+ {
1067
+ 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"}`,
1068
+ children: [
1069
+ "🤝 ",
1070
+ t("partners.header.badge")
1071
+ ]
1072
+ }
1073
+ ),
1074
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1075
+ "h2",
1076
+ {
1077
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1078
+ children: [
1079
+ t("partners.header.title"),
1080
+ /* @__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") })
1081
+ ]
1082
+ }
1083
+ )
1084
+ ] }),
1085
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1086
+ "div",
1087
+ {
1088
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1089
+ children: [
1090
+ /* @__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
1091
  "div",
1006
1092
  {
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",
1093
+ 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"}`,
1094
+ 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(
1095
+ PartnerCard,
1032
1096
  {
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",
1050
- {
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"}`
1097
+ partner,
1098
+ idx,
1099
+ t,
1100
+ getLogoUrl,
1101
+ isDarkMode
1053
1102
  },
1054
- index2
1103
+ partner.id || idx
1055
1104
  )) })
1056
- ]
1057
- }
1058
- ) })
1059
- ] })
1060
- }
1061
- );
1105
+ },
1106
+ slideIndex
1107
+ )) }),
1108
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1109
+ "button",
1110
+ {
1111
+ onClick: () => setCurrentPartnerSlide(index2),
1112
+ 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"}`
1113
+ },
1114
+ index2
1115
+ )) })
1116
+ ]
1117
+ }
1118
+ ) })
1119
+ ] }) });
1062
1120
  };
1063
1121
  const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }) => {
1064
1122
  const [milestones, setMilestones] = useState([]);
@@ -1147,68 +1205,62 @@ const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }
1147
1205
  }
1148
1206
  );
1149
1207
  }
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
- );
1208
+ 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: [
1209
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1210
+ "div",
1211
+ {
1212
+ 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"}`,
1213
+ children: [
1214
+ "📈 ",
1215
+ sectionTitle
1216
+ ]
1217
+ }
1218
+ ) }),
1219
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1220
+ /* @__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" }),
1221
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
1222
+ "div",
1223
+ {
1224
+ ref: (el) => timelineRefs.current[index2] = el,
1225
+ 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"}`,
1226
+ style: { transitionDelay: `${index2 * 200}ms` },
1227
+ children: [
1228
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1229
+ "div",
1230
+ {
1231
+ 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"}`,
1232
+ children: [
1233
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-bold text-xl mb-2", children: milestone.time }),
1234
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1235
+ "h3",
1236
+ {
1237
+ className: `text-lg font-bold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1238
+ children: milestone.title
1239
+ }
1240
+ ),
1241
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1242
+ "p",
1243
+ {
1244
+ className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`,
1245
+ children: milestone.description
1246
+ }
1247
+ )
1248
+ ]
1249
+ }
1250
+ ) }),
1251
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1252
+ "div",
1253
+ {
1254
+ 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`
1255
+ }
1256
+ ),
1257
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" })
1258
+ ]
1259
+ },
1260
+ milestone.id
1261
+ )) })
1262
+ ] })
1263
+ ] }) });
1212
1264
  };
1213
1265
  const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1214
1266
  var _a;
@@ -1252,74 +1304,68 @@ const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1252
1304
  return () => clearInterval(interval);
1253
1305
  }
1254
1306
  }, [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",
1307
+ 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: [
1308
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1309
+ "div",
1310
+ {
1311
+ 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"}`,
1312
+ children: [
1313
+ "💬 ",
1314
+ sectionTitle
1315
+ ]
1316
+ }
1317
+ ),
1318
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1319
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1320
+ "div",
1321
+ {
1322
+ className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white"}`,
1323
+ children: [
1324
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1325
+ "blockquote",
1326
+ {
1327
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
1328
+ children: [
1329
+ '"',
1330
+ displayTestimonials[currentIndex].quote,
1331
+ '"'
1332
+ ]
1333
+ }
1334
+ ),
1335
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
1336
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
1337
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
1338
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1339
+ "div",
1278
1340
  {
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
- ]
1341
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1342
+ children: displayTestimonials[currentIndex].author
1285
1343
  }
1286
1344
  ),
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
- );
1345
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: displayTestimonials[currentIndex].position }),
1346
+ displayTestimonials[currentIndex].company && /* @__PURE__ */ jsxRuntimeExports.jsx(
1347
+ "div",
1348
+ {
1349
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
1350
+ children: displayTestimonials[currentIndex].company
1351
+ }
1352
+ )
1353
+ ] })
1354
+ ] })
1355
+ ]
1356
+ },
1357
+ currentIndex
1358
+ ),
1359
+ displayTestimonials.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: displayTestimonials.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1360
+ "button",
1361
+ {
1362
+ onClick: () => setCurrentIndex(index2),
1363
+ 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"}`
1364
+ },
1365
+ index2
1366
+ )) })
1367
+ ] })
1368
+ ] }) });
1323
1369
  };
1324
1370
  const PartnerListCard = ({ partner, idx = 0, t, isDarkMode, getLogoUrl }) => {
1325
1371
  const itemRef = useRef(null);
@@ -1531,72 +1577,66 @@ const PartnerListSection = ({ t, isDarkMode, getPartnerList, imageBaseUrl = "" }
1531
1577
  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
1578
  }
1533
1579
  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(
1580
+ 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: [
1581
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1582
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1583
+ "div",
1584
+ {
1585
+ 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"}`,
1586
+ children: [
1587
+ "🤝 ",
1588
+ t("partners.badge") || "ĐỐI TÁC CHIẾN LƯỢC"
1589
+ ]
1590
+ }
1591
+ ),
1592
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1593
+ "h2",
1594
+ {
1595
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1596
+ children: [
1597
+ t("partners.title.part1") || "Đồng hành cùng",
1598
+ /* @__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" })
1599
+ ]
1600
+ }
1601
+ )
1602
+ ] }),
1603
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1604
+ "div",
1605
+ {
1606
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1607
+ children: [
1608
+ /* @__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
1609
  "div",
1542
1610
  {
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",
1611
+ 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"}`,
1612
+ style: { zIndex: slideIndex === currentPartnerSlide ? 10 : 1 },
1613
+ 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(
1614
+ PartnerListCard,
1568
1615
  {
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
- )) })
1616
+ partner,
1617
+ idx,
1618
+ t,
1619
+ isDarkMode,
1620
+ getLogoUrl
1582
1621
  },
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
1622
+ partner.id || `${slideIndex}-${idx}`
1593
1623
  )) })
1594
- ]
1595
- }
1596
- ) })
1597
- ] })
1598
- }
1599
- );
1624
+ },
1625
+ slideIndex
1626
+ )) }) }),
1627
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", style: { zIndex: 50 }, children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1628
+ "button",
1629
+ {
1630
+ onClick: () => setCurrentPartnerSlide(index2),
1631
+ 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"}`,
1632
+ "aria-label": `Slide ${index2 + 1}`
1633
+ },
1634
+ index2
1635
+ )) })
1636
+ ]
1637
+ }
1638
+ ) })
1639
+ ] }) });
1600
1640
  };
1601
1641
  /**
1602
1642
  * @license lucide-react v0.536.0 - ISC
@@ -2379,7 +2419,7 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
2379
2419
  });
2380
2420
  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
2421
  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: [
2422
+ 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
2423
  /* @__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
2424
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
2385
2425
  /* @__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 +2735,7 @@ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
2695
2735
  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
2736
  const sectionTitle = (section == null ? void 0 : section.title) || "...";
2697
2737
  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: [
2738
+ 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
2739
  /* @__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
2740
  /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 22, className: "mr-2" }),
2701
2741
  sectionTitle
@@ -2803,7 +2843,7 @@ const ContactListAutoSection = ({ data, t, isDarkMode, getContactList, section }
2803
2843
  /* @__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
2844
  ] });
2805
2845
  }
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: [
2846
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-6xl mx-auto px-5", children: [
2807
2847
  /* @__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
2848
  /* @__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
2849
  ] }) });
@@ -2943,75 +2983,71 @@ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback
2943
2983
  );
2944
2984
  }
2945
2985
  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",
2986
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
2987
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
2988
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
2989
+ "div",
2990
+ {
2991
+ 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"}`,
2992
+ children: [
2993
+ "💬 ",
2994
+ sectionTitle
2995
+ ]
2996
+ }
2997
+ ),
2998
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
2999
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3000
+ "div",
3001
+ {
3002
+ 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"}`,
3003
+ children: [
3004
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3005
+ "blockquote",
3006
+ {
3007
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 leading-relaxed ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
3008
+ children: [
3009
+ '"',
3010
+ currentFeedback.content,
3011
+ '"'
3012
+ ]
3013
+ }
3014
+ ),
3015
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
3016
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
3017
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
3018
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3019
+ "div",
2970
3020
  {
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
- ]
3021
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
3022
+ children: currentFeedback.customerName
2977
3023
  }
2978
3024
  ),
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: `
3025
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: currentFeedback.customerTitle }),
3026
+ currentFeedback.customerCompany && /* @__PURE__ */ jsxRuntimeExports.jsx(
3027
+ "div",
3028
+ {
3029
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
3030
+ children: currentFeedback.customerCompany
3031
+ }
3032
+ )
3033
+ ] })
3034
+ ] })
3035
+ ]
3036
+ },
3037
+ currentIndex
3038
+ ),
3039
+ feedbacks.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: feedbacks.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3040
+ "button",
3041
+ {
3042
+ onClick: () => setCurrentIndex(index2),
3043
+ 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"}`,
3044
+ "aria-label": t("customerFeedback.switchToFeedback", { number: index2 + 1 }) || `Chuyển đến phản hồi ${index2 + 1}`
3045
+ },
3046
+ index2
3047
+ )) })
3048
+ ] })
3049
+ ] }),
3050
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
3015
3051
  .animate-fadeIn {
3016
3052
  animation: fadeIn 0.5s ease-in-out;
3017
3053
  }
@@ -3026,9 +3062,7 @@ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback
3026
3062
  }
3027
3063
  }
3028
3064
  ` })
3029
- ]
3030
- }
3031
- );
3065
+ ] });
3032
3066
  };
3033
3067
  const ProductListSection = ({ data, t, isDarkMode, getProductList }) => {
3034
3068
  const [products, setProducts] = useState([]);
@@ -3256,164 +3290,12 @@ const ProductCard = ({ product, t, isDarkMode }) => {
3256
3290
  }
3257
3291
  );
3258
3292
  };
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
3293
  const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3409
3294
  var _a;
3410
3295
  const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3411
3296
  const title = ((_a = textItems[0]) == null ? void 0 : _a.value) || "";
3412
3297
  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: [
3298
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: [
3417
3299
  title && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
3418
3300
  fontSize: "36px",
3419
3301
  fontWeight: "700",
@@ -3443,32 +3325,23 @@ const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3443
3325
  };
3444
3326
  const TextSection = ({ data, isDarkMode }) => {
3445
3327
  const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3446
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3328
+ 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
3329
  "div",
3448
3330
  {
3449
3331
  style: {
3450
- padding: "40px 20px",
3451
- backgroundColor: isDarkMode ? "#111827" : "#ffffff"
3332
+ padding: "0",
3333
+ marginBottom: "20px",
3334
+ fontSize: "28px",
3335
+ fontWeight: "700",
3336
+ lineHeight: "1.3",
3337
+ color: isDarkMode ? "#f9fafb" : "#111827",
3338
+ textAlign: "left",
3339
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
3452
3340
  },
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
- );
3341
+ children: item.value
3342
+ },
3343
+ item.id || index2
3344
+ )) }) });
3472
3345
  };
3473
3346
  const DiagramSection = ({ data, t, isDarkMode }) => {
3474
3347
  var _a, _b;
@@ -4424,7 +4297,7 @@ const FaqSection = ({ data, t, isDarkMode }) => {
4424
4297
  const toggleFaq = (index2) => {
4425
4298
  setActiveIndex(activeIndex === index2 ? -1 : index2);
4426
4299
  };
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: [
4300
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
4428
4301
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
4429
4302
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center mb-6 animate-fade-in", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `
4430
4303
  w-10 h-10 rounded-lg flex items-center justify-center
@@ -4620,15 +4493,7 @@ const PageHighlightSection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
4620
4493
  },
4621
4494
  index2
4622
4495
  );
4623
- }) }),
4624
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center gap-3 mt-8", children: highlightData.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
4625
- "button",
4626
- {
4627
- onClick: () => setActiveTab(index2),
4628
- className: `transition-all duration-300 rounded-full ${activeTab === index2 ? "w-12 h-3 bg-gradient-to-r from-blue-600 to-purple-600" : isDarkMode ? "w-3 h-3 bg-gray-600 hover:bg-gray-500" : "w-3 h-3 bg-gray-300 hover:bg-gray-400"}`
4629
- },
4630
- index2
4631
- )) })
4496
+ }) })
4632
4497
  ] })
4633
4498
  ] });
4634
4499
  };
@@ -4654,11 +4519,7 @@ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl
4654
4519
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4655
4520
  return `${imageBaseUrl}${url}`;
4656
4521
  };
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: {
4522
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4662
4523
  maxWidth: "1400px",
4663
4524
  margin: "0 auto"
4664
4525
  }, children: [
@@ -4803,11 +4664,7 @@ const PageChildrenSelectSection1 = ({ data, isDarkMode, t, section, imageBaseUrl
4803
4664
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4804
4665
  return `${imageBaseUrl}${url}`;
4805
4666
  };
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: {
4667
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4811
4668
  maxWidth: "1280px",
4812
4669
  margin: "0 auto"
4813
4670
  }, children: [
@@ -4970,11 +4827,7 @@ const PageChildrenSelectSection2 = ({ data, isDarkMode, t, section, imageBaseUrl
4970
4827
  };
4971
4828
  const visiblePages = pages.slice(0, visibleCount);
4972
4829
  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: {
4830
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4978
4831
  maxWidth: "1400px",
4979
4832
  margin: "0 auto"
4980
4833
  }, children: [
@@ -5121,8 +4974,6 @@ const index = {
5121
4974
  ContactListAutoSection,
5122
4975
  CustomerFeedbackAutoSection,
5123
4976
  ProductListSection,
5124
- ImageSection,
5125
- ImageSingleSection,
5126
4977
  TextWithTitleSection,
5127
4978
  TextSection,
5128
4979
  DiagramSection,
@@ -5143,8 +4994,6 @@ export {
5143
4994
  DiagramSection,
5144
4995
  DiagramSection2,
5145
4996
  FaqSection,
5146
- ImageSection,
5147
- ImageSingleSection,
5148
4997
  MilestoneSection,
5149
4998
  PageChildrenSelectSection,
5150
4999
  PageChildrenSelectSection1,