feat(games): show games in library mode also

This commit is contained in:
2026-10-16 02:41:27 +02:00
parent 54ffe89445
commit 2f8fdb755b
7 changed files with 97 additions and 4 deletions
@@ -0,0 +1,18 @@
# Generated by Django 6.0.5 on 2026-10-16 00:33
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("games", "0010_game_steam_store_info"),
]
operations = [
migrations.AddField(
model_name="game",
name="library_image",
field=models.URLField(blank=True, default="", max_length=500),
),
]
+2
View File
@@ -15,6 +15,8 @@ class Game(models.Model):
custom_path = models.BooleanField(default=False)
image = models.URLField(null=True, blank=True)
description = models.TextField(blank=True, default="")
# Vertical (600x900) cover for games/showcase, empty = Steam's library capsule
library_image = models.URLField(max_length=500, blank=True, default="")
# Steam store info, refreshed in the background (see games.tasks).
# Prices are in cents, in steam_currency.
+9
View File
@@ -25,6 +25,7 @@ class SteamGameOut(Schema):
steam_app_id: int
store_url: str
header_image: str
library_image: str
short_description: str
is_free: bool
currency: str
@@ -44,6 +45,14 @@ class SteamGameOut(Schema):
or f"https://cdn.akamai.steamstatic.com/steam/apps/{obj.steam_app_id}/header.jpg"
)
@staticmethod
def resolve_library_image(obj) -> str:
# Vertical capsule, like in the Steam library
return (
obj.library_image
or f"https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/{obj.steam_app_id}/library_600x900.jpg"
)
@staticmethod
def resolve_short_description(obj) -> str:
return obj.steam_short_description