1
0

Contuining rewrite

This commit is contained in:
James Ketr 2025-10-07 14:51:11 -07:00
parent f1580970f9
commit 6b4e5d1e58
5 changed files with 116 additions and 149 deletions

View File

@ -90,10 +90,14 @@ const App = () => {
return (
<Box
sx={{
p: { xs: 1, sm: 2 },
p: 0,
m: 0,
// maxWidth: { xs: "100%", sm: 800 },
margin: "0 auto",
height: "100vh",
height: "100dvh",
width: "100dvw",
display: "flex",
flexDirection: "column",
overflowY: "auto",
}}
>

View File

@ -1,13 +1,3 @@
body {
font-family: 'Droid Sans', 'Arial Narrow', Arial, sans-serif;
overflow: hidden;
}
#root {
width: 100vw;
/* height: 100vh; breaks on mobile -- not needed */
}
.RoomView {
display: flex;
position: absolute;

View File

@ -1,21 +1,3 @@
/*@media only screen and (max-height: 512px) {
html {
font-size: 6.75px;
}
}
@media only screen and (min-height: 513px) and (max-height: 800px) {*/
html {
font-size: 2vh;/*10px;*/
}
/*}
@media only screen and (min-height: 2000px) {
html {
font-size: 30px;
}
}*/
html {
height: 100dvh;
width: 100dvw;

View File

@ -26,6 +26,7 @@ const router = express.Router();
// normalizeIncoming imported from './games/utils'
import { initGameDB } from "./games/store";
import { addActivity, addChatMessage, getNextPlayerSession } from "./games/helpers";
import type { GameDB } from "./games/store";
let gameDB: GameDB | undefined;
@ -96,7 +97,6 @@ const processTies = (players: Player[]): boolean => {
return ties;
};
const processGameOrder = (game: any, player: any, dice: number): any => {
if (player.orderRoll) {
return `You have already rolled for game order and are not in a tie.`;
@ -1317,124 +1317,7 @@ const setPlayerColor = (game: any, session: any, color: string): string | undefi
sendUpdateToPlayers(game, update);
return undefined;
};
const addActivity = (game: any, session: any, message: string): void => {
let date = Date.now();
if (game.activities.length && game.activities[game.activities.length - 1].date === date) {
date++;
}
game.activities.push({ color: session ? session.color : "", message, date });
if (game.activities.length > 30) {
game.activities.splice(0, game.activities.length - 30);
}
};
const addChatMessage = (game: any, session: any, message: string, isNormalChat?: boolean) => {
let now = Date.now();
let lastTime = 0;
if (game.chat.length) {
lastTime = game.chat[game.chat.length - 1].date;
}
if (now <= lastTime) {
now = lastTime + 1;
}
const entry: any = {
date: now,
message: message,
};
if (isNormalChat) {
entry.normalChat = true;
}
if (session && session.name) {
entry.from = session.name;
}
if (session && session.color) {
entry.color = session.color;
}
game.chat.push(entry);
if (game.chat.length > 50) {
game.chat.splice(0, game.chat.length - 50);
}
};
const getColorFromName = (game: any, name: string): string => {
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
return game.sessions[id].color;
}
}
return "";
};
const getLastPlayerName = (game: any): string => {
let index = game.playerOrder.length - 1;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id].name;
}
}
return "";
};
const getFirstPlayerName = (game: any): string => {
let index = 0;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id].name;
}
}
return "";
};
const getNextPlayerSession = (game: any, name: string): any => {
let color;
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
color = game.sessions[id].color;
break;
}
}
let index = game.playerOrder.indexOf(color);
index = (index + 1) % game.playerOrder.length;
color = game.playerOrder[index];
for (let id in game.sessions) {
if (game.sessions[id].color === color) {
return game.sessions[id];
}
}
console.error(`getNextPlayerSession -- no player found!`);
console.log(game.players);
};
// Keep some helper symbols present for external use or tests; reference them
// as no-ops so TypeScript/linters do not mark them as unused.
const getPrevPlayerSession = (game: any, name: string): any => {
let color;
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
color = game.sessions[id].color;
break;
}
}
let index = game.playerOrder.indexOf(color);
index = (index - 1) % game.playerOrder.length;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id];
}
}
console.error(`getNextPlayerSession -- no player found!`);
console.log(game.players);
};
// Prevent 'declared but never used' warnings for public helpers that may be used externally
void getColorFromName;
void getLastPlayerName;
void getFirstPlayerName;
void getPrevPlayerSession;
const processCorner = (game: Game, color: string, cornerIndex: number, placedCorner: CornerPlacement): number => {
/* If this corner is allocated and isn't assigned to the walking color, skip it */

View File

@ -0,0 +1,108 @@
export const addActivity = (game: any, session: any, message: string): void => {
let date = Date.now();
if (game.activities.length && game.activities[game.activities.length - 1].date === date) {
date++;
}
game.activities.push({ color: session ? session.color : "", message, date });
if (game.activities.length > 30) {
game.activities.splice(0, game.activities.length - 30);
}
};
export const addChatMessage = (game: any, session: any, message: string, isNormalChat?: boolean) => {
let now = Date.now();
let lastTime = 0;
if (game.chat.length) {
lastTime = game.chat[game.chat.length - 1].date;
}
if (now <= lastTime) {
now = lastTime + 1;
}
const entry: any = {
date: now,
message: message,
};
if (isNormalChat) {
entry.normalChat = true;
}
if (session && session.name) {
entry.from = session.name;
}
if (session && session.color) {
entry.color = session.color;
}
game.chat.push(entry);
if (game.chat.length > 50) {
game.chat.splice(0, game.chat.length - 50);
}
};
export const getColorFromName = (game: any, name: string): string => {
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
return game.sessions[id].color;
}
}
return "";
};
export const getLastPlayerName = (game: any): string => {
let index = game.playerOrder.length - 1;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id].name;
}
}
return "";
};
export const getFirstPlayerName = (game: any): string => {
let index = 0;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id].name;
}
}
return "";
};
export const getNextPlayerSession = (game: any, name: string): any => {
let color;
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
color = game.sessions[id].color;
break;
}
}
let index = game.playerOrder.indexOf(color);
index = (index + 1) % game.playerOrder.length;
color = game.playerOrder[index];
for (let id in game.sessions) {
if (game.sessions[id].color === color) {
return game.sessions[id];
}
}
console.error(`getNextPlayerSession -- no player found!`);
console.log(game.players);
};
export const getPrevPlayerSession = (game: any, name: string): any => {
let color;
for (let id in game.sessions) {
if (game.sessions[id].name === name) {
color = game.sessions[id].color;
break;
}
}
let index = game.playerOrder.indexOf(color);
index = (index - 1) % game.playerOrder.length;
for (let id in game.sessions) {
if (game.sessions[id].color === game.playerOrder[index]) {
return game.sessions[id];
}
}
console.error(`getNextPlayerSession -- no player found!`);
console.log(game.players);
};