test: centralize media role labels

This commit is contained in:
ik
2026-09-21 18:06:09 +07:00
parent d32796277c
commit 4f847db38a
4 changed files with 25 additions and 4 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
---
import SourceBadge from "./SourceBadge.astro";
import type { MediaAsset } from "../lib/api";
import { mediaRoleLabel } from "../lib/media";
const { asset, compact = false, sourceLink = false } = Astro.props as { asset: MediaAsset; compact?: boolean; sourceLink?: boolean };
const roleLabels: Record<string, string> = { waterbody_cover: "Заставка водоёма", waterbody_map: "Карта водоёма", waterbody_depth_map: "Карта глубин", waterbody_screenshot: "Скриншот водоёма", tackle_card: "Карточка снасти", tackle_detail: "Деталь снасти", rig_diagram: "Схема монтажа", tackle_screenshot: "Скриншот снасти" };
---
<figure class:list={["entity-media", { "entity-media--compact": compact }]}>
<span class="entity-media__frame"><picture>
@@ -12,5 +12,5 @@ const roleLabels: Record<string, string> = { waterbody_cover: "Заставка
})}
<img src={asset.image_url} alt={asset.label ?? "Иллюстрация RF4"} width={asset.width} height={asset.height} loading="lazy" decoding="async" />
</picture></span>
<figcaption><SourceBadge source={asset.source_system} href={sourceLink ? asset.source_url : undefined} /><span>{asset.label ?? "Справочный материал"}</span>{asset.media_role && <small data-media-role={asset.media_role}>{roleLabels[asset.media_role] ?? asset.media_role}</small>}</figcaption>
<figcaption><SourceBadge source={asset.source_system} href={sourceLink ? asset.source_url : undefined} /><span>{asset.label ?? "Справочный материал"}</span>{asset.media_role && <small data-media-role={asset.media_role}>{mediaRoleLabel(asset.media_role)}</small>}</figcaption>
</figure>