"use client";

import { createContext, useContext } from "react";
import { useQuery } from "@tanstack/react-query";

const CurrencyContext = createContext("USD");

export function useCurrencyContext(): string {
  return useContext(CurrencyContext);
}

export function CurrencyProvider({ children }: { children: React.ReactNode }) {
  const { data } = useQuery<{ currency: string }>({
    queryKey: ["user-profile"],
    queryFn: async () => {
      const res = await fetch("/api/user/profile");
      if (!res.ok) return { currency: "USD" };
      return res.json();
    },
    staleTime: 1000 * 60 * 5,
  });

  return (
    <CurrencyContext.Provider value={data?.currency ?? "USD"}>
      {children}
    </CurrencyContext.Provider>
  );
}
