Files
website/src/pages/home/home.html
Tim Kainz eb1dd36195
All checks were successful
publish.yml / publish (push) Successful in 1m45s
add icons to technologies
2026-04-16 17:02:27 +02:00

71 lines
2.6 KiB
HTML

<div class="page-wrap">
<header class="hero section" id="top">
<h1>{{ hero.name }}</h1>
<p class="hero-role">{{ hero.role }}</p>
<p class="hero-intro">{{ hero.intro }}</p>
<p class="hero-focus">{{ hero.focus }}</p>
<div class="hero-cta">
<a class="btn btn-primary" routerLink="/about">About Me</a>
<a class="btn btn-ghost" routerLink="/contact">Contact</a>
</div>
</header>
<section class="section" id="projects">
<div class="section-title-row">
<h2>Featured Projects</h2>
<p>Recent work across web platforms, APIs, and mobile apps.</p>
</div>
<div class="card-grid projects-grid">
@for (project of projects; track project.slug) {
<a class="project-link" [routerLink]="['/projects', project.slug]">
<app-card cardClass="project-card">
<h3>{{ project.title }}</h3>
<p>{{ project.description }}</p>
<p class="meta">{{ project.stack.join(' - ') }}</p>
<p class="impact">{{ project.impact }}</p>
</app-card>
</a>
}
</div>
</section>
<section class="section" id="stack">
<div class="section-title-row">
<h2>Tech Stack</h2>
<p>Primary technologies I use to deliver production-ready software.</p>
</div>
<div class="stack-carousel-shell">
<button class="carousel-btn" type="button" aria-label="Previous technologies" (click)="scrollStack(-1)">
<span aria-hidden="true">&larr;</span>
</button>
<div class="stack-carousel" #stackCarousel role="region" aria-label="Tech stack carousel">
@for (skill of skills; track skill.name) {
<app-card cardClass="skill-card stack-slide">
<div class="skill-heading">
<span class="skill-icon" role="img" [attr.aria-label]="skill.name + ' logo'">
<img
class="skill-logo"
[src]="skill.logoUrl"
[alt]="skill.name + ' logo'"
loading="lazy"
decoding="async"
(error)="onLogoError($event)"
/>
<span class="skill-fallback" aria-hidden="true">{{ skill.fallbackLabel }}</span>
</span>
<h3>{{ skill.name }}</h3>
</div>
<p class="meta">{{ skill.category }} - {{ skill.level }}</p>
</app-card>
}
</div>
<button class="carousel-btn" type="button" aria-label="Next technologies" (click)="scrollStack(1)">
<span aria-hidden="true">&rarr;</span>
</button>
</div>
</section>
</div>