diff --git a/docs-ui/src/app/hooks/[slug]/page.tsx b/docs-ui/src/app/hooks/[slug]/page.tsx deleted file mode 100644 index 4f750a917d..0000000000 --- a/docs-ui/src/app/hooks/[slug]/page.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { hooks } from '@/utils/data'; - -export default async function Page({ - params, -}: { - params: Promise<{ slug: string }>; -}) { - const { slug } = await params; - - const { default: Component } = await import(`@/content/hooks/${slug}.mdx`); - - return ; -} - -export function generateStaticParams() { - const list = [...hooks]; - - return list.map(hook => ({ - slug: hook.slug, - })); -} - -export const dynamicParams = false; diff --git a/docs-ui/src/content/hooks/use-breakpoint.example.tsx b/docs-ui/src/app/hooks/use-breakpoint/components.tsx similarity index 100% rename from docs-ui/src/content/hooks/use-breakpoint.example.tsx rename to docs-ui/src/app/hooks/use-breakpoint/components.tsx diff --git a/docs-ui/src/content/hooks/use-breakpoint.mdx b/docs-ui/src/app/hooks/use-breakpoint/page.mdx similarity index 88% rename from docs-ui/src/content/hooks/use-breakpoint.mdx rename to docs-ui/src/app/hooks/use-breakpoint/page.mdx index 89f5a7f757..47ac3ab84f 100644 --- a/docs-ui/src/content/hooks/use-breakpoint.mdx +++ b/docs-ui/src/app/hooks/use-breakpoint/page.mdx @@ -3,11 +3,13 @@ import { CodeBlock } from '@/components/CodeBlock'; import { PageTitle } from '@/components/PageTitle'; import { PropsTable } from '@/components/PropsTable'; import { Snippet } from '@/components/Snippet'; -import { UseBreakpointExample } from './use-breakpoint.example'; +import { UseBreakpointExample } from './components'; import { - useBreakpointExampleSnippet, useBreakpointReturnDefs, -} from './use-breakpoint.props'; +} from './props-definition'; +import { + useBreakpointExampleSnippet +} from './snippets'; = { 'Function that takes a breakpoint and returns true if the screen width is at or below that breakpoint', }, }; - -export const useBreakpointExampleSnippet = `import { useBreakpoint } from '@backstage/ui'; - -function ResponsiveComponent() { - const { breakpoint, up, down } = useBreakpoint(); - - return ( -
-

Current Breakpoint: {breakpoint}

- {up('md') &&

The viewport is medium or larger.

} - {down('sm') &&

The viewport is small or smaller.

} -
- ); -}`; diff --git a/docs-ui/src/app/hooks/use-breakpoint/snippets.ts b/docs-ui/src/app/hooks/use-breakpoint/snippets.ts new file mode 100644 index 0000000000..19e6debe65 --- /dev/null +++ b/docs-ui/src/app/hooks/use-breakpoint/snippets.ts @@ -0,0 +1,13 @@ +export const useBreakpointExampleSnippet = `import { useBreakpoint } from '@backstage/ui'; + +function ResponsiveComponent() { + const { breakpoint, up, down } = useBreakpoint(); + + return ( +
+

Current Breakpoint: {breakpoint}

+ {up('md') &&

The viewport is medium or larger.

} + {down('sm') &&

The viewport is small or smaller.

} +
+ ); +}`; diff --git a/docs-ui/src/content/hooks/use-media-query.example.tsx b/docs-ui/src/app/hooks/use-media-query/components.tsx similarity index 100% rename from docs-ui/src/content/hooks/use-media-query.example.tsx rename to docs-ui/src/app/hooks/use-media-query/components.tsx diff --git a/docs-ui/src/content/hooks/use-media-query.mdx b/docs-ui/src/app/hooks/use-media-query/page.mdx similarity index 95% rename from docs-ui/src/content/hooks/use-media-query.mdx rename to docs-ui/src/app/hooks/use-media-query/page.mdx index 6941bc0d68..84668b2a3e 100644 --- a/docs-ui/src/content/hooks/use-media-query.mdx +++ b/docs-ui/src/app/hooks/use-media-query/page.mdx @@ -2,21 +2,23 @@ import { ChangelogComponent } from '@/components/ChangelogComponent'; import { CodeBlock } from '@/components/CodeBlock'; import { PageTitle } from '@/components/PageTitle'; import { PropsTable } from '@/components/PropsTable'; -import { - useMediaQueryOrientationSnippet, - useMediaQueryParamDefs, - useMediaQueryPreferencesSnippet, - useMediaQueryResponsiveSnippet, - useMediaQueryReturnDefs, - useMediaQueryUsageSnippet, -} from './use-media-query.props'; import { Snippet } from '@/components/Snippet'; import { - UseMediaQueryThemeExample, + UseMediaQueryOrientationExample, UseMediaQueryPreferencesExample, UseMediaQueryResponsiveExample, - UseMediaQueryOrientationExample, -} from './use-media-query.example'; + UseMediaQueryThemeExample, +} from './components'; +import { + useMediaQueryParamDefs, + useMediaQueryReturnDefs, +} from './props-definition'; +import { + useMediaQueryOrientationSnippet, + useMediaQueryPreferencesSnippet, + useMediaQueryResponsiveSnippet, + useMediaQueryUsageSnippet, +} from './snippets'; = { + query: { + type: 'string', + description: 'The CSS media query to evaluate', + }, + options: { + type: 'complex', + complexType: { + name: 'UseMediaQueryOptions', + properties: { + defaultValue: { + type: 'boolean', + required: false, + description: + 'Default value to use when rendering on the server, defaults to false', + }, + initializeWithValue: { + type: 'boolean', + required: false, + description: + 'Whether to initialize with the current value of the media query, or use the default value initially', + }, + }, + }, + default: 'defaultValue: false\ninitializeWithValue: true', + }, +}; + +export const useMediaQueryReturnDefs: Record = { + matches: { + type: 'boolean', + description: 'True if the media query currently matches', + }, +}; diff --git a/docs-ui/src/content/hooks/use-media-query.props.ts b/docs-ui/src/app/hooks/use-media-query/snippets.ts similarity index 58% rename from docs-ui/src/content/hooks/use-media-query.props.ts rename to docs-ui/src/app/hooks/use-media-query/snippets.ts index 4a3bb1ca73..78423ef516 100644 --- a/docs-ui/src/content/hooks/use-media-query.props.ts +++ b/docs-ui/src/app/hooks/use-media-query/snippets.ts @@ -1,40 +1,3 @@ -import { type PropDef } from '@/utils/propDefs'; - -export const useMediaQueryParamDefs: Record = { - query: { - type: 'string', - description: 'The CSS media query to evaluate', - }, - options: { - type: 'complex', - complexType: { - name: 'UseMediaQueryOptions', - properties: { - defaultValue: { - type: 'boolean', - required: false, - description: - 'Default value to use when rendering on the server, defaults to false', - }, - initializeWithValue: { - type: 'boolean', - required: false, - description: - 'Whether to initialize with the current value of the media query, or use the default value initially', - }, - }, - }, - default: 'defaultValue: false\ninitializeWithValue: true', - }, -}; - -export const useMediaQueryReturnDefs: Record = { - matches: { - type: 'boolean', - description: 'True if the media query currently matches', - }, -}; - export const useMediaQueryUsageSnippet = `import { useMediaQuery } from '@backstage/ui'; function MyComponent() {