@php
$categories = [];
foreach($permissions as $id => $permission) {
$parts = explode('_', $permission);
$category = count($parts) > 1 ? $parts[0] : 'other';
if (!isset($categories[$category])) {
$categories[$category] = [];
}
$categories[$category][$id] = $permission;
}
ksort($categories);
// Define icons for common permission categories
$categoryIcons = [
'user' => 'fas fa-users',
'profile' => 'fas fa-id-card',
'role' => 'fas fa-user-tag',
'permission' => 'fas fa-key',
'referral' => 'fas fa-share-alt',
'refer' => 'fas fa-hand-point-right',
'wallet' => 'fas fa-wallet',
'payment' => 'fas fa-credit-card',
'admin' => 'fas fa-user-shield',
'customer' => 'fas fa-user-tie',
'account' => 'fas fa-user-circle',
'audit' => 'fas fa-clipboard-list',
'dashboard' => 'fas fa-tachometer-alt',
'management' => 'fas fa-tasks',
'access' => 'fas fa-unlock',
'analytics' => 'fas fa-chart-line',
'report' => 'fas fa-file-alt',
'config' => 'fas fa-cog',
'setting' => 'fas fa-cogs',
'create' => 'fas fa-plus-circle',
'edit' => 'fas fa-edit',
'delete' => 'fas fa-trash',
'view' => 'fas fa-eye',
'approve' => 'fas fa-check-circle',
'reject' => 'fas fa-times-circle',
'log' => 'fas fa-history',
'export' => 'fas fa-download',
'import' => 'fas fa-upload',
'transaction' => 'fas fa-exchange-alt',
'earning' => 'fas fa-money-bill',
'discount' => 'fas fa-percent',
'code' => 'fas fa-qrcode',
'list' => 'fas fa-list',
'show' => 'fas fa-eye',
'amount' => 'fas fa-dollar-sign',
'affiliate' => 'fas fa-handshake',
'addons' => 'fas fa-puzzle-piece',
'agreement' => 'fas fa-file-signature',
'allow' => 'fas fa-check',
'additional' => 'fas fa-plus',
'2fa' => 'fas fa-shield-alt',
'all' => 'fas fa-check-double',
'other' => 'fas fa-th'
];
// Default icon if category not found
$defaultIcon = 'fas fa-shield-alt';
@endphp
@foreach($categories as $category => $categoryPermissions)
@foreach($categoryPermissions as $id => $permission)
permissions->contains($id)) ? 'checked' : '' }}>
@endforeach
@endforeach