From f5f673fd4e6657cad06584e6d8e922d84ab3570b Mon Sep 17 00:00:00 2001 From: Thomas Peetz Date: Sun, 27 Apr 2025 14:52:07 +0200 Subject: [PATCH] add comic artist details page --- kontor-api/Dockerfile | 2 +- .../src/templates/comic/artist_detail.html | 45 +++++++++++++++++++ .../comic/{detail.html => comic_detail.html} | 4 +- kontor-api/src/webapps/comic/route_comics.py | 7 ++- 4 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 kontor-api/src/templates/comic/artist_detail.html rename kontor-api/src/templates/comic/{detail.html => comic_detail.html} (88%) diff --git a/kontor-api/Dockerfile b/kontor-api/Dockerfile index b83ef6a..645a82b 100644 --- a/kontor-api/Dockerfile +++ b/kontor-api/Dockerfile @@ -51,5 +51,5 @@ ENV PATH="/app/.venv/bin:$PATH" EXPOSE $PORT # Start the application with Uvicorn in production mode, using environment variable references -CMD ["uvicorn", "src.main:app", "--log-level", "info", "--host", "0.0.0.0" , "--port", "8800"] +CMD ["uvicorn", "src.main:kontor", "--log-level", "info", "--host", "0.0.0.0" , "--port", "8800"] diff --git a/kontor-api/src/templates/comic/artist_detail.html b/kontor-api/src/templates/comic/artist_detail.html new file mode 100644 index 0000000..2c69b0d --- /dev/null +++ b/kontor-api/src/templates/comic/artist_detail.html @@ -0,0 +1,45 @@ +{% extends "shared/base.html" %} + + +{% block title %} + Comic Detail +{% endblock %} + +{% block content %} +
+
+
+

Comic Detail

+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
Artist Name{{artist.name}}
Works + {% for work in artist.comic_works %} +

+ {{work.work_type.name}}: {{work.comic.title}} +

+ {% endfor %} +
Data Created{{artist.created_date}}
Data Modified{{artist.last_modified_date}}
+
+
+{% endblock %} diff --git a/kontor-api/src/templates/comic/detail.html b/kontor-api/src/templates/comic/comic_detail.html similarity index 88% rename from kontor-api/src/templates/comic/detail.html rename to kontor-api/src/templates/comic/comic_detail.html index 3197577..57965fc 100644 --- a/kontor-api/src/templates/comic/detail.html +++ b/kontor-api/src/templates/comic/comic_detail.html @@ -22,7 +22,7 @@ Publisher - {{comic.publisher.name}} + {{comic.publisher.name}} Completed @@ -33,7 +33,7 @@ {% for work in comic.comic_works %}

- {{work.work_type.name}}: {{work.artist.name}} + {{work.work_type.name}}: {{work.artist.name}}

{% endfor %} diff --git a/kontor-api/src/webapps/comic/route_comics.py b/kontor-api/src/webapps/comic/route_comics.py index 642f8cd..524ea76 100644 --- a/kontor-api/src/webapps/comic/route_comics.py +++ b/kontor-api/src/webapps/comic/route_comics.py @@ -18,9 +18,14 @@ def get_comics(db: SessionDep, request: Request, msg: str = None): @router.get("/comics/{comic_id}") def comic_details(comic_id: UUID, request: Request, db: SessionDep): comic = db.get(Comic, comic_id) - return templates.TemplateResponse("comic/detail.html", {"request": request, "comic":comic}) + return templates.TemplateResponse("comic/comic_detail.html", {"request": request, "comic":comic}) @router.get("/artists") def get_artists(db: SessionDep, request: Request, msg: str = None): artists = db.query(Artist).all() return templates.TemplateResponse("comic/artists.html", {"request": request, "msg": msg, "artists": artists}) + +@router.get("/artists/{artist_id}") +def artist_detail(artist_id: UUID, request: Request, db: SessionDep): + artist = db.get(Artist, artist_id) + return templates.TemplateResponse("comic/artist_detail.html", {"request": request, "artist": artist})