Restructuration of the project folders

This commit is contained in:
Sebastien Riviere
2026-02-13 16:06:50 +01:00
parent 5f16500634
commit c1f1688794
188 changed files with 265 additions and 301 deletions

View File

@@ -0,0 +1,48 @@
import { ZoneTypes, Colors } from "./types";
export const mapLocations = {
paris: [48.86, 2.33]
}
export const mapZooms = {
low: 4,
high: 15,
}
export const mapStyles = {
default: {
url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
arrowColor: "black",
currentZoneColor: "red",
nextZoneColor: "green",
placementZoneColor: "blue",
playerColor: "blue"
},
satellite: {
url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
attribution: 'Tiles &copy; Esri',
arrowColor: "white",
currentZoneColor: "red",
nextZoneColor: "#0F0",
placementZoneColor: "#0FF",
playerColor: "blue"
},
}
export const defaultZoneSettings = {
circle: {type: ZoneTypes.CIRCLE, min: null, max: null, reductionCount: 4, duration: 10},
polygon: {type: ZoneTypes.POLYGON, polygons: []}
}
export const teamStatus = {
default: { label: "Indisponible", color: Colors.black },
playing: { label: "En jeu", color: Colors.green },
captured: { label: "Capturée", color: Colors.red },
outofzone: { label: "Hors zone", color: Colors.orange },
ready: { label: "Placée", color: Colors.green },
notready: { label: "Non placée", color: Colors.red },
waiting: { label: "En attente", color: Colors.grey },
victory: { label: "Victoire", color: Colors.green },
defeat: { label: "Défaite", color: Colors.red },
}

View File

@@ -0,0 +1,18 @@
import { GameState } from './types';
import { teamStatus } from './configurations';
export function getStatus(team, gamestate) {
if (!team) return null;
switch (gamestate) {
case GameState.SETUP:
return teamStatus.waiting;
case GameState.PLACEMENT:
return team.ready ? teamStatus.ready : teamStatus.notready;
case GameState.PLAYING:
return team.captured ? teamStatus.captured : team.outOfZone ? teamStatus.outofzone : teamStatus.playing;
case GameState.FINISHED:
return team.captured ? teamStatus.defeat : teamStatus.victory;
default:
return teamStatus.default;
}
}

View File

@@ -0,0 +1,19 @@
export const Colors = {
black: "#000000",
grey: "#808080",
green: "#19e119",
red: "#e11919",
orange: "#fa6400"
}
export const GameState = {
SETUP: "setup",
PLACEMENT: "placement",
PLAYING: "playing",
FINISHED: "finished"
}
export const ZoneTypes = {
CIRCLE: "circle",
POLYGON: "polygon"
}