Skip to content

Commit 9f232c3

Browse files
authored
Merge pull request #24 from TheOtterlord/banlist-visuals
Banlist visuals
2 parents 9ba8d4d + cba8581 commit 9f232c3

File tree

9 files changed

+24
-5
lines changed

9 files changed

+24
-5
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88

9+
## 1.0.1
10+
11+
Adds banlist visuals. A feature planned for 1.0.0 but one I forgot to add.
12+
13+
### Added
14+
15+
- Add banlist visuals
16+
917
## 1.0.0
1018

1119
We've reached a big milestone, and while I have been gone for a while working on other projects, I'm going to make sure to dedicate more time to DeckMaster.

assets/ban.png

3.6 KB
Loading

assets/limit.png

3.92 KB
Loading

assets/semi.png

4.95 KB
Loading

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ <h2>Welcome</h2>
459459
<div class="changelog" style="padding: 16px;">
460460
<h2>What's new in <span class="version"></span></h2>
461461
<div>
462-
<!-- TODO: add changelog -->
462+
<p>Adds banlist visuals</p>
463463
</div>
464464
<div class="ir-flex-row">
465465
<button class="ir-flex ir-button" onclick="closeChangelog()">Close Changelog</button>

js/api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const { dialog } = require('electron').remote;
22
const paths = require('path');
33

44
const deckmaster = {
5-
version: "v1.0.0",
5+
version: "v1.0.1",
66
notification: (title, text, onclick) => {
77
const notification = new Notification(title, {
88
body: text

js/deck/deckbox.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ function set_page() {
7474
child.classList.add("card");
7575
child.draggable = false;
7676
var url = ygoprodeck.dl_image(card, child);
77-
child.innerHTML = `<img src='${url}' alt='${card}'>`;
77+
var tag = ygodata.cards[card].banlist_info?.ban_tcg == 'Banned' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/ban.png'></div>` : '';
78+
var tag = ygodata.cards[card].banlist_info?.ban_tcg == 'Limited' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/limit.png'></div>` : tag;
79+
var tag = ygodata.cards[card].banlist_info?.ban_tcg == 'Semi-Limited' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/semi.png'></div>` : tag;
80+
child.innerHTML = `<img src='${url}' alt='${card}'>${tag}`;
7881
child.oncontextmenu = (ev) => {
7982
ev.preventDefault();
8083
var main = document.querySelector(".deckbox.main");
@@ -374,7 +377,10 @@ class Deck {
374377
return true;
375378
}
376379
var img = ygoprodeck.dl_image(id, card);
377-
card.innerHTML = `<img src="${img}", alt="${id}">`;
380+
var tag = ygodata.cards[id].banlist_info?.ban_tcg == 'Banned' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/ban.png'></div>` : '';
381+
var tag = ygodata.cards[id].banlist_info?.ban_tcg == 'Limited' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/limit.png'></div>` : tag;
382+
var tag = ygodata.cards[id].banlist_info?.ban_tcg == 'Semi-Limited' ? `<div style='position:relative;'><img style='position: absolute;width: 1.5em;height: 1.5em;transform: translateX(-100%);margin: -4px 4px;' src='./assets/semi.png'></div>` : tag;
383+
card.innerHTML = `<img src='${img}' alt='${id}'>${tag}`;
378384
card.children[0].onerror = () => {
379385
card.children[0].src = DEFAULT_IMG;
380386
card.children[0].onerror = () => {

js/ygoprodeck.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,16 @@ const ygoprodeck = {
7878
if (this.readyState == 4 && this.status == 200) {
7979
var json = JSON.parse(xhttp.responseText);
8080
var date = new Date();
81+
var baninfo = new XMLHttpRequest();
82+
baninfo.open("GET", `https://db.ygoprodeck.com/api/${ygoprodeck.version}/cardinfo.php?banlist=tcg&misc=yes`, false);
83+
baninfo.send();
84+
var banlist = JSON.parse(baninfo.responseText).data;
8185
var cards = {
8286
updated: `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`,
8387
cards: {}
8488
};
8589
for (let i = 0; i < json.data.length; i++) {
90+
json.data[i] = banlist.find(card => {return card.id == json.data[i].id}) ?? json.data[i];
8691
cards.cards[`${json.data[i].id}`] = json.data[i];
8792
}
8893
ygodata = cards;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "deckmaster",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "A Yu-Gi-Oh! TCG deck editor",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)