Add News hub and wire homepage Latest news to a dated content index
New /<lang>/news/ hub aggregates real projects (title+image read from their pages), placeholder news announcements, and blog items, newest-first with type badges and a type filter. Homepage Latest news now shows the newest dated items as badged cards with a working See all to the hub; the News menu link points there too. Dates in news.js are placeholders to replace with real publish dates. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
ec794a32e6
commit
ea9acc4968
193 files changed
+1852
-428
No files matched your search
@@ -49,6 +49,45 @@
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
/* Latest-news cards: clickable media, type badge, placeholder tiles */
|
||||
.news-card-media {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.news-card-media img { height: 220px; margin-bottom: 0; display: block; }
|
||||
.news-card .news-ph {
|
||||
height: 220px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 40px;
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
background: rgba(255, 255, 255, 0.14);
|
||||
}
|
||||
.news-badge {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: #FFFFFF;
|
||||
padding: 4px 10px;
|
||||
border-radius: 999px;
|
||||
background: #101828;
|
||||
}
|
||||
.news-badge i { font-size: 11px; }
|
||||
.news-badge--project { background: #1F5C72; }
|
||||
.news-badge--blog { background: #E8833A; }
|
||||
.news-badge--news { background: #7C5CBF; }
|
||||
.news-card h3 a { color: #FFFFFF; text-decoration: none; }
|
||||
.news-card h3 a:hover { text-decoration: underline; }
|
||||
|
||||
/* 2. Kartice s pričevanji (.testimonial-card) */
|
||||
|
||||
.testimonial-card {
|
||||
|
||||
+2
-1
@@ -34,4 +34,5 @@
|
||||
@import 'pages/_timeline.css';
|
||||
@import 'pages/_guide.css';
|
||||
@import 'pages/_faq.css';
|
||||
@import 'pages/_blog.css';
|
||||
@import 'pages/_blog.css';
|
||||
@import 'pages/_news.css';
|
||||
@@ -0,0 +1,100 @@
|
||||
/* ==========================================================================
|
||||
News hub (/<lang>/news/) — filterable feed of projects, blog and news
|
||||
========================================================================== */
|
||||
.news-hub { font-family: 'Inter', sans-serif; }
|
||||
|
||||
.newshub-hero {
|
||||
background: linear-gradient(180deg, #F5FAFB 0%, #FFFFFF 100%);
|
||||
padding: 112px 24px 40px; /* clears the fixed 80px header */
|
||||
text-align: center;
|
||||
}
|
||||
.newshub-eyebrow {
|
||||
display: inline-block;
|
||||
color: #2D738C;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.newshub-hero h1 { max-width: 760px; margin: 0 auto 16px; font-size: 42px; line-height: 1.12; color: #101828; }
|
||||
.newshub-lead { max-width: 640px; margin: 0 auto; font-size: 18px; line-height: 28px; color: #475467; }
|
||||
|
||||
.newshub-list { max-width: 1120px; margin: 40px auto 72px; padding: 0 24px; }
|
||||
.newshub-filters {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
margin-bottom: 28px;
|
||||
padding-bottom: 24px;
|
||||
border-bottom: 1px solid #EAECF0;
|
||||
}
|
||||
.newshub-chip {
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: #475467;
|
||||
background: #F2F4F7;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 999px;
|
||||
padding: 9px 16px;
|
||||
cursor: pointer;
|
||||
transition: background 0.15s ease, color 0.15s ease;
|
||||
}
|
||||
.newshub-chip:hover { background: #E4E7EC; }
|
||||
.newshub-chip.is-active { background: #101828; color: #FFFFFF; }
|
||||
|
||||
.newshub-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
.newshub-card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #EAECF0;
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 12px rgba(16, 24, 40, 0.04);
|
||||
transition: transform 0.18s ease, box-shadow 0.18s ease;
|
||||
}
|
||||
.newshub-card[hidden] { display: none; }
|
||||
.newshub-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(16, 24, 40, 0.10); }
|
||||
.newshub-media { position: relative; display: block; }
|
||||
.newshub-media img { width: 100%; height: 190px; object-fit: cover; display: block; }
|
||||
.newshub-media .news-ph {
|
||||
height: 190px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 38px;
|
||||
color: #B7BDC7;
|
||||
background: linear-gradient(135deg, #F2F4F7 0%, #E4E7EC 100%);
|
||||
}
|
||||
.newshub-media .news-badge {
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: #FFFFFF;
|
||||
padding: 4px 10px;
|
||||
border-radius: 999px;
|
||||
background: #101828;
|
||||
}
|
||||
.newshub-media .news-badge i { font-size: 11px; }
|
||||
.newshub-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
|
||||
.newshub-date { font-size: 13px; font-weight: 600; color: #98A2B3; margin: 0; }
|
||||
.newshub-card h3 { margin: 0; font-size: 19px; line-height: 1.3; }
|
||||
.newshub-card h3 a { color: #101828; text-decoration: none; }
|
||||
.newshub-card h3 a:hover { color: #2D738C; }
|
||||
.newshub-excerpt { margin: 0; font-size: 14px; line-height: 22px; color: #667085; }
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.newshub-hero { padding: 92px 20px 32px; }
|
||||
.newshub-hero h1 { font-size: 30px; }
|
||||
}
|
||||
Reference in new issue
Block a user