Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
8ca8f5e
Update md content in pages, add schedule grid.
nikoshell Jun 26, 2026
4eb41cd
Add Session cards to sesion pages
nikoshell Jun 26, 2026
e72201c
Merge branch 'ep2026' into ep2026-talks-tutorials
nikoshell Jun 27, 2026
c9b1f5c
Merge branch 'ep2026' into ep2026-talks-tutorials
nikoshell Jun 27, 2026
d53a23f
Update md content in pages, add schedule grid.
nikoshell Jun 26, 2026
1d68dd0
Add Session cards to sesion pages
nikoshell Jun 26, 2026
b69b790
new hero section (#1686)
nikoshell Jun 27, 2026
ad2ccce
Merge remote-tracking branch 'refs/remotes/origin/ep2026-talks-tutori…
nikoshell Jun 28, 2026
98898ef
Merge branch 'ep2026' into ep2026-talks-tutorials
nikoshell Jun 28, 2026
dbaa984
disable empty open-spaces
nikoshell Jun 28, 2026
f9bb3ea
Merge
nikoshell Jul 8, 2026
758279f
Sessions at the same time
nikoshell Jul 10, 2026
47d32ce
Merge remote-tracking branch 'origin/ep2026' into ep2026-talks-tutorials
nikoshell Jul 10, 2026
607649b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 10, 2026
a36c150
Clean up
nikoshell Jul 10, 2026
aa9a8cb
Merge remote-tracking branch 'refs/remotes/origin/ep2026-talks-tutori…
nikoshell Jul 10, 2026
c36a37a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 10, 2026
88715e3
Update schedule
nikoshell Jul 10, 2026
886e82c
Merge remote-tracking branch 'refs/remotes/origin/ep2026-talks-tutori…
nikoshell Jul 10, 2026
e03ee6f
Merge branch 'ep2026' into ep2026-talks-tutorials
nikoshell Jul 10, 2026
8026c8f
Update styles
nikoshell Jul 10, 2026
1b83344
Fix missing import
nikoshell Jul 10, 2026
716cf98
Update navigation
nikoshell Jul 10, 2026
f6d12b3
Merge branch 'ep2026' into ep2026-talks-tutorials
nikoshell Jul 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions src/components/FeatureCardGrid.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
---
interface Props {
items: {
title: string;
description?: string;
href?: string;
highlight?: boolean;
}[];
columns?: number;
}

const { items, columns = 4 } = Astro.props;
---

<div
class="feature-card-grid"
style={`--grid-columns: ${columns}`}
>
{items.map((item) =>
item.href ? (
<a
href={item.href}
class:list={["feature-card", item.highlight && "feature-card--highlight"]}
>
<strong class="feature-card-title">{item.title}</strong>
{item.description && <span class="feature-card-desc">{item.description}</span>}
</a>
) : (
<div class="feature-card">
<strong class="feature-card-title">{item.title}</strong>
{item.description && <span class="feature-card-desc">{item.description}</span>}
</div>
)
)}
</div>

<style is:global>
.feature-card-grid {
display: grid;
grid-template-columns: repeat(var(--grid-columns, 4), 1fr);
gap: 6px;
list-style: none;
padding: 0;
margin: 0 0 2.5rem;
}

.feature-card {
display: flex;
flex-direction: column;
padding: 1.6rem;
font-size: 1.2rem;
color: var(--color-text-secondary);
line-height: 1.6;
border: 1px solid var(--color-border);
border-radius: 4px;
text-decoration: none;
transition: border-color 0.2s;
}

.feature-card:hover {
border-color: var(--color-accent-themed);
text-decoration: none;
}

.feature-card-title {
display: block;
font-size: 1.3rem;
font-weight: 800;
color: var(--color-text);
margin-bottom: 0.4rem;
}

.feature-card-desc {
font-size: 1.2rem;
color: var(--color-text-secondary);
}

.feature-card--highlight {
outline: 2px solid var(--color-accent-themed);
outline-offset: -1px;
background: var(--color-surface-medium);
}

@media (max-width: 900px) {
.feature-card-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 500px) {
.feature-card-grid {
grid-template-columns: 1fr;
}
}
</style>
Loading
Loading