import {
  VideoFilled,
  FileTextFilled,
  ShareFilled,
  MegaphoneFilled,
  YoutubeFilled,
  InstagramFilled,
  FacebookFilled,
  GlobeFilled,
  TiktokFilled,
  MessageFilled,
} from '@/shared/icons/FilledIcons';
import type { ContentCategory } from '@/features/plan/types/plan';

export const contentTypeColors: Record<ContentCategory, { bg: string; text: string; entry: string; border: string; shadow: string }> = {
  video: { bg: 'bg-brand-tint-purple', text: 'text-brand-purple-vivid', entry: 'bg-[#EDE5FF] border-[#B8A8E8]', border: 'border-brand-tint-lavender', shadow: 'shadow-[2px_3px_8px_rgba(155,138,212,0.15)]' },
  blog: { bg: 'bg-brand-tint-violet', text: 'text-brand-purple-faint', entry: 'bg-[#E2E5FF] border-[#A8B0E8]', border: 'border-[#C5CBF5]', shadow: 'shadow-[2px_3px_8px_rgba(122,132,212,0.15)]' },
  social: { bg: 'bg-brand-earth-bg', text: 'text-brand-earth', entry: 'bg-[#FFEED9] border-[#E8C896]', border: 'border-brand-earth-soft', shadow: 'shadow-[2px_3px_8px_rgba(212,168,114,0.15)]' },
  ad: { bg: 'bg-brand-rose-bg', text: 'text-brand-rose', entry: 'bg-[#FFE0E0] border-[#E8A8B4]', border: 'border-brand-rose-soft', shadow: 'shadow-[2px_3px_8px_rgba(212,136,154,0.15)]' },
};

export const contentTypeLabels: Record<ContentCategory, string> = {
  video: 'Video',
  blog: 'Blog',
  social: 'Social',
  ad: 'Ad',
};

export const contentTypeIcons: Record<ContentCategory, typeof VideoFilled> = {
  video: VideoFilled,
  blog: FileTextFilled,
  social: ShareFilled,
  ad: MegaphoneFilled,
};

// 캘린더 항목의 채널 식별용 FilledIcon 매핑
export const channelIconMap: Record<string, typeof VideoFilled> = {
  youtube: YoutubeFilled,
  instagram: InstagramFilled,
  facebook: FacebookFilled,
  blog: FileTextFilled,
  globe: GlobeFilled,
  video: TiktokFilled,
  star: GlobeFilled,
  map: GlobeFilled,
  messagesquare: MessageFilled,
};

// 시맨틱 상태 색상 (디자인 시스템 기준 raw green/red 미사용)
export const statusDotColors: Record<string, string> = {
  draft: 'bg-slate-400',
  approved: 'bg-brand-purple-soft',
  published: 'bg-[#7A84D4]',
};

export const dayHeaders = ['월', '화', '수', '목', '금', '토', '일'];
