diff options
| author | Karan Jayachandra <me@karanj.com> | 2025-11-16 16:18:48 +0100 |
|---|---|---|
| committer | Karan Jayachandra <me@karanj.com> | 2025-11-16 16:18:48 +0100 |
| commit | 34ad81f7aeaa44437ea6f42ac9159d6a8612ad6c (patch) | |
| tree | fcfc212a79e3e34b0e0bdfcc4cca7fb05f65123e /src/manage.js | |
| parent | 63c405504466bdadb64dfb3017bbfa942d7330f3 (diff) | |
| parent | 2e323bf7c20cc59a8d2017517b14d615344c5863 (diff) | |
Merge branch 'develop' into 'main'
Develop
See merge request KaranJayachandra/match_up!23
Diffstat (limited to 'src/manage.js')
| -rw-r--r-- | src/manage.js | 79 |
1 files changed, 57 insertions, 22 deletions
diff --git a/src/manage.js b/src/manage.js index 7449866..10a9896 100644 --- a/src/manage.js +++ b/src/manage.js @@ -1,4 +1,11 @@ -import { Court, Guest, Player } from "./data"; +import { Court, Guest, Regular } from "./data"; +import { uniqueNamesGenerator, names, adjectives } from 'unique-names-generator'; + +const config = { + dictionaries: [adjectives, names], + style: 'capital', + length: 2 +} export class Manager { constructor(description, maxCount) { @@ -38,7 +45,7 @@ export class Manager { return i.render(); }) .join(""); - let elementId = this.data[0].description + "_list"; + let elementId = this.data[0].description + "-list"; document.getElementById(elementId).innerHTML = renderedHTML; this.addBehaviour(); } @@ -49,8 +56,8 @@ export class Manager { p.addEventListener("click", () => { this.data[idx].toggle(); this.store(); - p.classList.toggle("is-success"); - p.classList.toggle("is-danger"); + p.classList.toggle("secondary"); + p.classList.toggle("outline"); }); } } @@ -94,8 +101,14 @@ function normalize(data) { } export class GuestManager extends Manager { - constructor() { - super("Guest", 18); + constructor(description, count) { + if (typeof description === "undefined") { + description = "Guest"; + } + if (typeof count === "undefined") { + count = 18; + } + super(description, count); } createItem(i) { return new Guest(i, randomStatus()); @@ -109,6 +122,15 @@ export class GuestManager extends Manager { active() { return normalize(super.active()); } + incrementGames(list) { + for (let index = 0; index < this.data.length; index++) { + if (list.includes(this.data[index].name)) { + console.log("Added game count to " + this.data[index].name); + this.data[index].games += 1; + } + } + this.store(); + } } export function randomLevel() { @@ -116,33 +138,42 @@ export function randomLevel() { return Math.floor(Math.random() * maxLevel + 1); } -export class RegularManager extends Manager { +export class RegularManager extends GuestManager { constructor() { super("Regular", 71); addLoadBehaviour(this); } createItem(i) { - return new Player(i, randomStatus(), randomLevel()); + const name = uniqueNamesGenerator(config); + console.log(name); + const firstName = name.split("_")[0]; + const lastName = name.split("_")[1]; + return new Regular(i, randomStatus(), randomLevel(), 0, firstName, lastName); } loadItem(data) { - let id = Number(data.id); - let name = data.name; - let level = Number(data.level); - let status = Boolean(Number(data.status)); - let games = Number(data.games); - return new Player(id, status, level, games, name); + const id = Number(data.id); + const level = Number(data.level); + const status = Boolean(Number(data.status)); + const games = Number(data.games); + const firstName = data.firstName; + const lastName = data.lastName; + return new Regular(id, status, level, games, firstName, lastName); } - active() { - return normalize(super.active()); + reset() { + for (let index = 0; index < this.data.length; index++) { + this.data[index].games = 0; + this.data[index].status = false; + } } } function parseLineToPlayer(data) { - var info = data.split(","); - var id = Number(info[0].trim()); - var name = info[1].trim() + " " + info[2].trim(); - var level = Number(info[3].trim()); - return new Player(id, randomStatus(), level, 0, name); + const info = data.split(","); + const id = Number(info[0].trim()); + const firstName = info[1].trim(); + const lastName = info[2].trim(); + const level = Number(info[3].trim()); + return new Regular(id, randomStatus(), level, 0, firstName, lastName); } function parseCsv(data) { @@ -161,8 +192,12 @@ function parseCsv(data) { return players; } +document.getElementById("button-player-load").addEventListener("click", () => { + document.getElementById("player-load").click(); +}); + function addLoadBehaviour(p) { - const f = document.querySelector("#player-load input[type=file]"); + const f = document.getElementById("player-load"); f.addEventListener("change", () => { const file = f.files[0]; let importData; |
