@xo-union/tk-component-header-nav
Version:
49 lines (48 loc) • 1.68 kB
JavaScript
"use strict";
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _noop = _interopRequireDefault(require("lodash/noop"));
var _indexCjs = _interopRequireDefault(require("./DataFetcher/index.cjs.js"));
var _allowControlCjs = _interopRequireDefault(require("../../utils/allowControl.cjs.js"));
const useWeddingVisionData = (0, _allowControlCjs.default)(() => {
const [data, setData] = _react.default.useState({
isLoading: false,
hasWeddingVision: false,
hasFetchedWeddingVision: false
});
const fetchWeddingVisionData = loggedIn => {
if (loggedIn && !data.hasFetchedWeddingVision && !data.isLoading) {
setData({
isLoading: true,
hasWeddingVision: undefined
});
_indexCjs.default.fetchHasWeddingVision().then(result => {
setData({
isLoading: false,
hasWeddingVision: result,
hasFetchedWeddingVision: true
});
}).catch(() => {
setData({
isLoading: false,
hasWeddingVision: false,
hasFetchedWeddingVision: false
});
});
}
if (!loggedIn && data.hasFetchedWeddingVision) {
setData({
hasWeddingVision: false,
hasFetchedWeddingVision: false
});
}
};
return [data, fetchWeddingVisionData];
}, override => [override, _noop.default]);
var _default = useWeddingVisionData;
exports.default = _default;