forked from 77media/video-flow
62 lines
1.4 KiB
TypeScript
62 lines
1.4 KiB
TypeScript
export interface ScriptBlock {
|
|
id: string;
|
|
title: string;
|
|
content: ScriptContent[];
|
|
type: 'core' | 'scene' | 'summary' | 'theme' | 'roles';
|
|
sceneNumber?: number;
|
|
}
|
|
|
|
export interface ScriptContent {
|
|
type: 'paragraph' | 'bold' | 'italic' | 'heading' | 'tag' | 'card';
|
|
text?: string;
|
|
roleInfo?: {
|
|
name: string;
|
|
gender: string;
|
|
role: string;
|
|
desc: string;
|
|
color: string;
|
|
};
|
|
}
|
|
|
|
export interface ScriptData {
|
|
blocks: ScriptBlock[];
|
|
translation?: {
|
|
language: string;
|
|
content: string;
|
|
};
|
|
}
|
|
|
|
export interface NavigationItem {
|
|
id: string;
|
|
title: string;
|
|
type: 'core' | 'scene' | 'summary';
|
|
}
|
|
|
|
// 主题标签背景色 enum
|
|
export enum ThemeTagBgColor {
|
|
blue = 'bg-blue-500/20',
|
|
green = 'bg-green-500/20',
|
|
red = 'bg-red-500/20',
|
|
yellow = 'bg-yellow-500/20',
|
|
purple = 'bg-purple-500/20',
|
|
orange = 'bg-orange-500/20',
|
|
pink = 'bg-pink-500/20',
|
|
brown = 'bg-brown-500/20',
|
|
gray = 'bg-gray-500/20'
|
|
}
|
|
|
|
// 主题类型 enum
|
|
export enum ThemeType {
|
|
satire = 'satire', // 讽刺
|
|
absurdistComedy = 'absurdistComedy', // 荒诞喜剧
|
|
disaster = 'disaster', // 灾难
|
|
tragedy = 'tragedy', // 悲剧
|
|
comedy = 'comedy', // 喜剧
|
|
drama = 'drama', // 戏剧
|
|
fantasy = 'fantasy', // 奇幻
|
|
horror = 'horror', // 恐怖
|
|
mystery = 'mystery', // 神秘
|
|
romance = 'romance', // 爱情
|
|
scienceFiction = 'scienceFiction', // 科幻
|
|
thriller = 'thriller', // 惊悚
|
|
} |