@php $cid = data_get($card, 'id'); $emoji = trim((string) data_get($card, 'icon_emoji', '')); $biClass = trim((string) data_get($card, 'icon', '')); $name = data_get($card, 'name') ?? data_get($card, 'title') ?? '未命名'; $show = (bool) data_get($card, 'show_in_menu', true); $inHidden = $inHidden ?? false; // Paired bg + fg colors — saturated enough to read clearly $pairs = [ ['bg'=>'rgba(37,99,235,.12)', 'fg'=>'#1d4ed8'], // blue ['bg'=>'rgba(21,128,61,.12)', 'fg'=>'#15803d'], // green ['bg'=>'rgba(180,83,9,.12)', 'fg'=>'#b45309'], // amber ['bg'=>'rgba(124,58,237,.12)', 'fg'=>'#6d28d9'], // violet ['bg'=>'rgba(220,38,38,.12)', 'fg'=>'#b91c1c'], // red ['bg'=>'rgba(13,148,136,.12)', 'fg'=>'#0f766e'], // teal ['bg'=>'rgba(234,88,12,.12)', 'fg'=>'#c2410c'], // orange ['bg'=>'rgba(168,85,247,.12)', 'fg'=>'#7c3aed'], // purple ['bg'=>'rgba(20,184,166,.12)', 'fg'=>'#0d9488'], // cyan ['bg'=>'rgba(5,150,105,.12)', 'fg'=>'#047857'], // emerald ]; $idx = is_numeric($cid) ? $cid % count($pairs) : 0; $chipBg = $pairs[$idx]['bg']; $chipFg = $pairs[$idx]['fg']; // Per-card color override $cardColor = data_get($card, 'color'); if ($cardColor && preg_match('/^#?[0-9A-Fa-f]{6}$/', $cardColor)) { $hex = ltrim($cardColor, '#'); [$r,$g,$b] = [hexdec(substr($hex,0,2)), hexdec(substr($hex,2,2)), hexdec(substr($hex,4,2))]; $chipBg = sprintf('rgba(%d,%d,%d,0.15)', $r, $g, $b); $chipFg = sprintf('#%02x%02x%02x', max(0,$r-60), max(0,$g-60), max(0,$b-60)); } if ($emoji === '' && $biClass === '') $biClass = 'bi bi-grid'; @endphp
@if($emoji !== '') @else @endif
{{ $name }}