nvis-fe-cms-libs 2.0.5 → 2.0.6
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.
|
@@ -1502,14 +1502,14 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1502
1502
|
`;
|
|
1503
1503
|
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.jsx("div", { className: "grid lg:grid-cols-3 gap-12", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "lg:col-span-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-surface rounded-2xl p-8 shadow-lg border transition-colors duration-200", style: { borderColor: "var(--border-color)" }, children: [
|
|
1504
1504
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
|
|
1505
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-lg bg-gradient-brand flex items-center justify-center mr-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", className: "w-4 h-4 icon-gradient" }) }),
|
|
1505
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-10 h-10 rounded-lg bg-gradient-brand flex items-center justify-center mr-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1506
1506
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
1507
1507
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-subtitle font-bold text-main", children: t("form.title") || "Gửi yêu cầu tư vấn" }),
|
|
1508
1508
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", children: t("form.subtitle") || "Điền thông tin để nhận tư vấn miễn phí từ chuyên gia" })
|
|
1509
1509
|
] })
|
|
1510
1510
|
] }),
|
|
1511
1511
|
submitStatus && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mb-6 p-4 rounded-xl border transition-colors duration-200 ${submitStatus === "success" ? "bg-emerald-50 dark:bg-emerald-900/30 text-emerald-800 dark:text-emerald-300" : "bg-red-50 dark:bg-red-900/30 text-red-800 dark:text-red-300"}`, style: { borderColor: submitStatus === "success" ? "#10b981" : "#ef4444" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [
|
|
1512
|
-
submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormCheck", className: "w-4 h-4 icon-gradient" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1512
|
+
submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormCheck", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1513
1513
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small font-medium", children: submitMessage })
|
|
1514
1514
|
] }) }),
|
|
1515
1515
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [
|
|
@@ -1534,7 +1534,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1534
1534
|
}
|
|
1535
1535
|
),
|
|
1536
1536
|
formErrors.fullName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1537
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1537
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1538
1538
|
formErrors.fullName
|
|
1539
1539
|
] })
|
|
1540
1540
|
] }),
|
|
@@ -1558,7 +1558,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1558
1558
|
}
|
|
1559
1559
|
),
|
|
1560
1560
|
formErrors.workEmail && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1561
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1561
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1562
1562
|
formErrors.workEmail
|
|
1563
1563
|
] })
|
|
1564
1564
|
] })
|
|
@@ -1580,7 +1580,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1580
1580
|
}
|
|
1581
1581
|
),
|
|
1582
1582
|
formErrors.phoneNumber && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1583
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1583
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1584
1584
|
formErrors.phoneNumber
|
|
1585
1585
|
] })
|
|
1586
1586
|
] }),
|
|
@@ -1600,7 +1600,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1600
1600
|
}
|
|
1601
1601
|
),
|
|
1602
1602
|
formErrors.companyName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1603
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1603
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1604
1604
|
formErrors.companyName
|
|
1605
1605
|
] })
|
|
1606
1606
|
] })
|
|
@@ -1622,7 +1622,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1622
1622
|
}
|
|
1623
1623
|
),
|
|
1624
1624
|
formErrors.jobTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1625
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1625
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1626
1626
|
formErrors.jobTitle
|
|
1627
1627
|
] })
|
|
1628
1628
|
] }),
|
|
@@ -1694,7 +1694,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1694
1694
|
}
|
|
1695
1695
|
),
|
|
1696
1696
|
formErrors.requestTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1697
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1697
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1698
1698
|
formErrors.requestTitle
|
|
1699
1699
|
] })
|
|
1700
1700
|
] }),
|
|
@@ -1718,7 +1718,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1718
1718
|
}
|
|
1719
1719
|
),
|
|
1720
1720
|
formErrors.requestDescription && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-small text-red-500 flex items-center", children: [
|
|
1721
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", className: "w-4 h-4 icon-gradient" }),
|
|
1721
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormAlertCircle", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1722
1722
|
formErrors.requestDescription
|
|
1723
1723
|
] })
|
|
1724
1724
|
] }),
|
|
@@ -1729,10 +1729,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1729
1729
|
disabled: isSubmitting,
|
|
1730
1730
|
className: "flex-1 btn-primary text-white py-4 px-6 rounded-xl transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center font-semibold",
|
|
1731
1731
|
children: isSubmitting ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
1732
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormLoader2", className: "w-4 h-4 icon-muted" }),
|
|
1732
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-ContactFormLoader2", folder: "ContactFormSection", className: "w-4 h-4 icon-muted" }),
|
|
1733
1733
|
t("form.submitting") || "Đang gửi..."
|
|
1734
1734
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
1735
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", className: "w-4 h-4 icon-gradient" }),
|
|
1735
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactFormSend", folder: "ContactFormSection", className: "w-4 h-4 icon-gradient" }),
|
|
1736
1736
|
t("form.submit") || "Gửi yêu cầu"
|
|
1737
1737
|
] })
|
|
1738
1738
|
}
|
|
@@ -1747,7 +1747,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1747
1747
|
if (!contactData.length) return null;
|
|
1748
1748
|
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: [
|
|
1749
1749
|
/* @__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 bg-surface", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: [
|
|
1750
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }),
|
|
1750
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }),
|
|
1751
1751
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-main", children: sectionTitle })
|
|
1752
1752
|
] }) }),
|
|
1753
1753
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 gap-8", children: contactData.map((contact, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "card", children: [
|
|
@@ -1760,7 +1760,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1760
1760
|
display: "flex",
|
|
1761
1761
|
alignItems: "center",
|
|
1762
1762
|
justifyContent: "center"
|
|
1763
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }) }),
|
|
1763
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1764
1764
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "card-title text-subtitle mb-2", children: contact.name }),
|
|
1765
1765
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-block px-3 py-1 rounded-full text-small font-semibold bg-surface text-brand-primary", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: contact.position })
|
|
1766
1766
|
] }),
|
|
@@ -1787,7 +1787,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1787
1787
|
alignItems: "center",
|
|
1788
1788
|
justifyContent: "center",
|
|
1789
1789
|
marginRight: "0.75rem"
|
|
1790
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", className: "w-4 h-4 icon-gradient" }) }),
|
|
1790
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1791
1791
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
1792
1792
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contact.info.phone") || "Điện thoại" }),
|
|
1793
1793
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.phone })
|
|
@@ -1817,7 +1817,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1817
1817
|
alignItems: "center",
|
|
1818
1818
|
justifyContent: "center",
|
|
1819
1819
|
marginRight: "0.75rem"
|
|
1820
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", className: "w-4 h-4 icon-gradient" }) }),
|
|
1820
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1821
1821
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
1822
1822
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: "Email" }),
|
|
1823
1823
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.email })
|
|
@@ -1842,7 +1842,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1842
1842
|
alignItems: "center",
|
|
1843
1843
|
justifyContent: "center",
|
|
1844
1844
|
marginRight: "0.75rem"
|
|
1845
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", className: "w-4 h-4 icon-muted" }) }),
|
|
1845
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", folder: "ContactInfoSection", className: "w-4 h-4 icon-muted" }) }),
|
|
1846
1846
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
1847
1847
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contact.info.workingHours") || "Giờ làm việc" }),
|
|
1848
1848
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.workingHours || t("contact.info.defaultWorkingHours") || "T2-T6: 8:00-18:00" })
|
|
@@ -1900,7 +1900,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1900
1900
|
}
|
|
1901
1901
|
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: [
|
|
1902
1902
|
/* @__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 bg-surface", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: [
|
|
1903
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }),
|
|
1903
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }),
|
|
1904
1904
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-main", children: sectionTitle })
|
|
1905
1905
|
] }) }),
|
|
1906
1906
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid md:grid-cols-2 lg:grid-cols-3 gap-8", children: contacts.map((contact, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(ContactCard, { contact, t, isDarkMode }, contact.id || index2)) })
|
|
@@ -1917,7 +1917,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1917
1917
|
display: "flex",
|
|
1918
1918
|
alignItems: "center",
|
|
1919
1919
|
justifyContent: "center"
|
|
1920
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", className: "w-4 h-4 icon-gradient" }) }),
|
|
1920
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoUser", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1921
1921
|
/* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "card-title text-subtitle mb-2", children: contact.name || t("contactList.card.noName") || "Không có tên" }),
|
|
1922
1922
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "inline-block px-3 py-1 rounded-full text-small font-semibold bg-surface text-brand-primary", style: { borderWidth: "1px", borderColor: "var(--border-color)" }, children: contact.position || t("contactList.card.noPosition") || "Chưa có chức vụ" })
|
|
1923
1923
|
] }),
|
|
@@ -1944,7 +1944,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1944
1944
|
alignItems: "center",
|
|
1945
1945
|
justifyContent: "center",
|
|
1946
1946
|
marginRight: "0.75rem"
|
|
1947
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", className: "w-4 h-4 icon-gradient" }) }),
|
|
1947
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoPhone", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1948
1948
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
1949
1949
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contactList.card.phone") || "Điện thoại" }),
|
|
1950
1950
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.phone })
|
|
@@ -1974,7 +1974,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1974
1974
|
alignItems: "center",
|
|
1975
1975
|
justifyContent: "center",
|
|
1976
1976
|
marginRight: "0.75rem"
|
|
1977
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", className: "w-4 h-4 icon-gradient" }) }),
|
|
1977
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoEmail", folder: "ContactInfoSection", className: "w-4 h-4 icon-gradient" }) }),
|
|
1978
1978
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
1979
1979
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: "Email" }),
|
|
1980
1980
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.email })
|
|
@@ -1999,7 +1999,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
1999
1999
|
alignItems: "center",
|
|
2000
2000
|
justifyContent: "center",
|
|
2001
2001
|
marginRight: "0.75rem"
|
|
2002
|
-
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", className: "w-4 h-4 icon-muted" }) }),
|
|
2002
|
+
}, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-contactInfoClock", folder: "ContactInfoSection", className: "w-4 h-4 icon-muted" }) }),
|
|
2003
2003
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { flex: 1 }, children: [
|
|
2004
2004
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-small text-muted", style: { marginBottom: "0.25rem" }, children: t("contactList.card.workingHours") || "Giờ làm việc" }),
|
|
2005
2005
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-body text-main", style: { fontWeight: 600 }, children: contact.workingHours || t("contactList.card.defaultWorkingHours") || "T2-T6: 8:00-18:00" })
|
|
@@ -3394,52 +3394,18 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3394
3394
|
] })
|
|
3395
3395
|
] });
|
|
3396
3396
|
};
|
|
3397
|
-
const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description
|
|
3397
|
+
const MindMapNode = ({ id, icon: Icon2, text, color, position, delay = 0, onDragStart, isDragging, onClick, description }) => {
|
|
3398
3398
|
const [isHovered, setIsHovered] = require$$0.useState(false);
|
|
3399
3399
|
const [dragStartPos, setDragStartPos] = require$$0.useState(null);
|
|
3400
3400
|
const [hasMoved, setHasMoved] = require$$0.useState(false);
|
|
3401
|
-
const
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
},
|
|
3409
|
-
teal: {
|
|
3410
|
-
gradient: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
|
|
3411
|
-
gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
|
|
3412
|
-
border: "var(--gradient-brand-soft-start)",
|
|
3413
|
-
shadowColor: "var(--gradient-brand-soft-start)"
|
|
3414
|
-
},
|
|
3415
|
-
purple: {
|
|
3416
|
-
gradient: "linear-gradient(to bottom right, var(--brand-secondary), var(--gradient-accent-soft-start))",
|
|
3417
|
-
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3418
|
-
border: "var(--brand-secondary)",
|
|
3419
|
-
shadowColor: "var(--brand-secondary)"
|
|
3420
|
-
},
|
|
3421
|
-
orange: {
|
|
3422
|
-
gradient: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
|
|
3423
|
-
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3424
|
-
border: "var(--gradient-accent-strong-start)",
|
|
3425
|
-
shadowColor: "var(--gradient-accent-strong-start)"
|
|
3426
|
-
},
|
|
3427
|
-
cyan: {
|
|
3428
|
-
gradient: "linear-gradient(to bottom right, var(--gradient-brand-strong-start), var(--gradient-brand-strong-end))",
|
|
3429
|
-
gradientHover: "linear-gradient(to bottom right, var(--gradient-brand-soft-start), var(--gradient-brand-soft-end))",
|
|
3430
|
-
border: "var(--gradient-brand-strong-start)",
|
|
3431
|
-
shadowColor: "var(--gradient-brand-strong-start)"
|
|
3432
|
-
},
|
|
3433
|
-
indigo: {
|
|
3434
|
-
gradient: "linear-gradient(to bottom right, var(--gradient-accent-soft-start), var(--gradient-accent-soft-end))",
|
|
3435
|
-
gradientHover: "linear-gradient(to bottom right, var(--gradient-accent-strong-start), var(--gradient-accent-strong-end))",
|
|
3436
|
-
border: "var(--gradient-accent-soft-start)",
|
|
3437
|
-
shadowColor: "var(--gradient-accent-soft-start)"
|
|
3438
|
-
}
|
|
3439
|
-
};
|
|
3440
|
-
return styles[colorName] || styles.blue;
|
|
3401
|
+
const colorClasses = {
|
|
3402
|
+
blue: "bg-gradient-to-br from-blue-600 to-blue-700 hover:from-blue-500 hover:to-blue-600 border-blue-400/50 shadow-blue-500/30",
|
|
3403
|
+
teal: "bg-gradient-to-br from-teal-600 to-teal-700 hover:from-teal-500 hover:to-teal-600 border-teal-400/50 shadow-teal-500/30",
|
|
3404
|
+
purple: "bg-gradient-to-br from-purple-600 to-purple-700 hover:from-purple-500 hover:to-purple-600 border-purple-400/50 shadow-purple-500/30",
|
|
3405
|
+
orange: "bg-gradient-to-br from-orange-500 to-orange-600 hover:from-orange-400 hover:to-orange-500 border-orange-300/50 shadow-orange-500/30",
|
|
3406
|
+
cyan: "bg-gradient-to-br from-cyan-600 to-cyan-700 hover:from-cyan-500 hover:to-cyan-600 border-cyan-400/50 shadow-cyan-500/30",
|
|
3407
|
+
indigo: "bg-gradient-to-br from-indigo-600 to-indigo-700 hover:from-indigo-500 hover:to-indigo-600 border-indigo-400/50 shadow-indigo-500/30"
|
|
3441
3408
|
};
|
|
3442
|
-
const colorStyle = getColorStyles(color);
|
|
3443
3409
|
const handleMouseDown = (e) => {
|
|
3444
3410
|
setDragStartPos({ x: e.clientX, y: e.clientY });
|
|
3445
3411
|
setHasMoved(false);
|
|
@@ -3522,45 +3488,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3522
3488
|
onTouchMove: handleTouchMove,
|
|
3523
3489
|
onTouchEnd: handleTouchEnd,
|
|
3524
3490
|
children: [
|
|
3525
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3526
|
-
"
|
|
3527
|
-
{
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
borderColor: colorStyle.border + "80",
|
|
3532
|
-
boxShadow: `0 10px 40px rgba(var(--brand-primary), 0.3)`,
|
|
3533
|
-
transform: isHovered || isDragging ? "scale(1.1)" : "scale(1)",
|
|
3534
|
-
filter: isHovered || isDragging ? "brightness(1.1)" : "brightness(1)",
|
|
3535
|
-
rotate: isDragging ? "2deg" : "0deg"
|
|
3536
|
-
},
|
|
3537
|
-
children: [
|
|
3538
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 flex-shrink-0 text-inverse" }),
|
|
3539
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-inverse text-small whitespace-nowrap", children: text })
|
|
3540
|
-
]
|
|
3541
|
-
}
|
|
3542
|
-
),
|
|
3543
|
-
isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3544
|
-
"div",
|
|
3545
|
-
{
|
|
3546
|
-
className: "absolute inset-0 rounded-2xl blur-xl animate-pulse",
|
|
3547
|
-
style: {
|
|
3548
|
-
background: "rgba(255, 255, 255, 0.1)",
|
|
3549
|
-
transform: "scale(1.5)"
|
|
3550
|
-
}
|
|
3551
|
-
}
|
|
3552
|
-
),
|
|
3553
|
-
(isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3554
|
-
"div",
|
|
3555
|
-
{
|
|
3556
|
-
className: `absolute top-full left-1/2 -translate-x-1/2 mt-2 px-3 py-2 text-caption rounded-lg shadow-xl border whitespace-nowrap z-50 max-w-xs ${isDarkMode ? "bg-surface text-inverse" : "bg-body text-main"}`,
|
|
3557
|
-
style: {
|
|
3558
|
-
borderColor: "var(--border-color)",
|
|
3559
|
-
opacity: 0.95
|
|
3560
|
-
},
|
|
3561
|
-
children: description
|
|
3562
|
-
}
|
|
3563
|
-
)
|
|
3491
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${colorClasses[color]} backdrop-blur-md px-4 py-2.5 rounded-2xl shadow-2xl border-2 flex items-center gap-2.5 cursor-pointer transform transition-all duration-300 ${isHovered || isDragging ? "scale-110 shadow-2xl brightness-110" : ""} ${isDragging ? "rotate-2" : ""}`, children: [
|
|
3492
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: "w-4 h-4 text-white flex-shrink-0" }),
|
|
3493
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-white font-medium whitespace-nowrap text-xs sm:text-sm", children: text })
|
|
3494
|
+
] }),
|
|
3495
|
+
isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-white/10 rounded-2xl blur-xl animate-pulse", style: { transform: "scale(1.5)" } }),
|
|
3496
|
+
(isHovered || isDragging) && description && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-full left-1/2 -translate-x-1/2 mt-2 px-3 py-2 bg-slate-900/95 text-white text-xs rounded-lg shadow-xl border border-slate-700 whitespace-nowrap z-50 max-w-xs", children: description })
|
|
3564
3497
|
]
|
|
3565
3498
|
}
|
|
3566
3499
|
);
|
|
@@ -3781,108 +3714,49 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3781
3714
|
"div",
|
|
3782
3715
|
{
|
|
3783
3716
|
ref: containerRef,
|
|
3784
|
-
className:
|
|
3785
|
-
style: {
|
|
3786
|
-
touchAction: "none"
|
|
3787
|
-
},
|
|
3717
|
+
className: `mind-map-container relative w-full h-screen ${isDarkMode ? "bg-gradient-to-br from-slate-950 via-indigo-950 to-purple-950" : "bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50"} overflow-hidden transition-colors duration-300`,
|
|
3718
|
+
style: { touchAction: "none" },
|
|
3788
3719
|
children: [
|
|
3789
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3790
|
-
"div",
|
|
3791
|
-
{
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3796
|
-
"div",
|
|
3797
|
-
{
|
|
3798
|
-
className: "absolute inset-0 bg-gradient-brand",
|
|
3799
|
-
style: {
|
|
3800
|
-
opacity: 0.2
|
|
3801
|
-
}
|
|
3802
|
-
}
|
|
3803
|
-
),
|
|
3804
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3805
|
-
"div",
|
|
3806
|
-
{
|
|
3807
|
-
className: "absolute inset-0 bg-gradient-accent",
|
|
3808
|
-
style: {
|
|
3809
|
-
opacity: 0.1
|
|
3810
|
-
}
|
|
3811
|
-
}
|
|
3812
|
-
)
|
|
3813
|
-
]
|
|
3814
|
-
}
|
|
3815
|
-
),
|
|
3816
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3817
|
-
"div",
|
|
3818
|
-
{
|
|
3819
|
-
className: "absolute inset-0 pointer-events-none",
|
|
3820
|
-
style: { opacity: isDarkMode ? 0.6 : 0.4 },
|
|
3821
|
-
children: [...Array(150)].map((_, i) => {
|
|
3822
|
-
const colors = ["bg-brand-primary", "bg-brand-secondary"];
|
|
3823
|
-
const randomColor = colors[Math.floor(Math.random() * colors.length)];
|
|
3824
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3825
|
-
"div",
|
|
3826
|
-
{
|
|
3827
|
-
className: `absolute rounded-full ${randomColor}`,
|
|
3828
|
-
style: {
|
|
3829
|
-
left: `${Math.random() * 100}%`,
|
|
3830
|
-
top: `${Math.random() * 100}%`,
|
|
3831
|
-
width: `${Math.random() * 3 + 1}px`,
|
|
3832
|
-
height: `${Math.random() * 3 + 1}px`,
|
|
3833
|
-
animationName: "twinkle",
|
|
3834
|
-
animationDelay: `${Math.random() * 5}s`,
|
|
3835
|
-
animationDuration: `${4 + Math.random() * 6}s`,
|
|
3836
|
-
animationIterationCount: "infinite",
|
|
3837
|
-
animationTimingFunction: "ease-in-out"
|
|
3838
|
-
}
|
|
3839
|
-
},
|
|
3840
|
-
i
|
|
3841
|
-
);
|
|
3842
|
-
})
|
|
3843
|
-
}
|
|
3844
|
-
),
|
|
3845
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3720
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-30" : "opacity-20"}`, children: [
|
|
3721
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "bg-gradient-to-tr from-blue-600/20 via-purple-600/20 to-pink-600/20" : "bg-gradient-to-tr from-blue-400/20 via-purple-400/20 to-pink-400/20"}` }),
|
|
3722
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-cyan-500/10 via-transparent to-transparent" }),
|
|
3723
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-purple-500/10 via-transparent to-transparent" })
|
|
3724
|
+
] }),
|
|
3725
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 pointer-events-none ${isDarkMode ? "opacity-60" : "opacity-40"}`, children: [...Array(150)].map((_, i) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3846
3726
|
"div",
|
|
3847
3727
|
{
|
|
3848
|
-
className: "absolute
|
|
3849
|
-
style: {
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
{
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
opacity: 0.15
|
|
3858
|
-
}
|
|
3859
|
-
}
|
|
3860
|
-
)
|
|
3861
|
-
}
|
|
3862
|
-
),
|
|
3863
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute right-4 sm:right-16 bottom-4 sm:bottom-16 z-0 pointer-events-none", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
3864
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3865
|
-
"div",
|
|
3866
|
-
{
|
|
3867
|
-
className: "absolute inset-0 blur-3xl w-20 h-20 sm:w-32 sm:h-32 bg-gradient-brand",
|
|
3868
|
-
style: {
|
|
3869
|
-
opacity: 0.2
|
|
3870
|
-
}
|
|
3728
|
+
className: "absolute rounded-full animate-twinkle",
|
|
3729
|
+
style: {
|
|
3730
|
+
left: `${Math.random() * 100}%`,
|
|
3731
|
+
top: `${Math.random() * 100}%`,
|
|
3732
|
+
width: `${Math.random() * 3 + 1}px`,
|
|
3733
|
+
height: `${Math.random() * 3 + 1}px`,
|
|
3734
|
+
background: isDarkMode ? ["#60a5fa", "#818cf8", "#a78bfa", "#c084fc", "#e879f9"][Math.floor(Math.random() * 5)] : ["#3b82f6", "#6366f1", "#8b5cf6", "#a855f7", "#d946ef"][Math.floor(Math.random() * 5)],
|
|
3735
|
+
animationDelay: `${Math.random() * 5}s`,
|
|
3736
|
+
animationDuration: `${4 + Math.random() * 6}s`
|
|
3871
3737
|
}
|
|
3872
|
-
|
|
3738
|
+
},
|
|
3739
|
+
i
|
|
3740
|
+
)) }),
|
|
3741
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute inset-0 ${isDarkMode ? "opacity-10" : "opacity-5"} pointer-events-none`, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0", style: {
|
|
3742
|
+
backgroundImage: `radial-gradient(circle at 1px 1px, ${isDarkMode ? "rgba(255,255,255,0.15)" : "rgba(0,0,0,0.1)"} 1px, transparent 0)`,
|
|
3743
|
+
backgroundSize: "40px 40px"
|
|
3744
|
+
} }) }),
|
|
3745
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute right-4 sm:right-16 bottom-4 sm:bottom-16 z-0 pointer-events-none", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
3746
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-gradient-to-r from-blue-500/20 to-purple-500/20 blur-3xl w-20 h-20 sm:w-32 sm:h-32" }),
|
|
3873
3747
|
/* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "60", height: "60", viewBox: "0 0 80 80", className: "relative sm:w-24 sm:h-24", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M40 0 L45 35 L80 40 L45 45 L40 80 L35 45 L0 40 L35 35 Z", fill: "url(#sparkle-gradient)", opacity: "0.4" }) })
|
|
3874
3748
|
] }) }),
|
|
3875
3749
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("svg", { className: "absolute inset-0 w-full h-full pointer-events-none", style: { zIndex: 1 }, children: [
|
|
3876
3750
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("defs", { children: [
|
|
3877
3751
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "circuit-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
|
|
3878
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%",
|
|
3879
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%",
|
|
3880
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%",
|
|
3752
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa", stopOpacity: "0.6" }),
|
|
3753
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa", stopOpacity: "0.9" }),
|
|
3754
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc", stopOpacity: "0.6" })
|
|
3881
3755
|
] }),
|
|
3882
3756
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("linearGradient", { id: "sparkle-gradient", x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
3883
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%",
|
|
3884
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%",
|
|
3885
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%",
|
|
3757
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "0%", stopColor: "#60a5fa" }),
|
|
3758
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "50%", stopColor: "#a78bfa" }),
|
|
3759
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("stop", { offset: "100%", stopColor: "#c084fc" })
|
|
3886
3760
|
] }),
|
|
3887
3761
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("filter", { id: "glow", children: [
|
|
3888
3762
|
/* @__PURE__ */ jsxRuntimeExports.jsx("feGaussianBlur", { stdDeviation: "4", result: "coloredBlur" }),
|
|
@@ -3897,11 +3771,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3897
3771
|
"path",
|
|
3898
3772
|
{
|
|
3899
3773
|
d: line.path,
|
|
3900
|
-
stroke: "
|
|
3774
|
+
stroke: "rgba(167, 139, 250, 0.2)",
|
|
3901
3775
|
strokeWidth: "6",
|
|
3902
3776
|
fill: "none",
|
|
3903
3777
|
className: "transition-all duration-200",
|
|
3904
|
-
style: { filter: "blur(8px)"
|
|
3778
|
+
style: { filter: "blur(8px)" }
|
|
3905
3779
|
}
|
|
3906
3780
|
),
|
|
3907
3781
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -3933,8 +3807,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3933
3807
|
delay: node.delay,
|
|
3934
3808
|
onDragStart: handleNodeDragStart,
|
|
3935
3809
|
isDragging: draggingNodeId === node.id,
|
|
3936
|
-
onClick: handleNodeClick
|
|
3937
|
-
isDarkMode
|
|
3810
|
+
onClick: handleNodeClick
|
|
3938
3811
|
},
|
|
3939
3812
|
node.id
|
|
3940
3813
|
)) }),
|
|
@@ -3968,51 +3841,15 @@ var __async = (__this, __arguments, generator) => {
|
|
|
3968
3841
|
},
|
|
3969
3842
|
onTouchEnd: () => setIsDragging(false),
|
|
3970
3843
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative", children: [
|
|
3971
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3972
|
-
|
|
3973
|
-
{
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
),
|
|
3981
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
3982
|
-
"div",
|
|
3983
|
-
{
|
|
3984
|
-
className: "relative px-6 sm:px-10 py-3 sm:py-5 rounded-3xl shadow-2xl border-4 flex items-center gap-3 sm:gap-4 backdrop-blur-md bg-gradient-brand",
|
|
3985
|
-
style: {
|
|
3986
|
-
borderColor: "rgba(var(--brand-primary-rgb), 0.5)",
|
|
3987
|
-
transform: isDragging ? "scale(1.1)" : "scale(1)",
|
|
3988
|
-
transition: "transform 0.3s ease"
|
|
3989
|
-
},
|
|
3990
|
-
children: [
|
|
3991
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
3992
|
-
"div",
|
|
3993
|
-
{
|
|
3994
|
-
className: "p-2 sm:p-3 rounded-xl backdrop-blur-sm",
|
|
3995
|
-
style: { backgroundColor: "rgba(255, 255, 255, 0.25)" },
|
|
3996
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-inverse" })
|
|
3997
|
-
}
|
|
3998
|
-
),
|
|
3999
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
4000
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-inverse text-body sm:text-subtitle", children: diagramName }),
|
|
4001
|
-
diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-inverse text-caption sm:text-small opacity-90", children: diagramDescription })
|
|
4002
|
-
] })
|
|
4003
|
-
]
|
|
4004
|
-
}
|
|
4005
|
-
),
|
|
4006
|
-
!isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
4007
|
-
"div",
|
|
4008
|
-
{
|
|
4009
|
-
className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 text-caption whitespace-nowrap ${isDarkMode ? "text-brand-primary" : "text-brand-secondary"}`,
|
|
4010
|
-
style: {
|
|
4011
|
-
opacity: 0.6
|
|
4012
|
-
},
|
|
4013
|
-
children: safeT("diagram.dragToMove")
|
|
4014
|
-
}
|
|
4015
|
-
)
|
|
3844
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-indigo-400/30 rounded-full blur-2xl", style: { transform: "scale(1.5)" } }),
|
|
3845
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `relative bg-gradient-to-br from-indigo-500 via-blue-500 to-cyan-500 px-6 sm:px-10 py-3 sm:py-5 rounded-3xl shadow-2xl border-4 border-indigo-300/50 flex items-center gap-3 sm:gap-4 transition-transform backdrop-blur-md ${isDragging ? "scale-110" : ""}`, children: [
|
|
3846
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-white/25 p-2 sm:p-3 rounded-xl backdrop-blur-sm", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Briefcase, { className: "w-5 h-5 sm:w-7 sm:h-7 text-white" }) }),
|
|
3847
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center", children: [
|
|
3848
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-white font-bold text-sm sm:text-xl leading-tight tracking-wide", children: diagramName }),
|
|
3849
|
+
diagramDescription && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-white/90 font-medium text-xs sm:text-base leading-tight", children: diagramDescription })
|
|
3850
|
+
] })
|
|
3851
|
+
] }),
|
|
3852
|
+
!isDragging && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `absolute -bottom-8 left-1/2 transform -translate-x-1/2 ${isDarkMode ? "text-indigo-300/60" : "text-indigo-600/60"} text-xs whitespace-nowrap`, children: safeT("diagram.dragToMove") })
|
|
4016
3853
|
] })
|
|
4017
3854
|
}
|
|
4018
3855
|
),
|
|
@@ -4032,6 +3869,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4032
3869
|
animation: fadeIn 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
|
4033
3870
|
opacity: 0;
|
|
4034
3871
|
}
|
|
3872
|
+
.animate-twinkle { animation: twinkle 5s ease-in-out infinite; }
|
|
4035
3873
|
` })
|
|
4036
3874
|
]
|
|
4037
3875
|
}
|
|
@@ -4062,7 +3900,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4062
3900
|
ThemeIcon,
|
|
4063
3901
|
{
|
|
4064
3902
|
name: "icon-faqChevronDown",
|
|
4065
|
-
folder: "
|
|
3903
|
+
folder: "FaqSection",
|
|
4066
3904
|
className: `w-5 h-5 icon-muted transition-transform duration-500 ${isActive ? "rotate-180" : ""}`
|
|
4067
3905
|
}
|
|
4068
3906
|
) })
|
|
@@ -4144,7 +3982,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4144
3982
|
},
|
|
4145
3983
|
onMouseEnter: (e) => e.currentTarget.style.transform = "scale(1.1)",
|
|
4146
3984
|
onMouseLeave: (e) => e.currentTarget.style.transform = "scale(1)",
|
|
4147
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-faqQuestion", className: "w-4 h-4 icon-gradient" })
|
|
3985
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThemeIcon, { name: "icon-faqQuestion", folder: "FaqSection", className: "w-4 h-4 icon-gradient" })
|
|
4148
3986
|
}
|
|
4149
3987
|
) }),
|
|
4150
3988
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center mb-12 animate-fade-in", children: [
|