nvis-fe-cms-libs 2.0.0 → 2.0.2
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.
|
@@ -390,19 +390,19 @@ const CompanyValues = ({ companyData, t, isDarkMode }) => {
|
|
|
390
390
|
};
|
|
391
391
|
const items = [
|
|
392
392
|
{
|
|
393
|
-
icon: "
|
|
393
|
+
icon: "light_bulb",
|
|
394
394
|
title: t("about.companyValues.vision") || "Tầm nhìn",
|
|
395
395
|
text: cleanHtmlContent(safeCompanyData.vision) || "Tầm nhìn của chúng tôi sẽ được cập nhật trong thời gian tới.",
|
|
396
396
|
bgClass: "bg-gradient-brand"
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
|
-
icon: "
|
|
399
|
+
icon: "rocket",
|
|
400
400
|
title: t("about.companyValues.mission") || "Sứ mệnh",
|
|
401
401
|
text: cleanHtmlContent(safeCompanyData.mission) || "Sứ mệnh của chúng tôi sẽ được cập nhật trong thời gian tới.",
|
|
402
402
|
bgClass: "bg-gradient-accent"
|
|
403
403
|
},
|
|
404
404
|
{
|
|
405
|
-
icon: "
|
|
405
|
+
icon: "diamond",
|
|
406
406
|
title: t("about.companyValues.coreValues") || "Giá trị cốt lõi",
|
|
407
407
|
text: cleanHtmlContent(safeCompanyData.coreValues) || "Giá trị cốt lõi của chúng tôi sẽ được cập nhật trong thời gian tới.",
|
|
408
408
|
bgClass: "bg-gradient-brand"
|
|
@@ -452,7 +452,7 @@ const CompanyValues = ({ companyData, t, isDarkMode }) => {
|
|
|
452
452
|
"div",
|
|
453
453
|
{
|
|
454
454
|
className: `w-10 h-10 rounded-lg flex items-center justify-center text-white text-xl flex-shrink-0 ${item.bgClass}`,
|
|
455
|
-
children: item.icon
|
|
455
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(DynamicIcon, { name: item.icon, className: "w-6 h-6" })
|
|
456
456
|
}
|
|
457
457
|
),
|
|
458
458
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
@@ -507,96 +507,76 @@ const AboutCompanySection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
|
|
|
507
507
|
};
|
|
508
508
|
const logoUrl = getLogoUrl(logo);
|
|
509
509
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
510
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
511
|
-
"
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
510
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("section", { className: "relative min-h-[80vh] flex items-center justify-center overflow-hidden pt-8 bg-gradient-brand", children: [
|
|
511
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0", children: [
|
|
512
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "absolute inset-0", children: [
|
|
513
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
514
|
+
"div",
|
|
515
|
+
{
|
|
516
|
+
className: "shape shape-1 absolute w-12 h-12 bg-white/5 rounded-full -top-6 -left-6",
|
|
517
|
+
style: { left: "10%", top: "20%" }
|
|
518
|
+
}
|
|
519
|
+
),
|
|
520
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
521
|
+
"div",
|
|
522
|
+
{
|
|
523
|
+
className: "shape shape-3 absolute w-10 h-10 bg-white/5 rounded-full -bottom-4 -right-4",
|
|
524
|
+
style: { right: "30%", bottom: "10%" }
|
|
525
|
+
}
|
|
526
|
+
),
|
|
527
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
528
|
+
"div",
|
|
529
|
+
{
|
|
530
|
+
className: "shape shape-4 absolute w-14 h-14 bg-white/5 rounded-md -bottom-6 -left-6",
|
|
531
|
+
style: { left: "20%", bottom: "30%" }
|
|
532
|
+
}
|
|
533
|
+
)
|
|
534
|
+
] }),
|
|
535
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
536
|
+
"div",
|
|
537
|
+
{
|
|
538
|
+
className: 'absolute inset-0 bg-[url("data:image/svg+xml,%3Csvg width=\\\\\\"60\\\\\\" height=\\\\\\"60\\\\\\" viewBox=\\\\\\"0 0 60 60\\\\\\" xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"%3E%3Cg fill=\\\\\\"none\\\\\\" fill-rule=\\\\\\"evenodd\\\\\\"%3E%3Cg fill=\\\\\\"%23ffffff\\\\\\" fill-opacity=\\\\\\"0.05\\\\\\"%3E%3Ccircle cx=\\\\\\"30\\\\\\" cy=\\\\\\"30\\\\\\" r=\\\\\\"2\\\\\\"/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")] opacity-20'
|
|
539
|
+
}
|
|
540
|
+
)
|
|
541
|
+
] }),
|
|
542
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative z-10 max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 text-center", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
|
|
543
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
|
|
544
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-20 h-20 mx-auto rounded-full bg-gradient-accent p-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-full h-full rounded-full flex items-center justify-center overflow-hidden bg-body", children: logoUrl ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
545
|
+
"img",
|
|
546
|
+
{
|
|
547
|
+
src: logoUrl,
|
|
548
|
+
alt: name || shortName,
|
|
549
|
+
className: "w-full h-full object-cover rounded-full",
|
|
550
|
+
onError: (e) => {
|
|
551
|
+
e.target.style.display = "none";
|
|
552
|
+
const fallbackDiv = document.createElement("div");
|
|
553
|
+
fallbackDiv.className = "text-2xl font-bold text-gradient-brand";
|
|
554
|
+
fallbackDiv.textContent = shortName;
|
|
555
|
+
e.target.parentElement.appendChild(fallbackDiv);
|
|
544
556
|
}
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-2xl font-bold text-gradient-brand", children: shortName })
|
|
568
|
-
}
|
|
569
|
-
) }),
|
|
570
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-5xl lg:text-6xl font-extrabold tracking-tight mb-4 text-gradient-brand drop-shadow-[0_2px_6px_rgba(0,0,0,0.4)]", children: name })
|
|
571
|
-
] }),
|
|
572
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
|
|
573
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
574
|
-
"div",
|
|
575
|
-
{
|
|
576
|
-
dangerouslySetInnerHTML: { __html: shortDescription },
|
|
577
|
-
className: `prose max-w-none mb-8 leading-relaxed transition-colors ${isDarkMode ? "prose-invert text-gray-200" : "text-gray-100"} text-lg sm:text-xl md:text-2xl font-light tracking-wide`
|
|
578
|
-
}
|
|
579
|
-
),
|
|
580
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
581
|
-
"div",
|
|
582
|
-
{
|
|
583
|
-
className: `inline-flex items-center px-4 py-2 rounded-full border text-sm font-medium ${isDarkMode ? "bg-gray-800/70 border-gray-600 text-gray-300" : "bg-white/20 border-white/40 text-white"}`,
|
|
584
|
-
children: [
|
|
585
|
-
"🚀 ",
|
|
586
|
-
safeT("aboutCompany.hero.establishedYear", { year: establishedYear }),
|
|
587
|
-
" - ",
|
|
588
|
-
safeT("aboutCompany.hero.experience", { years: experienceYears })
|
|
589
|
-
]
|
|
590
|
-
}
|
|
591
|
-
)
|
|
592
|
-
] })
|
|
593
|
-
] }) })
|
|
594
|
-
]
|
|
595
|
-
}
|
|
596
|
-
),
|
|
557
|
+
}
|
|
558
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-2xl font-bold text-gradient-brand", children: shortName }) }) }),
|
|
559
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h1", { className: "text-5xl lg:text-6xl font-extrabold tracking-tight mb-4 text-gradient-brand drop-shadow-[0_2px_6px_rgba(0,0,0,0.4)]", children: name })
|
|
560
|
+
] }),
|
|
561
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-4xl mx-auto", children: [
|
|
562
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
563
|
+
"div",
|
|
564
|
+
{
|
|
565
|
+
dangerouslySetInnerHTML: { __html: shortDescription },
|
|
566
|
+
className: "prose max-w-none mb-8 leading-relaxed text-inverse text-lg sm:text-xl md:text-2xl font-light tracking-wide"
|
|
567
|
+
}
|
|
568
|
+
),
|
|
569
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-flex items-center px-4 py-2 rounded-full border bg-white/20 border-white/40 text-inverse text-small font-medium", children: [
|
|
570
|
+
safeT("aboutCompany.hero.establishedYear", { year: establishedYear }),
|
|
571
|
+
" - ",
|
|
572
|
+
safeT("aboutCompany.hero.experience", { years: experienceYears })
|
|
573
|
+
] })
|
|
574
|
+
] })
|
|
575
|
+
] }) })
|
|
576
|
+
] }),
|
|
597
577
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SectionWrapper, { isDarkMode, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid lg:grid-cols-2 gap-12 items-center", children: [
|
|
598
578
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
599
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-block px-4 py-2 rounded-full text-
|
|
579
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "inline-block px-4 py-2 rounded-full text-small font-semibold mb-4 bg-surface text-brand-primary border f-border", children: [
|
|
600
580
|
"📖 ",
|
|
601
581
|
safeT("aboutCompany.story.badge")
|
|
602
582
|
] }),
|
|
@@ -609,24 +589,18 @@ const AboutCompanySection = ({ data, t, isDarkMode, imageBaseUrl = "" }) => {
|
|
|
609
589
|
"div",
|
|
610
590
|
{
|
|
611
591
|
dangerouslySetInnerHTML: { __html: description },
|
|
612
|
-
className: "prose max-w-none
|
|
592
|
+
className: "prose max-w-none text-muted"
|
|
613
593
|
}
|
|
614
594
|
)
|
|
615
595
|
] }),
|
|
616
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
617
|
-
|
|
596
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-muted", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
597
|
+
CompanyValues,
|
|
618
598
|
{
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
{
|
|
623
|
-
companyData,
|
|
624
|
-
t: safeT,
|
|
625
|
-
isDarkMode
|
|
626
|
-
}
|
|
627
|
-
)
|
|
599
|
+
companyData,
|
|
600
|
+
t: safeT,
|
|
601
|
+
isDarkMode
|
|
628
602
|
}
|
|
629
|
-
)
|
|
603
|
+
) })
|
|
630
604
|
] }) }) })
|
|
631
605
|
] });
|
|
632
606
|
};
|