summaryrefslogtreecommitdiffhomepage
path: root/packages/console/app/src/routes/black
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-06 11:30:40 -0600
committerGitHub <[email protected]>2026-02-06 11:30:40 -0600
commit24cd84cda5522e4607e8e3fb3626f289d7e348f4 (patch)
tree81dec57e565c24255e5e6ad2dfac58ea0e770018 /packages/console/app/src/routes/black
parent8069197329d2d1b958d8e7f63daaf9662a97027d (diff)
downloadopencode-24cd84cda5522e4607e8e3fb3626f289d7e348f4.tar.gz
opencode-24cd84cda5522e4607e8e3fb3626f289d7e348f4.zip
feat(www): locale specific urls (#12508)
Diffstat (limited to 'packages/console/app/src/routes/black')
-rw-r--r--packages/console/app/src/routes/black/index.tsx4
-rw-r--r--packages/console/app/src/routes/black/subscribe/[plan].tsx4
-rw-r--r--packages/console/app/src/routes/black/workspace.tsx6
3 files changed, 9 insertions, 5 deletions
diff --git a/packages/console/app/src/routes/black/index.tsx b/packages/console/app/src/routes/black/index.tsx
index ad7a115d0..72b196f57 100644
--- a/packages/console/app/src/routes/black/index.tsx
+++ b/packages/console/app/src/routes/black/index.tsx
@@ -3,10 +3,12 @@ import { Title } from "@solidjs/meta"
import { createMemo, createSignal, For, Match, onMount, Show, Switch } from "solid-js"
import { PlanIcon, plans } from "./common"
import { useI18n } from "~/context/i18n"
+import { useLanguage } from "~/context/language"
export default function Black() {
const [params] = useSearchParams()
const i18n = useI18n()
+ const language = useLanguage()
const [selected, setSelected] = createSignal<string | null>((params.plan as string) || null)
const [mounted, setMounted] = createSignal(false)
const selectedPlan = createMemo(() => plans.find((p) => p.id === selected()))
@@ -104,7 +106,7 @@ export default function Black() {
</Switch>
<p data-slot="fine-print" style={{ "view-transition-name": "fine-print" }}>
{i18n.t("black.finePrint.beforeTerms")} ·{" "}
- <A href="/legal/terms-of-service">{i18n.t("black.finePrint.terms")}</A>
+ <A href={language.route("/legal/terms-of-service")}>{i18n.t("black.finePrint.terms")}</A>
</p>
</section>
</>
diff --git a/packages/console/app/src/routes/black/subscribe/[plan].tsx b/packages/console/app/src/routes/black/subscribe/[plan].tsx
index 347be7419..644d87d9b 100644
--- a/packages/console/app/src/routes/black/subscribe/[plan].tsx
+++ b/packages/console/app/src/routes/black/subscribe/[plan].tsx
@@ -15,6 +15,7 @@ import { Modal } from "~/component/modal"
import { BillingTable } from "@opencode-ai/console-core/schema/billing.sql.js"
import { Billing } from "@opencode-ai/console-core/billing.js"
import { useI18n } from "~/context/i18n"
+import { useLanguage } from "~/context/language"
import { formError } from "~/lib/form-error"
const plansMap = Object.fromEntries(plans.map((p) => [p.id, p])) as Record<PlanID, (typeof plans)[number]>
@@ -267,6 +268,7 @@ function IntentForm(props: { plan: PlanID; workspaceID: string; onSuccess: (data
export default function BlackSubscribe() {
const params = useParams()
const i18n = useI18n()
+ const language = useLanguage()
const planData = plansMap[(params.plan as PlanID) ?? "20"] ?? plansMap["20"]
const plan = planData.id
@@ -467,7 +469,7 @@ export default function BlackSubscribe() {
</Modal>
<p data-slot="fine-print">
{i18n.t("black.finePrint.beforeTerms")} ·{" "}
- <A href="/legal/terms-of-service">{i18n.t("black.finePrint.terms")}</A>
+ <A href={language.route("/legal/terms-of-service")}>{i18n.t("black.finePrint.terms")}</A>
</p>
</section>
</>
diff --git a/packages/console/app/src/routes/black/workspace.tsx b/packages/console/app/src/routes/black/workspace.tsx
index 03950a243..106e8a23e 100644
--- a/packages/console/app/src/routes/black/workspace.tsx
+++ b/packages/console/app/src/routes/black/workspace.tsx
@@ -220,13 +220,13 @@ export default function BlackWorkspace() {
<a href={config.github.repoUrl} target="_blank">
{i18n.t("nav.github")} <span data-slot="github-stars">[{starCount()}]</span>
</a>
- <a href="/docs">{i18n.t("nav.docs")}</a>
+ <a href={language.route("/docs")}>{i18n.t("nav.docs")}</a>
<LanguagePicker align="right" />
<span>
- <A href="/legal/privacy-policy">{i18n.t("legal.privacy")}</A>
+ <A href={language.route("/legal/privacy-policy")}>{i18n.t("legal.privacy")}</A>
</span>
<span>
- <A href="/legal/terms-of-service">{i18n.t("legal.terms")}</A>
+ <A href={language.route("/legal/terms-of-service")}>{i18n.t("legal.terms")}</A>
</span>
</div>
<span data-slot="anomaly-alt">