返回 presentation-ai
types.ts
1 import {
2 type ThemeColors,
3 type ThemeProperties,
4 type Themes,
5 } from "@/lib/presentation/themes";
6
7 // Form values for creating/editing a theme
8 export type ThemeFormValues = {
9 isPublic: boolean;
10 themeBase: Themes | "blank";
11 } & ThemeProperties;
12
13 // Color key type for theme colors
14 export type ColorKey = keyof ThemeColors;
15
16 export interface CustomTheme {
17 id: string;
18 name: string;
19 description: string | null;
20 themeData: ThemeProperties;
21 baseThemeData?: ThemeProperties;
22 isPublic: boolean;
23 isAdmin?: boolean;
24 logoUrl: string | null;
25 userId: string;
26 user?: {
27 name: string | null;
28 };
29 likeCount?: number;
30 isLiked?: boolean;
31 isFavorite?: boolean;
32 }
33
33 lines TYPESCRIPT