|
|
@@ -28,7 +28,10 @@ import {
|
|
|
type ThemePreference,
|
|
|
} from "../stats-shell"
|
|
|
|
|
|
-const statsLabFallbackUrl = "https://stats.opencode.ai"
|
|
|
+const statsCanonicalBaseUrl = "https://opencode.ai/data/"
|
|
|
+const statsUnfurlPath = "banner.png"
|
|
|
+const statsUnfurlAlt = "OpenCode Data wordmark on a dark patterned background"
|
|
|
+const statsUnfurlUrl = new URL(statsUnfurlPath, statsCanonicalBaseUrl).toString()
|
|
|
const labHeaderLinks: readonly HeaderLink[] = [
|
|
|
{ href: "#overview", label: "Overview" },
|
|
|
{ href: "#usage", label: "Usage" },
|
|
|
@@ -72,10 +75,7 @@ export default function StatsLab() {
|
|
|
`Explore ${labName()} models used in OpenCode, with recent token usage, context windows, release dates, and model-specific data.`,
|
|
|
)
|
|
|
const labUrl = createMemo(() =>
|
|
|
- new URL(
|
|
|
- `${import.meta.env.BASE_URL}${lab()?.id ?? labParam()}`,
|
|
|
- event?.request.url ?? (typeof window === "undefined" ? statsLabFallbackUrl : window.location.href),
|
|
|
- ).toString(),
|
|
|
+ new URL(lab()?.id ?? labParam(), statsCanonicalBaseUrl).toString(),
|
|
|
)
|
|
|
const updateThemePreference = (preference: ThemePreference) => {
|
|
|
applyThemePreference(preference)
|
|
|
@@ -102,9 +102,16 @@ export default function StatsLab() {
|
|
|
<Meta property="og:title" content={labTitle()} />
|
|
|
<Meta property="og:description" content={labDescription()} />
|
|
|
<Meta property="og:url" content={labUrl()} />
|
|
|
- <Meta name="twitter:card" content="summary" />
|
|
|
+ <Meta property="og:image" content={statsUnfurlUrl} />
|
|
|
+ <Meta property="og:image:type" content="image/png" />
|
|
|
+ <Meta property="og:image:width" content="1200" />
|
|
|
+ <Meta property="og:image:height" content="630" />
|
|
|
+ <Meta property="og:image:alt" content={statsUnfurlAlt} />
|
|
|
+ <Meta name="twitter:card" content="summary_large_image" />
|
|
|
<Meta name="twitter:title" content={labTitle()} />
|
|
|
<Meta name="twitter:description" content={labDescription()} />
|
|
|
+ <Meta name="twitter:image" content={statsUnfurlUrl} />
|
|
|
+ <Meta name="twitter:image:alt" content={statsUnfurlAlt} />
|
|
|
<Header githubStars={githubStars() ?? "150K"} links={labHeaderLinks} brandHref={import.meta.env.BASE_URL} />
|
|
|
<div data-component="container">
|
|
|
<div data-component="content">
|