diff options
Diffstat (limited to 'src/guest.mjs')
| -rw-r--r-- | src/guest.mjs | 56 |
1 files changed, 14 insertions, 42 deletions
diff --git a/src/guest.mjs b/src/guest.mjs index c82d115..57eb237 100644 --- a/src/guest.mjs +++ b/src/guest.mjs @@ -1,65 +1,37 @@ import { Manager } from "./utils.mjs"; - -export class Guest { - maxGuestCount = 12; - categoryCount = 3; - - categories = { - 0: { description: "Beginner", level: 1 }, - 1: { description: "Novice", level: 3 }, - 2: { description: "Intermediate", level: 6 }, - }; - - constructor(id, status, totalPlayed) { - this.id = id; - this.status = typeof status !== "undefined" ? status : false; - const categoryId = Math.floor(id / (12 / this.categoryCount)); - const guestIdentifier = (id % (12 / this.categoryCount)) + 1; - this.name = this.categories[categoryId].description + " " + guestIdentifier; - this.level = this.categories[categoryId].level; - this.totalPlayed = typeof totalPlayed !== "undefined" ? status : 0; - } - toggle() { - this.status = !this.status; - this.print(); - } - print() { - let status = this.status ? "active" : "inactive"; - console.log(this.name + " is currently " + status); - } - render() { - let color = this.status ? "is-success" : "is-danger"; - let type = `class="button is-medium ${color}"`; - return `<button id=${"guest_" + this.id} ${type}>${this.name}</button>`; - } -} +import { Guest } from "./data"; export class GuestManager extends Manager { constructor() { super("guest", []); console.log("Loading guest data."); - let data = JSON.parse(localStorage.getItem(this.description)); + let tempGuest = new Guest(); + let data = JSON.parse(localStorage.getItem(tempGuest.description)); if (data === null || data.length === 0) { console.log("Guest data unavailable: " + data); this.generate(); return; } + console.log(tempGuest.description); for (let i = 0; i < data.length; i++) { + console.log(data[i]); let id = Number(data[i].id); - let status = data[i].status; - let totalPlayed = data[i].totalPlayed; - this.listData.push(new Guest(id, status, totalPlayed)); + let status = Boolean(Number(data[i].status)); + let games = data[i].games; + this.data.push(new Guest(id, status, games)); } - console.log("Loaded " + this.listData.length + " players."); + console.log("Loaded " + this.data.length + " players."); this.render(); } generate() { console.log("Generating guest data."); - for (let i = 0; i < new Guest(0, false).maxGuestCount; i++) { + const tempGuest = new Guest(0, false); + const totalGuestCount = tempGuest.maxCount * tempGuest.categoryCount; + for (let i = 0; i < totalGuestCount; i++) { let p = new Guest(i, false, 0); - this.listData.push(p); + this.data.push(p); } - console.log("Generated data for " + this.listData.length + " guest"); + console.log("Generated data for " + this.data.length + " guest"); this.store(); this.render(); } |
