diff --git a/public/pieces/anarchy_candy.zip b/public/pieces/anarchy_candy.zip
new file mode 100644
index 0000000..2aca2bc
Binary files /dev/null and b/public/pieces/anarchy_candy.zip differ
diff --git a/public/pieces/anarchy_candy/anarchy_candy.zip b/public/pieces/anarchy_candy/anarchy_candy.zip
new file mode 100644
index 0000000..68bc6b3
Binary files /dev/null and b/public/pieces/anarchy_candy/anarchy_candy.zip differ
diff --git a/public/pieces/anarchy_candy/bb.svg b/public/pieces/anarchy_candy/bb.svg
new file mode 100644
index 0000000..964e190
--- /dev/null
+++ b/public/pieces/anarchy_candy/bb.svg
@@ -0,0 +1,14 @@
+
diff --git a/public/pieces/anarchy_color/bw.svg b/public/pieces/anarchy_candy/bw.svg
similarity index 97%
rename from public/pieces/anarchy_color/bw.svg
rename to public/pieces/anarchy_candy/bw.svg
index 95a5cc0..2aab8ae 100644
--- a/public/pieces/anarchy_color/bw.svg
+++ b/public/pieces/anarchy_candy/bw.svg
@@ -1,28 +1,14 @@
diff --git a/public/pieces/anarchy_color/kb.svg b/public/pieces/anarchy_candy/kb.svg
similarity index 64%
rename from public/pieces/anarchy_color/kb.svg
rename to public/pieces/anarchy_candy/kb.svg
index b8e23ed..064214a 100644
--- a/public/pieces/anarchy_color/kb.svg
+++ b/public/pieces/anarchy_candy/kb.svg
@@ -1,77 +1,23 @@
diff --git a/public/pieces/anarchy_color/kw.svg b/public/pieces/anarchy_candy/kw.svg
similarity index 76%
rename from public/pieces/anarchy_color/kw.svg
rename to public/pieces/anarchy_candy/kw.svg
index f86b245..f971ad4 100644
--- a/public/pieces/anarchy_color/kw.svg
+++ b/public/pieces/anarchy_candy/kw.svg
@@ -1,44 +1,22 @@
diff --git a/public/pieces/anarchy_candy/nb.svg b/public/pieces/anarchy_candy/nb.svg
new file mode 100644
index 0000000..68c777f
--- /dev/null
+++ b/public/pieces/anarchy_candy/nb.svg
@@ -0,0 +1,17 @@
+
diff --git a/public/pieces/anarchy_color/nw.svg b/public/pieces/anarchy_candy/nw.svg
similarity index 84%
rename from public/pieces/anarchy_color/nw.svg
rename to public/pieces/anarchy_candy/nw.svg
index e5fa925..81effa5 100644
--- a/public/pieces/anarchy_color/nw.svg
+++ b/public/pieces/anarchy_candy/nw.svg
@@ -1,18 +1,8 @@
diff --git a/public/pieces/anarchy_color/pb.svg b/public/pieces/anarchy_candy/pb.svg
similarity index 64%
rename from public/pieces/anarchy_color/pb.svg
rename to public/pieces/anarchy_candy/pb.svg
index 85a77ae..5c9aade 100644
--- a/public/pieces/anarchy_color/pb.svg
+++ b/public/pieces/anarchy_candy/pb.svg
@@ -1,21 +1,11 @@
diff --git a/public/pieces/anarchy_candy/png/bb.png b/public/pieces/anarchy_candy/png/bb.png
new file mode 100644
index 0000000..cc4cb3f
Binary files /dev/null and b/public/pieces/anarchy_candy/png/bb.png differ
diff --git a/public/pieces/anarchy_candy/png/bw.png b/public/pieces/anarchy_candy/png/bw.png
new file mode 100644
index 0000000..ba6a904
Binary files /dev/null and b/public/pieces/anarchy_candy/png/bw.png differ
diff --git a/public/pieces/anarchy_candy/png/kb.png b/public/pieces/anarchy_candy/png/kb.png
new file mode 100644
index 0000000..31343af
Binary files /dev/null and b/public/pieces/anarchy_candy/png/kb.png differ
diff --git a/public/pieces/anarchy_candy/png/kw.png b/public/pieces/anarchy_candy/png/kw.png
new file mode 100644
index 0000000..a85cd6a
Binary files /dev/null and b/public/pieces/anarchy_candy/png/kw.png differ
diff --git a/public/pieces/anarchy_candy/png/nb.png b/public/pieces/anarchy_candy/png/nb.png
new file mode 100644
index 0000000..3882405
Binary files /dev/null and b/public/pieces/anarchy_candy/png/nb.png differ
diff --git a/public/pieces/anarchy_candy/png/nw.png b/public/pieces/anarchy_candy/png/nw.png
new file mode 100644
index 0000000..5c74ab0
Binary files /dev/null and b/public/pieces/anarchy_candy/png/nw.png differ
diff --git a/public/pieces/anarchy_candy/png/pb.png b/public/pieces/anarchy_candy/png/pb.png
new file mode 100644
index 0000000..3d01415
Binary files /dev/null and b/public/pieces/anarchy_candy/png/pb.png differ
diff --git a/public/pieces/anarchy_candy/png/pw.png b/public/pieces/anarchy_candy/png/pw.png
new file mode 100644
index 0000000..9181344
Binary files /dev/null and b/public/pieces/anarchy_candy/png/pw.png differ
diff --git a/public/pieces/anarchy_candy/png/qb.png b/public/pieces/anarchy_candy/png/qb.png
new file mode 100644
index 0000000..75fd3aa
Binary files /dev/null and b/public/pieces/anarchy_candy/png/qb.png differ
diff --git a/public/pieces/anarchy_candy/png/qw.png b/public/pieces/anarchy_candy/png/qw.png
new file mode 100644
index 0000000..bda82f6
Binary files /dev/null and b/public/pieces/anarchy_candy/png/qw.png differ
diff --git a/public/pieces/anarchy_candy/png/rb.png b/public/pieces/anarchy_candy/png/rb.png
new file mode 100644
index 0000000..fc3d72e
Binary files /dev/null and b/public/pieces/anarchy_candy/png/rb.png differ
diff --git a/public/pieces/anarchy_candy/png/rw.png b/public/pieces/anarchy_candy/png/rw.png
new file mode 100644
index 0000000..5370925
Binary files /dev/null and b/public/pieces/anarchy_candy/png/rw.png differ
diff --git a/public/pieces/anarchy_color/pw.svg b/public/pieces/anarchy_candy/pw.svg
similarity index 74%
rename from public/pieces/anarchy_color/pw.svg
rename to public/pieces/anarchy_candy/pw.svg
index be29536..ea27a5e 100644
--- a/public/pieces/anarchy_color/pw.svg
+++ b/public/pieces/anarchy_candy/pw.svg
@@ -1,15 +1,9 @@
diff --git a/public/pieces/anarchy_color/qb.svg b/public/pieces/anarchy_candy/qb.svg
similarity index 60%
rename from public/pieces/anarchy_color/qb.svg
rename to public/pieces/anarchy_candy/qb.svg
index 1a775be..61ad84f 100644
--- a/public/pieces/anarchy_color/qb.svg
+++ b/public/pieces/anarchy_candy/qb.svg
@@ -1,48 +1,18 @@
diff --git a/public/pieces/anarchy_color/qw.svg b/public/pieces/anarchy_candy/qw.svg
similarity index 80%
rename from public/pieces/anarchy_color/qw.svg
rename to public/pieces/anarchy_candy/qw.svg
index a14c779..3ea9b4d 100644
--- a/public/pieces/anarchy_color/qw.svg
+++ b/public/pieces/anarchy_candy/qw.svg
@@ -1,25 +1,19 @@
diff --git a/public/pieces/anarchy_color/rb.svg b/public/pieces/anarchy_candy/rb.svg
similarity index 94%
rename from public/pieces/anarchy_color/rb.svg
rename to public/pieces/anarchy_candy/rb.svg
index 646c889..287fc5f 100644
--- a/public/pieces/anarchy_color/rb.svg
+++ b/public/pieces/anarchy_candy/rb.svg
@@ -1,15 +1,5 @@
diff --git a/public/pieces/anarchy_color/rw.svg b/public/pieces/anarchy_candy/rw.svg
similarity index 95%
rename from public/pieces/anarchy_color/rw.svg
rename to public/pieces/anarchy_candy/rw.svg
index 5abeb90..b037bc4 100644
--- a/public/pieces/anarchy_color/rw.svg
+++ b/public/pieces/anarchy_candy/rw.svg
@@ -1,12 +1,6 @@
diff --git a/public/pieces/anarchy_color.zip b/public/pieces/anarchy_color.zip
deleted file mode 100644
index 448e237..0000000
Binary files a/public/pieces/anarchy_color.zip and /dev/null differ
diff --git a/public/pieces/anarchy_sepia/anarchy_sepia.zip b/public/pieces/anarchy_sepia/anarchy_sepia.zip
new file mode 100644
index 0000000..7b879ea
Binary files /dev/null and b/public/pieces/anarchy_sepia/anarchy_sepia.zip differ
diff --git a/public/pieces/anarchy_color/bb.svg b/public/pieces/anarchy_sepia/bb.svg
similarity index 97%
rename from public/pieces/anarchy_color/bb.svg
rename to public/pieces/anarchy_sepia/bb.svg
index 22cc675..e6bc166 100644
--- a/public/pieces/anarchy_color/bb.svg
+++ b/public/pieces/anarchy_sepia/bb.svg
@@ -1,45 +1,45 @@
diff --git a/public/pieces/anarchy_sepia/bw.svg b/public/pieces/anarchy_sepia/bw.svg
new file mode 100644
index 0000000..0023b17
--- /dev/null
+++ b/public/pieces/anarchy_sepia/bw.svg
@@ -0,0 +1,23 @@
+
diff --git a/public/pieces/anarchy_sepia/kb.svg b/public/pieces/anarchy_sepia/kb.svg
new file mode 100644
index 0000000..3620ea5
--- /dev/null
+++ b/public/pieces/anarchy_sepia/kb.svg
@@ -0,0 +1,99 @@
+
diff --git a/public/pieces/anarchy_sepia/kw.svg b/public/pieces/anarchy_sepia/kw.svg
new file mode 100644
index 0000000..0773a99
--- /dev/null
+++ b/public/pieces/anarchy_sepia/kw.svg
@@ -0,0 +1,76 @@
+
diff --git a/public/pieces/anarchy_color/nb.svg b/public/pieces/anarchy_sepia/nb.svg
similarity index 80%
rename from public/pieces/anarchy_color/nb.svg
rename to public/pieces/anarchy_sepia/nb.svg
index 7911c7d..a2ae6b2 100644
--- a/public/pieces/anarchy_color/nb.svg
+++ b/public/pieces/anarchy_sepia/nb.svg
@@ -1,71 +1,71 @@
diff --git a/public/pieces/anarchy_sepia/nw.svg b/public/pieces/anarchy_sepia/nw.svg
new file mode 100644
index 0000000..10774e2
--- /dev/null
+++ b/public/pieces/anarchy_sepia/nw.svg
@@ -0,0 +1,18 @@
+
diff --git a/public/pieces/anarchy_sepia/pb.svg b/public/pieces/anarchy_sepia/pb.svg
new file mode 100644
index 0000000..cc42041
--- /dev/null
+++ b/public/pieces/anarchy_sepia/pb.svg
@@ -0,0 +1,49 @@
+
diff --git a/public/pieces/anarchy_sepia/png/bb.png b/public/pieces/anarchy_sepia/png/bb.png
new file mode 100644
index 0000000..483ba68
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/bb.png differ
diff --git a/public/pieces/anarchy_sepia/png/bw.png b/public/pieces/anarchy_sepia/png/bw.png
new file mode 100644
index 0000000..25f81fd
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/bw.png differ
diff --git a/public/pieces/anarchy_sepia/png/kb.png b/public/pieces/anarchy_sepia/png/kb.png
new file mode 100644
index 0000000..52300a5
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/kb.png differ
diff --git a/public/pieces/anarchy_sepia/png/kw.png b/public/pieces/anarchy_sepia/png/kw.png
new file mode 100644
index 0000000..0027e31
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/kw.png differ
diff --git a/public/pieces/anarchy_sepia/png/nb.png b/public/pieces/anarchy_sepia/png/nb.png
new file mode 100644
index 0000000..f299338
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/nb.png differ
diff --git a/public/pieces/anarchy_sepia/png/nw.png b/public/pieces/anarchy_sepia/png/nw.png
new file mode 100644
index 0000000..8d78f13
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/nw.png differ
diff --git a/public/pieces/anarchy_sepia/png/pb.png b/public/pieces/anarchy_sepia/png/pb.png
new file mode 100644
index 0000000..80bd3d9
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/pb.png differ
diff --git a/public/pieces/anarchy_sepia/png/pw.png b/public/pieces/anarchy_sepia/png/pw.png
new file mode 100644
index 0000000..873f13b
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/pw.png differ
diff --git a/public/pieces/anarchy_sepia/png/qb.png b/public/pieces/anarchy_sepia/png/qb.png
new file mode 100644
index 0000000..405273e
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/qb.png differ
diff --git a/public/pieces/anarchy_sepia/png/qw.png b/public/pieces/anarchy_sepia/png/qw.png
new file mode 100644
index 0000000..da4424e
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/qw.png differ
diff --git a/public/pieces/anarchy_sepia/png/rb.png b/public/pieces/anarchy_sepia/png/rb.png
new file mode 100644
index 0000000..ee9e6bd
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/rb.png differ
diff --git a/public/pieces/anarchy_sepia/png/rw.png b/public/pieces/anarchy_sepia/png/rw.png
new file mode 100644
index 0000000..073e0b7
Binary files /dev/null and b/public/pieces/anarchy_sepia/png/rw.png differ
diff --git a/public/pieces/anarchy_sepia/pw.svg b/public/pieces/anarchy_sepia/pw.svg
new file mode 100644
index 0000000..0a10565
--- /dev/null
+++ b/public/pieces/anarchy_sepia/pw.svg
@@ -0,0 +1,15 @@
+
diff --git a/public/pieces/anarchy_sepia/qb.svg b/public/pieces/anarchy_sepia/qb.svg
new file mode 100644
index 0000000..c9c11b4
--- /dev/null
+++ b/public/pieces/anarchy_sepia/qb.svg
@@ -0,0 +1,72 @@
+
diff --git a/public/pieces/anarchy_sepia/qw.svg b/public/pieces/anarchy_sepia/qw.svg
new file mode 100644
index 0000000..ab2c1dc
--- /dev/null
+++ b/public/pieces/anarchy_sepia/qw.svg
@@ -0,0 +1,49 @@
+
diff --git a/public/pieces/anarchy_sepia/rb.svg b/public/pieces/anarchy_sepia/rb.svg
new file mode 100644
index 0000000..539c877
--- /dev/null
+++ b/public/pieces/anarchy_sepia/rb.svg
@@ -0,0 +1,15 @@
+
diff --git a/public/pieces/anarchy_sepia/rw.svg b/public/pieces/anarchy_sepia/rw.svg
new file mode 100644
index 0000000..32c1775
--- /dev/null
+++ b/public/pieces/anarchy_sepia/rw.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/board/Board.ts b/src/board/Board.ts
index 2dc753e..21e75f5 100644
--- a/src/board/Board.ts
+++ b/src/board/Board.ts
@@ -6,7 +6,7 @@ import drawMoveIndicators from "./layers/drawMoveIndicators";
import drawPieces from "./layers/drawPieces";
import drawHeader from "./layers/drawHeader";
import drawExtraInfo from "./layers/drawExtraInfo";
-import boards from "./styles-board";
+import boards from "./styles-board/boardStyles";
import isLink from "../utils/isLink";
import { PiecesStyle } from "./styles-pieces/piecesStyles";
diff --git a/src/board/styles-board/index.ts b/src/board/styles-board/boardStyles.ts
similarity index 100%
rename from src/board/styles-board/index.ts
rename to src/board/styles-board/boardStyles.ts
diff --git a/src/board/styles-pieces/piecesStyles.ts b/src/board/styles-pieces/piecesStyles.ts
index 7982fb1..e61d69d 100644
--- a/src/board/styles-pieces/piecesStyles.ts
+++ b/src/board/styles-pieces/piecesStyles.ts
@@ -3,7 +3,8 @@ const piecesStyles = [
"alfonso_x",
"alpha",
"anarchy",
- "anarchy_color",
+ "anarchy_candy",
+ "anarchy_sepia",
"berlin",
"california",
"cardinal",
diff --git a/src/boot/loadFromUrl.ts b/src/boot/loadFromUrl.ts
index cc03ca7..67b1ed2 100644
--- a/src/boot/loadFromUrl.ts
+++ b/src/boot/loadFromUrl.ts
@@ -1,10 +1,18 @@
-import { Handlers } from "./../types";
+import { PiecesStyle } from "./../board/styles-pieces/piecesStyles";
+import { BoardStyle, Handlers } from "./../types";
import { setState } from "../state";
import link from "../persistance/link";
+import boardStyles from "../board/styles-board/boardStyles";
+import piecesStyles from "../board/styles-pieces/piecesStyles";
+import Board from "../board/Board";
-const loadFromUrl = async (refreshHash: boolean, handlers: Handlers) => {
+const loadFromUrl = async (
+ refreshHash: boolean,
+ handlers: Handlers,
+ board: Board
+) => {
setState("refreshHash", refreshHash);
- const { pgn, fen, side, ply } = await link.read();
+ const { pgn, fen, side, ply, boardStyle, piecesStyle } = await link.read();
await (pgn
? handlers.loadPGN(pgn, side, ply)
@@ -19,6 +27,18 @@ const loadFromUrl = async (refreshHash: boolean, handlers: Handlers) => {
handlers.goto(ply);
}
+ if (boardStyle && Object.keys(boardStyles).includes(boardStyle)) {
+ setState("boardConfig", "boardStyle", boardStyle as BoardStyle);
+ board.setStyle(boardStyle as BoardStyle);
+ }
+
+ console.log({ piecesStyle });
+
+ if (piecesStyle && piecesStyles.includes(piecesStyle as PiecesStyle)) {
+ setState("boardConfig", "piecesStyle", piecesStyle as PiecesStyle);
+ board.setPiecesStyle(piecesStyle as PiecesStyle);
+ }
+
setState("refreshHash", true);
};
diff --git a/src/main.tsx b/src/main.tsx
index 03dce12..51385c1 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -7,7 +7,6 @@ import App from "./ui/App";
import { state, setState } from "./state";
-import link from "./persistance/link";
import registerHandlers from "./boot/registerHandlers";
import loadFromUrl from "./boot/loadFromUrl";
import registerEvents from "./boot/registerEvents";
@@ -20,10 +19,6 @@ const main = async () => {
player.watch((playing) => setState("playing", playing));
- /* Load game from url hash */
-
- link.read();
-
/* Register handlers */
const handlers = registerHandlers(player, board);
@@ -42,7 +37,7 @@ const main = async () => {
/* Initialize the game */
await player.init();
- await loadFromUrl(false, handlers);
+ await loadFromUrl(false, handlers, board);
/* Register events */
diff --git a/src/persistance/link.ts b/src/persistance/link.ts
index f9163eb..64ab55a 100644
--- a/src/persistance/link.ts
+++ b/src/persistance/link.ts
@@ -59,6 +59,7 @@ const link = {
},
async read() {
+ const url = new URL(location.href);
const [type, ...rest] = location.hash.split("/");
if (/fen/.test(type)) {
@@ -93,6 +94,8 @@ const link = {
fen: linkData.fen,
side: linkData.side,
ply: linkData.ply,
+ boardStyle: url.searchParams.get("b"),
+ piecesStyle: url.searchParams.get("p"),
};
},
diff --git a/src/player/sfx.ts b/src/player/sfx.ts
index a33eeb8..8f981d9 100644
--- a/src/player/sfx.ts
+++ b/src/player/sfx.ts
@@ -63,19 +63,19 @@ const sfx = {
}),
toyMove: new Howl({
src: ["/sfx/anarchy/toy-move.mp3"],
- volume: 0.6,
+ volume: 0.9,
}),
toyTake: new Howl({
src: ["/sfx/anarchy/toy-take.mp3"],
- volume: 0.5,
+ volume: 0.8,
}),
deathMove: new Howl({
src: ["/sfx/anarchy/death-move.mp3"],
- volume: 0.3,
+ volume: 0.4,
}),
deathTake: new Howl({
src: ["/sfx/anarchy/death-take.mp3"],
- volume: 0.2,
+ volume: 0.25,
}),
death: new Howl({
src: ["/sfx/anarchy/checkmate.mp3"],
@@ -83,7 +83,7 @@ const sfx = {
}),
hit: new Howl({
src: ["/sfx/anarchy/hit.mp3"],
- volume: 0.4,
+ volume: 0.25,
}),
};
diff --git a/src/state.ts b/src/state.ts
index 948e5fa..4b50169 100644
--- a/src/state.ts
+++ b/src/state.ts
@@ -14,7 +14,7 @@ const initialBoardConfig: BoardConfig = {
tiles: 8,
boardStyle: "standard",
piecesStyle: "tatiana",
- showBorder: !mobile,
+ showBorder: false,
showExtraInfo: true,
showMaterial: true,
showMoveIndicator: true,
diff --git a/src/types.ts b/src/types.ts
index ac32668..215cd23 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -1,5 +1,5 @@
import { Move } from "chess.js";
-import stylesBoard from "./board/styles-board";
+import stylesBoard from "./board/styles-board/boardStyles";
import { PiecesStyle } from "./board/styles-pieces/piecesStyles";
export type GradientDir =
diff --git a/src/ui/components/Boards.tsx b/src/ui/components/Boards.tsx
index d13c486..d85dcc4 100644
--- a/src/ui/components/Boards.tsx
+++ b/src/ui/components/Boards.tsx
@@ -2,7 +2,7 @@ import { Component, For, createSignal } from "solid-js";
import { Handlers, StyleCategory, BoardStyle, Style } from "../../types";
import Scrollable from "./reusable/Scrollable";
import "./Boards.css";
-import styles from "../../board/styles-board";
+import styles from "../../board/styles-board/boardStyles";
import Board from "../../board/Board";
import { state, setState } from "../../state";
diff --git a/src/utils/isPGN.ts b/src/utils/isPGN.ts
index 5f7b7df..3bc6997 100644
--- a/src/utils/isPGN.ts
+++ b/src/utils/isPGN.ts
@@ -1,5 +1,5 @@
const REGEX =
- /((\[[a-z0-9]+ +"[^"\n\r]+"](\r\n|\r|\n))*(\r\n|\r|\n)+){0,1}\d+\. +[a-h1-8x+#=]+/i;
+ /((\[[a-z0-9]+ +"[^"\n\r]+"](\r\n|\r|\n))*(\r\n|\r|\n)+){0,1}\d+\. *[a-h1-8x+#=]+/i;
const isPGN = (data: string) => {
return REGEX.test(data);