40 lines
1.8 KiB
PHP
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>
|