diff --git a/src/components/BillingDialog.tsx b/src/components/BillingDialog.tsx index a748c1bf0..0d13474ca 100644 --- a/src/components/BillingDialog.tsx +++ b/src/components/BillingDialog.tsx @@ -5,8 +5,8 @@ import { BillingRemaining, BillingRemainingMode, } from '@src/components/BillingRemaining' - import { type BillingActor } from '@src/machines/billingMachine' +import { withSiteBaseURL } from '@src/lib/withBaseURL' export const BillingDialog = (props: { billingActor: BillingActor }) => { const billingContext = useSelector( @@ -42,7 +42,7 @@ export const BillingDialog = (props: { billingActor: BillingActor }) => { {!hasUnlimited && ( (
@@ -89,7 +90,7 @@ export function HelpMenu() { @@ -97,7 +98,7 @@ export function HelpMenu() { diff --git a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx index 0be0d244a..4363e6549 100644 --- a/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx +++ b/src/components/ModelingSidebar/ModelingPanes/KclEditorMenu.tsx @@ -12,6 +12,7 @@ import { reportRejection } from '@src/lib/trap' import { commandBarActor, settingsActor } from '@src/lib/singletons' import styles from './KclEditorMenu.module.css' +import { withSiteBaseURL } from '@src/lib/withBaseURL' export const KclEditorMenu = ({ children }: PropsWithChildren) => { const { enable: convertToVarEnabled, handleClick: handleConvertToVarClick } = @@ -67,7 +68,7 @@ export const KclEditorMenu = ({ children }: PropsWithChildren) => { { { { id: 'account', Element: 'externalLink', - to: 'https://zoo.dev/account', + to: withSiteBaseURL('/account'), children: ( <> Manage account diff --git a/src/lib/toolbar.ts b/src/lib/toolbar.ts index 594aa97ba..c8f17b1a7 100644 --- a/src/lib/toolbar.ts +++ b/src/lib/toolbar.ts @@ -11,6 +11,7 @@ import { pipeHasCircle, } from '@src/machines/modelingMachine' import { IS_ML_EXPERIMENTAL } from '@src/lib/constants' +import { withSiteBaseURL } from '@src/lib/withBaseURL' export type ToolbarModeName = 'modeling' | 'sketching' @@ -105,7 +106,9 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-startSketchOn', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-sketch-startSketchOn' + ), }, ], }, @@ -125,7 +128,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-extrude', + url: withSiteBaseURL('/docs/kcl-std/functions/std-sketch-extrude'), }, ], }, @@ -145,7 +148,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-sweep', + url: withSiteBaseURL('/docs/kcl-std/functions/std-sketch-sweep'), }, ], }, @@ -165,7 +168,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-loft', + url: withSiteBaseURL('/docs/kcl-std/functions/std-sketch-loft'), }, ], }, @@ -185,11 +188,11 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-revolve', + url: withSiteBaseURL('/docs/kcl-std/functions/std-sketch-revolve'), }, { label: 'KCL example', - url: 'https://zoo.dev/docs/kcl-samples/ball-bearing', + url: withSiteBaseURL('/docs/kcl-samples/ball-bearing'), }, ], }, @@ -209,7 +212,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-fillet', + url: withSiteBaseURL('/docs/kcl-std/functions/std-solid-fillet'), }, ], }, @@ -234,7 +237,7 @@ export const toolbarConfig: Record = { }, { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-chamfer', + url: withSiteBaseURL('/docs/kcl-std/functions/std-solid-chamfer'), }, ], }, @@ -253,7 +256,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-shell', + url: withSiteBaseURL('/docs/kcl-std/functions/std-solid-shell'), }, ], }, @@ -275,7 +278,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-union', + url: withSiteBaseURL('/docs/kcl-std/functions/std-solid-union'), }, ], }, @@ -293,7 +296,9 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-subtract', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-solid-subtract' + ), }, ], }, @@ -311,7 +316,9 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-solid-intersect', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-solid-intersect' + ), }, ], }, @@ -337,7 +344,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-offsetPlane', + url: withSiteBaseURL('/docs/kcl-std/functions/std-offsetPlane'), }, ], }, @@ -368,7 +375,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-helix', + url: withSiteBaseURL('/docs/kcl-std/functions/std-helix'), }, ], }, @@ -389,7 +396,7 @@ export const toolbarConfig: Record = { links: [ { label: 'API docs', - url: 'https://zoo.dev/docs/kcl-lang/modules', + url: withSiteBaseURL('/docs/kcl-lang/modules'), }, ], }, @@ -410,7 +417,9 @@ export const toolbarConfig: Record = { links: [ { label: 'API docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-transform-translate', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-transform-translate' + ), }, ], }, @@ -428,7 +437,9 @@ export const toolbarConfig: Record = { links: [ { label: 'API docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-transform-rotate', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-transform-rotate' + ), }, ], }, @@ -446,7 +457,7 @@ export const toolbarConfig: Record = { links: [ { label: 'API docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-clone', + url: withSiteBaseURL('/docs/kcl-std/functions/std-clone'), }, ], }, @@ -482,7 +493,9 @@ export const toolbarConfig: Record = { links: [ { label: 'API docs', - url: 'https://zoo.dev/docs/api/ml/generate-a-cad-model-from-text', + url: withSiteBaseURL( + '/docs/api/ml/generate-a-cad-model-from-text' + ), }, ], }, @@ -739,7 +752,7 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-sketch-polygon', + url: withSiteBaseURL('/docs/kcl-std/functions/std-sketch-polygon'), }, ], }, @@ -755,7 +768,9 @@ export const toolbarConfig: Record = { links: [ { label: 'KCL docs', - url: 'https://zoo.dev/docs/kcl-std/functions/std-transform-mirror2d', + url: withSiteBaseURL( + '/docs/kcl-std/functions/std-transform-mirror2d' + ), }, ], }, diff --git a/src/lib/withBaseURLNode.ts b/src/lib/withBaseURLNode.ts new file mode 100644 index 000000000..d88dd866c --- /dev/null +++ b/src/lib/withBaseURLNode.ts @@ -0,0 +1,6 @@ +/** + * This will not run in the browser, look at withBaseURL + */ +export function withSiteBaseURLNode(path: string): string { + return process.env.VITE_KC_SITE_BASE_URL + path +} diff --git a/src/menu/helpRole.ts b/src/menu/helpRole.ts index 8c05b8eed..4f64a906e 100644 --- a/src/menu/helpRole.ts +++ b/src/menu/helpRole.ts @@ -5,6 +5,7 @@ import { reportRejection } from '@src/lib/trap' import { typeSafeWebContentsSend } from '@src/menu/channels' import type { ZooMenuItemConstructorOptions } from '@src/menu/roles' import { getAutoUpdater } from '@src/updater' +import { withSiteBaseURLNode } from '@src/lib/withBaseURLNode' export const helpRole = ( mainWindow: BrowserWindow @@ -26,14 +27,16 @@ export const helpRole = ( id: 'Help.KCL code samples', click: () => { shell - .openExternal('https://zoo.dev/docs/kcl-samples') + .openExternal(withSiteBaseURLNode('/docs/kcl-samples')) .catch(reportRejection) }, }, { label: 'KCL Docs', click: () => { - shell.openExternal('https://zoo.dev/docs/kcl').catch(reportRejection) + shell + .openExternal(withSiteBaseURLNode('/docs/kcl')) + .catch(reportRejection) }, }, { @@ -116,7 +119,9 @@ export const helpRole = ( { label: 'Manage Account', click: () => { - shell.openExternal('https://zoo.dev/account').catch(reportRejection) + shell + .openExternal(withSiteBaseURLNode('/account')) + .catch(reportRejection) }, }, ], diff --git a/src/routes/Home.tsx b/src/routes/Home.tsx index f107e0c22..afc04ea3d 100644 --- a/src/routes/Home.tsx +++ b/src/routes/Home.tsx @@ -67,7 +67,7 @@ import { defaultGlobalStatusBarItems, } from '@src/components/StatusBar/defaultStatusBarItems' import { useSelector } from '@xstate/react' -import {withSiteBaseURL} from '@src/lib/withBaseURL' +import { withSiteBaseURL } from '@src/lib/withBaseURL' type ReadWriteProjectState = { value: boolean