import { useQuery } from '@tanstack/react-query';
import { api } from '../lib/api';
import type { ApiResponse } from '../lib/api';

export interface SecretaryEarningsSummary {
  enabled: boolean;
  share_percent: number;
  today_rials: number;
  this_month_rials: number;
  total_rials: number;
  appointments_count: number;
  wallet_balance_rials: number;
}

/**
 * خلاصهٔ درآمد منشی از نوبت‌های آنلاین. `enabled` تنها منبع تصمیم برای نمایش
 * آیتم‌های مالی منشی است؛ سرور همان قاعده را اعمال می‌کند.
 */
export function useSecretaryEarnings(enabled = true) {
  const { data, isLoading } = useQuery<ApiResponse<{ data: SecretaryEarningsSummary }>>({
    queryKey: ['secretary-earnings-summary'],
    queryFn: () => api.get('/api/v1/secretary/earnings/summary'),
    staleTime: 5 * 60 * 1000,
    enabled,
  });

  const summary = (data?.data as any)?.data ?? data?.data;

  return { summary: summary as SecretaryEarningsSummary | undefined, isLoading };
}
