feat: add semantic tackle glyphs

This commit is contained in:
ik
2026-09-12 15:30:40 +07:00
parent c3e847c249
commit 80d534d549
12 changed files with 59 additions and 6 deletions
+2 -1
View File
@@ -1,13 +1,14 @@
---
import SourceBadge from "./SourceBadge.astro";
import { ago, kg, type Catch } from "../lib/api";
import TackleGlyph from "./TackleGlyph.astro";
const { catches } = Astro.props as { catches: Catch[] };
---
<div class="catch-list">
{catches.map(item => {
const timestamp = item.caught_at ?? item.reported_at;
return <article>
<div><strong>{item.fish}</strong><span>{item.bait ?? "Приманка не указана"}</span><SourceBadge source={item.source_system} href={item.source_url}/></div>
<div><strong>{item.fish}</strong><span class="tackle-label"><TackleGlyph name={item.bait} size={24}/><span>{item.bait ?? "Приманка не указана"}</span></span><SourceBadge source={item.source_system} href={item.source_url}/></div>
<div><strong>{kg(item.weight_g)}</strong><span>{item.player_name ?? "Анонимно"}</span><span>{item.caught_at ? "Время улова" : "Получено · время улова неизвестно"}</span><time datetime={timestamp}>{ago(timestamp)} · {new Date(timestamp).toLocaleString("ru-RU", { timeZone: "UTC" })} UTC</time></div>
</article>;
})}