diff --git a/public/textures/wood01_ico.png b/public/textures/wood01_ico.png index 9f7c7ed..c1af4ce 100644 Binary files a/public/textures/wood01_ico.png and b/public/textures/wood01_ico.png differ diff --git a/public/textures/wood02_ico.png b/public/textures/wood02_ico.png index 43538c5..eb7c2e8 100644 Binary files a/public/textures/wood02_ico.png and b/public/textures/wood02_ico.png differ diff --git a/public/textures/wood03_ico.png b/public/textures/wood03_ico.png index 9db0446..ce9be1a 100644 Binary files a/public/textures/wood03_ico.png and b/public/textures/wood03_ico.png differ diff --git a/public/textures/wood04_ico.png b/public/textures/wood04_ico.png index de31f00..dee2de7 100644 Binary files a/public/textures/wood04_ico.png and b/public/textures/wood04_ico.png differ diff --git a/public/textures/wood05_ico.png b/public/textures/wood05_ico.png index 398a658..cf07a39 100644 Binary files a/public/textures/wood05_ico.png and b/public/textures/wood05_ico.png differ diff --git a/public/textures/wood06_ico.png b/public/textures/wood06_ico.png index 093cf12..6dc6e54 100644 Binary files a/public/textures/wood06_ico.png and b/public/textures/wood06_ico.png differ diff --git a/public/textures/wood07_ico.png b/public/textures/wood07_ico.png index 928f28a..6f905f0 100644 Binary files a/public/textures/wood07_ico.png and b/public/textures/wood07_ico.png differ diff --git a/public/textures/wood08_ico.png b/public/textures/wood08_ico.png index be7c3a1..31b7101 100644 Binary files a/public/textures/wood08_ico.png and b/public/textures/wood08_ico.png differ diff --git a/src/board/Board.ts b/src/board/Board.ts index 21e75f5..ce8b1b5 100644 --- a/src/board/Board.ts +++ b/src/board/Board.ts @@ -45,6 +45,7 @@ class Board { private _anonymous: boolean = false; private scale: number = 1; + private borderScale: number = 1; private size: number = 0; private squareSize: number = 0; @@ -131,7 +132,9 @@ class Board { this.tempCanvas.height = height; } - const tempBorderWidth = this.cfg.showBorder ? this.size / 32 : 0; + const tempBorderWidth = this.cfg.showBorder + ? (this.size / 32) * this.borderScale + : 0; const tempInnerSize = this.size - tempBorderWidth * 2; this.squareSize = Math.floor(tempInnerSize / this.cfg.tiles); this.innerSize = this.squareSize * this.cfg.tiles; @@ -144,6 +147,10 @@ class Board { return this.size; } + setBorderScale(scale: number) { + this.borderScale = scale; + } + setStyle(style: BoardStyle) { this.style = boards[style]; this.cfg.boardStyle = style; diff --git a/src/board/styles-board/_.ts b/src/board/styles-board/_.ts deleted file mode 100644 index c306ac3..0000000 --- a/src/board/styles-board/_.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Style } from "../../types"; - -const style: Style = { - name: "Temp", - category: "custom", - background: { - type: "gradient", - data: { - dir: "radial", - colors: ["#ff00ff", "#00ffff"], - }, - }, - dark: { - type: "image", - data: { - src: "https://placekitten.com/1024/1024", - }, - }, - light: { - type: "gradient", - data: { - dir: "radial", - colors: ["#ffffff11", "#ffff0099", "#ffff0099"], - }, - }, - moveIndicator: { - type: "hueShift", - data: 70, - }, - border: { - type: "gradient", - data: { - dir: "radial", - colors: ["#009999", "#000099", "#990000"], - }, - }, - coords: { - onLight: "#4d7a26", - onDark: "#ffffc4", - onBorder: "#ececa4", - }, -}; - -export default style; diff --git a/src/board/styles-board/boardStyles.ts b/src/board/styles-board/boardStyles.ts index 610f4ce..99370f0 100644 --- a/src/board/styles-board/boardStyles.ts +++ b/src/board/styles-board/boardStyles.ts @@ -4,13 +4,13 @@ import azure from "./solid/azure"; import clay from "./solid/clay"; import rock from "./solid/rock"; import danny from "./solid/danny"; -import dannyGreen from "./solid/danny-green"; -import dannyCyan from "./solid/danny-cyan"; -import dannyBlue from "./solid/danny-blue"; -import dannyPurple from "./solid/danny-purple"; -import dannyPink from "./solid/danny-pink"; -import dannyRed from "./solid/danny-red"; -import dannyYellow from "./solid/danny-yellow"; +import danny_green from "./solid/danny_green"; +import danny_cyan from "./solid/danny_cyan"; +import danny_blue from "./solid/danny_blue"; +import danny_purple from "./solid/danny_purple"; +import danny_pink from "./solid/danny_pink"; +import danny_red from "./solid/danny_red"; +import danny_yellow from "./solid/danny_yellow"; import lichess from "./solid/lichess"; import leko from "./solid/leko"; import patina from "./solid/patina"; @@ -22,27 +22,40 @@ import botez from "./solid/botez"; import mud from "./solid/mud"; import rose from "./solid/rose"; import avocado from "./solid/avocado"; -import monoTeal from "./solid/mono-teal"; -import monoChico from "./solid/mono-chico"; -import monoGoblin from "./solid/mono-goblin"; -import monoMahogany from "./solid/mono-mahogany"; -import monoMojo from "./solid/mono-mojo"; -import monoMulberry from "./solid/mono-mulberry"; -import monoSycamore from "./solid/mono-sycamore"; -import monoBlue from "./solid/mono-blue"; -import smoothSunset from "./gradient/smooth-sunset"; -import smoothSummer from "./gradient/smooth-summer"; -import smoothSpring from "./gradient/smooth-spring"; -import smoothForest from "./gradient/smooth-forest"; -import smoothLaguna from "./gradient/smooth-laguna"; -import smoothSea from "./gradient/smooth-sea"; -import smoothViolet from "./gradient/smooth-violet"; -import smoothMono from "./gradient/smooth-mono"; -import contrastA from "./gradient/contrast-a"; -import contrastB from "./gradient/contrast-b"; -import contrastC from "./gradient/contrast-c"; -import contrastD from "./gradient/contrast-d"; +import mono_teal from "./solid/mono_teal"; +import mono_chico from "./solid/mono_chico"; +import mono_goblin from "./solid/mono_goblin"; +import mono_mahogany from "./solid/mono_mahogany"; +import mono_mojo from "./solid/mono_mojo"; +import mono_mulberry from "./solid/mono_mulberry"; +import mono_sycamore from "./solid/mono_sycamore"; +import mono_blue from "./solid/mono_blue"; +import mono_coral from "./solid/mono_coral"; +import mono_flamingo from "./solid/mono_flamingo"; +import mono_rose from "./solid/mono_rose"; +import mono_heliotrope from "./solid/mono_heliotrope"; +import mono_cornflower from "./solid/mono_cornflower"; +import mono_dodger from "./solid/mono_dodger"; +import mono_meadow from "./solid/mono_meadow"; +import mono_mantis from "./solid/mono_mantis"; +import mono_coper from "./solid/mono_coper"; +import mono_contessa from "./solid/mono_contessa"; +import mono_terracotta from "./solid/mono_terracotta"; +import mono_harvest from "./solid/mono_harvest"; + +import smooth_sunset from "./gradient/smooth_sunset"; +import smooth_summer from "./gradient/smooth_summer"; +import smooth_spring from "./gradient/smooth_spring"; +import smooth_forest from "./gradient/smooth_forest"; +import smooth_laguna from "./gradient/smooth_laguna"; +import smooth_sea from "./gradient/smooth_sea"; +import smooth_violet from "./gradient/smooth_violet"; +import smooth_mono from "./gradient/smooth_mono"; +import contrast_a from "./gradient/contrast_a"; +import contrast_b from "./gradient/contrast_b"; +import contrast_c from "./gradient/contrast_c"; +import contrast_d from "./gradient/contrast_d"; import wood1 from "./pic/wood1"; import wood2 from "./pic/wood2"; @@ -53,7 +66,7 @@ import wood6 from "./pic/wood6"; import wood7 from "./pic/wood7"; import wood8 from "./pic/wood8"; -const styles = { +const boardStyles = { standard, spring, azure, @@ -67,38 +80,51 @@ const styles = { patina, mud, danny, - dannyGreen, - dannyCyan, - dannyBlue, - dannyPurple, - dannyPink, - dannyRed, - dannyYellow, + danny_green, + danny_cyan, + danny_blue, + danny_purple, + danny_pink, + danny_red, + danny_yellow, lichess, danya, botez, avocado, - monoChico, - monoMojo, - monoMahogany, - monoMulberry, - monoBlue, - monoTeal, - monoGoblin, - monoSycamore, - smoothSunset, - smoothSummer, - smoothSpring, - smoothForest, - smoothLaguna, - smoothSea, - smoothViolet, - smoothMono, - contrastA, - contrastB, - contrastC, - contrastD, + mono_chico, + mono_mojo, + mono_mahogany, + mono_mulberry, + mono_blue, + mono_teal, + mono_goblin, + mono_sycamore, + mono_coral, + mono_flamingo, + mono_rose, + mono_heliotrope, + mono_cornflower, + mono_dodger, + mono_meadow, + mono_mantis, + mono_coper, + mono_contessa, + mono_terracotta, + mono_harvest, + + smooth_sunset, + smooth_summer, + smooth_spring, + smooth_forest, + smooth_laguna, + smooth_sea, + smooth_violet, + smooth_mono, + contrast_a, + contrast_b, + contrast_c, + contrast_d, wood1, wood2, wood3, @@ -109,4 +135,7 @@ const styles = { wood8, }; -export default styles; +const boardNames = Object.keys(boardStyles); + +export { boardNames }; +export default boardStyles; diff --git a/src/board/styles-board/gradient/contrast-a.ts b/src/board/styles-board/gradient/contrast_a.ts similarity index 96% rename from src/board/styles-board/gradient/contrast-a.ts rename to src/board/styles-board/gradient/contrast_a.ts index 12228c0..739c79a 100644 --- a/src/board/styles-board/gradient/contrast-a.ts +++ b/src/board/styles-board/gradient/contrast_a.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Contrast A", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/contrast-b.ts b/src/board/styles-board/gradient/contrast_b.ts similarity index 96% rename from src/board/styles-board/gradient/contrast-b.ts rename to src/board/styles-board/gradient/contrast_b.ts index ddcb606..d5371fa 100644 --- a/src/board/styles-board/gradient/contrast-b.ts +++ b/src/board/styles-board/gradient/contrast_b.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Contrast B", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/contrast-c.ts b/src/board/styles-board/gradient/contrast_c.ts similarity index 96% rename from src/board/styles-board/gradient/contrast-c.ts rename to src/board/styles-board/gradient/contrast_c.ts index ab3bf3e..1d4dff6 100644 --- a/src/board/styles-board/gradient/contrast-c.ts +++ b/src/board/styles-board/gradient/contrast_c.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Contrast C", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/contrast-d.ts b/src/board/styles-board/gradient/contrast_d.ts similarity index 96% rename from src/board/styles-board/gradient/contrast-d.ts rename to src/board/styles-board/gradient/contrast_d.ts index 9894ccf..eddf170 100644 --- a/src/board/styles-board/gradient/contrast-d.ts +++ b/src/board/styles-board/gradient/contrast_d.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Contrast D", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-forest.ts b/src/board/styles-board/gradient/smooth_forest.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-forest.ts rename to src/board/styles-board/gradient/smooth_forest.ts index 021b29a..65dea9c 100644 --- a/src/board/styles-board/gradient/smooth-forest.ts +++ b/src/board/styles-board/gradient/smooth_forest.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Forest", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-laguna.ts b/src/board/styles-board/gradient/smooth_laguna.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-laguna.ts rename to src/board/styles-board/gradient/smooth_laguna.ts index ed28144..151a270 100644 --- a/src/board/styles-board/gradient/smooth-laguna.ts +++ b/src/board/styles-board/gradient/smooth_laguna.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Laguna", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-mono.ts b/src/board/styles-board/gradient/smooth_mono.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-mono.ts rename to src/board/styles-board/gradient/smooth_mono.ts index 0fdab0c..54d8279 100644 --- a/src/board/styles-board/gradient/smooth-mono.ts +++ b/src/board/styles-board/gradient/smooth_mono.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Mono", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-sea.ts b/src/board/styles-board/gradient/smooth_sea.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-sea.ts rename to src/board/styles-board/gradient/smooth_sea.ts index af55114..2c964cd 100644 --- a/src/board/styles-board/gradient/smooth-sea.ts +++ b/src/board/styles-board/gradient/smooth_sea.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Sea", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-spring.ts b/src/board/styles-board/gradient/smooth_spring.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-spring.ts rename to src/board/styles-board/gradient/smooth_spring.ts index 7f5a92a..d28b7fe 100644 --- a/src/board/styles-board/gradient/smooth-spring.ts +++ b/src/board/styles-board/gradient/smooth_spring.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Spring", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-summer.ts b/src/board/styles-board/gradient/smooth_summer.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-summer.ts rename to src/board/styles-board/gradient/smooth_summer.ts index 4f50bca..1e144ee 100644 --- a/src/board/styles-board/gradient/smooth-summer.ts +++ b/src/board/styles-board/gradient/smooth_summer.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Summer", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-sunset.ts b/src/board/styles-board/gradient/smooth_sunset.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-sunset.ts rename to src/board/styles-board/gradient/smooth_sunset.ts index 8f17cbb..9fd0261 100644 --- a/src/board/styles-board/gradient/smooth-sunset.ts +++ b/src/board/styles-board/gradient/smooth_sunset.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Sunset", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/gradient/smooth-violet.ts b/src/board/styles-board/gradient/smooth_violet.ts similarity index 96% rename from src/board/styles-board/gradient/smooth-violet.ts rename to src/board/styles-board/gradient/smooth_violet.ts index 0042461..3dc1256 100644 --- a/src/board/styles-board/gradient/smooth-violet.ts +++ b/src/board/styles-board/gradient/smooth_violet.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Smooth Violet", category: "gradient", background: { type: "gradient", diff --git a/src/board/styles-board/pic/wood1.ts b/src/board/styles-board/pic/wood1.ts index 54e27e1..f0ee4e4 100644 --- a/src/board/styles-board/pic/wood1.ts +++ b/src/board/styles-board/pic/wood1.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 1", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood2.ts b/src/board/styles-board/pic/wood2.ts index 4a1a0ee..632da2e 100644 --- a/src/board/styles-board/pic/wood2.ts +++ b/src/board/styles-board/pic/wood2.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 2", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood3.ts b/src/board/styles-board/pic/wood3.ts index 41ba016..495a5ca 100644 --- a/src/board/styles-board/pic/wood3.ts +++ b/src/board/styles-board/pic/wood3.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 3", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood4.ts b/src/board/styles-board/pic/wood4.ts index f1ff756..9288e46 100644 --- a/src/board/styles-board/pic/wood4.ts +++ b/src/board/styles-board/pic/wood4.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 4", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood5.ts b/src/board/styles-board/pic/wood5.ts index f8524d3..5ef5264 100644 --- a/src/board/styles-board/pic/wood5.ts +++ b/src/board/styles-board/pic/wood5.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 5", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood6.ts b/src/board/styles-board/pic/wood6.ts index 38b673f..9b13915 100644 --- a/src/board/styles-board/pic/wood6.ts +++ b/src/board/styles-board/pic/wood6.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 6", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood7.ts b/src/board/styles-board/pic/wood7.ts index 467d881..20b4d4a 100644 --- a/src/board/styles-board/pic/wood7.ts +++ b/src/board/styles-board/pic/wood7.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 7", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/pic/wood8.ts b/src/board/styles-board/pic/wood8.ts index bfb3521..d7ef321 100644 --- a/src/board/styles-board/pic/wood8.ts +++ b/src/board/styles-board/pic/wood8.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Wood 8", category: "pic", background: { type: "image", diff --git a/src/board/styles-board/solid/avocado.ts b/src/board/styles-board/solid/avocado.ts index ae72045..7bee765 100644 --- a/src/board/styles-board/solid/avocado.ts +++ b/src/board/styles-board/solid/avocado.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Avocado", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/azure.ts b/src/board/styles-board/solid/azure.ts index d115b4d..9770f0d 100644 --- a/src/board/styles-board/solid/azure.ts +++ b/src/board/styles-board/solid/azure.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Azure", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/botez.ts b/src/board/styles-board/solid/botez.ts index bab227d..3e8cd7e 100644 --- a/src/board/styles-board/solid/botez.ts +++ b/src/board/styles-board/solid/botez.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Botez", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/clay.ts b/src/board/styles-board/solid/clay.ts index f4b1c12..75d8711 100644 --- a/src/board/styles-board/solid/clay.ts +++ b/src/board/styles-board/solid/clay.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Clay", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny.ts b/src/board/styles-board/solid/danny.ts index b671fde..4da2eb4 100644 --- a/src/board/styles-board/solid/danny.ts +++ b/src/board/styles-board/solid/danny.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-blue.ts b/src/board/styles-board/solid/danny_blue.ts similarity index 96% rename from src/board/styles-board/solid/danny-blue.ts rename to src/board/styles-board/solid/danny_blue.ts index bd8c357..0984b45 100644 --- a/src/board/styles-board/solid/danny-blue.ts +++ b/src/board/styles-board/solid/danny_blue.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Blue", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-cyan.ts b/src/board/styles-board/solid/danny_cyan.ts similarity index 96% rename from src/board/styles-board/solid/danny-cyan.ts rename to src/board/styles-board/solid/danny_cyan.ts index aacc1f8..eaac6f5 100644 --- a/src/board/styles-board/solid/danny-cyan.ts +++ b/src/board/styles-board/solid/danny_cyan.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Cyan", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-green.ts b/src/board/styles-board/solid/danny_green.ts similarity index 96% rename from src/board/styles-board/solid/danny-green.ts rename to src/board/styles-board/solid/danny_green.ts index 168697e..426b7e6 100644 --- a/src/board/styles-board/solid/danny-green.ts +++ b/src/board/styles-board/solid/danny_green.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Green", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-pink.ts b/src/board/styles-board/solid/danny_pink.ts similarity index 96% rename from src/board/styles-board/solid/danny-pink.ts rename to src/board/styles-board/solid/danny_pink.ts index 51dd700..a33c44a 100644 --- a/src/board/styles-board/solid/danny-pink.ts +++ b/src/board/styles-board/solid/danny_pink.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Pink", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-purple.ts b/src/board/styles-board/solid/danny_purple.ts similarity index 96% rename from src/board/styles-board/solid/danny-purple.ts rename to src/board/styles-board/solid/danny_purple.ts index 5f81a89..dbe31ed 100644 --- a/src/board/styles-board/solid/danny-purple.ts +++ b/src/board/styles-board/solid/danny_purple.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Purple", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-red.ts b/src/board/styles-board/solid/danny_red.ts similarity index 96% rename from src/board/styles-board/solid/danny-red.ts rename to src/board/styles-board/solid/danny_red.ts index c4c2cca..1d48202 100644 --- a/src/board/styles-board/solid/danny-red.ts +++ b/src/board/styles-board/solid/danny_red.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Red", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danny-yellow.ts b/src/board/styles-board/solid/danny_yellow.ts similarity index 96% rename from src/board/styles-board/solid/danny-yellow.ts rename to src/board/styles-board/solid/danny_yellow.ts index 1e13c50..cbbe48b 100644 --- a/src/board/styles-board/solid/danny-yellow.ts +++ b/src/board/styles-board/solid/danny_yellow.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danny Yellow", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/danya.ts b/src/board/styles-board/solid/danya.ts index b25adc5..29b8586 100644 --- a/src/board/styles-board/solid/danya.ts +++ b/src/board/styles-board/solid/danya.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Danya", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/leko.ts b/src/board/styles-board/solid/leko.ts index 7db3a41..28649be 100644 --- a/src/board/styles-board/solid/leko.ts +++ b/src/board/styles-board/solid/leko.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Leko", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/lichess.ts b/src/board/styles-board/solid/lichess.ts index 8afef2d..3737cfb 100644 --- a/src/board/styles-board/solid/lichess.ts +++ b/src/board/styles-board/solid/lichess.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Lichess", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/lila.ts b/src/board/styles-board/solid/lila.ts index 3722b4e..992ab80 100644 --- a/src/board/styles-board/solid/lila.ts +++ b/src/board/styles-board/solid/lila.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Lila", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono.ts b/src/board/styles-board/solid/mono.ts index cd765dc..5824960 100644 --- a/src/board/styles-board/solid/mono.ts +++ b/src/board/styles-board/solid/mono.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono-blue.ts b/src/board/styles-board/solid/mono_blue.ts similarity index 96% rename from src/board/styles-board/solid/mono-blue.ts rename to src/board/styles-board/solid/mono_blue.ts index 91e62fd..2f0b9fd 100644 --- a/src/board/styles-board/solid/mono-blue.ts +++ b/src/board/styles-board/solid/mono_blue.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Blue", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono-chico.ts b/src/board/styles-board/solid/mono_chico.ts similarity index 96% rename from src/board/styles-board/solid/mono-chico.ts rename to src/board/styles-board/solid/mono_chico.ts index ed4b1d6..b121fa0 100644 --- a/src/board/styles-board/solid/mono-chico.ts +++ b/src/board/styles-board/solid/mono_chico.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Chico", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono_contessa.ts b/src/board/styles-board/solid/mono_contessa.ts new file mode 100644 index 0000000..fa0b6f0 --- /dev/null +++ b/src/board/styles-board/solid/mono_contessa.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#D47669"; +const fgColor = "#E9BAB4"; +const darkFontColor = "#95493F"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#00ff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_coper.ts b/src/board/styles-board/solid/mono_coper.ts new file mode 100644 index 0000000..dcd3edd --- /dev/null +++ b/src/board/styles-board/solid/mono_coper.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#AC746D"; +const fgColor = "#D5B9B6"; +const darkFontColor = "#704944"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#00ff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_coral.ts b/src/board/styles-board/solid/mono_coral.ts new file mode 100644 index 0000000..e412208 --- /dev/null +++ b/src/board/styles-board/solid/mono_coral.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#FF7C44"; +const fgColor = "#FFBDA1"; +const darkFontColor = "#DC4200"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#00ffaa55", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_cornflower.ts b/src/board/styles-board/solid/mono_cornflower.ts new file mode 100644 index 0000000..84aa0ac --- /dev/null +++ b/src/board/styles-board/solid/mono_cornflower.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#7673FF"; +const fgColor = "#BAB9FF"; +const darkFontColor = "#3734B0"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#ff770055", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_dodger.ts b/src/board/styles-board/solid/mono_dodger.ts new file mode 100644 index 0000000..4776eee --- /dev/null +++ b/src/board/styles-board/solid/mono_dodger.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#3C85F4"; +const fgColor = "#9DC2F9"; +const darkFontColor = "#1451AE"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#55ff0055", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_flamingo.ts b/src/board/styles-board/solid/mono_flamingo.ts new file mode 100644 index 0000000..8f9a1ef --- /dev/null +++ b/src/board/styles-board/solid/mono_flamingo.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#F65656"; +const fgColor = "#FAAAAA"; +const darkFontColor = "#BC2D2D"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#ffff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono-goblin.ts b/src/board/styles-board/solid/mono_goblin.ts similarity index 96% rename from src/board/styles-board/solid/mono-goblin.ts rename to src/board/styles-board/solid/mono_goblin.ts index 53229eb..b41fa08 100644 --- a/src/board/styles-board/solid/mono-goblin.ts +++ b/src/board/styles-board/solid/mono_goblin.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Goblin", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono_harvest.ts b/src/board/styles-board/solid/mono_harvest.ts new file mode 100644 index 0000000..1631a89 --- /dev/null +++ b/src/board/styles-board/solid/mono_harvest.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#EAA464"; +const fgColor = "#F4D1B1"; +const darkFontColor = "#BD8551"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#00ff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_heliotrope.ts b/src/board/styles-board/solid/mono_heliotrope.ts new file mode 100644 index 0000000..ab9e833 --- /dev/null +++ b/src/board/styles-board/solid/mono_heliotrope.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#C84CF3"; +const fgColor = "#E3A5F9"; +const darkFontColor = "#881EAC"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "hueShift", + data: 30, + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono-mahogany.ts b/src/board/styles-board/solid/mono_mahogany.ts similarity index 95% rename from src/board/styles-board/solid/mono-mahogany.ts rename to src/board/styles-board/solid/mono_mahogany.ts index b312262..31f7b68 100644 --- a/src/board/styles-board/solid/mono-mahogany.ts +++ b/src/board/styles-board/solid/mono_mahogany.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Mahogany", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono_mantis.ts b/src/board/styles-board/solid/mono_mantis.ts new file mode 100644 index 0000000..9a8ac78 --- /dev/null +++ b/src/board/styles-board/solid/mono_mantis.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#69C549"; +const fgColor = "#B4E2A4"; +const darkFontColor = "#4C9433"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#ffff0055", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono_meadow.ts b/src/board/styles-board/solid/mono_meadow.ts new file mode 100644 index 0000000..859657f --- /dev/null +++ b/src/board/styles-board/solid/mono_meadow.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#07C575"; +const fgColor = "#83E2BA"; +const darkFontColor = "#07834F"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#ffff0055", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono-mojo.ts b/src/board/styles-board/solid/mono_mojo.ts similarity index 96% rename from src/board/styles-board/solid/mono-mojo.ts rename to src/board/styles-board/solid/mono_mojo.ts index bfc001d..2d63224 100644 --- a/src/board/styles-board/solid/mono-mojo.ts +++ b/src/board/styles-board/solid/mono_mojo.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Blue", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono-mulberry.ts b/src/board/styles-board/solid/mono_mulberry.ts similarity index 95% rename from src/board/styles-board/solid/mono-mulberry.ts rename to src/board/styles-board/solid/mono_mulberry.ts index 7292fe7..ffe4475 100644 --- a/src/board/styles-board/solid/mono-mulberry.ts +++ b/src/board/styles-board/solid/mono_mulberry.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Mulberry", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono_rose.ts b/src/board/styles-board/solid/mono_rose.ts new file mode 100644 index 0000000..788a9ad --- /dev/null +++ b/src/board/styles-board/solid/mono_rose.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#FB6299"; +const fgColor = "#FDB0CC"; +const darkFontColor = "#C8215D"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#ffff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mono-sycamore.ts b/src/board/styles-board/solid/mono_sycamore.ts similarity index 95% rename from src/board/styles-board/solid/mono-sycamore.ts rename to src/board/styles-board/solid/mono_sycamore.ts index 8788b00..933cf1e 100644 --- a/src/board/styles-board/solid/mono-sycamore.ts +++ b/src/board/styles-board/solid/mono_sycamore.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Sycamore", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono-teal.ts b/src/board/styles-board/solid/mono_teal.ts similarity index 96% rename from src/board/styles-board/solid/mono-teal.ts rename to src/board/styles-board/solid/mono_teal.ts index da39c1e..85b7139 100644 --- a/src/board/styles-board/solid/mono-teal.ts +++ b/src/board/styles-board/solid/mono_teal.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Mono Teal", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/mono_terracotta.ts b/src/board/styles-board/solid/mono_terracotta.ts new file mode 100644 index 0000000..7907826 --- /dev/null +++ b/src/board/styles-board/solid/mono_terracotta.ts @@ -0,0 +1,46 @@ +import { Style } from "../../../types"; + +const bgColor = "#DF8F6C"; +const fgColor = "#EFC7B5"; +const darkFontColor = "#A56A51"; +const lightFontColor = "#ffffff"; +const borderFontColor = "#00000099"; + +const style: Style = { + category: "solid", + background: { + type: "solid", + data: { + color: "transparent", + }, + }, + dark: { + type: "solid", + data: { + color: bgColor, + }, + }, + light: { + type: "solid", + data: { + color: fgColor, + }, + }, + moveIndicator: { + type: "color", + data: "#00ff0033", + }, + border: { + type: "solid", + data: { + color: bgColor, + }, + }, + coords: { + onLight: darkFontColor, + onDark: lightFontColor, + onBorder: borderFontColor, + }, +}; + +export default style; diff --git a/src/board/styles-board/solid/mud.ts b/src/board/styles-board/solid/mud.ts index 3176784..0c6024f 100644 --- a/src/board/styles-board/solid/mud.ts +++ b/src/board/styles-board/solid/mud.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Beige", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/patina.ts b/src/board/styles-board/solid/patina.ts index b7d5274..36068e5 100644 --- a/src/board/styles-board/solid/patina.ts +++ b/src/board/styles-board/solid/patina.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Beige", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/peach.ts b/src/board/styles-board/solid/peach.ts index 50fee33..d7baeac 100644 --- a/src/board/styles-board/solid/peach.ts +++ b/src/board/styles-board/solid/peach.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Peach", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/rock.ts b/src/board/styles-board/solid/rock.ts index 7901aae..f40ac99 100644 --- a/src/board/styles-board/solid/rock.ts +++ b/src/board/styles-board/solid/rock.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Rock", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/rose.ts b/src/board/styles-board/solid/rose.ts index 85172ea..29de89b 100644 --- a/src/board/styles-board/solid/rose.ts +++ b/src/board/styles-board/solid/rose.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Rose", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/spring.ts b/src/board/styles-board/solid/spring.ts index 2d12633..1b114ac 100644 --- a/src/board/styles-board/solid/spring.ts +++ b/src/board/styles-board/solid/spring.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Spring", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/standard.ts b/src/board/styles-board/solid/standard.ts index 87e82d1..2710ced 100644 --- a/src/board/styles-board/solid/standard.ts +++ b/src/board/styles-board/solid/standard.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Standard", category: "solid", background: { type: "solid", diff --git a/src/board/styles-board/solid/violet.ts b/src/board/styles-board/solid/violet.ts index de1926b..149fadd 100644 --- a/src/board/styles-board/solid/violet.ts +++ b/src/board/styles-board/solid/violet.ts @@ -1,7 +1,6 @@ import { Style } from "../../../types"; const style: Style = { - name: "Violet", category: "solid", background: { type: "solid", diff --git a/src/boot/registerEvents.ts b/src/boot/registerEvents.ts index 2e752b1..d9a92d9 100644 --- a/src/boot/registerEvents.ts +++ b/src/boot/registerEvents.ts @@ -2,8 +2,9 @@ import { Handlers } from "./../types"; import { state, setState } from "../state"; import loadFromUrl from "./loadFromUrl"; import readFile from "../utils/readFile"; +import Board from "../board/Board"; -const registerEvents = (handlers: Handlers) => { +const registerEvents = (handlers: Handlers, board: Board) => { document.addEventListener("dblclick", function (el) { el.preventDefault(); }); @@ -25,7 +26,7 @@ const registerEvents = (handlers: Handlers) => { return; } - loadFromUrl(true, handlers); + loadFromUrl(true, handlers, board); }); if (!state.mobile) { diff --git a/src/main.tsx b/src/main.tsx index 51385c1..139c23e 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -41,7 +41,7 @@ const main = async () => { /* Register events */ - registerEvents(handlers); + registerEvents(handlers, board); }; /* Initialize */ diff --git a/src/persistance/loadConfig.ts b/src/persistance/loadConfig.ts index 1b462b3..d04b875 100644 --- a/src/persistance/loadConfig.ts +++ b/src/persistance/loadConfig.ts @@ -1,12 +1,31 @@ +import { PiecesStyle } from "./../board/styles-pieces/piecesStyles"; +import { boardNames } from "../board/styles-board/boardStyles"; +import piecesStyles from "../board/styles-pieces/piecesStyles"; + +const fixBoardConfig = (boardConfig: { [key: string]: string }) => { + if (!boardNames.includes(boardConfig.boardStyle)) { + delete boardConfig.boardStyle; + } + + if (!piecesStyles.includes(boardConfig.piecesStyle as PiecesStyle)) { + delete boardConfig.piecesStyle; + } + + return boardConfig; +}; + const loadConfig = () => { const boardConfig = localStorage.getItem("boardConfig"); const gameConfig = localStorage.getItem("gameConfig"); const siteConfig = localStorage.getItem("siteConfig"); + const recent = localStorage.getItem("recent"); return { - boardConfig: boardConfig === null ? {} : JSON.parse(boardConfig), + boardConfig: + boardConfig === null ? {} : fixBoardConfig(JSON.parse(boardConfig)), gameConfig: gameConfig === null ? {} : JSON.parse(gameConfig), siteConfig: siteConfig === null ? {} : JSON.parse(siteConfig), + recent: recent === null ? [] : JSON.parse(recent), }; }; diff --git a/src/persistance/saveConfig.ts b/src/persistance/saveConfig.ts index 2ab593b..4e5c333 100644 --- a/src/persistance/saveConfig.ts +++ b/src/persistance/saveConfig.ts @@ -1,6 +1,6 @@ import { state } from "../state"; -const saveConfig = (type: "board" | "game" | "site") => { +const saveConfig = (type: "board" | "game" | "site" | "recent") => { switch (type) { case "board": localStorage.setItem("boardConfig", JSON.stringify(state.boardConfig)); @@ -11,6 +11,9 @@ const saveConfig = (type: "board" | "game" | "site") => { case "site": localStorage.setItem("siteConfig", JSON.stringify(state.siteConfig)); break; + case "recent": + localStorage.setItem("recent", JSON.stringify(state.recent)); + break; } }; diff --git a/src/state.ts b/src/state.ts index 4b50169..5e3d9ec 100644 --- a/src/state.ts +++ b/src/state.ts @@ -2,7 +2,7 @@ import isMobile from "is-mobile"; import { createStore } from "solid-js/store"; import Game from "./game/Game"; import loadConfig from "./persistance/loadConfig"; -import { BoardConfig, GameConfig, SiteConfig } from "./types"; +import { BoardConfig, GameConfig, SiteConfig, Recent } from "./types"; import UAParser from "ua-parser-js"; const userAgent = UAParser(); @@ -60,6 +60,7 @@ export type State = { browser?: string; os?: string; about: boolean; + recent: Recent; }; const initialState: State = { @@ -88,8 +89,11 @@ const initialState: State = { browser: userAgent.browser.name, os: userAgent.os.name, about: false, + recent: saved.recent, }; const [state, setState] = createStore(initialState); +console.log(state); + export { state, setState }; diff --git a/src/types.ts b/src/types.ts index 215cd23..d86ffd8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -55,7 +55,6 @@ export type MoveIndicator = export type StyleCategory = "solid" | "gradient" | "pic" | "custom"; export type Style = { - name: string; category: StyleCategory; background: SquareStyle; light: SquareStyle; @@ -110,6 +109,11 @@ export type SiteConfig = { iOSAppPopup: boolean; }; +export type Recent = { + title: string; + hash: string; +}[]; + export type MaterialCount = { w: { p: number; diff --git a/src/ui/components/Boards.tsx b/src/ui/components/Boards.tsx index d85dcc4..15c585b 100644 --- a/src/ui/components/Boards.tsx +++ b/src/ui/components/Boards.tsx @@ -2,12 +2,12 @@ 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/boardStyles"; +import boardStyles from "../../board/styles-board/boardStyles"; import Board from "../../board/Board"; import { state, setState } from "../../state"; type BoardPreview = { - key: keyof typeof styles; + key: keyof typeof boardStyles; name: string; category: StyleCategory; img: string; @@ -23,7 +23,12 @@ const prepareBoards = async () => { showExtraInfo: false, }); - for (const [key, style] of Object.entries(styles) as [BoardStyle, Style][]) { + board.setBorderScale(3); + + for (const [key, style] of Object.entries(boardStyles) as [ + BoardStyle, + Style + ][]) { let img: string; if (style.ico) { @@ -37,8 +42,6 @@ const prepareBoards = async () => { boards.push({ key, - name: style.name, - category: style.category, img, } as BoardPreview); } @@ -68,7 +71,7 @@ const Boards: Component<{ handlers: Handlers; class?: string }> = (props) => { props.handlers.changeBoardStyle(board.key); }} style={{ "background-image": `url(${board.img})` }} - title={board.name} + title={board.key} draggable={false} /> );