aboutsummaryrefslogtreecommitdiff
path: root/src/guest.mjs
diff options
context:
space:
mode:
authorKaran Jayachandra <karan.jayachandra@nxp.com>2025-11-14 15:58:36 +0100
committerKaran Jayachandra <karan.jayachandra@nxp.com>2025-11-14 15:58:36 +0100
commite4b599e57e076bef7caa8f5825bbca17540b571d (patch)
tree6c86ebeec49161bd459b7a79f7278e7e817bfc53 /src/guest.mjs
parent51cf65e4d3e928a37b542acfb3de439c42907a9f (diff)
Unified the data classes
Diffstat (limited to 'src/guest.mjs')
-rw-r--r--src/guest.mjs56
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();
}