121 lines
6.3 KiB
HTML
121 lines
6.3 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="theme-color" content="#10130f" />
|
|
<meta name="description" content="Live Minecraft bot dashboard" />
|
|
<title>Mosfet · Minecraft Bot</title>
|
|
<link rel="stylesheet" href="/static/css/dashboard.css?v=16" />
|
|
<script defer src="/static/js/dashboard.js?v=14"></script>
|
|
</head>
|
|
<body>
|
|
<div class="shell">
|
|
<main>
|
|
<section class="hero panel">
|
|
<div class="hero-main">
|
|
<div class="eyebrow">LIVE SESSION <span class="eyebrow-line"></span></div>
|
|
<h1 id="bot-name">Mosfet<span class="name-period">.</span></h1>
|
|
<p id="session-subtitle" class="session-subtitle">Waiting for the bot connection</p>
|
|
</div>
|
|
<div class="hero-coordinates">
|
|
<div class="coordinate-label">CURRENT POSITION</div>
|
|
<div id="position" class="coordinate-value">—</div>
|
|
<div id="dimension" class="dimension-value">NO DIMENSION</div>
|
|
</div>
|
|
<div class="hero-grid" aria-hidden="true"></div>
|
|
<div class="hero-glow" aria-hidden="true"></div>
|
|
</section>
|
|
|
|
<section class="stats-grid" aria-label="Bot status">
|
|
<article class="stat-card panel">
|
|
<div class="stat-top"><span class="stat-label">HEALTH</span><span class="stat-icon heart">♥</span></div>
|
|
<div class="stat-value"><span id="health-value">—</span><small>/ 20</small></div>
|
|
<div class="meter"><span id="health-meter" class="meter-fill health-fill"></span></div>
|
|
</article>
|
|
<article class="stat-card panel">
|
|
<div class="stat-top"><span class="stat-label">HUNGER</span><span class="stat-icon food">◆</span></div>
|
|
<div class="stat-value"><span id="food-value">—</span><small>/ 20</small></div>
|
|
<div class="meter"><span id="food-meter" class="meter-fill food-fill"></span></div>
|
|
<div id="food-saturation" class="stat-caption">Saturation —</div>
|
|
</article>
|
|
<article class="stat-card panel">
|
|
<div class="stat-top"><span class="stat-label">MOVEMENT</span><span class="live-dot"></span></div>
|
|
<div id="movement-value" class="stat-value stat-word">IDLE</div>
|
|
<div id="movement-detail" class="stat-caption">No active path</div>
|
|
</article>
|
|
<article class="stat-card panel">
|
|
<div class="stat-top"><span class="stat-label">WORLD CACHE</span><span class="stat-icon cache-icon">▦</span></div>
|
|
<div class="stat-value"><span id="chunk-count">—</span><small> chunks</small></div>
|
|
<div id="chunk-detail" class="stat-caption">Waiting for world data</div>
|
|
</article>
|
|
</section>
|
|
|
|
<section class="content-grid">
|
|
<section class="inventory-panel panel">
|
|
<div class="section-heading">
|
|
<div>
|
|
<div class="eyebrow">PLAYER STORAGE</div>
|
|
<h2>Inventory</h2>
|
|
</div>
|
|
<div class="inventory-summary">
|
|
<span id="inventory-count">0 items</span>
|
|
<span class="heading-divider"></span>
|
|
<span id="inventory-slots">0 / 46 slots</span>
|
|
</div>
|
|
</div>
|
|
<div id="inventory-warning" class="inventory-warning" hidden>
|
|
Some item components are not decoded yet; displayed contents may be partial.
|
|
</div>
|
|
<div id="inventory-grid" class="inventory-grid" aria-label="Minecraft inventory"></div>
|
|
<div class="inventory-legend"><span class="legend-swatch"></span> Empty slot <span class="legend-selected"></span> Selected hotbar slot <span class="legend-note">Hover for details · click an item for actions</span></div>
|
|
</section>
|
|
|
|
<aside class="side-column">
|
|
<section class="side-panel panel">
|
|
<div class="section-heading compact-heading">
|
|
<div><div class="eyebrow">MULTIPLAYER</div><h2>Players</h2></div>
|
|
<span id="player-count" class="count-badge">0</span>
|
|
</div>
|
|
<div id="player-list" class="player-list"><div class="empty-state">No player data yet</div></div>
|
|
</section>
|
|
|
|
<section class="side-panel panel">
|
|
<div class="section-heading compact-heading">
|
|
<div><div class="eyebrow">AUTOMATION</div><h2>Runtime</h2></div>
|
|
</div>
|
|
<dl class="runtime-list">
|
|
<div><dt>Game mode</dt><dd id="game-mode">—</dd></div>
|
|
<div><dt>Active job</dt><dd id="job-state">IDLE</dd></div>
|
|
<div><dt>Path nodes</dt><dd id="path-length">0</dd></div>
|
|
<div><dt>Entities</dt><dd id="entity-count">0 mobs · 0 drops</dd></div>
|
|
<div><dt>AFK</dt><dd id="afk-state">NO</dd></div>
|
|
</dl>
|
|
<div id="movement-error" class="error-box" hidden></div>
|
|
</section>
|
|
</aside>
|
|
</section>
|
|
|
|
<footer class="footer">
|
|
<span class="footer-brand"><span class="footer-mark">■</span> MOSFET / 26.3</span>
|
|
<span id="connection-pill" class="connection-pill is-offline"><i></i><span>OFFLINE</span></span>
|
|
<span id="last-update">Waiting for API data</span>
|
|
</footer>
|
|
</main>
|
|
</div>
|
|
<div id="item-tooltip" class="item-tooltip" role="tooltip" hidden></div>
|
|
<div id="inventory-menu" class="inventory-menu" role="menu" aria-label="Item actions" hidden>
|
|
<div class="inventory-menu-heading">
|
|
<strong id="inventory-menu-title">Item</strong>
|
|
<span id="inventory-menu-meta"></span>
|
|
</div>
|
|
<button type="button" data-inventory-action="one" role="menuitem">Drop one</button>
|
|
<button type="button" data-inventory-action="stack" role="menuitem">Drop whole stack</button>
|
|
<button type="button" data-inventory-action="matching" role="menuitem">Drop all matching</button>
|
|
<div id="inventory-menu-status" class="inventory-menu-status" aria-live="polite" hidden></div>
|
|
<button type="button" class="menu-cancel" data-inventory-action="cancel" role="menuitem">Cancel</button>
|
|
</div>
|
|
<div id="toast" class="toast" role="status" aria-live="polite"></div>
|
|
</body>
|
|
</html>
|