import {useState} from 'react';

export default function useLoginState() {
  const [userInfo, setUserInfoState] = useState(
    localStorage.userInfo ?
      JSON.parse(localStorage.userInfo) :
      {}
  );

  function setUserInfo(userInfo) {
    setUserInfoState(userInfo);
    localStorage.userInfo = JSON.stringify(userInfo || {});
  }

  async function login(username, password) {
    console.log(`logging in: ${username}, ${password}`);
    // const userInfo = await api.login()
    const userInfo = {
      username
    };
    console.log('Login success');
    setUserInfo(userInfo);
    return userInfo;
  } 

  function logout() {
    setUserInfo({});
  }

  const isLoggedIn = !!userInfo?.username;
  
  return {userInfo, isLoggedIn, login, logout};
}