This commit is contained in:
Maciej Caderek
2022-01-19 23:23:12 +01:00
parent 5d750f1a5b
commit 2a2d1dbbca
8 changed files with 44 additions and 33 deletions

View File

@@ -7,9 +7,6 @@
<title>Vite App</title>
</head>
<body>
<div class="font-init-a">.</div>
<div class="font-init-b">.</div>
<div class="font-init-c">.</div>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>

26
package-lock.json generated
View File

@@ -11,10 +11,12 @@
"@types/chess.js": "^0.11.2",
"@types/gif.js": "^0.2.2",
"chess.js": "^0.12.0",
"gif.js": "^0.2.0"
"gif.js": "^0.2.0",
"webfontloader": "^1.6.28"
},
"devDependencies": {
"@types/node": "^17.0.8",
"@types/webfontloader": "^1.6.34",
"typescript": "^4.4.4",
"vite": "^2.7.2"
}
@@ -35,6 +37,12 @@
"integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==",
"dev": true
},
"node_modules/@types/webfontloader": {
"version": "1.6.34",
"resolved": "https://registry.npmjs.org/@types/webfontloader/-/webfontloader-1.6.34.tgz",
"integrity": "sha512-yNIPDl3P1yK/ag9C8CdleEhWrtU1myGr3cxb0yEBN/tkCYoGP5PbQa53mQCXcOLFAvBFzJJQfuEahOZ0ARakqw==",
"dev": true
},
"node_modules/chess.js": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/chess.js/-/chess.js-0.12.0.tgz",
@@ -467,6 +475,11 @@
"optional": true
}
}
},
"node_modules/webfontloader": {
"version": "1.6.28",
"resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz",
"integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64="
}
},
"dependencies": {
@@ -486,6 +499,12 @@
"integrity": "sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==",
"dev": true
},
"@types/webfontloader": {
"version": "1.6.34",
"resolved": "https://registry.npmjs.org/@types/webfontloader/-/webfontloader-1.6.34.tgz",
"integrity": "sha512-yNIPDl3P1yK/ag9C8CdleEhWrtU1myGr3cxb0yEBN/tkCYoGP5PbQa53mQCXcOLFAvBFzJJQfuEahOZ0ARakqw==",
"dev": true
},
"chess.js": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/chess.js/-/chess.js-0.12.0.tgz",
@@ -743,6 +762,11 @@
"resolve": "^1.20.0",
"rollup": "^2.59.0"
}
},
"webfontloader": {
"version": "1.6.28",
"resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz",
"integrity": "sha1-23hhKSU8tujq5UwvsF+HCvZnW64="
}
}
}

View File

@@ -8,6 +8,7 @@
},
"devDependencies": {
"@types/node": "^17.0.8",
"@types/webfontloader": "^1.6.34",
"typescript": "^4.4.4",
"vite": "^2.7.2"
},
@@ -15,6 +16,7 @@
"@types/chess.js": "^0.11.2",
"@types/gif.js": "^0.2.2",
"chess.js": "^0.12.0",
"gif.js": "^0.2.0"
"gif.js": "^0.2.0",
"webfontloader": "^1.6.28"
}
}

View File

@@ -65,7 +65,7 @@ class Board {
flip() {
this.flipped = !this.flipped;
this.render(this.boardData, this.lastMove);
// this.render(this.boardData, this.lastMove);
return this;
}

View File

@@ -24,7 +24,7 @@ const cleanPGN = (pgn: string) => {
const [_, moves] = game.pgn().split("\n\n");
const header = Object.entries(game.header())
.filter(([key]) => PGN_KEYS.includes(key))
.filter(([key, val]) => PGN_KEYS.includes(key) && val !== "?")
.map(([key, val]) => `[${key} "${val}"]`)
.sort()
.join("\n");

View File

@@ -6,6 +6,13 @@ import Game from "./game/Game";
import pgns from "./test-data/pgns";
import createSimpleGIF from "./gif/createSimpleGIF";
// import { decompressPGN } from "./game/PGNHelpers";
import WebFont from "webfontloader";
WebFont.load({
google: {
families: ["Ubuntu:500,700", "Fira Code"],
},
});
const $app = document.querySelector<HTMLImageElement>("#app");
@@ -33,7 +40,7 @@ const play = async (board: Board, pgn: string | null, interval: number) => {
await board.render(game.getBoardData(), move);
}
await delay(interval * 3);
await delay(interval * 5);
play(board, pgn, interval);
};
@@ -51,18 +58,19 @@ console.log(createDownloadLink.name);
const main = async () => {
const style = styles.lila;
window.location.hash =
"#QiBEdWtlIEthcmwgLyBDb3VudCBJc291YXJkCkQgMTg1OC4/Py4/PwpFIFBhcmlzClIgMS0wClMgUGFyaXMgRlJBClcgUGF1bCBNb3JwaHkKCmU0IGU1IE5mMyBkNiBkNCBCZzQgZHhlNSBCeGYzIFF4ZjMgZHhlNSBCYzQgTmY2IFFiMyBRZTcgTmMzIGM2IEJnNSBiNSBOeGI1IGN4YjUgQnhiNSsgTmJkNyBPLU8tTyBSZDggUnhkNyBSeGQ3IFJkMSBRZTYgQnhkNysgTnhkNyBRYjgrIE54YjggUmQ4Iw==";
// window.location.hash =
// "#QiBEdWtlIEthcmwgLyBDb3VudCBJc291YXJkCkQgMTg1OC4/Py4/PwpFIFBhcmlzClIgMS0wClMgUGFyaXMgRlJBClcgUGF1bCBNb3JwaHkKCmU0IGU1IE5mMyBkNiBkNCBCZzQgZHhlNSBCeGYzIFF4ZjMgZHhlNSBCYzQgTmY2IFFiMyBRZTcgTmMzIGM2IEJnNSBiNSBOeGI1IGN4YjUgQnhiNSsgTmJkNyBPLU8tTyBSZDggUnhkNyBSeGQ3IFJkMSBRZTYgQnhkNysgTnhkNyBRYjgrIE54YjggUmQ4Iw==";
// const hash = window.location.hash;
// const pgn = hash === "" ? null : decompressPGN(hash.slice(1));
const pgn = pgns[1];
const board = new Board(8).setStyle(style).setSize(720).showBorder();
$app?.appendChild(board.canvas);
console.log(pgns[5]);
console.log(pgn);
play(board, pgns[5], 1000);
play(board, pgn, 1000);
// createDownloadLink(pgns[2], style).then((link) => {
// document.body.appendChild(link);

View File

@@ -1,6 +1,3 @@
@import url("https://fonts.googleapis.com/css2?family=Fira+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Ubuntu:wght@500;700&display=swap");
body {
background-color: #111;
background-image: url(01.png);
@@ -20,20 +17,3 @@ body {
box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
border-radius: 5px;
}
.font-init-a {
height: 0;
font-family: "Fira Mono";
}
.font-init-b {
height: 0;
font-family: "Ubuntu";
font-weight: 500;
}
.font-init-c {
height: 0;
font-family: "Ubuntu";
font-weight: 700;
}

View File

@@ -1,5 +1,5 @@
const pgns = [
`[Event "Paris"]
`[Event "Paris Opera"]
[Site "Paris FRA"]
[Date "1858.??.??"]
[EventDate "?"]