Add quit confirmation to main menu

Implement a quit confirmation dialog that appears when the QUIT button is selected on the main menu. The dialog displays 'EXIT GAME?' with YES/NO options. YES sends a coAction quit request to the plugin, which hides the overlay, disconnects any active server session, and sets RE::Main::quitGame to exit the game. NO returns to the main menu. Includes full keyboard (arrow keys, Enter, Escape), gamepad (dpad, A/B buttons), and mouse support. Default selection is NO.
This commit is contained in:
2026-07-07 22:33:33 +12:00
parent 549c117818
commit 2a3e614a47
7 changed files with 379 additions and 7 deletions
@@ -61,6 +61,23 @@
<!-- Server browser view (content mounted by ../browser/browser.js) -->
<section class="browser-view" id="browserPanel" aria-label="Server browser" hidden></section>
<!-- Quit confirmation -->
<section class="quit-confirm" id="quitConfirmPanel" aria-label="Quit confirmation" hidden>
<div class="quit-confirm__dialog" role="dialog" aria-modal="true" aria-labelledby="quitConfirmTitle">
<h2 class="quit-confirm__title" id="quitConfirmTitle">EXIT GAME?</h2>
<nav class="quit-confirm__options" id="quitConfirmOptions" aria-label="Quit confirmation options">
<button type="button" class="menu-item quit-confirm__option" data-index="0" data-choice="yes">
<span class="menu-item__label">YES</span>
<span class="menu-item__bar" aria-hidden="true"></span>
</button>
<button type="button" class="menu-item quit-confirm__option" data-index="1" data-choice="no">
<span class="menu-item__label">NO</span>
<span class="menu-item__bar" aria-hidden="true"></span>
</button>
</nav>
</div>
</section>
<!-- Bottom controller prompts (main menu) -->
<footer class="prompt-bar" id="mainPromptBar" aria-label="Controller prompts">
<div class="prompt">