diff --git a/.changeset/tough-lobsters-perform.md b/.changeset/tough-lobsters-perform.md new file mode 100644 index 0000000000..ea3debd6a4 --- /dev/null +++ b/.changeset/tough-lobsters-perform.md @@ -0,0 +1,5 @@ +--- +"gitbook": minor +--- + +New design for tab blocks diff --git a/packages/gitbook-v2/src/lib/data/pages.ts b/packages/gitbook-v2/src/lib/data/pages.ts index 642b486b82..b9e3cabc5e 100644 --- a/packages/gitbook-v2/src/lib/data/pages.ts +++ b/packages/gitbook-v2/src/lib/data/pages.ts @@ -42,16 +42,19 @@ export async function getPageDocument( } // Pre-fetch the document to start filling the cache before we migrate to this API. - if (isInPercentRollout(space.id, 10)) { - await waitUntil( - getDataOrNull( - dataFetcher.getRevisionPageDocument({ - spaceId: space.id, - revisionId: space.revision, - pageId: page.id, - }) - ) - ); + if (process.env.NODE_ENV === 'development') { + // Disable for now to investigate side-effects + if (isInPercentRollout(space.id, 10) || process.env.VERCEL_ENV === 'preview') { + await waitUntil( + getDataOrNull( + dataFetcher.getRevisionPageDocument({ + spaceId: space.id, + revisionId: space.revision, + pageId: page.id, + }) + ) + ); + } } return null; diff --git a/packages/gitbook-v2/src/middleware.ts b/packages/gitbook-v2/src/middleware.ts index c11d466c78..0d57ce27e2 100644 --- a/packages/gitbook-v2/src/middleware.ts +++ b/packages/gitbook-v2/src/middleware.ts @@ -39,6 +39,7 @@ type URLWithMode = { url: URL; mode: 'url' | 'url-host' }; */ const ADAPTIVE_CONTENT_HOSTS = [ 'docs.gitbook.com', + 'paypal.gitbook.com', 'adaptive-docs.gitbook-staging.com', 'enriched-content-playground.gitbook-staging.io', 'docs.testgitbook.com', diff --git a/packages/gitbook/src/components/DocumentView/Tabs/DynamicTabs.tsx b/packages/gitbook/src/components/DocumentView/Tabs/DynamicTabs.tsx index e4465b3032..0638e5ba12 100644 --- a/packages/gitbook/src/components/DocumentView/Tabs/DynamicTabs.tsx +++ b/packages/gitbook/src/components/DocumentView/Tabs/DynamicTabs.tsx @@ -84,6 +84,9 @@ export function DynamicTabs( ); }, [id, tabs, tabsState]); + const position: string = 'top'; // TODO: Get position from tab block options + const description = null; // TODO: Get description from tabs + // To avoid issue with hydration, we only use the state from localStorage // once the component has been mounted. // Otherwise because of the streaming/suspense approach, tabs can be first-rendered at different time @@ -143,110 +146,121 @@ export function DynamicTabs( return (