import { AxiosError } from 'axios' import { logout } from '../api' import { deleteCookieByName } from './cookies' import { isBrowser } from './isBrowser' export const setLoggedUserData = (data: IProfileData) => ({ id: data.id, first_name: data.firstName, last_name: data.lastName, email: data.email, confirmEmail: data.email, city: data?.city || '', country: data?.countryId || '', phone: data?.phone || '', street_address: data?.streetAddress || '', state: data?.stateId || '', zip: data?.zipCode || '', }) interface LogoutUserParams { onLogoutSuccess?: () => void; onLogoutError?: (error: AxiosError) => void; setIsLogged?: (isLogged: boolean) => void; } export const logoutUser = async ({ onLogoutSuccess, onLogoutError, setIsLogged, }: LogoutUserParams) => { try { await logout() onLogoutSuccess && onLogoutSuccess() if (isBrowser) { window.localStorage.removeItem('user_data') setIsLogged && setIsLogged(false) const event = new window.CustomEvent('tf-logout') deleteCookieByName('X-TF-ECOMMERCE') window.document.dispatchEvent(event) } } catch (e) { onLogoutError && onLogoutError(e as AxiosError) } }