// ─── Content Creation Studio Types ───

export type StudioChannel = 'youtube' | 'instagram' | 'naver_blog' | 'tiktok' | 'facebook';

export type ContentFormat =
  | 'shorts' | 'long_form'              // YouTube
  | 'reels' | 'carousel' | 'feed_image' | 'stories'  // Instagram
  | 'seo_post' | 'faq_post'            // Naver Blog
  | 'short_video'                       // TikTok
  | 'ad_creative' | 'retarget_content'; // Facebook

export interface ChannelFormatOption {
  channel: StudioChannel;
  label: string;
  icon: string;
  formats: { key: ContentFormat; label: string; aspectRatio: '16:9' | '9:16' | '1:1' | '4:5' }[];
}

export type ContentPillarId = string;

export type AssetSourceType = 'collected' | 'my_assets' | 'ai_generated';

export type MusicGenre = 'calm' | 'upbeat' | 'cinematic' | 'corporate' | 'none';

export interface MusicTrack {
  id: string;
  name: string;
  genre: MusicGenre;
  duration: string;
}

export type NarrationLanguage = 'ko' | 'en' | 'ja' | 'zh';
export type NarrationVoice = 'male' | 'female';

export interface SoundSettings {
  genre: MusicGenre;
  trackId: string | null;
  narrationEnabled: boolean;
  narrationLanguage: NarrationLanguage;
  narrationVoice: NarrationVoice;
  subtitleEnabled: boolean;
}

export type GenerateOutputType = 'image' | 'video';

export interface StudioState {
  channel: StudioChannel | null;
  format: ContentFormat | null;
  pillarId: ContentPillarId | null;
  assetSources: AssetSourceType[];
  sound: SoundSettings;
  outputType: GenerateOutputType;
}

export const DEFAULT_SOUND: SoundSettings = {
  genre: 'calm',
  trackId: null,
  narrationEnabled: false,
  narrationLanguage: 'ko',
  narrationVoice: 'female',
  subtitleEnabled: true,
};

export const CHANNEL_OPTIONS: ChannelFormatOption[] = [
  {
    channel: 'youtube',
    label: 'YouTube',
    icon: 'youtube',
    formats: [
      { key: 'shorts', label: 'Shorts', aspectRatio: '9:16' },
      { key: 'long_form', label: 'Long-form', aspectRatio: '16:9' },
    ],
  },
  {
    channel: 'instagram',
    label: 'Instagram',
    icon: 'instagram',
    formats: [
      { key: 'reels', label: 'Reels', aspectRatio: '9:16' },
      { key: 'carousel', label: 'Carousel', aspectRatio: '1:1' },
      { key: 'feed_image', label: 'Feed Image', aspectRatio: '1:1' },
      { key: 'stories', label: 'Stories', aspectRatio: '9:16' },
    ],
  },
  {
    channel: 'naver_blog',
    label: 'Naver Blog',
    icon: 'globe',
    formats: [
      { key: 'seo_post', label: 'SEO Post', aspectRatio: '16:9' },
      { key: 'faq_post', label: 'FAQ Post', aspectRatio: '16:9' },
    ],
  },
  {
    channel: 'tiktok',
    label: 'TikTok',
    icon: 'tiktok',
    formats: [
      { key: 'short_video', label: 'Short Video', aspectRatio: '9:16' },
    ],
  },
  {
    channel: 'facebook',
    label: 'Facebook',
    icon: 'facebook',
    formats: [
      { key: 'ad_creative', label: 'Ad Creative', aspectRatio: '1:1' },
      { key: 'retarget_content', label: 'Retarget Content', aspectRatio: '16:9' },
    ],
  },
];

export const MUSIC_TRACKS: MusicTrack[] = [
  { id: 'calm-1', name: 'Gentle Morning', genre: 'calm', duration: '2:30' },
  { id: 'calm-2', name: 'Soft Healing', genre: 'calm', duration: '3:15' },
  { id: 'calm-3', name: 'Peaceful Flow', genre: 'calm', duration: '2:45' },
  { id: 'upbeat-1', name: 'Fresh Start', genre: 'upbeat', duration: '2:20' },
  { id: 'upbeat-2', name: 'Bright Day', genre: 'upbeat', duration: '2:50' },
  { id: 'upbeat-3', name: 'Energy Boost', genre: 'upbeat', duration: '3:00' },
  { id: 'cinematic-1', name: 'Grand Reveal', genre: 'cinematic', duration: '3:30' },
  { id: 'cinematic-2', name: 'Transformation', genre: 'cinematic', duration: '4:00' },
  { id: 'cinematic-3', name: 'Before & After', genre: 'cinematic', duration: '2:55' },
  { id: 'corp-1', name: 'Professional Trust', genre: 'corporate', duration: '2:40' },
  { id: 'corp-2', name: 'Clean & Modern', genre: 'corporate', duration: '3:10' },
  { id: 'corp-3', name: 'Confidence', genre: 'corporate', duration: '2:35' },
];
