diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx index 94fefa93..5c6ea0b1 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-backend.tsx @@ -1,6 +1,7 @@ import { pushModal } from '@/modals'; import { ServerIcon } from 'lucide-react'; +import Syntax from '@/components/syntax'; import type { IServiceClient } from '@openpanel/db'; import { frameworks } from '@openpanel/sdk-info'; @@ -10,45 +11,70 @@ type Props = { const ConnectBackend = ({ client }: Props) => { return ( -
+
Backend
-

- Pick a framework below to get started. -

-
- {frameworks - .filter((framework) => framework.type.includes('backend')) - .map((framework) => ( - - ))} + +
+
+ Try with a basic curl command +
+ +
+
+

+ Pick a framework below to get started. +

+
+ {frameworks + .filter((framework) => framework.type.includes('backend')) + .map((framework) => ( + + ))} +
+

+ Missing a framework?{' '} + + Let us know! + +

-

- Missing a framework?{' '} - - Let us know! - -

); }; diff --git a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx index 9ed59e1c..4ffadab5 100644 --- a/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx +++ b/apps/dashboard/src/app/(onboarding)/onboarding/[projectId]/connect/connect-web.tsx @@ -1,6 +1,7 @@ import { pushModal } from '@/modals'; import { MonitorIcon } from 'lucide-react'; +import Syntax from '@/components/syntax'; import type { IServiceClient } from '@openpanel/db'; import { frameworks } from '@openpanel/sdk-info'; @@ -10,45 +11,66 @@ type Props = { const ConnectWeb = ({ client }: Props) => { return ( -
+
Website
-

- Pick a framework below to get started. -

-
- {frameworks - .filter((framework) => framework.type.includes('website')) - .map((framework) => ( - - ))} + +
+
+ Paste the script to your website +
+ + window.op = window.op||function(...args){(window.op.q=window.op.q||[]).push(args);}; + window.op('init', { + clientId: '${client?.id ?? 'YOUR_CLIENT_ID'}', + trackScreenViews: true, + trackOutgoingLinks: true, + trackAttributes: true, + }); + +`} + /> +
+
+

+ Or pick a framework below to get started. +

+
+ {frameworks + .filter((framework) => framework.type.includes('website')) + .map((framework) => ( + + ))} +
+

+ Missing a framework?{' '} + + Let us know! + +

-

- Missing a framework?{' '} - - Let us know! - -

); }; diff --git a/apps/dashboard/src/components/syntax.tsx b/apps/dashboard/src/components/syntax.tsx index cd908d45..159ff0fb 100644 --- a/apps/dashboard/src/components/syntax.tsx +++ b/apps/dashboard/src/components/syntax.tsx @@ -1,20 +1,29 @@ 'use client'; import { clipboard } from '@/utils/clipboard'; +import { cn } from '@/utils/cn'; import { CopyIcon } from 'lucide-react'; import { Light as SyntaxHighlighter } from 'react-syntax-highlighter'; +import bash from 'react-syntax-highlighter/dist/cjs/languages/hljs/bash'; import ts from 'react-syntax-highlighter/dist/cjs/languages/hljs/typescript'; import docco from 'react-syntax-highlighter/dist/cjs/styles/hljs/vs2015'; SyntaxHighlighter.registerLanguage('typescript', ts); +SyntaxHighlighter.registerLanguage('bash', bash); interface SyntaxProps { code: string; + className?: string; + language?: 'typescript' | 'bash'; } -export default function Syntax({ code }: SyntaxProps) { +export default function Syntax({ + code, + className, + language = 'typescript', +}: SyntaxProps) { return ( -
+