feat: Add invite token-based user registration and an admin interface for token management.
This commit is contained in:
@@ -71,6 +71,38 @@ window.requestAnimFrame = (function () {
|
||||
});
|
||||
}
|
||||
|
||||
// Register Modal Logic
|
||||
const registerBtn = document.getElementById('nav-register-btn');
|
||||
const registerModal = document.getElementById('register-modal');
|
||||
const registerClose = document.getElementById('register-modal-close');
|
||||
|
||||
if (registerBtn && registerModal) {
|
||||
registerBtn.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
registerModal.style.display = 'flex';
|
||||
// Close dropdown
|
||||
if (visitorMenu) visitorMenu.classList.remove('show');
|
||||
});
|
||||
|
||||
if (registerClose) {
|
||||
registerClose.addEventListener('click', () => {
|
||||
registerModal.style.display = 'none';
|
||||
});
|
||||
}
|
||||
|
||||
registerModal.addEventListener('click', (e) => {
|
||||
if (e.target === registerModal) {
|
||||
registerModal.style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape' && registerModal.style.display === 'flex') {
|
||||
registerModal.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize background preference
|
||||
if (localStorage.getItem('background') == undefined) {
|
||||
localStorage.setItem('background', 'true');
|
||||
|
||||
Reference in New Issue
Block a user