@mopinion/survey
Version:
Collect customer feedback with the Mopinion survey library
32 lines (31 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = usePages;
var _hooks = require("preact/hooks");
var _ConfigStore = require("../stores/ConfigStore");
function usePages(pageNumber) {
var _properties$advanced;
var _useConfigStore = (0, _ConfigStore.useConfigStore)(),
layout = _useConfigStore.layout,
blocks = _useConfigStore.blocks,
properties = _useConfigStore.properties;
var addRecaptcha = (_properties$advanced = properties.advanced) === null || _properties$advanced === void 0 || (_properties$advanced = _properties$advanced.recaptcha) === null || _properties$advanced === void 0 ? void 0 : _properties$advanced.siteKey;
return (0, _hooks.useMemo)(function () {
var pages = [[]];
layout.forEach(function (blockId) {
var block = blocks[blockId];
if (block.typeName === 'page_break') {
pages[pages.length] = [];
} else {
pages[pages.length - 1].push(blockId);
}
});
if (addRecaptcha) {
pages[pages.length - 1].push('recaptcha');
}
return pageNumber ? pages[pageNumber - 1] : pages;
}, [layout, blocks, pageNumber, addRecaptcha]);
}
//# sourceMappingURL=usePages.js.map