84 lines
1.8 KiB
TypeScript
84 lines
1.8 KiB
TypeScript
|
type Item = {
|
||
|
name: string;
|
||
|
items: {
|
||
|
name: string;
|
||
|
slug: string;
|
||
|
description?: string;
|
||
|
isDisabled?: boolean;
|
||
|
}[];
|
||
|
};
|
||
|
|
||
|
export const demos: Item[] = [
|
||
|
{
|
||
|
name: 'Layouts',
|
||
|
items: [
|
||
|
{
|
||
|
name: 'Nested Layouts',
|
||
|
slug: 'layouts',
|
||
|
description: 'Create UI that is shared across routes',
|
||
|
},
|
||
|
{
|
||
|
name: 'Grouped Layouts',
|
||
|
slug: 'route-groups',
|
||
|
description: 'Organize routes without affecting URL paths',
|
||
|
},
|
||
|
|
||
|
{
|
||
|
name: 'Streaming with Suspense',
|
||
|
slug: 'streaming',
|
||
|
description:
|
||
|
'Streaming data fetching from the server with React Suspense',
|
||
|
},
|
||
|
{
|
||
|
name: 'Root Layouts',
|
||
|
slug: 'root-layouts',
|
||
|
description: 'Create top-level layouts that apply to all routes',
|
||
|
isDisabled: true,
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
{
|
||
|
name: 'File Conventions',
|
||
|
items: [
|
||
|
{
|
||
|
name: 'Loading',
|
||
|
slug: 'loading',
|
||
|
description:
|
||
|
'Create meaningful loading UI for specific parts of an app',
|
||
|
},
|
||
|
{
|
||
|
name: 'Error',
|
||
|
slug: 'error-handling',
|
||
|
description: 'Create error UI for specific parts of an app',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
{
|
||
|
name: 'Components',
|
||
|
items: [
|
||
|
{
|
||
|
name: 'Hooks',
|
||
|
slug: 'hooks',
|
||
|
description:
|
||
|
'Preview the hooks available for Client and Server Components',
|
||
|
},
|
||
|
{
|
||
|
name: 'Client Context',
|
||
|
slug: 'context',
|
||
|
description:
|
||
|
'Pass context between Client Components that cross Server/Client Component boundary',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
{
|
||
|
name: 'Styling',
|
||
|
items: [
|
||
|
{
|
||
|
name: 'CSS and CSS-in-JS',
|
||
|
slug: 'styling',
|
||
|
description: 'Preview the supported styling solutions',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
];
|