refactor: unify editorial section headings

This commit is contained in:
ik
2026-09-12 09:57:56 +07:00
parent fc22795b63
commit 9647667ae2
6 changed files with 30 additions and 3 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
---
import SourceBadge from "./SourceBadge.astro";
import SectionHeading from "./SectionHeading.astro";
import { ago, kg, type PublicObservation } from "../lib/api";
const { signals } = Astro.props as { signals: PublicObservation[] };
const groups = [...signals.reduce((map, signal) => {
@@ -17,7 +18,7 @@ const groups = [...signals.reduce((map, signal) => {
}, new Map<string, PublicObservation & { observations: PublicObservation[] }>()).values()];
---
<section class="signal-section content-grid" aria-labelledby="signals-title">
<div class="signal-heading"><div><span class="overline">Сырые данные источников</span><h2 id="signals-title">Полевые сигналы</h2><p>Показываем сразу, даже если часть полей отсутствует. Эти карточки не участвуют в расчёте активности до полного подтверждения.</p></div><span class="signal-count">{signals.length} сигналов · {groups.length} сюжетов</span></div>
<SectionHeading editorial eyebrow="Сырые данные источников" title="Полевые сигналы" id="signals-title" description="Показываем сразу, даже если часть полей отсутствует. Эти карточки не участвуют в расчёте активности до полного подтверждения." count={`${signals.length} сигналов · ${groups.length} сюжетов`} />
<div class="signal-grid">{groups.map(signal => {
const provenance = [...new Map(signal.observations.map(item => [`${item.source_system}|${item.source_url}`, item])).values()];
return <article class="signal-card" data-quality={signal.quality}>