<script lang="ts">
import { m } from '$lib/paraglide/messages.js';

let { data } = $props();

const fullName = $derived.by(() => {
	const first = data.profileUser.firstName;
	const last = data.profileUser.lastName;
	return first || last ? [first, last].filter(Boolean).join(' ') : data.profileUser.email;
});

const initials = $derived.by(() => {
	const first = data.profileUser.firstName;
	const last = data.profileUser.lastName;
	if (first && last) return `${first[0]}${last[0]}`.toUpperCase();
	if (first) return first[0].toUpperCase();
	if (last) return last[0].toUpperCase();
	return null;
});
</script>

<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
	<!-- Back link -->
	<a
		href="/"
		class="group mb-4 inline-flex items-center text-xs font-bold tracking-widest text-ink-2 uppercase transition-colors hover:text-ink"
	>
		<svg
			class="mr-2 h-4 w-4 transform transition-transform group-hover:-translate-x-1"
			fill="none"
			viewBox="0 0 24 24"
			stroke="currentColor"
			stroke-width="2"
		>
			<path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7" />
		</svg>
		Zurück
	</a>

	<h1 class="mb-6 font-serif text-3xl font-bold text-ink">{m.user_profile_heading()}</h1>

	<div class="max-w-md">
		<div class="rounded-sm border border-line bg-surface p-6 shadow-sm">
			<!-- Avatar -->
			<div class="mb-5 flex justify-center">
				{#if initials}
					<div
						class="flex h-16 w-16 items-center justify-center rounded-full bg-primary text-primary-fg"
					>
						<span class="font-serif text-xl font-bold">{initials}</span>
					</div>
				{:else}
					<div
						class="flex h-16 w-16 items-center justify-center rounded-full bg-primary text-primary-fg"
					>
						<svg
							class="h-8 w-8"
							fill="none"
							viewBox="0 0 24 24"
							stroke="currentColor"
							stroke-width="1.5"
						>
							<path
								stroke-linecap="round"
								stroke-linejoin="round"
								d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
							/>
						</svg>
					</div>
				{/if}
			</div>

			<!-- Name -->
			<div class="mb-5 text-center">
				<h2 class="font-serif text-xl font-bold text-ink">{fullName}</h2>
			</div>

			<!-- Field rows -->
			<div class="flex flex-col gap-4">
				{#if data.profileUser.email}
					<div class="flex flex-col gap-0.5">
						<span class="font-sans text-xs font-bold tracking-widest text-ink-3 uppercase"
							>E-Mail</span
						>
						<span class="font-serif text-sm text-ink">{data.profileUser.email}</span>
					</div>
				{/if}

				{#if data.profileUser.contact}
					<div class="flex flex-col gap-0.5">
						<span class="font-sans text-xs font-bold tracking-widest text-ink-3 uppercase"
							>Kontakt</span
						>
						<span class="font-serif text-sm text-ink">{data.profileUser.contact}</span>
					</div>
				{/if}
			</div>
		</div>
	</div>
</div>
