WIP
This commit is contained in:
@@ -62,7 +62,11 @@ class Board {
|
|||||||
private tempCanvas: HTMLCanvasElement = document.createElement("canvas");
|
private tempCanvas: HTMLCanvasElement = document.createElement("canvas");
|
||||||
public canvas: HTMLCanvasElement = document.createElement("canvas");
|
public canvas: HTMLCanvasElement = document.createElement("canvas");
|
||||||
|
|
||||||
constructor(config: Partial<BoardConfig> = {}) {
|
constructor(config: Partial<BoardConfig> = {}, canvas?: HTMLCanvasElement) {
|
||||||
|
if (canvas) {
|
||||||
|
this.canvas = canvas;
|
||||||
|
}
|
||||||
|
|
||||||
const ctx = this.canvas.getContext("2d");
|
const ctx = this.canvas.getContext("2d");
|
||||||
const tempCtx = this.tempCanvas.getContext("2d");
|
const tempCtx = this.tempCanvas.getContext("2d");
|
||||||
this.canvas.classList.add("board");
|
this.canvas.classList.add("board");
|
||||||
|
|||||||
@@ -1,17 +1,23 @@
|
|||||||
import standard from "./mono/standard";
|
import standard from "./solid/standard";
|
||||||
import chesscom from "./mono/chesscom";
|
import danny from "./solid/danny";
|
||||||
import lichess from "./mono/lichess";
|
import dannyGreen from "./solid/danny-green";
|
||||||
import leko from "./mono/leko";
|
import dannyCyan from "./solid/danny-cyan";
|
||||||
import patina from "./mono/patina";
|
import dannyBlue from "./solid/danny-blue";
|
||||||
import lila from "./mono/lila";
|
import dannyPurple from "./solid/danny-purple";
|
||||||
import peach from "./mono/peach";
|
import dannyPink from "./solid/danny-pink";
|
||||||
import violet from "./mono/violet";
|
import dannyRed from "./solid/danny-red";
|
||||||
import danya from "./mono/danya";
|
import dannyYellow from "./solid/danny-yellow";
|
||||||
import botez from "./mono/botez";
|
import lichess from "./solid/lichess";
|
||||||
import mud from "./mono/mud";
|
import leko from "./solid/leko";
|
||||||
import rose from "./mono/rose";
|
import patina from "./solid/patina";
|
||||||
|
import lila from "./solid/lila";
|
||||||
import avocado from "./colorful/avocado";
|
import peach from "./solid/peach";
|
||||||
|
import violet from "./solid/violet";
|
||||||
|
import danya from "./solid/danya";
|
||||||
|
import botez from "./solid/botez";
|
||||||
|
import mud from "./solid/mud";
|
||||||
|
import rose from "./solid/rose";
|
||||||
|
import avocado from "./solid/avocado";
|
||||||
|
|
||||||
import calm from "./gradient/calm";
|
import calm from "./gradient/calm";
|
||||||
import laguna from "./gradient/laguna";
|
import laguna from "./gradient/laguna";
|
||||||
@@ -30,7 +36,14 @@ const styles = {
|
|||||||
mud,
|
mud,
|
||||||
peach,
|
peach,
|
||||||
violet,
|
violet,
|
||||||
chesscom,
|
danny,
|
||||||
|
dannyGreen,
|
||||||
|
dannyCyan,
|
||||||
|
dannyBlue,
|
||||||
|
dannyPurple,
|
||||||
|
dannyPink,
|
||||||
|
dannyRed,
|
||||||
|
dannyYellow,
|
||||||
lichess,
|
lichess,
|
||||||
danya,
|
danya,
|
||||||
botez,
|
botez,
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Avocado",
|
name: "Avocado",
|
||||||
category: "colorful",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Botez",
|
name: "Botez",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
41
src/board/styles-board/solid/danny-blue.ts
Normal file
41
src/board/styles-board/solid/danny-blue.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Blue",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#566696",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#2B2E31",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#2F3752",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-cyan.ts
Normal file
41
src/board/styles-board/solid/danny-cyan.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Cyan",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#569696",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#2B3130",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#2F5152",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-green.ts
Normal file
41
src/board/styles-board/solid/danny-green.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Green",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#569666",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#2B312B",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#2F5238",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-pink.ts
Normal file
41
src/board/styles-board/solid/danny-pink.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Pink",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#965686",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#312B31",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#522F49",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-purple.ts
Normal file
41
src/board/styles-board/solid/danny-purple.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Purple",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#765696",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#2D2B31",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#412F52",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-red.ts
Normal file
41
src/board/styles-board/solid/danny-red.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Red",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#965656",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#312B2D",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#522F2F",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
41
src/board/styles-board/solid/danny-yellow.ts
Normal file
41
src/board/styles-board/solid/danny-yellow.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
|
const style: Style = {
|
||||||
|
name: "Danny Yellow",
|
||||||
|
category: "solid",
|
||||||
|
background: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dark: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#968656",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
light: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#eeeed2",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
moveIndicator: {
|
||||||
|
type: "color",
|
||||||
|
data: "#ffff007f",
|
||||||
|
},
|
||||||
|
border: {
|
||||||
|
type: "solid",
|
||||||
|
data: {
|
||||||
|
color: "#312E2B",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
coords: {
|
||||||
|
onLight: "#524A2F",
|
||||||
|
onDark: "#fcfce1",
|
||||||
|
onBorder: "#eeeed2",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default style;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { Style } from "../../../types";
|
import { Style } from "../../../types";
|
||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Chessc*m",
|
name: "Danny",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Danya",
|
name: "Danya",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Leko",
|
name: "Leko",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Lichess",
|
name: "Lichess",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Lila",
|
name: "Lila",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Mono",
|
name: "Mono",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Beige",
|
name: "Beige",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Beige",
|
name: "Beige",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Peach",
|
name: "Peach",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Rose",
|
name: "Rose",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Standard",
|
name: "Standard",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -2,7 +2,7 @@ import { Style } from "../../../types";
|
|||||||
|
|
||||||
const style: Style = {
|
const style: Style = {
|
||||||
name: "Violet",
|
name: "Violet",
|
||||||
category: "mono",
|
category: "solid",
|
||||||
background: {
|
background: {
|
||||||
type: "solid",
|
type: "solid",
|
||||||
data: {
|
data: {
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
const harlequin = {
|
|
||||||
kw: "/pieces/harlequin/kw.svg",
|
|
||||||
qw: "/pieces/harlequin/qw.svg",
|
|
||||||
rw: "/pieces/harlequin/rw.svg",
|
|
||||||
bw: "/pieces/harlequin/bw.svg",
|
|
||||||
nw: "/pieces/harlequin/nw.svg",
|
|
||||||
pw: "/pieces/harlequin/pw.svg",
|
|
||||||
kb: "/pieces/harlequin/kb.svg",
|
|
||||||
qb: "/pieces/harlequin/qb.svg",
|
|
||||||
rb: "/pieces/harlequin/rb.svg",
|
|
||||||
bb: "/pieces/harlequin/bb.svg",
|
|
||||||
nb: "/pieces/harlequin/nb.svg",
|
|
||||||
pb: "/pieces/harlequin/pb.svg",
|
|
||||||
};
|
|
||||||
|
|
||||||
export default harlequin;
|
|
||||||
@@ -52,13 +52,7 @@ export type MoveIndicator =
|
|||||||
| { type: "hueShift"; data: number }
|
| { type: "hueShift"; data: number }
|
||||||
| { type: "color"; data: string };
|
| { type: "color"; data: string };
|
||||||
|
|
||||||
export type StyleCategory =
|
export type StyleCategory = "solid" | "gradient" | "pic" | "custom";
|
||||||
| "mono"
|
|
||||||
| "colorful"
|
|
||||||
| "gradient"
|
|
||||||
| "material"
|
|
||||||
| "pic"
|
|
||||||
| "custom";
|
|
||||||
|
|
||||||
export type Style = {
|
export type Style = {
|
||||||
name: string;
|
name: string;
|
||||||
|
|||||||
@@ -180,12 +180,6 @@ a:hover {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (orientation: landscape) and (max-width: 1366px) {
|
|
||||||
html {
|
|
||||||
font-size: 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (orientation: landscape) and (max-width: 1365px) {
|
@media (orientation: landscape) and (max-width: 1365px) {
|
||||||
.layout {
|
.layout {
|
||||||
grid-template-columns: 2fr 1fr;
|
grid-template-columns: 2fr 1fr;
|
||||||
|
|||||||
Reference in New Issue
Block a user