diff --git a/examples/referansesider/src/components/Page.tsx b/examples/referansesider/src/components/Page.tsx index e8514f68ed..a96e10b534 100644 --- a/examples/referansesider/src/components/Page.tsx +++ b/examples/referansesider/src/components/Page.tsx @@ -15,7 +15,7 @@ export const Page = ({ return (
{ + const parsed = path.replace(/\//g, " ").trim(); + if (parsed === "") return "Hjem"; + return parsed; +}; + +export const RouteMapper = ({ + children, + skipRoot = false, +}: { + children: (path: string, name: string, root: boolean) => React.ReactNode; + skipRoot?: boolean; +}) => { + const { routesByPath } = useRouter(); + let paths = Object.keys(routesByPath); + if (skipRoot) { + paths = paths.filter((path) => path !== "/"); + } + + return ( + <> + {paths.map((path) => { + const name = pathToName(path); + return children(path, name, path === "/"); + })} + + ); +}; diff --git a/examples/referansesider/src/routes/__root.tsx b/examples/referansesider/src/routes/__root.tsx index c5a249b224..fe90c96cfb 100644 --- a/examples/referansesider/src/routes/__root.tsx +++ b/examples/referansesider/src/routes/__root.tsx @@ -2,33 +2,14 @@ import { ErrorComponent, Link, Outlet, - ReactNode, createRootRoute, } from "@tanstack/react-router"; import React from "react"; import styled from "styled-components"; import * as tokens from "@navikt/ds-tokens/dist/darkside/tokens"; +import { RouteMapper } from "../components/RouteMapper"; import { ThemeSwitch } from "../theme/ThemeSwitch"; -const ScRouteLink = styled(Link)` - &[aria-current="page"] { - background-color: ${tokens.BgRaised}; - text-decoration: underline; - } -`; - -const ScUl = styled.ul` - background-color: ${tokens.BgSunken}; -`; - -const RouteLink = ({ children, to }: { children: ReactNode; to: string }) => { - return ( - - {children} - - ); -}; - const TanStackRouterDevtools = process.env.NODE_ENV === "production" ? () => null // Render nothing in production @@ -41,27 +22,45 @@ const TanStackRouterDevtools = })), ); +const ScHeader = styled.header` + border-bottom: 1px solid ${tokens.BorderSubtle}; +`; + +const ScRouteLink = styled(Link)` + &[aria-current="page"] { + background-color: ${tokens.BgRaised}; + text-decoration: underline; + } +`; + +const ScUl = styled.ul` + background-color: ${tokens.BgSunken}; +`; + export const Route = createRootRoute({ errorComponent: ErrorComponent, component: () => ( <> -
+ -
  • - Sykepenger -
  • -
  • - Min Side -
  • -
  • - Komponenter -
  • + + {(path, name) => ( +
  • + + {name} + +
  • + )} +
    -
    -
    + +
    diff --git a/examples/referansesider/src/routes/index.tsx b/examples/referansesider/src/routes/index.tsx index 6668c7005c..8a554e1ccc 100644 --- a/examples/referansesider/src/routes/index.tsx +++ b/examples/referansesider/src/routes/index.tsx @@ -1,7 +1,40 @@ -import { createFileRoute } from "@tanstack/react-router"; +import { Link, createFileRoute } from "@tanstack/react-router"; +import styled from "styled-components"; +import * as tokens from "@navikt/ds-tokens/dist/darkside/tokens"; +import { Page } from "../components/Page"; +import { RouteMapper } from "../components/RouteMapper"; + +const ScCard = styled(Link)` + padding: 1.5rem; + display: block; + border-radius: 12px; + text-transform: capitalize; + color: ${tokens.TextAccent}; + font-weight: 550; + font-size: 24px; + border: 1px solid ${tokens.BorderAccentSubtle}; + background: ${tokens.BgAccent}; + + &:hover { + background: ${tokens.BgAccentHover}; + text-decoration: underline; + } +`; const Component = () => { - return

    pick a referanseside

    ; + return ( + + + + ); }; export const Route = createFileRoute("/")({ component: Component }); diff --git a/examples/referansesider/src/routes/komponenter.tsx b/examples/referansesider/src/routes/komponenter.tsx index 388d8c08c5..c59de52330 100644 --- a/examples/referansesider/src/routes/komponenter.tsx +++ b/examples/referansesider/src/routes/komponenter.tsx @@ -2,6 +2,7 @@ import { createFileRoute } from "@tanstack/react-router"; import styled from "styled-components"; import { Button } from "../components/Button"; import { Link } from "../components/Link"; +import { Page } from "../components/Page"; export const Route = createFileRoute("/komponenter")({ component: ComponentPage, @@ -15,17 +16,19 @@ const Section = styled.section` function ComponentPage() { return ( -
    -
    - - -
    -
    - Når du har sykepenger - - Når du har sykepenger - -
    -
    + +
    +
    + + +
    +
    + Når du har sykepenger + + Når du har sykepenger + +
    +
    +
    ); }