nvis-fe-cms-libs 1.1.25 → 1.1.27

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.
@@ -697,12 +697,14 @@ const TimelineSection = ({ data, t, isDarkMode, section }) => {
697
697
  ] }) });
698
698
  }
699
699
  return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-gray-800" : "bg-white"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
700
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
701
- /* @__PURE__ */ jsxRuntimeExports.jsx(
702
- "div",
703
- {
704
- className: `relative inline-block px-4 py-2 rounded-full text-sm 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"}`,
705
- children: isDarkMode && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
700
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
701
+ "div",
702
+ {
703
+ 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"}`,
704
+ children: [
705
+ "📈 ",
706
+ sectionTitle,
707
+ isDarkMode && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
706
708
  /* @__PURE__ */ jsxRuntimeExports.jsx(
707
709
  "div",
708
710
  {
@@ -731,19 +733,9 @@ const TimelineSection = ({ data, t, isDarkMode, section }) => {
731
733
  }
732
734
  )
733
735
  ] })
734
- }
735
- ),
736
- /* @__PURE__ */ jsxRuntimeExports.jsx(
737
- "h2",
738
- {
739
- className: `text-3xl lg:text-4xl font-bold mb-4 ${isDarkMode ? "text-white" : "text-gray-900"}`,
740
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "block bg-gradient-to-r from-emerald-600 to-teal-600 bg-clip-text text-transparent", children: [
741
- "📈 ",
742
- sectionTitle
743
- ] })
744
- }
745
- )
746
- ] }),
736
+ ]
737
+ }
738
+ ) }),
747
739
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
748
740
  /* @__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" }),
749
741
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: timelineData.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -1068,11 +1060,12 @@ const PartnersSection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
1068
1060
  }
1069
1061
  );
1070
1062
  };
1071
- const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline }) => {
1063
+ const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline, section }) => {
1072
1064
  const [milestones, setMilestones] = useState([]);
1073
1065
  const [loading, setLoading] = useState(true);
1074
1066
  const [timelineVisible, setTimelineVisible] = useState([]);
1075
1067
  const timelineRefs = useRef([]);
1068
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
1076
1069
  useEffect(() => {
1077
1070
  const fetchMilestones = () => __async(null, null, function* () {
1078
1071
  var _a, _b;
@@ -1159,28 +1152,16 @@ const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline }) => {
1159
1152
  {
1160
1153
  className: `py-20 ${isDarkMode ? "bg-gray-800" : "bg-white"}`,
1161
1154
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
1162
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
1163
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1164
- "div",
1165
- {
1166
- className: `relative inline-block px-4 py-2 rounded-full text-sm 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"}`,
1167
- children: [
1168
- "📈 ",
1169
- t("milestone.header.badge")
1170
- ]
1171
- }
1172
- ),
1173
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1174
- "h2",
1175
- {
1176
- className: `text-3xl lg:text-4xl font-bold mb-4 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1177
- children: [
1178
- t("milestone.header.title"),
1179
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-emerald-600 to-teal-600 bg-clip-text text-transparent", children: t("milestone.header.subtitle") })
1180
- ]
1181
- }
1182
- )
1183
- ] }),
1155
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-center mb-12", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1156
+ "div",
1157
+ {
1158
+ className: `relative inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 border transition-all duration-300 transform hover:scale-105 shadow-md hover:shadow-lg overflow-hidden ${isDarkMode ? "bg-gradient-to-br from-slate-900 via-blue-900 to-indigo-900 text-emerald-300 border-blue-800" : "bg-white text-emerald-800 border-gray-200"}`,
1159
+ children: [
1160
+ "📈 ",
1161
+ sectionTitle
1162
+ ]
1163
+ }
1164
+ ) }),
1184
1165
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
1185
1166
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute left-1/2 transform -translate-x-1/2 w-1 h-full bg-gradient-to-b from-blue-500 to-purple-600 rounded-full" }),
1186
1167
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-8", children: milestones.map((milestone, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -1229,9 +1210,10 @@ const MilestoneSection = ({ data, t, isDarkMode, getMilestoneTimeline }) => {
1229
1210
  }
1230
1211
  );
1231
1212
  };
1232
- const TestimonialsSection = ({ data, t, isDarkMode }) => {
1213
+ const TestimonialsSection = ({ data, t, isDarkMode, section }) => {
1233
1214
  var _a;
1234
1215
  const [currentIndex, setCurrentIndex] = useState(0);
1216
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
1235
1217
  const testimonials = ((_a = data == null ? void 0 : data.sectionDataBindingItems) == null ? void 0 : _a.filter((item) => item == null ? void 0 : item.data).map((item) => {
1236
1218
  var _a2, _b, _c, _d;
1237
1219
  return {
@@ -1278,20 +1260,10 @@ const TestimonialsSection = ({ data, t, isDarkMode }) => {
1278
1260
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
1279
1261
  "div",
1280
1262
  {
1281
- className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
1263
+ className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
1282
1264
  children: [
1283
1265
  "💬 ",
1284
- t("testimonials.header.badge")
1285
- ]
1286
- }
1287
- ),
1288
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1289
- "h2",
1290
- {
1291
- className: `text-3xl lg:text-4xl font-bold mb-8 transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
1292
- children: [
1293
- t("testimonials.header.title"),
1294
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent", children: t("testimonials.header.subtitle") })
1266
+ sectionTitle
1295
1267
  ]
1296
1268
  }
1297
1269
  ),
@@ -2718,22 +2690,16 @@ const ContactFormSection = ({ data, t, isDarkMode, consultationRequestService })
2718
2690
  ] })
2719
2691
  ] }) }) });
2720
2692
  };
2721
- const ContactInfoSection = ({ data, t, isDarkMode }) => {
2693
+ const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
2722
2694
  var _a, _b;
2723
2695
  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
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
2724
2697
  if (!contactData.length) return null;
2725
2698
  return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-16 ${isDarkMode ? "bg-gray-900" : "bg-slate-50"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: [
2726
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12", children: [
2727
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `inline-flex items-center px-4 py-2 rounded-full text-sm font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300" : "bg-indigo-50 text-indigo-700"}`, children: [
2728
- /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 16, className: "mr-2" }),
2729
- t("contact.team.badge") || "Đội ngũ hỗ trợ"
2730
- ] }),
2731
- /* @__PURE__ */ jsxRuntimeExports.jsxs("h2", { className: `text-3xl lg:text-4xl font-bold mb-4 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: [
2732
- t("contact.team.title") || "Liên hệ với đội ngũ",
2733
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent", children: t("contact.team.subtitle") || "chuyên nghiệp của chúng tôi" })
2734
- ] }),
2735
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-lg max-w-3xl mx-auto ${isDarkMode ? "text-gray-300" : "text-slate-600"}`, children: t("contact.team.description") || "Chúng tôi luôn sẵn sàng hỗ trợ bạn với đội ngũ chuyên nghiệp và giàu kinh nghiệm" })
2736
- ] }),
2699
+ /* @__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
+ /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 22, className: "mr-2" }),
2701
+ sectionTitle
2702
+ ] }) }),
2737
2703
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 gap-8", children: contactData.map((contact, index2) => {
2738
2704
  var _a2;
2739
2705
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -2791,10 +2757,11 @@ const ContactInfoSection = ({ data, t, isDarkMode }) => {
2791
2757
  }) })
2792
2758
  ] }) });
2793
2759
  };
2794
- const ContactListAutoSection = ({ data, t, isDarkMode, getContactList }) => {
2760
+ const ContactListAutoSection = ({ data, t, isDarkMode, getContactList, section }) => {
2795
2761
  const [contacts, setContacts] = useState([]);
2796
2762
  const [loading, setLoading] = useState(true);
2797
2763
  const [error, setError] = useState(null);
2764
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
2798
2765
  useEffect(() => {
2799
2766
  loadContacts();
2800
2767
  }, []);
@@ -2837,10 +2804,7 @@ const ContactListAutoSection = ({ data, t, isDarkMode, getContactList }) => {
2837
2804
  ] });
2838
2805
  }
2839
2806
  return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { className: `py-20 ${isDarkMode ? "bg-gray-900" : "bg-gray-50"} transition-colors duration-300`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-6xl mx-auto px-5", children: [
2840
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-16", children: [
2841
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: `text-4xl font-bold ${isDarkMode ? "text-white" : "text-gray-900"} mb-4`, children: t("contactList.header.title") || "Thông Tin Liên Hệ" }),
2842
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-lg ${isDarkMode ? "text-gray-400" : "text-gray-600"} max-w-2xl mx-auto`, children: t("contactList.header.description") || "Đội ngũ chuyên nghiệp của chúng tôi luôn sẵn sàng hỗ trợ bạn" })
2843
- ] }),
2807
+ /* @__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 }) }),
2844
2808
  /* @__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)) })
2845
2809
  ] }) });
2846
2810
  };
@@ -2902,9 +2866,10 @@ const ContactInfo = ({ icon, label, value, href, isDarkMode }) => {
2902
2866
  }
2903
2867
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "-mx-2 px-2", children: content });
2904
2868
  };
2905
- const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback }) => {
2869
+ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback, section }) => {
2906
2870
  const [feedbacks, setFeedbacks] = useState([]);
2907
2871
  const [currentIndex, setCurrentIndex] = useState(0);
2872
+ const sectionTitle = (section == null ? void 0 : section.title) || "...";
2908
2873
  useEffect(() => {
2909
2874
  const fetchData = () => __async(null, null, function* () {
2910
2875
  const res = yield loadCustomerFeedback();
@@ -2987,20 +2952,10 @@ const CustomerFeedbackAutoSection = ({ data, t, isDarkMode, loadCustomerFeedback
2987
2952
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
2988
2953
  "div",
2989
2954
  {
2990
- className: `inline-block px-4 py-2 rounded-full text-sm font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
2955
+ className: `inline-block px-4 py-2 rounded-full text-lg font-semibold mb-4 ${isDarkMode ? "bg-indigo-900/50 text-indigo-300 border border-indigo-800" : "bg-indigo-100 text-indigo-800"}`,
2991
2956
  children: [
2992
2957
  "💬 ",
2993
- t("customerFeedback.badge") || "Phản hồi khách hàng"
2994
- ]
2995
- }
2996
- ),
2997
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2998
- "h2",
2999
- {
3000
- className: `text-3xl lg:text-4xl font-bold mb-8 transition-colors duration-200 ${isDarkMode ? "text-white" : "text-gray-900"}`,
3001
- children: [
3002
- t("customerFeedback.titlelanding") || "Khách hàng nói gì",
3003
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent", children: t("customerFeedback.subtitle") || "về chúng tôi" })
2958
+ sectionTitle
3004
2959
  ]
3005
2960
  }
3006
2961
  ),
@@ -4757,7 +4712,7 @@ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl
4757
4712
  onMouseEnter: (e) => {
4758
4713
  e.currentTarget.style.transform = "translateY(-8px)";
4759
4714
  e.currentTarget.style.boxShadow = isDarkMode ? "0 20px 25px -5px rgba(0, 0, 0, 0.5)" : "0 20px 25px -5px rgba(0, 0, 0, 0.15)";
4760
- e.currentTarget.style.borderColor = "#1638f9ff";
4715
+ e.currentTarget.style.borderColor = "#361985ff";
4761
4716
  },
4762
4717
  onMouseLeave: (e) => {
4763
4718
  e.currentTarget.style.transform = "translateY(0)";
@@ -4808,7 +4763,7 @@ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl
4808
4763
  fontSize: "16px",
4809
4764
  fontWeight: "600",
4810
4765
  color: "#fff",
4811
- backgroundColor: "#f97316",
4766
+ backgroundColor: "#361985ff",
4812
4767
  border: "none",
4813
4768
  borderRadius: "9999px",
4814
4769
  cursor: "pointer",
@@ -4816,11 +4771,11 @@ const PageChildrenSelectSection = ({ data, isDarkMode, t, section, imageBaseUrl
4816
4771
  boxShadow: "0 4px 6px -1px rgba(249, 115, 22, 0.3)"
4817
4772
  },
4818
4773
  onMouseEnter: (e) => {
4819
- e.currentTarget.style.backgroundColor = "#ea580c";
4774
+ e.currentTarget.style.backgroundColor = "#361985ff";
4820
4775
  e.currentTarget.style.transform = "translateY(-2px)";
4821
4776
  },
4822
4777
  onMouseLeave: (e) => {
4823
- e.currentTarget.style.backgroundColor = "#f97316";
4778
+ e.currentTarget.style.backgroundColor = "#361985ff";
4824
4779
  e.currentTarget.style.transform = "translateY(0)";
4825
4780
  },
4826
4781
  children: [
@@ -4975,7 +4930,7 @@ const PageChildrenSelectSection1 = ({ data, isDarkMode, t, section, imageBaseUrl
4975
4930
  fontSize: "16px",
4976
4931
  fontWeight: "600",
4977
4932
  color: "#fff",
4978
- backgroundColor: "#2563eb",
4933
+ backgroundColor: "#361985ff",
4979
4934
  border: "none",
4980
4935
  borderRadius: "9999px",
4981
4936
  cursor: "pointer",
@@ -4983,11 +4938,11 @@ const PageChildrenSelectSection1 = ({ data, isDarkMode, t, section, imageBaseUrl
4983
4938
  boxShadow: "0 4px 6px -1px rgba(37, 99, 235, 0.3)"
4984
4939
  },
4985
4940
  onMouseEnter: (e) => {
4986
- e.currentTarget.style.backgroundColor = "#1d4ed8";
4941
+ e.currentTarget.style.backgroundColor = "#361985ff";
4987
4942
  e.currentTarget.style.transform = "translateY(-2px)";
4988
4943
  },
4989
4944
  onMouseLeave: (e) => {
4990
- e.currentTarget.style.backgroundColor = "#2563eb";
4945
+ e.currentTarget.style.backgroundColor = "#361985ff";
4991
4946
  e.currentTarget.style.transform = "translateY(0)";
4992
4947
  },
4993
4948
  children: [
@@ -5130,7 +5085,7 @@ const PageChildrenSelectSection2 = ({ data, isDarkMode, t, section, imageBaseUrl
5130
5085
  fontSize: "16px",
5131
5086
  fontWeight: "600",
5132
5087
  color: "#ffffff",
5133
- backgroundColor: "#ef4444",
5088
+ backgroundColor: "#361985ff",
5134
5089
  border: "none",
5135
5090
  borderRadius: "50px",
5136
5091
  cursor: "pointer",
@@ -5138,12 +5093,12 @@ const PageChildrenSelectSection2 = ({ data, isDarkMode, t, section, imageBaseUrl
5138
5093
  boxShadow: "0 4px 6px -1px rgba(239, 68, 68, 0.3)"
5139
5094
  },
5140
5095
  onMouseEnter: (e) => {
5141
- e.currentTarget.style.backgroundColor = "#dc2626";
5096
+ e.currentTarget.style.backgroundColor = "#361985ff";
5142
5097
  e.currentTarget.style.transform = "translateY(-2px)";
5143
5098
  e.currentTarget.style.boxShadow = "0 10px 15px -3px rgba(239, 68, 68, 0.4)";
5144
5099
  },
5145
5100
  onMouseLeave: (e) => {
5146
- e.currentTarget.style.backgroundColor = "#ef4444";
5101
+ e.currentTarget.style.backgroundColor = "#361985ff";
5147
5102
  e.currentTarget.style.transform = "translateY(0)";
5148
5103
  e.currentTarget.style.boxShadow = "0 4px 6px -1px rgba(239, 68, 68, 0.3)";
5149
5104
  },