diff --git a/packages/elements-dev-portal/src/components/BranchSelector/BranchSelector.stories.tsx b/packages/elements-dev-portal/src/components/BranchSelector/BranchSelector.stories.tsx index a4e0d9a7f..24b5dd8d8 100644 --- a/packages/elements-dev-portal/src/components/BranchSelector/BranchSelector.stories.tsx +++ b/packages/elements-dev-portal/src/components/BranchSelector/BranchSelector.stories.tsx @@ -29,8 +29,8 @@ export default { platformUrl: { table: { category: 'Input' } }, }, args: { - projectId: 'cHJqOjYwNjYx', - platformUrl: 'https://stoplight.io', + projectId: 'cHJqOjMwODc1MA', + platformUrl: 'https://persistentteams.stoplight.io', }, }; diff --git a/packages/elements-dev-portal/src/components/NodeContent/NodeContent.stories.tsx b/packages/elements-dev-portal/src/components/NodeContent/NodeContent.stories.tsx index aebaf927d..d0c21a906 100644 --- a/packages/elements-dev-portal/src/components/NodeContent/NodeContent.stories.tsx +++ b/packages/elements-dev-portal/src/components/NodeContent/NodeContent.stories.tsx @@ -47,9 +47,9 @@ export default { }, args: { nodeSlug: 'b3A6Mzg5NDM2-create-todo', - projectId: 'cHJqOjYwNjYx', + projectId: 'cHJqOjMwODc1MA', branchSlug: '', - platformUrl: 'https://stoplight.io', + platformUrl: 'https://persistentteams.stoplight.io', }, }; diff --git a/packages/elements-dev-portal/src/components/Search/Search.stories.tsx b/packages/elements-dev-portal/src/components/Search/Search.stories.tsx index 7e0fb0faf..c0ef3c685 100644 --- a/packages/elements-dev-portal/src/components/Search/Search.stories.tsx +++ b/packages/elements-dev-portal/src/components/Search/Search.stories.tsx @@ -136,9 +136,9 @@ export default { isInResponsiveMode: { table: { category: 'Input' } }, }, args: { - projectIds: ['cHJqOjYwNjYx'], + projectIds: ['cHJqOjMwODc1MA'], workspaceId: 'd2s6NDE1NTU', - platformUrl: 'https://stoplight.io', + platformUrl: 'https://persistentteams.stoplight.io', isInResponsiveMode: false, }, }; diff --git a/packages/elements-dev-portal/src/components/TableOfContents/TableOfContents.stories.tsx b/packages/elements-dev-portal/src/components/TableOfContents/TableOfContents.stories.tsx index 8a99740ab..44e9fa6de 100644 --- a/packages/elements-dev-portal/src/components/TableOfContents/TableOfContents.stories.tsx +++ b/packages/elements-dev-portal/src/components/TableOfContents/TableOfContents.stories.tsx @@ -51,9 +51,9 @@ export default { isInResponsiveMode: { table: { category: 'Input' } }, }, args: { - projectId: 'cHJqOjYwNjYx', + projectId: 'cHJqOjMwODc1MA', branchSlug: '', - platformUrl: 'https://stoplight.io', + platformUrl: 'https://persistentteams.stoplight.io', isInResponsiveMode: false, }, }; diff --git a/packages/elements-dev-portal/src/containers/StoplightProject.stories.tsx b/packages/elements-dev-portal/src/containers/StoplightProject.stories.tsx index 28b0b84ec..dfca59a03 100644 --- a/packages/elements-dev-portal/src/containers/StoplightProject.stories.tsx +++ b/packages/elements-dev-portal/src/containers/StoplightProject.stories.tsx @@ -16,13 +16,13 @@ export default { }, args: { router: 'memory', - platformUrl: 'https://stoplight.io', + platformUrl: 'https://persistentteams.stoplight.io', }, }; export const Playground: Story = args => ; Playground.storyName = 'Studio Demo'; Playground.args = { - projectId: 'cHJqOjYwNjYx', - platformUrl: 'https://stoplight.io', + projectId: 'cHJqOjMwODc1MA', + platformUrl: 'https://persistentteams.stoplight.io', }; diff --git a/packages/elements-dev-portal/src/containers/StoplightProject.tsx b/packages/elements-dev-portal/src/containers/StoplightProject.tsx index ef0b105c3..d968cfc94 100644 --- a/packages/elements-dev-portal/src/containers/StoplightProject.tsx +++ b/packages/elements-dev-portal/src/containers/StoplightProject.tsx @@ -120,6 +120,19 @@ const StoplightProjectImpl: React.FC = ({ projectId, coll const container = React.useRef(null); + // Create a custom Link component that preserves the branch path + const BranchAwareLink = React.useMemo(() => { + return React.forwardRef>((props, ref) => { + const { to, ...rest } = props; + // If we're on a branch, prefix all relative links with the branch path + // Only modify relative paths (not starting with /, #, http://, https://, or .) + const shouldPrefixBranch = branchSlug && typeof to === 'string' && to !== '.' && !/^(\/|#|https?:\/\/)/.test(to); + + const adjustedTo = shouldPrefixBranch ? `branches/${encodeURIComponent(branchSlug)}/${to}` : to; + return ; + }); + }, [branchSlug]); + if (!nodeSlug && isTocFetched && tableOfContents?.items) { const firstNode = findFirstNode(tableOfContents.items); if (firstNode) { @@ -152,7 +165,7 @@ const StoplightProjectImpl: React.FC = ({ projectId, coll diff --git a/packages/elements-dev-portal/src/web-components/__stories__/StoplightProject.stories.tsx b/packages/elements-dev-portal/src/web-components/__stories__/StoplightProject.stories.tsx index 2185e7cdd..c441c285e 100644 --- a/packages/elements-dev-portal/src/web-components/__stories__/StoplightProject.stories.tsx +++ b/packages/elements-dev-portal/src/web-components/__stories__/StoplightProject.stories.tsx @@ -28,6 +28,6 @@ export default { export const defaultProject = Template.bind({}); defaultProject.storyName = "Stoplight's Demo workspace"; defaultProject.args = { - projectId: 'cHJqOjYwNjYx', - platformUrl: 'https://stoplight.io', + projectId: 'cHJqOjMwODc1MA', + platformUrl: 'https://persistentteams.stoplight.io', };