INNER CODE UNIT · TypeScript
initLoginDropdown
gbtami/pychess-variants · client/main.ts:429
function initLoginDropdown() {
// Use event delegation for better reliability
document.addEventListener('click', e => {
const target = e.target as HTMLElement;
// Handle login button clicks
if (target.closest('.login-btn')) {
e.preventDefault();
e.stopPropagation();
const loginDropdown = target.closest('.login-dropdown') as HTMLElement;
if (loginDropdown) {
const isOpen = loginDropdown.classList.contains('open');
loginDropdown.classList.toggle('open');
const loginBtn = loginDropdown.querySelector('.login-btn') as HTMLButtonElement;
if (loginBtn) {
loginBtn.setAttribute('aria-expanded', (!isOpen).toString());