'use client';

import { useQuery } from '@tanstack/react-query';
import { api } from '@/lib/api';
import type { SellerDashboardMetrics } from '@alqove/api-client';

export const SELLER_DASHBOARD_KEYS = {
  metrics: (storeId: string) => ['seller', 'dashboard', storeId] as const,
};

const REFETCH_INTERVAL_MS = 30_000;

export function useSellerDashboard(storeId: string | null | undefined) {
  return useQuery<SellerDashboardMetrics>({
    queryKey: SELLER_DASHBOARD_KEYS.metrics(storeId ?? 'none'),
    enabled: Boolean(storeId),
    queryFn: async () => {
      const res = await api.seller.dashboardMetrics(storeId!);
      return res.data;
    },
    refetchInterval: REFETCH_INTERVAL_MS,
    refetchOnWindowFocus: true,
    staleTime: 15_000,
  });
}
