--- import Layout from "../layouts/Layout.astro"; import SourceBadge from "../components/SourceBadge.astro"; import SectionHeading from "../components/SectionHeading.astro"; import { api, kg, type DictionaryItem, type ImportRun, type OfficialRecord, type PaginatedOfficialRecord } from "../lib/api"; const params = Astro.url.searchParams; const fish = params.get("fish") ?? ""; const waterbody = params.get("waterbody") ?? ""; const requestedOffset = Number(params.get("offset") ?? 0); const offset = Number.isInteger(requestedOffset) && requestedOffset >= 0 ? requestedOffset : 0; let items: OfficialRecord[] = [], runs: ImportRun[] = [], fishes: DictionaryItem[] = [], waterbodies: DictionaryItem[] = []; let unavailable = false, showNoIndex = false, totalRecords = 0; try { const query = new URLSearchParams({ fish, waterbody, limit: "50", offset: String(offset) }); const paginated = await api(`/api/v1/records?${query}`); items = offset > 0 ? [...items, ...paginated.items] : paginated.items; totalRecords = paginated.total; [runs, fishes, waterbodies] = await Promise.all([api("/api/v1/imports?limit=1"), api("/api/v1/fishes"), api("/api/v1/waterbodies")]); } catch { unavailable = true; showNoIndex = true; Astro.response.status = 503; Astro.response.headers.set("Retry-After", "60"); } const last = runs[0]; ---
Публичные данные RF4

Официальные
рекорды

{last ? `Импорт: ${last.status}` : "Импорт ещё не запускался"}{last?.finished_at && {new Date(last.finished_at).toLocaleString("ru-RU")} · {last.rows_seen} строк}
{(fish || waterbody) && Сбросить}
{unavailable &&

Источник временно недоступен

} {!unavailable && items.length &&
РыбаВесВодоёмПриманкаИгрокДата и источник
{items.map(record =>
{record.fish}{kg(record.weight_g)}{record.waterbody}{record.bait ?? "—"}{record.player_name ?? "—"}
)}
} {!unavailable && items.length && offset + items.length < totalRecords && { const p = new URLSearchParams(params); p.delete("offset"); p.set("offset", String(offset + items.length)); return p.toString(); })()}`}>Показать ещё {offset + items.length} из {totalRecords}} {!unavailable && !items.length &&

Рекорды ещё не импортированы

Для выбранных условий записей пока нет.

}

Источник: официальный сайт Russian Fishing 4. Координаты в официальных таблицах отсутствуют.