fix: clarify combined tackle catalog outage
This commit is contained in:
@@ -65,9 +65,9 @@ const rigsParams = new URLSearchParams(search ? { q: search } : {});
|
||||
<a data-action="quiet" href="/tackle/analytics">Сочетания снастей</a>
|
||||
</form>
|
||||
{invalidFilters ? <StatePanel tone="error" title="Проверьте фильтры каталога" description="Один из параметров поиска имеет недопустимое значение. Измените фильтры и попробуйте снова." /> : <>
|
||||
{itemsUnavailable ? <StatePanel tone="unavailable" title="Каталог снастей временно недоступен" description="Сборки продолжают отображаться независимо. Попробуйте обновить карточки снастей позже." /> : result.items.length ? <section class="catalog-grid content-grid" aria-label="Карточки снастей">{result.items.map(item => <article class="catalog-card"><TackleGlyph name={item.name} size={32} /><span>{categoryLabels[item.category] ?? item.category}</span><a class="catalog-card__title" href={`/tackle/items/${item.id}`}><strong>{item.name}</strong></a><small>{[item.brand, item.family].filter(Boolean).join(" · ") || "Характеристики уточняются"}</small>{item.unlock_level !== null && <small>Открывается с уровня {item.unlock_level}</small>}<div class="tackle-card-passport"><DataPassport sources={item.source_system ? [item.source_system] : []} sourceUrl={item.source_url} observedAt={item.source_checked_at} completeness={item.missing_fields.length ? null : 100} status={item.missing_fields.length ? "incomplete" : item.source_checked_at ? "verified" : "unverified"}/></div></article>)}</section> : <StatePanel title={search ? "По запросу ничего не найдено" : "Подтверждённых карточек пока нет"} description={search ? "Измените запрос или сбросьте фильтры." : "Каталог заполнится после разрешённой загрузки и ручной проверки источников."} />}
|
||||
{itemsUnavailable ? <StatePanel tone="unavailable" title="Каталог снастей временно недоступен" description={rigsUnavailable ? "Каталог снастей и сборок сейчас не отвечает. Попробуйте обновить страницу позже." : "Сборки продолжают отображаться независимо. Попробуйте обновить карточки снастей позже."} /> : result.items.length ? <section class="catalog-grid content-grid" aria-label="Карточки снастей">{result.items.map(item => <article class="catalog-card"><TackleGlyph name={item.name} size={32} /><span>{categoryLabels[item.category] ?? item.category}</span><a class="catalog-card__title" href={`/tackle/items/${item.id}`}><strong>{item.name}</strong></a><small>{[item.brand, item.family].filter(Boolean).join(" · ") || "Характеристики уточняются"}</small>{item.unlock_level !== null && <small>Открывается с уровня {item.unlock_level}</small>}<div class="tackle-card-passport"><DataPassport sources={item.source_system ? [item.source_system] : []} sourceUrl={item.source_url} observedAt={item.source_checked_at} completeness={item.missing_fields.length ? null : 100} status={item.missing_fields.length ? "incomplete" : item.source_checked_at ? "verified" : "unverified"}/></div></article>)}</section> : <StatePanel title={search ? "По запросу ничего не найдено" : "Подтверждённых карточек пока нет"} description={search ? "Измените запрос или сбросьте фильтры." : "Каталог заполнится после разрешённой загрузки и ручной проверки источников."} />}
|
||||
{!itemsUnavailable && <Pagination path="/tackle" params={itemsParams} total={result.total} limit={limit} offset={itemsOffset} offsetParam="items_offset" itemLabel="карточек" />}
|
||||
<section class="rig-catalog content-grid" aria-labelledby="rig-catalog-title"><div class="section-heading"><div><span class="overline">Сборки снастей</span><h2 id="rig-catalog-title">Сборки</h2></div><span class="result-count">{rigs.total} всего</span></div>{rigsUnavailable ? <StatePanel contained={false} tone="unavailable" title="Сборки временно недоступны" description="Карточки отдельных снастей продолжают работать независимо." /> : rigs.items.length ? <div class="catalog-grid">{rigs.items.map(rig => <article class="catalog-card"><TackleGlyph name={rig.name} size={32} /><span>Сборка · {rig.component_count} компонентов</span><a class="catalog-card__title" href={`/tackle/rigs/${rig.id}`}><strong>{rig.name}</strong></a><small>{rig.source_system ?? "Источник не указан"}</small><div class="tackle-card-passport"><DataPassport sources={rig.source_system ? [rig.source_system] : []} sourceUrl={rig.source_url} observedAt={rig.source_checked_at} completeness={rig.missing_fields.length ? null : 100} status={rig.missing_fields.length ? "incomplete" : rig.source_checked_at ? "verified" : "unverified"}/></div></article>)}</div> : <StatePanel contained={false} title={search ? "По запросу сборки не найдены" : "Подтверждённых сборок пока нет"} description={search ? "Измените запрос или сбросьте фильтры." : "Сборки появятся после разрешённой загрузки и проверки источников."} />}</section>
|
||||
<section class="rig-catalog content-grid" aria-labelledby="rig-catalog-title"><div class="section-heading"><div><span class="overline">Сборки снастей</span><h2 id="rig-catalog-title">Сборки</h2></div><span class="result-count">{rigs.total} всего</span></div>{rigsUnavailable ? <StatePanel contained={false} tone="unavailable" title="Сборки временно недоступны" description={itemsUnavailable ? "Каталог снастей и сборок сейчас не отвечает. Попробуйте обновить страницу позже." : "Карточки отдельных снастей продолжают работать независимо."} /> : rigs.items.length ? <div class="catalog-grid">{rigs.items.map(rig => <article class="catalog-card"><TackleGlyph name={rig.name} size={32} /><span>Сборка · {rig.component_count} компонентов</span><a class="catalog-card__title" href={`/tackle/rigs/${rig.id}`}><strong>{rig.name}</strong></a><small>{rig.source_system ?? "Источник не указан"}</small><div class="tackle-card-passport"><DataPassport sources={rig.source_system ? [rig.source_system] : []} sourceUrl={rig.source_url} observedAt={rig.source_checked_at} completeness={rig.missing_fields.length ? null : 100} status={rig.missing_fields.length ? "incomplete" : rig.source_checked_at ? "verified" : "unverified"}/></div></article>)}</div> : <StatePanel contained={false} title={search ? "По запросу сборки не найдены" : "Подтверждённых сборок пока нет"} description={search ? "Измените запрос или сбросьте фильтры." : "Сборки появятся после разрешённой загрузки и проверки источников."} />}</section>
|
||||
{!rigsUnavailable && <Pagination path="/tackle" params={rigsParams} total={rigs.total} limit={limit} offset={rigsOffset} offsetParam="rigs_offset" itemLabel="сборок" />}
|
||||
</>}
|
||||
</Layout>
|
||||
|
||||
Reference in New Issue
Block a user