From c8a38f3eb86afb369f056559353091412ff6ff85 Mon Sep 17 00:00:00 2001 From: Xavier Date: Wed, 7 Oct 2026 08:33:52 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20ajout=20de=20l'=C3=A9pinglage=20et=20de?= =?UTF-8?q?=20la=20suppression=20des=20projets=20avec=20mise=20=C3=A0=20jo?= =?UTF-8?q?ur=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 25 +++++++++++- frontend/dashboard.html | 84 ++++++++++++++++++++++++++++++++--------- 2 files changed, 91 insertions(+), 18 deletions(-) diff --git a/backend/main.py b/backend/main.py index 9722c8e..68e3f15 100644 --- a/backend/main.py +++ b/backend/main.py @@ -173,4 +173,27 @@ def create_project(project: ProjectCreate, db: Session = Depends(get_db), curren db.add(new_project) db.commit() db.refresh(new_project) - return new_project \ No newline at end of file + return new_project + +@app.put("/api/projects/{project_id}/pin", response_model=ProjectResponse) +def toggle_pin_project(project_id: int, db: Session = Depends(get_db), current_user: User = Depends(get_current_user)): + """Bascule le statut épinglé (is_pinned) d'un projet.""" + project = db.query(Project).filter(Project.id == project_id, Project.user_id == current_user.id).first() + if not project: + raise HTTPException(status_code=404, detail="Projet introuvable") + + project.is_pinned = not project.is_pinned + db.commit() + db.refresh(project) + return project + +@app.delete("/api/projects/{project_id}") +def delete_project(project_id: int, db: Session = Depends(get_db), current_user: User = Depends(get_current_user)): + """Supprime définitivement un projet et tous ses messages associés.""" + project = db.query(Project).filter(Project.id == project_id, Project.user_id == current_user.id).first() + if not project: + raise HTTPException(status_code=404, detail="Projet introuvable") + + db.delete(project) + db.commit() + return {"message": "Projet supprimé"} \ No newline at end of file diff --git a/frontend/dashboard.html b/frontend/dashboard.html index 6c88a04..415dd25 100644 --- a/frontend/dashboard.html +++ b/frontend/dashboard.html @@ -42,20 +42,44 @@
-
+ +
+

Épinglés

+
    +
  • +
    + + {{ project.title }} +
    + +
  • +
+
+ +

Récents

    -
  • Aucun projet pour le moment.
  • -
  • - - {{ project.title }} +
  • Aucun projet pour le moment.
  • +
  • +
    + + {{ project.title }} +
    +
@@ -114,7 +138,8 @@