feat(SW-66, SW-348): search functionality and ui
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user