ft_transcendence/containers/react/src/pages/Field.tsx
2023-06-26 07:06:16 +02:00

66 lines
1.2 KiB
TypeScript

import { useEffect } from 'react';
import DrawCanvas from './canvas.tsx';
import queryString from 'query-string';
import '../styles/field.css';
import React from 'react';
interface GameProps {
privateParty: boolean,
username?: string
gameId?: number
}
function Field()
{
useEffect(() => {
const queryParams = queryString.parse(window.location.search);
console.log("launch canva hehe")
let Modifiers = 0;
let info: GameProps;
if (queryParams.superpower === 'true') {
Modifiers += 1;
}
if (queryParams.obstacle === 'true') {
Modifiers += 2;
}
if (queryParams.speed === 'true') {
Modifiers += 4;
}
info = {
privateParty: false,
}
if (queryParams.username)
{
console.log("user= ", queryParams.username)
info = {
privateParty: true,
username: queryParams.username as string,
gameId: queryParams.gameId as unknown as number
}
console.log("info of param vefore canvas=", info)
}
const cleanup = DrawCanvas(Modifiers, info);
return () => {
console.log("Cleanup");
if (cleanup)
cleanup();
};
}, []);
return (
<div className="field" id="canvas_container">
<canvas id="myCanvas"></canvas>
</div>
);
}
export default Field;