Files
VDM/web/js/dom-elements.js
2025-09-05 02:02:26 -04:00

59 lines
2.8 KiB
JavaScript

// web/js/dom-elements.js
/**
* A centralized cache of all DOM elements used by the UI.
* This object is queried once and then exported for use by other modules.
*/
export const dom = {
// Auth Forms & Views
loginView: document.getElementById('login-view'),
registerView: document.getElementById('register-view'),
loginForm: document.getElementById('login-form'),
registerForm: document.getElementById('register-form'),
loginNameInput: document.getElementById('login-name'),
loginPasswordInput: document.getElementById('login-password'),
registerNameInput: document.getElementById('register-name'),
registerPasswordInput: document.getElementById('register-password'),
registerConfirmPasswordInput: document.getElementById('register-confirm-password'),
loginError: document.getElementById('login-error'),
registerError: document.getElementById('register-error'),
switchToRegisterBtn: document.getElementById('switch-to-register'),
switchToLoginBtn: document.getElementById('switch-to-login'),
// Avatar Selection
avatarSelectionGrid: document.getElementById('avatar-selection-grid'),
registerAvatarPreview: document.getElementById('register-avatar-preview'),
// Main App View
mainAppView: document.getElementById('main-app-view'),
sidebar: document.querySelector('.sidebar'),
chatArea: document.querySelector('.chat-area'),
// Player Info & Connection
playerIdentity: document.getElementById('player-identity'),
playerCardAvatar: document.getElementById('player-card-avatar'),
playerCardName: document.getElementById('player-card-name'),
logoutButton: document.getElementById('logout-button'),
connectionForm: document.getElementById('connection-form'),
roomIdInput: document.getElementById('room-id-input'),
joinButton: document.getElementById('join-button'),
// In-Room Info
roomInfo: document.getElementById('room-info'),
roomName: document.getElementById('room-name'),
playerList: document.getElementById('player-list'),
hostControlsContainer: document.getElementById('host-controls-container'),
startGameButton: document.getElementById('start-game-button'),
resumeGameButton: document.getElementById('resume-game-button'),
leaveButton: document.getElementById('leave-button'),
// Chat & Input
chatLog: document.getElementById('chat-log'),
messageInput: document.getElementById('message-input'),
sendButton: document.getElementById('send-button'),
resolveButton: document.getElementById('resolve-button'),
gmThinkingIndicator: document.getElementById('gm-thinking-indicator'),
commandPreview: document.getElementById('command-preview'),
micButton: document.getElementById('mic-button'),
themeToggle: document.getElementById('theme-toggle'),
};