From a08cdc5a0e66f59f3455aa019bb86099ccf2a6a1 Mon Sep 17 00:00:00 2001 From: vidufour1 Date: Sun, 19 Nov 2023 20:57:43 +0100 Subject: [PATCH 1/5] visualizer (without court svg) --- front/style/visualizer.css | 22 ++++++++++++++++ front/views/Visualizer.tsx | 16 ++++++++++++ public/index.php | 3 +++ sql/.guard | 0 src/Controller/VisualizerController.php | 34 +++++++++++++++++++++++++ 5 files changed, 75 insertions(+) create mode 100644 front/style/visualizer.css create mode 100644 front/views/Visualizer.tsx create mode 100644 sql/.guard create mode 100644 src/Controller/VisualizerController.php diff --git a/front/style/visualizer.css b/front/style/visualizer.css new file mode 100644 index 0000000..3798147 --- /dev/null +++ b/front/style/visualizer.css @@ -0,0 +1,22 @@ +#main { + height: 100%; + width: 100%; + background-color: var(--background-color); +} + +#topbar { + display: flex; + background-color: var(--main-color); + justify-content: center; + align-items: center; +} + +.h1 { + text-align: center; + margin-top: 0; +} + +.id { + width: 1000px; + height: 1000px; +} diff --git a/front/views/Visualizer.tsx b/front/views/Visualizer.tsx new file mode 100644 index 0000000..22d8fd9 --- /dev/null +++ b/front/views/Visualizer.tsx @@ -0,0 +1,16 @@ +import React, { CSSProperties, useState } from "react"; +import "../style/visualizer.css"; +import Court from "../assets/basketball_court.svg"; + +export default function Visualizer({ id, name }: { id: number; name: string }) { + const [style, setStyle] = useState({}); + + return ( +
+
+

{name}

+
+ Basketball Court +
+ ); +} diff --git a/public/index.php b/public/index.php index ba9d7c0..03fc378 100644 --- a/public/index.php +++ b/public/index.php @@ -16,6 +16,7 @@ use App\Model\TacticModel; use Twig\Loader\FilesystemLoader; use App\Validation\ValidationFail; use App\Controller\ErrorController; +use App\Controller\VisualizerController; $loader = new FilesystemLoader('../src/Views/'); @@ -30,6 +31,7 @@ $router->setBasePath($basePath); $sampleFormController = new SampleFormController(new FormResultGateway($con), $twig); $editorController = new EditorController(new TacticModel(new TacticInfoGateway($con))); +$visualizerController = new VisualizerController(new TacticModel(new TacticInfoGateway($con))); $router->map("GET", "/", fn() => $sampleFormController->displayFormReact()); @@ -38,6 +40,7 @@ $router->map("GET", "/twig", fn() => $sampleFormController->displayFormTwig()); $router->map("POST", "/submit-twig", fn() => $sampleFormController->submitFormTwig($_POST)); $router->map("GET", "/tactic/new", fn() => $editorController->makeNew()); $router->map("GET", "/tactic/[i:id]/edit", fn(int $id) => $editorController->openEditorFor($id)); +$router->map("GET", "/tactic/[i:id]/view", fn(int $id) => $visualizerController->openVisualizer($id)); $match = $router->match(); diff --git a/sql/.guard b/sql/.guard new file mode 100644 index 0000000..e69de29 diff --git a/src/Controller/VisualizerController.php b/src/Controller/VisualizerController.php new file mode 100644 index 0000000..93a83db --- /dev/null +++ b/src/Controller/VisualizerController.php @@ -0,0 +1,34 @@ +tacticModel = $tacticModel; + } + + public function openVisualizer(int $id): HttpResponse { + $tactic = $this->tacticModel->get($id); + + if ($tactic == null) { + return new JsonHttpResponse("la tactique " . $id . " n'existe pas", HttpCodes::NOT_FOUND); + } + + return ViewHttpResponse::react("views/Visualizer.tsx", ["name" => $tactic->getName()]); + + } + +} \ No newline at end of file -- 2.36.3 From 95acb04941066c6c23802a47e0ba6ca552a6ce84 Mon Sep 17 00:00:00 2001 From: "vivien.dufour" Date: Mon, 20 Nov 2023 08:55:51 +0100 Subject: [PATCH 2/5] visualizer who works --- front/style/visualizer.css | 20 ++++++++++++++------ front/views/Visualizer.tsx | 2 ++ public/index.php | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/front/style/visualizer.css b/front/style/visualizer.css index 3798147..2d1a73f 100644 --- a/front/style/visualizer.css +++ b/front/style/visualizer.css @@ -1,7 +1,8 @@ #main { - height: 100%; + height: 100vh; width: 100%; - background-color: var(--background-color); + display: flex; + flex-direction: column; } #topbar { @@ -11,12 +12,19 @@ align-items: center; } -.h1 { +h1 { text-align: center; margin-top: 0; } -.id { - width: 1000px; - height: 1000px; +#court-container { + flex: 1; + display: flex; + justify-content: center; + background-color: var(--main-color); +} + +#court { + max-width: 80%; + max-height: 80%; } diff --git a/front/views/Visualizer.tsx b/front/views/Visualizer.tsx index 22d8fd9..7ddc327 100644 --- a/front/views/Visualizer.tsx +++ b/front/views/Visualizer.tsx @@ -10,7 +10,9 @@ export default function Visualizer({ id, name }: { id: number; name: string }) {

{name}

+
Basketball Court +
); } diff --git a/public/index.php b/public/index.php index 03fc378..5e5fc9c 100644 --- a/public/index.php +++ b/public/index.php @@ -40,7 +40,7 @@ $router->map("GET", "/twig", fn() => $sampleFormController->displayFormTwig()); $router->map("POST", "/submit-twig", fn() => $sampleFormController->submitFormTwig($_POST)); $router->map("GET", "/tactic/new", fn() => $editorController->makeNew()); $router->map("GET", "/tactic/[i:id]/edit", fn(int $id) => $editorController->openEditorFor($id)); -$router->map("GET", "/tactic/[i:id]/view", fn(int $id) => $visualizerController->openVisualizer($id)); +$router->map("GET", "/tactic/[i:id]", fn(int $id) => $visualizerController->openVisualizer($id)); $match = $router->match(); -- 2.36.3 From 0bf44610081a5f84abe52c68a1828940e815fcba Mon Sep 17 00:00:00 2001 From: vidufour1 Date: Sun, 19 Nov 2023 20:57:43 +0100 Subject: [PATCH 3/5] visualizer (without court svg) --- front/style/visualizer.css | 22 ++++++++++++++++ front/views/Visualizer.tsx | 16 ++++++++++++ public/index.php | 3 +++ sql/.guard | 0 src/Controller/VisualizerController.php | 34 +++++++++++++++++++++++++ 5 files changed, 75 insertions(+) create mode 100644 front/style/visualizer.css create mode 100644 front/views/Visualizer.tsx create mode 100644 sql/.guard create mode 100644 src/Controller/VisualizerController.php diff --git a/front/style/visualizer.css b/front/style/visualizer.css new file mode 100644 index 0000000..3798147 --- /dev/null +++ b/front/style/visualizer.css @@ -0,0 +1,22 @@ +#main { + height: 100%; + width: 100%; + background-color: var(--background-color); +} + +#topbar { + display: flex; + background-color: var(--main-color); + justify-content: center; + align-items: center; +} + +.h1 { + text-align: center; + margin-top: 0; +} + +.id { + width: 1000px; + height: 1000px; +} diff --git a/front/views/Visualizer.tsx b/front/views/Visualizer.tsx new file mode 100644 index 0000000..22d8fd9 --- /dev/null +++ b/front/views/Visualizer.tsx @@ -0,0 +1,16 @@ +import React, { CSSProperties, useState } from "react"; +import "../style/visualizer.css"; +import Court from "../assets/basketball_court.svg"; + +export default function Visualizer({ id, name }: { id: number; name: string }) { + const [style, setStyle] = useState({}); + + return ( +
+
+

{name}

+
+ Basketball Court +
+ ); +} diff --git a/public/index.php b/public/index.php index e81d098..c75755a 100644 --- a/public/index.php +++ b/public/index.php @@ -16,6 +16,7 @@ use App\Model\TacticModel; use Twig\Loader\FilesystemLoader; use App\Validation\ValidationFail; use App\Controller\ErrorController; +use App\Controller\VisualizerController; $loader = new FilesystemLoader('../src/Views/'); $twig = new \Twig\Environment($loader); @@ -29,6 +30,7 @@ $router->setBasePath($basePath); $sampleFormController = new SampleFormController(new FormResultGateway($con)); $editorController = new EditorController(new TacticModel(new TacticInfoGateway($con))); +$visualizerController = new VisualizerController(new TacticModel(new TacticInfoGateway($con))); $router->map("GET", "/", fn() => $sampleFormController->displayFormReact()); @@ -37,6 +39,7 @@ $router->map("GET", "/twig", fn() => $sampleFormController->displayFormTwig()); $router->map("POST", "/submit-twig", fn() => $sampleFormController->submitFormTwig($_POST)); $router->map("GET", "/tactic/new", fn() => $editorController->makeNew()); $router->map("GET", "/tactic/[i:id]/edit", fn(int $id) => $editorController->openEditorFor($id)); +$router->map("GET", "/tactic/[i:id]/view", fn(int $id) => $visualizerController->openVisualizer($id)); $match = $router->match(); diff --git a/sql/.guard b/sql/.guard new file mode 100644 index 0000000..e69de29 diff --git a/src/Controller/VisualizerController.php b/src/Controller/VisualizerController.php new file mode 100644 index 0000000..93a83db --- /dev/null +++ b/src/Controller/VisualizerController.php @@ -0,0 +1,34 @@ +tacticModel = $tacticModel; + } + + public function openVisualizer(int $id): HttpResponse { + $tactic = $this->tacticModel->get($id); + + if ($tactic == null) { + return new JsonHttpResponse("la tactique " . $id . " n'existe pas", HttpCodes::NOT_FOUND); + } + + return ViewHttpResponse::react("views/Visualizer.tsx", ["name" => $tactic->getName()]); + + } + +} \ No newline at end of file -- 2.36.3 From 7662223415f2f8468f439affb76bfdb5ff19c00d Mon Sep 17 00:00:00 2001 From: "vivien.dufour" Date: Mon, 20 Nov 2023 08:55:51 +0100 Subject: [PATCH 4/5] visualizer who works --- front/style/visualizer.css | 20 ++++++++++++++------ front/views/Visualizer.tsx | 2 ++ public/index.php | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/front/style/visualizer.css b/front/style/visualizer.css index 3798147..2d1a73f 100644 --- a/front/style/visualizer.css +++ b/front/style/visualizer.css @@ -1,7 +1,8 @@ #main { - height: 100%; + height: 100vh; width: 100%; - background-color: var(--background-color); + display: flex; + flex-direction: column; } #topbar { @@ -11,12 +12,19 @@ align-items: center; } -.h1 { +h1 { text-align: center; margin-top: 0; } -.id { - width: 1000px; - height: 1000px; +#court-container { + flex: 1; + display: flex; + justify-content: center; + background-color: var(--main-color); +} + +#court { + max-width: 80%; + max-height: 80%; } diff --git a/front/views/Visualizer.tsx b/front/views/Visualizer.tsx index 22d8fd9..7ddc327 100644 --- a/front/views/Visualizer.tsx +++ b/front/views/Visualizer.tsx @@ -10,7 +10,9 @@ export default function Visualizer({ id, name }: { id: number; name: string }) {

{name}

+
Basketball Court +
); } diff --git a/public/index.php b/public/index.php index c75755a..7f19f63 100644 --- a/public/index.php +++ b/public/index.php @@ -39,7 +39,7 @@ $router->map("GET", "/twig", fn() => $sampleFormController->displayFormTwig()); $router->map("POST", "/submit-twig", fn() => $sampleFormController->submitFormTwig($_POST)); $router->map("GET", "/tactic/new", fn() => $editorController->makeNew()); $router->map("GET", "/tactic/[i:id]/edit", fn(int $id) => $editorController->openEditorFor($id)); -$router->map("GET", "/tactic/[i:id]/view", fn(int $id) => $visualizerController->openVisualizer($id)); +$router->map("GET", "/tactic/[i:id]", fn(int $id) => $visualizerController->openVisualizer($id)); $match = $router->match(); -- 2.36.3 From f5d9cd9e94e4ff38cfdfc5419337aa330ca9b13a Mon Sep 17 00:00:00 2001 From: "vivien.dufour" Date: Tue, 21 Nov 2023 10:32:01 +0100 Subject: [PATCH 5/5] formatage --- front/views/Visualizer.tsx | 17 +++++++++++------ src/Controller/VisualizerController.php | 5 ++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/front/views/Visualizer.tsx b/front/views/Visualizer.tsx index 7ddc327..541da09 100644 --- a/front/views/Visualizer.tsx +++ b/front/views/Visualizer.tsx @@ -1,9 +1,9 @@ -import React, { CSSProperties, useState } from "react"; -import "../style/visualizer.css"; -import Court from "../assets/basketball_court.svg"; +import React, { CSSProperties, useState } from "react" +import "../style/visualizer.css" +import Court from "../assets/basketball_court.svg" export default function Visualizer({ id, name }: { id: number; name: string }) { - const [style, setStyle] = useState({}); + const [style, setStyle] = useState({}) return (
@@ -11,8 +11,13 @@ export default function Visualizer({ id, name }: { id: number; name: string }) {

{name}

- Basketball Court + Basketball Court
- ); + ) } diff --git a/src/Controller/VisualizerController.php b/src/Controller/VisualizerController.php index 93a83db..50de2cb 100644 --- a/src/Controller/VisualizerController.php +++ b/src/Controller/VisualizerController.php @@ -15,8 +15,7 @@ class VisualizerController { /** * @param TacticModel $tacticModel */ - public function __construct(TacticModel $tacticModel) - { + public function __construct(TacticModel $tacticModel) { $this->tacticModel = $tacticModel; } @@ -31,4 +30,4 @@ class VisualizerController { } -} \ No newline at end of file +} -- 2.36.3