Files
ilycats/resources/views/components/sidebar-link.blade.php
T

44 lines
2.4 KiB
PHP
Raw Normal View History

2026-09-23 12:45:02 +07:00
@props([
'active' => false,
'icon' => null,
'tone' => 'indigo',
])
2026-02-08 15:16:35 +07:00
@php
2026-09-23 12:45:02 +07:00
$classes = ($active ?? false)
? 'group flex items-center rounded-xl bg-slate-100 px-2.5 py-2 text-sm font-bold text-slate-900 transition-all'
: 'group flex items-center rounded-xl px-2.5 py-2 text-sm font-medium text-slate-600 transition-all hover:bg-slate-50 hover:text-slate-900';
2026-02-08 15:16:35 +07:00
2026-09-23 12:45:02 +07:00
$tones = [
'indigo' => ['idle' => 'bg-indigo-50 text-indigo-600', 'active' => 'bg-indigo-600 text-white', 'paw' => 'text-indigo-500'],
'blue' => ['idle' => 'bg-blue-50 text-blue-600', 'active' => 'bg-blue-600 text-white', 'paw' => 'text-blue-500'],
'sky' => ['idle' => 'bg-sky-50 text-sky-600', 'active' => 'bg-sky-600 text-white', 'paw' => 'text-sky-500'],
'rose' => ['idle' => 'bg-rose-50 text-rose-600', 'active' => 'bg-rose-600 text-white', 'paw' => 'text-rose-500'],
'emerald' => ['idle' => 'bg-emerald-50 text-emerald-600', 'active' => 'bg-emerald-600 text-white', 'paw' => 'text-emerald-500'],
'amber' => ['idle' => 'bg-amber-50 text-amber-600', 'active' => 'bg-amber-500 text-white', 'paw' => 'text-amber-500'],
'violet' => ['idle' => 'bg-violet-50 text-violet-600', 'active' => 'bg-violet-600 text-white', 'paw' => 'text-violet-500'],
'cyan' => ['idle' => 'bg-cyan-50 text-cyan-600', 'active' => 'bg-cyan-600 text-white', 'paw' => 'text-cyan-500'],
'slate' => ['idle' => 'bg-slate-100 text-slate-600', 'active' => 'bg-slate-700 text-white', 'paw' => 'text-slate-500'],
];
$toneSet = $tones[$tone] ?? $tones['indigo'];
$iconClasses = ($active ?? false) ? $toneSet['active'] : $toneSet['idle'];
2026-02-08 15:16:35 +07:00
@endphp
<a {{ $attributes->merge(['class' => $classes]) }}>
@if($icon)
2026-09-23 12:45:02 +07:00
<span class="relative mr-3 flex h-8 w-8 shrink-0 items-center justify-center rounded-xl {{ $iconClasses }} transition-transform group-hover:-rotate-3 group-hover:scale-105">
<i class="fas {{ $icon }} text-sm"></i>
<span class="absolute -bottom-1 -right-1 flex h-3.5 w-3.5 items-center justify-center rounded-full border-2 border-white bg-white shadow-sm {{ $toneSet['paw'] }}">
<i class="fas fa-paw text-[6px]"></i>
</span>
</span>
2026-02-08 15:16:35 +07:00
@endif
2026-09-23 12:45:02 +07:00
<span class="truncate">{{ $slot }}</span>
2026-02-08 15:16:35 +07:00
@if($active ?? false)
2026-09-23 12:45:02 +07:00
<span class="ml-auto h-1.5 w-1.5 rounded-full bg-slate-700"></span>
2026-02-08 15:16:35 +07:00
@endif
2026-09-23 12:45:02 +07:00
</a>