nvis-fe-cms-libs 1.1.36 → 1.1.37

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.
@@ -580,7 +580,7 @@ var __async = (__this, __arguments, generator) => {
580
580
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative z-10", children })
581
581
  ] });
582
582
  };
583
- const AboutCompanySection = ({ data, t, isDarkMode }) => {
583
+ const AboutCompanySection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
584
584
  var _a, _b;
585
585
  const safeT = typeof t === "function" ? t : (key, options) => {
586
586
  console.warn(`Translation function not provided for key: ${key}`);
@@ -596,6 +596,13 @@ var __async = (__this, __arguments, generator) => {
596
596
  const establishedYear = companyData.establishedYear || "----";
597
597
  const experienceYears = companyData.experienceYears || "0";
598
598
  const description = companyData.description || "";
599
+ const logo = companyData.logo || null;
600
+ const getLogoUrl = (logoUrl2) => {
601
+ if (!logoUrl2) return null;
602
+ if (logoUrl2.startsWith("http")) return logoUrl2;
603
+ return `${imageBaseUrl}${logoUrl2}`;
604
+ };
605
+ const logoUrl = getLogoUrl(logo);
599
606
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
600
607
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
601
608
  "section",
@@ -639,8 +646,22 @@ var __async = (__this, __arguments, generator) => {
639
646
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-20 h-20 mx-auto rounded-full bg-gradient-to-r from-blue-500 to-purple-600 p-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
640
647
  "div",
641
648
  {
642
- className: `w-full h-full rounded-full flex items-center justify-center ${isDarkMode ? "bg-gray-900" : "bg-white"}`,
643
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: shortName })
649
+ className: `w-full h-full rounded-full flex items-center justify-center overflow-hidden ${isDarkMode ? "bg-gray-900" : "bg-white"}`,
650
+ children: logoUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
651
+ "img",
652
+ {
653
+ src: logoUrl,
654
+ alt: name || shortName,
655
+ className: "w-full h-full object-cover rounded-full",
656
+ onError: (e) => {
657
+ e.target.style.display = "none";
658
+ const fallbackDiv = document.createElement("div");
659
+ fallbackDiv.className = "text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent";
660
+ fallbackDiv.textContent = shortName;
661
+ e.target.parentElement.appendChild(fallbackDiv);
662
+ }
663
+ }
664
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: shortName })
644
665
  }
645
666
  ) }),
646
667
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -695,7 +716,7 @@ var __async = (__this, __arguments, generator) => {
695
716
  children: [
696
717
  safeT("aboutCompany.story.title"),
697
718
  " ",
698
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: name })
719
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "block bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent", children: shortName })
699
720
  ]
700
721
  }
701
722
  ),
@@ -1690,42 +1711,42 @@ var __async = (__this, __arguments, generator) => {
1690
1711
  * This source code is licensed under the ISC license.
1691
1712
  * See the LICENSE file in the root directory of this source tree.
1692
1713
  */
1693
- const __iconNode$B = [
1714
+ const __iconNode$z = [
1694
1715
  ["path", { d: "M5 12h14", key: "1ays0h" }],
1695
1716
  ["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
1696
1717
  ];
1697
- const ArrowRight = createLucideIcon("arrow-right", __iconNode$B);
1718
+ const ArrowRight = createLucideIcon("arrow-right", __iconNode$z);
1698
1719
  /**
1699
1720
  * @license lucide-react v0.536.0 - ISC
1700
1721
  *
1701
1722
  * This source code is licensed under the ISC license.
1702
1723
  * See the LICENSE file in the root directory of this source tree.
1703
1724
  */
1704
- const __iconNode$A = [
1725
+ const __iconNode$y = [
1705
1726
  ["path", { d: "M2 4v16", key: "vw9hq8" }],
1706
1727
  ["path", { d: "M2 8h18a2 2 0 0 1 2 2v10", key: "1dgv2r" }],
1707
1728
  ["path", { d: "M2 17h20", key: "18nfp3" }],
1708
1729
  ["path", { d: "M6 8v9", key: "1yriud" }]
1709
1730
  ];
1710
- const Bed = createLucideIcon("bed", __iconNode$A);
1731
+ const Bed = createLucideIcon("bed", __iconNode$y);
1711
1732
  /**
1712
1733
  * @license lucide-react v0.536.0 - ISC
1713
1734
  *
1714
1735
  * This source code is licensed under the ISC license.
1715
1736
  * See the LICENSE file in the root directory of this source tree.
1716
1737
  */
1717
- const __iconNode$z = [
1738
+ const __iconNode$x = [
1718
1739
  ["path", { d: "M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16", key: "jecpp" }],
1719
1740
  ["rect", { width: "20", height: "14", x: "2", y: "6", rx: "2", key: "i6l2r4" }]
1720
1741
  ];
1721
- const Briefcase = createLucideIcon("briefcase", __iconNode$z);
1742
+ const Briefcase = createLucideIcon("briefcase", __iconNode$x);
1722
1743
  /**
1723
1744
  * @license lucide-react v0.536.0 - ISC
1724
1745
  *
1725
1746
  * This source code is licensed under the ISC license.
1726
1747
  * See the LICENSE file in the root directory of this source tree.
1727
1748
  */
1728
- const __iconNode$y = [
1749
+ const __iconNode$w = [
1729
1750
  ["path", { d: "M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z", key: "1b4qmf" }],
1730
1751
  ["path", { d: "M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2", key: "i71pzd" }],
1731
1752
  ["path", { d: "M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2", key: "10jefs" }],
@@ -1734,14 +1755,14 @@ var __async = (__this, __arguments, generator) => {
1734
1755
  ["path", { d: "M10 14h4", key: "kelpxr" }],
1735
1756
  ["path", { d: "M10 18h4", key: "1ulq68" }]
1736
1757
  ];
1737
- const Building2 = createLucideIcon("building-2", __iconNode$y);
1758
+ const Building2 = createLucideIcon("building-2", __iconNode$w);
1738
1759
  /**
1739
1760
  * @license lucide-react v0.536.0 - ISC
1740
1761
  *
1741
1762
  * This source code is licensed under the ISC license.
1742
1763
  * See the LICENSE file in the root directory of this source tree.
1743
1764
  */
1744
- const __iconNode$x = [
1765
+ const __iconNode$v = [
1745
1766
  ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", ry: "2", key: "76otgf" }],
1746
1767
  ["path", { d: "M9 22v-4h6v4", key: "r93iot" }],
1747
1768
  ["path", { d: "M8 6h.01", key: "1dz90k" }],
@@ -1754,14 +1775,14 @@ var __async = (__this, __arguments, generator) => {
1754
1775
  ["path", { d: "M8 10h.01", key: "19clt8" }],
1755
1776
  ["path", { d: "M8 14h.01", key: "6423bh" }]
1756
1777
  ];
1757
- const Building = createLucideIcon("building", __iconNode$x);
1778
+ const Building = createLucideIcon("building", __iconNode$v);
1758
1779
  /**
1759
1780
  * @license lucide-react v0.536.0 - ISC
1760
1781
  *
1761
1782
  * This source code is licensed under the ISC license.
1762
1783
  * See the LICENSE file in the root directory of this source tree.
1763
1784
  */
1764
- const __iconNode$w = [
1785
+ const __iconNode$u = [
1765
1786
  ["rect", { width: "16", height: "20", x: "4", y: "2", rx: "2", key: "1nb95v" }],
1766
1787
  ["line", { x1: "8", x2: "16", y1: "6", y2: "6", key: "x4nwl0" }],
1767
1788
  ["line", { x1: "16", x2: "16", y1: "14", y2: "18", key: "wjye3r" }],
@@ -1773,86 +1794,86 @@ var __async = (__this, __arguments, generator) => {
1773
1794
  ["path", { d: "M12 18h.01", key: "mhygvu" }],
1774
1795
  ["path", { d: "M8 18h.01", key: "lrp35t" }]
1775
1796
  ];
1776
- const Calculator = createLucideIcon("calculator", __iconNode$w);
1797
+ const Calculator = createLucideIcon("calculator", __iconNode$u);
1777
1798
  /**
1778
1799
  * @license lucide-react v0.536.0 - ISC
1779
1800
  *
1780
1801
  * This source code is licensed under the ISC license.
1781
1802
  * See the LICENSE file in the root directory of this source tree.
1782
1803
  */
1783
- const __iconNode$v = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1784
- const ChevronDown = createLucideIcon("chevron-down", __iconNode$v);
1804
+ const __iconNode$t = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
1805
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$t);
1785
1806
  /**
1786
1807
  * @license lucide-react v0.536.0 - ISC
1787
1808
  *
1788
1809
  * This source code is licensed under the ISC license.
1789
1810
  * See the LICENSE file in the root directory of this source tree.
1790
1811
  */
1791
- const __iconNode$u = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
1792
- const ChevronRight = createLucideIcon("chevron-right", __iconNode$u);
1812
+ const __iconNode$s = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
1813
+ const ChevronRight = createLucideIcon("chevron-right", __iconNode$s);
1793
1814
  /**
1794
1815
  * @license lucide-react v0.536.0 - ISC
1795
1816
  *
1796
1817
  * This source code is licensed under the ISC license.
1797
1818
  * See the LICENSE file in the root directory of this source tree.
1798
1819
  */
1799
- const __iconNode$t = [
1820
+ const __iconNode$r = [
1800
1821
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1801
1822
  ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
1802
1823
  ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
1803
1824
  ];
1804
- const CircleAlert = createLucideIcon("circle-alert", __iconNode$t);
1825
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$r);
1805
1826
  /**
1806
1827
  * @license lucide-react v0.536.0 - ISC
1807
1828
  *
1808
1829
  * This source code is licensed under the ISC license.
1809
1830
  * See the LICENSE file in the root directory of this source tree.
1810
1831
  */
1811
- const __iconNode$s = [
1832
+ const __iconNode$q = [
1812
1833
  ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
1813
1834
  ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
1814
1835
  ];
1815
- const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$s);
1836
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$q);
1816
1837
  /**
1817
1838
  * @license lucide-react v0.536.0 - ISC
1818
1839
  *
1819
1840
  * This source code is licensed under the ISC license.
1820
1841
  * See the LICENSE file in the root directory of this source tree.
1821
1842
  */
1822
- const __iconNode$r = [
1843
+ const __iconNode$p = [
1823
1844
  ["path", { d: "M12 6v6l4 2", key: "mmk7yg" }],
1824
1845
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
1825
1846
  ];
1826
- const Clock = createLucideIcon("clock", __iconNode$r);
1847
+ const Clock = createLucideIcon("clock", __iconNode$p);
1827
1848
  /**
1828
1849
  * @license lucide-react v0.536.0 - ISC
1829
1850
  *
1830
1851
  * This source code is licensed under the ISC license.
1831
1852
  * See the LICENSE file in the root directory of this source tree.
1832
1853
  */
1833
- const __iconNode$q = [
1854
+ const __iconNode$o = [
1834
1855
  ["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
1835
1856
  ];
1836
- const Cloud = createLucideIcon("cloud", __iconNode$q);
1857
+ const Cloud = createLucideIcon("cloud", __iconNode$o);
1837
1858
  /**
1838
1859
  * @license lucide-react v0.536.0 - ISC
1839
1860
  *
1840
1861
  * This source code is licensed under the ISC license.
1841
1862
  * See the LICENSE file in the root directory of this source tree.
1842
1863
  */
1843
- const __iconNode$p = [
1864
+ const __iconNode$n = [
1844
1865
  ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
1845
1866
  ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
1846
1867
  ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
1847
1868
  ];
1848
- const Database = createLucideIcon("database", __iconNode$p);
1869
+ const Database = createLucideIcon("database", __iconNode$n);
1849
1870
  /**
1850
1871
  * @license lucide-react v0.536.0 - ISC
1851
1872
  *
1852
1873
  * This source code is licensed under the ISC license.
1853
1874
  * See the LICENSE file in the root directory of this source tree.
1854
1875
  */
1855
- const __iconNode$o = [
1876
+ const __iconNode$m = [
1856
1877
  ["path", { d: "M12 16h.01", key: "1drbdi" }],
1857
1878
  ["path", { d: "M16 16h.01", key: "1f9h7w" }],
1858
1879
  [
@@ -1864,40 +1885,40 @@ var __async = (__this, __arguments, generator) => {
1864
1885
  ],
1865
1886
  ["path", { d: "M8 16h.01", key: "18s6g9" }]
1866
1887
  ];
1867
- const Factory = createLucideIcon("factory", __iconNode$o);
1888
+ const Factory = createLucideIcon("factory", __iconNode$m);
1868
1889
  /**
1869
1890
  * @license lucide-react v0.536.0 - ISC
1870
1891
  *
1871
1892
  * This source code is licensed under the ISC license.
1872
1893
  * See the LICENSE file in the root directory of this source tree.
1873
1894
  */
1874
- const __iconNode$n = [
1895
+ const __iconNode$l = [
1875
1896
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
1876
1897
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
1877
1898
  ["path", { d: "M10 9H8", key: "b1mrlr" }],
1878
1899
  ["path", { d: "M16 13H8", key: "t4e002" }],
1879
1900
  ["path", { d: "M16 17H8", key: "z1uh3a" }]
1880
1901
  ];
1881
- const FileText = createLucideIcon("file-text", __iconNode$n);
1902
+ const FileText = createLucideIcon("file-text", __iconNode$l);
1882
1903
  /**
1883
1904
  * @license lucide-react v0.536.0 - ISC
1884
1905
  *
1885
1906
  * This source code is licensed under the ISC license.
1886
1907
  * See the LICENSE file in the root directory of this source tree.
1887
1908
  */
1888
- const __iconNode$m = [
1909
+ const __iconNode$k = [
1889
1910
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
1890
1911
  ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
1891
1912
  ["path", { d: "M2 12h20", key: "9i4pu4" }]
1892
1913
  ];
1893
- const Globe = createLucideIcon("globe", __iconNode$m);
1914
+ const Globe = createLucideIcon("globe", __iconNode$k);
1894
1915
  /**
1895
1916
  * @license lucide-react v0.536.0 - ISC
1896
1917
  *
1897
1918
  * This source code is licensed under the ISC license.
1898
1919
  * See the LICENSE file in the root directory of this source tree.
1899
1920
  */
1900
- const __iconNode$l = [
1921
+ const __iconNode$j = [
1901
1922
  [
1902
1923
  "path",
1903
1924
  {
@@ -1908,14 +1929,14 @@ var __async = (__this, __arguments, generator) => {
1908
1929
  ["path", { d: "M22 10v6", key: "1lu8f3" }],
1909
1930
  ["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
1910
1931
  ];
1911
- const GraduationCap = createLucideIcon("graduation-cap", __iconNode$l);
1932
+ const GraduationCap = createLucideIcon("graduation-cap", __iconNode$j);
1912
1933
  /**
1913
1934
  * @license lucide-react v0.536.0 - ISC
1914
1935
  *
1915
1936
  * This source code is licensed under the ISC license.
1916
1937
  * See the LICENSE file in the root directory of this source tree.
1917
1938
  */
1918
- const __iconNode$k = [
1939
+ const __iconNode$i = [
1919
1940
  [
1920
1941
  "path",
1921
1942
  {
@@ -1924,14 +1945,14 @@ var __async = (__this, __arguments, generator) => {
1924
1945
  }
1925
1946
  ]
1926
1947
  ];
1927
- const Heart = createLucideIcon("heart", __iconNode$k);
1948
+ const Heart = createLucideIcon("heart", __iconNode$i);
1928
1949
  /**
1929
1950
  * @license lucide-react v0.536.0 - ISC
1930
1951
  *
1931
1952
  * This source code is licensed under the ISC license.
1932
1953
  * See the LICENSE file in the root directory of this source tree.
1933
1954
  */
1934
- const __iconNode$j = [
1955
+ const __iconNode$h = [
1935
1956
  ["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
1936
1957
  [
1937
1958
  "path",
@@ -1941,33 +1962,33 @@ var __async = (__this, __arguments, generator) => {
1941
1962
  }
1942
1963
  ]
1943
1964
  ];
1944
- const House = createLucideIcon("house", __iconNode$j);
1965
+ const House = createLucideIcon("house", __iconNode$h);
1945
1966
  /**
1946
1967
  * @license lucide-react v0.536.0 - ISC
1947
1968
  *
1948
1969
  * This source code is licensed under the ISC license.
1949
1970
  * See the LICENSE file in the root directory of this source tree.
1950
1971
  */
1951
- const __iconNode$i = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1952
- const LoaderCircle = createLucideIcon("loader-circle", __iconNode$i);
1972
+ const __iconNode$g = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
1973
+ const LoaderCircle = createLucideIcon("loader-circle", __iconNode$g);
1953
1974
  /**
1954
1975
  * @license lucide-react v0.536.0 - ISC
1955
1976
  *
1956
1977
  * This source code is licensed under the ISC license.
1957
1978
  * See the LICENSE file in the root directory of this source tree.
1958
1979
  */
1959
- const __iconNode$h = [
1980
+ const __iconNode$f = [
1960
1981
  ["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
1961
1982
  ["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
1962
1983
  ];
1963
- const Mail = createLucideIcon("mail", __iconNode$h);
1984
+ const Mail = createLucideIcon("mail", __iconNode$f);
1964
1985
  /**
1965
1986
  * @license lucide-react v0.536.0 - ISC
1966
1987
  *
1967
1988
  * This source code is licensed under the ISC license.
1968
1989
  * See the LICENSE file in the root directory of this source tree.
1969
1990
  */
1970
- const __iconNode$g = [
1991
+ const __iconNode$e = [
1971
1992
  [
1972
1993
  "path",
1973
1994
  {
@@ -1978,39 +1999,7 @@ var __async = (__this, __arguments, generator) => {
1978
1999
  ["path", { d: "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14", key: "1853fq" }],
1979
2000
  ["path", { d: "M8 6v8", key: "15ugcq" }]
1980
2001
  ];
1981
- const Megaphone = createLucideIcon("megaphone", __iconNode$g);
1982
- /**
1983
- * @license lucide-react v0.536.0 - ISC
1984
- *
1985
- * This source code is licensed under the ISC license.
1986
- * See the LICENSE file in the root directory of this source tree.
1987
- */
1988
- const __iconNode$f = [
1989
- [
1990
- "path",
1991
- {
1992
- d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
1993
- key: "1sd12s"
1994
- }
1995
- ]
1996
- ];
1997
- const MessageCircle = createLucideIcon("message-circle", __iconNode$f);
1998
- /**
1999
- * @license lucide-react v0.536.0 - ISC
2000
- *
2001
- * This source code is licensed under the ISC license.
2002
- * See the LICENSE file in the root directory of this source tree.
2003
- */
2004
- const __iconNode$e = [
2005
- [
2006
- "path",
2007
- {
2008
- d: "M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",
2009
- key: "18887p"
2010
- }
2011
- ]
2012
- ];
2013
- const MessageSquare = createLucideIcon("message-square", __iconNode$e);
2002
+ const Megaphone = createLucideIcon("megaphone", __iconNode$e);
2014
2003
  /**
2015
2004
  * @license lucide-react v0.536.0 - ISC
2016
2005
  *
@@ -2356,316 +2345,252 @@ var __async = (__this, __arguments, generator) => {
2356
2345
  });
2357
2346
  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"}`;
2358
2347
  const labelClasses = `block text-sm font-semibold mb-2 ${isDarkMode ? "text-gray-300" : "text-slate-700"}`;
2359
- 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: [
2360
- /* @__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: [
2361
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
2362
- /* @__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" }) }),
2363
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2364
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: `text-2xl font-bold transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("form.title") || "Gửi yêu cầu tư vấn" }),
2365
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: t("form.subtitle") || "Điền thông tin để nhận tư vấn miễn phí từ chuyên gia" })
2366
- ] })
2367
- ] }),
2368
- submitStatus && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mb-6 p-4 rounded-xl border transition-colors duration-200 ${submitStatus === "success" ? isDarkMode ? "bg-emerald-900/50 border-emerald-700 text-emerald-300" : "bg-emerald-50 border-emerald-200 text-emerald-800" : isDarkMode ? "bg-red-900/50 border-red-700 text-red-300" : "bg-red-50 border-red-200 text-red-800"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [
2369
- submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { size: 20, className: "mr-2 flex-shrink-0" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 20, className: "mr-2 flex-shrink-0" }),
2370
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-medium", children: submitMessage })
2371
- ] }) }),
2372
- /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [
2373
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2374
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2375
- /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2376
- t("form.fields.fullName") || "Họ và tên",
2377
- " *"
2378
- ] }),
2379
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2380
- "input",
2381
- {
2382
- type: "text",
2383
- name: "fullName",
2384
- value: formData.fullName || "",
2385
- onChange: handleInputChange,
2386
- onBlur: handleBlur,
2387
- className: `${inputBaseClasses} ${formErrors.fullName ? "border-red-500" : ""}`,
2388
- placeholder: "Nguyễn Văn A",
2389
- required: true
2390
- }
2391
- ),
2392
- formErrors.fullName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2393
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2394
- formErrors.fullName
2395
- ] })
2396
- ] }),
2397
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2398
- /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2399
- t("form.fields.workEmail") || "Email",
2400
- " *"
2401
- ] }),
2402
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2403
- "input",
2404
- {
2405
- type: "email",
2406
- name: "workEmail",
2407
- value: formData.workEmail || "",
2408
- onChange: handleInputChange,
2409
- onBlur: handleBlur,
2410
- className: `${inputBaseClasses} ${formErrors.workEmail ? "border-red-500" : ""}`,
2411
- placeholder: "email@company.com",
2412
- required: true
2413
- }
2414
- ),
2415
- formErrors.workEmail && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2416
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2417
- formErrors.workEmail
2418
- ] })
2419
- ] })
2420
- ] }),
2421
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2422
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2423
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.phoneNumber") || "Số điện thoại" }),
2424
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2425
- "input",
2426
- {
2427
- type: "tel",
2428
- name: "phoneNumber",
2429
- value: formData.phoneNumber || "",
2430
- onChange: handleInputChange,
2431
- onBlur: handleBlur,
2432
- className: `${inputBaseClasses} ${formErrors.phoneNumber ? "border-red-500" : ""}`,
2433
- placeholder: "0901 234 567"
2434
- }
2435
- ),
2436
- formErrors.phoneNumber && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2437
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2438
- formErrors.phoneNumber
2439
- ] })
2440
- ] }),
2441
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2442
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.companyName") || "Công ty/Tổ chức" }),
2443
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2444
- "input",
2445
- {
2446
- type: "text",
2447
- name: "companyName",
2448
- value: formData.companyName || "",
2449
- onChange: handleInputChange,
2450
- onBlur: handleBlur,
2451
- className: `${inputBaseClasses} ${formErrors.companyName ? "border-red-500" : ""}`,
2452
- placeholder: "ABC Company"
2453
- }
2454
- ),
2455
- formErrors.companyName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2456
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2457
- formErrors.companyName
2458
- ] })
2459
- ] })
2460
- ] }),
2461
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2462
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2463
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.jobTitle") || "Chức vụ" }),
2464
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2465
- "input",
2466
- {
2467
- type: "text",
2468
- name: "jobTitle",
2469
- value: formData.jobTitle || "",
2470
- onChange: handleInputChange,
2471
- onBlur: handleBlur,
2472
- className: `${inputBaseClasses} ${formErrors.jobTitle ? "border-red-500" : ""}`,
2473
- placeholder: "Giám đốc công nghệ"
2474
- }
2475
- ),
2476
- formErrors.jobTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2477
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2478
- formErrors.jobTitle
2479
- ] })
2480
- ] }),
2481
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2482
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.businessType") || "Loại hình kinh doanh" }),
2483
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2484
- "input",
2485
- {
2486
- type: "text",
2487
- name: "businessType",
2488
- value: formData.businessType || "",
2489
- onChange: handleInputChange,
2490
- className: inputBaseClasses,
2491
- placeholder: "Công nghệ thông tin"
2492
- }
2493
- )
2494
- ] })
2495
- ] }),
2496
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2497
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2498
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.expectedBudget") || "Ngân sách dự kiến" }),
2499
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2500
- "input",
2501
- {
2502
- type: "text",
2503
- name: "expectedBudget",
2504
- value: formData.expectedBudget || "",
2505
- onChange: handleInputChange,
2506
- className: inputBaseClasses,
2507
- placeholder: "500,000,000 - 1,000,000,000 VNĐ"
2508
- }
2509
- )
2510
- ] }),
2511
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2512
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.expectedTimeline") || "Thời gian dự kiến" }),
2513
- /* @__PURE__ */ jsxRuntimeExports.jsx(
2514
- "input",
2515
- {
2516
- type: "text",
2517
- name: "expectedTimeline",
2518
- value: formData.expectedTimeline || "",
2519
- onChange: handleInputChange,
2520
- className: inputBaseClasses,
2521
- placeholder: "3-6 tháng"
2522
- }
2523
- )
2524
- ] })
2525
- ] }),
2348
+ 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: `rounded-2xl p-8 shadow-lg border transition-colors duration-200 ${isDarkMode ? "bg-gray-800 border-gray-700" : "bg-white border-slate-200"}`, children: [
2349
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-6", children: [
2350
+ /* @__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" }) }),
2351
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2352
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: `text-2xl font-bold transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("form.title") || "Gửi yêu cầu tư vấn" }),
2353
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: t("form.subtitle") || "Điền thông tin để nhận tư vấn miễn phí từ chuyên gia" })
2354
+ ] })
2355
+ ] }),
2356
+ submitStatus && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `mb-6 p-4 rounded-xl border transition-colors duration-200 ${submitStatus === "success" ? isDarkMode ? "bg-emerald-900/50 border-emerald-700 text-emerald-300" : "bg-emerald-50 border-emerald-200 text-emerald-800" : isDarkMode ? "bg-red-900/50 border-red-700 text-red-300" : "bg-red-50 border-red-200 text-red-800"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [
2357
+ submitStatus === "success" ? /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { size: 20, className: "mr-2 flex-shrink-0" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 20, className: "mr-2 flex-shrink-0" }),
2358
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm font-medium", children: submitMessage })
2359
+ ] }) }),
2360
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, className: "space-y-6", children: [
2361
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2526
2362
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2527
2363
  /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2528
- t("form.fields.requestTitle") || "Tiêu đề yêu cầu",
2364
+ t("form.fields.fullName") || "Họ tên",
2529
2365
  " *"
2530
2366
  ] }),
2531
2367
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2532
2368
  "input",
2533
2369
  {
2534
2370
  type: "text",
2535
- name: "requestTitle",
2536
- value: formData.requestTitle || "",
2371
+ name: "fullName",
2372
+ value: formData.fullName || "",
2537
2373
  onChange: handleInputChange,
2538
2374
  onBlur: handleBlur,
2539
- className: `${inputBaseClasses} ${formErrors.requestTitle ? "border-red-500" : ""}`,
2540
- placeholder: "Phát triển hệ thống quản lý bán hàng",
2375
+ className: `${inputBaseClasses} ${formErrors.fullName ? "border-red-500" : ""}`,
2376
+ placeholder: t("contact.form.namePlaceholder"),
2541
2377
  required: true
2542
2378
  }
2543
2379
  ),
2544
- formErrors.requestTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2380
+ formErrors.fullName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2545
2381
  /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2546
- formErrors.requestTitle
2382
+ formErrors.fullName
2547
2383
  ] })
2548
2384
  ] }),
2549
2385
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2550
2386
  /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2551
- t("form.fields.requestDescription") || "Mô tả yêu cầu",
2387
+ t("form.fields.workEmail") || "Email",
2552
2388
  " *"
2553
2389
  ] }),
2554
2390
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2555
- "textarea",
2391
+ "input",
2556
2392
  {
2557
- name: "requestDescription",
2558
- value: formData.requestDescription || "",
2393
+ type: "email",
2394
+ name: "workEmail",
2395
+ value: formData.workEmail || "",
2559
2396
  onChange: handleInputChange,
2560
2397
  onBlur: handleBlur,
2561
- rows: "5",
2562
- className: `${inputBaseClasses} resize-none ${formErrors.requestDescription ? "border-red-500" : ""}`,
2563
- placeholder: "Vui lòng mô tả chi tiết về nhu cầu của bạn...",
2398
+ className: `${inputBaseClasses} ${formErrors.workEmail ? "border-red-500" : ""}`,
2399
+ placeholder: "email@company.com",
2564
2400
  required: true
2565
2401
  }
2566
2402
  ),
2567
- formErrors.requestDescription && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2403
+ formErrors.workEmail && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2568
2404
  /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2569
- formErrors.requestDescription
2405
+ formErrors.workEmail
2570
2406
  ] })
2571
- ] }),
2572
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-4", children: [
2407
+ ] })
2408
+ ] }),
2409
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2410
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2411
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.phoneNumber") || "Số điện thoại" }),
2573
2412
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2574
- "button",
2413
+ "input",
2575
2414
  {
2576
- type: "submit",
2577
- disabled: isSubmitting,
2578
- className: "flex-1 bg-gradient-to-r from-indigo-600 to-purple-600 text-white py-4 px-6 rounded-xl hover:from-indigo-700 hover:to-purple-700 transition-all transform hover:scale-105 disabled:opacity-50 disabled:cursor-not-allowed disabled:transform-none flex items-center justify-center font-semibold shadow-lg",
2579
- children: isSubmitting ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2580
- /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "animate-spin h-5 w-5 mr-2" }),
2581
- t("form.submitting") || "Đang gửi..."
2582
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2583
- /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { size: 20, className: "mr-2" }),
2584
- t("form.submit") || "Gửi yêu cầu"
2585
- ] })
2415
+ type: "tel",
2416
+ name: "phoneNumber",
2417
+ value: formData.phoneNumber || "",
2418
+ onChange: handleInputChange,
2419
+ onBlur: handleBlur,
2420
+ className: `${inputBaseClasses} ${formErrors.phoneNumber ? "border-red-500" : ""}`,
2421
+ placeholder: "0901 234 567"
2586
2422
  }
2587
2423
  ),
2588
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2589
- "button",
2424
+ formErrors.phoneNumber && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2425
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2426
+ formErrors.phoneNumber
2427
+ ] })
2428
+ ] }),
2429
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2430
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.companyName") || "Công ty/Tổ chức" }),
2431
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2432
+ "input",
2590
2433
  {
2591
- type: "button",
2592
- className: `px-6 py-4 rounded-xl border-2 font-semibold transition-all hover:scale-105 ${isDarkMode ? "border-gray-600 text-gray-300 hover:bg-gray-700" : "border-slate-300 text-slate-700 hover:bg-slate-50"}`,
2593
- children: [
2594
- /* @__PURE__ */ jsxRuntimeExports.jsx(Phone, { size: 20, className: "inline mr-2" }),
2595
- t("form.callNow") || "Gọi ngay"
2596
- ]
2434
+ type: "text",
2435
+ name: "companyName",
2436
+ value: formData.companyName || "",
2437
+ onChange: handleInputChange,
2438
+ onBlur: handleBlur,
2439
+ className: `${inputBaseClasses} ${formErrors.companyName ? "border-red-500" : ""}`,
2440
+ placeholder: t("contact.form.fields.company")
2597
2441
  }
2598
- )
2599
- ] }),
2600
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `flex items-center space-x-2 text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: [
2601
- /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { size: 16, className: "text-emerald-500" }),
2602
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("form.privacy") || "Cam kết bảo mật thông tin và phản hồi trong 24 giờ" })
2442
+ ),
2443
+ formErrors.companyName && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2444
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2445
+ formErrors.companyName
2446
+ ] })
2603
2447
  ] })
2604
- ] })
2605
- ] }) }),
2606
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
2607
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `rounded-2xl p-6 shadow-lg text-white transition-colors duration-200 ${isDarkMode ? "bg-gradient-to-br from-indigo-900 to-purple-900" : "bg-gradient-to-br from-indigo-600 to-purple-600"}`, children: [
2608
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "font-bold mb-3", children: t("sidebar.quickContact.title") || "Cần hỗ trợ ngay?" }),
2609
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-indigo-100 text-sm mb-4", children: t("sidebar.quickContact.description") || "Liên hệ trực tiếp để được tư vấn nhanh chóng" }),
2610
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
2611
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
2612
- "a",
2448
+ ] }),
2449
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2450
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2451
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.jobTitle") || "Chức vụ" }),
2452
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2453
+ "input",
2613
2454
  {
2614
- href: "tel:19005588",
2615
- className: "flex items-center justify-center w-full bg-white/20 backdrop-blur-sm hover:bg-white/30 py-3 rounded-xl transition-all font-semibold",
2616
- children: [
2617
- /* @__PURE__ */ jsxRuntimeExports.jsx(Phone, { size: 18, className: "mr-2" }),
2618
- "1900 5588"
2619
- ]
2455
+ type: "text",
2456
+ name: "jobTitle",
2457
+ value: formData.jobTitle || "",
2458
+ onChange: handleInputChange,
2459
+ onBlur: handleBlur,
2460
+ className: `${inputBaseClasses} ${formErrors.jobTitle ? "border-red-500" : ""}`,
2461
+ placeholder: t("contact.form.positionPlaceholder")
2620
2462
  }
2621
2463
  ),
2622
- /* @__PURE__ */ jsxRuntimeExports.jsxs("button", { className: "flex items-center justify-center w-full border border-white/30 hover:bg-white/10 py-3 rounded-xl transition-all font-semibold", children: [
2623
- /* @__PURE__ */ jsxRuntimeExports.jsx(MessageSquare, { size: 18, className: "mr-2" }),
2624
- "Live Chat"
2464
+ formErrors.jobTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2465
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2466
+ formErrors.jobTitle
2625
2467
  ] })
2468
+ ] }),
2469
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2470
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.businessType") || "Loại hình kinh doanh" }),
2471
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2472
+ "input",
2473
+ {
2474
+ type: "text",
2475
+ name: "businessType",
2476
+ value: formData.businessType || "",
2477
+ onChange: handleInputChange,
2478
+ className: inputBaseClasses,
2479
+ placeholder: "Công nghệ thông tin"
2480
+ }
2481
+ )
2626
2482
  ] })
2627
2483
  ] }),
2628
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `rounded-2xl p-6 shadow-lg border transition-colors duration-200 ${isDarkMode ? "bg-gray-800 border-gray-700" : "bg-white border-slate-200"}`, children: [
2629
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: `font-bold mb-4 transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("sidebar.contactInfo.title") || "Thông tin liên hệ" }),
2630
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
2631
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-3", children: [
2632
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `w-10 h-10 rounded-lg flex items-center justify-center ${isDarkMode ? "bg-indigo-900/50 text-indigo-400" : "bg-indigo-50 text-indigo-600"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Phone, { size: 18 }) }),
2633
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2634
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `font-semibold transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: "1900 5588" }),
2635
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: "Hotline 24/7" })
2636
- ] })
2637
- ] }),
2638
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-3", children: [
2639
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `w-10 h-10 rounded-lg flex items-center justify-center ${isDarkMode ? "bg-emerald-900/50 text-emerald-400" : "bg-emerald-50 text-emerald-600"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Mail, { size: 18 }) }),
2640
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2641
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `font-semibold transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: "support@asasystems.vn" }),
2642
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: "Email hỗ trợ" })
2643
- ] })
2644
- ] }),
2645
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-3", children: [
2646
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `w-10 h-10 rounded-lg flex items-center justify-center ${isDarkMode ? "bg-purple-900/50 text-purple-400" : "bg-purple-50 text-purple-600"}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(MessageCircle, { size: 18 }) }),
2647
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2648
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `font-semibold transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: "Live Chat" }),
2649
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: "T2-T6: 8:00-18:00" })
2650
- ] })
2651
- ] })
2484
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid md:grid-cols-2 gap-6", children: [
2485
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2486
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.expectedBudget") || "Ngân sách dự kiến" }),
2487
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2488
+ "input",
2489
+ {
2490
+ type: "text",
2491
+ name: "expectedBudget",
2492
+ value: formData.expectedBudget || "",
2493
+ onChange: handleInputChange,
2494
+ className: inputBaseClasses,
2495
+ placeholder: t("form.fields.expectedBudget")
2496
+ }
2497
+ )
2498
+ ] }),
2499
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2500
+ /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: labelClasses, children: t("form.fields.expectedTimeline") || "Thời gian dự kiến" }),
2501
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2502
+ "input",
2503
+ {
2504
+ type: "text",
2505
+ name: "expectedTimeline",
2506
+ value: formData.expectedTimeline || "",
2507
+ onChange: handleInputChange,
2508
+ className: inputBaseClasses,
2509
+ placeholder: t("form.fields.expectedTimeline")
2510
+ }
2511
+ )
2652
2512
  ] })
2653
2513
  ] }),
2654
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `rounded-2xl p-6 shadow-lg border transition-colors duration-200 ${isDarkMode ? "bg-gray-800 border-gray-700" : "bg-white border-slate-200"}`, children: [
2655
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: `font-bold mb-4 transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("sidebar.faq.title") || "Câu hỏi thường gặp" }),
2656
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
2657
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `p-3 rounded-lg transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-slate-50"}`, children: [
2658
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `font-medium text-sm transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("sidebar.faq.responseTime.question") || "Thời gian phản hồi?" }),
2659
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm mt-1 transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: t("sidebar.faq.responseTime.answer") || "Trong vòng 24 giờ làm việc" })
2660
- ] }),
2661
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `p-3 rounded-lg transition-colors duration-200 ${isDarkMode ? "bg-gray-700" : "bg-slate-50"}`, children: [
2662
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `font-medium text-sm transition-colors duration-200 ${isDarkMode ? "text-white" : "text-slate-800"}`, children: t("sidebar.faq.consultationFree.question") || "Tư vấn có miễn phí?" }),
2663
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: `text-sm mt-1 transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: t("sidebar.faq.consultationFree.answer") || "Hoàn toàn miễn phí" })
2664
- ] })
2514
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2515
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2516
+ t("form.fields.requestTitle") || "Tiêu đề yêu cầu",
2517
+ " *"
2518
+ ] }),
2519
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2520
+ "input",
2521
+ {
2522
+ type: "text",
2523
+ name: "requestTitle",
2524
+ value: formData.requestTitle || "",
2525
+ onChange: handleInputChange,
2526
+ onBlur: handleBlur,
2527
+ className: `${inputBaseClasses} ${formErrors.requestTitle ? "border-red-500" : ""}`,
2528
+ placeholder: t("contact.form.placeholders.subject"),
2529
+ required: true
2530
+ }
2531
+ ),
2532
+ formErrors.requestTitle && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2533
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2534
+ formErrors.requestTitle
2535
+ ] })
2536
+ ] }),
2537
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
2538
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { className: labelClasses, children: [
2539
+ t("form.fields.requestDescription") || "Mô tả yêu cầu",
2540
+ " *"
2541
+ ] }),
2542
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2543
+ "textarea",
2544
+ {
2545
+ name: "requestDescription",
2546
+ value: formData.requestDescription || "",
2547
+ onChange: handleInputChange,
2548
+ onBlur: handleBlur,
2549
+ rows: "5",
2550
+ className: `${inputBaseClasses} resize-none ${formErrors.requestDescription ? "border-red-500" : ""}`,
2551
+ placeholder: t("contact.form.placeholders.message"),
2552
+ required: true
2553
+ }
2554
+ ),
2555
+ formErrors.requestDescription && /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "mt-1 text-sm text-red-500 flex items-center", children: [
2556
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { size: 14, className: "mr-1" }),
2557
+ formErrors.requestDescription
2665
2558
  ] })
2559
+ ] }),
2560
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center space-x-4", children: [
2561
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
2562
+ "button",
2563
+ {
2564
+ type: "submit",
2565
+ disabled: isSubmitting,
2566
+ className: "flex-1 bg-gradient-to-r from-indigo-600 to-purple-600 text-white py-4 px-6 rounded-xl hover:from-indigo-700 hover:to-purple-700 transition-all transform hover:scale-105 disabled:opacity-50 disabled:cursor-not-allowed disabled:transform-none flex items-center justify-center font-semibold shadow-lg",
2567
+ children: isSubmitting ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2568
+ /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "animate-spin h-5 w-5 mr-2" }),
2569
+ t("form.submitting") || "Đang gửi..."
2570
+ ] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
2571
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { size: 20, className: "mr-2" }),
2572
+ t("form.submit") || "Gửi yêu cầu"
2573
+ ] })
2574
+ }
2575
+ ),
2576
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(
2577
+ "button",
2578
+ {
2579
+ type: "button",
2580
+ className: `px-6 py-4 rounded-xl border-2 font-semibold transition-all hover:scale-105 ${isDarkMode ? "border-gray-600 text-gray-300 hover:bg-gray-700" : "border-slate-300 text-slate-700 hover:bg-slate-50"}`,
2581
+ children: [
2582
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Phone, { size: 20, className: "inline mr-2" }),
2583
+ t("form.callNow") || "Gọi ngay"
2584
+ ]
2585
+ }
2586
+ )
2587
+ ] }),
2588
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `flex items-center space-x-2 text-sm transition-colors duration-200 ${isDarkMode ? "text-gray-400" : "text-slate-600"}`, children: [
2589
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheckBig, { size: 16, className: "text-emerald-500" }),
2590
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: t("form.privacy") || "Cam kết bảo mật thông tin và phản hồi trong 24 giờ" })
2666
2591
  ] })
2667
2592
  ] })
2668
- ] }) }) });
2593
+ ] }) }) }) }) });
2669
2594
  };
2670
2595
  const ContactInfoSection = ({ data, t, isDarkMode, section }) => {
2671
2596
  var _a, _b;