'use client';

import { useDispatch } from 'react-redux';
import { useRouter } from 'next/navigation';
import { clearAuth } from '@/store/slices/auth-slice';
import { resetInstallation } from '@/store/slices/installation-slice';
import { AuthRepository } from '@/repositories/teltoinstall/_index';

export function useLogout() {
  const dispatch = useDispatch();
  const router = useRouter();

  async function logout() {
    try {
      await AuthRepository.logout();
    } catch {
      // ignore errors — always clear local state
    } finally {
      dispatch(clearAuth());
      dispatch(resetInstallation());
      router.push('/login');
    }
  }

  return { logout };
}
