UNPKG

3.88 kBJavaScriptView Raw
1"use strict";
2
3require("core-js/modules/es.object.to-string.js");
4
5require("core-js/modules/es.promise.js");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.init = void 0;
11
12require("regenerator-runtime/runtime.js");
13
14require("core-js/modules/es.regexp.exec.js");
15
16require("core-js/modules/es.string.match.js");
17
18require("core-js/modules/es.object.assign.js");
19
20function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
21
22function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
23
24var init = function init(_ref) {
25 var store = _ref.store,
26 navigate = _ref.navigate,
27 fullAPI = _ref.fullAPI;
28
29 var isSettingsScreenActive = function isSettingsScreenActive() {
30 var _fullAPI$getUrlState = fullAPI.getUrlState(),
31 path = _fullAPI$getUrlState.path;
32
33 return !!(path || '').match(/^\/settings/);
34 };
35
36 var api = {
37 closeSettings: function closeSettings() {
38 var _store$getState = store.getState(),
39 lastTrackedStoryId = _store$getState.settings.lastTrackedStoryId;
40
41 if (lastTrackedStoryId) {
42 fullAPI.selectStory(lastTrackedStoryId);
43 } else {
44 fullAPI.selectFirstStory();
45 }
46 },
47 changeSettingsTab: function changeSettingsTab(tab) {
48 navigate("/settings/".concat(tab));
49 },
50 isSettingsScreenActive: isSettingsScreenActive,
51 navigateToSettingsPage: function () {
52 var _navigateToSettingsPage = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(path) {
53 var _store$getState2, settings, storyId;
54
55 return regeneratorRuntime.wrap(function _callee$(_context) {
56 while (1) {
57 switch (_context.prev = _context.next) {
58 case 0:
59 if (isSettingsScreenActive()) {
60 _context.next = 4;
61 break;
62 }
63
64 _store$getState2 = store.getState(), settings = _store$getState2.settings, storyId = _store$getState2.storyId;
65 _context.next = 4;
66 return store.setState({
67 settings: Object.assign({}, settings, {
68 lastTrackedStoryId: storyId
69 })
70 });
71
72 case 4:
73 navigate(path);
74
75 case 5:
76 case "end":
77 return _context.stop();
78 }
79 }
80 }, _callee);
81 }));
82
83 function navigateToSettingsPage(_x) {
84 return _navigateToSettingsPage.apply(this, arguments);
85 }
86
87 return navigateToSettingsPage;
88 }()
89 };
90
91 var initModule = /*#__PURE__*/function () {
92 var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
93 return regeneratorRuntime.wrap(function _callee2$(_context2) {
94 while (1) {
95 switch (_context2.prev = _context2.next) {
96 case 0:
97 _context2.next = 2;
98 return store.setState({
99 settings: {
100 lastTrackedStoryId: null
101 }
102 });
103
104 case 2:
105 case "end":
106 return _context2.stop();
107 }
108 }
109 }, _callee2);
110 }));
111
112 return function initModule() {
113 return _ref2.apply(this, arguments);
114 };
115 }();
116
117 return {
118 init: initModule,
119 api: api
120 };
121};
122
123exports.init = init;
\No newline at end of file