class LoginScreen extends HTMLElement { constructor() { super(); this.app = null; } connectedCallback() { this.innerHTML = `

City Builder

Enter your nickname to start


`; const input = this.querySelector('#nicknameInput'); const button = this.querySelector('#startButton'); // Enter key to submit input.addEventListener('keypress', (e) => { if (e.key === 'Enter') { this.startGame(); } }); button.addEventListener('click', () => this.startGame()); // Focus input setTimeout(() => input.focus(), 100); } startGame() { const input = this.querySelector('#nicknameInput'); const nickname = input.value.trim(); if (!nickname) { alert('Please enter a nickname'); return; } if (nickname.length < 2) { alert('Nickname must be at least 2 characters'); return; } if (this.app) { this.app.startGame(nickname); } } } customElements.define('login-screen', LoginScreen);