const userService = new UserService(config); const scoreService = new ScoreService(config); const leaderboardService = new LeaderboardService(config); document.addEventListener("DOMContentLoaded", () => { const usernameForm = document.getElementById("usernameForm"); const loginForm = document.getElementById("loginForm"); const postFormScore = document.getElementById("postScoreForm"); const getScoreForm = document.getElementById("getScoreForm"); const deleteScoreForm = document.getElementById("deleteScoreForm"); const getLeaderboardForm = document.getElementById("getLeaderboardForm"); usernameForm.addEventListener("submit", handleUsernameSubmit); loginForm.addEventListener("submit", handleLoginSubmit); postFormScore.addEventListener("submit", handlePostScoreSubmit); getScoreForm.addEventListener("submit", handleGetScoreSubmit); deleteScoreForm.addEventListener("submit", handleDeleteScoreSubmit); getLeaderboardForm.addEventListener("submit", handleGetLeaderboardSubmit); }); async function handleUsernameSubmit(event) { event.preventDefault(); const username = document.getElementById("desiredUsername").value; console.log("Username form submitted:", username); const result = userService.postUser(username); console.log("API response:", result); } async function handleLoginSubmit(event) { event.preventDefault(); const username = document.getElementById("username").value; const password = document.getElementById("password").value; console.log("Login form submitted:", username, password); const result = await userService.getUser(username, password); console.log("API response:", result); } async function handleDeleteUserSubmit(event) { event.preventDefault(); const username = document.getElementById("username").value; const password = document.getElementById("password").value; console.log("Delete User form submitted:", username, password); const result = await userService.deleteUser(username, password); console.log("API response:", result); } async function handlePostScoreSubmit(event) { event.preventDefault(); const username = document.getElementById("username").value; const password = document.getElementById("password").value; const score = document.getElementById("score").value; const time = document.getElementById("time").value; const text = document.getElementById("text").value; const userWrittenText = document.getElementById("userWrittenText").value; console.log( "Post Score form submitted:", username, password, score, time, text, userWrittenText, ); const result = await scoreService.postScore( username, password, score, time, text, userWrittenText, ); console.log("API response:", result); } async function handleGetScoreSubmit(event) { event.preventDefault(); const username = document.getElementById("scoreUsername").value; console.log("Get Score form submitted:", username); const result = await scoreService.getScoreByName(username); console.log("API response:", result); } async function handleDeleteScoreSubmit(event) { event.preventDefault(); const username = document.getElementById("username").value; const password = document.getElementById("password").value; const scoreId = document.getElementById("scoreId").value; console.log("Delete Score form submitted:", username, password, scoreId); const result = await scoreService.deleteScore(username, password, scoreId); console.log("API response:", result); } async function handleGetLeaderboardSubmit(event) { event.preventDefault(); const offset = document.getElementById("offset").value; const limit = document.getElementById("limit").value; console.log("Get Leaderboard form submitted:", offset, limit); const result = await leaderboardService.getLeaderboard(offset, limit); console.log("API response:", result); }