// src/context/UserContext.tsx
"use client";

import { createContext, useContext, useEffect, useState } from "react";

type User = {id?: number;type?: number;email?: string;name?: string;};

const UserContext = createContext<{user: User | null;loading: boolean;}>({user: null,loading: true,});
export const useUser = () => useContext(UserContext);

export function UserProvider({ children }: { children: React.ReactNode }) {
  const [user, setUser] = useState<User | null>(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    fetch("/api/auth/me")
      .then(res => res.json())
      .then(data => {
        setUser(data.user || null);
        setLoading(false);
      })
      .catch(() => {
        setUser(null);
        setLoading(false);
      });
  }, []);

  return (
    <UserContext.Provider value={{ user, loading }}>
      {children}
    </UserContext.Provider>
  );
}
