-
Notifications
You must be signed in to change notification settings - Fork 0
Feat/nextjs detail page #1020
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
eelcobosklopper
wants to merge
81
commits into
main
Choose a base branch
from
feat/nextjs-detail-page
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Feat/nextjs detail page #1020
Changes from all commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
33d4692
feat: add nextjs package
a30767d
fix: revert components export .. from
320d44b
fix: remove unneeded linting packages from nextjs package
817625a
feat: add PageBody and PageFooter
f0e053b
Merge branch 'main' into feat/setup-nextjs-package
c4838de
fix: remove duplicate styleLint config
cb00301
feat: update homepage with content
d8738b8
chore: update @types/node to v24
7f276dd
chore: remove unneeded global css
463de29
Update packages/nextjs/package.json
eelcobosklopper 8023116
Merge branch 'feat/setup-nextjs-package' into feat/add-nextjs-homepage
eelcobosklopper 710e1c9
chore: remove next-env.d.ts
eelcobosklopper 6a374d1
chore: add next-env.d.ts to gitignore
eelcobosklopper 4d91244
feat: add footer and logo
eelcobosklopper c84c9b8
Merge branch 'feat/add-nextjs-homepage' into feat/setup-nextjs-package
eelcobosklopper dfd79e8
feat: add distDir nextjs config and cleanup old .next references
eelcobosklopper d6f8784
fix: remove unrs-resolver from allowBuilds pnpm workspace
eelcobosklopper 5447ac1
fix: grid cell span all
eelcobosklopper ebc91c9
feat: replace ma-theme with start-theme design tokens
eelcobosklopper 03fb9d1
feat: update content homepage
eelcobosklopper 59e5592
fix: move codeblock out of paragraph
eelcobosklopper e716008
chore: remove comments from tsconfig
eelcobosklopper beadaf6
chore: remove eslint config for jsonc
eelcobosklopper 6acae05
feat: add detailpage and add navbar
eelcobosklopper 81f930b
feat: update detail page content
eelcobosklopper 1d108ae
feat: move css vars utrecht-page-header to layout.css
eelcobosklopper 3102942
feat: replace utrecht-nav-bar with rijkshuisstijl-community/navigatio…
eelcobosklopper 2f5d84d
feat: add css vars for navbar homepage
eelcobosklopper a51e68b
feat: add unoderedList component
eelcobosklopper 883f41f
feat: update content
eelcobosklopper d7780ce
feat: move nextjs project to apps folder and rename to next
eelcobosklopper 2199d98
fix: replace ReactNode with PropsWithChildren
eelcobosklopper 2d185c3
feat: update title
eelcobosklopper fe017b2
feat: add clean script and cleanup scripts
eelcobosklopper 7c50751
Merge branch 'feat/setup-nextjs-package' into feat/nextjs-detail-page
eelcobosklopper 26d8d1e
feat: restructure layouts
eelcobosklopper 84ca3bf
fix: remove link from footer logo
eelcobosklopper 445fca7
fix: remove inverse color from footer
eelcobosklopper 920569b
fix: footer cells span all
eelcobosklopper 8e382fe
feat: add detail page to next steps
eelcobosklopper 89abe9c
feat: add next readme
eelcobosklopper d665555
feat: rename next package to @example/next
eelcobosklopper 4960792
chore: removed comment
eelcobosklopper 24f50dc
fix: rename DefaultLayout
eelcobosklopper 62d38d2
feat: update content homepage
eelcobosklopper 47133e4
feat: add Utrecht Root
eelcobosklopper 2f5dfb0
feat: import css module utrecht lists
eelcobosklopper f9d4dbf
feat: remove use client by updating import path
eelcobosklopper b66e254
fix: remove aria-label from nav due to a11y issues
eelcobosklopper 212b924
feat: add form page
eelcobosklopper 9931a14
feat: add spacing to radiobuttons
eelcobosklopper 74ba702
chore: lint fix
eelcobosklopper a859eeb
chore: update nextjs react and react-dom
eelcobosklopper dca49ec
docs: update readme with why nextjs
eelcobosklopper cb78e86
Apply suggestions from code review
eelcobosklopper 04169b7
feat: stylelint disallow gap
eelcobosklopper 97d1798
feat: replace gaps with more specific gaps
eelcobosklopper 04a772c
Apply suggestion from @Robbert
eelcobosklopper 57d6f74
feat: replace element code with component Code
eelcobosklopper 9fe770c
feat: add method to form so data doesnt end up in url
eelcobosklopper a073131
fix: move error to be above field
eelcobosklopper 5874a79
feat: add note component
eelcobosklopper 01de269
fix: use basis tokens
eelcobosklopper 1b30e08
feat: replace utrecht button with candidate button
eelcobosklopper 49d3a69
fix: rename radio to radiobutton
eelcobosklopper ac0a7d3
docs: update link
eelcobosklopper 09ad401
feat: add actionGroup
eelcobosklopper 7852485
feat: add perfectionist group sorting config and apply it
eelcobosklopper 2cc6725
feat: rename Hint to FormFieldDescription
eelcobosklopper c979040
fix: rename Label to FormLabel
eelcobosklopper 50faf39
feat: move navItems outside of Navbar
eelcobosklopper aa8237a
feat: move layout specific implementations from components to layout …
eelcobosklopper f1c409f
feat: add utrecht-page-layout class to body
eelcobosklopper d41edbb
feat: replaced radio and fieldset with radioGroup component
eelcobosklopper bc9f0f2
fix: FormField naming fix
eelcobosklopper cdcf6f4
feat: update base readme and improve pnpm next setup
eelcobosklopper 6a8c6ed
feat: add componentReference to form fields
eelcobosklopper ad9245d
feat: add developer notes pane, piloted on the detail page
eelcobosklopper 311d758
feat: add devPane to homepage
eelcobosklopper 397402e
fix: devPane bottom margin
eelcobosklopper faa6fda
feat: add devNotes to form page
eelcobosklopper File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,91 @@ | ||
| <!-- @license CC0-1.0 --> | ||
|
|
||
| # NL Design System Next.js example | ||
|
|
||
| A Next.js application that shows how to discover and use components from the [NL Design System](https://nldesignsystem.nl) | ||
| in a real app. The homepage deliberately mixes components from multiple implementations | ||
| (`@nl-design-system-candidate`, `@utrecht/component-library-react`, and `@amsterdam/design-system-react`), and [the detail page](http://localhost:3000/detail) shows how to apply a different theme to just part of a site. | ||
|
|
||
| ## Setup | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| - [Node.js](https://nodejs.org/) | ||
| - [pnpm](https://pnpm.io/) | ||
|
|
||
| ### Install | ||
|
|
||
| Run the install from the root of the monorepo so all workspace packages are linked correctly: | ||
|
|
||
| ```sh | ||
| pnpm install | ||
| ``` | ||
|
|
||
| ### Run the dev server | ||
|
|
||
| From this directory (`apps/next`): | ||
|
|
||
| ```sh | ||
| pnpm dev | ||
| ``` | ||
|
|
||
| Or from the monorepo root: | ||
|
|
||
| ```sh | ||
| pnpm --filter @example/next dev | ||
| ``` | ||
|
|
||
| The app is served at [http://localhost:3000](http://localhost:3000). | ||
|
|
||
| ## Available scripts | ||
|
|
||
| | Script | Description | | ||
| | -------------- | ------------------------------------------------ | | ||
| | `pnpm run dev` | Start the Next.js dev server | | ||
| | `pnpm build` | Build the app for production (output in `dist/`) | | ||
| | `pnpm start` | Start the production server (run `build` first) | | ||
| | `pnpm clean` | Remove the `dist/` output directory | | ||
|
|
||
| ## How to use this project | ||
|
|
||
| - Start on the homepage (`app/(default)/page.tsx`). It explains the NL Design System's maturity model | ||
| (Hall of Fame, Candidate, Community, Help wanted, Discouraged) and walks through the steps to install and use a | ||
| component in a React app. | ||
| - Each component under `components/` (e.g. `components/Heading`, `components/Link`, `components/Alert`) wraps a | ||
| single NL Design System component and applies those install/import steps. | ||
| - Visit `/detail` to see how to theme part of a site differently: it lives in its own route group | ||
| (`app/(detail)/`) with its own layout that installs a different design tokens package and applies a different | ||
| theme class, instead of the app-wide `start-theme`. | ||
| - Browse [nldesignsystem.nl/componenten](https://nldesignsystem.nl/componenten/) to discover which components exist | ||
| and in which implementations before building your own. | ||
|
|
||
| ## Adding a new component | ||
|
|
||
| 1. Pick an implementation (e.g. `@nl-design-system-candidate`, `@utrecht/component-library-react`, | ||
| `@amsterdam/design-system-react`) from [nldesignsystem.nl/componenten](https://nldesignsystem.nl/componenten/). | ||
| 2. Install the React component and its CSS package, e.g.: | ||
|
|
||
| ```sh | ||
| pnpm add @nl-design-system-candidate/heading-react @nl-design-system-candidate/heading-css | ||
| ``` | ||
|
|
||
| 3. Import the component's CSS once, and import/render the component — see any file in `components/` for a working | ||
| example. | ||
|
|
||
| ## Changing the theme | ||
|
|
||
| A theme is a design tokens package plus a class name applied to an element (usually `<html>`). See | ||
| `app/(detail)/layout.tsx` for an example that scopes a theme to a single route group, and `app/(detail)/detail/page.tsx` | ||
| for the full explanation. | ||
|
|
||
| ## Why Next.js? | ||
|
|
||
| This example uses [Next.js](https://nextjs.org/) because it's one of the most widely adopted React frameworks, so | ||
| its patterns will look familiar to most teams evaluating the NL Design System. The same NL Design System components work in any React setup, but it's a | ||
| convenient, widely-known host for demonstrating them. | ||
|
|
||
| ## Related | ||
|
|
||
| - [Root repository README](../../README.md) — monorepo setup, contributing, and license information | ||
| - [Storybook for this project](https://nl-design-system.github.io/example/) | ||
| - [nldesignsystem.nl](https://nldesignsystem.nl) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| .start-theme { | ||
| /* Page Header */ | ||
| --utrecht-page-header-background-color: var(--basis-color-accent-1-inverse-bg-default); | ||
| --utrecht-page-header-content-background-color: var(--basis-color-accent-1-inverse-bg-default); | ||
| --utrecht-page-header-content-color: var(--basis-color-accent-1-bg-default); | ||
|
|
||
| /* Navbar */ | ||
| --rhc-nav-bar-background-color: var(--basis-color-default-bg-default); | ||
| --rhc-nav-bar-border-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-container-inline-size: 100%; | ||
| --rhc-nav-bar-content-column-gap: var(--basis-space-inline-xl); | ||
| --rhc-nav-bar-heading-font-weight: var(--basis-text-font-weight-default); | ||
| --rhc-nav-bar-icon-active-color: var(--basis-color-accent-1-color-active); | ||
| --rhc-nav-bar-icon-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-active-background-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-active-color: var(--basis-color-accent-1-color-active); | ||
| --rhc-nav-bar-link-background-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-column-gap: var(--basis-space-block-lg); | ||
| --rhc-nav-bar-link-focus-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-font-size: var(--basis-text-font-size-md); | ||
| --rhc-nav-bar-link-hover-background-color: var(--basis-color-default-bg-hover); | ||
| --rhc-nav-bar-link-hover-color: var(--basis-color-accent-1-color-document); | ||
| --rhc-nav-bar-link-padding-block-end: var(--basis-space-block-lg); | ||
| --rhc-nav-bar-link-padding-block-start: var(--basis-space-block-lg); | ||
| --rhc-nav-bar-link-padding-inline-end: var(--basis-space-inline-xl); | ||
| --rhc-nav-bar-link-padding-inline-start: var(--basis-space-inline-xl); | ||
| --rhc-nav-bar-max-inline-size: var(--basis-page-max-inline-size); | ||
| --rhc-nav-bar-padding-inline: var(--basis-space-inline-xl); | ||
| --rhc-text-font-family-default: var(--basis-text-font-family-default); | ||
|
|
||
| /* Note */ | ||
| --utrecht-note-info-color: var(--basis-color-info-color-document); | ||
| --utrecht-note-info-background-color: var(--basis-color-info-bg-default); | ||
| --utrecht-note-info-border-color: var(--basis-color-info-border-default); | ||
| --utrecht-note-info-border-width: var(--basis-border-width-sm); | ||
| --utrecht-space-around: var(--basis-space-inline-md); | ||
| --utrecht-note-border-radius: var(--basis-border-radius-sm); | ||
| --utrecht-note-border-width: var(--basis-border-width-md); | ||
| --utrecht-note-row-gap: var(--basis-space-inline-md); | ||
| --utrecht-note-padding-block-start: var(--basis-space-inline-xl); | ||
| --utrecht-note-padding-block-end: var(--basis-space-inline-xl); | ||
| --utrecht-note-padding-inline-start: var(--basis-space-inline-xl); | ||
| --utrecht-note-padding-inline-end: var(--basis-space-inline-xl); | ||
|
|
||
| /* RadioGroup */ | ||
| --utrecht-form-field-label-margin-block-end: var(--basis-space-inline-md); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| .example-form-page { | ||
| display: flex; | ||
| flex-direction: column; | ||
| padding-block: var(--basis-space-block-2xl); | ||
| padding-inline: var(--basis-space-inline-xl); | ||
| row-gap: var(--basis-space-block-xl); | ||
| } | ||
|
|
||
| .example-form-page__fields { | ||
| display: flex; | ||
| flex-direction: column; | ||
| row-gap: var(--basis-space-block-2xl); | ||
| } | ||
|
|
||
| .example-form-page__option { | ||
| align-items: center; | ||
| column-gap: var(--basis-space-inline-sm); | ||
| display: flex; | ||
| flex-wrap: wrap; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,171 @@ | ||
| import { ActionGroup } from '@/components/ActionGroup/ActionGroup'; | ||
| import { Button } from '@/components/Button/Button'; | ||
| import { Checkbox } from '@/components/Checkbox/Checkbox'; | ||
| import { Code } from '@/components/Code/Code'; | ||
| import { ComponentReference } from '@/components/ComponentReference/ComponentReference'; | ||
| import { ErrorMessage } from '@/components/ErrorMessage/ErrorMessage'; | ||
| import { FormField } from '@/components/FormField/FormField'; | ||
| import { FormFieldDescription } from '@/components/FormFieldDescription/FormFieldDescription'; | ||
| import { FormLabel } from '@/components/FormLabel/FormLabel'; | ||
| import { Heading } from '@/components/Heading/Heading'; | ||
| import { Paragraph } from '@/components/Paragraph/Paragraph'; | ||
| import { RadioGroup } from '@/components/RadioGroup/RadioGroup'; | ||
| import { Switch } from '@/components/Switch/Switch'; | ||
| import { TextArea } from '@/components/TextArea/TextArea'; | ||
| import { TextInput } from '@/components/TextInput/TextInput'; | ||
| import { DevNote } from '@/dev-pane/DevNote'; | ||
| import './form.css'; | ||
|
|
||
| const FormPage = () => { | ||
| return ( | ||
| <div className="example-form-page"> | ||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="Heading" npmPackage="@nl-design-system-candidate/heading-react" /> | ||
| <ComponentReference label="Paragraph" npmPackage="@nl-design-system-candidate/paragraph-react" /> | ||
| <ComponentReference label="Code" npmPackage="@nl-design-system-candidate/code-react" /> | ||
| </> | ||
| } | ||
| title="Contact form overview" | ||
| > | ||
| <Heading level={1}>Contact us</Heading> | ||
| <Paragraph> | ||
| This page gathers the Utrecht Design System's form elements into a single contact form: text inputs, a | ||
| radio group, a select, a text area, a checkbox, and a toggle. Every component here can render as a Server | ||
| Component — only <Code>Checkbox</Code> needs to run on the client, since it uses React hooks internally | ||
| to support an indeterminate state. The page itself is laid out with a plain flex column and token-based | ||
| spacing, not the <Code>Grid</Code> component used elsewhere on this site. | ||
| </Paragraph> | ||
| </DevNote> | ||
|
|
||
| <form className="example-form-page__fields" method="POST"> | ||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="FormField" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="FormLabel" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="Text Input" npmPackage="@utrecht/textbox-css" /> | ||
| </> | ||
| } | ||
| title="Name field" | ||
| > | ||
| <FormField> | ||
| <FormLabel htmlFor="name">Name</FormLabel> | ||
| <TextInput autoComplete="name" id="name" inputRequired name="name" required /> | ||
| </FormField> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="FormField" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="FormLabel" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="ErrorMessage" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="Text Input" npmPackage="@utrecht/textbox-css" /> | ||
| </> | ||
| } | ||
| title="Email field" | ||
| > | ||
| <FormField invalid> | ||
| <FormLabel htmlFor="email">Email address</FormLabel> | ||
| <ErrorMessage id="email-error">Enter a valid email address, such as name@example.com.</ErrorMessage> | ||
| <TextInput | ||
| aria-describedby="email-error" | ||
| defaultValue="not-an-email" | ||
| id="email" | ||
| inputRequired | ||
| invalid | ||
| name="email" | ||
| required | ||
| type="email" | ||
| /> | ||
| </FormField> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={<ComponentReference label="Radio Group" npmPackage="@utrecht/radio-group-react" />} | ||
| title="Preferred contact time" | ||
| > | ||
| <RadioGroup | ||
| label="Preferred contact time" | ||
| name="contact-time" | ||
| options={[ | ||
| { label: 'Morning', value: 'morning' }, | ||
| { defaultChecked: true, label: 'Afternoon', value: 'afternoon' }, | ||
| { label: 'Evening', value: 'evening' }, | ||
| ]} | ||
| /> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="FormField" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="FormLabel" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="FormFieldDescription" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="Text Area" npmPackage="@utrecht/textarea-css" /> | ||
| </> | ||
| } | ||
| title="Message field" | ||
| > | ||
| <FormField> | ||
| <FormLabel htmlFor="message">Message</FormLabel> | ||
| <FormFieldDescription id="message-hint">Optional</FormFieldDescription> | ||
| <TextArea aria-describedby="message-hint" id="message" name="message" rows={4} /> | ||
| </FormField> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="FormField" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="Checkbox" npmPackage="@utrecht/checkbox-css" /> | ||
| <ComponentReference label="FormLabel" npmPackage="@utrecht/component-library-react" /> | ||
| </> | ||
| } | ||
| title="Contact consent field" | ||
| > | ||
| <FormField> | ||
| <div className="example-form-page__option"> | ||
| <Checkbox id="agree-to-contact" inputRequired name="agree-to-contact" required value="yes" /> | ||
| <FormLabel htmlFor="agree-to-contact">I agree to be contacted about this request</FormLabel> | ||
| </div> | ||
| </FormField> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="FormField" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="FormLabel" npmPackage="@utrecht/component-library-react" /> | ||
| <ComponentReference label="Switch" npmPackage="@utrecht/form-toggle-css" /> | ||
| </> | ||
| } | ||
| title="Newsletter field" | ||
| > | ||
| <FormField> | ||
| <FormLabel htmlFor="newsletter">Subscribe to the newsletter</FormLabel> | ||
| <Switch id="newsletter" name="newsletter" value="yes" /> | ||
| </FormField> | ||
| </DevNote> | ||
|
|
||
| <DevNote | ||
| note={ | ||
| <> | ||
| <ComponentReference label="ActionGroup" npmPackage="@utrecht/action-group-react" /> | ||
| <ComponentReference label="Button" npmPackage="@nl-design-system-candidate/button-react" /> | ||
| </> | ||
| } | ||
| title="Submit action" | ||
| > | ||
| <ActionGroup> | ||
| <Button type="submit">Send message</Button> | ||
| </ActionGroup> | ||
| </DevNote> | ||
| </form> | ||
| </div> | ||
| ); | ||
| }; | ||
|
|
||
| export default FormPage; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| import { PropsWithChildren } from 'react'; | ||
| import { Layout } from '@/layout/Layout'; | ||
| import '@amsterdam/design-system-tokens/dist/index.css'; | ||
| import '@nl-design-system-unstable/start-design-tokens/dist/theme.css'; | ||
| import './default.css'; | ||
|
|
||
| const DefaultLayout = ({ children }: PropsWithChildren) => ( | ||
| <Layout navbarCurrent="home" theme="start-theme"> | ||
| {children} | ||
| </Layout> | ||
| ); | ||
|
|
||
| export default DefaultLayout; |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.