v0.2.6-pre.005

This commit is contained in:
2026-08-21 09:33:04 +02:00
parent 2132dfd884
commit 7aa38b0daf
19 changed files with 980 additions and 126 deletions

View File

@@ -13,6 +13,9 @@
<span class="fw-semibold">Wallet Desk — <span id="headerViewTitle">Dashboard</span></span>
<small id="shellStatus" class="text-white-50 app-shell-status">Initialisation du shell…</small>
</div>
<button class="btn btn-outline-light btn-sm" type="button" data-shell-action="deselect" disabled>
<i class="fa-solid fa-xmark me-2" aria-hidden="true"></i>Deselect
</button>
<button class="btn btn-outline-light btn-sm" type="button" data-shell-action="lock" disabled>
<i class="fa-solid fa-lock me-2" aria-hidden="true"></i>Lock
</button>
@@ -39,7 +42,7 @@
<h1 id="viewTitle" class="h3 mb-1">Dashboard</h1>
<p class="text-body-secondary mb-0">Inventaire `.kspwallet` root-scoped et inspection locked actifs.</p>
</div>
<span class="badge text-bg-secondary">0.2.6-pre.004</span>
<span class="badge text-bg-secondary">0.2.6-pre.005</span>
</div>
<section data-view-panel="dashboard">
<div class="row g-3">
@@ -73,6 +76,9 @@
<dt class="col-5">État</dt><dd id="currentWalletState" class="col-7"></dd>
<dt class="col-5">Format</dt><dd id="currentWalletFormat" class="col-7"></dd>
<dt class="col-5">VIEW</dt><dd id="currentWalletView" class="col-7"></dd>
<dt class="col-5">Pubkey</dt><dd id="currentWalletPubkey" class="col-7 text-break"></dd>
<dt class="col-5">Alias</dt><dd id="currentWalletAlias" class="col-7 text-break"></dd>
<dt class="col-5">Notes</dt><dd id="currentWalletNotes" class="col-7 text-break"></dd>
</dl>
</div>
</div>
@@ -98,7 +104,60 @@
</div>
</div>
</section>
<section data-view-panel="create-import" hidden><div class="app-placeholder"><i class="fa-solid fa-circle-plus"></i><p>Create / Import sera branché après la fondation Config et inventory.</p></div></section>
<section data-view-panel="create-import" hidden>
<div class="row g-3">
<div class="col-xl-8">
<div class="card shadow-sm">
<div class="card-header fw-semibold">Créer un wallet natif KSP</div>
<div class="card-body">
<form id="createWalletForm" autocomplete="off">
<div class="row g-3">
<div class="col-md-6">
<label class="form-label" for="createWalletFilename">Filename</label>
<input id="createWalletFilename" class="form-control" type="text" value="wallet-01.kspwallet" required spellcheck="false">
<div class="form-text">Un seul filename sous le répertoire Wallet effectif, suffixe exact .kspwallet.</div>
</div>
<div class="col-md-6">
<label class="form-label" for="createWalletAlias">Alias interne optionnel</label>
<input id="createWalletAlias" class="form-control" type="text" autocomplete="off">
</div>
<div class="col-md-6">
<label class="form-label" for="createWalletOwnerPassword">OWNER password</label>
<input id="createWalletOwnerPassword" class="form-control" type="password" autocomplete="new-password" required>
</div>
<div class="col-md-6 d-flex align-items-end">
<div class="form-check mb-2">
<input id="createWalletEnableView" class="form-check-input" type="checkbox">
<label class="form-check-label" for="createWalletEnableView">Créer aussi une capability VIEW</label>
</div>
</div>
<div class="col-md-6">
<label class="form-label" for="createWalletViewPassword">VIEW password</label>
<input id="createWalletViewPassword" class="form-control" type="password" autocomplete="new-password" disabled>
</div>
<div class="col-12">
<label class="form-label" for="createWalletInitialNote">Note initiale optionnelle</label>
<textarea id="createWalletInitialNote" class="form-control" rows="3" autocomplete="off"></textarea>
</div>
<div class="col-12 d-flex align-items-center gap-3">
<button id="createWalletSubmit" class="btn btn-primary" type="submit">
<i class="fa-solid fa-circle-plus me-2" aria-hidden="true"></i>Create wallet
</button>
<span id="createWalletStatus" class="text-body-secondary" role="status">Prêt.</span>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-xl-4">
<div class="alert alert-info mb-0">
<i class="fa-solid fa-shield-halved me-2" aria-hidden="true"></i>
Les passwords sont envoyés uniquement du frontend vers Rust pour l'opération courante. Ils ne sont jamais renvoyés par Rust ni journalisés.
</div>
</div>
</div>
</section>
<section data-view-panel="details" hidden><div class="app-placeholder"><i class="fa-solid fa-id-card"></i><p>Les détails protégés seront affichés uniquement après VIEW/OWNER.</p></div></section>
<section data-view-panel="security" hidden><div class="app-placeholder"><i class="fa-solid fa-shield-halved"></i><p>Les opérations OWNER seront ajoutées après le MVP identité + balance.</p></div></section>
<section data-view-panel="diagnostics" hidden><div class="app-placeholder"><i class="fa-solid fa-stethoscope"></i><p>Les diagnostics Config/Wallet/Transport seront enrichis progressivement.</p></div></section>
@@ -107,7 +166,7 @@
</div>
</main>
<footer class="app-footer bg-dark text-white-50 d-flex align-items-center px-4">
<span>KSP Wallet Desk · locked inventory pre.004</span>
<span>KSP Wallet Desk · create + session lifecycle pre.005</span>
</footer>
<script type="module" src="./ts/main.ts"></script>
</body>