chenzhaoyang
2025-12-17 063da0bf961e1d35e25dc107f883f7492f4c5a7c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import type { FC } from "react";
 
export type PageProps = {
  children: React.ReactNode;
};
 
export type PageComponent = FC<PageProps>;
 
export type PageContext = FC<PageProps>;
 
export type PageSettings = {
  path: string;
  title?: string | ((options: any) => string);
  titleRaw?: string;
  exact?: boolean;
  context?: PageContext;
} & (
  | {
      component?: PageComponent;
      pages?: Page[];
    }
  | {
      layout?: PageLayout;
      routes?: any[];
    }
);
 
export type PageLayoutSettingt = Omit<PageSettings, "path">;
 
export type PageLayout = PageLayoutSettingt | (PageComponent & PageLayoutSettingt);
 
export type Page = PageSettings | (PageComponent & PageSettings);