import { useState, useEffect } from "react"

export function useAuth() {
  const [user, setUser] = useState<any>(null)
  const [token, setToken] = useState<string | null>(null)

  // Uygulama açıldığında localStorage kontrolü
  useEffect(() => {
    const storedUser = localStorage.getItem("user")
    const storedToken = localStorage.getItem("token")
    if (storedUser && storedToken) {
      setUser(JSON.parse(storedUser))
      setToken(storedToken)
    }
  }, [])

  // Giriş başarılı olduğunda çağrılır
  const login = (userData: any, tokenData: string) => {
    localStorage.setItem("user", JSON.stringify(userData))
    localStorage.setItem("token", tokenData)
    setUser(userData)
    setToken(tokenData)
  }

  // Çıkış yapıldığında çağrılır
  const logout = () => {
    localStorage.removeItem("user")
    localStorage.removeItem("token")
    setUser(null)
    setToken(null)
  }

  const isAuthenticated = Boolean(token)

  return { user, token, isAuthenticated, login, logout }
}
