Files
promote/web/src/types.ts
2025-03-07 18:04:27 +08:00

65 lines
1.5 KiB
TypeScript

export interface Comment {
id: string;
platform: 'facebook' | 'threads' | 'instagram' | 'linkedin' | 'xiaohongshu' | 'youtube';
contentType?: 'post' | 'reel' | 'video' | 'short';
content: string;
author: string;
authorType: 'user' | 'kol' | 'official';
timestamp: string;
articleTitle: string;
postAuthor: string;
postAuthorType: 'official' | 'kol';
url: string;
status: 'pending' | 'approved' | 'rejected';
sentiment: 'positive' | 'negative' | 'neutral' | 'mixed';
aiReply?: string;
replyStatus?: 'draft' | 'sent' | 'none';
language?: 'zh-TW' | 'zh-CN' | 'en';
privateMessage?: {
content?: string;
status?: 'draft' | 'sent' | 'none';
timestamp?: string;
};
}
export interface AnalyticsData {
platform: string;
count: number;
percentage: number;
}
export interface TimelineData {
date: string;
count: number;
}
export interface SentimentData {
positive: number;
neutral: number;
negative: number;
mixed?: number;
}
export interface ReplyTemplate {
id: string;
name: string;
content: string;
language: 'zh-TW' | 'zh-CN' | 'en';
category: 'general' | 'support' | 'promotion' | 'inquiry';
type: 'reply' | 'private';
}
export interface ReplyPersona {
id: string;
name: string;
description: string;
tone: 'professional' | 'friendly' | 'formal' | 'casual';
}
export interface ReplyAccount {
id: string;
name: string;
platform: 'facebook' | 'threads' | 'instagram' | 'linkedin' | 'xiaohongshu' | 'youtube';
avatar: string;
role: 'admin' | 'moderator' | 'support';
}