fix: make media provenance explicit
CI / backend-and-migrations (push) Failing after 38s
CI / astro-build (push) Failing after 39s
CI / dependency-audit (push) Failing after 46s
CI / compose-e2e (push) Failing after 41s

This commit is contained in:
ik
2026-09-22 20:02:40 +07:00
parent 1920475580
commit a357988f93
4 changed files with 36 additions and 4 deletions
+2 -1
View File
@@ -4,6 +4,7 @@ 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 isLowResolution = Math.min(asset.width, asset.height) < 256;
const hasCardVariant = (asset.variants ?? []).some(item => item.role === "card" && Math.min(item.width, item.height) >= 256);
---
<figure class:list={["entity-media", { "entity-media--compact": compact }]}>
<span class="entity-media__frame"><picture>
@@ -13,5 +14,5 @@ const isLowResolution = Math.min(asset.width, asset.height) < 256;
})}
<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}>{mediaRoleLabel(asset.media_role)}</small>}{isLowResolution && <small class="entity-media__quality" title="Источник не содержит более крупной проверенной версии">Низкое разрешение · {asset.width}×{asset.height}</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>}{isLowResolution && <small class="entity-media__quality" title={hasCardVariant ? "Доступна более крупная проверенная версия" : "В опубликованном наборе нет более крупной проверенной версии"}>{hasCardVariant ? "Миниатюра · доступна версия крупнее" : "Низкое разрешение · проверенная альтернатива не найдена"} · {asset.width}×{asset.height}</small>}</figcaption>
</figure>