import type { DetailModalConfig } from '../types';

/**
 * 복리후생비 현황 모달 설정
 *
 * @deprecated 정적 목업 데이터 - API 연동 후에는 useWelfareDetail hook 사용 권장
 *
 * API 연동 방법:
 * 1. useWelfareDetail hook 호출하여 modalConfig 가져오기
 * 2. API 호출 실패 시 이 fallback config 사용
 *
 * @example
 * const { modalConfig, loading, error, refetch } = useWelfareDetail({
 *   calculationType: 'fixed',
 *   year: 2026,
 *   quarter: 1,
 * });
 * const config = modalConfig ?? getWelfareModalConfig('fixed'); // fallback
 *
 * @param calculationType - 계산 방식 ('fixed': 직원당 정액 금액/월, 'ratio': 연봉 총액 비율)
 */
export function getWelfareModalConfig(calculationType: 'fixed' | 'ratio'): DetailModalConfig {
  // 계산 방식에 따른 조건부 calculationCards 생성
  const calculationCards = calculationType === 'fixed'
    ? {
        // 직원당 정액 금액/월 방식
        title: '복리후생비 계산',
        subtitle: '직원당 정액 금액/월 200,000원',
        cards: [
          { label: '직원 수', value: 20, unit: '명' },
          { label: '연간 직원당 월급 금액', value: 2400000, unit: '원', operator: '×' as const },
          { label: '당해년도 복리후생비 총 한도', value: 48000000, unit: '원', operator: '=' as const },
        ],
      }
    : {
        // 연봉 총액 비율 방식
        title: '복리후생비 계산',
        subtitle: '연봉 총액 기준 비율 20.5%',
        cards: [
          { label: '연봉 총액', value: 1000000000, unit: '원' },
          { label: '비율', value: 20.5, unit: '%', operator: '×' as const },
          { label: '당해년도 복리후생비 총 한도', value: 205000000, unit: '원', operator: '=' as const },
        ],
      };

  return {
    title: '복리후생비 상세',
    dateFilter: {
      enabled: true,
      defaultPreset: '당월',
      showSearch: true,
    },
    summaryCards: [
      // 1행: 당해년도 기준
      { label: '당해년도 복리후생비 총 한도', value: 3123000, unit: '원' },
      { label: '당해년도 복리후생비 잔여한도', value: 6000000, unit: '원' },
      { label: '당해년도 복리후생비 사용금액', value: 6000000, unit: '원' },
      { label: '당해년도 복리후생비 초과 금액', value: 0, unit: '원' },
    ],
    reviewCards: {
      title: '복리후생비 검토 필요',
      cards: [
        { label: '비과세 한도 초과', amount: 3123000, subLabel: '5건' },
        { label: '사적 사용 의심', amount: 3123000, subLabel: '5건' },
        { label: '특정인 편중', amount: 3123000, subLabel: '5건' },
        { label: '항목별 한도 초과', amount: 3123000, subLabel: '5건' },
      ],
    },
    barChart: {
      title: '월별 복리후생비 사용 추이',
      data: [
        { name: '1월', value: 1500000 },
        { name: '2월', value: 1800000 },
        { name: '3월', value: 2200000 },
        { name: '4월', value: 1900000 },
        { name: '5월', value: 2100000 },
        { name: '6월', value: 1700000 },
      ],
      dataKey: 'value',
      xAxisKey: 'name',
      color: '#60A5FA',
    },
    pieChart: {
      title: '항목별 사용 비율',
      data: [
        { name: '식비', value: 55000000, percentage: 55, color: '#FBBF24' },
        { name: '건강검진', value: 25000000, percentage: 5, color: '#60A5FA' },
        { name: '경조사비', value: 10000000, percentage: 10, color: '#F87171' },
        { name: '기타', value: 10000000, percentage: 30, color: '#34D399' },
      ],
    },
    table: {
      title: '일별 복리후생비 사용 내역',
      columns: [
        { key: 'no', label: 'No.', align: 'center' },
        { key: 'cardName', label: '카드명', align: 'left' },
        { key: 'user', label: '사용자', align: 'center' },
        { key: 'date', label: '사용일자', align: 'center', format: 'date' },
        { key: 'store', label: '가맹점명', align: 'left' },
        { key: 'amount', label: '사용금액', align: 'right', format: 'currency' },
        { key: 'content', label: '내용', align: 'left' },
      ],
      data: [
        { cardName: '카드명', user: '홍길동', date: '2025-12-12 12:12', store: '가맹점명', amount: 1000000, content: '비과세 한도 초과' },
        { cardName: '카드명', user: '홍길동', date: '2025-12-12 12:12', store: '가맹점명', amount: 1200000, content: '사적 사용 의심' },
        { cardName: '카드명', user: '홍길동', date: '2025-12-12 12:12', store: '가맹점명', amount: 1500000, content: '특정인 편중' },
        { cardName: '카드명', user: '홍길동', date: '2025-12-12 12:12', store: '가맹점명', amount: 1300000, content: '항목별 한도 초과' },
        { cardName: '카드명', user: '홍길동', date: '2025-12-12 12:12', store: '가맹점명', amount: 6000000, content: '비과세 한도 초과' },
      ],
      filters: [
        {
          key: 'user',
          options: [
            { value: 'all', label: '전체' },
            { value: '홍길동', label: '홍길동' },
          ],
          defaultValue: 'all',
        },
        {
          key: 'content',
          options: [
            { value: 'all', label: '전체' },
            { value: '비과세 한도 초과', label: '비과세 한도 초과' },
            { value: '사적 사용 의심', label: '사적 사용 의심' },
            { value: '특정인 편중', label: '특정인 편중' },
            { value: '항목별 한도 초과', label: '항목별 한도 초과' },
          ],
          defaultValue: 'all',
        },
      ],
      showTotal: true,
      totalLabel: '합계',
      totalValue: 11000000,
      totalColumnKey: 'amount',
    },
    // 복리후생비 계산 (조건부 - calculationType에 따라)
    calculationCards,
    // 복리후생비 현황 (분기별 테이블)
    quarterlyTable: {
      title: '복리후생비 현황',
      rows: [
        { label: '한도금액', q1: 12000000, q2: 12000000, q3: 12000000, q4: 12000000, total: 48000000 },
        { label: '이월금액', q1: 0, q2: '', q3: '', q4: '', total: '' },
        { label: '사용금액', q1: 1000000, q2: '', q3: '', q4: '', total: '' },
        { label: '잔여한도', q1: 11000000, q2: '', q3: '', q4: '', total: '' },
        { label: '초과금액', q1: '', q2: '', q3: '', q4: '', total: '' },
      ],
    },
  };
}