mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 17:45:42 +00:00
dd0889e3d6
Introduce a SessionManager for relay-based remote sessions in the Tauri MGMT client: new SessionCommand API, start/stop/session input routing, clipboard/recording/quality controls, and notification read/dismiss state. Wire AppState with new mutexes and show main window on startup. CI: add SBOM generation (anchore) and Trivy vulnerability scan steps. Misc: change console Docker DB path, large README/CHANGELOG updates (chat E2E, unattended access/WOL, i18n expansion, CDAP/SDK docs), and many web-nodejs assets/locales/routes/views/services and server-side changes.
69 lines
3.4 KiB
HTML
69 lines
3.4 KiB
HTML
<%- include('layouts/main', {
|
|
title: _('attestation.title') || 'Device Attestation',
|
|
pageStyles: ['policies'],
|
|
pageScripts: ['attestation'],
|
|
currentPage: 'attestation',
|
|
breadcrumb: [{ label: _('attestation.title') || 'Device Attestation' }],
|
|
body: `
|
|
<div class="policy-page">
|
|
<div class="policy-header">
|
|
<h1>${_('attestation.title') || 'Device Attestation'}</h1>
|
|
<p class="policy-subtitle">${_('attestation.subtitle') || 'Monitor device identity verification and hardware fingerprints'}</p>
|
|
</div>
|
|
|
|
<div class="attestation-stats" id="attestation-stats">
|
|
<div class="att-stat-card">
|
|
<span class="material-icons">verified</span>
|
|
<div>
|
|
<div class="att-stat-value" id="att-verified">0</div>
|
|
<div class="att-stat-label">${_('attestation.verified') || 'Verified'}</div>
|
|
</div>
|
|
</div>
|
|
<div class="att-stat-card warning">
|
|
<span class="material-icons">warning</span>
|
|
<div>
|
|
<div class="att-stat-value" id="att-pending">0</div>
|
|
<div class="att-stat-label">${_('attestation.pending') || 'Pending'}</div>
|
|
</div>
|
|
</div>
|
|
<div class="att-stat-card danger">
|
|
<span class="material-icons">gpp_bad</span>
|
|
<div>
|
|
<div class="att-stat-value" id="att-failed">0</div>
|
|
<div class="att-stat-label">${_('attestation.failed') || 'Failed'}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="policy-card">
|
|
<div class="policy-card-header">
|
|
<div class="policy-card-icon"><span class="material-icons">fingerprint</span></div>
|
|
<div class="policy-card-info">
|
|
<h3>${_('attestation.device_list') || 'Device Attestation Records'}</h3>
|
|
<p>${_('attestation.device_list_desc') || 'Hardware fingerprints and identity verification status'}</p>
|
|
</div>
|
|
</div>
|
|
<div class="policy-card-body">
|
|
<div class="table-responsive">
|
|
<table class="data-table" id="attestation-table">
|
|
<thead>
|
|
<tr>
|
|
<th>${_('attestation.col_device') || 'Device ID'}</th>
|
|
<th>${_('attestation.col_hostname') || 'Hostname'}</th>
|
|
<th>${_('attestation.col_fingerprint') || 'Fingerprint'}</th>
|
|
<th>${_('attestation.col_status') || 'Status'}</th>
|
|
<th>${_('attestation.col_last_check') || 'Last Check'}</th>
|
|
<th>${_('attestation.col_actions') || 'Actions'}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="attestation-body">
|
|
<tr><td colspan="6" class="text-muted text-center">${_('common.loading') || 'Loading...'}</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`
|
|
}) %>
|