UNPKG

@xo-union/tk-component-header-nav

Version:
35 lines 836 B
import { useState, useEffect, useCallback } from "react"; import { defaultService } from "@xo-union/sdk-membership"; const useMembershipData = loggedIn => { const [isLoading, setIsLoading] = useState(true); const [memberData, setMemberData] = useState(null); useEffect(() => { defaultService.getMember().then(_ref => { let { data } = _ref; setMemberData(data.member); }).catch(() => { setMemberData(null); }).finally(() => { setIsLoading(false); }); }, [loggedIn]); const logOut = useCallback(() => { defaultService.logOut().then(() => { setMemberData(null); }).catch(() => { /* noop */ }); }, []); return { data: { member: memberData, isLoading }, actions: { logOut } }; }; export default useMembershipData;