diff --git a/src/constants/Links.ts b/src/constants/Links.ts index 1bea4ebe..7c839c31 100644 --- a/src/constants/Links.ts +++ b/src/constants/Links.ts @@ -10,3 +10,16 @@ export const SENTRY_LINK = 'https://1ac45704bbe74264a7b4674bdc2abf48@o1022172.ingest.sentry.io/5988293'; export const DOCS_SUBMODULES = 'https://frontmatter.codes/docs/git-integration#git-submodules'; + +export const WEBSITE_LINKS = { + root: 'https://frontmatter.codes', + api: { + metrics: 'https://frontmatter.codes/api/metrics', + ai: 'https://frontmatter.codes/api/ai' + }, + docs: { + dataDashboard: 'https://frontmatter.codes/docs/dashboard/datafiles-view', + snippets: `https://frontmatter.codes/docs/snippets`, + snippetsPlaceholders: `https://frontmatter.codes/docs/snippets#placeholders` + } +}; diff --git a/src/dashboardWebView/components/DataView/DataView.tsx b/src/dashboardWebView/components/DataView/DataView.tsx index 5e73bd5d..b12a75b5 100644 --- a/src/dashboardWebView/components/DataView/DataView.tsx +++ b/src/dashboardWebView/components/DataView/DataView.tsx @@ -17,7 +17,7 @@ import { Container } from './SortableContainer'; import { SortableItem } from './SortableItem'; import { ChevronRightIcon, CircleStackIcon } from '@heroicons/react/24/outline'; import { DataType } from '../../../models/DataType'; -import { TelemetryEvent } from '../../../constants'; +import { TelemetryEvent, WEBSITE_LINKS } from '../../../constants'; import { NavigationItem } from '../Layout'; import * as l10n from '@vscode/l10n'; import { LocalizationKey } from '../../../localization'; @@ -265,7 +265,7 @@ export const DataView: React.FunctionComponent = (

{l10n.t(LocalizationKey.dashboardDataViewDataViewGetStartedLink)} diff --git a/src/dashboardWebView/components/SnippetsView/NewForm.tsx b/src/dashboardWebView/components/SnippetsView/NewForm.tsx index 479ec2ff..88302b8d 100644 --- a/src/dashboardWebView/components/SnippetsView/NewForm.tsx +++ b/src/dashboardWebView/components/SnippetsView/NewForm.tsx @@ -1,6 +1,6 @@ import { Messenger } from '@estruyf/vscode/dist/client'; import * as React from 'react'; -import { GeneralCommands } from '../../../constants'; +import { GeneralCommands, WEBSITE_LINKS } from '../../../constants'; import { SnippetInput } from './SnippetInput'; import * as l10n from '@vscode/l10n'; import { LocalizationKey } from '../../../localization'; @@ -30,7 +30,7 @@ export const NewForm: React.FunctionComponent = ({ const openLink = () => { Messenger.send( GeneralCommands.toVSCode.openLink, - 'https://frontmatter.codes/docs/snippets#placeholders' + WEBSITE_LINKS.docs.snippetsPlaceholders ); }; diff --git a/src/dashboardWebView/components/SnippetsView/Snippets.tsx b/src/dashboardWebView/components/SnippetsView/Snippets.tsx index 5fdf2f9e..a545dd82 100644 --- a/src/dashboardWebView/components/SnippetsView/Snippets.tsx +++ b/src/dashboardWebView/components/SnippetsView/Snippets.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useRecoilValue } from 'recoil'; import { FeatureFlag } from '../../../components/features/FeatureFlag'; -import { FEATURE_FLAG } from '../../../constants'; +import { FEATURE_FLAG, WEBSITE_LINKS } from '../../../constants'; import { TelemetryEvent } from '../../../constants/TelemetryEvent'; import { SnippetParser } from '../../../helpers/SnippetParser'; import { DashboardMessage } from '../../DashboardMessage'; @@ -146,7 +146,7 @@ export const Snippets: React.FunctionComponent = (

{l10n.t(LocalizationKey.dashboardSnippetsViewSnippetsReadMore)} diff --git a/src/dashboardWebView/index.tsx b/src/dashboardWebView/index.tsx index 4628c94c..a8f25f6d 100644 --- a/src/dashboardWebView/index.tsx +++ b/src/dashboardWebView/index.tsx @@ -12,6 +12,7 @@ import { Chatbot } from './components/Chatbot/Chatbot'; import { updateCssVariables } from './utils'; import { I10nProvider } from './providers/I10nProvider'; import { SentryInit } from '../utils/sentryInit'; +import { WEBSITE_LINKS } from '../constants'; declare const acquireVsCodeApi: () => { getState: () => T; @@ -91,7 +92,7 @@ if (elm) { render( diff --git a/src/helpers/Telemetry.ts b/src/helpers/Telemetry.ts index 12dc9fda..f40dfd24 100644 --- a/src/helpers/Telemetry.ts +++ b/src/helpers/Telemetry.ts @@ -1,8 +1,11 @@ import { workspace } from 'vscode'; import { Extension, Settings } from '.'; -import { EXTENSION_BETA_ID, EXTENSION_ID, SETTING_TELEMETRY_DISABLE } from '../constants'; - -const METRICS_URL = 'https://frontmatter.codes/api/metrics'; +import { + EXTENSION_BETA_ID, + EXTENSION_ID, + SETTING_TELEMETRY_DISABLE, + WEBSITE_LINKS +} from '../constants'; export class Telemetry { private static instance: Telemetry; @@ -77,7 +80,7 @@ export class Telemetry { // Set a new timeout instance.timeout = setTimeout(async () => { - await fetch(METRICS_URL, { + await fetch(WEBSITE_LINKS.api.metrics, { method: 'POST', headers: { 'Content-Type': 'application/json' diff --git a/src/services/SponsorAI.ts b/src/services/SponsorAI.ts index 0820be49..1bf7a9b2 100644 --- a/src/services/SponsorAI.ts +++ b/src/services/SponsorAI.ts @@ -1,11 +1,15 @@ -import { SETTING_SEO_DESCRIPTION_LENGTH, SETTING_SEO_TITLE_LENGTH } from '../constants'; +import { + SETTING_SEO_DESCRIPTION_LENGTH, + SETTING_SEO_TITLE_LENGTH, + WEBSITE_LINKS +} from '../constants'; import { Logger, Notifications, Settings, TaxonomyHelper } from '../helpers'; import { TagType } from '../panelWebView/TagType'; import { TaxonomyType } from '../models'; import * as l10n from '@vscode/l10n'; import { LocalizationKey } from '../localization'; -const AI_URL = 'https://frontmatter.codes/api/ai'; +const AI_URL = WEBSITE_LINKS.api.ai; // const AI_URL = 'http://localhost:3000/api/ai'; export class SponsorAi {