UNPKG

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

Version:
52 lines (51 loc) 1.72 kB
"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 useWeddingWebsiteData = (0, _allowControlCjs.default)(() => { const [data, setData] = _react.default.useState({ isLoading: false, hasWeddingWebsite: false, hasFetchedWws: false, slug: '' }); const fetchWeddingWebsiteData = loggedIn => { if (loggedIn && !data.hasFetchedWws && !data.isLoading) { setData({ isLoading: true, hasWeddingWebsite: undefined }); _indexCjs.default.fetchWeddingWebsiteAttributes().then(result => { setData({ isLoading: false, hasFetchedWws: true, hasWeddingWebsite: result.state === 'published', slug: result.slug }); }).catch(() => { setData({ isLoading: false, hasWeddingWebsite: false, hasFetchedWws: false, slug: '' }); }); } if (!loggedIn && data.hasFetchedWws) { setData({ hasWeddingWebsite: false, hasFetchedWws: false }); } }; return [data, fetchWeddingWebsiteData]; }, override => [override, _noop.default]); var _default = useWeddingWebsiteData; exports.default = _default;