New pallette, stats api and acc. removal api

This commit is contained in:
Andrew 2023-03-05 19:17:36 +07:00
parent d6591a2685
commit f7b2d9ca32
3 changed files with 533 additions and 203 deletions

BIN
assets/extracted.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -71,7 +71,7 @@ io.on("connection", (socket) => {
} }
onlineClients.set(socket, new Client(user!.id, login, socket)); onlineClients.set(socket, new Client(user!.id, login, socket));
socket.emit("login", true, "User logged in successfully"); socket.emit("login", true, "User logged in successfully", user!.id);
registerSocketLoggedInFunctions(socket); registerSocketLoggedInFunctions(socket);
@ -82,7 +82,7 @@ io.on("connection", (socket) => {
const client = onlineClients.get(socket); const client = onlineClients.get(socket);
if (client !== undefined) { if (client !== undefined) {
for (const game of Array.from(availableGames.values())) { for (const game of Array.from(availableGames.values())) {
if (game.player === client) { if (game.player.id === client.id) {
availableGames.delete(game.id); availableGames.delete(game.id);
return; return;
} }
@ -100,7 +100,9 @@ io.on("connection", (socket) => {
} }
} }
onlineClients.delete(socket); onlineClients.delete(socket);
} else {
// now need to remove client from cachedClients
cachedClients = cachedClients.filter((e) => e.id !== client.id);
} }
io.emit("updateNeeded"); io.emit("updateNeeded");
@ -117,6 +119,7 @@ instrument(io, {
}); });
function registerSocketLoggedInFunctions(socket: Socket) { function registerSocketLoggedInFunctions(socket: Socket) {
socket.on("logout", logoutEventHandler);
socket.on("getUpdate", getUpdateEventHandler); socket.on("getUpdate", getUpdateEventHandler);
socket.on("createGame", createGameEventHandler); socket.on("createGame", createGameEventHandler);
socket.on("joinGame", joinGameEventHandler); socket.on("joinGame", joinGameEventHandler);
@ -124,9 +127,16 @@ function registerSocketLoggedInFunctions(socket: Socket) {
socket.on("chat", chatEventHandler); socket.on("chat", chatEventHandler);
socket.on("guess", guessEventHandler); socket.on("guess", guessEventHandler);
socket.on("leaveGame", leaveGameEventHandler); socket.on("leaveGame", leaveGameEventHandler);
socket.on("deleteAccount", deleteAccountEventHandler);
socket.on("getUserData", getUserDataEventHandler);
const client = onlineClients.get(socket)!; const client = onlineClients.get(socket)!;
function logoutEventHandler(): void {
socket.emit("hello");
socket.disconnect(true);
}
function getUpdateEventHandler(): void { function getUpdateEventHandler(): void {
socket.emit("update", true, { socket.emit("update", true, {
availableGames: Array.from(availableGames.values()).map((e) => e.simplify()), availableGames: Array.from(availableGames.values()).map((e) => e.simplify()),
@ -294,6 +304,46 @@ function registerSocketLoggedInFunctions(socket: Socket) {
opponentPlayer.setInGame(false); opponentPlayer.setInGame(false);
runningGames.delete(game.Id); runningGames.delete(game.Id);
} }
async function deleteAccountEventHandler(password: string): Promise<void> {
try {
const deletionResult = await db.removeUser(client.login, password);
if (deletionResult) {
socket.emit("deleteAccountResponse", [true]);
socket.emit("hello");
socket.disconnect(true);
} else {
socket.emit("deleteAccountResponse", [false, "Wrong password or something went wrong"]);
}
} catch (e) {
if (e instanceof Error) {
socket.emit("deleteAccountResponse", false, e.message);
} else {
socket.emit("deleteAccountResponse", false, "Unknown error");
// TODO: log error
}
}
}
async function getUserDataEventHandler(userId: string | undefined): Promise<void> {
try {
const stats = await db.getStats(userId ?? client.id);
if (stats === undefined) {
socket.emit("getUserDataResponse", false, "User does not exist");
return;
}
socket.emit("getUserDataResponse", true, {
[userId ?? "client"]: { wins: stats!.games_won, losses: stats!.games_lost },
});
} catch (e) {
if (e instanceof Error) {
socket.emit("getUserDataResponse", false, e.message);
} else {
socket.emit("getUserDataResponse", false, "Unknown error");
}
}
}
} }
server.listen(9800, () => { server.listen(9800, () => {

View file

@ -1,204 +1,484 @@
export const pallette = { export const pallette = {
A0: [0, 0, 186], A1: [107, 38, 5],
A1: [0, 26, 186], A2: [117, 33, 5],
A2: [0, 51, 186], A3: [128, 26, 12],
A3: [0, 77, 186], A4: [148, 13, 17],
A4: [0, 102, 186], A5: [162, 3, 21],
A5: [0, 128, 186], A6: [174, 0, 25],
A6: [0, 153, 186], A7: [190, 0, 26],
A7: [0, 179, 186], A8: [217, 1, 25],
A8: [0, 204, 186], A9: [246, 1, 18],
A9: [0, 230, 186], A10: [255, 0, 13],
B0: [13, 0, 186], A11: [255, 0, 6],
B1: [13, 26, 186], A12: [255, 0, 8],
B2: [13, 51, 186], A13: [255, 0, 30],
B3: [13, 77, 186], A14: [255, 0, 48],
B4: [13, 102, 186], A15: [255, 1, 65],
B5: [13, 128, 186], A16: [255, 0, 80],
B6: [13, 153, 186], A17: [250, 0, 98],
B7: [13, 179, 186], A18: [247, 0, 117],
B8: [13, 204, 186], A19: [236, 0, 136],
B9: [13, 230, 186], A20: [230, 1, 146],
C0: [26, 0, 186], A21: [218, 0, 146],
C1: [26, 26, 186], A22: [203, 19, 149],
C2: [26, 51, 186], A23: [198, 35, 152],
C3: [26, 77, 186], A24: [183, 39, 153],
C4: [26, 102, 186], A25: [173, 46, 153],
C5: [26, 128, 186], A26: [158, 49, 154],
C6: [26, 153, 186], A27: [151, 56, 156],
C7: [26, 179, 186], A28: [142, 57, 158],
C8: [26, 204, 186], A29: [135, 59, 159],
C9: [26, 230, 186], A30: [124, 62, 161],
D0: [38, 0, 186], B1: [146, 71, 14],
D1: [38, 26, 186], B2: [161, 63, 16],
D2: [38, 51, 186], B3: [171, 55, 16],
D3: [38, 77, 186], B4: [185, 52, 21],
D4: [38, 102, 186], B5: [199, 43, 21],
D5: [38, 128, 186], B6: [216, 12, 24],
D6: [38, 153, 186], B7: [237, 2, 19],
D7: [38, 179, 186], B8: [250, 0, 14],
D8: [38, 204, 186], B9: [255, 0, 8],
D9: [38, 230, 186], B10: [255, 0, 24],
E0: [51, 0, 186], B11: [255, 0, 34],
E1: [51, 26, 186], B12: [254, 0, 52],
E2: [51, 51, 186], B13: [255, 1, 55],
E3: [51, 77, 186], B14: [255, 0, 76],
E4: [51, 102, 186], B15: [255, 0, 94],
E5: [51, 128, 186], B16: [255, 0, 110],
E6: [51, 153, 186], B17: [255, 1, 126],
E7: [51, 179, 186], B18: [255, 0, 144],
E8: [51, 204, 186], B19: [240, 1, 147],
E9: [51, 230, 186], B20: [226, 35, 151],
F0: [64, 0, 186], B21: [207, 49, 159],
F1: [64, 26, 186], B22: [198, 48, 158],
F2: [64, 51, 186], B23: [180, 48, 157],
F3: [64, 77, 186], B24: [170, 54, 155],
F4: [64, 102, 186], B25: [165, 54, 156],
F5: [64, 128, 186], B26: [152, 55, 152],
F6: [64, 153, 186], B27: [140, 58, 158],
F7: [64, 179, 186], B28: [137, 59, 160],
F8: [64, 204, 186], B29: [120, 58, 157],
F9: [64, 230, 186], B30: [113, 57, 158],
G0: [77, 0, 186], C1: [176, 94, 21],
G1: [77, 26, 186], C2: [184, 85, 18],
G2: [77, 51, 186], C3: [200, 84, 11],
G3: [77, 77, 186], C4: [208, 69, 14],
G4: [77, 102, 186], C5: [223, 57, 17],
G5: [77, 128, 186], C6: [235, 45, 19],
G6: [77, 153, 186], C7: [249, 25, 13],
G7: [77, 179, 186], C8: [254, 0, 3],
G8: [77, 204, 186], C9: [255, 7, 23],
G9: [77, 230, 186], C10: [255, 26, 55],
H0: [89, 0, 186], C11: [255, 35, 70],
H1: [89, 26, 186], C12: [255, 25, 74],
H2: [89, 51, 186], C13: [255, 21, 90],
H3: [89, 77, 186], C14: [255, 0, 104],
H4: [89, 102, 186], C15: [255, 0, 120],
H5: [89, 128, 186], C16: [255, 1, 136],
H6: [89, 153, 186], C17: [255, 0, 154],
H7: [89, 179, 186], C18: [239, 47, 156],
H8: [89, 204, 186], C19: [220, 60, 158],
H9: [89, 230, 186], C20: [200, 66, 161],
I0: [102, 0, 186], C21: [195, 64, 160],
I1: [102, 26, 186], C22: [179, 64, 157],
I2: [102, 51, 186], C23: [172, 62, 157],
I3: [102, 77, 186], C24: [161, 60, 156],
I4: [102, 102, 186], C25: [152, 62, 158],
I5: [102, 128, 186], C26: [142, 57, 160],
I6: [102, 153, 186], C27: [132, 57, 158],
I7: [102, 179, 186], C28: [124, 56, 157],
I8: [102, 204, 186], C29: [110, 55, 156],
I9: [102, 230, 186], C30: [97, 46, 149],
J0: [115, 0, 186], D1: [213, 128, 1],
J1: [115, 26, 186], D2: [230, 125, 0],
J2: [115, 51, 186], D3: [238, 112, 1],
J3: [115, 77, 186], D4: [248, 114, 3],
J4: [115, 102, 186], D5: [249, 94, 1],
J5: [115, 128, 186], D6: [253, 81, 0],
J6: [115, 153, 186], D7: [255, 83, 0],
J7: [115, 179, 186], D8: [255, 70, 29],
J8: [115, 204, 186], D9: [254, 61, 44],
J9: [115, 230, 186], D10: [255, 71, 73],
K0: [128, 0, 186], D11: [255, 79, 95],
K1: [128, 26, 186], D12: [255, 81, 104],
K2: [128, 51, 186], D13: [255, 73, 111],
K3: [128, 77, 186], D14: [255, 66, 124],
K4: [128, 102, 186], D15: [255, 60, 142],
K5: [128, 128, 186], D16: [255, 59, 157],
K6: [128, 153, 186], D17: [241, 73, 161],
K7: [128, 179, 186], D18: [223, 76, 165],
K8: [128, 204, 186], D19: [205, 88, 169],
K9: [128, 230, 186], D20: [195, 81, 168],
L0: [140, 0, 186], D21: [177, 79, 166],
L1: [140, 26, 186], D22: [167, 72, 162],
L2: [140, 51, 186], D23: [160, 71, 165],
L3: [140, 77, 186], D24: [153, 69, 163],
L4: [140, 102, 186], D25: [140, 65, 160],
L5: [140, 128, 186], D26: [132, 62, 160],
L6: [140, 153, 186], D27: [119, 59, 159],
L7: [140, 179, 186], D28: [110, 54, 155],
L8: [140, 204, 186], D29: [95, 50, 153],
L9: [140, 230, 186], D30: [73, 46, 143],
M0: [153, 0, 186], E1: [247, 152, 0],
M1: [153, 26, 186], E2: [254, 148, 0],
M2: [153, 51, 186], E3: [255, 139, 0],
M3: [153, 77, 186], E4: [255, 133, 3],
M4: [153, 102, 186], E5: [255, 125, 1],
M5: [153, 128, 186], E6: [255, 110, 1],
M6: [153, 153, 186], E7: [254, 110, 39],
M7: [153, 179, 186], E8: [255, 100, 52],
M8: [153, 204, 186], E9: [255, 100, 69],
M9: [153, 230, 186], E10: [254, 111, 97],
N0: [166, 0, 186], E11: [255, 109, 112],
N1: [166, 26, 186], E12: [255, 110, 125],
N2: [166, 51, 186], E13: [254, 109, 138],
N3: [166, 77, 186], E14: [254, 102, 153],
N4: [166, 102, 186], E15: [255, 93, 168],
N5: [166, 128, 186], E16: [249, 103, 176],
N6: [166, 153, 186], E17: [226, 107, 175],
N7: [166, 179, 186], E18: [211, 108, 177],
N8: [166, 204, 186], E19: [200, 109, 178],
N9: [166, 230, 186], E20: [183, 99, 174],
O0: [179, 0, 186], E21: [168, 91, 171],
O1: [179, 26, 186], E22: [157, 85, 171],
O2: [179, 51, 186], E23: [148, 82, 169],
O3: [179, 77, 186], E24: [141, 79, 165],
O4: [179, 102, 186], E25: [130, 69, 162],
O5: [179, 128, 186], E26: [118, 68, 163],
O6: [179, 153, 186], E27: [105, 61, 158],
O7: [179, 179, 186], E28: [95, 50, 151],
O8: [179, 204, 186], E29: [79, 42, 156],
O9: [179, 230, 186], E30: [54, 43, 135],
P0: [191, 0, 186], F1: [254, 177, 1],
P1: [191, 26, 186], F2: [255, 173, 1],
P2: [191, 51, 186], F3: [255, 166, 0],
P3: [191, 77, 186], F4: [251, 171, 0],
P4: [191, 102, 186], F5: [254, 160, 24],
P5: [191, 128, 186], F6: [255, 159, 49],
P6: [191, 153, 186], F7: [254, 146, 71],
P7: [191, 179, 186], F8: [255, 136, 80],
P8: [191, 204, 186], F9: [255, 130, 90],
P9: [191, 230, 186], F10: [255, 129, 110],
Q0: [204, 0, 186], F11: [254, 136, 122],
Q1: [204, 26, 186], F12: [254, 138, 139],
Q2: [204, 51, 186], F13: [254, 135, 154],
Q3: [204, 77, 186], F14: [255, 134, 165],
Q4: [204, 102, 186], F15: [255, 129, 182],
Q5: [204, 128, 186], F16: [239, 136, 189],
Q6: [204, 153, 186], F17: [221, 136, 193],
Q7: [204, 179, 186], F18: [208, 137, 193],
Q8: [204, 204, 186], F19: [196, 128, 189],
Q9: [204, 230, 186], F20: [180, 119, 186],
R0: [217, 0, 186], F21: [165, 115, 186],
R1: [217, 26, 186], F22: [152, 101, 178],
R2: [217, 51, 186], F23: [138, 93, 174],
R3: [217, 77, 186], F24: [130, 88, 172],
R4: [217, 102, 186], F25: [119, 79, 168],
R5: [217, 128, 186], F26: [105, 75, 165],
R6: [217, 153, 186], F27: [95, 66, 158],
R7: [217, 179, 186], F28: [79, 51, 154],
R8: [217, 204, 186], F29: [61, 46, 149],
R9: [217, 230, 186], F30: [46, 41, 125],
S0: [230, 0, 186], G1: [254, 189, 0],
S1: [230, 26, 186], G2: [254, 189, 1],
S2: [230, 51, 186], G3: [255, 180, 0],
S3: [230, 77, 186], G4: [250, 180, 0],
S4: [230, 102, 186], G5: [255, 183, 75],
S5: [230, 128, 186], G6: [255, 168, 63],
S6: [230, 153, 186], G7: [254, 167, 87],
S7: [230, 179, 186], G8: [254, 158, 98],
S8: [230, 204, 186], G9: [255, 157, 110],
S9: [230, 230, 186], G10: [255, 156, 127],
T0: [242, 0, 186], G11: [255, 154, 146],
T1: [242, 26, 186], G12: [255, 153, 151],
T2: [242, 51, 186], G13: [255, 153, 166],
T3: [242, 77, 186], G14: [255, 150, 170],
T4: [242, 102, 186], G15: [255, 152, 199],
T5: [242, 128, 186], G16: [237, 162, 203],
T6: [242, 153, 186], G17: [218, 165, 207],
T7: [242, 179, 186], G18: [211, 172, 216],
T8: [242, 204, 186], G19: [190, 149, 205],
T9: [242, 230, 186], G20: [174, 138, 199],
G21: [159, 130, 194],
G22: [141, 118, 186],
G23: [129, 109, 180],
G24: [118, 101, 179],
G25: [105, 94, 173],
G26: [89, 85, 170],
G27: [81, 75, 163],
G28: [70, 66, 163],
G29: [50, 55, 155],
G30: [42, 47, 139],
H1: [255, 205, 2],
H2: [255, 204, 0],
H3: [255, 197, 1],
H4: [255, 196, 4],
H5: [255, 196, 32],
H6: [255, 188, 63],
H7: [253, 186, 73],
H8: [255, 182, 93],
H9: [255, 175, 112],
H10: [255, 171, 122],
H11: [255, 171, 137],
H12: [255, 176, 157],
H13: [254, 180, 171],
H14: [252, 181, 179],
H15: [247, 179, 200],
H16: [223, 181, 217],
H17: [210, 183, 218],
H18: [206, 189, 221],
H19: [183, 170, 214],
H20: [165, 162, 207],
H21: [154, 149, 205],
H22: [131, 137, 199],
H23: [116, 126, 195],
H24: [104, 118, 191],
H25: [90, 108, 180],
H26: [77, 100, 180],
H27: [68, 90, 175],
H28: [59, 80, 169],
H29: [40, 70, 160],
H30: [30, 60, 158],
I1: [254, 225, 1],
I2: [254, 220, 0],
I3: [255, 216, 1],
I4: [252, 216, 0],
I5: [255, 222, 5],
I6: [254, 214, 54],
I7: [254, 216, 69],
I8: [255, 212, 82],
I9: [251, 219, 108],
I10: [241, 226, 133],
I11: [239, 221, 149],
I12: [233, 226, 174],
I13: [227, 224, 193],
I14: [220, 225, 202],
I15: [208, 226, 210],
I16: [192, 223, 228],
I17: [188, 218, 244],
I18: [187, 217, 243],
I19: [158, 203, 236],
I20: [144, 187, 229],
I21: [130, 172, 222],
I22: [112, 162, 221],
I23: [105, 146, 210],
I24: [94, 135, 201],
I25: [76, 123, 191],
I26: [68, 110, 186],
I27: [57, 99, 181],
I28: [48, 93, 178],
I29: [43, 80, 169],
I30: [31, 72, 164],
J1: [252, 236, 1],
J2: [253, 235, 1],
J3: [254, 234, 0],
J4: [255, 236, 0],
J5: [252, 239, 0],
J6: [251, 243, 48],
J7: [250, 240, 80],
J8: [240, 239, 112],
J9: [230, 236, 126],
J10: [221, 233, 147],
J11: [213, 232, 166],
J12: [207, 233, 186],
J13: [206, 233, 202],
J14: [199, 235, 209],
J15: [193, 232, 214],
J16: [176, 232, 231],
J17: [164, 230, 244],
J18: [164, 229, 249],
J19: [139, 223, 249],
J20: [107, 216, 255],
J21: [98, 201, 242],
J22: [89, 183, 234],
J23: [76, 172, 222],
J24: [72, 154, 214],
J25: [58, 141, 207],
J26: [59, 126, 197],
J27: [44, 113, 191],
J28: [35, 104, 182],
J29: [42, 92, 177],
J30: [36, 82, 168],
K1: [249, 240, 0],
K2: [249, 240, 1],
K3: [248, 239, 0],
K4: [249, 237, 3],
K5: [244, 236, 47],
K6: [236, 237, 74],
K7: [231, 234, 105],
K8: [222, 230, 118],
K9: [212, 229, 117],
K10: [198, 223, 132],
K11: [182, 223, 144],
K12: [171, 219, 157],
K13: [170, 220, 169],
K14: [167, 220, 178],
K15: [162, 221, 191],
K16: [165, 222, 215],
K17: [158, 222, 222],
K18: [153, 224, 228],
K19: [131, 219, 233],
K20: [109, 217, 243],
K21: [71, 213, 249],
K22: [40, 205, 250],
K23: [45, 192, 236],
K24: [52, 173, 226],
K25: [47, 160, 220],
K26: [45, 140, 208],
K27: [33, 127, 199],
K28: [36, 116, 187],
K29: [34, 103, 181],
K30: [34, 95, 178],
L1: [244, 237, 1],
L2: [242, 235, 0],
L3: [235, 233, 0],
L4: [234, 233, 1],
L5: [229, 231, 0],
L6: [219, 229, 36],
L7: [209, 224, 71],
L8: [186, 219, 86],
L9: [168, 217, 89],
L10: [157, 214, 107],
L11: [146, 212, 115],
L12: [136, 211, 129],
L13: [126, 210, 148],
L14: [122, 207, 152],
L15: [121, 210, 166],
L16: [120, 209, 177],
L17: [122, 211, 191],
L18: [116, 212, 200],
L19: [101, 212, 205],
L20: [91, 209, 213],
L21: [58, 206, 220],
L22: [0, 205, 226],
L23: [3, 201, 246],
L24: [0, 190, 242],
L25: [0, 172, 232],
L26: [2, 156, 218],
L27: [25, 138, 208],
L28: [21, 121, 196],
L29: [37, 115, 190],
L30: [30, 102, 184],
M1: [226, 227, 1],
M2: [218, 226, 1],
M3: [211, 226, 1],
M4: [203, 223, 1],
M5: [198, 219, 0],
M6: [180, 215, 11],
M7: [168, 212, 41],
M8: [148, 208, 52],
M9: [126, 202, 67],
M10: [112, 200, 78],
M11: [96, 199, 92],
M12: [81, 199, 103],
M13: [78, 197, 117],
M14: [77, 197, 126],
M15: [76, 199, 136],
M16: [78, 200, 143],
M17: [78, 199, 156],
M18: [81, 203, 164],
M19: [85, 203, 169],
M20: [63, 202, 181],
M21: [35, 200, 186],
M22: [0, 198, 197],
M23: [3, 196, 211],
M24: [0, 197, 224],
M25: [0, 190, 234],
M26: [0, 174, 234],
M27: [0, 160, 222],
M28: [0, 142, 210],
M29: [1, 129, 200],
M30: [0, 116, 189],
N1: [191, 218, 1],
N2: [182, 215, 0],
N3: [172, 212, 1],
N4: [159, 207, 1],
N5: [147, 206, 0],
N6: [133, 205, 1],
N7: [109, 197, 27],
N8: [93, 196, 29],
N9: [77, 191, 41],
N10: [47, 185, 46],
N11: [23, 184, 55],
N12: [0, 181, 71],
N13: [0, 186, 75],
N14: [0, 187, 98],
N15: [0, 191, 108],
N16: [12, 193, 112],
N17: [27, 191, 120],
N18: [29, 195, 133],
N19: [40, 196, 135],
N20: [47, 194, 140],
N21: [25, 195, 156],
N22: [0, 198, 171],
N23: [3, 196, 177],
N24: [0, 195, 197],
N25: [0, 195, 209],
N26: [0, 189, 221],
N27: [0, 177, 227],
N28: [1, 170, 227],
N29: [0, 154, 216],
N30: [1, 135, 206],
O1: [149, 197, 1],
O2: [142, 198, 1],
O3: [134, 197, 4],
O4: [121, 194, 29],
O5: [107, 191, 33],
O6: [81, 182, 42],
O7: [69, 179, 44],
O8: [40, 172, 53],
O9: [28, 170, 52],
O10: [3, 160, 53],
O11: [0, 161, 58],
O12: [3, 167, 55],
O13: [1, 172, 58],
O14: [2, 180, 56],
O15: [2, 183, 68],
O16: [3, 186, 82],
O17: [2, 188, 89],
O18: [0, 190, 104],
O19: [2, 189, 110],
O20: [2, 190, 113],
O21: [0, 193, 128],
O22: [3, 191, 141],
O23: [3, 193, 157],
O24: [3, 191, 167],
O25: [1, 192, 185],
O26: [3, 195, 200],
O27: [1, 193, 214],
O28: [3, 182, 215],
O29: [1, 173, 221],
O30: [4, 162, 227],
P1: [112, 167, 40],
P2: [100, 172, 36],
P3: [92, 170, 50],
P4: [80, 165, 46],
P5: [57, 167, 52],
P6: [29, 162, 55],
P7: [0, 154, 56],
P8: [0, 153, 57],
P9: [0, 149, 59],
P10: [1, 139, 61],
P11: [0, 144, 59],
P12: [0, 148, 56],
P13: [0, 158, 58],
P14: [0, 165, 61],
P15: [0, 174, 61],
P16: [0, 181, 60],
P17: [0, 183, 59],
P18: [0, 184, 72],
P19: [0, 185, 84],
P20: [3, 186, 93],
P21: [0, 188, 104],
P22: [0, 190, 120],
P23: [2, 189, 136],
P24: [0, 187, 152],
P25: [0, 191, 160],
P26: [0, 191, 175],
P27: [0, 191, 192],
P28: [1, 192, 202],
P29: [0, 187, 218],
P30: [0, 182, 232],
}; };
export const availableColors = Object.keys(pallette); export const availableColors = Object.keys(pallette);