Integrates a PrismaUI full-screen main-menu overlay with input capture and a bridge to the server browser. Adds F4TMainMenuBridge and F4TMainMenuVanillaSettings stubs, exposes Show/Hide/IsMainMenuVisible/IsCustomMenuInputCaptured in F4TPrismaUI, and routes gamepad input via SetMainMenuActive in F4TMenuInput. MainMenuInject implements robust readiness checks with Bink/frame gating and disables legacy multiplayer-row injection (constexpr false). Fixes cursor clipping by clearing RE::MenuCursor constraints each frame and removes unsupported viewport meta from HTML. Adds window.CO_App/handleControllerInput stubs and updates docs/changelog.
109 lines
4.4 KiB
HTML
109 lines
4.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Commonwealth Online</title>
|
|
<link rel="stylesheet" href="./styles.css">
|
|
</head>
|
|
<body>
|
|
<div class="co-root" id="coRoot">
|
|
<div class="co-panel" id="coPanel">
|
|
<svg class="co-panel-border co-panel-border-top" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1075.97 11" preserveAspectRatio="none" aria-hidden="true">
|
|
<polyline class="co-panel-border-line" points="0 10.97 0 0 1075.97 0 1075.97 10.5"/>
|
|
</svg>
|
|
<svg class="co-panel-border co-panel-border-bottom" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1075.97 11" preserveAspectRatio="none" aria-hidden="true">
|
|
<polyline class="co-panel-border-line" points="0 0.47 0 8.91 1075.97 8.97 1075.97 0.47"/>
|
|
</svg>
|
|
|
|
<div class="co-subpanel">
|
|
<nav class="co-nav-list"></nav>
|
|
|
|
<div class="co-subpanel-content">
|
|
<div class="co-tab-content">
|
|
<div class="co-tab-pane" data-pane="direct-connect">
|
|
<header class="co-subpanel-header">
|
|
<h2 class="co-subpanel-title">Direct Connect</h2>
|
|
</header>
|
|
<div class="co-direct-connect"></div>
|
|
</div>
|
|
|
|
<div class="co-tab-pane active" data-pane="server-browser">
|
|
<header class="co-subpanel-header">
|
|
<h2 class="co-subpanel-title" id="coSubpanelTitle">Servers</h2>
|
|
<div class="co-subpanel-meta">
|
|
<span id="coConnectionStatus">Online</span>
|
|
<span class="co-count" id="coServerCount"></span>
|
|
</div>
|
|
</header>
|
|
<div class="co-filters"></div>
|
|
<div class="co-server-list-wrap">
|
|
<div class="co-server-list"></div>
|
|
<div class="co-scroll-indicator" aria-hidden="true">»»</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="co-tab-pane" data-pane="local">
|
|
<header class="co-subpanel-header">
|
|
<h2 class="co-subpanel-title" id="coLocalTitle">Local Servers</h2>
|
|
<div class="co-subpanel-meta">
|
|
<span class="co-count" id="coLocalCount"></span>
|
|
</div>
|
|
</header>
|
|
<div class="co-server-list-wrap">
|
|
<div class="co-server-list co-local-list"></div>
|
|
<div class="co-scroll-indicator" aria-hidden="true">»»</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="co-tab-pane" data-pane="favorites">
|
|
<header class="co-subpanel-header">
|
|
<h2 class="co-subpanel-title">Favorites</h2>
|
|
</header>
|
|
<div class="co-preview-area"></div>
|
|
<div class="co-server-list-wrap">
|
|
<div class="co-server-list co-favorites-list"></div>
|
|
<div class="co-scroll-indicator" aria-hidden="true">»»</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="co-tab-pane" data-pane="recent">
|
|
<header class="co-subpanel-header">
|
|
<h2 class="co-subpanel-title">Recent</h2>
|
|
</header>
|
|
<div class="co-preview-area"></div>
|
|
<div class="co-server-list-wrap">
|
|
<div class="co-server-list co-recent-list"></div>
|
|
<div class="co-scroll-indicator" aria-hidden="true">»»</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="co-action-bar">
|
|
<div class="co-prompts"></div>
|
|
</footer>
|
|
|
|
<div class="co-join-overlay hidden" id="coJoinOverlay">
|
|
<div class="co-spinner"></div>
|
|
<p id="coJoinMessage">Connecting...</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="./components/layout.js"></script>
|
|
<script src="./components/theme.js"></script>
|
|
<script src="./components/mock-data.js"></script>
|
|
<script src="./components/tabs.js"></script>
|
|
<script src="./components/filters.js"></script>
|
|
<script src="./components/server-list.js"></script>
|
|
<script src="./components/server-details.js"></script>
|
|
<script src="./components/controller-glyphs.js"></script>
|
|
<script src="./components/controller-icons.js"></script>
|
|
<script src="./components/controller-prompts.js"></script>
|
|
<script src="./components/direct-connect.js"></script>
|
|
<script src="./components/hover.js"></script>
|
|
<script src="./app.js"></script>
|
|
</body>
|
|
</html>
|