- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks - Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists - Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services - Add Microsoft OIDC SSO, API token management, and user lifecycle features - Add swagger-ui vendor integration and OpenAPI spec - Add production Docker setup and bin/ scripts - Update composer dependencies, config, templates, and frontend assets throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
55 lines
1.4 KiB
PHTML
55 lines
1.4 KiB
PHTML
<?php
|
|
|
|
use MintyPHP\Service\Ui\HotkeyService;
|
|
|
|
$hotkeyRows = HotkeyService::list();
|
|
?>
|
|
|
|
<div class="app-details-container">
|
|
<section>
|
|
|
|
<?php
|
|
$breadcrumbs = [
|
|
['label' => t('Home'), 'path' => 'admin'],
|
|
['label' => t('Keyboard shortcuts')],
|
|
];
|
|
require templatePath('partials/app-breadcrumb.phtml');
|
|
?>
|
|
|
|
<div class="app-list-titlebar">
|
|
<h1><?php e(t('Keyboard shortcuts')); ?></h1>
|
|
</div>
|
|
|
|
<div class="app-details">
|
|
<div class="app-details-body">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th><?php e(t('Action')); ?></th>
|
|
<th><?php e(t('Mac')); ?></th>
|
|
<th><?php e(t('Windows')); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($hotkeyRows as $row): ?>
|
|
<?php
|
|
$actionKey = trim((string) ($row['action_key'] ?? ''));
|
|
$mac = trim((string) ($row['mac'] ?? ''));
|
|
$win = trim((string) ($row['win'] ?? ''));
|
|
if ($actionKey === '' || $mac === '' || $win === '') {
|
|
continue;
|
|
}
|
|
?>
|
|
<tr>
|
|
<td><?php e(t($actionKey)); ?></td>
|
|
<td><kbd><?php e($mac); ?></kbd></td>
|
|
<td><kbd><?php e($win); ?></kbd></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|