@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"files": {
|
|
||||||
"main.css": "/static/css/main.6888e917.css",
|
|
||||||
"main.js": "/static/js/main.b6842da5.js",
|
|
||||||
"static/js/787.a1c84483.chunk.js": "/static/js/787.a1c84483.chunk.js",
|
|
||||||
"static/media/Person.png": "/static/media/Person.f7ba6be9e4afca5ca897.png",
|
|
||||||
"static/media/bot.png": "/static/media/bot.057c187a23ead0769e7f.png",
|
|
||||||
"static/media/eye.png": "/static/media/eye.cd074d043a80f09623ac.png",
|
|
||||||
"static/media/reset.png": "/static/media/reset.82632189f4cbd1644b7a.png",
|
|
||||||
"index.html": "/index.html",
|
|
||||||
"main.6888e917.css.map": "/static/css/main.6888e917.css.map",
|
|
||||||
"main.b6842da5.js.map": "/static/js/main.b6842da5.js.map",
|
|
||||||
"787.a1c84483.chunk.js.map": "/static/js/787.a1c84483.chunk.js.map"
|
|
||||||
},
|
|
||||||
"entrypoints": [
|
|
||||||
"static/css/main.6888e917.css",
|
|
||||||
"static/js/main.b6842da5.js"
|
|
||||||
]
|
|
||||||
}
|
|
Before Width: | Height: | Size: 3.8 KiB |
@ -1 +0,0 @@
|
|||||||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.b6842da5.js"></script><link href="/static/css/main.6888e917.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
|
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 9.4 KiB |
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"short_name": "React App",
|
|
||||||
"name": "Create React App Sample",
|
|
||||||
"icons": [
|
|
||||||
{
|
|
||||||
"src": "favicon.ico",
|
|
||||||
"sizes": "64x64 32x32 24x24 16x16",
|
|
||||||
"type": "image/x-icon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "logo192.png",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "192x192"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"src": "logo512.png",
|
|
||||||
"type": "image/png",
|
|
||||||
"sizes": "512x512"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"start_url": ".",
|
|
||||||
"display": "standalone",
|
|
||||||
"theme_color": "#000000",
|
|
||||||
"background_color": "#ffffff"
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
# https://www.robotstxt.org/robotstxt.html
|
|
||||||
User-agent: *
|
|
||||||
Disallow:
|
|
@ -1,2 +0,0 @@
|
|||||||
"use strict";(self.webpackChunkcryptide=self.webpackChunkcryptide||[]).push([[787],{787:(e,t,n)=>{n.r(t),n.d(t,{getCLS:()=>y,getFCP:()=>g,getFID:()=>C,getLCP:()=>P,getTTFB:()=>D});var i,r,a,o,u=function(e,t){return{name:e,value:void 0===t?-1:t,delta:0,entries:[],id:"v2-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12)}},c=function(e,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){if("first-input"===e&&!("PerformanceEventTiming"in self))return;var n=new PerformanceObserver((function(e){return e.getEntries().map(t)}));return n.observe({type:e,buffered:!0}),n}}catch(e){}},f=function(e,t){var n=function n(i){"pagehide"!==i.type&&"hidden"!==document.visibilityState||(e(i),t&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},s=function(e){addEventListener("pageshow",(function(t){t.persisted&&e(t)}),!0)},m=function(e,t,n){var i;return function(r){t.value>=0&&(r||n)&&(t.delta=t.value-(i||0),(t.delta||void 0===i)&&(i=t.value,e(t)))}},v=-1,p=function(){return"hidden"===document.visibilityState?0:1/0},d=function(){f((function(e){var t=e.timeStamp;v=t}),!0)},l=function(){return v<0&&(v=p(),d(),s((function(){setTimeout((function(){v=p(),d()}),0)}))),{get firstHiddenTime(){return v}}},g=function(e,t){var n,i=l(),r=u("FCP"),a=function(e){"first-contentful-paint"===e.name&&(f&&f.disconnect(),e.startTime<i.firstHiddenTime&&(r.value=e.startTime,r.entries.push(e),n(!0)))},o=window.performance&&performance.getEntriesByName&&performance.getEntriesByName("first-contentful-paint")[0],f=o?null:c("paint",a);(o||f)&&(n=m(e,r,t),o&&a(o),s((function(i){r=u("FCP"),n=m(e,r,t),requestAnimationFrame((function(){requestAnimationFrame((function(){r.value=performance.now()-i.timeStamp,n(!0)}))}))})))},h=!1,T=-1,y=function(e,t){h||(g((function(e){T=e.value})),h=!0);var n,i=function(t){T>-1&&e(t)},r=u("CLS",0),a=0,o=[],v=function(e){if(!e.hadRecentInput){var t=o[0],i=o[o.length-1];a&&e.startTime-i.startTime<1e3&&e.startTime-t.startTime<5e3?(a+=e.value,o.push(e)):(a=e.value,o=[e]),a>r.value&&(r.value=a,r.entries=o,n())}},p=c("layout-shift",v);p&&(n=m(i,r,t),f((function(){p.takeRecords().map(v),n(!0)})),s((function(){a=0,T=-1,r=u("CLS",0),n=m(i,r,t)})))},E={passive:!0,capture:!0},w=new Date,L=function(e,t){i||(i=t,r=e,a=new Date,F(removeEventListener),S())},S=function(){if(r>=0&&r<a-w){var e={entryType:"first-input",name:i.type,target:i.target,cancelable:i.cancelable,startTime:i.timeStamp,processingStart:i.timeStamp+r};o.forEach((function(t){t(e)})),o=[]}},b=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){L(e,t),r()},i=function(){r()},r=function(){removeEventListener("pointerup",n,E),removeEventListener("pointercancel",i,E)};addEventListener("pointerup",n,E),addEventListener("pointercancel",i,E)}(t,e):L(t,e)}},F=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,b,E)}))},C=function(e,t){var n,a=l(),v=u("FID"),p=function(e){e.startTime<a.firstHiddenTime&&(v.value=e.processingStart-e.startTime,v.entries.push(e),n(!0))},d=c("first-input",p);n=m(e,v,t),d&&f((function(){d.takeRecords().map(p),d.disconnect()}),!0),d&&s((function(){var a;v=u("FID"),n=m(e,v,t),o=[],r=-1,i=null,F(addEventListener),a=p,o.push(a),S()}))},k={},P=function(e,t){var n,i=l(),r=u("LCP"),a=function(e){var t=e.startTime;t<i.firstHiddenTime&&(r.value=t,r.entries.push(e),n())},o=c("largest-contentful-paint",a);if(o){n=m(e,r,t);var v=function(){k[r.id]||(o.takeRecords().map(a),o.disconnect(),k[r.id]=!0,n(!0))};["keydown","click"].forEach((function(e){addEventListener(e,v,{once:!0,capture:!0})})),f(v,!0),s((function(i){r=u("LCP"),n=m(e,r,t),requestAnimationFrame((function(){requestAnimationFrame((function(){r.value=performance.now()-i.timeStamp,k[r.id]=!0,n(!0)}))}))}))}},D=function(e){var t,n=u("TTFB");t=function(){try{var t=performance.getEntriesByType("navigation")[0]||function(){var e=performance.timing,t={entryType:"navigation",startTime:0};for(var n in e)"navigationStart"!==n&&"toJSON"!==n&&(t[n]=Math.max(e[n]-e.navigationStart,0));return t}();if(n.value=n.delta=t.responseStart,n.value<0||n.value>performance.now())return;n.entries=[t],e(n)}catch(e){}},"complete"===document.readyState?setTimeout(t,0):addEventListener("load",(function(){return setTimeout(t,0)}))}}}]);
|
|
||||||
//# sourceMappingURL=787.a1c84483.chunk.js.map
|
|
@ -1,123 +0,0 @@
|
|||||||
/*!
|
|
||||||
Copyright (c) 2018 Jed Watson.
|
|
||||||
Licensed under the MIT License (MIT), see
|
|
||||||
http://jedwatson.github.io/classnames
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
|
|
||||||
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
||||||
<http://stuartk.com/jszip>
|
|
||||||
|
|
||||||
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
||||||
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
|
|
||||||
|
|
||||||
JSZip uses the library pako released under the MIT license :
|
|
||||||
https://github.com/nodeca/pako/blob/main/LICENSE
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*! *****************************************************************************
|
|
||||||
Copyright (c) Microsoft Corporation.
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
||||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
||||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
||||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
||||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
||||||
PERFORMANCE OF THIS SOFTWARE.
|
|
||||||
***************************************************************************** */
|
|
||||||
|
|
||||||
/*! Hammer.JS - v2.0.17-rc - 2019-12-16
|
|
||||||
* http://naver.github.io/egjs
|
|
||||||
*
|
|
||||||
* Forked By Naver egjs
|
|
||||||
* Copyright (c) hammerjs
|
|
||||||
* Licensed under the MIT license */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-dom.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react-jsx-runtime.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* react.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @license React
|
|
||||||
* scheduler.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @remix-run/router v1.11.0
|
|
||||||
*
|
|
||||||
* Copyright (c) Remix Software Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE.md file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* React Router DOM v6.18.0
|
|
||||||
*
|
|
||||||
* Copyright (c) Remix Software Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE.md file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* React Router v6.18.0
|
|
||||||
*
|
|
||||||
* Copyright (c) Remix Software Inc.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE.md file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @license MIT
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @license React v16.13.1
|
|
||||||
* react-is.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
//! Il faudra possiblement faire une gestion des mode de jeu, pour modifier les regles en fonction de ce dernier.
|
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 11 KiB |
@ -1,9 +0,0 @@
|
|||||||
<FilesMatch "\.css$">
|
|
||||||
ForceType text/css
|
|
||||||
Header set Content-Type "text/css"
|
|
||||||
</FilesMatch>
|
|
||||||
|
|
||||||
<FilesMatch "\.js$">
|
|
||||||
ForceType application/javascript
|
|
||||||
Header set Content-Type "application/javascript"
|
|
||||||
</FilesMatch>
|
|
@ -1,11 +1,15 @@
|
|||||||
const ADRESSE_WEBSERVER = "http://localhost:3002"
|
const ADRESSE_WEBSERVER = "http://172.20.10.4:3002"
|
||||||
|
|
||||||
const ADRESSE_DBSERVER = "http://localhost:3003"
|
const ADRESSE_DBSERVER = "http://172.20.10.4:3003"
|
||||||
|
|
||||||
const tmp = ADRESSE_DBSERVER
|
const tmp = ADRESSE_DBSERVER
|
||||||
const tmp2 = ADRESSE_WEBSERVER
|
const tmp2 = ADRESSE_WEBSERVER
|
||||||
|
|
||||||
const ADRESSE_WEBSITE = ""
|
const ADRESSE_WEBSITE = ""
|
||||||
|
|
||||||
|
const basePath = process.env.REACT_APP_BASE_PATH || '/containers/Crypteam-website';
|
||||||
|
|
||||||
export {ADRESSE_DBSERVER, ADRESSE_WEBSERVER, ADRESSE_WEBSITE}
|
const tmp3 = basePath
|
||||||
|
|
||||||
|
|
||||||
|
export {ADRESSE_DBSERVER, ADRESSE_WEBSERVER, ADRESSE_WEBSITE, basePath}
|
@ -0,0 +1,120 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
/* Style */
|
||||||
|
import './DeducGrid.css';
|
||||||
|
import { useTheme } from '../Style/ThemeContext';
|
||||||
|
|
||||||
|
/* Component */
|
||||||
|
|
||||||
|
/* Boostrap */
|
||||||
|
import Table from 'react-bootstrap/Table';
|
||||||
|
import Form from 'react-bootstrap/Form';
|
||||||
|
|
||||||
|
/* lang */
|
||||||
|
import { FormattedMessage } from 'react-intl';
|
||||||
|
|
||||||
|
/* model */
|
||||||
|
import Stub from '../model/Stub';
|
||||||
|
|
||||||
|
import { useGame } from '../Contexts/GameContext';
|
||||||
|
import { positionToEmoji } from '../ColorHelper';
|
||||||
|
|
||||||
|
function DeducCheck() {
|
||||||
|
const theme = useTheme();
|
||||||
|
//const indices = Stub.GenerateIndice();
|
||||||
|
|
||||||
|
const params = new URLSearchParams(window.location.search);
|
||||||
|
|
||||||
|
const NbPlayer = params.get('nbPlayer');
|
||||||
|
const actualPlayerIndex = params.get('actualId') ?? '0';
|
||||||
|
|
||||||
|
//const { actualPlayerIndex, players } = useGame();
|
||||||
|
|
||||||
|
// let playerstmp
|
||||||
|
// if (players.length == 0) playerstmp = ["1", "2", "3", "4", "5", "4"];
|
||||||
|
// else { playerstmp = players}
|
||||||
|
|
||||||
|
//* Gestion players
|
||||||
|
const playerList = Array.from({ length: parseInt(NbPlayer ?? '1') }, (_, index) => (index + 1).toString());
|
||||||
|
const playerColors = playerList.map((_, index) => positionToEmoji(index, true));
|
||||||
|
const players = playerColors.filter((_, index) => index !== parseInt(actualPlayerIndex ?? '0'));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// const players = [
|
||||||
|
// "🔵",
|
||||||
|
// "🟢",
|
||||||
|
// "🟡",
|
||||||
|
// "🟣",
|
||||||
|
// "🔴"
|
||||||
|
//]
|
||||||
|
//console.log(players)
|
||||||
|
// console.log(playerColors)
|
||||||
|
// console.log(actualPlayerIndex)
|
||||||
|
|
||||||
|
//* Gestion indices
|
||||||
|
const indices = Stub.GenerateIndice();
|
||||||
|
|
||||||
|
const halfLength = Math.ceil(indices.length / 2);
|
||||||
|
const firstHalfIndices = indices.slice(0, halfLength);
|
||||||
|
const secondHalfIndices = indices.slice(halfLength);
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div style={{ margin: '20px', display: 'flex', flexDirection: 'column' }}>
|
||||||
|
<div style={{ display: 'flex', flexDirection: 'row', overflowX: 'auto' }}>
|
||||||
|
{/* Premier tableau */}
|
||||||
|
<Table striped bordered hover style={{ marginRight: '20px' }}>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Indices</th>
|
||||||
|
{players.map((player, index) => (
|
||||||
|
<th key={index}>{player}</th>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{firstHalfIndices.map((indice, rowIndex) => (
|
||||||
|
<tr key={rowIndex}>
|
||||||
|
<td>{indice.ToString("fr")}</td>
|
||||||
|
{players.map((player, colIndex) => (
|
||||||
|
<td key={colIndex}>
|
||||||
|
{/* <input type="checkbox"/> */}
|
||||||
|
<Form.Check aria-label="option 1" />
|
||||||
|
</td>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</Table>
|
||||||
|
|
||||||
|
{/* Deuxième tableau */}
|
||||||
|
<Table striped bordered hover>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Indices</th>
|
||||||
|
{players.map((player, index) => (
|
||||||
|
<th key={index}>{player}</th>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{secondHalfIndices.map((indice, rowIndex) => (
|
||||||
|
<tr key={rowIndex}>
|
||||||
|
<td>{indice.ToString("fr")}</td>
|
||||||
|
{players.map((player, colIndex) => (
|
||||||
|
<td key={colIndex}>
|
||||||
|
{/* <input type="checkbox"/> */}
|
||||||
|
<Form.Check aria-label="option 1" />
|
||||||
|
</td>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</Table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DeducCheck;
|