nvis-fe-cms-libs 1.1.27 → 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.
@@ -460,7 +460,7 @@ var __async = (__this, __arguments, generator) => {
460
460
  "div",
461
461
  {
462
462
  ref: (el) => refs.current[index2] = el,
463
- 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"}`,
463
+ 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"}`,
464
464
  style: { transitionDelay: `${index2 * 200}ms` },
465
465
  children: [
466
466
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -510,6 +510,76 @@ var __async = (__this, __arguments, generator) => {
510
510
  }
511
511
  }) });
512
512
  };
513
+ const SectionWrapper = ({
514
+ variant,
515
+ isDarkMode,
516
+ className = "",
517
+ children
518
+ }) => {
519
+ const defaultVariant = "neutral";
520
+ const currentVariant = variant || defaultVariant;
521
+ const variants = {
522
+ blue: {
523
+ light: "bg-gradient-to-b from-white via-blue-100 to-white",
524
+ dark: "bg-gradient-to-b from-gray-950 via-blue-900 to-gray-950",
525
+ lightDecor1: "bg-blue-200/30",
526
+ lightDecor2: "bg-blue-300/30",
527
+ darkDecor1: "bg-blue-500/10",
528
+ darkDecor2: "bg-blue-600/10"
529
+ },
530
+ purple: {
531
+ light: "bg-gradient-to-b from-white via-purple-100 to-white",
532
+ dark: "bg-gradient-to-b from-gray-950 via-purple-900 to-gray-950",
533
+ lightDecor1: "bg-purple-200/30",
534
+ lightDecor2: "bg-pink-200/30",
535
+ darkDecor1: "bg-purple-500/10",
536
+ darkDecor2: "bg-pink-500/10"
537
+ },
538
+ green: {
539
+ light: "bg-gradient-to-b from-white via-emerald-100 to-white",
540
+ dark: "bg-gradient-to-b from-gray-950 via-emerald-900 to-gray-950",
541
+ lightDecor1: "bg-emerald-200/30",
542
+ lightDecor2: "bg-teal-200/30",
543
+ darkDecor1: "bg-emerald-500/10",
544
+ darkDecor2: "bg-teal-500/10"
545
+ },
546
+ neutral: {
547
+ light: "bg-gradient-to-b from-white via-gray-100 to-white",
548
+ dark: "bg-gradient-to-b from-gray-950 via-gray-800 to-gray-950",
549
+ lightDecor1: "bg-gray-200/30",
550
+ lightDecor2: "bg-gray-300/30",
551
+ darkDecor1: "bg-gray-600/10",
552
+ darkDecor2: "bg-gray-700/10"
553
+ },
554
+ softLight: {
555
+ light: "bg-gradient-to-b from-white via-blue-50 to-white",
556
+ dark: "bg-gradient-to-b from-gray-950 via-blue-950 to-gray-950",
557
+ lightDecor1: "bg-blue-100/25",
558
+ lightDecor2: "bg-purple-100/25",
559
+ darkDecor1: "bg-blue-500/10",
560
+ darkDecor2: "bg-purple-500/10"
561
+ }
562
+ };
563
+ const current = variants[currentVariant] || variants[defaultVariant];
564
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: `relative py-32 ${isDarkMode ? current.dark : current.light} ${className}`, children: [
565
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0 overflow-hidden pointer-events-none", children: [
566
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
567
+ "div",
568
+ {
569
+ className: `absolute top-10 left-1/4 w-72 h-72 ${isDarkMode ? current.darkDecor1 : current.lightDecor1} rounded-full blur-3xl animate-pulse`
570
+ }
571
+ ),
572
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
573
+ "div",
574
+ {
575
+ className: `absolute bottom-10 right-1/4 w-80 h-80 ${isDarkMode ? current.darkDecor2 : current.lightDecor2} rounded-full blur-3xl animate-pulse`,
576
+ style: { animationDelay: "2s" }
577
+ }
578
+ )
579
+ ] }),
580
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative z-10", children })
581
+ ] });
582
+ };
513
583
  const AboutCompanySection = ({ data, t, isDarkMode }) => {
514
584
  var _a, _b;
515
585
  const safeT = typeof t === "function" ? t : (key, options) => {
@@ -576,7 +646,7 @@ var __async = (__this, __arguments, generator) => {
576
646
  /* @__PURE__ */ jsxRuntimeExports.jsx(
577
647
  "h1",
578
648
  {
579
- className: `text-4xl lg:text-5xl font-bold ${isDarkMode ? "text-white" : "text-gray-100"}`,
649
+ 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)]"}`,
580
650
  children: name
581
651
  }
582
652
  )
@@ -586,7 +656,10 @@ var __async = (__this, __arguments, generator) => {
586
656
  "div",
587
657
  {
588
658
  dangerouslySetInnerHTML: { __html: shortDescription },
589
- className: `prose max-w-none transition-colors mb-6 ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-800"}`
659
+ 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`,
660
+ style: {
661
+ textShadow: isDarkMode ? "0 1px 3px rgba(0,0,0,0.8)" : "0 1px 3px rgba(0,0,0,0.5)"
662
+ }
590
663
  }
591
664
  ),
592
665
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -606,58 +679,52 @@ var __async = (__this, __arguments, generator) => {
606
679
  ]
607
680
  }
608
681
  ),
609
- /* @__PURE__ */ jsxRuntimeExports.jsx(
610
- "section",
611
- {
612
- className: `py-20 transition-colors duration-300 ${isDarkMode ? "bg-gray-900" : "bg-gray-50"}`,
613
- 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: [
614
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
615
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
616
- "div",
617
- {
618
- 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"}`,
619
- children: [
620
- "📖 ",
621
- safeT("aboutCompany.story.badge")
622
- ]
623
- }
624
- ),
625
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
626
- "h2",
627
- {
628
- className: `text-3xl lg:text-4xl font-bold mb-6 ${isDarkMode ? "text-white" : "text-gray-800"}`,
629
- children: [
630
- safeT("aboutCompany.story.title"),
631
- " ",
632
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
633
- ]
634
- }
635
- ),
636
- /* @__PURE__ */ jsxRuntimeExports.jsx(
637
- "div",
638
- {
639
- dangerouslySetInnerHTML: { __html: description },
640
- className: `prose max-w-none transition-colors ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-600"}`
641
- }
642
- )
643
- ] }),
644
- /* @__PURE__ */ jsxRuntimeExports.jsx(
645
- "div",
682
+ /* @__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: [
683
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
684
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
685
+ "div",
686
+ {
687
+ 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"}`,
688
+ children: [
689
+ "📖 ",
690
+ safeT("aboutCompany.story.badge")
691
+ ]
692
+ }
693
+ ),
694
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
695
+ "h2",
696
+ {
697
+ className: `text-3xl lg:text-4xl font-bold mb-6 ${isDarkMode ? "text-white" : "text-gray-800"}`,
698
+ children: [
699
+ safeT("aboutCompany.story.title"),
700
+ " ",
701
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
702
+ ]
703
+ }
704
+ ),
705
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
706
+ "div",
707
+ {
708
+ dangerouslySetInnerHTML: { __html: description },
709
+ className: `prose max-w-none transition-colors ${isDarkMode ? "prose-invert text-gray-300" : "text-gray-600"}`
710
+ }
711
+ )
712
+ ] }),
713
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
714
+ "div",
715
+ {
716
+ className: `transition-colors ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
717
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
718
+ CompanyValues,
646
719
  {
647
- className: `transition-colors ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
648
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
649
- CompanyValues,
650
- {
651
- companyData,
652
- t: safeT,
653
- isDarkMode
654
- }
655
- )
720
+ companyData,
721
+ t: safeT,
722
+ isDarkMode
656
723
  }
657
724
  )
658
- ] }) })
659
- }
660
- )
725
+ }
726
+ )
727
+ ] }) }) })
661
728
  ] });
662
729
  };
663
730
  const TimelineSection = ({ data, t, isDarkMode, section }) => {
@@ -699,7 +766,7 @@ var __async = (__this, __arguments, generator) => {
699
766
  /* @__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." })
700
767
  ] }) });
701
768
  }
702
- 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: [
769
+ 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: [
703
770
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
704
771
  "div",
705
772
  {
@@ -998,70 +1065,64 @@ var __async = (__this, __arguments, generator) => {
998
1065
  return () => partnersRef.current && observer.unobserve(partnersRef.current);
999
1066
  }, []);
1000
1067
  if (!partnersData.length) return null;
1001
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1002
- "section",
1003
- {
1004
- 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"}`,
1005
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1006
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1007
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1068
+ 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: [
1069
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1070
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1071
+ "div",
1072
+ {
1073
+ 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"}`,
1074
+ children: [
1075
+ "🤝 ",
1076
+ t("partners.header.badge")
1077
+ ]
1078
+ }
1079
+ ),
1080
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1081
+ "h2",
1082
+ {
1083
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1084
+ children: [
1085
+ t("partners.header.title"),
1086
+ /* @__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") })
1087
+ ]
1088
+ }
1089
+ )
1090
+ ] }),
1091
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1092
+ "div",
1093
+ {
1094
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1095
+ children: [
1096
+ /* @__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(
1008
1097
  "div",
1009
1098
  {
1010
- 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"}`,
1011
- children: [
1012
- "🤝 ",
1013
- t("partners.header.badge")
1014
- ]
1015
- }
1016
- ),
1017
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1018
- "h2",
1019
- {
1020
- className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1021
- children: [
1022
- t("partners.header.title"),
1023
- /* @__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") })
1024
- ]
1025
- }
1026
- )
1027
- ] }),
1028
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1029
- "div",
1030
- {
1031
- className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1032
- children: [
1033
- /* @__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(
1034
- "div",
1035
- {
1036
- 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"}`,
1037
- 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(
1038
- PartnerCard,
1039
- {
1040
- partner,
1041
- idx,
1042
- t,
1043
- getLogoUrl,
1044
- isDarkMode
1045
- },
1046
- partner.id || idx
1047
- )) })
1048
- },
1049
- slideIndex
1050
- )) }),
1051
- partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1052
- "button",
1099
+ 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"}`,
1100
+ 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(
1101
+ PartnerCard,
1053
1102
  {
1054
- onClick: () => setCurrentPartnerSlide(index2),
1055
- 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"}`
1103
+ partner,
1104
+ idx,
1105
+ t,
1106
+ getLogoUrl,
1107
+ isDarkMode
1056
1108
  },
1057
- index2
1109
+ partner.id || idx
1058
1110
  )) })
1059
- ]
1060
- }
1061
- ) })
1062
- ] })
1063
- }
1064
- );
1111
+ },
1112
+ slideIndex
1113
+ )) }),
1114
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1115
+ "button",
1116
+ {
1117
+ onClick: () => setCurrentPartnerSlide(index2),
1118
+ 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"}`
1119
+ },
1120
+ index2
1121
+ )) })
1122
+ ]
1123
+ }
1124
+ ) })
1125
+ ] }) });
1065
1126
  };
1066
1127
  const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }) => {
1067
1128
  const [milestones, setMilestones] = require$$0.useState([]);
@@ -1150,68 +1211,62 @@ var __async = (__this, __arguments, generator) => {
1150
1211
  }
1151
1212
  );
1152
1213
  }
1153
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1154
- "section",
1155
- {
1156
- className: `py-20 ${isDarkMode ? "bg-gray-800" : "bg-white"}`,
1157
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1158
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1159
- "div",
1160
- {
1161
- 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"}`,
1162
- children: [
1163
- "📈 ",
1164
- sectionTitle
1165
- ]
1166
- }
1167
- ) }),
1168
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1169
- /* @__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" }),
1170
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
1171
- "div",
1172
- {
1173
- ref: (el) => timelineRefs.current[index2] = el,
1174
- 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"}`,
1175
- style: { transitionDelay: `${index2 * 200}ms` },
1176
- children: [
1177
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1178
- "div",
1179
- {
1180
- 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"}`,
1181
- children: [
1182
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-bold text-xl mb-2", children: milestone.time }),
1183
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1184
- "h3",
1185
- {
1186
- className: `text-lg font-bold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1187
- children: milestone.title
1188
- }
1189
- ),
1190
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1191
- "p",
1192
- {
1193
- className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`,
1194
- children: milestone.description
1195
- }
1196
- )
1197
- ]
1198
- }
1199
- ) }),
1200
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1201
- "div",
1202
- {
1203
- 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`
1204
- }
1205
- ),
1206
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" })
1207
- ]
1208
- },
1209
- milestone.id
1210
- )) })
1211
- ] })
1212
- ] })
1213
- }
1214
- );
1214
+ 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: [
1215
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1216
+ "div",
1217
+ {
1218
+ 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"}`,
1219
+ children: [
1220
+ "📈 ",
1221
+ sectionTitle
1222
+ ]
1223
+ }
1224
+ ) }),
1225
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1226
+ /* @__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" }),
1227
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
1228
+ "div",
1229
+ {
1230
+ ref: (el) => timelineRefs.current[index2] = el,
1231
+ 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"}`,
1232
+ style: { transitionDelay: `${index2 * 200}ms` },
1233
+ children: [
1234
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1235
+ "div",
1236
+ {
1237
+ 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"}`,
1238
+ children: [
1239
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-bold text-xl mb-2", children: milestone.time }),
1240
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1241
+ "h3",
1242
+ {
1243
+ className: `text-lg font-bold mb-2 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1244
+ children: milestone.title
1245
+ }
1246
+ ),
1247
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1248
+ "p",
1249
+ {
1250
+ className: `${isDarkMode ? "text-gray-300" : "text-gray-600"}`,
1251
+ children: milestone.description
1252
+ }
1253
+ )
1254
+ ]
1255
+ }
1256
+ ) }),
1257
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1258
+ "div",
1259
+ {
1260
+ 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`
1261
+ }
1262
+ ),
1263
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1" })
1264
+ ]
1265
+ },
1266
+ milestone.id
1267
+ )) })
1268
+ ] })
1269
+ ] }) });
1215
1270
  };
1216
1271
  const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1217
1272
  var _a;
@@ -1255,74 +1310,68 @@ var __async = (__this, __arguments, generator) => {
1255
1310
  return () => clearInterval(interval);
1256
1311
  }
1257
1312
  }, [displayTestimonials.length]);
1258
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1259
- "section",
1260
- {
1261
- className: `py-20 transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-gray-50"}`,
1262
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
1263
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1264
- "div",
1265
- {
1266
- 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"}`,
1267
- children: [
1268
- "💬 ",
1269
- sectionTitle
1270
- ]
1271
- }
1272
- ),
1273
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1274
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1275
- "div",
1276
- {
1277
- className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white"}`,
1278
- children: [
1279
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1280
- "blockquote",
1313
+ 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: [
1314
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1315
+ "div",
1316
+ {
1317
+ 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"}`,
1318
+ children: [
1319
+ "💬 ",
1320
+ sectionTitle
1321
+ ]
1322
+ }
1323
+ ),
1324
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1325
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1326
+ "div",
1327
+ {
1328
+ className: `p-6 rounded-2xl transition-all duration-500 transform ${isDarkMode ? "bg-gray-800/80 backdrop-blur-sm border border-gray-700" : "bg-white"}`,
1329
+ children: [
1330
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1331
+ "blockquote",
1332
+ {
1333
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
1334
+ children: [
1335
+ '"',
1336
+ displayTestimonials[currentIndex].quote,
1337
+ '"'
1338
+ ]
1339
+ }
1340
+ ),
1341
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
1342
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
1343
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
1344
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
1345
+ "div",
1281
1346
  {
1282
- className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
1283
- children: [
1284
- '"',
1285
- displayTestimonials[currentIndex].quote,
1286
- '"'
1287
- ]
1347
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1348
+ children: displayTestimonials[currentIndex].author
1288
1349
  }
1289
1350
  ),
1290
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
1291
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
1292
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
1293
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1294
- "div",
1295
- {
1296
- className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1297
- children: displayTestimonials[currentIndex].author
1298
- }
1299
- ),
1300
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: displayTestimonials[currentIndex].position }),
1301
- displayTestimonials[currentIndex].company && /* @__PURE__ */ jsxRuntimeExports.jsx(
1302
- "div",
1303
- {
1304
- className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
1305
- children: displayTestimonials[currentIndex].company
1306
- }
1307
- )
1308
- ] })
1309
- ] })
1310
- ]
1311
- },
1312
- currentIndex
1313
- ),
1314
- displayTestimonials.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: displayTestimonials.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1315
- "button",
1316
- {
1317
- onClick: () => setCurrentIndex(index2),
1318
- 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"}`
1319
- },
1320
- index2
1321
- )) })
1322
- ] })
1323
- ] })
1324
- }
1325
- );
1351
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: displayTestimonials[currentIndex].position }),
1352
+ displayTestimonials[currentIndex].company && /* @__PURE__ */ jsxRuntimeExports.jsx(
1353
+ "div",
1354
+ {
1355
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
1356
+ children: displayTestimonials[currentIndex].company
1357
+ }
1358
+ )
1359
+ ] })
1360
+ ] })
1361
+ ]
1362
+ },
1363
+ currentIndex
1364
+ ),
1365
+ displayTestimonials.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: displayTestimonials.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1366
+ "button",
1367
+ {
1368
+ onClick: () => setCurrentIndex(index2),
1369
+ 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"}`
1370
+ },
1371
+ index2
1372
+ )) })
1373
+ ] })
1374
+ ] }) });
1326
1375
  };
1327
1376
  const PartnerListCard = ({ partner, idx = 0, t, isDarkMode, getLogoUrl }) => {
1328
1377
  const itemRef = require$$0.useRef(null);
@@ -1534,72 +1583,66 @@ var __async = (__this, __arguments, generator) => {
1534
1583
  return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: "py-20 text-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-red-500", children: t("partners.error") || error }) });
1535
1584
  }
1536
1585
  if (!partnersData.length) return null;
1537
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
1538
- "section",
1539
- {
1540
- 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"}`,
1541
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1542
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1543
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1586
+ 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: [
1587
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1588
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1589
+ "div",
1590
+ {
1591
+ 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"}`,
1592
+ children: [
1593
+ "🤝 ",
1594
+ t("partners.badge") || "ĐỐI TÁC CHIẾN LƯỢC"
1595
+ ]
1596
+ }
1597
+ ),
1598
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
1599
+ "h2",
1600
+ {
1601
+ className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1602
+ children: [
1603
+ t("partners.title.part1") || "Đồng hành cùng",
1604
+ /* @__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" })
1605
+ ]
1606
+ }
1607
+ )
1608
+ ] }),
1609
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1610
+ "div",
1611
+ {
1612
+ className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1613
+ children: [
1614
+ /* @__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(
1544
1615
  "div",
1545
1616
  {
1546
- 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"}`,
1547
- children: [
1548
- "🤝 ",
1549
- t("partners.badge") || "ĐỐI TÁC CHIẾN LƯỢC"
1550
- ]
1551
- }
1552
- ),
1553
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1554
- "h2",
1555
- {
1556
- className: `text-3xl lg:text-5xl font-bold leading-tight ${isDarkMode ? "text-white" : "text-gray-800"}`,
1557
- children: [
1558
- t("partners.title.part1") || "Đồng hành cùng",
1559
- /* @__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" })
1560
- ]
1561
- }
1562
- )
1563
- ] }),
1564
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: partnersRef, className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1565
- "div",
1566
- {
1567
- className: `transition-all duration-1000 ease-out ${partnersVisible ? "opacity-100 scale-100" : "opacity-0 scale-95"}`,
1568
- children: [
1569
- /* @__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(
1570
- "div",
1617
+ 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"}`,
1618
+ style: { zIndex: slideIndex === currentPartnerSlide ? 10 : 1 },
1619
+ 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(
1620
+ PartnerListCard,
1571
1621
  {
1572
- 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"}`,
1573
- style: { zIndex: slideIndex === currentPartnerSlide ? 10 : 1 },
1574
- 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(
1575
- PartnerListCard,
1576
- {
1577
- partner,
1578
- idx,
1579
- t,
1580
- isDarkMode,
1581
- getLogoUrl
1582
- },
1583
- partner.id || `${slideIndex}-${idx}`
1584
- )) })
1622
+ partner,
1623
+ idx,
1624
+ t,
1625
+ isDarkMode,
1626
+ getLogoUrl
1585
1627
  },
1586
- slideIndex
1587
- )) }) }),
1588
- partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", style: { zIndex: 50 }, children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1589
- "button",
1590
- {
1591
- onClick: () => setCurrentPartnerSlide(index2),
1592
- 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"}`,
1593
- "aria-label": `Slide ${index2 + 1}`
1594
- },
1595
- index2
1628
+ partner.id || `${slideIndex}-${idx}`
1596
1629
  )) })
1597
- ]
1598
- }
1599
- ) })
1600
- ] })
1601
- }
1602
- );
1630
+ },
1631
+ slideIndex
1632
+ )) }) }),
1633
+ partners.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2", style: { zIndex: 50 }, children: partners.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1634
+ "button",
1635
+ {
1636
+ onClick: () => setCurrentPartnerSlide(index2),
1637
+ 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"}`,
1638
+ "aria-label": `Slide ${index2 + 1}`
1639
+ },
1640
+ index2
1641
+ )) })
1642
+ ]
1643
+ }
1644
+ ) })
1645
+ ] }) });
1603
1646
  };
1604
1647
  /**
1605
1648
  * @license lucide-react v0.536.0 - ISC
@@ -2382,7 +2425,7 @@ var __async = (__this, __arguments, generator) => {
2382
2425
  });
2383
2426
  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"}`;
2384
2427
  const labelClasses = `block text-sm font-semibold mb-2 ${isDarkMode ? "text-gray-300" : "text-slate-700"}`;
2385
- 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: [
2428
+ 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: [
2386
2429
  /* @__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: [
2387
2430
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
2388
2431
  /* @__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" }) }),
@@ -2698,7 +2741,7 @@ var __async = (__this, __arguments, generator) => {
2698
2741
  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)) || [];
2699
2742
  const sectionTitle = (section == null ? void 0 : section.title) || "...";
2700
2743
  if (!contactData.length) return null;
2701
- 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: [
2744
+ 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: [
2702
2745
  /* @__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: [
2703
2746
  /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 22, className: "mr-2" }),
2704
2747
  sectionTitle
@@ -2806,7 +2849,7 @@ var __async = (__this, __arguments, generator) => {
2806
2849
  /* @__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" })
2807
2850
  ] });
2808
2851
  }
2809
- 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: [
2852
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-6xl mx-auto px-5", children: [
2810
2853
  /* @__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 }) }),
2811
2854
  /* @__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)) })
2812
2855
  ] }) });
@@ -2946,75 +2989,71 @@ var __async = (__this, __arguments, generator) => {
2946
2989
  );
2947
2990
  }
2948
2991
  const currentFeedback = feedbacks[currentIndex];
2949
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2950
- "section",
2951
- {
2952
- className: `py-20 transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-gray-50"}`,
2953
- children: [
2954
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
2955
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2956
- "div",
2957
- {
2958
- 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"}`,
2959
- children: [
2960
- "💬 ",
2961
- sectionTitle
2962
- ]
2963
- }
2964
- ),
2965
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
2966
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2967
- "div",
2968
- {
2969
- 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"}`,
2970
- children: [
2971
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2972
- "blockquote",
2992
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
2993
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: [
2994
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
2995
+ "div",
2996
+ {
2997
+ 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"}`,
2998
+ children: [
2999
+ "💬 ",
3000
+ sectionTitle
3001
+ ]
3002
+ }
3003
+ ),
3004
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
3005
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3006
+ "div",
3007
+ {
3008
+ 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"}`,
3009
+ children: [
3010
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
3011
+ "blockquote",
3012
+ {
3013
+ className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 leading-relaxed ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
3014
+ children: [
3015
+ '"',
3016
+ currentFeedback.content,
3017
+ '"'
3018
+ ]
3019
+ }
3020
+ ),
3021
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
3022
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
3023
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
3024
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
3025
+ "div",
2973
3026
  {
2974
- className: `text-lg lg:text-xl italic mb-6 animate-fadeIn transition-colors duration-200 leading-relaxed ${isDarkMode ? "text-gray-300" : "text-gray-700"}`,
2975
- children: [
2976
- '"',
2977
- currentFeedback.content,
2978
- '"'
2979
- ]
3027
+ className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
3028
+ children: currentFeedback.customerName
2980
3029
  }
2981
3030
  ),
2982
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-center space-x-4 animate-fadeIn", children: [
2983
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-3xl", children: "👤" }),
2984
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-left", children: [
2985
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2986
- "div",
2987
- {
2988
- className: `font-bold text-base transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
2989
- children: currentFeedback.customerName
2990
- }
2991
- ),
2992
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: currentFeedback.customerTitle }),
2993
- currentFeedback.customerCompany && /* @__PURE__ */ jsxRuntimeExports.jsx(
2994
- "div",
2995
- {
2996
- className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
2997
- children: currentFeedback.customerCompany
2998
- }
2999
- )
3000
- ] })
3001
- ] })
3002
- ]
3003
- },
3004
- currentIndex
3005
- ),
3006
- feedbacks.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: feedbacks.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3007
- "button",
3008
- {
3009
- onClick: () => setCurrentIndex(index2),
3010
- 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"}`,
3011
- "aria-label": t("customerFeedback.switchToFeedback", { number: index2 + 1 }) || `Chuyển đến phản hồi ${index2 + 1}`
3012
- },
3013
- index2
3014
- )) })
3015
- ] })
3016
- ] }),
3017
- /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
3031
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-blue-600 font-medium text-sm", children: currentFeedback.customerTitle }),
3032
+ currentFeedback.customerCompany && /* @__PURE__ */ jsxRuntimeExports.jsx(
3033
+ "div",
3034
+ {
3035
+ className: `text-xs transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-gray-600"}`,
3036
+ children: currentFeedback.customerCompany
3037
+ }
3038
+ )
3039
+ ] })
3040
+ ] })
3041
+ ]
3042
+ },
3043
+ currentIndex
3044
+ ),
3045
+ feedbacks.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center space-x-2 mt-4", children: feedbacks.map((_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3046
+ "button",
3047
+ {
3048
+ onClick: () => setCurrentIndex(index2),
3049
+ 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"}`,
3050
+ "aria-label": t("customerFeedback.switchToFeedback", { number: index2 + 1 }) || `Chuyển đến phản hồi ${index2 + 1}`
3051
+ },
3052
+ index2
3053
+ )) })
3054
+ ] })
3055
+ ] }),
3056
+ /* @__PURE__ */ jsxRuntimeExports.jsx("style", { jsx: true, children: `
3018
3057
  .animate-fadeIn {
3019
3058
  animation: fadeIn 0.5s ease-in-out;
3020
3059
  }
@@ -3029,9 +3068,7 @@ var __async = (__this, __arguments, generator) => {
3029
3068
  }
3030
3069
  }
3031
3070
  ` })
3032
- ]
3033
- }
3034
- );
3071
+ ] });
3035
3072
  };
3036
3073
  const ProductListSection = ({ data, t, isDarkMode, getProductList }) => {
3037
3074
  const [products, setProducts] = require$$0.useState([]);
@@ -3259,224 +3296,59 @@ var __async = (__this, __arguments, generator) => {
3259
3296
  }
3260
3297
  );
3261
3298
  };
3262
- const ImageItem = ({ item, index: index2, isDarkMode, t, getObjectUrl: getObjectUrl2 }) => {
3299
+ const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3263
3300
  var _a;
3264
- const media = (_a = item.medias) == null ? void 0 : _a[0];
3265
- const getImageUrl = () => {
3266
- if (!(media == null ? void 0 : media.url)) return null;
3267
- if (media.url instanceof File) {
3268
- return URL.createObjectURL(media.url);
3269
- }
3270
- if (typeof media.url === "string" && getObjectUrl2) {
3271
- return getObjectUrl2(media.url);
3272
- }
3273
- return media.url;
3274
- };
3275
- const imageUrl = getImageUrl();
3276
- require$$0.useEffect(() => {
3277
- return () => {
3278
- if (imageUrl && imageUrl.startsWith("blob:")) {
3279
- URL.revokeObjectURL(imageUrl);
3280
- }
3281
- };
3282
- }, [imageUrl]);
3283
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3284
- "div",
3285
- {
3286
- style: {
3287
- borderRadius: "8px",
3288
- overflow: "hidden",
3289
- boxShadow: isDarkMode ? "0 4px 8px rgba(0,0,0,0.3)" : "0 4px 8px rgba(0,0,0,0.1)"
3290
- },
3291
- children: imageUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
3292
- "img",
3293
- {
3294
- src: imageUrl,
3295
- alt: `Image ${index2 + 1}`,
3296
- style: {
3297
- width: "100%",
3298
- height: "250px",
3299
- objectFit: "cover"
3300
- },
3301
- onError: (e) => {
3302
- e.currentTarget.parentElement.style.display = "none";
3303
- }
3304
- }
3305
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
3306
- "div",
3307
- {
3308
- style: {
3309
- width: "100%",
3310
- height: "250px",
3311
- backgroundColor: isDarkMode ? "#374151" : "#f3f4f6",
3312
- display: "flex",
3313
- alignItems: "center",
3314
- justifyContent: "center",
3315
- color: isDarkMode ? "#9ca3af" : "#6b7280",
3316
- fontSize: "14px"
3317
- },
3318
- children: t("imageSection.noImage") || "No image available"
3319
- }
3320
- )
3321
- },
3322
- item.id || index2
3323
- );
3324
- };
3325
- const ImageSection = ({ data, t, isDarkMode, getObjectUrl: getObjectUrl2 }) => {
3326
- const imageItems = require$$0.useMemo(() => (data == null ? void 0 : data.sectionDataBindingItems) || [], [data]);
3327
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3328
- padding: "40px 20px",
3329
- backgroundColor: isDarkMode ? "#111827" : "white"
3330
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
3331
- "div",
3332
- {
3333
- style: {
3334
- display: "grid",
3335
- gridTemplateColumns: "repeat(auto-fit, minmax(300px, 1fr))",
3336
- gap: "20px"
3337
- },
3338
- children: imageItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3339
- ImageItem,
3340
- {
3341
- item,
3342
- index: index2,
3343
- isDarkMode,
3344
- t,
3345
- getObjectUrl: getObjectUrl2
3301
+ const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3302
+ const title = ((_a = textItems[0]) == null ? void 0 : _a.value) || "";
3303
+ const descriptions = textItems.slice(1);
3304
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { maxWidth: "1200px", margin: "0 auto" }, children: [
3305
+ title && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
3306
+ fontSize: "36px",
3307
+ fontWeight: "700",
3308
+ color: isDarkMode ? "#ffffff" : "#000000",
3309
+ marginBottom: "16px",
3310
+ lineHeight: "1.2",
3311
+ textAlign: "left",
3312
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
3313
+ }, children: title }),
3314
+ descriptions.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3315
+ "div",
3316
+ {
3317
+ style: {
3318
+ fontSize: "16px",
3319
+ lineHeight: "1.6",
3320
+ color: isDarkMode ? "#9ca3af" : "#6b7280",
3321
+ textAlign: "left",
3322
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
3323
+ fontWeight: "400",
3324
+ marginBottom: index2 < descriptions.length - 1 ? "16px" : "0"
3346
3325
  },
3347
- item.id || index2
3348
- ))
3349
- }
3350
- ) }) });
3351
- };
3352
- const SingleImageItem = ({ item, index: index2, isDarkMode }) => {
3353
- var _a;
3354
- const media = (_a = item.medias) == null ? void 0 : _a[0];
3355
- const getImageUrl = () => {
3356
- if (!(media == null ? void 0 : media.url)) return null;
3357
- if (media.url instanceof File) {
3358
- return URL.createObjectURL(media.url);
3359
- }
3360
- if (getObjectUrl && typeof media.url === "string") {
3361
- return getObjectUrl(media.url);
3362
- }
3363
- return media.url;
3364
- };
3365
- const imageUrl = getImageUrl();
3366
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3367
- "div",
3368
- {
3369
- style: {
3370
- borderRadius: "12px",
3371
- overflow: "hidden",
3372
- boxShadow: isDarkMode ? "0 8px 24px rgba(0,0,0,0.4)" : "0 8px 24px rgba(0,0,0,0.15)",
3373
- marginBottom: "30px"
3326
+ children: item.value
3374
3327
  },
3375
- children: imageUrl && /* @__PURE__ */ jsxRuntimeExports.jsx(
3376
- "img",
3377
- {
3378
- src: imageUrl,
3379
- alt: `Single Image ${index2 + 1}`,
3380
- style: {
3381
- width: "100%",
3382
- height: "400px",
3383
- objectFit: "cover",
3384
- display: "block"
3385
- },
3386
- onError: (e) => {
3387
- e.currentTarget.style.display = "none";
3388
- }
3389
- }
3390
- )
3391
- },
3392
- item.id || index2
3393
- );
3394
- };
3395
- const ImageSingleSection = ({ data, t, isDarkMode, getObjectUrl: getObjectUrl2 }) => {
3396
- const imageItems = require$$0.useMemo(() => (data == null ? void 0 : data.sectionDataBindingItems) || [], [data]);
3397
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3398
- padding: "40px 20px",
3399
- backgroundColor: isDarkMode ? "#111827" : "white"
3400
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: imageItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3401
- SingleImageItem,
3402
- {
3403
- item,
3404
- index: index2,
3405
- isDarkMode,
3406
- getObjectUrl: getObjectUrl2
3407
- },
3408
- item.id || index2
3409
- )) }) });
3328
+ item.id || index2
3329
+ ))
3330
+ ] }) });
3410
3331
  };
3411
- const TextWithTitleSection = ({ section, data, isDarkMode }) => {
3332
+ const TextSection = ({ data, isDarkMode }) => {
3412
3333
  const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3413
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3414
- padding: "40px 20px",
3415
- backgroundColor: isDarkMode ? "#1f2937" : "#f8f9fa",
3416
- textAlign: "center"
3417
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: textItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
3334
+ 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(
3418
3335
  "div",
3419
3336
  {
3420
3337
  style: {
3421
- backgroundColor: isDarkMode ? "#374151" : "white",
3422
- padding: "30px 20px",
3338
+ padding: "0",
3423
3339
  marginBottom: "20px",
3424
- borderRadius: "8px",
3425
- boxShadow: isDarkMode ? "0 2px 4px rgba(0,0,0,0.3)" : "0 2px 4px rgba(0,0,0,0.1)"
3340
+ fontSize: "28px",
3341
+ fontWeight: "700",
3342
+ lineHeight: "1.3",
3343
+ color: isDarkMode ? "#f9fafb" : "#111827",
3344
+ textAlign: "left",
3345
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'
3426
3346
  },
3427
- children: [
3428
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { style: {
3429
- fontSize: "24px",
3430
- fontWeight: "bold",
3431
- color: isDarkMode ? "#f9fafb" : "#1f2937",
3432
- marginBottom: "16px",
3433
- lineHeight: "1.3"
3434
- }, children: item.title }),
3435
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: {
3436
- fontSize: "16px",
3437
- lineHeight: "1.6",
3438
- color: isDarkMode ? "#d1d5db" : "#4b5563",
3439
- textAlign: "left"
3440
- }, children: item.value })
3441
- ]
3347
+ children: item.value
3442
3348
  },
3443
3349
  item.id || index2
3444
3350
  )) }) });
3445
3351
  };
3446
- const TextSection = ({ data, isDarkMode }) => {
3447
- const textItems = (data == null ? void 0 : data.sectionDataBindingItems) || [];
3448
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
3449
- "div",
3450
- {
3451
- style: {
3452
- padding: "40px 20px",
3453
- backgroundColor: isDarkMode ? "#1f2937" : "#f8f9fa",
3454
- // Dark: slate-800, Light: gray-100
3455
- textAlign: "center"
3456
- },
3457
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { maxWidth: "800px", margin: "0 auto" }, children: textItems.map((item, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3458
- "div",
3459
- {
3460
- style: {
3461
- backgroundColor: isDarkMode ? "#374151" : "white",
3462
- // Dark: slate-700, Light: white
3463
- padding: "20px",
3464
- marginBottom: "20px",
3465
- borderRadius: "8px",
3466
- boxShadow: isDarkMode ? "0 2px 4px rgba(0,0,0,0.3)" : "0 2px 4px rgba(0,0,0,0.1)",
3467
- fontSize: "16px",
3468
- lineHeight: "1.6",
3469
- color: isDarkMode ? "#d1d5db" : "#333",
3470
- // Dark: gray-300, Light: dark gray
3471
- textAlign: "left"
3472
- },
3473
- children: item.value
3474
- },
3475
- item.id || index2
3476
- )) })
3477
- }
3478
- );
3479
- };
3480
3352
  const DiagramSection = ({ data, t, isDarkMode }) => {
3481
3353
  var _a, _b;
3482
3354
  const [mounted, setMounted] = require$$0.useState(false);
@@ -4431,7 +4303,7 @@ var __async = (__this, __arguments, generator) => {
4431
4303
  const toggleFaq = (index2) => {
4432
4304
  setActiveIndex(activeIndex === index2 ? -1 : index2);
4433
4305
  };
4434
- 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: [
4306
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SectionWrapper, { isDarkMode, children: [
4435
4307
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
4436
4308
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-center mb-6 animate-fade-in", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `
4437
4309
  w-10 h-10 rounded-lg flex items-center justify-center
@@ -4661,11 +4533,7 @@ var __async = (__this, __arguments, generator) => {
4661
4533
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4662
4534
  return `${imageBaseUrl}${url}`;
4663
4535
  };
4664
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4665
- padding: "80px 16px",
4666
- backgroundColor: isDarkMode ? "#111827" : "#f5f5f5",
4667
- transition: "background-color 0.3s"
4668
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4536
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4669
4537
  maxWidth: "1400px",
4670
4538
  margin: "0 auto"
4671
4539
  }, children: [
@@ -4810,11 +4678,7 @@ var __async = (__this, __arguments, generator) => {
4810
4678
  if (url.startsWith("http://") || url.startsWith("https://")) return url;
4811
4679
  return `${imageBaseUrl}${url}`;
4812
4680
  };
4813
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4814
- padding: "60px 16px",
4815
- backgroundColor: isDarkMode ? "#111827" : "#ffffff",
4816
- transition: "background-color 0.3s"
4817
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4681
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4818
4682
  maxWidth: "1280px",
4819
4683
  margin: "0 auto"
4820
4684
  }, children: [
@@ -4977,11 +4841,7 @@ var __async = (__this, __arguments, generator) => {
4977
4841
  };
4978
4842
  const visiblePages = pages.slice(0, visibleCount);
4979
4843
  const hasMore = visibleCount < pages.length;
4980
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { style: {
4981
- padding: "80px 16px",
4982
- backgroundColor: isDarkMode ? "#0f172a" : "#f8fafc",
4983
- transition: "background-color 0.3s"
4984
- }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4844
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: {
4985
4845
  maxWidth: "1400px",
4986
4846
  margin: "0 auto"
4987
4847
  }, children: [
@@ -5128,8 +4988,6 @@ var __async = (__this, __arguments, generator) => {
5128
4988
  ContactListAutoSection,
5129
4989
  CustomerFeedbackAutoSection,
5130
4990
  ProductListSection,
5131
- ImageSection,
5132
- ImageSingleSection,
5133
4991
  TextWithTitleSection,
5134
4992
  TextSection,
5135
4993
  DiagramSection,
@@ -5149,8 +5007,6 @@ var __async = (__this, __arguments, generator) => {
5149
5007
  exports2.DiagramSection = DiagramSection;
5150
5008
  exports2.DiagramSection2 = DiagramSection2;
5151
5009
  exports2.FaqSection = FaqSection;
5152
- exports2.ImageSection = ImageSection;
5153
- exports2.ImageSingleSection = ImageSingleSection;
5154
5010
  exports2.MilestoneSection = MilestoneSection;
5155
5011
  exports2.PageChildrenSelectSection = PageChildrenSelectSection;
5156
5012
  exports2.PageChildrenSelectSection1 = PageChildrenSelectSection1;