From bd244c8dde6d138ba8465413ecaa7088a662eeac Mon Sep 17 00:00:00 2001 From: "vivien.dufour" Date: Sat, 3 Feb 2024 18:04:18 +0100 Subject: [PATCH] push all my shareTactic work since 2 weeks, (can share and unshare tactic to team, draggable element for share, share icon on tactic hover to share to an account, just need to fix api tomorrow) --- front/assets/icon/share.png | Bin 0 -> 138048 bytes front/style/home/home.css | 2 + front/style/home/personnal_space.css | 23 ++++++++ front/style/home/side_menu.css | 1 + front/style/team_panel.css | 8 +++ front/views/Home.tsx | 62 ++++++++++++++++----- front/views/TeamPanel.tsx | 14 ++--- package.json | 1 + public/api/index.php | 6 +- src/Api/Controller/APITacticController.php | 42 ++++++++------ 10 files changed, 120 insertions(+), 39 deletions(-) create mode 100644 front/assets/icon/share.png diff --git a/front/assets/icon/share.png b/front/assets/icon/share.png new file mode 100644 index 0000000000000000000000000000000000000000..b6347d352eec042c422c0a49b1eebfddae6f02fb GIT binary patch literal 138048 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

2B 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 literal 0 HcmV?d00001 diff --git a/front/style/home/home.css b/front/style/home/home.css index 455e3af..a08a199 100644 --- a/front/style/home/home.css +++ b/front/style/home/home.css @@ -22,6 +22,7 @@ body { margin: 0px; height: 100%; background-color: var(--second-color); + overflow: hidden; } .data { @@ -29,6 +30,7 @@ body { background-color: var(--main-color); border-radius: 0.75cap; color: var(--main-contrast-color); + position: relative; } .data:hover { diff --git a/front/style/home/personnal_space.css b/front/style/home/personnal_space.css index ba5a9a7..8875868 100644 --- a/front/style/home/personnal_space.css +++ b/front/style/home/personnal_space.css @@ -31,8 +31,31 @@ padding-top: 1%; height: fit-content; text-align: center; + overflow: hidden; } tbody p { text-align: center; } + +.share-icon-container { + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); + padding: 5px; +} + +.share-button { + cursor: pointer; +} + +.share-icon-button { + background-color: transparent; + border: none; +} + +.share-icon { + color: white; + font-size: 2em; +} diff --git a/front/style/home/side_menu.css b/front/style/home/side_menu.css index 3a23947..f2371dd 100644 --- a/front/style/home/side_menu.css +++ b/front/style/home/side_menu.css @@ -16,6 +16,7 @@ #side-menu-content { width: 90%; } + .titre-side-menu { border-bottom: var(--main-color) solid 3px; width: 100%; diff --git a/front/style/team_panel.css b/front/style/team_panel.css index 151b2da..90597ab 100644 --- a/front/style/team_panel.css +++ b/front/style/team_panel.css @@ -30,6 +30,7 @@ body { align-items: center; width: 68%; margin-right: 2%; + margin-bottom: 15px; } #right-panel { @@ -37,6 +38,7 @@ body { flex-direction: column; align-items: center; width: 30%; + flex-grow: 1; } header { @@ -55,6 +57,10 @@ header h1 a { font-size: 1.4em; } +html, body, #main-div, #content-container, #right-panel, #tactics { + height: 100%; +} + .square { width: 50px; height: 50px; @@ -181,6 +187,8 @@ header h1 a { width: 100%; height: 100%; border-radius: 10px; + overflow: auto; + margin-bottom: 5px; } #head-tactics { diff --git a/front/views/Home.tsx b/front/views/Home.tsx index 35c59a3..00091f5 100644 --- a/front/views/Home.tsx +++ b/front/views/Home.tsx @@ -5,9 +5,10 @@ import { BASE } from "../Constants" import Draggable from "react-draggable"; import {NULL_POS} from "../components/arrows/Pos"; import {contains} from "../components/arrows/Box"; -import {useRef, useState} from "react"; +import React, {useRef, useState} from "react"; import { fetchAPI } from "../Fetcher" import {User} from "../model/User"; +import { FaShare } from "react-icons/fa"; import {SaveStates} from "../components/editor/SavingState"; interface Tactic { @@ -83,7 +84,7 @@ function SideMenu({ teams: Team[] }) { return ( -

@@ -153,7 +154,7 @@ function TableData({ i = 0 while (i < nbRow) { listTactic[i] = listTactic[i].map((tactic: Tactic, i) => ( - + )) i++ } @@ -175,23 +176,35 @@ function TableData({ function DraggableTableDataElement({ tactic, teams, - user, } : { tactic : Tactic teams : Team[] - user : User }) { const ref = useRef(null) const [dragging, setDragging] = useState(false) + const [hovered, setHovered] = useState(false); + + const handleButtonClick = (event: React.MouseEvent) => { + event.stopPropagation(); + if (!dragging) { + const userEmail = window.prompt("Entrez l'email à qui partager la tactique :"); + if(userEmail != null) { + onShareTactic(userEmail, tactic); + } + } else { + setDragging(false); + } + }; + return ( setDragging(true)} onStop={() => { if(dragging) { - onDropTactic(ref.current.getBoundingClientRect(), tactic, teams, user) + onDropTactic(ref.current.getBoundingClientRect(), tactic, teams) } }} - > + > + onMouseEnter={() => setHovered(true)} + onMouseLeave={() => setHovered(false)} + > + {truncateString(tactic.name, 25)} + {hovered && ( +
+ +
+ )}
) @@ -316,22 +339,35 @@ function truncateString(name: string, limit: number): string { return name } -function onDropTactic(ref : DOMRect, tactic : Tactic, teams : Team[], user : User) { +function onDropTactic(ref : DOMRect, tactic : Tactic, teams : Team[]) { let shared = false; for (const team of teams) { if (contains(ref, document.getElementById(`button-team-${team.id}`)!.getBoundingClientRect())) { if (!shared) { - shareTacticToTeam(tactic, team, user); + shareTacticToTeam(tactic, team); shared = true; } } } } -async function shareTacticToTeam(tactic : Tactic, team : Team, user : User) { - const canShare = await fetchAPI(`tactic/${tactic.id}/can-share-to-team`, team).then((r) => r.ok); +async function onShareTactic(email: string, tactic: Tactic) { + const canShareResponse = await fetchAPI(`tactic/${tactic.id}/can-share`, tactic); + if (canShareResponse.ok) { + const shareToAccountResponse = await fetchAPI(`tactic/${tactic.id}/share-to-account`, email); + if (!shareToAccountResponse.ok) { + alert("Une erreur s'est produite lors du partage de la tactique avec ce compte"); + } + } else { + alert("Vous ne pouvez pas partager cette tactique"); + } +} + + +async function shareTacticToTeam(tactic : Tactic, team : Team) { + const canShare = await fetchAPI(`tactic/${tactic.id}/can-share-to-team`, team).then((r) => r.ok) if(canShare && confirm("Etes-vous sûr de vouloir partager la tactique " + tactic.name + " avec l'équipe " + team.name)) { - fetchAPI(`tactic/${tactic.id}/share`, team) + fetchAPI(`tactic/${tactic.id}/share-to-team`, team) } if(!canShare) { alert("Vous ne pouvez pas partager cette tactique à cette équipe") diff --git a/front/views/TeamPanel.tsx b/front/views/TeamPanel.tsx index 4856d55..8ba5aa5 100644 --- a/front/views/TeamPanel.tsx +++ b/front/views/TeamPanel.tsx @@ -19,7 +19,7 @@ export default function TeamPanel({ const [teamTactics, setTeamTactics] = useState(tactics); function handleTacticDelete(tacticId) { - fetchAPI(`tactic/${tacticId}/unshare`, team.info) + fetchAPI(`tactic/${tacticId}/unshare-to-team`, team.info) const updatedTactics = teamTactics.filter((tactic) => tactic.id !== tacticId); setTeamTactics(updatedTactics); } @@ -114,6 +114,7 @@ function MembersDisplay({ }) { const listMember = members.map((member) => ( void }) { return ( -
+
location.pathname = BASE + "/tactic/" + tactic.id + "/edit"}>

{tactic.name}

{isCoach && ( diff --git a/package.json b/package.json index 1380d59..d330e30 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-draggable": "^4.4.6", + "react-icons": "^5.0.1", "typescript": "^5.2.2", "vite": "^4.5.0", "vite-plugin-css-injected-by-js": "^3.3.0" diff --git a/public/api/index.php b/public/api/index.php index 10a5326..5d63f68 100644 --- a/public/api/index.php +++ b/public/api/index.php @@ -39,9 +39,11 @@ function getRoutes(): AltoRouter { $router->map("POST", "/tactic/[i:id]/can-share", Action::auth(fn(int $id, Account $acc) => getTacticController()->canShareTactic($id, $acc))); $router->map("POST", "/tactic/[i:id]/can-share-to-team", Action::auth(fn(int $id, Account $acc) => getTacticController()->canShareTacticToTeam($id, $acc))); - $router->map("POST", "/tactic/[i:id]/share", Action::auth(fn(int $id, Account $acc) => getTacticController()->shareTacticToTeam($id, $acc))); + $router->map("POST", "/tactic/[i:id]/share-to-team", Action::auth(fn(int $id, Account $acc) => getTacticController()->shareTacticToTeam($id, $acc))); + $router->map("POST", "/tactic/[i:id]/share-to-account", Action::auth(fn(int $id, Account $acc) => getTacticController()->shareTacticToAccount($id, $acc))); - $router->map("POST", "/tactic/[i:id]/unshare", Action::auth(fn(int $id, Account $acc) => getTacticController()->unshareTactic($id, $acc))); + + $router->map("POST", "/tactic/[i:id]/unshare-to-team", Action::auth(fn(int $id, Account $acc) => getTacticController()->unshareTacticToTeam($id, $acc))); return $router; } diff --git a/src/Api/Controller/APITacticController.php b/src/Api/Controller/APITacticController.php index 50c291e..234e4d7 100644 --- a/src/Api/Controller/APITacticController.php +++ b/src/Api/Controller/APITacticController.php @@ -68,14 +68,15 @@ class APITacticController { } - public function canShareTactic(int $tacticId, Account $account) : bool { + public function canShareTactic(int $tacticId, Account $account): HttpResponse { if ($this->tacticModel->canShareTactic($tacticId, $account)) { - return true; + return HttpResponse::fromCode(HttpCodes::OK); } - return false; + return new JsonHttpResponse(["message" => "Vous ne pouvez pas partager cette tactique"], HttpCodes::FORBIDDEN); } - public function canShareTacticToTeam(int $tacticId, Account $account) { + + public function canShareTacticToTeam(int $tacticId, Account $account): HttpResponse { return Control::runChecked([ "id" => [], "name" => [], @@ -83,17 +84,17 @@ class APITacticController { "main_color" => [], "second_color" => [] ], function (HttpRequest $request) use ($tacticId, $account) { - if($this->canShareTactic($tacticId, $account)) { - if($this->teamModel->canShareTacticToTeam($request["id"], $account->getUser()->getEmail())) { + if ($this->canShareTactic($tacticId, $account)) { + if ($this->teamModel->canShareTacticToTeam($request["id"], $account->getUser()->getEmail())) { return HttpResponse::fromCode(HttpCodes::OK); } } - return HttpResponse::fromCode(HttpCodes::BAD_REQUEST); - } - ); + return new JsonHttpResponse(["message" => "Action non autorisée"], HttpCodes::FORBIDDEN); + }); } - public function shareTacticToTeam(int $tacticId, Account $account) { + + public function shareTacticToTeam(int $tacticId, Account $account): HttpResponse { return Control::runChecked([ "id" => [], "name" => [], @@ -103,11 +104,19 @@ class APITacticController { ], function (HttpRequest $request) use ($tacticId, $account) { $this->teamModel->shareTacticToTeam($request["id"], $tacticId); return HttpResponse::fromCode(HttpCodes::OK); - } - ); + }); } - public function unshareTactic(int $tacticId, Account $account) { + public function shareTacticToAccount(int $tacticId, Account $account): HttpResponse { + return Control::runChecked([ + "email" => [], + ], function (HttpRequest $request) use ($tacticId, $account) { + $this->tacticModel->shareTacticToAccountMail($request["email"], $tacticId); + return HttpResponse::fromCode(HttpCodes::OK); + }); + } + + public function unshareTacticToTeam(int $tacticId, Account $account): HttpResponse { return Control::runChecked([ "id" => [], "name" => [], @@ -115,13 +124,12 @@ class APITacticController { "mainColor" => [], "secondColor" => [] ], function (HttpRequest $request) use ($tacticId, $account) { - if($this->teamModel->canShareTacticToTeam($request["id"], $account->getUser()->getEmail())) { + if ($this->teamModel->canShareTacticToTeam($request["id"], $account->getUser()->getEmail())) { $this->teamModel->unshareTacticToTeam($tacticId, $request["id"]); return HttpResponse::fromCode(HttpCodes::OK); } - return HttpResponse::fromCode(HttpCodes::BAD_REQUEST); - } - ); + return new JsonHttpResponse(["message" => "Action non autorisée"], HttpCodes::FORBIDDEN); + }); } }