Files
wr.do/types/index.d.ts
T
2024-07-29 11:39:15 +08:00

50 lines
903 B
TypeScript

import { User, UserRole } from "@prisma/client";
import type { Icon } from "lucide-react";
import { Icons } from "@/components/shared/icons";
export type SiteConfig = {
name: string;
description: string;
url: string;
ogImage: string;
mailSupport: string;
links: {
twitter: string;
github: string;
};
freeQuota: {
record: number;
url: number;
};
openSignup: boolean;
};
export type NavItem = {
title: string;
href: string;
badge?: number;
disabled?: boolean;
external?: boolean;
authorizeOnly?: UserRole;
icon?: keyof typeof Icons;
};
export type MainNavItem = NavItem;
export type MarketingConfig = {
mainNav: MainNavItem[];
};
export type SidebarNavItem = {
title: string;
items: NavItem[];
authorizeOnly?: UserRole;
icon?: keyof typeof Icons;
};
export type DocsConfig = {
mainNav: MainNavItem[];
sidebarNav: SidebarNavItem[];
};