feat: update footer with site policies, add CTA retrieval SQL, and refactor block content management
This commit is contained in:
+1
-11
@@ -211,9 +211,8 @@ public class ComponentTemplateService {
|
||||
index++;
|
||||
}
|
||||
} else if (posts != null) {
|
||||
java.time.format.DateTimeFormatter monthFormatter = java.time.format.DateTimeFormatter.ofPattern("MMM").withZone(java.time.ZoneId.systemDefault());
|
||||
java.time.format.DateTimeFormatter monthFormatter = java.time.format.DateTimeFormatter.ofPattern("MM").withZone(java.time.ZoneId.systemDefault());
|
||||
java.time.format.DateTimeFormatter dayFormatter = java.time.format.DateTimeFormatter.ofPattern("dd").withZone(java.time.ZoneId.systemDefault());
|
||||
java.time.format.DateTimeFormatter timeFormatter = java.time.format.DateTimeFormatter.ofPattern("hh:mm a").withZone(java.time.ZoneId.systemDefault());
|
||||
for (com.sisvietnamvn.web.domain.Post post : posts) {
|
||||
String itemHtml = loopBody;
|
||||
String safeTitle = post.getTitle() != null ? org.springframework.web.util.HtmlUtils.htmlEscape(post.getTitle()) : "";
|
||||
@@ -243,18 +242,9 @@ public class ComponentTemplateService {
|
||||
if (post.getEventTime() != null) {
|
||||
itemHtml = itemHtml.replace("{{eventMonth}}", monthFormatter.format(post.getEventTime()));
|
||||
itemHtml = itemHtml.replace("{{eventDay}}", dayFormatter.format(post.getEventTime()));
|
||||
itemHtml = itemHtml.replace("{{eventTimeStr}}", timeFormatter.format(post.getEventTime()));
|
||||
} else {
|
||||
itemHtml = itemHtml.replace("{{eventMonth}}", "");
|
||||
itemHtml = itemHtml.replace("{{eventDay}}", "");
|
||||
itemHtml = itemHtml.replace("{{eventTimeStr}}", "");
|
||||
}
|
||||
|
||||
if (post.getLocation() != null && !post.getLocation().isEmpty()) {
|
||||
String locHtml = "<div class=\"event-location\">" + org.springframework.web.util.HtmlUtils.htmlEscape(post.getLocation()) + "</div>";
|
||||
itemHtml = itemHtml.replace("{{locationHtml}}", locHtml);
|
||||
} else {
|
||||
itemHtml = itemHtml.replace("{{locationHtml}}", "");
|
||||
}
|
||||
|
||||
itemHtml = itemHtml.replace("{{index}}", String.valueOf(index));
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
--color-text-light: #ffffff;
|
||||
|
||||
/* Typography */
|
||||
--font-family-base: 'Open Sans', 'Inter', sans-serif;
|
||||
--font-family-heading: 'Lora', 'Georgia', serif;
|
||||
--font-family-base: 'Open Sans', Arial, Helvetica, sans-serif;
|
||||
--font-family-heading: 'Open Sans', Arial, Helvetica, sans-serif;
|
||||
|
||||
/* Spacing & Radii */
|
||||
--spacing-md: 20px;
|
||||
@@ -39,6 +39,11 @@
|
||||
/* ==========================================================================
|
||||
2. Global / Base Overrides
|
||||
========================================================================== */
|
||||
body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
||||
font-family: var(--font-family-base) !important;
|
||||
font-feature-settings: 'liga' off, 'clig' off !important;
|
||||
}
|
||||
|
||||
[data-component-id="umass_base:tophat"] {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
@@ -528,4 +533,21 @@
|
||||
.mobile-only {
|
||||
display: none !important;
|
||||
}
|
||||
.news-events-section__footer {
|
||||
display: none;
|
||||
}
|
||||
.cc--footer .c--footer {
|
||||
padding: 36px 6.25%;
|
||||
}
|
||||
}
|
||||
|
||||
/* --- Override for 4-column Stats Block --- */
|
||||
@media (min-width: 64rem) {
|
||||
.f--field.f--stats-block {
|
||||
grid-template-columns: repeat(4, 1fr) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.lc--layout-container ol li, .lc--layout-container ul li, .sg-pattern-example ol li, .sg-pattern-example ul li {
|
||||
font-weight: var(--font-weight-extrabold);
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 812 KiB After Width: | Height: | Size: 3.4 MiB |
@@ -11,7 +11,7 @@
|
||||
.sis-footer-custom {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding: 40px 20px;
|
||||
padding: 0px 20px;
|
||||
gap: 60px;
|
||||
color: #fff;
|
||||
font-family: var(--font-family-base, 'Inter', sans-serif);
|
||||
@@ -186,6 +186,57 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sis-footer-bottom {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
background-color: var(--color-brand); /* Slightly darker background for the bottom bar */
|
||||
font-size: 0.9rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
color: #fff;
|
||||
font-family: var(--font-family-base, 'Inter', sans-serif);
|
||||
}
|
||||
.sis-footer-links {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.sis-footer-links a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.sis-footer-links a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.sis-footer-links span.separator {
|
||||
color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.sis-footer-copyright {
|
||||
opacity: 0.8;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="sis-footer-bottom">
|
||||
<div class="sis-footer-links">
|
||||
<a href="#">Chính sách bảo mật</a>
|
||||
<span class="separator">|</span>
|
||||
<a href="#">Điều khoản dịch vụ</a>
|
||||
<span class="separator">|</span>
|
||||
<a href="#">Quy định sử dụng</a>
|
||||
<span class="separator">|</span>
|
||||
<a href="#">Chính sách Cookie</a>
|
||||
</div>
|
||||
<div class="sis-footer-copyright">
|
||||
Copyright ©2025. Bệnh viện Đa Khoa Quốc Tế S.I.S Cần Thơ.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -116,14 +116,14 @@
|
||||
flex: 1;
|
||||
}
|
||||
.mega-col-info h3 {
|
||||
color: #00529b; /* Classic medical blue */
|
||||
color: var(--color-brand);
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
margin-top: 0;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.mega-col-info p {
|
||||
color: #4b5563;
|
||||
color: var(--color-black);
|
||||
font-size: 14px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
@@ -254,9 +254,9 @@
|
||||
<!-- Column 1: Info (Title and Text) -->
|
||||
<div class="mega-col-info">
|
||||
<h3 th:text="${item.label}">Về Bệnh viện</h3>
|
||||
<p th:if="${item.label == 'Về Bệnh viện' or item.label == 'VỀ BỆNH VIỆN'}">Bệnh viện Đột quỵ Quốc tế tự hào là đơn vị tiên phong trong việc cung cấp dịch vụ khám chữa bệnh chất lượng cao, mang lại sự tin cậy và an tâm cho bệnh nhân.</p>
|
||||
<p th:if="${item.label == 'Chuyên khoa' or item.label == 'CHUYÊN KHOA'}">Khám phá các chuyên khoa hàng đầu với đội ngũ bác sĩ chuyên môn cao, trang thiết bị y tế hiện đại đạt tiêu chuẩn quốc tế.</p>
|
||||
<p th:if="${item.label != 'Về Bệnh viện' and item.label != 'VỀ BỆNH VIỆN' and item.label != 'Chuyên khoa' and item.label != 'CHUYÊN KHOA'}">Khám phá thêm thông tin chi tiết về các dịch vụ, chuyên gia và hoạt động của chúng tôi để bảo vệ sức khỏe của bạn.</p>
|
||||
<p th:if="${item.label == 'Về Bệnh viện' or item.label == 'VỀ BỆNH VIỆN'}" style="text-transform: math-auto;">Bệnh viện Đột quỵ Quốc tế tự hào là đơn vị tiên phong trong việc cung cấp dịch vụ khám chữa bệnh chất lượng cao, mang lại sự tin cậy và an tâm cho bệnh nhân.</p>
|
||||
<p th:if="${item.label == 'Chuyên khoa' or item.label == 'CHUYÊN KHOA'}" style="text-transform: math-auto;">Khám phá các chuyên khoa hàng đầu với đội ngũ bác sĩ chuyên môn cao, trang thiết bị y tế hiện đại đạt tiêu chuẩn quốc tế.</p>
|
||||
<p th:if="${item.label != 'Về Bệnh viện' and item.label != 'VỀ BỆNH VIỆN' and item.label != 'Chuyên khoa' and item.label != 'CHUYÊN KHOA'}" style="text-transform: math-auto;">Khám phá thêm thông tin chi tiết về các dịch vụ, chuyên gia và hoạt động của chúng tôi để bảo vệ sức khỏe của bạn.</p>
|
||||
</div>
|
||||
|
||||
<!-- Column 2: The actual Submenu Links -->
|
||||
|
||||
Reference in New Issue
Block a user