From e454f28b8df4a8974e88189a816fa9ea0d1b7a3e Mon Sep 17 00:00:00 2001 From: Voxel Date: Tue, 15 Apr 2025 18:32:12 -0400 Subject: [PATCH] Update script.js --- board/script.js | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/board/script.js b/board/script.js index a4329a0..4534407 100644 --- a/board/script.js +++ b/board/script.js @@ -1,26 +1,25 @@ document.addEventListener('DOMContentLoaded', function() { - // Generate or retrieve the username from localStorage + // Generate a random username in the format 'milkenjoyer[###]' function generateRandomUsername() { - const randomNum = Math.floor(Math.random() * 100000); - return `milkenjoyer${randomNum.toString().padStart(3, '0')}`; + const randomNum = Math.floor(Math.random() * 1000); // Random number between 0 and 999 + return `milkenjoyer[${randomNum.toString().padStart(3, '0')}]`; // Ensure it has 3 digits } - // Check if username is already saved, else generate a new one + // Check if username is already saved in localStorage let username = localStorage.getItem('username'); if (!username) { - username = generateRandomUsername(); - localStorage.setItem('username', username); // Save username to localStorage + username = generateRandomUsername(); // Temporary username until the first post } document.getElementById('username').innerText = username; - // Retrieve stored posts from localStorage or initialize empty array + // Retrieve stored posts from localStorage or initialize as an empty array let posts = JSON.parse(localStorage.getItem('posts')) || []; // Function to render posts function renderPosts() { postsSection.innerHTML = ''; // Clear current posts posts - .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp)) // Sort posts by descending date + .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp)) // Sort by descending date .forEach(post => { const postDiv = document.createElement('div'); postDiv.classList.add('post'); @@ -35,7 +34,7 @@ document.addEventListener('DOMContentLoaded', function() { postContent.innerText = post.content; postDiv.appendChild(postContent); - postsSection.prepend(postDiv); // Add post to the beginning + postsSection.prepend(postDiv); // Add post at the beginning }); } @@ -53,15 +52,22 @@ document.addEventListener('DOMContentLoaded', function() { const content = postContent.value.trim(); if (!content) return; + // Create a new post with a timestamp const newPost = { username: username, content: content, - timestamp: new Date().toISOString() // Store the timestamp for sorting + timestamp: new Date().toISOString() // Store timestamp for sorting }; posts.push(newPost); localStorage.setItem('posts', JSON.stringify(posts)); // Save posts to localStorage + + // After the first post, save the username permanently in localStorage + if (!localStorage.getItem('username')) { + localStorage.setItem('username', username); + } + renderPosts(); // Re-render posts - postContent.value = ''; // Clear post content + postContent.value = ''; // Clear the post content field }); });