fix(podcast): lille omslag i link-forhåndsvisningen
Med det store omslag (3000 px) viste Messenger et kvadratisk billede i hele beskedens bredde. Forhåndsvisningen bruger nu cover-lille.jpg (300 px), når den findes, så den vises som en miniature ved teksten. Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG
This commit is contained in:
@@ -457,9 +457,14 @@ async def podcast_faelles_side(request: Request, key: str):
|
||||
base = str(request.base_url).rstrip("/")
|
||||
udsendelser = _podcast_kontekst(request, rod, med_kladder=False)
|
||||
s = udsendelser[0] if udsendelser else {"titel": "Podcast", "slug": "", "har_cover": False}
|
||||
# Et lille omslag (300 px), så Messenger viser en miniature ved teksten i
|
||||
# stedet for et billede i hele beskedens bredde.
|
||||
lille = bool(s.get("slug")) and podcast.cover(s["slug"], lille=True) is not None
|
||||
og = {"titel": s["titel"], "url": f"{base}{rod}/",
|
||||
"beskrivelse": "Familiens podcast. Lyt i browseren, eller abonnér i din podcast-app.",
|
||||
"billede": f"{base}{rod}/{s['slug']}/cover.jpg" if s.get("har_cover") else ""}
|
||||
"billede": (f"{base}{rod}/{s['slug']}/cover-lille.jpg" if lille else
|
||||
f"{base}{rod}/{s['slug']}/cover.jpg" if s.get("har_cover") else ""),
|
||||
"str": 300 if lille else 3000}
|
||||
headers = {"X-Robots-Tag": "noindex, nofollow, noarchive", "Referrer-Policy": "no-referrer",
|
||||
"Cache-Control": "private, no-store"}
|
||||
if forhaandsvisning:
|
||||
@@ -491,6 +496,14 @@ async def podcast_faelles_feed(request: Request, key: str, name: str):
|
||||
headers={"Cache-Control": "private, max-age=300", "X-Robots-Tag": "noindex, nofollow"})
|
||||
|
||||
|
||||
@app.get("/podcast/f/{key}/{name}/cover-lille.jpg")
|
||||
async def podcast_faelles_cover_lille(request: Request, key: str, name: str):
|
||||
p = podcast.cover(name, lille=True)
|
||||
if podcast.blokeret(_klient_ip(request)) or not podcast.faelles_slaa_op(key) or not p:
|
||||
_ikke_fundet(request)
|
||||
return FileResponse(p, media_type="image/jpeg", headers={"Cache-Control": "private, max-age=86400"})
|
||||
|
||||
|
||||
@app.get("/podcast/f/{key}/{name}/cover.jpg")
|
||||
async def podcast_faelles_cover(request: Request, key: str, name: str):
|
||||
p = podcast.cover(name)
|
||||
|
||||
Reference in New Issue
Block a user