@php
$parents = $permissions->filter(fn($p) => count(explode('.', $p->name)) === 2);
@endphp
@foreach($parents as $parent)
@php
$children = $permissions->filter(function($p) use ($parent) {
if ($p->name === $parent->name) return false;
// 取得基礎前綴,例如 menu.basic-settings -> basic, menu.permission -> permission
$parentSlug = explode('.', $parent->name)[1] ?? '';
$parentBase = rtrim(str_replace('-settings', '', $parentSlug), 's');
$childSlug = explode('.', $p->name)[1] ?? '';
return str_starts_with($childSlug, $parentBase);
});
@endphp
@if($children->count() > 0)
@endif
{{ __($parent->name) }}
{{ $parent->name }}
@if($children->count() > 0)
@foreach($children as $child)
@endforeach
@endif
@endforeach
@else