feat(SW-66, SW-348): search functionality and ui

This commit is contained in:
Simon Emanuelsson
2024-08-28 10:47:57 +02:00
parent b9dbcf7d90
commit af850c90e7
437 changed files with 7663 additions and 9881 deletions
@@ -9,19 +9,18 @@ import {
} from "@/utils/generateTag"
import { removeMultipleSlashes } from "@/utils/url"
import { type BreadcrumbsRefsItems, getBreadcrumbsSchema, Page } from "./output"
import { type BreadcrumbsRefs, getBreadcrumbsSchema, Page } from "./output"
import type { Edges } from "@/types/requests/utils/edges"
import type { NodeRefs } from "@/types/requests/utils/refs"
export function getConnections(refs: BreadcrumbsRefsItems) {
export function getConnections(refs: BreadcrumbsRefs) {
const connections: Edges<NodeRefs>[] = []
refs.items.forEach((ref) => {
if (ref.web?.breadcrumbs) {
connections.push(ref.web.breadcrumbs.parentsConnection)
}
})
if (refs.web?.breadcrumbs) {
connections.push(refs.web.breadcrumbs.parentsConnection)
}
return connections
}
@@ -63,14 +62,14 @@ export const homeBreadcrumbs = {
export type Variables = {
locale: Lang
url: string
uid: string
}
export async function getRefsResponse<T>(query: string, variables: Variables) {
const refsResponse = await request<T>(query, variables, {
cache: "force-cache",
next: {
tags: [generateRefsResponseTag(variables.locale, variables.url, affix)],
tags: [generateRefsResponseTag(variables.locale, variables.uid, affix)],
},
})
if (!refsResponse.data) {
@@ -80,10 +79,10 @@ export async function getRefsResponse<T>(query: string, variables: Variables) {
return refsResponse
}
export function getTags(page: BreadcrumbsRefsItems, variables: Variables) {
export function getTags(page: BreadcrumbsRefs, variables: Variables) {
const connections = getConnections(page)
const tags = generateTags(variables.locale, connections)
tags.push(generateTag(variables.locale, page.items[0].system.uid, affix))
tags.push(generateTag(variables.locale, page.system.uid, affix))
return tags
}