{{-- ShiftBridge EmptyState Component Usage: Upload File Props: - icon: string (icon name: search, inbox, file, folder, user, mail, bell, database, grid, list) - title: string (required) - description: string - action: string (action button text) - actionUrl: string (action button URL) - compact: boolean (smaller padding) --}} @props([ 'icon' => 'inbox', 'title' => null, 'description' => null, 'action' => null, 'actionUrl' => null, 'compact' => false, ]) @php // Icon SVG mapping $iconSvg = match($icon) { 'search' => '', 'inbox' => '', 'file' => '', 'folder' => '', 'user' => '', 'users' => '', 'mail' => '', 'bell' => '', 'database' => '', 'grid' => '', 'list' => '', 'calendar' => '', 'box' => '', default => '', }; // Size classes $iconSize = $compact ? 'w-10 h-10' : 'w-16 h-16'; $padding = $compact ? 'p-6' : 'p-8'; $titleSize = $compact ? 'text-base' : 'text-lg'; @endphp
{{-- Icon --}}
{!! $iconSvg !!}
{{-- Title --}}

{{ $title }}

{{-- Description --}} @if($description)

{{ $description }}

@endif {{-- Action --}} @if($action || isset($action))
@if(isset($action)) {{ $action }} @elseif($actionUrl) {{ $action }} @else {{ $action }} @endif
@endif