@saleor/app-sdk
Version:
SDK for building great Saleor Apps
38 lines (31 loc) • 2.22 kB
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
var _chunkU6FNFVM3js = require('../../chunk-U6FNFVM3.js');
require('../../chunk-EJ6YJ4BD.js');
// src/app-bridge/next/route-propagator.tsx
var _routerjs = require('next/router.js'); var NextRouter = _interopRequireWildcard(_routerjs);
var _react = require('react');
var { useRouter } = NextRouter;
var useRoutePropagator = () => {
const { appBridge, appBridgeState } = _chunkU6FNFVM3js.useAppBridge.call(void 0, );
const router = useRouter();
_react.useEffect.call(void 0, () => {
const appBridgeStateIsReady = _nullishCoalesce(_optionalChain([appBridgeState, 'optionalAccess', _ => _.ready]), () => ( false));
if (!appBridgeStateIsReady || !appBridge) {
return;
}
router.events.on("routeChangeComplete", (url) => {
_optionalChain([appBridge, 'optionalAccess', _2 => _2.dispatch, 'call', _3 => _3(
_chunkU6FNFVM3js.actions.UpdateRouting({
newRoute: url
})
), 'access', _4 => _4.catch, 'call', _5 => _5(() => {
console.error("Error dispatching action");
})]);
});
}, [appBridgeState, appBridge]);
};
function RoutePropagator() {
useRoutePropagator();
return null;
}
exports.RoutePropagator = RoutePropagator; exports.useRoutePropagator = useRoutePropagator;