Files
khadhroony-bot3/kb-app-demo-desktop/frontend/demo_execution_solana_core.html
2026-07-30 10:27:06 +02:00

103 lines
8.2 KiB
HTML

<!-- file: kb-app-demo-desktop/frontend/demo_execution_solana_core.html -->
<!-- version: 11 -->
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<link rel="icon" href="imgs/logo.png">
<link rel="stylesheet" href="sass/main.scss">
<title>Khadhroony Bot3 — Exécution Solana Core Devnet</title>
</head>
<body>
<header class="app-header">
<nav class="navbar navbar-expand-lg h-100 py-0 bg-dark text-ligh">
<div class="container-fluid px-4 my-0">
<div class="navbar-brand d-flex align-items-center">
<img alt="Logo" src="imgs/logo.png" class="app-logo">
<span class="ps-2 fs-4 fw-bold text-primary font-logo">Bot3 — <span class="badge text-bg-primary">Exécution Solana Core Devnet</span></span>
</div>
<div class="ms-auto d-flex align-items-center gap-2">
<span class="badge text-bg-success" id="executionStatusBadge">Prêt</span><button class="btn btn-sm btn-outline-warning" disabled="" id="cancelExecutionButton" type="button">Annuler</button>
</div>
</div>
</nav>
</header>
<main class="app-main">
<div class="osb-scrollable pt-1 pb-4" data-simplebar>
<div class="container-fluid px-4 py-4">
<div class="row g-4 justify-content-center">
<div class="col-12">
<div class="card shadow-sm border-0 mb-4">
<div class="card-body">
<h1 class="h3 card-title mb-2">System Program uniquement — simulation-first et replay post-exécution.</h1>
</div>
</div>
<div class="alert alert-warning">Cette fenêtre est strictement réservée aux opérations Solana Core. Les opérations SPL sont disponibles dans « Exécution SPL Devnet ».</div>
<div class="row g-4">
<div class="col-12 col-xl-5">
<div class="card shadow-sm border-0">
<div class="card-body">
<div class="d-flex flex-wrap align-items-center justify-content-between gap-2 mb-3">
<h2 class="h5 mb-0">System Program</h2><span class="badge text-bg-primary">solana.core</span>
</div>
<div class="mb-3"><label class="form-label" for="executionProfileSelect">Profil Devnet</label><select class="form-select" id="executionProfileSelect"></select>
<div class="form-text" id="executionProfileHelp"></div>
</div>
<div class="mb-3"><label class="form-label" for="executionRecipientInput">Destinataire</label>
<div class="input-group"><input autocomplete="off" class="form-control font-monospace" id="executionRecipientInput" type="text" /><button class="btn btn-outline-secondary" id="generateRecipientButton" type="button">Générer</button></div>
</div>
<div class="row g-3">
<div class="col-6"><label class="form-label" for="executionLamportsInput">Lamports</label><input class="form-control" id="executionLamportsInput" min="1" step="1" type="number" /></div>
<div class="col-6"><label class="form-label" for="executionAirdropInput">Airdrop maximal</label><input class="form-control" id="executionAirdropInput" min="0" step="1" type="number" value="0" /></div>
</div>
<hr />
<div class="form-check form-switch mb-2"><input class="form-check-input" id="executionOperatorConfirmedInput" type="checkbox" /><label class="form-check-label" for="executionOperatorConfirmedInput">Confirmation opérateur explicite</label></div>
<div class="form-check form-switch mb-2"><input class="form-check-input" id="executionForceReplayInput" type="checkbox" /><label class="form-check-label" for="executionForceReplayInput">Forcer le replay post-exécution</label></div>
<div class="form-check form-switch mb-3"><input class="form-check-input" id="executionMaterializeInput" type="checkbox" /><label class="form-check-label" for="executionMaterializeInput">Matérialiser après décodage</label></div>
<div class="d-grid gap-2 d-md-flex"><button class="btn btn-outline-primary flex-fill" id="simulateExecutionButton" type="button">Simuler uniquement</button><button class="btn btn-danger flex-fill" id="submitExecutionButton" type="button">Signer et envoyer</button></div>
</div>
</div>
<div class="card shadow-sm border-0 mt-4">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-2">
<h2 class="h5 mb-0">Journal</h2>
</div><textarea class="form-control font-monospace" id="executionLogOutput" readonly="" rows="18"></textarea>
</div>
</div>
</div>
<div class="col-12 col-xl-7">
<div class="card shadow-sm border-0">
<div class="card-body">
<h2 class="h5 mb-3">Résumé</h2><textarea class="form-control font-monospace" data-json-viewer="true" id="executionSummaryOutput" readonly="" rows="14">{"title":"Résumé","status":"idle","message":"Aucun résultat."}</textarea>
</div>
</div>
<div class="card shadow-sm border-0 mt-4">
<div class="card-body">
<h2 class="h5">Plan exact</h2><textarea class="form-control font-monospace" data-json-viewer="true" id="executionPlanOutput" readonly="" rows="12">{"title":"Plan exact","status":"idle","message":"Aucun plan."}</textarea>
<h2 class="h5 mt-3">Simulation exacte</h2><textarea class="form-control font-monospace" data-json-viewer="true" id="executionSimulationOutput" readonly="" rows="12">{"title":"Simulation exacte","status":"idle","message":"Aucune simulation."}</textarea>
<h2 class="h5 mt-3">Confirmation et replay</h2><textarea class="form-control font-monospace" data-json-viewer="true" id="executionDiagnosticsOutput" readonly="" rows="12">{"title":"Confirmation et replay","status":"idle","message":"Aucun diagnostic."}</textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="app-footer bg-dark text-light">
<div class="container h-100 d-flex align-items-center">
<div class="row flex-grow-1 align-items-center">
<div class="col-12 text-center text-small my-1 my-md-0">&copy; 2026 SASEDEV</div>
</div>
</div>
</footer>
<script defer="" src="ts/demo_execution_solana_core.ts" type="module"></script>
</body>
</html>