diff --git a/package.json b/package.json index 17f7e4e33..369e536ca 100644 --- a/package.json +++ b/package.json @@ -14,10 +14,10 @@ "lint": "turbo lint", "format": "turbo format", "format:check": "turbo format:check", - "test": "vitest run --config=./vitest/config.ts --workspace=./vitest/workspaces.ts", - "test:watch": "vitest run --config=./vitest/config.ts --workspace=./vitest/workspaces.ts --watch", - "test:coverage": "vitest run --config=./vitest/config.ts --workspace=./vitest/workspaces.ts --coverage", - "test:ci": "vitest run --config=./vitest/config.ts --workspace=./vitest/workspaces.ts --silent --coverage --reporter=junit --outputFile=test-report.junit.xml", + "test": "vitest run --config=./vitest/config.ts", + "test:watch": "vitest run --config=./vitest/config.ts --watch", + "test:coverage": "vitest run --config=./vitest/config.ts --coverage", + "test:ci": "vitest run --config=./vitest/config.ts --silent --coverage --reporter=junit --outputFile=test-report.junit.xml", "test:integration": "yarn test:integration:react-18 && yarn test:integration:react-19", "test:integration:react-18": "./integration/run-integration.sh 18.2.0", "test:integration:react-19": "./integration/run-integration.sh 19.1.0", diff --git a/packages/client/src/clients/guide/client.ts b/packages/client/src/clients/guide/client.ts index 742c073d8..e458b3d8c 100644 --- a/packages/client/src/clients/guide/client.ts +++ b/packages/client/src/clients/guide/client.ts @@ -217,6 +217,13 @@ const predicate = ( return false; } + return checkActivatable(guide, location); +}; + +export const checkActivatable = ( + guide: KnockGuide, + location: string | undefined, +) => { const url = location ? newUrl(location) : undefined; const urlRules = guide.activation_url_rules || []; diff --git a/packages/client/src/clients/guide/index.ts b/packages/client/src/clients/guide/index.ts index ddcb5e288..7d5519160 100644 --- a/packages/client/src/clients/guide/index.ts +++ b/packages/client/src/clients/guide/index.ts @@ -1,4 +1,8 @@ -export { KnockGuideClient, DEBUG_QUERY_PARAMS } from "./client"; +export { + KnockGuideClient, + DEBUG_QUERY_PARAMS, + checkActivatable, +} from "./client"; export type { KnockGuide, KnockGuideStep, diff --git a/packages/react/src/modules/guide/components/Toolbar/V2/GuideRow.tsx b/packages/react/src/modules/guide/components/Toolbar/V2/GuideRow.tsx index bc029e2c0..e260425ad 100644 --- a/packages/react/src/modules/guide/components/Toolbar/V2/GuideRow.tsx +++ b/packages/react/src/modules/guide/components/Toolbar/V2/GuideRow.tsx @@ -1,9 +1,15 @@ import { Button } from "@telegraph/button"; -import { Stack } from "@telegraph/layout"; +import { Box, Stack } from "@telegraph/layout"; import { Tag } from "@telegraph/tag"; import { Tooltip } from "@telegraph/tooltip"; import { Text } from "@telegraph/typography"; -import { CheckCircle2, CircleDashed, Eye, UserCircle2 } from "lucide-react"; +import { + CheckCircle2, + CircleDashed, + Eye, + LocateFixed, + UserCircle2, +} from "lucide-react"; import * as React from "react"; import { GuideHoverCard } from "./GuideHoverCard"; @@ -43,6 +49,30 @@ export const GuideRow = ({ guide, orderIndex }: Props) => { + {!isUnknownGuide(guide) && ( + <> + + +