Files
nextjs-notion-starter-kit/lib/types.ts
2024-10-31 20:49:33 -05:00

74 lines
1.5 KiB
TypeScript

import { type ParsedUrlQuery } from 'node:querystring'
import { type ExtendedRecordMap, type PageMap } from 'notion-types'
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
}
export interface NotionPageInfo {
pageId: string
title: string
image: string
imageObjectPosition: string
author: string
authorImage: string
detail: string
}