diff --git a/server/static/ui_inventory.js b/server/static/ui_inventory.js new file mode 100644 index 0000000..293a50b --- /dev/null +++ b/server/static/ui_inventory.js @@ -0,0 +1,37 @@ +export function setupInventory(root) { + root.innerHTML = ` + + `; + const panel = root.firstElementChild; + const grid = panel.querySelector('#inv-grid'); + + function render() { + const items = window.GameState?.inventory || []; + grid.innerHTML = ''; + for (const it of items) { + const d = document.createElement('div'); + d.className = 'slot'; + d.textContent = `${it.item_key} x${it.qty}`; + grid.appendChild(d); + } + } + + panel.querySelector('#inv-close').onclick = () => toggle(false); + + function toggle(force) { + if (typeof force === 'boolean') { + panel.classList.toggle('hidden', !force); + } else { + panel.classList.toggle('hidden'); + } + if (!panel.classList.contains('hidden')) render(); + } + + window.InventoryUI = { toggle, render }; +}