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 (
+
+
+
+ {(path, name) => (
+ -
+ {name}
+
+ )}
+
+
+
+ );
};
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
+
+
+
+
);
}