/* eslint-disable @typescript-eslint/no-unused-vars */
import { BASE_URL } from "@/components/main/BaseUrl";

export async function fetchSearch(
  page: number,
  limit: number,
  filters: {
    type?: string;
    search?: string;
  },
  token: string
) {
  // فیلتر کردن مقادیر نامعتبر
  const validFilters = Object.entries(filters || {})
    .filter(([_, value]) => value !== undefined && value !== '')
    .reduce((acc, [key, value]) => {
      acc[key] = value;
      return acc;
    }, {} as Record<string, string>);

  const queryParams = new URLSearchParams({
    page: page.toString(),
    limit: limit.toString(),
    ...validFilters,
    timestamp: Date.now().toString(), // اضافه کردن timestamp برای جلوگیری از کش
  }).toString();

  const apiUrl = `${BASE_URL}/search-web?${queryParams}`;

  const response = await fetch(apiUrl, {
    cache: 'no-store', // غیرفعال کردن کش
    headers: {
      Authorization: token ? `Bearer ${token}` : "",
    },
  });

  if (!response.ok) {
    throw new Error('Network response was not ok');
  }

  return response.json();
}