libra/resources/views/components/app-logo.blade.php

35 lines
951 B
PHP

@props([
'size' => 'default',
'variant' => 'full',
'showText' => true
])
@php
$sizes = [
'small' => 'h-8 min-w-[80px]', // Mobile minimum
'default' => 'h-12 min-w-[120px]', // Desktop default
'large' => 'h-16 min-w-[160px]', // Large displays
];
$variants = [
'full' => 'logo.svg',
'reversed' => 'logo-reversed.svg',
'mono' => 'logo-mono.svg',
];
$sizeClass = $sizes[$size] ?? $sizes['default'];
$logoFile = $variants[$variant] ?? $variants['full'];
@endphp
<div {{ $attributes->merge(['class' => 'flex items-center gap-2 p-5']) }}>
<img
src="{{ asset('images/' . $logoFile) }}"
alt="{{ __('LIBRA for Rights') }}"
class="{{ $sizeClass }} w-auto object-contain"
onerror="this.onerror=null; this.src='{{ asset('images/logo.png') }}';"
/>
@if($showText)
<span class="font-semibold text-sm truncate">{{ __('LIBRA for Rights') }}</span>
@endif
</div>