diff --git a/front/style/team_panel.css b/front/style/team_panel.css
index 409ecc9..d9104a6 100644
--- a/front/style/team_panel.css
+++ b/front/style/team_panel.css
@@ -80,4 +80,46 @@ section {
width: 60%;
align-items: center;
background-color: #666666;
+}
+
+#headMembers{
+ width: 33%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+}
+
+#addMember{
+ height: 30px;
+ aspect-ratio: 1/1;
+ border-radius: 100%;
+ align-self: center;
+}
+
+.popup {
+ display: none;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0,0,0,0.7);
+}
+
+.popup-content {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background-color: #fff;
+ padding: 20px;
+ text-align: center;
+}
+
+.close {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ font-size: 20px;
+ cursor: pointer;
}
\ No newline at end of file
diff --git a/front/views/TeamPanel.tsx b/front/views/TeamPanel.tsx
index e6f7166..9b28097 100644
--- a/front/views/TeamPanel.tsx
+++ b/front/views/TeamPanel.tsx
@@ -6,7 +6,7 @@ export default function TeamPanel({isCoach, team}: {isCoach: boolean, team: Team
return (
@@ -49,13 +49,16 @@ function CoachOptions ({id}:{id:number}){
)
}
-function MembersDisplay({members}:{members : Member[]}){
+function MembersDisplay({members,isCoach}:{members : Member[], isCoach : boolean}){
const listMember = members.map((member) =>
);
return (
-
Membres :
+
+
Membres :
+
+
{listMember}
)
diff --git a/public/index.php b/public/index.php
index 906a2ae..afe7cd6 100644
--- a/public/index.php
+++ b/public/index.php
@@ -105,7 +105,7 @@ function getRoutes(): AltoRouter {
$ar->map("GET", "/team/[i:id]", Action::auth(fn(int $id, SessionHandle $s) => getTeamController()->displayTeam($id, $s)));
$ar->map("GET", "/team/[i:id]/delete", Action::auth(fn(int $id,SessionHandle $s) => getTeamController()->deleteTeamById($id,$s)));
$ar->map("GET", "/team/members/add", Action::auth(fn(SessionHandle $s) => getTeamController()->displayAddMember($s)));
- $ar->map("POST", "/team/members/add", Action::auth(fn(SessionHandle $s) => getTeamController()->addMember($_POST, $s)));
+ $ar->map("POST", "/team/[i:id]/addMember", Action::auth(fn(int $id,SessionHandle $s) => getTeamController()->addMember($id,$_POST, $s)));
$ar->map("GET", "/team/members/remove", Action::auth(fn(SessionHandle $s) => getTeamController()->displayDeleteMember($s)));
$ar->map("POST", "/team/members/remove", Action::auth(fn(SessionHandle $s) => getTeamController()->deleteMember($_POST, $s)));
diff --git a/src/App/Controller/TeamController.php b/src/App/Controller/TeamController.php
index 8b85773..56ac482 100644
--- a/src/App/Controller/TeamController.php
+++ b/src/App/Controller/TeamController.php
@@ -32,13 +32,7 @@ class TeamController {
}
- /**
- * @param SessionHandle $session
- * @return ViewHttpResponse the team panel to add a member
- */
- public function displayAddMember(SessionHandle $session): ViewHttpResponse {
- return ViewHttpResponse::twig("add_member.html.twig", []);
- }
+
/**
@@ -74,7 +68,7 @@ class TeamController {
}
$teamId = $this->model->createTeam($request['name'], $request['picture'], $request['main_color'], $request['second_color']);
$this->model->addMember($session->getAccount()->getUser()->getEmail(),$teamId,'COACH');
- return $this->displayTeam($teamId, $session);
+ return ViewHttpResponse::redirect('/team/'.$teamId);
}
/**
@@ -138,7 +132,7 @@ class TeamController {
}
else{
$role = $this->model->isCoach($id,$session->getAccount()->getUser()->getEmail());
- var_dump($role);
+
return ViewHttpResponse::react('views/TeamPanel.tsx', [
'team' => [
"info" => $result->getInfo(),
@@ -147,13 +141,21 @@ class TeamController {
}
}
+ /**
+ * @param SessionHandle $session
+ * @return ViewHttpResponse the team panel to add a member
+ */
+ public function displayAddMember(SessionHandle $session): ViewHttpResponse {
+ return ViewHttpResponse::twig("add_member.html.twig", []);
+ }
+
/**
* add a member to a team
* @param array $request
* @param SessionHandle $session
* @return HttpResponse
*/
- public function addMember(array $request, SessionHandle $session): HttpResponse {
+ public function addMember(int $idTeam,array $request, SessionHandle $session): HttpResponse {
$errors = [];
$request = HttpRequest::from($request, $errors, [
@@ -161,9 +163,8 @@ class TeamController {
"email" => [Validators::email(), Validators::lenBetween(5, 256)],
]);
- $teamId = intval($request['team']);
- $this->model->addMember($request['email'], $teamId, $request['role']);
- return $this->displayTeam($teamId, $session);
+ $this->model->addMember($request['email'], $idTeam, $request['role']);
+ return ViewHttpResponse::redirect('/team/'.$idTeam);
}
/**
diff --git a/src/App/Views/add_member.html.twig b/src/App/Views/add_member.html.twig
index c6bae0e..2cc9811 100644
--- a/src/App/Views/add_member.html.twig
+++ b/src/App/Views/add_member.html.twig
@@ -73,10 +73,8 @@
Ajouter un membre à votre équipe
-