{{-- resources/views/menu-settings.blade.php --}} @extends('layouts.appd') @section('title', '首頁個人化') @push('styles') @endpush @section('content') @php $pairs = [ ['bg'=>'rgba(37,99,235,.14)', 'fg'=>'#1d4ed8'], ['bg'=>'rgba(21,128,61,.14)', 'fg'=>'#15803d'], ['bg'=>'rgba(180,83,9,.14)', 'fg'=>'#b45309'], ['bg'=>'rgba(124,58,237,.14)', 'fg'=>'#6d28d9'], ['bg'=>'rgba(220,38,38,.14)', 'fg'=>'#b91c1c'], ['bg'=>'rgba(13,148,136,.14)', 'fg'=>'#0f766e'], ['bg'=>'rgba(234,88,12,.14)', 'fg'=>'#c2410c'], ['bg'=>'rgba(168,85,247,.14)', 'fg'=>'#7c3aed'], ['bg'=>'rgba(20,184,166,.14)', 'fg'=>'#0d9488'], ['bg'=>'rgba(5,150,105,.14)', 'fg'=>'#047857'], ]; $defColors = ['#6366f1','#10b981','#f59e0b','#ef4444','#3b82f6','#8b5cf6','#ec4899']; $folderNames = []; foreach($folders as $f) $folderNames[$f->id] = $f->name; $mainCards = array_values(array_filter($cards, fn($c)=>$c['show_in_menu']&&empty($c['folder_id']))); usort($mainCards, fn($a,$b)=>($a['order']??0)<=>($b['order']??0)); @endphp
{{-- ══ LEFT canvas ══ --}}
首頁配置
返回首頁
直接顯示在首頁
@foreach($mainCards as $c) @php $p=$pairs[($c['id']??0)%count($pairs)]; $em=trim((string)($c['icon_emoji']??'')); $bi=trim((string)($c['icon']??'')); if(!$em&&!$bi)$bi='bi bi-grid'; @endphp
@if($em){{ $em }}@else@endif
{{ $c['name'] }}
@endforeach
@foreach($folders as $fi => $folder) @php $fc=$userFolderColors[$folder->id]??($folder->color??$defColors[$fi%count($defColors)]); $fh=ltrim($fc,'#'); if(strlen($fh)!==6)$fh='6366f1'; [$fr,$fg2,$fb]=[hexdec(substr($fh,0,2)),hexdec(substr($fh,2,2)),hexdec(substr($fh,4,2))]; $flt=sprintf('#%02x%02x%02x',min(255,$fr+28),min(255,$fg2+28),min(255,$fb+28)); $fCards=array_values(array_filter($cards,fn($c)=>$c['show_in_menu']&&$c['folder_id']==$folder->id)); usort($fCards,fn($a,$b)=>($a['order']??0)<=>($b['order']??0)); @endphp
@foreach($fCards as $c) @php $p=$pairs[($c['id']??0)%count($pairs)]; $em=trim((string)($c['icon_emoji']??'')); $bi=trim((string)($c['icon']??'')); if(!$em&&!$bi)$bi='bi bi-grid'; @endphp
@if($em){{ $em }}@else@endif
{{ $c['name'] }}
@endforeach
@endforeach
{{-- ══ RIGHT list ══ --}}
可用功能 — 拖曳到左側
@foreach($cards as $c) @php $cid=$c['id']; $p=$pairs[$cid%count($pairs)]; $em=trim((string)($c['icon_emoji']??'')); $bi=trim((string)($c['icon']??'')); if(!$em&&!$bi)$bi='bi bi-grid'; $placed=$c['show_in_menu']; $fid=$c['folder_id']; $badge=$placed?(($fid&&isset($folderNames[$fid]))?$folderNames[$fid]:'首頁'):''; @endphp
@if($em){{ $em }}@else@endif
{{ $c['name'] }} @if($badge){{ $badge }}@endif
@endforeach
@endsection @push('scripts') @endpush