Files
nextjs-notion-starter-kit/lib/types.ts
2022-06-27 10:57:26 +00:00

63 lines
1.3 KiB
TypeScript

import { ExtendedRecordMap, PageMap } from 'notion-types'
import { ParsedUrlQuery } from 'querystring'
export * from 'notion-types'
export type NavigationStyle = 'default' | 'custom'
export interface PageError {
message?: string
statusCode: number
}
export interface PageProps {
site?: Site
recordMap?: ExtendedRecordMap
pageId?: string
error?: PageError
}
export interface Params extends ParsedUrlQuery {
pageId: string
}
export interface Site {
name: string
domain: string
rootNotionPageId: string
rootNotionSpaceId: string
// settings
html?: string
fontFamily?: string
darkMode?: boolean
previewImages?: boolean
// opengraph metadata
description?: string
image?: string
}
export interface SiteMap {
site: Site
pageMap: PageMap
canonicalPageMap: CanonicalPageMap
}
export interface CanonicalPageMap {
[canonicalPageId: string]: string
}
export interface PageUrlOverridesMap {
// maps from a URL path to the notion page id the page should be resolved to
// (this overrides the built-in URL path generation for these pages)
[pagePath: string]: string
}
export interface PageUrlOverridesInverseMap {
// maps from a notion page id to the URL path the page should be resolved to
// (this overrides the built-in URL path generation for these pages)
[pageId: string]: string
}