Files
web/types/params.ts
2024-05-28 08:30:20 +02:00

44 lines
808 B
TypeScript

import { Lang } from "@/constants/languages"
export type SearchParams<S = {}> = {
searchParams: S & { [key: string]: string }
}
export type Params<P = {}> = {
params: P
}
export type LangParams = {
lang: Lang
}
export type StatusParams = {
status: number
}
export type ContentTypeParams = {
contentType: "loyalty-page" | "content-page"
}
export type ContentTypeWebviewParams = {
contentType: "loyalty-page" | "account-page"
}
export type UIDParams = {
uid: string
}
export type UriParams = {
uri: string | string[]
}
export type PreviewParams = {
uri?: string
live_preview?: string
}
export type LayoutArgs<P = undefined> = P extends undefined ? {} : Params<P>
export type PageArgs<P = undefined, S = undefined> = LayoutArgs<P> &
(S extends undefined ? {} : SearchParams<S>)