Show detail
-{{ show()!.description || show()!.summary }}
+Show detail
+{{ show()!.description || show()!.summary }}
+{{ show.summary }}
@@ -157,6 +162,22 @@ import { ShowListItem, ShowsApiService } from '../services/shows-api.service'; box-shadow: var(--azionelab-shadow); } + .show-image-wrap { + aspect-ratio: 16 / 10; + overflow: hidden; + border-bottom: 1px solid var(--azionelab-border); + background: + linear-gradient(135deg, rgba(207, 71, 51, 0.14), rgba(15, 22, 36, 0.06)), + #f8f1ea; + } + + .show-image { + width: 100%; + height: 100%; + display: block; + object-fit: cover; + } + .show-card mat-card-content { flex: 1; } diff --git a/frontend/src/app/services/shows-api.service.ts b/frontend/src/app/services/shows-api.service.ts index b369313..7f569d7 100644 --- a/frontend/src/app/services/shows-api.service.ts +++ b/frontend/src/app/services/shows-api.service.ts @@ -9,6 +9,7 @@ export type ShowListItem = { title: string; slug: string; summary: string; + image_url: string; poster_image: string; }; diff --git a/infra/docker/compose.yml b/infra/docker/compose.yml index 0d26a35..e7a49bb 100644 --- a/infra/docker/compose.yml +++ b/infra/docker/compose.yml @@ -21,6 +21,7 @@ services: - "${BACKEND_PORT:-8000}" volumes: - django_static:/app/staticfiles + - django_media:/app/media depends_on: postgres: condition: service_healthy @@ -70,6 +71,7 @@ services: volumes: - ./nginx/templates:/etc/nginx/templates:ro - django_static:/var/www/static:ro + - django_media:/var/www/media:ro depends_on: - backend - frontend @@ -80,6 +82,7 @@ services: volumes: postgres_data: django_static: + django_media: networks: internal: diff --git a/infra/docker/nginx/templates/default.conf.template b/infra/docker/nginx/templates/default.conf.template index 50a3f3d..85fcc90 100644 --- a/infra/docker/nginx/templates/default.conf.template +++ b/infra/docker/nginx/templates/default.conf.template @@ -35,9 +35,9 @@ server { } location /media/ { - proxy_pass http://azionelab_backend; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-Proto $scheme; + alias /var/www/media/; + access_log off; + expires 1d; } location / {