@xo-union/tk-component-header-nav
Version:
43 lines (42 loc) • 1.12 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _sdkMembership = require("@xo-union/sdk-membership");
const useMembershipData = loggedIn => {
const [isLoading, setIsLoading] = (0, _react.useState)(true);
const [memberData, setMemberData] = (0, _react.useState)(null);
(0, _react.useEffect)(() => {
_sdkMembership.defaultService.getMember().then(_ref => {
let {
data
} = _ref;
setMemberData(data.member);
}).catch(() => {
setMemberData(null);
}).finally(() => {
setIsLoading(false);
});
}, [loggedIn]);
const logOut = (0, _react.useCallback)(() => {
_sdkMembership.defaultService.logOut().then(() => {
setMemberData(null);
}).catch(() => {
/* noop */
});
}, []);
return {
data: {
member: memberData,
isLoading
},
actions: {
logOut
}
};
};
var _default = useMembershipData;
exports.default = _default;