From a72c3880bb2136a25d9d0af9806158715d2538c5 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Wed, 8 Jul 2026 16:30:17 +0000 Subject: [PATCH] chore: generate --- .../stats/app/src/routes/[lab]/[model].tsx | 4 +- packages/stats/app/src/routes/[lab]/index.tsx | 6 +- .../[secondLab]/[secondModel].tsx | 67 ++++++++++--------- .../stats/app/src/routes/compare/index.tsx | 56 +++++++++------- packages/stats/app/src/routes/index.css | 12 +++- packages/stats/app/src/routes/stats-shell.tsx | 4 +- 6 files changed, 82 insertions(+), 67 deletions(-) diff --git a/packages/stats/app/src/routes/[lab]/[model].tsx b/packages/stats/app/src/routes/[lab]/[model].tsx index ddd8ff1e2e..7d14ec3d01 100644 --- a/packages/stats/app/src/routes/[lab]/[model].tsx +++ b/packages/stats/app/src/routes/[lab]/[model].tsx @@ -1205,7 +1205,9 @@ function modelComparisonPairs( }, detail: "Usage peer", })) - const catalogPairs = (catalogEntry && catalog ? catalog.labs.find((lab) => lab.id === catalogEntry.lab)?.models ?? [] : []) + const catalogPairs = ( + catalogEntry && catalog ? (catalog.labs.find((lab) => lab.id === catalogEntry.lab)?.models ?? []) : [] + ) .filter((model) => model.id !== catalogEntry?.id) .slice(0, 3) .map((model) => ({ diff --git a/packages/stats/app/src/routes/[lab]/index.tsx b/packages/stats/app/src/routes/[lab]/index.tsx index 17b0783823..01b7a4fc2f 100644 --- a/packages/stats/app/src/routes/[lab]/index.tsx +++ b/packages/stats/app/src/routes/[lab]/index.tsx @@ -28,11 +28,7 @@ import { import { SectionHeading } from "../section-heading" import { runStatsEffect } from "../../stats-runtime" import { setStatsPageCacheHeaders } from "../stats-cache" -import { - ComparisonCardsSection, - modelRefFromCatalog, - uniqueComparisonPairs, -} from "../compare-cards" +import { ComparisonCardsSection, modelRefFromCatalog, uniqueComparisonPairs } from "../compare-cards" import { applyThemePreference, Footer, diff --git a/packages/stats/app/src/routes/compare/[firstLab]/[firstModel]/[secondLab]/[secondModel].tsx b/packages/stats/app/src/routes/compare/[firstLab]/[firstModel]/[secondLab]/[secondModel].tsx index 6455e0f148..88df35bf36 100644 --- a/packages/stats/app/src/routes/compare/[firstLab]/[firstModel]/[secondLab]/[secondModel].tsx +++ b/packages/stats/app/src/routes/compare/[firstLab]/[firstModel]/[secondLab]/[secondModel].tsx @@ -1,9 +1,6 @@ import "../../../../index.css" import { Link, Meta, Title } from "@solidjs/meta" -import { - getStatsModelComparisonData, - type StatsModelComparisonEntry, -} from "@opencode-ai/stats-core/domain/home" +import { getStatsModelComparisonData, type StatsModelComparisonEntry } from "@opencode-ai/stats-core/domain/home" import { runtime } from "@opencode-ai/stats-core/runtime" import { createAsync, query, useParams } from "@solidjs/router" import { createMemo, createSignal, For, onMount, Show } from "solid-js" @@ -124,7 +121,11 @@ export default function ModelComparePair() { const rows = createMemo(() => buildComparisonRows(models()[0], models()[1])) const relatedPairs = createMemo(() => buildRelatedPairs(catalog(), models()[0], models()[1])) const selectorModels = createMemo(() => - uniqueCatalogModels([comparisonCatalogEntry(models()[0]), comparisonCatalogEntry(models()[1]), ...(catalog()?.models ?? [])]), + uniqueCatalogModels([ + comparisonCatalogEntry(models()[0]), + comparisonCatalogEntry(models()[1]), + ...(catalog()?.models ?? []), + ]), ) const structuredData = createMemo(() => JSON.stringify({ @@ -176,17 +177,16 @@ export default function ModelComparePair() {

- Comparison Table.{" "} - Compare usage, cost, limits, and features. + Comparison Table. Compare usage, cost, limits, and features.

- Loading comparison -

Loading stats for both models.

- - } + fallback={ +
+ Loading comparison +

Loading stats for both models.

+
+ } >
@@ -197,12 +197,12 @@ export default function ModelComparePair() {

1} - fallback={ -
- No models found -

The model list could not be loaded.

-
- } + fallback={ +
+ No models found +

The model list could not be loaded.

+
+ } > terms.every((term) => modelSearchText(model).includes(term))) }) const preview = createMemo( - () => - filteredModels().find((model) => model.id === previewId()) ?? - filteredModels()[0] ?? - availableModels()[0], + () => filteredModels().find((model) => model.id === previewId()) ?? filteredModels()[0] ?? availableModels()[0], ) createEffect(() => { @@ -395,7 +392,10 @@ function CompareModelDetail(props: { model: ModelCatalogEntry }) { {props.model.name}
-

{props.model.description ?? `${props.model.name} is an AI model from ${formatCatalogLabName(props.model.lab)}.`}

+

+ {props.model.description ?? + `${props.model.name} is an AI model from ${formatCatalogLabName(props.model.lab)}.`} +

@@ -464,7 +464,9 @@ function CompareHomeCard(props: { category: CompareCategory }) { {props.category.second.name} ) @@ -485,22 +487,25 @@ function LabLogo(props: { lab: string; label: string; size: "large" | "small" | } function buildComparisonCategories(models: ModelCatalogEntry[]): CompareCategory[] { - return categoryTemplates.reduce<{ keys: Set; categories: CompareCategory[] }>((result, template, index) => { - const candidates = categoryCandidates(template.kind, models) - const pair = categoryPair(candidates, models, index, result.keys) - if (!pair) return result - result.keys.add(comparisonKey(pair.first, pair.second)) - const first = modelRefFromCatalog(pair.first) - const second = modelRefFromCatalog(pair.second) - result.categories.push({ - title: template.title, - description: template.description, - first, - second, - avatars: [first, second], - }) - return result - }, { keys: new Set(), categories: [] }).categories + return categoryTemplates.reduce<{ keys: Set; categories: CompareCategory[] }>( + (result, template, index) => { + const candidates = categoryCandidates(template.kind, models) + const pair = categoryPair(candidates, models, index, result.keys) + if (!pair) return result + result.keys.add(comparisonKey(pair.first, pair.second)) + const first = modelRefFromCatalog(pair.first) + const second = modelRefFromCatalog(pair.second) + result.categories.push({ + title: template.title, + description: template.description, + first, + second, + avatars: [first, second], + }) + return result + }, + { keys: new Set(), categories: [] }, + ).categories } function categoryPair( @@ -525,9 +530,10 @@ function categoryCandidates(kind: (typeof categoryTemplates)[number]["kind"], mo if (kind === "affordable") return models .filter((model) => model.cost) - .toSorted((a, b) => modelCost(a) - modelCost(b) || displayDateTime(b.releaseDate) - displayDateTime(a.releaseDate)) - if (kind === "code") - return models.filter((model) => model.toolCall || model.reasoning).toSorted(recentModelSort) + .toSorted( + (a, b) => modelCost(a) - modelCost(b) || displayDateTime(b.releaseDate) - displayDateTime(a.releaseDate), + ) + if (kind === "code") return models.filter((model) => model.toolCall || model.reasoning).toSorted(recentModelSort) if (kind === "image") return models .filter((model) => model.modalities.output.some((modality) => modality.toLowerCase().includes("image"))) diff --git a/packages/stats/app/src/routes/index.css b/packages/stats/app/src/routes/index.css index 24f470f86d..ca6c335b26 100644 --- a/packages/stats/app/src/routes/index.css +++ b/packages/stats/app/src/routes/index.css @@ -5726,11 +5726,15 @@ } [data-page="stats"] [data-component="compare-home-selector"] button[data-slot="compare-home-select-panel"]:hover, -[data-page="stats"] [data-component="compare-home-selector"] button[data-slot="compare-home-select-panel"]:focus-within { +[data-page="stats"] + [data-component="compare-home-selector"] + button[data-slot="compare-home-select-panel"]:focus-within { background: var(--stats-layer); } -[data-page="stats"] [data-component="compare-home-selector"] button[data-slot="compare-home-select-panel"]:focus-visible { +[data-page="stats"] + [data-component="compare-home-selector"] + button[data-slot="compare-home-select-panel"]:focus-visible { z-index: 1; outline: 1px solid var(--stats-line-strong); outline-offset: -1px; @@ -6043,7 +6047,9 @@ [data-page="stats"] [data-component="compare-model-modal"] button[data-slot="compare-model-modal-row"]:hover, [data-page="stats"] [data-component="compare-model-modal"] button[data-slot="compare-model-modal-row"]:focus-visible, -[data-page="stats"] [data-component="compare-model-modal"] button[data-slot="compare-model-modal-row"][data-active="true"] { +[data-page="stats"] + [data-component="compare-model-modal"] + button[data-slot="compare-model-modal-row"][data-active="true"] { color: var(--stats-text); background: var(--stats-layer-2); outline: none; diff --git a/packages/stats/app/src/routes/stats-shell.tsx b/packages/stats/app/src/routes/stats-shell.tsx index ca9b0e68fc..8906dc9d5a 100644 --- a/packages/stats/app/src/routes/stats-shell.tsx +++ b/packages/stats/app/src/routes/stats-shell.tsx @@ -243,7 +243,9 @@ export function Footer(props: { { href: "https://www.youtube.com/@anomaly-co", label: i18n.t("footer.youtube") }, ] const bridge = () => - props.bridge === undefined ? { href: "#geo-breakdown", label: i18n.t("nav.geoBreakdown").toUpperCase() } : props.bridge + props.bridge === undefined + ? { href: "#geo-breakdown", label: i18n.t("nav.geoBreakdown").toUpperCase() } + : props.bridge return (