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