@props([ 'item' => null, 'config' => [], 'badges' => [], 'colorScheme' => ['primary' => 'blue', 'secondary' => 'green', 'accent' => 'purple'], 'layout' => 'grid' ]) @php $cardConfig = collect($config); $badgeConfig = collect($badges); @endphp @if($layout === 'grid') {{-- Grid Layout Card --}}
{{-- Header --}}

{{ data_get($item, $cardConfig->get('title', 'name')) }}

@if($cardConfig->has('subtitle') && data_get($item, $cardConfig->get('subtitle')))

{{ data_get($item, $cardConfig->get('subtitle')) }}

@endif
@if($cardConfig->has('score') && data_get($item, $cardConfig->get('score')))
{{ data_get($item, $cardConfig->get('score')) }}
{{ $cardConfig->get('scoreLabel', 'Score') }}
@endif
{{-- Badges --}} @if($badgeConfig->has('fields'))
@foreach($badgeConfig->get('fields', []) as $badgeField) @if(data_get($item, $badgeField['field'])) {{ $badgeField['prefix'] ?? '' }}{{ data_get($item, $badgeField['field']) }}{{ $badgeField['suffix'] ?? '' }} @endif @endforeach
@endif {{-- Metrics --}} @if($cardConfig->has('metrics'))
@foreach(array_slice($cardConfig->get('metrics', []), 0, 4) as $metric) @if(data_get($item, $metric['field']))
{{ isset($metric['format']) ? sprintf($metric['format'], data_get($item, $metric['field'])) : data_get($item, $metric['field']) }}
{{ $metric['label'] }}
@endif @endforeach
@endif
@elseif($layout === 'list') {{-- List Layout Card --}}

{{ data_get($item, $cardConfig->get('title', 'name')) }}

@if($cardConfig->has('description') && data_get($item, $cardConfig->get('description')))

{{ Str::limit(data_get($item, $cardConfig->get('description')), 150) }}

@endif
@if($cardConfig->has('score') && data_get($item, $cardConfig->get('score')))
{{ data_get($item, $cardConfig->get('score')) }}
{{ $cardConfig->get('scoreLabel', 'Score') }}
@endif
{{-- Badges --}} @if($badgeConfig->has('fields'))
@foreach($badgeConfig->get('fields', []) as $badgeField) @if(data_get($item, $badgeField['field'])) {{ $badgeField['prefix'] ?? '' }}{{ data_get($item, $badgeField['field']) }}{{ $badgeField['suffix'] ?? '' }} @endif @endforeach
@endif {{-- Metrics --}} @if($cardConfig->has('metrics'))
@foreach($cardConfig->get('metrics', []) as $metric) @if(data_get($item, $metric['field']))
{{ isset($metric['format']) ? sprintf($metric['format'], data_get($item, $metric['field'])) : data_get($item, $metric['field']) }}
{{ $metric['label'] }}
@endif @endforeach
@endif
@elseif($layout === 'portfolio') {{-- Portfolio Layout Card --}}

{{ data_get($item, $cardConfig->get('title', 'name')) }}

@if($cardConfig->has('description') && data_get($item, $cardConfig->get('description')))

{{ data_get($item, $cardConfig->get('description')) }}

@endif {{-- Enhanced Badges for Portfolio --}} @if($badgeConfig->has('fields'))
@foreach($badgeConfig->get('fields', []) as $badgeField) @if(data_get($item, $badgeField['field'])) {{ $badgeField['prefix'] ?? '' }}{{ data_get($item, $badgeField['field']) }}{{ $badgeField['suffix'] ?? '' }} @endif @endforeach
@endif
@if($cardConfig->has('score') && data_get($item, $cardConfig->get('score')))
{{ data_get($item, $cardConfig->get('score')) }}
{{ $cardConfig->get('scoreLabel', 'Score') }}
@endif
{{-- Enhanced Metrics Grid for Portfolio --}} @if($cardConfig->has('metrics'))
@foreach($cardConfig->get('metrics', []) as $metric) @if(data_get($item, $metric['field']))
{{ isset($metric['format']) ? sprintf($metric['format'], data_get($item, $metric['field'])) : data_get($item, $metric['field']) }}
{{ $metric['label'] }}
@endif @endforeach
@endif
@else {{-- Default/Compact Layout --}}

{{ data_get($item, $cardConfig->get('title', 'name')) }}

@if($cardConfig->has('subtitle') && data_get($item, $cardConfig->get('subtitle')))

{{ data_get($item, $cardConfig->get('subtitle')) }}

@endif
@if($cardConfig->has('score') && data_get($item, $cardConfig->get('score')))
{{ data_get($item, $cardConfig->get('score')) }}
@endif
@endif