From 65d77295e5745c40976c70acac5769d2ab780643 Mon Sep 17 00:00:00 2001 From: Brett Jephson Date: Fri, 20 Sep 2024 09:35:43 +0100 Subject: [PATCH] Revised client state with context --- .../(content)/[[...pathname]]/page.tsx | 1 - .../components/DocumentView/DocumentView.tsx | 2 -- .../DocumentView/OpenAPI/OpenAPI.tsx | 26 +------------------ .../src/components/PageBody/PageBody.tsx | 3 --- .../react-openapi/src/OpenAPIOperation.tsx | 5 ++-- .../react-openapi/src/OpenAPIServerURL.tsx | 1 - .../src/OpenAPIServerURLForm.tsx | 6 ++--- .../src/OpenAPIServerURLVariable.tsx | 2 -- 8 files changed, 6 insertions(+), 40 deletions(-) diff --git a/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx b/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx index 176bb07e2..4b126ee90 100644 --- a/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx +++ b/packages/gitbook/src/app/(space)/(content)/[[...pathname]]/page.tsx @@ -93,7 +93,6 @@ export default async function Page(props: { // Display the page feedback in the page footer if the aside is not visible withPageFeedback && !page.layout.outline } - searchParams={searchParams} /> {page.layout.outline ? ( boolean; - - searchParams?: Record; } export interface DocumentContextProps { diff --git a/packages/gitbook/src/components/DocumentView/OpenAPI/OpenAPI.tsx b/packages/gitbook/src/components/DocumentView/OpenAPI/OpenAPI.tsx index b49afa70b..08fe0be58 100644 --- a/packages/gitbook/src/components/DocumentView/OpenAPI/OpenAPI.tsx +++ b/packages/gitbook/src/components/DocumentView/OpenAPI/OpenAPI.tsx @@ -1,6 +1,6 @@ import { DocumentBlockSwagger } from '@gitbook/api'; import { Icon } from '@gitbook/icons'; -import { OpenAPIOperation, OpenAPIOperationData } from '@gitbook/react-openapi'; +import { OpenAPIOperation } from '@gitbook/react-openapi'; import React from 'react'; import { LoadingPane } from '@/components/primitives'; @@ -100,27 +100,3 @@ function OpenAPIFallback() { ); } - -function parseModifiers(data: OpenAPIOperationData, params: Record) { - if (!data) { - return; - } - const { server: serverQueryParam } = params; - const serverIndex = - serverQueryParam && !isNaN(Number(serverQueryParam)) - ? Math.max(0, Math.min(Number(serverQueryParam), data.servers.length - 1)) - : 0; - const server = data.servers[serverIndex]; - if (server) { - return Object.keys(server.variables ?? {}).reduce>( - (result, key) => { - const selection = Number(params[key]); - if (!isNaN(selection)) { - result[key] = selection; - } - return result; - }, - { server: serverIndex }, - ); - } -} diff --git a/packages/gitbook/src/components/PageBody/PageBody.tsx b/packages/gitbook/src/components/PageBody/PageBody.tsx index 98dd20f97..052d9abb2 100644 --- a/packages/gitbook/src/components/PageBody/PageBody.tsx +++ b/packages/gitbook/src/components/PageBody/PageBody.tsx @@ -34,7 +34,6 @@ export function PageBody(props: { document: JSONDocument | null; context: ContentRefContext; withPageFeedback: boolean; - searchParams: Record; }) { const { space, @@ -45,7 +44,6 @@ export function PageBody(props: { page, document, withPageFeedback, - searchParams, } = props; const asFullWidth = document ? hasFullWidthBlock(document) : false; @@ -98,7 +96,6 @@ export function PageBody(props: { resolveContentRef: (ref, options) => resolveContentRef(ref, context, options), shouldHighlightCode, - searchParams, }} /> ) : ( diff --git a/packages/react-openapi/src/OpenAPIOperation.tsx b/packages/react-openapi/src/OpenAPIOperation.tsx index cda323e84..e4a643303 100644 --- a/packages/react-openapi/src/OpenAPIOperation.tsx +++ b/packages/react-openapi/src/OpenAPIOperation.tsx @@ -5,7 +5,7 @@ import { OpenAPIOperationData, toJSON } from './fetchOpenAPIOperation'; import { Markdown } from './Markdown'; import { OpenAPICodeSample } from './OpenAPICodeSample'; import { OpenAPIResponseExample } from './OpenAPIResponseExample'; -import { getServersURL, OpenAPIServerURL } from './OpenAPIServerURL'; +import { OpenAPIServerURL } from './OpenAPIServerURL'; import { OpenAPISpec } from './OpenAPISpec'; import { OpenAPIClientContext, OpenAPIContextProps } from './types'; import { ScalarApiClient } from './ScalarApiButton'; @@ -25,11 +25,10 @@ export async function OpenAPIOperation(props: { defaultInteractiveOpened: context.defaultInteractiveOpened, icons: context.icons, blockKey: context.blockKey, - enumSelectors: context.enumSelectors, }; return ( - +

diff --git a/packages/react-openapi/src/OpenAPIServerURL.tsx b/packages/react-openapi/src/OpenAPIServerURL.tsx index 5bce96035..d0f8e9d53 100644 --- a/packages/react-openapi/src/OpenAPIServerURL.tsx +++ b/packages/react-openapi/src/OpenAPIServerURL.tsx @@ -18,7 +18,6 @@ export function OpenAPIServerURL(props: { }) { const { path, servers, context } = props; const ctx = useOpenAPIContext(); - const serverIndex = !isNaN(Number(ctx?.state?.server)) ? Number(ctx?.state?.server) : 0; const server = servers[serverIndex]; const parts = parseServerURL(server?.url ?? ''); diff --git a/packages/react-openapi/src/OpenAPIServerURLForm.tsx b/packages/react-openapi/src/OpenAPIServerURLForm.tsx index 6dc16c601..d8f2569bd 100644 --- a/packages/react-openapi/src/OpenAPIServerURLForm.tsx +++ b/packages/react-openapi/src/OpenAPIServerURLForm.tsx @@ -67,9 +67,9 @@ export function ServerURLForm(props: { {children} {stateContext?.state?.edit && servers.length > 1 ? ( ) : null} {isEditable ? ( diff --git a/packages/react-openapi/src/OpenAPIServerURLVariable.tsx b/packages/react-openapi/src/OpenAPIServerURLVariable.tsx index eae2732e4..27e82a00c 100644 --- a/packages/react-openapi/src/OpenAPIServerURLVariable.tsx +++ b/packages/react-openapi/src/OpenAPIServerURLVariable.tsx @@ -1,9 +1,7 @@ 'use client'; import * as React from 'react'; -import { useRouter } from 'next/navigation'; import classNames from 'classnames'; import { OpenAPIV3 } from 'openapi-types'; -import { OpenAPIClientContext } from './types'; /** * Interactive component to show the value of a server variable and let the user change it.