33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
let pendingUsername = null;
|
|
|
|
function getUsername() {
|
|
const username = document.getElementById('username-input').value.trim();
|
|
if (!username) {
|
|
alert("Please enter your name.");
|
|
throw new Error("Username required");
|
|
}
|
|
pendingUsername = username;
|
|
return username;
|
|
}
|
|
|
|
document.getElementById('create-button').addEventListener('click', async () => {
|
|
try {
|
|
const username = getUsername();
|
|
const res = await fetch('/api/room', {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify({})
|
|
});
|
|
const data = await res.json();
|
|
if (data.code) {
|
|
const allUsernames = JSON.parse(localStorage.getItem('usernames') || '{}');
|
|
allUsernames[data.code] = pendingUsername;
|
|
localStorage.setItem('usernames', JSON.stringify(allUsernames));
|
|
|
|
window.location.href = `/room/${data.code}`;
|
|
} else {
|
|
alert("Failed to create room.");
|
|
}
|
|
} catch (_) {
|
|
}
|
|
}); |