clusev/resources/views/livewire/help/index.blade.php

36 lines
1.7 KiB
PHP

@php
// Resolve the content partial for the active locale; fall back to German if an EN partial
// is missing, so a not-yet-translated topic never breaks the page.
$locale = in_array(app()->getLocale(), ['de', 'en'], true) ? app()->getLocale() : 'de';
$partial = 'livewire.help.content.'.$locale.'.'.$topic;
if (! view()->exists($partial)) {
$partial = 'livewire.help.content.de.'.$topic;
}
@endphp
<div class="space-y-5">
<div>
<p class="font-mono text-[11px] uppercase tracking-[0.2em] text-accent-text">{{ __('help.eyebrow') }}</p>
<h2 class="mt-0.5 font-display text-xl font-semibold text-ink sm:text-2xl">{{ __('help.heading') }}</h2>
<p class="mt-1 font-mono text-xs text-ink-3">{{ __('help.subtitle') }}</p>
</div>
<div class="grid gap-5 lg:grid-cols-[15rem_1fr]">
{{-- Topic navigation (wraps above the content on small screens) --}}
<nav class="flex flex-row flex-wrap gap-1 lg:flex-col">
@foreach ($topics as $t)
<button type="button" wire:click="$set('topic', '{{ $t['key'] }}')" @class([
'min-h-11 rounded-md px-3 py-2 text-left font-mono text-[12px] transition-colors',
'bg-accent/10 text-accent-text shadow-[inset_2px_0_0_var(--color-accent)]' => $topic === $t['key'],
'text-ink-2 hover:bg-raised hover:text-ink' => $topic !== $t['key'],
])>{{ $t['label'] }}</button>
@endforeach
</nav>
{{-- Content --}}
<article class="min-w-0 space-y-4 rounded-xl border border-line bg-surface p-5 shadow-panel">
@include($partial)
</article>
</div>
</div>