diff --git a/aksel.nav.no/website/app/_sanity/live-fetch.ts b/aksel.nav.no/website/app/_sanity/live-fetch.ts new file mode 100644 index 0000000000..8867eb7975 --- /dev/null +++ b/aksel.nav.no/website/app/_sanity/live-fetch.ts @@ -0,0 +1,107 @@ +import "server-only"; +import { sanityFetch } from "@/app/_sanity/live"; +import { + DESIGNSYSTEM_GRUNNLEGGENDE_LANDINGPAGE_QUERY, + DESIGNSYSTEM_KOMPONENTER_LANDINGPAGE_QUERY, + DESIGNSYSTEM_TEMPLATES_LANDINGPAGE_QUERY, + GOD_PRAKSIS_ALL_TEMA_QUERY, + SITEMAP_ARTICLES_BY_TYPE_QUERY, + SITEMAP_LANDINGPAGES_QUERY, +} from "@/app/_sanity/queries"; +import { PAGE_ROUTES } from "@/app/routing-config"; +import { allArticleDocuments } from "@/sanity/config"; + +async function fetchAllSanityPages(): Promise< + { + slug: string; + lastMod: string | null; + }[] +> { + const [ + { data: landingPageData }, + { data: articleListData }, + { data: temaListData }, + { data: dsKomponenterData }, + { data: dsGrunnleggendeData }, + { data: dsTemplatesData }, + ] = await Promise.all([ + sanityFetch({ + query: SITEMAP_LANDINGPAGES_QUERY, + stega: false, + perspective: "published", + }), + sanityFetch({ + query: SITEMAP_ARTICLES_BY_TYPE_QUERY, + params: { + doctypes: allArticleDocuments, + }, + stega: false, + perspective: "published", + }), + sanityFetch({ + query: GOD_PRAKSIS_ALL_TEMA_QUERY, + stega: false, + perspective: "published", + }), + sanityFetch({ + query: DESIGNSYSTEM_KOMPONENTER_LANDINGPAGE_QUERY, + stega: false, + perspective: "published", + }), + sanityFetch({ + query: DESIGNSYSTEM_GRUNNLEGGENDE_LANDINGPAGE_QUERY, + stega: false, + perspective: "published", + }), + sanityFetch({ + query: DESIGNSYSTEM_TEMPLATES_LANDINGPAGE_QUERY, + stega: false, + perspective: "published", + }), + ]); + + const paths = [ + { slug: "", lastMod: landingPageData.frontpage }, + { slug: "/god-praksis", lastMod: landingPageData.godpraksis }, + { slug: "/produktbloggen", lastMod: landingPageData.blogg }, + { slug: "/designsystemet", lastMod: new Date().toISOString() }, + ...articleListData.map((page) => { + return { slug: `/${page.slug}`, lastMod: page._updatedAt }; + }), + ...temaListData + .filter((tema) => tema.articles.length > 0) + .map((page) => { + return { slug: `/god-praksis/${page.slug}`, lastMod: page._updatedAt }; + }), + ]; + + dsKomponenterData?.overview_pages?.forEach((overviewPage) => { + paths.push({ slug: `/komponenter/${overviewPage}`, lastMod: null }); + }); + + dsGrunnleggendeData?.overview_pages?.forEach((overviewPage) => { + paths.push({ slug: `/grunnleggende/${overviewPage}`, lastMod: null }); + }); + + dsTemplatesData?.overview_pages?.forEach((overviewPage) => { + paths.push({ slug: `/monster-maler/${overviewPage}`, lastMod: null }); + }); + + Object.values(PAGE_ROUTES).forEach((category) => { + category.root.forEach((page) => + paths.push({ slug: `/${page.slug}`, lastMod: null }), + ); + + if (category?.nested) { + Object.values(category.nested).forEach((nestedCategory) => { + nestedCategory.forEach((page) => + paths.push({ slug: `/${page.slug}`, lastMod: null }), + ); + }); + } + }); + + return paths; +} + +export { fetchAllSanityPages }; diff --git a/aksel.nav.no/website/app/_sanity/queries.ts b/aksel.nav.no/website/app/_sanity/queries.ts index 92d460048f..cb5692f5ba 100644 --- a/aksel.nav.no/website/app/_sanity/queries.ts +++ b/aksel.nav.no/website/app/_sanity/queries.ts @@ -157,6 +157,7 @@ const SLUG_BY_TYPE_QUERY = defineQuery(` const GOD_PRAKSIS_ALL_TEMA_QUERY = defineQuery(`*[_type == "gp.tema"] | order(lower(title)){ title, + _updatedAt, description, pictogram, "slug": slug.current, @@ -262,6 +263,22 @@ const DOCUMENT_BY_ID_FOR_SLACK_QUERY = defineQuery(`*[_id == $id][0]{ "contacts": undertema[]->tema->contacts[]->email }`); +/* --------------------------------- Sitemap -------------------------------- */ +const SITEMAP_LANDINGPAGES_QUERY = defineQuery(` +{ + "frontpage": *[_type == "aksel_forside"][0]._updatedAt, + "godpraksis": *[_type == "godpraksis_landingsside"][0]._updatedAt, + "blogg": *[_type == "blogg_landingsside"][0]._updatedAt, +} + `); + +const SITEMAP_ARTICLES_BY_TYPE_QUERY = defineQuery(` + *[_type in $doctypes]{ + "slug": slug.current, + _updatedAt + } + `); + /* --------------------------------- Exports -------------------------------- */ export { DESIGNSYSTEM_SIDEBAR_QUERY, @@ -288,4 +305,6 @@ export { DOCUMENT_BY_ID_FOR_SLACK_QUERY, SIDE_ARTICLE_BY_SLUG_QUERY, PRINSIPPER_BY_SLUG_QUERY, + SITEMAP_LANDINGPAGES_QUERY, + SITEMAP_ARTICLES_BY_TYPE_QUERY, }; diff --git a/aksel.nav.no/website/app/_sanity/query-types.ts b/aksel.nav.no/website/app/_sanity/query-types.ts index 06751e89d8..6ab5fcf3f5 100644 --- a/aksel.nav.no/website/app/_sanity/query-types.ts +++ b/aksel.nav.no/website/app/_sanity/query-types.ts @@ -8283,9 +8283,10 @@ export type METADATA_BY_SLUG_QUERYResult = // Query: *[_type == $type && defined(slug.current)].slug.current export type SLUG_BY_TYPE_QUERYResult = Array; // Variable: GOD_PRAKSIS_ALL_TEMA_QUERY -// Query: *[_type == "gp.tema"] | order(lower(title)){ title, description, pictogram, "slug": slug.current, "articles": *[_type=="aksel_artikkel" && (^._id in undertema[]->tema._ref)] { heading, "slug": slug.current, "undertema": undertema[]->{title, "temaTitle": tema->title}, "innholdstype": innholdstype->title, "views": *[_type == "article_views" && article_ref._ref == ^._id][0].views_month } | order(coalesce(views, -1) desc)[0...4]{ heading, slug, undertema, innholdstype },} +// Query: *[_type == "gp.tema"] | order(lower(title)){ title, _updatedAt, description, pictogram, "slug": slug.current, "articles": *[_type=="aksel_artikkel" && (^._id in undertema[]->tema._ref)] { heading, "slug": slug.current, "undertema": undertema[]->{title, "temaTitle": tema->title}, "innholdstype": innholdstype->title, "views": *[_type == "article_views" && article_ref._ref == ^._id][0].views_month } | order(coalesce(views, -1) desc)[0...4]{ heading, slug, undertema, innholdstype },} export type GOD_PRAKSIS_ALL_TEMA_QUERYResult = Array<{ title: string | null; + _updatedAt: string; description: string | null; pictogram: { asset?: { @@ -11725,6 +11726,25 @@ export type DOCUMENT_BY_ID_FOR_SLACK_QUERYResult = contacts: Array | null; } | null; +// Variable: SITEMAP_LANDINGPAGES_QUERY +// Query: { "frontpage": *[_type == "aksel_forside"][0]._updatedAt, "godpraksis": *[_type == "godpraksis_landingsside"][0]._updatedAt, "blogg": *[_type == "blogg_landingsside"][0]._updatedAt,} +export type SITEMAP_LANDINGPAGES_QUERYResult = { + frontpage: string | null; + godpraksis: string | null; + blogg: string | null; +}; +// Variable: SITEMAP_ARTICLES_BY_TYPE_QUERY +// Query: *[_type in $doctypes]{ "slug": slug.current, _updatedAt } +export type SITEMAP_ARTICLES_BY_TYPE_QUERYResult = Array< + | { + slug: null; + _updatedAt: string; + } + | { + slug: string | null; + _updatedAt: string; + } +>; declare module "@sanity/client" { interface SanityQueries { @@ -11745,7 +11765,7 @@ declare module "@sanity/client" { '*[slug.current == $slug][0].content[style match \'h2\'][]{\n "id": _key,\n "title": pt::text(@)\n}': TOC_BY_SLUG_QUERYResult; "*[slug.current == $slug][0]{\n heading,\n ingress,\n publishedAt,\n seo\n}": METADATA_BY_SLUG_QUERYResult; "\n *[_type == $type && defined(slug.current)].slug.current\n": SLUG_BY_TYPE_QUERYResult; - '*[_type == "gp.tema"] | order(lower(title)){\n title,\n description,\n pictogram,\n "slug": slug.current,\n "articles": *[_type=="aksel_artikkel"\n && (^._id in undertema[]->tema._ref)] {\n heading,\n "slug": slug.current,\n "undertema": undertema[]->{title, "temaTitle": tema->title},\n "innholdstype": innholdstype->title,\n "views": *[_type == "article_views" && article_ref._ref == ^._id][0].views_month\n } | order(coalesce(views, -1) desc)[0...4]{\n heading,\n slug,\n undertema,\n innholdstype\n },\n}': GOD_PRAKSIS_ALL_TEMA_QUERYResult; + '*[_type == "gp.tema"] | order(lower(title)){\n title,\n _updatedAt,\n description,\n pictogram,\n "slug": slug.current,\n "articles": *[_type=="aksel_artikkel"\n && (^._id in undertema[]->tema._ref)] {\n heading,\n "slug": slug.current,\n "undertema": undertema[]->{title, "temaTitle": tema->title},\n "innholdstype": innholdstype->title,\n "views": *[_type == "article_views" && article_ref._ref == ^._id][0].views_month\n } | order(coalesce(views, -1) desc)[0...4]{\n heading,\n slug,\n undertema,\n innholdstype\n },\n}': GOD_PRAKSIS_ALL_TEMA_QUERYResult; '*[_type == "godpraksis_landingsside"][0].seo': GOD_PRAKSIS_LANDING_PAGE_SEO_QUERYResult; '*[_type == "gp.tema" && slug.current == $slug][0]{\n ...,\n "undertema": *[_type == "gp.tema.undertema" && tema->slug.current == $slug]{\n title,\n description\n },\n }': GOD_PRAKSIS_TEMA_BY_SLUG_QUERYResult; '*[_type == "aksel_artikkel" && defined(undertema) && $slug in undertema[]->tema->slug.current] | order(updateInfo.lastVerified desc) {\n _id,\n heading,\n "displayDate": updateInfo.lastVerified,\n "description": ingress,\n "undertema": undertema[]->{title, "temaTitle": tema->title},\n "innholdstype": innholdstype->title,\n "slug": slug.current,\n }': GOD_PRAKSIS_ARTICLES_BY_TEMA_QUERYResult; @@ -11753,5 +11773,7 @@ declare module "@sanity/client" { '\n*[slug.current == $slug && _type == "aksel_standalone"][0]\n {\n ...,\n content[]{\n ...,\n \n_type == "language" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "attachment" =>{\n ...,\n "downloadLink": asset->url,\n "size": asset->size,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "token_ref"=>@->,\n\nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n_type == "intro_komponent" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n},\n_type == "live_demo" =>{\n ...,\n "sandbox_ref": sandbox_ref->{...},\n},\n_type == "props_seksjon" =>{\n ...,\n komponenter[]{\n ...,\n "propref": propref->{...}\n },\n},\n_type == "installasjon_seksjon" =>{\n ...,\n "code_ref": code_ref->{...},\n},\n_type == "spesial_seksjon" =>{\n ...,\n "token": token_ref->{...}\n},\n_type == "accordion"=>{\n ...,\n list[]{\n ...,\n content[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n \n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n\n }\n }\n}\n,\n_type == "expansioncard"=>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n \n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n\n }\n},\n\n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n,\n\n }\n }\n': SIDE_ARTICLE_BY_SLUG_QUERYResult; '\n *[slug.current == $slug && _type == "aksel_prinsipp"][0]{\n ...,\n content[]{\n ...,\n \n_type == "language" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "attachment" =>{\n ...,\n "downloadLink": asset->url,\n "size": asset->size,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "token_ref"=>@->,\n\nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n_type == "intro_komponent" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n_type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n},\n_type == "live_demo" =>{\n ...,\n "sandbox_ref": sandbox_ref->{...},\n},\n_type == "props_seksjon" =>{\n ...,\n komponenter[]{\n ...,\n "propref": propref->{...}\n },\n},\n_type == "installasjon_seksjon" =>{\n ...,\n "code_ref": code_ref->{...},\n},\n_type == "spesial_seksjon" =>{\n ...,\n "token": token_ref->{...}\n},\n_type == "accordion"=>{\n ...,\n list[]{\n ...,\n content[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n \n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n\n }\n }\n}\n,\n_type == "expansioncard"=>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n},\n \n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n\n }\n},\n\n _type == "bilde" =>{\n ...,\n floating_text[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "video" =>{\n ...,\n "webm": {\n "url": webm.asset->url,\n "extension": webm.asset->extension\n },\n "fallback": {\n "url": fallback.asset->url,\n "extension": fallback.asset->extension\n },\n "track": track.asset->url\n },\n _type == "alert" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n },\n _type == "kode" =>{\n ...,\n "ref": ref->{...},\n },\n _type == "kode_eksempler" =>{\n ...,\n dir->,\n },\n _type == "kode_ref" => @->,\n _type == "tips" =>{\n ...,\n body[]{\n ...,\n \nmarkDefs[]{\n ...,\n _type == \'internalLink\' => {\n "slug": @.reference->slug,\n },\n}\n }\n},\n _type == "relatert_innhold" =>{\n title,\n lenker[]{\n ...,\n "intern_lenke": intern_lenke->slug.current,\n }\n}\n,\n\n },\n contributors[]->{title}\n}': PRINSIPPER_BY_SLUG_QUERYResult; '*[_id == $id][0]{\n "id": _id,\n "title": heading,\n "editors": contributors[]->email,\n "slug": slug.current,\n "contacts": undertema[]->tema->contacts[]->email\n }': DOCUMENT_BY_ID_FOR_SLACK_QUERYResult; + '\n{\n "frontpage": *[_type == "aksel_forside"][0]._updatedAt,\n "godpraksis": *[_type == "godpraksis_landingsside"][0]._updatedAt,\n "blogg": *[_type == "blogg_landingsside"][0]._updatedAt,\n}\n ': SITEMAP_LANDINGPAGES_QUERYResult; + '\n *[_type in $doctypes]{\n "slug": slug.current,\n _updatedAt\n }\n ': SITEMAP_ARTICLES_BY_TYPE_QUERYResult; } } diff --git a/aksel.nav.no/website/app/dev/(designsystemet)/_ui/sidebar/Sidebar.group.tsx b/aksel.nav.no/website/app/dev/(designsystemet)/_ui/sidebar/Sidebar.group.tsx index 367039cbbf..e432298a37 100644 --- a/aksel.nav.no/website/app/dev/(designsystemet)/_ui/sidebar/Sidebar.group.tsx +++ b/aksel.nav.no/website/app/dev/(designsystemet)/_ui/sidebar/Sidebar.group.tsx @@ -1,4 +1,3 @@ -import { stegaClean } from "next-sanity"; import { useId } from "react"; import { BodyShort, Detail } from "@navikt/ds-react"; import { DesignsystemSidebarSectionT } from "@/types"; @@ -16,16 +15,10 @@ function DesignsystemSidebarGroup(props: DesignsystemSidebarGroupT) { const { label, links, layout } = props; const id = useId(); - const isDarkside = stegaClean(label.toLowerCase()) === "darkside"; - const LabelComponent = layout === "sidebar" ? Detail : BodyShort; return ( -
  • +
  • { return pathName?.split("#")[0] === stegaClean(`/${page.slug}`); }); @@ -23,7 +25,7 @@ function DesignsystemSidebarSubNav( const [open, setOpen] = useState(isSectionActive); return ( -
  • +