From ba96c2a70c00d6ecbbf635a536a5ebe9c1a8d57a Mon Sep 17 00:00:00 2001 From: mileswa1q22 Date: Tue, 25 Feb 2025 16:26:49 +0000 Subject: [PATCH] hi --- .../userlogins-for-fun-miles-main/README.md | 1 + .../userlogins-for-fun-miles-main/app.js | 96 +++++++++++++++++++ .../userlogins-for-fun-miles-main/index.html | 36 +++++++ .../userlogins-for-fun-miles-main/styles.css | 71 ++++++++++++++ script2.js | 7 +- 5 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 WebGames-master/WebGames-master/userlogins-for-fun-miles-main/README.md create mode 100644 WebGames-master/WebGames-master/userlogins-for-fun-miles-main/app.js create mode 100644 WebGames-master/WebGames-master/userlogins-for-fun-miles-main/index.html create mode 100644 WebGames-master/WebGames-master/userlogins-for-fun-miles-main/styles.css diff --git a/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/README.md b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/README.md new file mode 100644 index 00000000..9ce523d1 --- /dev/null +++ b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/README.md @@ -0,0 +1 @@ +# userlogins-for-fun-miles \ No newline at end of file diff --git a/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/app.js b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/app.js new file mode 100644 index 00000000..16e24129 --- /dev/null +++ b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/app.js @@ -0,0 +1,96 @@ +// Initialize Userbase +userbase.init({ appId: '7cd8e25b-723d-4af7-8bdf-ef558bd0dfcc' }); // Replace with your Userbase app ID + +document.getElementById('signup-form').addEventListener('submit', async (e) => { + e.preventDefault(); + const email = document.getElementById('signup-email').value; + const password = document.getElementById('signup-password').value; + + try { + const user = await userbase.signUp({ username: email, password }); + // Save user info in cookies + document.cookie = `user=${user.username}; path=/;`; + alert('Signup successful!'); + } catch (error) { + console.error('Signup error:', error); + alert('Signup failed: ' + error.message); + } +}); + +document.getElementById('login-form').addEventListener('submit', async (e) => { + e.preventDefault(); + const email = document.getElementById('login-email').value; + const password = document.getElementById('login-password').value; + + try { + const user = await userbase.signIn({ username: email, password }); + // Save user info in cookies + document.cookie = `user=${user.username}; path=/;`; + alert('Login successful!'); + document.getElementById('form-container').style.display = 'none'; + document.getElementById('notes-container').style.display = 'block'; + loadNotes(); + } catch (error) { + console.error('Login error:', error); + alert('Login failed: ' + error.message); + } +}); + +// Function to load cookies +function loadCookies() { + const cookies = document.cookie.split('; '); + const userCookie = cookies.find(row => row.startsWith('user=')); + if (userCookie) { + const user = userCookie.split('=')[1]; + alert(`Welcome back, ${user}!`); + document.getElementById('form-container').style.display = 'none'; + document.getElementById('notes-container').style.display = 'block'; + loadNotes(); + } +} + +// Load notes from local storage +function loadNotes() { + const notes = JSON.parse(localStorage.getItem('userNotes')) || []; + const savedNotesDiv = document.getElementById('saved-notes'); + savedNotesDiv.innerHTML = ''; + notes.forEach((note, index) => { + const noteDiv = document.createElement('div'); + noteDiv.className = 'note'; + noteDiv.textContent = note; + + const deleteButton = document.createElement('button'); + deleteButton.textContent = 'Delete'; + deleteButton.className = 'delete-note'; + deleteButton.onclick = () => deleteNote(index); + + noteDiv.appendChild(deleteButton); + savedNotesDiv.appendChild(noteDiv); + }); +} + +// Delete note from local storage +function deleteNote(index) { + const notes = JSON.parse(localStorage.getItem('userNotes')) || []; + notes.splice(index, 1); + localStorage.setItem('userNotes', JSON.stringify(notes)); + loadNotes(); +} + +// Save note to local storage +document.getElementById('save-note').addEventListener('click', () => { + const noteInput = document.getElementById('note-input'); + const note = noteInput.value; + if (note) { + const notes = JSON.parse(localStorage.getItem('userNotes')) || []; + notes.push(note); + localStorage.setItem('userNotes', JSON.stringify(notes)); + noteInput.value = ''; + loadNotes(); + } else { + alert('Please enter a note.'); + } +}); + +// Load cookies on page load +window.onload = loadCookies; \ No newline at end of file diff --git a/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/index.html b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/index.html new file mode 100644 index 00000000..eb9afd93 --- /dev/null +++ b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/index.html @@ -0,0 +1,36 @@ + + + + + + Userbase Login/Signup + + + + +
+

Userbase Login/Signup

+
+
+

Sign Up

+ + + +
+
+

Login

+ + + +
+
+ +
+ + + diff --git a/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/styles.css b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/styles.css new file mode 100644 index 00000000..83e0ab45 --- /dev/null +++ b/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/styles.css @@ -0,0 +1,71 @@ +body { + font-family: Arial, sans-serif; + background-color: #f4f4f4; + margin: 0; + padding: 20px; +} + +.container { + max-width: 600px; + margin: auto; + background: white; + padding: 20px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); +} + +h1, h2 { + color: #333; +} + +form { + margin-bottom: 20px; +} + +input[type="email"], +input[type="password"], +textarea { + width: 100%; + padding: 10px; + margin: 10px 0; + border: 1px solid #ccc; + border-radius: 4px; +} + +button { + padding: 10px 15px; + background-color: #5cb85c; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; +} + +button:hover { + background-color: #4cae4c; +} + +#saved-notes { + margin-top: 20px; +} + +.note { + background: #e9ecef; + padding: 10px; + margin: 5px 0; + border-radius: 4px; +} + +.delete-note { + margin-left: 10px; + padding: 5px 10px; + background-color: #d9534f; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; +} + +.delete-note:hover { + background-color: #c9302c; +} \ No newline at end of file diff --git a/script2.js b/script2.js index 459d015b..0ca4be3f 100644 --- a/script2.js +++ b/script2.js @@ -78,7 +78,12 @@ const mainContentData = [ name: "Contact Us", image: "/", link: "/Contact.html", - } + }, + { + name: "login", + image: "/images.png", + link: "/WebGames-master/WebGames-master/userlogins-for-fun-miles-main/index.html", + }, ]; mainContentData.forEach(item => { let newDiv = `