From 16abe9a016f908756816966701aa10468d04d6e0 Mon Sep 17 00:00:00 2001 From: Andrew Jiang Date: Tue, 6 Feb 2024 10:14:54 -0500 Subject: [PATCH] feature: code samples (#434) --- .pnp.cjs | 10 +- ...6.1-19-g5e3bf66-695799a5f2-7535be1f84.zip} | Bin 560392 -> 589251 bytes packages/commons/app-utils/package.json | 2 +- packages/ui/app/package.json | 2 +- .../endpoints/CodeExampleClientDropdown.tsx | 98 ++++----- .../api-page/endpoints/EndpointContent.tsx | 147 +++++++------- .../endpoints/EndpointContentCodeSnippets.tsx | 69 ++++--- .../app/src/api-page/examples/code-example.ts | 188 ++++++++++++++++-- .../src/api-page/webhooks/WebhookContent.tsx | 2 +- .../src/custom-docs-page/CustomDocsPage.tsx | 2 +- .../ui/app/src/docs-context/DocsContext.ts | 2 + .../src/docs-context/DocsContextProvider.tsx | 1 + packages/ui/app/src/docs/Docs.tsx | 2 +- packages/ui/app/src/mdx/base-components.scss | 2 - .../ui/public-docs-bundle/tailwind.config.js | 3 +- yarn.lock | 12 +- 16 files changed, 367 insertions(+), 175 deletions(-) rename .yarn/cache/{@fern-api-fdr-sdk-npm-0.46.1-7-ge796a1c-1677001e9b-be65d58b52.zip => @fern-api-fdr-sdk-npm-0.46.1-19-g5e3bf66-695799a5f2-7535be1f84.zip} (69%) diff --git a/.pnp.cjs b/.pnp.cjs index 64fbf208f3..b86ed10223 100644 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -4449,10 +4449,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }]\ ]],\ ["@fern-api/fdr-sdk", [\ - ["npm:0.46.1-7-ge796a1c", {\ - "packageLocation": "./.yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-7-ge796a1c-1677001e9b-be65d58b52.zip/node_modules/@fern-api/fdr-sdk/",\ + ["npm:0.46.1-19-g5e3bf66", {\ + "packageLocation": "./.yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-19-g5e3bf66-695799a5f2-7535be1f84.zip/node_modules/@fern-api/fdr-sdk/",\ "packageDependencies": [\ - ["@fern-api/fdr-sdk", "npm:0.46.1-7-ge796a1c"],\ + ["@fern-api/fdr-sdk", "npm:0.46.1-19-g5e3bf66"],\ ["@ungap/url-search-params", "npm:0.2.2"],\ ["axios", "npm:0.27.2"],\ ["js-base64", "npm:3.7.2"],\ @@ -4482,7 +4482,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./packages/commons/app-utils/",\ "packageDependencies": [\ ["@fern-ui/app-utils", "workspace:packages/commons/app-utils"],\ - ["@fern-api/fdr-sdk", "npm:0.46.1-7-ge796a1c"],\ + ["@fern-api/fdr-sdk", "npm:0.46.1-19-g5e3bf66"],\ ["@fern-ui/core-utils", "workspace:packages/commons/core-utils"],\ ["@types/jest", "npm:29.5.11"],\ ["@types/lodash-es", "npm:4.17.12"],\ @@ -4897,7 +4897,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@blueprintjs/datetime2", "virtual:78e90867e46510db2994cf6ed805ab4ba701c55b6d7a2c33f6cc04865dc082c172bef019989477dda8bc6824512d13cb3bcb74ef12bd113a2f6bdcd291ad70f1#npm:2.2.10"],\ ["@blueprintjs/icons", "virtual:78e90867e46510db2994cf6ed805ab4ba701c55b6d7a2c33f6cc04865dc082c172bef019989477dda8bc6824512d13cb3bcb74ef12bd113a2f6bdcd291ad70f1#npm:5.7.0"],\ ["@blueprintjs/select", "virtual:78e90867e46510db2994cf6ed805ab4ba701c55b6d7a2c33f6cc04865dc082c172bef019989477dda8bc6824512d13cb3bcb74ef12bd113a2f6bdcd291ad70f1#npm:5.0.22"],\ - ["@fern-api/fdr-sdk", "npm:0.46.1-7-ge796a1c"],\ + ["@fern-api/fdr-sdk", "npm:0.46.1-19-g5e3bf66"],\ ["@fern-ui/app-utils", "workspace:packages/commons/app-utils"],\ ["@fern-ui/core-utils", "workspace:packages/commons/core-utils"],\ ["@fern-ui/loadable", "workspace:packages/commons/loadable"],\ diff --git a/.yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-7-ge796a1c-1677001e9b-be65d58b52.zip b/.yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-19-g5e3bf66-695799a5f2-7535be1f84.zip similarity index 69% rename from .yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-7-ge796a1c-1677001e9b-be65d58b52.zip rename to .yarn/cache/@fern-api-fdr-sdk-npm-0.46.1-19-g5e3bf66-695799a5f2-7535be1f84.zip index 9c46a2acdabf7148541f563a4253bd28bb8f4cfe..0024299b02b41eabccb4623b65a9677293f7c562 100644 GIT binary patch delta 64166 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 delta 52817 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 OZn?ta^Yb>e-v0sALrJ>; diff --git a/packages/commons/app-utils/package.json b/packages/commons/app-utils/package.json index 4ba221c285..6f1e427674 100644 --- a/packages/commons/app-utils/package.json +++ b/packages/commons/app-utils/package.json @@ -27,7 +27,7 @@ "depcheck": "depcheck" }, "dependencies": { - "@fern-api/fdr-sdk": "0.46.1-7-ge796a1c", + "@fern-api/fdr-sdk": "0.46.1-19-g5e3bf66", "@fern-ui/core-utils": "workspace:*", "@types/title": "^3.4.3", "lodash-es": "^4.17.21", diff --git a/packages/ui/app/package.json b/packages/ui/app/package.json index aa4803a3c7..f1d953cab7 100644 --- a/packages/ui/app/package.json +++ b/packages/ui/app/package.json @@ -34,7 +34,7 @@ "@blueprintjs/datetime2": "^2.2.10", "@blueprintjs/icons": "^5.7.0", "@blueprintjs/select": "^5.0.22", - "@fern-api/fdr-sdk": "0.46.1-7-ge796a1c", + "@fern-api/fdr-sdk": "0.46.1-19-g5e3bf66", "@fern-ui/app-utils": "workspace:*", "@fern-ui/core-utils": "workspace:*", "@fern-ui/loadable": "workspace:*", diff --git a/packages/ui/app/src/api-page/endpoints/CodeExampleClientDropdown.tsx b/packages/ui/app/src/api-page/endpoints/CodeExampleClientDropdown.tsx index d8d1c7d78d..4b562ceede 100644 --- a/packages/ui/app/src/api-page/endpoints/CodeExampleClientDropdown.tsx +++ b/packages/ui/app/src/api-page/endpoints/CodeExampleClientDropdown.tsx @@ -1,25 +1,12 @@ -import classNames from "classnames"; import { RemoteFontAwesomeIcon } from "../../commons/FontAwesomeIcon"; import { FernMenu, FernMenuItem } from "../../components/FernMenu"; -import type { CodeExampleClient, CodeExampleClientId } from "../examples//code-example"; - -function getIconForClient(clientId: CodeExampleClientId) { - switch (clientId) { - case "curl": - return "fa-solid fa-code"; - case "python": - case "python-async": - return "fa-brands fa-python"; - case "typescript": - return "fa-brands fa-js"; - } -} +import type { CodeExample, CodeExampleGroup } from "../examples//code-example"; export declare namespace CodeExampleClientDropdown { export interface Props { - clients: CodeExampleClient[]; - selectedClient: CodeExampleClient; - onClickClient: (clientId: CodeExampleClientId) => void; + clients: CodeExampleGroup[]; + selectedClient: CodeExample; + onClickClient: (example: CodeExample) => void; } } @@ -28,45 +15,66 @@ export const CodeExampleClientDropdown: React.FC { + const selectedClientGroup = clients.find((client) => client.language === selectedClient.language); return (
} align="right" + menuClassName="overflow-hidden" size="small" > - {clients.map(({ id: clientId, name: clientName }) => { - const selected = clientId === selectedClient.id; - return ( - onClickClient(clientId)} - > - {(active) => ( - <> - -
- {clientName} -
- - )} -
- ); - })} + {clients.map((client) => ( + { + if (client.examples[0] != null) { + onClickClient( + client.examples.find( + (example) => example.exampleIndex === selectedClient.exampleIndex, + ) ?? client.examples[0], + ); + } + }} + > + +
+ {client.languageDisplayName} +
+
+ ))}
); }; + +/* +{selectedClientGroup != null && selectedClientGroup.examples.length > 1 && ( +
+ {selectedClientGroup?.examples.map((example) => ( + { + onClickClient(example); + }} + disableRoundCorners + > +
+ {example.name} +
+
+ ))} +
+)} +*/ diff --git a/packages/ui/app/src/api-page/endpoints/EndpointContent.tsx b/packages/ui/app/src/api-page/endpoints/EndpointContent.tsx index 62bc84d4dd..480f44c391 100644 --- a/packages/ui/app/src/api-page/endpoints/EndpointContent.tsx +++ b/packages/ui/app/src/api-page/endpoints/EndpointContent.tsx @@ -4,15 +4,17 @@ import { ResolvedEndpointDefinition, ResolvedNavigationItemApiSection, } from "@fern-ui/app-utils"; +import { visitDiscriminatedUnion } from "@fern-ui/core-utils"; import classNames from "classnames"; import { useAtom } from "jotai"; import { atomWithStorage } from "jotai/utils"; import { useRouter } from "next/router"; import React, { useCallback, useEffect, useMemo, useState } from "react"; import { useInView } from "react-intersection-observer"; +import { useDocsContext } from "../../docs-context/useDocsContext"; import { useNavigationContext } from "../../navigation-context"; import { useViewportContext } from "../../viewport-context/useViewportContext"; -import { type CodeExampleClient } from "../examples/code-example"; +import { CodeExample, generateCodeExamples } from "../examples/code-example"; import { getCurlLines } from "../examples/curl-example/curlUtils"; import { JsonPropertyPath } from "../examples/json-example/contexts/JsonPropertyPath"; import { flattenJsonToLines } from "../examples/json-example/jsonLineUtils"; @@ -39,44 +41,7 @@ const LINE_HEIGHT = 21.5; const MOBILE_MAX_LINES = 20; const CONTENT_PADDING = 40 + TITLED_EXAMPLE_PADDING; -const DEFAULT_CLIENT: CodeExampleClient = { - id: "curl", - name: "cURL", -}; - -function getAvailableExampleClients(example: APIV1Read.ExampleEndpointCall): CodeExampleClient[] { - const clients: CodeExampleClient[] = [DEFAULT_CLIENT]; - const { pythonSdk, typescriptSdk } = example.codeExamples; - if (pythonSdk != null) { - clients.push( - { - id: "python", - name: "Python", - language: "python", - example: pythonSdk.sync_client, - }, - { - id: "python-async", - name: "Python (Async)", - language: "python", - example: pythonSdk.async_client, - }, - ); - } - - if (typescriptSdk != null && typescriptSdk.client != null) { - clients.push({ - id: "typescript", - name: "TypeScript", - language: "typescript", - example: typescriptSdk.client, - }); - } - - return clients; -} - -const fernClientIdAtom = atomWithStorage("fern-client-id", DEFAULT_CLIENT.id); +const fernLanguageAtom = atomWithStorage("fern-language-id", "curl"); const ERROR_ANCHOR_PREFIX = "response.error."; @@ -107,6 +72,7 @@ export const EndpointContent: React.FC = ({ route, }) => { const router = useRouter(); + const { config } = useDocsContext(); const { layoutBreakpoint, viewportSize } = useViewportContext(); const { navigateToPath } = useNavigationContext(); const [isInViewport, setIsInViewport] = useState(false); @@ -129,7 +95,6 @@ export const EndpointContent: React.FC = ({ [setHoveredResponsePropertyPath], ); - const [storedSelectedExampleClientId, setSelectedExampleClientId] = useAtom(fernClientIdAtom); const [selectedError, setSelectedError] = useState(); useEffect(() => { @@ -147,58 +112,90 @@ export const EndpointContent: React.FC = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - const example = useMemo(() => { + const examples = useMemo(() => { if (selectedError == null) { // Look for success example - return endpoint.examples.find((e) => e.responseStatusCode >= 200 && e.responseStatusCode < 300) ?? null; + return endpoint.examples.filter((e) => e.responseStatusCode >= 200 && e.responseStatusCode < 300) ?? null; } - return endpoint.examples.find((e) => e.responseStatusCode === selectedError.statusCode) ?? null; + return endpoint.examples.filter((e) => e.responseStatusCode === selectedError.statusCode) ?? null; }, [endpoint.examples, selectedError]); - const availableExampleClients = useMemo( - () => (example != null ? getAvailableExampleClients(example) : []), - [example], - ); - - const selectedExampleClient = - availableExampleClients.find((client) => client.id === storedSelectedExampleClientId) ?? DEFAULT_CLIENT; + const clients = useMemo(() => generateCodeExamples(examples), [examples]); + const [selectedLanguage, setSelectedLanguage] = useAtom(fernLanguageAtom); + const [selectedClient, setSelectedClient] = useState(() => { + const curlExample = clients[0]?.examples[0]; + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + return clients.find((c) => c.language === selectedLanguage)?.examples[0] ?? curlExample!; + }); + useEffect(() => { + setSelectedClient((prev) => { + if (prev.language === selectedLanguage) { + return prev; + } + return clients.find((c) => c.language === selectedLanguage)?.examples[0] ?? prev; + }); + }, [clients, selectedLanguage]); const setSelectedExampleClientAndScrollToTop = useCallback( - (nextClient: CodeExampleClient) => { - setSelectedExampleClientId(nextClient.id); + (nextClient: CodeExample) => { + setSelectedClient(nextClient); navigateToPath(route.substring(1)); + setSelectedLanguage(nextClient.language); }, - [navigateToPath, route, setSelectedExampleClientId], + [navigateToPath, route, setSelectedLanguage], ); const curlLines = useMemo( () => - example != null - ? getCurlLines(apiSection.auth, endpoint, example, flattenJsonToLines(example.requestBody)) - : [], - [apiSection.auth, endpoint, example], + getCurlLines( + apiSection.auth, + endpoint, + selectedClient.exampleCall, + flattenJsonToLines(selectedClient.exampleCall.requestBody), + ), + [apiSection.auth, endpoint, selectedClient.exampleCall], ); + const selectedExampleClientLineCount = useMemo(() => { - return selectedExampleClient.id === "curl" + return selectedClient.language === "curl" && selectedClient.code === "" ? curlLines.length - : selectedExampleClient.example.split("\n").length; - }, [curlLines.length, selectedExampleClient]); + : selectedClient.code.split("\n").length; + }, [curlLines.length, selectedClient]); + + const jsonLines = useMemo( + () => flattenJsonToLines(selectedClient.exampleCall.responseBody), + [selectedClient.exampleCall.responseBody], + ); + + const jsonLineLength = jsonLines + .map((jsonLine) => (jsonLine.type === "string" ? jsonLine.value.split("\n").length : 1)) + .reduce((a, b) => a + b, 0); + + const selectorHeight = + (clients.find((c) => c.language === selectedClient.language)?.examples.length ?? 0) > 1 ? GAP_6 + 24 : 0; - const jsonLines = useMemo(() => flattenJsonToLines(example?.responseBody), [example?.responseBody]); + const headerHeight = + config.layout?.headerHeight == null + ? 64 + : visitDiscriminatedUnion(config.layout.headerHeight, "type")._visit({ + px: (px) => px.value, + rem: (rem) => rem.value * 16, + _other: () => 64, + }); const [requestHeight, responseHeight] = useMemo((): [number, number] => { - if (layoutBreakpoint !== "lg") { + if (!["lg", "xl", "2xl"].includes(layoutBreakpoint)) { const requestLines = Math.min(MOBILE_MAX_LINES + 0.5, selectedExampleClientLineCount); - const responseLines = Math.min(MOBILE_MAX_LINES + 0.5, jsonLines.length); + const responseLines = Math.min(MOBILE_MAX_LINES + 0.5, jsonLineLength); const requestContainerHeight = requestLines * LINE_HEIGHT + CONTENT_PADDING; const responseContainerHeight = responseLines * LINE_HEIGHT + CONTENT_PADDING; return [requestContainerHeight, responseContainerHeight]; } const maxRequestContainerHeight = selectedExampleClientLineCount * LINE_HEIGHT + CONTENT_PADDING; - const maxResponseContainerHeight = jsonLines.length * LINE_HEIGHT + CONTENT_PADDING; - const containerHeight = viewportSize.height - 64 - PADDING_TOP - PADDING_BOTTOM; + const maxResponseContainerHeight = jsonLineLength * LINE_HEIGHT + CONTENT_PADDING; + const containerHeight = viewportSize.height - headerHeight - PADDING_TOP - PADDING_BOTTOM - selectorHeight; const halfContainerHeight = (containerHeight - GAP_6) / 2; - if (example?.responseBody == null) { + if (selectedClient.exampleCall?.responseBody == null) { return [Math.min(maxRequestContainerHeight, containerHeight), 0]; } if (maxRequestContainerHeight >= halfContainerHeight && maxResponseContainerHeight >= halfContainerHeight) { @@ -217,9 +214,11 @@ export const EndpointContent: React.FC = ({ }, [ layoutBreakpoint, selectedExampleClientLineCount, - jsonLines.length, + jsonLineLength, viewportSize.height, - example?.responseBody, + headerHeight, + selectorHeight, + selectedClient.exampleCall?.responseBody, ]); const exampleHeight = requestHeight + responseHeight + GAP_6 + 70; @@ -262,22 +261,22 @@ export const EndpointContent: React.FC = ({ "lg:flex-1 lg:sticky lg:self-start lg:min-w-sm lg:max-w-lg lg:ml-auto", "pb-10 pt-8", // the 4rem is the same as the h-10 as the Header - "max-h-[150vh] lg:max-h-[calc(100vh-4rem)]", + "max-h-[150vh] lg:max-h-vh-minus-header", "flex", // header offset "mt-10 lg:mt-0 lg:top-header-height", )} style={{ height: `${exampleHeight}px` }} > - {isInViewport && example != null && ( + {isInViewport && ( void; + clients: CodeExampleGroup[]; + selectedClient: CodeExample; + onClickClient: (example: CodeExample) => void; requestCurlLines: CurlLine[]; responseJsonLines: JsonLine[]; hoveredRequestPropertyPath: JsonPropertyPath | undefined; @@ -42,9 +43,9 @@ const UnmemoizedEndpointContentCodeSnippets: React.FC { + const selectedClientGroup = clients.find((client) => client.language === selectedClient.language); return ( -
+
+ {selectedClientGroup != null && selectedClientGroup.examples.length > 1 && ( +
+ {selectedClientGroup?.examples.map((example) => ( + + ))} +
+ )} {selectedClient.name}} type="primary" onClick={(e) => { e.stopPropagation(); }} disablePadding={true} copyToClipboardText={() => { - return selectedExampleClient.id === "curl" + return selectedClient.language === "curl" && selectedClient.code === "" ? curlLinesToString(requestCurlLines) - : selectedExampleClient.example; + : selectedClient.code; }} actions={ <> @@ -72,23 +97,19 @@ const UnmemoizedEndpointContentCodeSnippets: React.FC - {availableExampleClients.length > 1 ? ( + {clients.length > 1 ? ( { - const client = availableExampleClients.find((c) => c.id === clientId); - if (client != null) { - onClickExampleClient(client); - } - }} - selectedClient={selectedExampleClient} + clients={clients} + onClickClient={onClickClient} + selectedClient={selectedClient} /> ) : undefined} } > - {selectedExampleClient.id === "curl" ? ( + {selectedClient.language === "curl" && selectedClient.code === "" ? ( )} - {example.responseBody != null && ( + {example.responseBodyV3 != null && ( = 400 ? "Error Response" : "Response"} type={example.responseStatusCode >= 400 ? "warning" : "primary"} onClick={(e) => { e.stopPropagation(); }} - copyToClipboardText={() => JSON.stringify(example.responseBody, undefined, 2)} + copyToClipboardText={() => JSON.stringify(example.responseBodyV3?.value, undefined, 2)} disablePadding={true} > (); + examples.forEach((example, i) => { + codeExamples.set("curl", [ + ...(codeExamples.get("curl") ?? []), + { + key: `curl-${i}`, + exampleIndex: i, + language: "curl", + name: example.name ?? "cURL Example", + code: "", + install: undefined, + exampleCall: example, + }, + ]); + + if (example.codeExamples.pythonSdk != null) { + codeExamples.set("python", [ + ...(codeExamples.get("python") ?? []), + { + key: `python-sync-${i}`, + exampleIndex: i, + language: "python", + name: example.name ?? "Python Example", + code: example.codeExamples.pythonSdk.sync_client, + install: example.codeExamples.pythonSdk.install, + exampleCall: example, + }, + { + key: `python-async-${i}`, + exampleIndex: i, + language: "python", + name: `${example.name ?? "Python Example"} (Async)`, + code: example.codeExamples.pythonSdk.async_client, + install: example.codeExamples.pythonSdk.install, + exampleCall: example, + }, + ]); + } + + if (example.codeExamples.typescriptSdk != null) { + codeExamples.set("typescript", [ + ...(codeExamples.get("typescript") ?? []), + { + key: `typescript-${i}`, + exampleIndex: i, + language: "typescript", + name: example.name ?? "Typescript Example", + code: example.codeExamples.typescriptSdk.client, + install: example.codeExamples.typescriptSdk.install, + exampleCall: example, + }, + ]); + } + + example.codeSamples.forEach((codeSample, j) => { + const language = cleanLanguage(codeSample.language); + codeExamples.set(language, [ + ...(codeExamples.get(language) ?? []).filter((e) => e.exampleIndex !== i), + { + key: `${language}-${i}/${j}`, + exampleIndex: i, + language, + name: codeSample.name ?? example.name ?? titleCase(`${language} Example`), + code: codeSample.code, + install: codeSample.install, + exampleCall: example, + }, + ]); + }); + }); + + // always keep curl at the top + const curlExamples = codeExamples.get("curl"); + codeExamples.delete("curl"); + return [ + { + language: "curl", + languageDisplayName: "cURL", + icon: getIconForClient("curl"), + examples: [...(curlExamples ?? [])], + }, + ...sortBy( + Array.from(codeExamples.entries()).map(([language, examples]) => ({ + language, + languageDisplayName: titleCase(language), + icon: getIconForClient(language), + examples, + })), + "language", + ), + ]; +} + +function cleanLanguage(language: string): string { + language = language.toLowerCase().trim(); + if (["node", "nodejs", "js", "javascript"].includes(language)) { + return "javascript"; + } + + if (["py", "python"].includes(language)) { + return "python"; + } + + if (["ts", "typescript", "ts-node"].includes(language)) { + return "typescript"; + } + + if (["go", "golang"].includes(language)) { + return "go"; + } + + return language; } -export type CodeExampleClient = CodeExampleClientCurl | PythonCodeExample | TypescriptCodeExample; +function getIconForClient(clientId: string) { + switch (clientId) { + case "curl": + case "shell": + case "bash": + return "fa-solid fa-terminal"; + case "python": + return "fa-brands fa-python"; + case "javascript": + case "typescript": + return "fa-brands fa-js"; + case "golang": + return "fa-brands fa-go"; + case "ruby": + return "fa-solid fa-gem"; + case "java": + case "kotlin": + return "fa-brands fa-java"; + case "php": + return "fa-brands fa-php"; + default: + return "fa-solid fa-code"; + } +} + +// export interface CodeExampleClientCurl { +// id: "curl"; +// name: string; +// } + +// export interface PythonCodeExample { +// id: "python" | "python-async"; +// name: string; +// language: string; +// example: string; +// } + +// export interface TypescriptCodeExample { +// id: "typescript"; +// name: string; +// language: string; +// example: string; +// } + +// export type CodeExampleClient = CodeExampleClientCurl | PythonCodeExample | TypescriptCodeExample; -export type CodeExampleClientId = CodeExampleClient["id"]; +// export type CodeExampleClientId = CodeExampleClient["id"]; diff --git a/packages/ui/app/src/api-page/webhooks/WebhookContent.tsx b/packages/ui/app/src/api-page/webhooks/WebhookContent.tsx index 82dbae9036..3d40f1f69c 100644 --- a/packages/ui/app/src/api-page/webhooks/WebhookContent.tsx +++ b/packages/ui/app/src/api-page/webhooks/WebhookContent.tsx @@ -120,7 +120,7 @@ export const WebhookContent = React.memo(function WebhookC // the py-10 is the same as the 40px below "pb-10 pt-8", // the 4rem is the same as the h-10 as the Header - "max-h-[calc(100vh-4rem)]", + "max-h-vh-minus-header", // hide on mobile, "hidden lg:flex", )} diff --git a/packages/ui/app/src/custom-docs-page/CustomDocsPage.tsx b/packages/ui/app/src/custom-docs-page/CustomDocsPage.tsx index ab191ecab6..24bf2a07dc 100644 --- a/packages/ui/app/src/custom-docs-page/CustomDocsPage.tsx +++ b/packages/ui/app/src/custom-docs-page/CustomDocsPage.tsx @@ -51,7 +51,7 @@ export const CustomDocsPage: React.FC = ({ resolvedPath })