v0.2.6-pre.009

This commit is contained in:
2026-08-21 12:35:01 +02:00
parent 7d03825ec6
commit 2b7afab663
17 changed files with 970 additions and 41 deletions

View File

@@ -252,6 +252,40 @@
<div id="balanceStatus" class="alert alert-secondary mb-0" role="status">Unlock VIEW ou OWNER pour interroger getBalance.</div>
</div>
</div>
<div class="card shadow-sm mt-3">
<div class="card-header fw-semibold">Administration metadata OWNER</div>
<div class="card-body">
<p class="text-body-secondary">Alias et notes sont protégés dans le wallet. Les contrôles restent désactivés tant quune session OWNER nest pas ouverte.</p>
<div class="row g-3">
<div class="col-lg-6">
<label class="form-label" for="ownerWalletAlias">Alias interne</label>
<div class="input-group">
<input id="ownerWalletAlias" class="form-control" type="text" autocomplete="off" data-owner-metadata-control disabled>
<button id="saveOwnerAlias" class="btn btn-outline-primary" type="button" data-owner-metadata-control disabled>Save</button>
<button id="clearOwnerAlias" class="btn btn-outline-secondary" type="button" data-owner-metadata-control disabled>Clear</button>
</div>
<div class="form-text">Limite V1 : 256 octets UTF-8. La validation autoritative reste dans ksp-wallet-lib.</div>
</div>
<div class="col-lg-6">
<label class="form-label" for="ownerNewNote">Nouvelle note</label>
<div class="input-group">
<textarea id="ownerNewNote" class="form-control" rows="2" autocomplete="off" data-owner-metadata-control disabled></textarea>
<button id="addOwnerNote" class="btn btn-outline-primary" type="button" data-owner-metadata-control disabled>Add note</button>
</div>
</div>
<div class="col-12">
<div class="d-flex justify-content-between align-items-center mb-2">
<span class="fw-semibold">Notes autorisées</span>
<small class="text-body-secondary">64 notes maximum en V1</small>
</div>
<div id="ownerNotesList" class="vstack gap-2"><span class="text-body-secondary">Ouvrir OWNER pour administrer les notes.</span></div>
</div>
<div class="col-12">
<div id="ownerMetadataStatus" class="alert alert-secondary mb-0" role="status">Session OWNER requise.</div>
</div>
</div>
</div>
</div>
</section>
<section data-view-panel="security" hidden>
<div class="row g-3">
@@ -310,8 +344,23 @@
</section>
</div>
</main>
<div class="modal fade" id="deleteWalletNoteModal" tabindex="-1" aria-labelledby="deleteWalletNoteModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h2 class="modal-title fs-5" id="deleteWalletNoteModalLabel">Supprimer la note protégée ?</h2>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">Cette mutation OWNER est définitive pour la note sélectionnée. Le contenu protégé nest pas recopié dans la confirmation.</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
<button id="confirmDeleteWalletNote" type="button" class="btn btn-danger">Delete note</button>
</div>
</div>
</div>
</div>
<footer class="app-footer bg-dark text-white-50 d-flex align-items-center px-4">
<span>KSP Wallet Desk · native transfer import pre.008</span>
<span>KSP Wallet Desk · OWNER metadata pre.009</span>
</footer>
<script type="module" src="./ts/main.ts"></script>
</body>