* docs: migrate ui docs to docs universe * created yarn workspace * added eslint and tsconfig configurations * fix eslint configurations * fixed eslint configurations * shared tailwind configurations * added shared ui package * added more shared components * migrating more components * made details components shared * move InlineCode component * moved InputText * moved Loading component * Moved Modal component * moved Select components * Moved Tooltip component * moved Search components * moved ColorMode provider * Moved Notification components and providers * used icons package * use UI colors in api-reference * moved Navbar component * used Navbar and Search in UI docs * added Feedback to UI docs * general enhancements * fix color mode * added copy colors file from ui-preset * added features and enhancements to UI docs * move Sidebar component and provider * general fixes and preparations for deployment * update docusaurus version * adjusted versions * fix output directory * remove rootDirectory property * fix yarn.lock * moved code component * added vale for all docs MD and MDX * fix tests * fix vale error * fix deployment errors * change ignore commands * add output directory * fix docs test * general fixes * content fixes * fix announcement script * added changeset * fix vale checks * added nofilter option * fix vale error
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
import type { MDXContentClientProps } from "@/components/MDXContent/Client"
|
|
import type { MDXContentServerProps } from "@/components/MDXContent/Server"
|
|
import type { SecuritySchemeObject } from "@/types/openapi"
|
|
import getSecuritySchemaTypeName from "@/utils/get-security-schema-type-name"
|
|
import clsx from "clsx"
|
|
import { Loading } from "docs-ui"
|
|
import dynamic from "next/dynamic"
|
|
|
|
const MDXContentClient = dynamic<MDXContentClientProps>(
|
|
async () => import("../../../MDXContent/Client"),
|
|
{
|
|
loading: () => <Loading />,
|
|
}
|
|
) as React.FC<MDXContentClientProps>
|
|
|
|
const MDXContentServer = dynamic<MDXContentServerProps>(
|
|
async () => import("../../../MDXContent/Server"),
|
|
{
|
|
loading: () => <Loading />,
|
|
}
|
|
) as React.FC<MDXContentServerProps>
|
|
|
|
export type SecurityDescriptionProps = {
|
|
securitySchema: SecuritySchemeObject
|
|
isServer?: boolean
|
|
}
|
|
|
|
const SecurityDescription = ({
|
|
securitySchema,
|
|
isServer = true,
|
|
}: SecurityDescriptionProps) => {
|
|
return (
|
|
<>
|
|
<h2>{securitySchema["x-displayName"] as string}</h2>
|
|
{isServer && <MDXContentServer content={securitySchema.description} />}
|
|
{!isServer && <MDXContentClient content={securitySchema.description} />}
|
|
<p>
|
|
<strong>Security Scheme Type:</strong>{" "}
|
|
{getSecuritySchemaTypeName(securitySchema)}
|
|
</p>
|
|
{(securitySchema.type === "http" || securitySchema.type === "apiKey") && (
|
|
<p
|
|
className={clsx(
|
|
"bg-docs-bg-surface dark:bg-docs-bg-surface-dark",
|
|
"p-1"
|
|
)}
|
|
>
|
|
<strong>
|
|
{securitySchema.type === "http"
|
|
? "HTTP Authorization Scheme"
|
|
: "Cookie parameter name"}
|
|
:
|
|
</strong>{" "}
|
|
<code>
|
|
{securitySchema.type === "http"
|
|
? securitySchema.scheme
|
|
: securitySchema.name}
|
|
</code>
|
|
</p>
|
|
)}
|
|
<hr />
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default SecurityDescription
|