vernova/resources/views/components/status-badge.blade.php
2026-07-26 19:58:27 +03:30

40 lines
1.8 KiB
PHP

@props(['type' => 'project', 'status' => ''])
@php
$colors = [
'project' => [
'planning' => 'bg-blue-50 text-blue-700 border-blue-200',
'active' => 'bg-emerald-50 text-emerald-700 border-emerald-200',
'on_hold' => 'bg-amber-50 text-amber-700 border-amber-200',
'completed' => 'bg-gray-50 text-gray-700 border-gray-200',
'cancelled' => 'bg-red-50 text-red-700 border-red-200',
],
'task' => [
'pending' => 'bg-gray-50 text-gray-700 border-gray-200',
'in_progress' => 'bg-blue-50 text-blue-700 border-blue-200',
'review' => 'bg-amber-50 text-amber-700 border-amber-200',
'done' => 'bg-emerald-50 text-emerald-700 border-emerald-200',
'cancelled' => 'bg-red-50 text-red-700 border-red-200',
],
'expense' => [
'pending' => 'bg-amber-50 text-amber-700 border-amber-200',
'approved' => 'bg-emerald-50 text-emerald-700 border-emerald-200',
'rejected' => 'bg-red-50 text-red-700 border-red-200',
'paid' => 'bg-blue-50 text-blue-700 border-blue-200',
],
'petty_cash' => [
'pending' => 'bg-amber-50 text-amber-700 border-amber-200',
'approved' => 'bg-emerald-50 text-emerald-700 border-emerald-200',
'rejected' => 'bg-red-50 text-red-700 border-red-200',
'settled' => 'bg-blue-50 text-blue-700 border-blue-200',
],
];
$colorClass = $colors[$type][$status] ?? 'bg-gray-50 text-gray-700 border-gray-200';
$label = __($type . '.status_' . $status);
@endphp
<span {{ $attributes->merge(['class' => "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium border {$colorClass}"]) }}>
{{ $label }}
</span>