benjaminpalko/src/lib/components/Hero.svelte
Benjamin Palko a61d95cba3
Some checks failed
PR Gate / Checks (pull_request) Failing after 34s
fix eslint errors
2026-08-11 16:49:31 -04:00

44 lines
1.3 KiB
Svelte

<script lang="ts">
import { resolve } from '$app/paths';
interface Props {
photo: string;
titles: string[];
name: string;
description: string;
}
let { photo, titles, name, description }: Props = $props();
let [first, rest] = $derived([name.split(' ')[0], name.split(' ').slice(1).join(' ')]);
</script>
<div class="hero">
<div class="hero-content">
<div class="flex flex-col items-center gap-12 lg:flex-row lg:items-start">
<div class="flex-0">
<div class="avatar">
<div
class="ring-offset-base-100 ring-base-100 dark:ring-primary w-48 rounded-full shadow-2xl ring-8 ring-offset-2 md:w-56 dark:shadow-none"
>
<img src={photo} alt="Its me!" />
</div>
</div>
</div>
<div class="flex flex-1 flex-col text-center lg:text-left">
<p class="text-gray-500">{titles.join(', ')}</p>
<h1 class="text-primary text-5xl font-light">
<span class="text-base-content font-semibold">{first}</span>
{rest}
</h1>
<p class="block py-6">
{description}
</p>
<div class="flex flex-col gap-2 sm:flex-row lg:gap-4">
<a href={resolve('/resume')} class="btn btn-outline btn-primary btn-wide">Resume</a>
<a href={resolve('/contact')} class="btn btn-primary btn-wide">Contact</a>
</div>
</div>
</div>
</div>
</div>