feat: Display login success messages, adjust user registration defaults and post-registration redirect, and include scripts for generating dummy items and copying thumbnails.

This commit is contained in:
x
2026-01-24 16:11:56 +01:00
parent 16da3ac9d0
commit 2ad318e7c5
2 changed files with 32 additions and 7 deletions

View File

@@ -69,6 +69,31 @@ window.requestAnimFrame = (function () {
loginModal.style.display = 'none';
}
});
// Handle Flash Message (login=success)
if (window.location.search.includes('login=success')) {
loginModal.style.display = 'flex';
const form = loginModal.querySelector('.login-form');
if (form && !form.querySelector('.flash-success')) {
const msg = document.createElement('div');
msg.className = 'flash-success';
msg.style.color = '#fff';
msg.style.background = 'var(--accent)'; // f0ck accent usually
msg.style.padding = '10px';
msg.style.borderRadius = '4px';
msg.style.marginBottom = '10px';
msg.style.textAlign = 'center';
msg.style.color = 'black'; // contrast
msg.style.fontWeight = 'bold';
msg.textContent = 'Success! You might login now.';
form.insertBefore(msg, form.firstChild); // Insert at top of form
// Clean URL
const url = new URL(window.location);
url.searchParams.delete('login');
window.history.replaceState({}, '', url);
}
}
}
// Register Modal Logic

View File

@@ -47,7 +47,7 @@ export default (router, tpl) => {
const newUser = await db`
insert into "user" ("login", "password", "user", "created_at", "admin")
values (${username.toLowerCase()}, ${hash}, ${username}, ${ts}, false)
values (${username.toLowerCase()}, ${hash}, ${username}, to_timestamp(${ts}), false)
returning id
`;
const userId = newUser[0].id;
@@ -59,17 +59,17 @@ export default (router, tpl) => {
where id = ${tokenRow[0].id}
`;
// Get a valid avatar ID (default to 1 or whatever exists)
const avatarRow = await db`select id from items limit 1`;
const avatarId = avatarRow.length > 0 ? avatarRow[0].id : 1; // Fallback to 1, though checking length is safer
// Get a valid avatar ID (default to 1)
const avatarRow = await db`select id from items where id = 1`;
const avatarId = avatarRow.length > 0 ? 1 : (await db`select id from items limit 1`)[0].id;
await db`
insert into user_options (user_id, mode, theme, fullscreen, avatar)
values (${userId}, 0, 'f0ck', 0, ${avatarId})
values (${userId}, 3, 'amoled', 0, ${avatarId})
`;
// Redirect to login
return res.writeHead(302, { "Location": "/login" }).end();
// Redirect to home with login success message
return res.writeHead(302, { "Location": "/?login=success" }).end();
});
return router;