<?php
use MintyPHP\Router;
use MintyPHP\Http\Request;

$canCreateRoles = (bool) ($canCreateRoles ?? false);
$toolbarFilterSchema = is_array($toolbarFilterSchema ?? null) ? $toolbarFilterSchema : [];
$searchToolbarFilterSchema = is_array($searchToolbarFilterSchema ?? null) ? $searchToolbarFilterSchema : [];
$drawerToolbarFilterSchema = is_array($drawerToolbarFilterSchema ?? null) ? $drawerToolbarFilterSchema : [];
$toolbarFilterState = is_array($toolbarFilterState ?? null) ? $toolbarFilterState : [];
$filterChipMeta = is_array($filterChipMeta ?? null) ? $filterChipMeta : [];
$clientFilterSchema = is_array($clientFilterSchema ?? null) ? $clientFilterSchema : [];
$searchConfig = is_array($searchConfig ?? null) ? $searchConfig : null;
?>
<?php
$breadcrumbs = [
  ['label' => t('Home'), 'path' => 'admin'],
  ['label' => t('Roles')],
];
require templatePath('partials/app-breadcrumb.phtml');
?>
<?php
$listTitle = t('Roles');
ob_start();
?>
<?php if ($canCreateRoles): ?>
  <a role="button" class="app-action-success" href="<?php e(requestPathWithReturnTarget('admin/roles/create', Request::pathWithQuery())); ?>">
    <i class="bi bi-plus"></i> <?php e(t('Create role')); ?>
  </a>
<?php endif; ?>
<?php
$listTitleActionsHtml = ob_get_clean();
require templatePath('partials/app-list-titlebar.phtml');
?>
<?php
$filterUiNamespace = 'roles';
require templatePath('partials/app-list-filters.phtml');
?>
<div class="app-list-table">
  <div id="roles-grid"></div>
</div>

<?php
$gridLang = json_decode(appBufferValue('grid_lang'), true);
if (!is_array($gridLang)) {
  $gridLang = [];
}
$pageConfig = [
  'gridSearch' => $searchConfig,
  'filterSchema' => $clientFilterSchema,
  'filterChipMeta' => $filterChipMeta,
  'gridLang' => $gridLang,
  'labels' => [
    'description' => t('Description'),
    'status' => t('Status'),
    'code' => t('Code'),
    'activeUsers' => t('Active users'),
    'inactiveUsers' => t('Inactive users'),
    'permissions' => t('Permissions'),
    'created' => t('Created'),
    'modified' => t('Modified'),
    'active' => t('Active'),
    'inactive' => t('Inactive'),
  ],
];
?>
<script src="<?php e(assetVersion('vendor/gridjs/gridjs.umd.js')); ?>"></script>
<script type="application/json" id="page-config-admin-roles-index"><?php gridJsonForJs($pageConfig); ?></script>
<script type="module" src="<?php e(assetVersion('js/pages/admin-roles-index.js')); ?>"></script>
