pocketbase-react 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -69,7 +69,7 @@ const mobileRedirectURL = "expo://..." // for example
69
69
 
70
70
  ## Caveats
71
71
  ```tsx
72
- import { useAppContent } = "pocketbase-react";
72
+ import { useAppContent, useAuth } from "pocketbase-react";
73
73
  ```
74
74
  ### Records
75
75
  Reading the records value directly accesses the Redux Store.
@@ -173,17 +173,4 @@ await actions.updateEmail(email: string);
173
173
  Delete user
174
174
  ```tsx
175
175
  await actions.deleteUser(id: string);
176
- ```
177
-
178
-
179
- ## Development
180
-
181
- By using
182
- ```sh
183
- npm run build
184
- # or
185
- yarn build
186
- ```
187
- You will get a folder called dist, which you can use to replace node_modules/pocketbase-react/dist in your React project.
188
-
189
- ***Maybe someone finds a better way to integrate the package in development with a project***
176
+ ```
@@ -5976,7 +5976,7 @@
5976
5976
  return context;
5977
5977
  };
5978
5978
 
5979
- const ContentContext = react.createContext(null);
5979
+ const ContentContext = react.createContext({});
5980
5980
  const ContentProvider = props => {
5981
5981
  const client = useClientContext();
5982
5982
  const dispatch = useAppDispatch;
@@ -5995,13 +5995,21 @@
5995
5995
  dispatch(deleteRecord$1(collectionName, event.record));
5996
5996
  break;
5997
5997
  }
5998
+ }).then(async () => {
5999
+ await StorageService.set("a", JSON.stringify([...collections, collectionName]));
5998
6000
  }).catch(_error => {}));
5999
6001
  },
6000
6002
  unsubscribe: collectionName => {
6001
6003
  if (collectionName) {
6002
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).catch(_error => {});
6004
+ client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
6005
+ var _await$StorageService;
6006
+ const subscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
6007
+ await StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
6008
+ }).catch(_error => {});
6003
6009
  } else {
6004
- client == null ? void 0 : client.realtime.unsubscribe().catch(_error => {});
6010
+ client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
6011
+ await StorageService.set("subscribed", JSON.stringify([]));
6012
+ }).catch(_error => {});
6005
6013
  }
6006
6014
  },
6007
6015
  fetch: async collectionName => {
@@ -6028,7 +6036,9 @@
6028
6036
  return () => actions.unsubscribe();
6029
6037
  }, [collections]);
6030
6038
  return /*#__PURE__*/react.createElement(ContentContext.Provider, {
6031
- value: actions
6039
+ value: {
6040
+ actions
6041
+ }
6032
6042
  }, props.children);
6033
6043
  };
6034
6044
 
@@ -6039,7 +6049,7 @@
6039
6049
  }, props.children);
6040
6050
  };
6041
6051
 
6042
- const AuthContext = react.createContext(null);
6052
+ const AuthContext = react.createContext({});
6043
6053
  const AuthProvider = props => {
6044
6054
  const client = useClientContext();
6045
6055
  const [authProviders, setAuthProviders] = react.useState();
@@ -6231,20 +6241,38 @@
6231
6241
  const context = react.useContext(ContentContext);
6232
6242
  react.useEffect(() => {
6233
6243
  if (initialFetch) {
6234
- context == null ? void 0 : context.fetch(collectionName);
6244
+ context.actions.fetch(collectionName);
6235
6245
  }
6236
6246
  }, [collectionName, initialFetch]);
6247
+ const [isSubscribed, setIsSubscribed] = react.useState(false);
6248
+ async function refetchSubscribeState() {
6249
+ var _await$StorageService;
6250
+ const isSubscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
6251
+ setIsSubscribed(isSubscribed.includes(collectionName));
6252
+ }
6253
+ react.useEffect(() => {
6254
+ (async () => {
6255
+ await refetchSubscribeState();
6256
+ })();
6257
+ }, []);
6237
6258
  const actions = {
6238
- subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
6239
- unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
6240
- fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
6241
- create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
6242
- update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
6243
- delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
6259
+ subscribe: async () => {
6260
+ await context.actions.subscribe(collectionName);
6261
+ await refetchSubscribeState();
6262
+ },
6263
+ unsubscribe: () => {
6264
+ context.actions.unsubscribe(collectionName);
6265
+ refetchSubscribeState();
6266
+ },
6267
+ fetch: async () => await context.actions.fetch(collectionName),
6268
+ create: async record => await context.actions.create(collectionName, record),
6269
+ update: async (id, record) => await context.actions.update(collectionName, id, record),
6270
+ delete: async id => await context.actions.delete(collectionName, id)
6244
6271
  };
6245
6272
  return {
6246
6273
  records,
6247
- actions
6274
+ actions,
6275
+ isSubscribed
6248
6276
  };
6249
6277
  }
6250
6278
 
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */()}},r.exports),r.exports}var c=Symbol.for("react.element"),a=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),y=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,w={};function S(e,t,r){this.props=e,this.context=t,this.refs=w,this.updater=r||g}function P(){}function E(e,t,r){this.props=e,this.context=t,this.refs=w,this.updater=r||g}S.prototype.isReactComponent={},S.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},P.prototype=S.prototype;var j=E.prototype=new P;j.constructor=E,O(j,S.prototype),j.isPureReactComponent=!0;var _=Array.isArray,R=Object.prototype.hasOwnProperty,x={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,r){var n,o={},i=null,u=null;if(null!=t)for(n in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)R.call(t,n)&&!k.hasOwnProperty(n)&&(o[n]=t[n]);var a=arguments.length-2;if(1===a)o.children=r;else if(a>1){for(var f=Array(a),s=0;a>s;s++)f[s]=arguments[s+2];o.children=f}if(e&&e.defaultProps)for(n in a=e.defaultProps)void 0===o[n]&&(o[n]=a[n]);return{$$typeof:c,type:e,key:i,ref:u,props:o,_owner:x.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===c}var D=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function I(e,t,r,n,o){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var u=!1;if(null===e)u=!0;else switch(i){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case c:case a:u=!0}}if(u)return o=o(u=e),e=""===n?"."+$(u,0):n,_(o)?(r="",null!=e&&(r=e.replace(D,"$&/")+"/"),I(o,t,r,"",(function(e){return e}))):null!=o&&(C(o)&&(o=function(e,t){return{$$typeof:c,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||u&&u.key===o.key?"":(""+o.key).replace(D,"$&/")+"/")+e)),t.push(o)),1;if(u=0,n=""===n?".":n+":",_(e))for(var f=0;e.length>f;f++){var s=n+$(i=e[f],f);u+=I(i,t,r,s,o)}else if(s=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=m&&e[m]||e["@@iterator"])?e:null}(e),"function"==typeof s)for(e=s.call(e),f=0;!(i=e.next()).done;)u+=I(i=i.value,t,r,s=n+$(i,f++),o);else if("object"===i)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(t=e+"")?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return u}function T(e,t,r){if(null==e)return e;var n=[],o=0;return I(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function U(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},M={transition:null},L={map:T,forEach:function(e,t,r){T(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},F={Children:L,Component:S,Fragment:f,Profiler:l,PureComponent:E,StrictMode:s,Suspense:b,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:N,ReactCurrentBatchConfig:M,ReactCurrentOwner:x},cloneElement:function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=O({},e.props),o=e.key,i=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,u=x.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(f in t)R.call(t,f)&&!k.hasOwnProperty(f)&&(n[f]=void 0===t[f]&&void 0!==a?a[f]:t[f])}var f=arguments.length-2;if(1===f)n.children=r;else if(f>1){a=Array(f);for(var s=0;f>s;s++)a[s]=arguments[s+2];n.children=a}return{$$typeof:c,type:e.type,key:o,ref:i,props:n,_owner:u}},createContext:function(e){return(e={$$typeof:y,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:p,_context:e},e.Consumer=e},createElement:A,createFactory:function(e){var t=A.bind(null,e);return t.type=e,t},createRef:function(){return{current:null}},forwardRef:function(e){return{$$typeof:d,render:e}},isValidElement:C,lazy:function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:U}},memo:function(e,t){return{$$typeof:v,type:e,compare:void 0===t?null:t}},startTransition:function(e){var t=M.transition;M.transition={};try{e()}finally{M.transition=t}},unstable_act:function(){throw Error("act(...) is not supported in production builds of React.")},useCallback:function(e,t){return N.current.useCallback(e,t)},useContext:function(e){return N.current.useContext(e)},useDebugValue:function(){},useDeferredValue:function(e){return N.current.useDeferredValue(e)},useEffect:function(e,t){return N.current.useEffect(e,t)},useId:function(){return N.current.useId()},useImperativeHandle:function(e,t,r){return N.current.useImperativeHandle(e,t,r)},useInsertionEffect:function(e,t){return N.current.useInsertionEffect(e,t)},useLayoutEffect:function(e,t){return N.current.useLayoutEffect(e,t)},useMemo:function(e,t){return N.current.useMemo(e,t)},useReducer:function(e,t,r){return N.current.useReducer(e,t,r)},useRef:function(e){return N.current.useRef(e)},useState:function(e){return N.current.useState(e)},useSyncExternalStore:function(e,t,r){return N.current.useSyncExternalStore(e,t,r)},useTransition:function(){return N.current.useTransition()},version:"18.0.0-fc46dba67-20220329"},z=u((function(e){e.exports=F}));const V="SET_RECORDS",W="ADD_RECORD",q="ADD_RECORDS",K="UPDATE_RECORD",J="DELETE_RECORD",B="DELETE_RECORDS",H=(e,t)=>({type:V,key:e,payload:t}),X=(e,t)=>({type:W,key:e,payload:t}),G=(e,t)=>({type:J,key:e,payload:t}),Y=(e,t)=>({type:K,key:e,payload:t});var Q=Object.freeze({__proto__:null,setRecords:H,addRecord:X,addRecords:(e,t)=>({type:q,key:e,payload:t}),deleteRecord:G,deleteRecords:(e,t)=>({type:B,key:e,payload:t}),updateRecord:Y});function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function te(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){Z(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function re(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var ne="function"==typeof Symbol&&Symbol.observable||"@@observable",oe=function(){return Math.random().toString(36).substring(7).split("").join(".")},ie={INIT:"@@redux/INIT"+oe(),REPLACE:"@@redux/REPLACE"+oe(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+oe()}};function ue(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ce(e,t,r){var n;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw Error(re(0));if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw Error(re(1));return r(ce)(e,t)}if("function"!=typeof e)throw Error(re(2));var o=e,i=t,u=[],c=u,a=!1;function f(){c===u&&(c=u.slice())}function s(){if(a)throw Error(re(3));return i}function l(e){if("function"!=typeof e)throw Error(re(4));if(a)throw Error(re(5));var t=!0;return f(),c.push(e),function(){if(t){if(a)throw Error(re(6));t=!1,f();var r=c.indexOf(e);c.splice(r,1),u=null}}}function p(e){if(!ue(e))throw Error(re(7));if(void 0===e.type)throw Error(re(8));if(a)throw Error(re(9));try{a=!0,i=o(i,e)}finally{a=!1}for(var t=u=c,r=0;t.length>r;r++){(0,t[r])()}return e}function y(e){if("function"!=typeof e)throw Error(re(10));o=e,p({type:ie.REPLACE})}function d(){var e,t=l;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw Error(re(11));function r(){e.next&&e.next(s())}return r(),{unsubscribe:t(r)}}})[ne]=function(){return this},e}return p({type:ie.INIT}),(n={dispatch:p,subscribe:l,getState:s,replaceReducer:y})[ne]=d,n}function ae(e){for(var t=Object.keys(e),r={},n=0;t.length>n;n++){var o=t[n];"function"==typeof e[o]&&(r[o]=e[o])}var i,u=Object.keys(r);try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(void 0===r(void 0,{type:ie.INIT}))throw Error(re(12));if(void 0===r(void 0,{type:ie.PROBE_UNKNOWN_ACTION()}))throw Error(re(13))}))}(r)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var n=!1,o={},c=0;u.length>c;c++){var a=u[c],f=e[a],s=(0,r[a])(f,t);if(void 0===s)throw Error(re(14));o[a]=s,n=n||s!==f}return(n=n||u.length!==Object.keys(e).length)?o:e}}function fe(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function se(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];return function(e){return function(){var r=e.apply(void 0,arguments),n=function(){throw Error(re(15))},o={getState:r.getState,dispatch:function(){return n.apply(void 0,arguments)}},i=t.map((function(e){return e(o)}));return n=fe.apply(void 0,i)(r.dispatch),te(te({},r),{},{dispatch:n})}}}function le(){return le=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},le.apply(this,arguments)}function pe(e,t){return[...t,e]}function ye(e,t){return[...t,...e]}function de(e,t){return t.map((t=>t.id===e.id?e:t))}function be(e,t){return t.filter((t=>t.id!==e.id))}function ve(e,t){return t.filter((t=>!e.includes(t)))}const he=ae({records:(e={},t)=>{var r;const n=null!=(r=e[t.key])?r:[];switch(t.type){case V:if(Array.isArray(t.payload))return le({},e,{[t.key]:t.payload});case W:return le({},e,{[t.key]:pe(t.payload,n)});case q:return le({},e,{[t.key]:ye(t.payload,n)});case J:return le({},e,{[t.key]:be(t.payload,n)});case B:return le({},e,{[t.key]:ve(t.payload,n)});case K:return le({},e,{[t.key]:de(t.payload,n)});default:return e}}});function me(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;t>n;n++)r[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map((function(e){return"'"+e+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function ge(e){return!!e&&!!e[it]}function Oe(e){return!!e&&(function(e){if(!e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object||"function"==typeof r&&Function.toString.call(r)===ut}(e)||Array.isArray(e)||!!e[ot]||!!e.constructor[ot]||_e(e)||Re(e))}function we(e,t,r){void 0===r&&(r=!1),0===Se(e)?(r?Object.keys:ct)(e).forEach((function(n){r&&"symbol"==typeof n||t(n,e[n],e)})):e.forEach((function(r,n){return t(n,r,e)}))}function Se(e){var t=e[it];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:_e(e)?2:Re(e)?3:0}function Pe(e,t){return 2===Se(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ee(e,t,r){var n=Se(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r)):e[t]=r}function je(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function _e(e){return et&&e instanceof Map}function Re(e){return tt&&e instanceof Set}function xe(e){return e.o||e.t}function ke(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=at(e);delete t[it];for(var r=ct(t),n=0;r.length>n;n++){var o=r[n],i=t[o];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[o]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[o]})}return Object.create(Object.getPrototypeOf(e),t)}function Ae(e,t){return void 0===t&&(t=!1),De(e)||ge(e)||!Oe(e)||(Se(e)>1&&(e.set=e.add=e.clear=e.delete=Ce),Object.freeze(e),t&&we(e,(function(e,t){return Ae(t,!0)}),!0)),e}function Ce(){me(2)}function De(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function $e(e){var t=ft[e];return t||me(18,e),t}function Ie(){return Qe}function Te(e,t){t&&($e("Patches"),e.u=[],e.s=[],e.v=t)}function Ue(e){Ne(e),e.p.forEach(Le),e.p=null}function Ne(e){e===Qe&&(Qe=e.l)}function Me(e){return Qe={p:[],l:Qe,h:e,m:!0,_:0}}function Le(e){var t=e[it];0===t.i||1===t.i?t.j():t.O=!0}function Fe(e,t){t._=t.p.length;var r=t.p[0],n=void 0!==e&&e!==r;return t.h.g||$e("ES5").S(t,e,n),n?(r[it].P&&(Ue(t),me(4)),Oe(e)&&(e=ze(t,e),t.l||We(t,e)),t.u&&$e("Patches").M(r[it].t,e,t.u,t.s)):e=ze(t,r,[]),Ue(t),t.u&&t.v(t.u,t.s),e!==nt?e:void 0}function ze(e,t,r){if(De(t))return t;var n=t[it];if(!n)return we(t,(function(o,i){return Ve(e,n,t,o,i,r)}),!0),t;if(n.A!==e)return t;if(!n.P)return We(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=4===n.i||5===n.i?n.o=ke(n.k):n.o;we(3===n.i?new Set(o):o,(function(t,i){return Ve(e,n,o,t,i,r)})),We(e,o,!1),r&&e.u&&$e("Patches").R(n,r,e.u,e.s)}return n.o}function Ve(e,t,r,n,o,i){if(ge(o)){var u=ze(e,o,i&&t&&3!==t.i&&!Pe(t.D,n)?i.concat(n):void 0);if(Ee(r,n,u),!ge(u))return;e.m=!1}if(Oe(o)&&!De(o)){if(!e.h.F&&1>e._)return;ze(e,o),t&&t.A.l||We(e,o)}}function We(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&Ae(t,r)}function qe(e,t){var r=e[it];return(r?xe(r):e)[t]}function Ke(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Je(e){e.P||(e.P=!0,e.l&&Je(e.l))}function Be(e){e.o||(e.o=ke(e.t))}function He(e,t,r){var n=_e(t)?$e("MapSet").N(t,r):Re(t)?$e("MapSet").T(t,r):e.g?function(e,t){var r=Array.isArray(e),n={i:r?1:0,A:t?t.A:Ie(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=n,i=st;r&&(o=[n],i=lt);var u=Proxy.revocable(o,i),c=u.revoke,a=u.proxy;return n.k=a,n.j=c,a}(t,r):$e("ES5").J(t,r);return(r?r.A:Ie()).p.push(n),n}function Xe(e){return ge(e)||me(22,e),function e(t){if(!Oe(t))return t;var r,n=t[it],o=Se(t);if(n){if(!n.P&&(4>n.i||!$e("ES5").K(n)))return n.t;n.I=!0,r=Ge(t,o),n.I=!1}else r=Ge(t,o);return we(r,(function(t,o){n&&function(e,t){return 2===Se(e)?e.get(t):e[t]}(n.t,t)===o||Ee(r,t,e(o))})),3===o?new Set(r):r}(e)}function Ge(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ke(e)}var Ye,Qe,Ze="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),et="undefined"!=typeof Map,tt="undefined"!=typeof Set,rt="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,nt=Ze?Symbol.for("immer-nothing"):((Ye={})["immer-nothing"]=!0,Ye),ot=Ze?Symbol.for("immer-draftable"):"__$immer_draftable",it=Ze?Symbol.for("immer-state"):"__$immer_state",ut=""+Object.prototype.constructor,ct="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,at=Object.getOwnPropertyDescriptors||function(e){var t={};return ct(e).forEach((function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)})),t},ft={},st={get:function(e,t){if(t===it)return e;var r=xe(e);if(!Pe(r,t))return function(e,t,r){var n,o=Ke(t,r);return o?"value"in o?o.value:null===(n=o.get)||void 0===n?void 0:n.call(e.k):void 0}(e,r,t);var n=r[t];return e.I||!Oe(n)?n:n===qe(e.t,t)?(Be(e),e.o[t]=He(e.A.h,n,e)):n},has:function(e,t){return t in xe(e)},ownKeys:function(e){return Reflect.ownKeys(xe(e))},set:function(e,t,r){var n=Ke(xe(e),t);if(null==n?void 0:n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=qe(xe(e),t),i=null==o?void 0:o[it];if(i&&i.t===r)return e.o[t]=r,e.D[t]=!1,!0;if(je(r,o)&&(void 0!==r||Pe(e.t,t)))return!0;Be(e),Je(e)}return e.o[t]===r&&"number"!=typeof r&&(void 0!==r||t in e.o)||(e.o[t]=r,e.D[t]=!0,!0)},deleteProperty:function(e,t){return void 0!==qe(e.t,t)||t in e.t?(e.D[t]=!1,Be(e),Je(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=xe(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:n.enumerable,value:r[t]}:n},defineProperty:function(){me(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){me(12)}},lt={};we(st,(function(e,t){lt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),lt.deleteProperty=function(e,t){return lt.set.call(this,e,t,void 0)},lt.set=function(e,t,r){return st.set.call(this,e[0],t,r,e[0])};var pt=function(){function e(e){var t=this;this.g=rt,this.F=!0,this.produce=function(e,r,n){if("function"==typeof e&&"function"!=typeof r){var o=r;r=e;var i=t;return function(e){var t=this;void 0===e&&(e=o);for(var n=arguments.length,u=Array(n>1?n-1:0),c=1;n>c;c++)u[c-1]=arguments[c];return i.produce(e,(function(e){var n;return(n=r).call.apply(n,[t,e].concat(u))}))}}var u;if("function"!=typeof r&&me(6),void 0!==n&&"function"!=typeof n&&me(7),Oe(e)){var c=Me(t),a=He(t,e,void 0),f=!0;try{u=r(a),f=!1}finally{f?Ue(c):Ne(c)}return"undefined"!=typeof Promise&&u instanceof Promise?u.then((function(e){return Te(c,n),Fe(e,c)}),(function(e){throw Ue(c),e})):(Te(c,n),Fe(u,c))}if(!e||"object"!=typeof e){if(void 0===(u=r(e))&&(u=e),u===nt&&(u=void 0),t.F&&Ae(u,!0),n){var s=[],l=[];$e("Patches").M(e,u,s,l),n(s,l)}return u}me(21,e)},this.produceWithPatches=function(e,r){if("function"==typeof e)return function(r){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;n>i;i++)o[i-1]=arguments[i];return t.produceWithPatches(r,(function(t){return e.apply(void 0,[t].concat(o))}))};var n,o,i=t.produce(e,r,(function(e,t){n=e,o=t}));return"undefined"!=typeof Promise&&i instanceof Promise?i.then((function(e){return[e,n,o]})):[i,n,o]},"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var t=e.prototype;return t.createDraft=function(e){Oe(e)||me(8),ge(e)&&(e=Xe(e));var t=Me(this),r=He(this,e,void 0);return r[it].C=!0,Ne(t),r},t.finishDraft=function(e,t){var r=(e&&e[it]).A;return Te(r,t),Fe(void 0,r)},t.setAutoFreeze=function(e){this.F=e},t.setUseProxies=function(e){e&&!rt&&me(20),this.g=e},t.applyPatches=function(e,t){var r;for(r=t.length-1;r>=0;r--){var n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));var o=$e("Patches").$;return ge(e)?o(e,t):this.produce(e,(function(e){return o(e,t)}))},e}(),yt=new pt;function dt(e){return function(t){var r=t.dispatch,n=t.getState;return function(t){return function(o){return"function"==typeof o?o(r,n,e):t(o)}}}}yt.produceWithPatches.bind(yt),yt.setAutoFreeze.bind(yt),yt.setUseProxies.bind(yt),yt.applyPatches.bind(yt),yt.createDraft.bind(yt),yt.finishDraft.bind(yt);var bt=dt();bt.withExtraArgument=dt;var vt,ht=bt,mt=(vt=function(e,t){return vt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},vt(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+t+" is not a constructor or null");function r(){this.constructor=e}vt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),gt=function(e,t){for(var r=0,n=t.length,o=e.length;n>r;r++,o++)e[o]=t[r];return e},Ot=Object.defineProperty,wt=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,Et=function(e,t,r){return t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r},jt="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?fe:fe.apply(null,arguments)};var _t=function(e){function t(){for(var r=[],n=0;arguments.length>n;n++)r[n]=arguments[n];var o=e.apply(this,r)||this;return Object.setPrototypeOf(o,t.prototype),o}return mt(t,e),Object.defineProperty(t,Symbol.species,{get:function(){return t},enumerable:!1,configurable:!0}),t.prototype.concat=function(){for(var t=[],r=0;arguments.length>r;r++)t[r]=arguments[r];return e.prototype.concat.apply(this,t)},t.prototype.prepend=function(){for(var e=[],r=0;arguments.length>r;r++)e[r]=arguments[r];return 1===e.length&&Array.isArray(e[0])?new(t.bind.apply(t,gt([void 0],e[0].concat(this)))):new(t.bind.apply(t,gt([void 0],e.concat(this))))},t}(Array);function Rt(){return function(e){return function(e){void 0===e&&(e={});var t=e.thunk,r=void 0===t||t;var n=new _t;r&&(!function(e){return"boolean"==typeof e}(r)?n.push(ht.withExtraArgument(r.extraArgument)):n.push(ht));return n}(e)}}!function(){function e(e,t){var r=o[e];return r?r.enumerable=t:o[e]=r={configurable:!0,enumerable:t,get:function(){return st.get(this[it],e)},set:function(t){st.set(this[it],e,t)}},r}function t(e){for(var t=e.length-1;t>=0;t--){var o=e[t][it];if(!o.P)switch(o.i){case 5:n(o)&&Je(o);break;case 4:r(o)&&Je(o)}}}function r(e){for(var t=e.t,r=e.k,n=ct(r),o=n.length-1;o>=0;o--){var i=n[o];if(i!==it){var u=t[i];if(void 0===u&&!Pe(t,i))return!0;var c=r[i],a=c&&c[it];if(a?a.t!==u:!je(c,u))return!0}}var f=!!t[it];return n.length!==ct(t).length+(f?0:1)}function n(e){var t=e.k;if(t.length!==e.t.length)return!0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);if(r&&!r.get)return!0;for(var n=0;t.length>n;n++)if(!t.hasOwnProperty(n))return!0;return!1}var o={};!function(e,t){ft[e]||(ft[e]=t)}("ES5",{J:function(t,r){var n=Array.isArray(t),o=function(t,r){if(t){for(var n=Array(r.length),o=0;r.length>o;o++)Object.defineProperty(n,""+o,e(o,!0));return n}var i=at(r);delete i[it];for(var u=ct(i),c=0;u.length>c;c++){var a=u[c];i[a]=e(a,t||!!i[a].enumerable)}return Object.create(Object.getPrototypeOf(r),i)}(n,t),i={i:n?5:4,A:r?r.A:Ie(),P:!1,I:!1,D:{},l:r,t:t,k:o,o:null,O:!1,C:!1};return Object.defineProperty(o,it,{value:i,writable:!0}),o},S:function(e,r,o){o?ge(r)&&r[it].A===e&&t(e.p):(e.u&&function e(t){if(t&&"object"==typeof t){var r=t[it];if(r){var o=r.t,i=r.k,u=r.D,c=r.i;if(4===c)we(i,(function(t){t!==it&&(void 0!==o[t]||Pe(o,t)?u[t]||e(i[t]):(u[t]=!0,Je(r)))})),we(o,(function(e){void 0!==i[e]||Pe(i,e)||(u[e]=!1,Je(r))}));else if(5===c){if(n(r)&&(Je(r),u.length=!0),o.length>i.length)for(var a=i.length;o.length>a;a++)u[a]=!1;else for(var f=o.length;i.length>f;f++)u[f]=!0;for(var s=Math.min(i.length,o.length),l=0;s>l;l++)i.hasOwnProperty(l)||(u[l]=!0),void 0===u[l]&&e(i[l])}}}}(e.p[0]),t(e.p))},K:function(e){return 4===e.i?r(e):n(e)}})}();var xt="persist:",kt="persist/FLUSH",At="persist/REHYDRATE",Ct="persist/PAUSE",Dt="persist/PERSIST",$t="persist/PURGE",It="persist/REGISTER";function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function Ut(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Nt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mt(e,t,r,n){var o=function(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ut(r,!0).forEach((function(t){Nt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ut(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},r);return e&&"object"===Tt(e)&&Object.keys(e).forEach((function(n){"_persist"!==n&&t[n]===r[n]&&(o[n]=e[n])})),o}function Lt(e){var t,r=e.blacklist||null,n=e.whitelist||null,o=e.transforms||[],i=e.throttle||0,u="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key),c=e.storage;t=!1===e.serialize?function(e){return e}:"function"==typeof e.serialize?e.serialize:Ft;var a=e.writeFailHandler||null,f={},s={},l=[],p=null,y=null;function d(){if(0===l.length)return p&&clearInterval(p),void(p=null);var e=l.shift(),r=o.reduce((function(t,r){return r.in(t,e,f)}),f[e]);if(void 0!==r)try{s[e]=t(r)}catch(e){console.error("redux-persist/createPersistoid: error serializing state",e)}else delete s[e];0===l.length&&(Object.keys(s).forEach((function(e){void 0===f[e]&&delete s[e]})),y=c.setItem(u,t(s)).catch(v))}function b(e){return(!n||-1!==n.indexOf(e)||"_persist"===e)&&(!r||-1===r.indexOf(e))}function v(e){a&&a(e)}return{update:function(e){Object.keys(e).forEach((function(t){b(t)&&f[t]!==e[t]&&-1===l.indexOf(t)&&l.push(t)})),Object.keys(f).forEach((function(t){void 0===e[t]&&b(t)&&-1===l.indexOf(t)&&void 0!==f[t]&&l.push(t)})),null===p&&(p=setInterval(d,i)),f=e},flush:function(){for(;0!==l.length;)d();return y||Promise.resolve()}}}function Ft(e){return JSON.stringify(e)}function zt(e){var t,r=e.transforms||[],n="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key);return t=!1===e.deserialize?function(e){return e}:"function"==typeof e.deserialize?e.deserialize:Vt,e.storage.getItem(n).then((function(e){if(e)try{var n={},o=t(e);return Object.keys(o).forEach((function(e){n[e]=r.reduceRight((function(t,r){return r.out(t,e,o)}),t(o[e]))})),n}catch(e){throw e}}))}function Vt(e){return JSON.parse(e)}function Wt(e){0}function qt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Kt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?qt(r,!0).forEach((function(t){Jt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Jt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;i.length>n;n++)0>t.indexOf(r=i[n])&&(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;i.length>n;n++)0>t.indexOf(r=i[n])&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ht(e){return function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);e.length>t;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Xt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Gt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Xt(r,!0).forEach((function(t){Yt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Yt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Qt={registry:[],bootstrapped:!1},Zt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qt,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case It:return Gt({},e,{registry:[].concat(Ht(e.registry),[t.key])});case At:var r=e.registry.indexOf(t.key),n=Ht(e.registry);return n.splice(r,1),Gt({},e,{registry:n,bootstrapped:0===n.length});default:return e}};var er="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},tr=z.useState,rr=z.useEffect,nr=z.useLayoutEffect,or=z.useDebugValue;function ir(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!er(e,r)}catch(e){return!0}}var ur="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=tr({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return nr((function(){o.value=r,o.getSnapshot=t,ir(o)&&i({inst:o})}),[e,r,t]),rr((function(){return ir(o)&&i({inst:o}),e((function(){ir(o)&&i({inst:o})}))}),[e]),or(r),r},cr={useSyncExternalStore:void 0!==z.useSyncExternalStore?z.useSyncExternalStore:ur},ar=u((function(e){e.exports=cr}));var fr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},sr=ar.useSyncExternalStore,lr=z.useRef,pr=z.useEffect,yr=z.useMemo,dr=z.useDebugValue,br={useSyncExternalStoreWithSelector:function(e,t,r,n,o){var i=lr(null);if(null===i.current){var u={hasValue:!1,value:null};i.current=u}else u=i.current;i=yr((function(){function e(e){if(!a){if(a=!0,i=e,e=n(e),void 0!==o&&u.hasValue){var t=u.value;if(o(t,e))return c=t}return c=e}if(t=c,fr(i,e))return t;var r=n(e);return void 0!==o&&o(t,r)?t:(i=e,c=r)}var i,c,a=!1,f=void 0===r?null:r;return[function(){return e(t())},null===f?void 0:function(){return e(f())}]}),[t,r,n,o]);var c=sr(e,i[0],i[1]);return pr((function(){u.hasValue=!0,u.value=c}),[c]),dr(c),c}},vr=u((function(e){e.exports=br}));let hr=function(e){e()};const mr=()=>hr,gr=z.createContext(null);function Or(){return z.useContext(gr)}let wr=()=>{throw Error("uSES not initialized!")};const Sr=(e,t)=>e===t;function Pr(e=gr){const t=e===gr?Or:()=>z.useContext(e);return function(e,r=Sr){const{store:n,subscription:o,getServerState:i}=t(),u=wr(o.addNestedSub,n.getState,i||n.getState,e,r);return z.useDebugValue(u),u}}const Er=Pr();
10
+ */()}},r.exports),r.exports}var c=Symbol.for("react.element"),a=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),y=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,w={};function S(e,t,r){this.props=e,this.context=t,this.refs=w,this.updater=r||g}function P(){}function E(e,t,r){this.props=e,this.context=t,this.refs=w,this.updater=r||g}S.prototype.isReactComponent={},S.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},S.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},P.prototype=S.prototype;var j=E.prototype=new P;j.constructor=E,O(j,S.prototype),j.isPureReactComponent=!0;var _=Array.isArray,R=Object.prototype.hasOwnProperty,x={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function A(e,t,r){var n,o={},i=null,u=null;if(null!=t)for(n in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(i=""+t.key),t)R.call(t,n)&&!k.hasOwnProperty(n)&&(o[n]=t[n]);var a=arguments.length-2;if(1===a)o.children=r;else if(a>1){for(var s=Array(a),f=0;a>f;f++)s[f]=arguments[f+2];o.children=s}if(e&&e.defaultProps)for(n in a=e.defaultProps)void 0===o[n]&&(o[n]=a[n]);return{$$typeof:c,type:e,key:i,ref:u,props:o,_owner:x.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===c}var D=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function I(e,t,r,n,o){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var u=!1;if(null===e)u=!0;else switch(i){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case c:case a:u=!0}}if(u)return o=o(u=e),e=""===n?"."+$(u,0):n,_(o)?(r="",null!=e&&(r=e.replace(D,"$&/")+"/"),I(o,t,r,"",(function(e){return e}))):null!=o&&(C(o)&&(o=function(e,t){return{$$typeof:c,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||u&&u.key===o.key?"":(""+o.key).replace(D,"$&/")+"/")+e)),t.push(o)),1;if(u=0,n=""===n?".":n+":",_(e))for(var s=0;e.length>s;s++){var f=n+$(i=e[s],s);u+=I(i,t,r,f,o)}else if(f=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=m&&e[m]||e["@@iterator"])?e:null}(e),"function"==typeof f)for(e=f.call(e),s=0;!(i=e.next()).done;)u+=I(i=i.value,t,r,f=n+$(i,s++),o);else if("object"===i)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(t=e+"")?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return u}function N(e,t,r){if(null==e)return e;var n=[],o=0;return I(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var U={current:null},M={transition:null},L={map:N,forEach:function(e,t,r){N(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return N(e,(function(){t++})),t},toArray:function(e){return N(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},F={Children:L,Component:S,Fragment:s,Profiler:l,PureComponent:E,StrictMode:f,Suspense:b,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:U,ReactCurrentBatchConfig:M,ReactCurrentOwner:x},cloneElement:function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=O({},e.props),o=e.key,i=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,u=x.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var a=e.type.defaultProps;for(s in t)R.call(t,s)&&!k.hasOwnProperty(s)&&(n[s]=void 0===t[s]&&void 0!==a?a[s]:t[s])}var s=arguments.length-2;if(1===s)n.children=r;else if(s>1){a=Array(s);for(var f=0;s>f;f++)a[f]=arguments[f+2];n.children=a}return{$$typeof:c,type:e.type,key:o,ref:i,props:n,_owner:u}},createContext:function(e){return(e={$$typeof:y,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:p,_context:e},e.Consumer=e},createElement:A,createFactory:function(e){var t=A.bind(null,e);return t.type=e,t},createRef:function(){return{current:null}},forwardRef:function(e){return{$$typeof:d,render:e}},isValidElement:C,lazy:function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:T}},memo:function(e,t){return{$$typeof:v,type:e,compare:void 0===t?null:t}},startTransition:function(e){var t=M.transition;M.transition={};try{e()}finally{M.transition=t}},unstable_act:function(){throw Error("act(...) is not supported in production builds of React.")},useCallback:function(e,t){return U.current.useCallback(e,t)},useContext:function(e){return U.current.useContext(e)},useDebugValue:function(){},useDeferredValue:function(e){return U.current.useDeferredValue(e)},useEffect:function(e,t){return U.current.useEffect(e,t)},useId:function(){return U.current.useId()},useImperativeHandle:function(e,t,r){return U.current.useImperativeHandle(e,t,r)},useInsertionEffect:function(e,t){return U.current.useInsertionEffect(e,t)},useLayoutEffect:function(e,t){return U.current.useLayoutEffect(e,t)},useMemo:function(e,t){return U.current.useMemo(e,t)},useReducer:function(e,t,r){return U.current.useReducer(e,t,r)},useRef:function(e){return U.current.useRef(e)},useState:function(e){return U.current.useState(e)},useSyncExternalStore:function(e,t,r){return U.current.useSyncExternalStore(e,t,r)},useTransition:function(){return U.current.useTransition()},version:"18.0.0-fc46dba67-20220329"},z=u((function(e){e.exports=F}));const V="SET_RECORDS",J="ADD_RECORD",W="ADD_RECORDS",q="UPDATE_RECORD",K="DELETE_RECORD",B="DELETE_RECORDS",H=(e,t)=>({type:V,key:e,payload:t}),X=(e,t)=>({type:J,key:e,payload:t}),G=(e,t)=>({type:K,key:e,payload:t}),Y=(e,t)=>({type:q,key:e,payload:t});var Q=Object.freeze({__proto__:null,setRecords:H,addRecord:X,addRecords:(e,t)=>({type:W,key:e,payload:t}),deleteRecord:G,deleteRecords:(e,t)=>({type:B,key:e,payload:t}),updateRecord:Y});function Z(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function te(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach((function(t){Z(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function re(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var ne="function"==typeof Symbol&&Symbol.observable||"@@observable",oe=function(){return Math.random().toString(36).substring(7).split("").join(".")},ie={INIT:"@@redux/INIT"+oe(),REPLACE:"@@redux/REPLACE"+oe(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+oe()}};function ue(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function ce(e,t,r){var n;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw Error(re(0));if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw Error(re(1));return r(ce)(e,t)}if("function"!=typeof e)throw Error(re(2));var o=e,i=t,u=[],c=u,a=!1;function s(){c===u&&(c=u.slice())}function f(){if(a)throw Error(re(3));return i}function l(e){if("function"!=typeof e)throw Error(re(4));if(a)throw Error(re(5));var t=!0;return s(),c.push(e),function(){if(t){if(a)throw Error(re(6));t=!1,s();var r=c.indexOf(e);c.splice(r,1),u=null}}}function p(e){if(!ue(e))throw Error(re(7));if(void 0===e.type)throw Error(re(8));if(a)throw Error(re(9));try{a=!0,i=o(i,e)}finally{a=!1}for(var t=u=c,r=0;t.length>r;r++){(0,t[r])()}return e}function y(e){if("function"!=typeof e)throw Error(re(10));o=e,p({type:ie.REPLACE})}function d(){var e,t=l;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw Error(re(11));function r(){e.next&&e.next(f())}return r(),{unsubscribe:t(r)}}})[ne]=function(){return this},e}return p({type:ie.INIT}),(n={dispatch:p,subscribe:l,getState:f,replaceReducer:y})[ne]=d,n}function ae(e){for(var t=Object.keys(e),r={},n=0;t.length>n;n++){var o=t[n];"function"==typeof e[o]&&(r[o]=e[o])}var i,u=Object.keys(r);try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(void 0===r(void 0,{type:ie.INIT}))throw Error(re(12));if(void 0===r(void 0,{type:ie.PROBE_UNKNOWN_ACTION()}))throw Error(re(13))}))}(r)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var n=!1,o={},c=0;u.length>c;c++){var a=u[c],s=e[a],f=(0,r[a])(s,t);if(void 0===f)throw Error(re(14));o[a]=f,n=n||f!==s}return(n=n||u.length!==Object.keys(e).length)?o:e}}function se(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function fe(){for(var e=arguments.length,t=Array(e),r=0;e>r;r++)t[r]=arguments[r];return function(e){return function(){var r=e.apply(void 0,arguments),n=function(){throw Error(re(15))},o={getState:r.getState,dispatch:function(){return n.apply(void 0,arguments)}},i=t.map((function(e){return e(o)}));return n=se.apply(void 0,i)(r.dispatch),te(te({},r),{},{dispatch:n})}}}function le(){return le=Object.assign?Object.assign.bind():function(e){for(var t=1;arguments.length>t;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},le.apply(this,arguments)}function pe(e,t){return[...t,e]}function ye(e,t){return[...t,...e]}function de(e,t){return t.map((t=>t.id===e.id?e:t))}function be(e,t){return t.filter((t=>t.id!==e.id))}function ve(e,t){return t.filter((t=>!e.includes(t)))}const he=ae({records:(e={},t)=>{var r;const n=null!=(r=e[t.key])?r:[];switch(t.type){case V:if(Array.isArray(t.payload))return le({},e,{[t.key]:t.payload});case J:return le({},e,{[t.key]:pe(t.payload,n)});case W:return le({},e,{[t.key]:ye(t.payload,n)});case K:return le({},e,{[t.key]:be(t.payload,n)});case B:return le({},e,{[t.key]:ve(t.payload,n)});case q:return le({},e,{[t.key]:de(t.payload,n)});default:return e}}});function me(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;t>n;n++)r[n-1]=arguments[n];throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map((function(e){return"'"+e+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function ge(e){return!!e&&!!e[it]}function Oe(e){return!!e&&(function(e){if(!e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var r=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return r===Object||"function"==typeof r&&Function.toString.call(r)===ut}(e)||Array.isArray(e)||!!e[ot]||!!e.constructor[ot]||_e(e)||Re(e))}function we(e,t,r){void 0===r&&(r=!1),0===Se(e)?(r?Object.keys:ct)(e).forEach((function(n){r&&"symbol"==typeof n||t(n,e[n],e)})):e.forEach((function(r,n){return t(n,r,e)}))}function Se(e){var t=e[it];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:_e(e)?2:Re(e)?3:0}function Pe(e,t){return 2===Se(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ee(e,t,r){var n=Se(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r)):e[t]=r}function je(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function _e(e){return et&&e instanceof Map}function Re(e){return tt&&e instanceof Set}function xe(e){return e.o||e.t}function ke(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=at(e);delete t[it];for(var r=ct(t),n=0;r.length>n;n++){var o=r[n],i=t[o];!1===i.writable&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(t[o]={configurable:!0,writable:!0,enumerable:i.enumerable,value:e[o]})}return Object.create(Object.getPrototypeOf(e),t)}function Ae(e,t){return void 0===t&&(t=!1),De(e)||ge(e)||!Oe(e)||(Se(e)>1&&(e.set=e.add=e.clear=e.delete=Ce),Object.freeze(e),t&&we(e,(function(e,t){return Ae(t,!0)}),!0)),e}function Ce(){me(2)}function De(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function $e(e){var t=st[e];return t||me(18,e),t}function Ie(){return Qe}function Ne(e,t){t&&($e("Patches"),e.u=[],e.s=[],e.v=t)}function Te(e){Ue(e),e.p.forEach(Le),e.p=null}function Ue(e){e===Qe&&(Qe=e.l)}function Me(e){return Qe={p:[],l:Qe,h:e,m:!0,_:0}}function Le(e){var t=e[it];0===t.i||1===t.i?t.j():t.O=!0}function Fe(e,t){t._=t.p.length;var r=t.p[0],n=void 0!==e&&e!==r;return t.h.g||$e("ES5").S(t,e,n),n?(r[it].P&&(Te(t),me(4)),Oe(e)&&(e=ze(t,e),t.l||Je(t,e)),t.u&&$e("Patches").M(r[it].t,e,t.u,t.s)):e=ze(t,r,[]),Te(t),t.u&&t.v(t.u,t.s),e!==nt?e:void 0}function ze(e,t,r){if(De(t))return t;var n=t[it];if(!n)return we(t,(function(o,i){return Ve(e,n,t,o,i,r)}),!0),t;if(n.A!==e)return t;if(!n.P)return Je(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=4===n.i||5===n.i?n.o=ke(n.k):n.o;we(3===n.i?new Set(o):o,(function(t,i){return Ve(e,n,o,t,i,r)})),Je(e,o,!1),r&&e.u&&$e("Patches").R(n,r,e.u,e.s)}return n.o}function Ve(e,t,r,n,o,i){if(ge(o)){var u=ze(e,o,i&&t&&3!==t.i&&!Pe(t.D,n)?i.concat(n):void 0);if(Ee(r,n,u),!ge(u))return;e.m=!1}if(Oe(o)&&!De(o)){if(!e.h.F&&1>e._)return;ze(e,o),t&&t.A.l||Je(e,o)}}function Je(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&Ae(t,r)}function We(e,t){var r=e[it];return(r?xe(r):e)[t]}function qe(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Object.getPrototypeOf(r)}}function Ke(e){e.P||(e.P=!0,e.l&&Ke(e.l))}function Be(e){e.o||(e.o=ke(e.t))}function He(e,t,r){var n=_e(t)?$e("MapSet").N(t,r):Re(t)?$e("MapSet").T(t,r):e.g?function(e,t){var r=Array.isArray(e),n={i:r?1:0,A:t?t.A:Ie(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=n,i=ft;r&&(o=[n],i=lt);var u=Proxy.revocable(o,i),c=u.revoke,a=u.proxy;return n.k=a,n.j=c,a}(t,r):$e("ES5").J(t,r);return(r?r.A:Ie()).p.push(n),n}function Xe(e){return ge(e)||me(22,e),function e(t){if(!Oe(t))return t;var r,n=t[it],o=Se(t);if(n){if(!n.P&&(4>n.i||!$e("ES5").K(n)))return n.t;n.I=!0,r=Ge(t,o),n.I=!1}else r=Ge(t,o);return we(r,(function(t,o){n&&function(e,t){return 2===Se(e)?e.get(t):e[t]}(n.t,t)===o||Ee(r,t,e(o))})),3===o?new Set(r):r}(e)}function Ge(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ke(e)}var Ye,Qe,Ze="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),et="undefined"!=typeof Map,tt="undefined"!=typeof Set,rt="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,nt=Ze?Symbol.for("immer-nothing"):((Ye={})["immer-nothing"]=!0,Ye),ot=Ze?Symbol.for("immer-draftable"):"__$immer_draftable",it=Ze?Symbol.for("immer-state"):"__$immer_state",ut=""+Object.prototype.constructor,ct="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,at=Object.getOwnPropertyDescriptors||function(e){var t={};return ct(e).forEach((function(r){t[r]=Object.getOwnPropertyDescriptor(e,r)})),t},st={},ft={get:function(e,t){if(t===it)return e;var r=xe(e);if(!Pe(r,t))return function(e,t,r){var n,o=qe(t,r);return o?"value"in o?o.value:null===(n=o.get)||void 0===n?void 0:n.call(e.k):void 0}(e,r,t);var n=r[t];return e.I||!Oe(n)?n:n===We(e.t,t)?(Be(e),e.o[t]=He(e.A.h,n,e)):n},has:function(e,t){return t in xe(e)},ownKeys:function(e){return Reflect.ownKeys(xe(e))},set:function(e,t,r){var n=qe(xe(e),t);if(null==n?void 0:n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=We(xe(e),t),i=null==o?void 0:o[it];if(i&&i.t===r)return e.o[t]=r,e.D[t]=!1,!0;if(je(r,o)&&(void 0!==r||Pe(e.t,t)))return!0;Be(e),Ke(e)}return e.o[t]===r&&"number"!=typeof r&&(void 0!==r||t in e.o)||(e.o[t]=r,e.D[t]=!0,!0)},deleteProperty:function(e,t){return void 0!==We(e.t,t)||t in e.t?(e.D[t]=!1,Be(e),Ke(e)):delete e.D[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=xe(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:n.enumerable,value:r[t]}:n},defineProperty:function(){me(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){me(12)}},lt={};we(ft,(function(e,t){lt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),lt.deleteProperty=function(e,t){return lt.set.call(this,e,t,void 0)},lt.set=function(e,t,r){return ft.set.call(this,e[0],t,r,e[0])};var pt=function(){function e(e){var t=this;this.g=rt,this.F=!0,this.produce=function(e,r,n){if("function"==typeof e&&"function"!=typeof r){var o=r;r=e;var i=t;return function(e){var t=this;void 0===e&&(e=o);for(var n=arguments.length,u=Array(n>1?n-1:0),c=1;n>c;c++)u[c-1]=arguments[c];return i.produce(e,(function(e){var n;return(n=r).call.apply(n,[t,e].concat(u))}))}}var u;if("function"!=typeof r&&me(6),void 0!==n&&"function"!=typeof n&&me(7),Oe(e)){var c=Me(t),a=He(t,e,void 0),s=!0;try{u=r(a),s=!1}finally{s?Te(c):Ue(c)}return"undefined"!=typeof Promise&&u instanceof Promise?u.then((function(e){return Ne(c,n),Fe(e,c)}),(function(e){throw Te(c),e})):(Ne(c,n),Fe(u,c))}if(!e||"object"!=typeof e){if(void 0===(u=r(e))&&(u=e),u===nt&&(u=void 0),t.F&&Ae(u,!0),n){var f=[],l=[];$e("Patches").M(e,u,f,l),n(f,l)}return u}me(21,e)},this.produceWithPatches=function(e,r){if("function"==typeof e)return function(r){for(var n=arguments.length,o=Array(n>1?n-1:0),i=1;n>i;i++)o[i-1]=arguments[i];return t.produceWithPatches(r,(function(t){return e.apply(void 0,[t].concat(o))}))};var n,o,i=t.produce(e,r,(function(e,t){n=e,o=t}));return"undefined"!=typeof Promise&&i instanceof Promise?i.then((function(e){return[e,n,o]})):[i,n,o]},"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var t=e.prototype;return t.createDraft=function(e){Oe(e)||me(8),ge(e)&&(e=Xe(e));var t=Me(this),r=He(this,e,void 0);return r[it].C=!0,Ue(t),r},t.finishDraft=function(e,t){var r=(e&&e[it]).A;return Ne(r,t),Fe(void 0,r)},t.setAutoFreeze=function(e){this.F=e},t.setUseProxies=function(e){e&&!rt&&me(20),this.g=e},t.applyPatches=function(e,t){var r;for(r=t.length-1;r>=0;r--){var n=t[r];if(0===n.path.length&&"replace"===n.op){e=n.value;break}}r>-1&&(t=t.slice(r+1));var o=$e("Patches").$;return ge(e)?o(e,t):this.produce(e,(function(e){return o(e,t)}))},e}(),yt=new pt;function dt(e){return function(t){var r=t.dispatch,n=t.getState;return function(t){return function(o){return"function"==typeof o?o(r,n,e):t(o)}}}}yt.produceWithPatches.bind(yt),yt.setAutoFreeze.bind(yt),yt.setUseProxies.bind(yt),yt.applyPatches.bind(yt),yt.createDraft.bind(yt),yt.finishDraft.bind(yt);var bt=dt();bt.withExtraArgument=dt;var vt,ht=bt,mt=(vt=function(e,t){return vt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},vt(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+t+" is not a constructor or null");function r(){this.constructor=e}vt(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),gt=function(e,t){for(var r=0,n=t.length,o=e.length;n>r;r++,o++)e[o]=t[r];return e},Ot=Object.defineProperty,wt=Object.getOwnPropertySymbols,St=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable,Et=function(e,t,r){return t in e?Ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r},jt="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"==typeof arguments[0]?se:se.apply(null,arguments)};var _t=function(e){function t(){for(var r=[],n=0;arguments.length>n;n++)r[n]=arguments[n];var o=e.apply(this,r)||this;return Object.setPrototypeOf(o,t.prototype),o}return mt(t,e),Object.defineProperty(t,Symbol.species,{get:function(){return t},enumerable:!1,configurable:!0}),t.prototype.concat=function(){for(var t=[],r=0;arguments.length>r;r++)t[r]=arguments[r];return e.prototype.concat.apply(this,t)},t.prototype.prepend=function(){for(var e=[],r=0;arguments.length>r;r++)e[r]=arguments[r];return 1===e.length&&Array.isArray(e[0])?new(t.bind.apply(t,gt([void 0],e[0].concat(this)))):new(t.bind.apply(t,gt([void 0],e.concat(this))))},t}(Array);function Rt(){return function(e){return function(e){void 0===e&&(e={});var t=e.thunk,r=void 0===t||t;var n=new _t;r&&(!function(e){return"boolean"==typeof e}(r)?n.push(ht.withExtraArgument(r.extraArgument)):n.push(ht));return n}(e)}}!function(){function e(e,t){var r=o[e];return r?r.enumerable=t:o[e]=r={configurable:!0,enumerable:t,get:function(){return ft.get(this[it],e)},set:function(t){ft.set(this[it],e,t)}},r}function t(e){for(var t=e.length-1;t>=0;t--){var o=e[t][it];if(!o.P)switch(o.i){case 5:n(o)&&Ke(o);break;case 4:r(o)&&Ke(o)}}}function r(e){for(var t=e.t,r=e.k,n=ct(r),o=n.length-1;o>=0;o--){var i=n[o];if(i!==it){var u=t[i];if(void 0===u&&!Pe(t,i))return!0;var c=r[i],a=c&&c[it];if(a?a.t!==u:!je(c,u))return!0}}var s=!!t[it];return n.length!==ct(t).length+(s?0:1)}function n(e){var t=e.k;if(t.length!==e.t.length)return!0;var r=Object.getOwnPropertyDescriptor(t,t.length-1);if(r&&!r.get)return!0;for(var n=0;t.length>n;n++)if(!t.hasOwnProperty(n))return!0;return!1}var o={};!function(e,t){st[e]||(st[e]=t)}("ES5",{J:function(t,r){var n=Array.isArray(t),o=function(t,r){if(t){for(var n=Array(r.length),o=0;r.length>o;o++)Object.defineProperty(n,""+o,e(o,!0));return n}var i=at(r);delete i[it];for(var u=ct(i),c=0;u.length>c;c++){var a=u[c];i[a]=e(a,t||!!i[a].enumerable)}return Object.create(Object.getPrototypeOf(r),i)}(n,t),i={i:n?5:4,A:r?r.A:Ie(),P:!1,I:!1,D:{},l:r,t:t,k:o,o:null,O:!1,C:!1};return Object.defineProperty(o,it,{value:i,writable:!0}),o},S:function(e,r,o){o?ge(r)&&r[it].A===e&&t(e.p):(e.u&&function e(t){if(t&&"object"==typeof t){var r=t[it];if(r){var o=r.t,i=r.k,u=r.D,c=r.i;if(4===c)we(i,(function(t){t!==it&&(void 0!==o[t]||Pe(o,t)?u[t]||e(i[t]):(u[t]=!0,Ke(r)))})),we(o,(function(e){void 0!==i[e]||Pe(i,e)||(u[e]=!1,Ke(r))}));else if(5===c){if(n(r)&&(Ke(r),u.length=!0),o.length>i.length)for(var a=i.length;o.length>a;a++)u[a]=!1;else for(var s=o.length;i.length>s;s++)u[s]=!0;for(var f=Math.min(i.length,o.length),l=0;f>l;l++)i.hasOwnProperty(l)||(u[l]=!0),void 0===u[l]&&e(i[l])}}}}(e.p[0]),t(e.p))},K:function(e){return 4===e.i?r(e):n(e)}})}();var xt="persist:",kt="persist/FLUSH",At="persist/REHYDRATE",Ct="persist/PAUSE",Dt="persist/PERSIST",$t="persist/PURGE",It="persist/REGISTER";function Nt(e){return Nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nt(e)}function Tt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Ut(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Mt(e,t,r,n){var o=function(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Tt(r,!0).forEach((function(t){Ut(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Tt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},r);return e&&"object"===Nt(e)&&Object.keys(e).forEach((function(n){"_persist"!==n&&t[n]===r[n]&&(o[n]=e[n])})),o}function Lt(e){var t,r=e.blacklist||null,n=e.whitelist||null,o=e.transforms||[],i=e.throttle||0,u="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key),c=e.storage;t=!1===e.serialize?function(e){return e}:"function"==typeof e.serialize?e.serialize:Ft;var a=e.writeFailHandler||null,s={},f={},l=[],p=null,y=null;function d(){if(0===l.length)return p&&clearInterval(p),void(p=null);var e=l.shift(),r=o.reduce((function(t,r){return r.in(t,e,s)}),s[e]);if(void 0!==r)try{f[e]=t(r)}catch(e){console.error("redux-persist/createPersistoid: error serializing state",e)}else delete f[e];0===l.length&&(Object.keys(f).forEach((function(e){void 0===s[e]&&delete f[e]})),y=c.setItem(u,t(f)).catch(v))}function b(e){return(!n||-1!==n.indexOf(e)||"_persist"===e)&&(!r||-1===r.indexOf(e))}function v(e){a&&a(e)}return{update:function(e){Object.keys(e).forEach((function(t){b(t)&&s[t]!==e[t]&&-1===l.indexOf(t)&&l.push(t)})),Object.keys(s).forEach((function(t){void 0===e[t]&&b(t)&&-1===l.indexOf(t)&&void 0!==s[t]&&l.push(t)})),null===p&&(p=setInterval(d,i)),s=e},flush:function(){for(;0!==l.length;)d();return y||Promise.resolve()}}}function Ft(e){return JSON.stringify(e)}function zt(e){var t,r=e.transforms||[],n="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key);return t=!1===e.deserialize?function(e){return e}:"function"==typeof e.deserialize?e.deserialize:Vt,e.storage.getItem(n).then((function(e){if(e)try{var n={},o=t(e);return Object.keys(o).forEach((function(e){n[e]=r.reduceRight((function(t,r){return r.out(t,e,o)}),t(o[e]))})),n}catch(e){throw e}}))}function Vt(e){return JSON.parse(e)}function Jt(e){0}function Wt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Wt(r,!0).forEach((function(t){Kt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Wt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Kt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Bt(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;i.length>n;n++)0>t.indexOf(r=i[n])&&(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;i.length>n;n++)0>t.indexOf(r=i[n])&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ht(e){return function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);e.length>t;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Xt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Gt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Xt(r,!0).forEach((function(t){Yt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Xt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Yt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Qt={registry:[],bootstrapped:!1},Zt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qt,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case It:return Gt({},e,{registry:[].concat(Ht(e.registry),[t.key])});case At:var r=e.registry.indexOf(t.key),n=Ht(e.registry);return n.splice(r,1),Gt({},e,{registry:n,bootstrapped:0===n.length});default:return e}};var er="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},tr=z.useState,rr=z.useEffect,nr=z.useLayoutEffect,or=z.useDebugValue;function ir(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!er(e,r)}catch(e){return!0}}var ur="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=tr({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return nr((function(){o.value=r,o.getSnapshot=t,ir(o)&&i({inst:o})}),[e,r,t]),rr((function(){return ir(o)&&i({inst:o}),e((function(){ir(o)&&i({inst:o})}))}),[e]),or(r),r},cr={useSyncExternalStore:void 0!==z.useSyncExternalStore?z.useSyncExternalStore:ur},ar=u((function(e){e.exports=cr}));var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},fr=ar.useSyncExternalStore,lr=z.useRef,pr=z.useEffect,yr=z.useMemo,dr=z.useDebugValue,br={useSyncExternalStoreWithSelector:function(e,t,r,n,o){var i=lr(null);if(null===i.current){var u={hasValue:!1,value:null};i.current=u}else u=i.current;i=yr((function(){function e(e){if(!a){if(a=!0,i=e,e=n(e),void 0!==o&&u.hasValue){var t=u.value;if(o(t,e))return c=t}return c=e}if(t=c,sr(i,e))return t;var r=n(e);return void 0!==o&&o(t,r)?t:(i=e,c=r)}var i,c,a=!1,s=void 0===r?null:r;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]}),[t,r,n,o]);var c=fr(e,i[0],i[1]);return pr((function(){u.hasValue=!0,u.value=c}),[c]),dr(c),c}},vr=u((function(e){e.exports=br}));let hr=function(e){e()};const mr=()=>hr,gr=z.createContext(null);function Or(){return z.useContext(gr)}let wr=()=>{throw Error("uSES not initialized!")};const Sr=(e,t)=>e===t;function Pr(e=gr){const t=e===gr?Or:()=>z.useContext(e);return function(e,r=Sr){const{store:n,subscription:o,getServerState:i}=t(),u=wr(o.addNestedSub,n.getState,i||n.getState,e,r);return z.useDebugValue(u),u}}const Er=Pr();
11
11
  /** @license React v16.13.1
12
12
  * react-is.production.min.js
13
13
  *
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * This source code is licensed under the MIT license found in the
17
17
  * LICENSE file in the root directory of this source tree.
18
- */var jr="function"==typeof Symbol&&Symbol.for,_r=jr?Symbol.for("react.element"):60103,Rr=jr?Symbol.for("react.portal"):60106,xr=jr?Symbol.for("react.fragment"):60107,kr=jr?Symbol.for("react.strict_mode"):60108,Ar=jr?Symbol.for("react.profiler"):60114,Cr=jr?Symbol.for("react.provider"):60109,Dr=jr?Symbol.for("react.context"):60110,$r=jr?Symbol.for("react.async_mode"):60111,Ir=jr?Symbol.for("react.concurrent_mode"):60111,Tr=jr?Symbol.for("react.forward_ref"):60112,Ur=jr?Symbol.for("react.suspense"):60113,Nr=jr?Symbol.for("react.suspense_list"):60120,Mr=jr?Symbol.for("react.memo"):60115,Lr=jr?Symbol.for("react.lazy"):60116,Fr=jr?Symbol.for("react.block"):60121,zr=jr?Symbol.for("react.fundamental"):60117,Vr=jr?Symbol.for("react.responder"):60118,Wr=jr?Symbol.for("react.scope"):60119;function qr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case _r:switch(e=e.type){case $r:case Ir:case xr:case Ar:case kr:case Ur:return e;default:switch(e=e&&e.$$typeof){case Dr:case Tr:case Lr:case Mr:case Cr:return e;default:return t}}case Rr:return t}}}function Kr(e){return qr(e)===Ir}var Jr={AsyncMode:$r,ConcurrentMode:Ir,ContextConsumer:Dr,ContextProvider:Cr,Element:_r,ForwardRef:Tr,Fragment:xr,Lazy:Lr,Memo:Mr,Portal:Rr,Profiler:Ar,StrictMode:kr,Suspense:Ur,isAsyncMode:function(e){return Kr(e)||qr(e)===$r},isConcurrentMode:Kr,isContextConsumer:function(e){return qr(e)===Dr},isContextProvider:function(e){return qr(e)===Cr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===_r},isForwardRef:function(e){return qr(e)===Tr},isFragment:function(e){return qr(e)===xr},isLazy:function(e){return qr(e)===Lr},isMemo:function(e){return qr(e)===Mr},isPortal:function(e){return qr(e)===Rr},isProfiler:function(e){return qr(e)===Ar},isStrictMode:function(e){return qr(e)===kr},isSuspense:function(e){return qr(e)===Ur},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===xr||e===Ir||e===Ar||e===kr||e===Ur||e===Nr||"object"==typeof e&&null!==e&&(e.$$typeof===Lr||e.$$typeof===Mr||e.$$typeof===Cr||e.$$typeof===Dr||e.$$typeof===Tr||e.$$typeof===zr||e.$$typeof===Vr||e.$$typeof===Wr||e.$$typeof===Fr)},typeOf:qr},Br=u((function(e){e.exports=Jr})),Hr={};Hr[Br.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Hr[Br.Memo]={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0};
18
+ */var jr="function"==typeof Symbol&&Symbol.for,_r=jr?Symbol.for("react.element"):60103,Rr=jr?Symbol.for("react.portal"):60106,xr=jr?Symbol.for("react.fragment"):60107,kr=jr?Symbol.for("react.strict_mode"):60108,Ar=jr?Symbol.for("react.profiler"):60114,Cr=jr?Symbol.for("react.provider"):60109,Dr=jr?Symbol.for("react.context"):60110,$r=jr?Symbol.for("react.async_mode"):60111,Ir=jr?Symbol.for("react.concurrent_mode"):60111,Nr=jr?Symbol.for("react.forward_ref"):60112,Tr=jr?Symbol.for("react.suspense"):60113,Ur=jr?Symbol.for("react.suspense_list"):60120,Mr=jr?Symbol.for("react.memo"):60115,Lr=jr?Symbol.for("react.lazy"):60116,Fr=jr?Symbol.for("react.block"):60121,zr=jr?Symbol.for("react.fundamental"):60117,Vr=jr?Symbol.for("react.responder"):60118,Jr=jr?Symbol.for("react.scope"):60119;function Wr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case _r:switch(e=e.type){case $r:case Ir:case xr:case Ar:case kr:case Tr:return e;default:switch(e=e&&e.$$typeof){case Dr:case Nr:case Lr:case Mr:case Cr:return e;default:return t}}case Rr:return t}}}function qr(e){return Wr(e)===Ir}var Kr={AsyncMode:$r,ConcurrentMode:Ir,ContextConsumer:Dr,ContextProvider:Cr,Element:_r,ForwardRef:Nr,Fragment:xr,Lazy:Lr,Memo:Mr,Portal:Rr,Profiler:Ar,StrictMode:kr,Suspense:Tr,isAsyncMode:function(e){return qr(e)||Wr(e)===$r},isConcurrentMode:qr,isContextConsumer:function(e){return Wr(e)===Dr},isContextProvider:function(e){return Wr(e)===Cr},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===_r},isForwardRef:function(e){return Wr(e)===Nr},isFragment:function(e){return Wr(e)===xr},isLazy:function(e){return Wr(e)===Lr},isMemo:function(e){return Wr(e)===Mr},isPortal:function(e){return Wr(e)===Rr},isProfiler:function(e){return Wr(e)===Ar},isStrictMode:function(e){return Wr(e)===kr},isSuspense:function(e){return Wr(e)===Tr},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===xr||e===Ir||e===Ar||e===kr||e===Tr||e===Ur||"object"==typeof e&&null!==e&&(e.$$typeof===Lr||e.$$typeof===Mr||e.$$typeof===Cr||e.$$typeof===Dr||e.$$typeof===Nr||e.$$typeof===zr||e.$$typeof===Vr||e.$$typeof===Jr||e.$$typeof===Fr)},typeOf:Wr},Br=u((function(e){e.exports=Kr})),Hr={};Hr[Br.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Hr[Br.Memo]={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0};
19
19
  /**
20
20
  * @license React
21
21
  * react-is.production.min.js
@@ -25,4 +25,4 @@
25
25
  * This source code is licensed under the MIT license found in the
26
26
  * LICENSE file in the root directory of this source tree.
27
27
  */
28
- var Xr,Gr=Symbol.for("react.element"),Yr=Symbol.for("react.portal"),Qr=Symbol.for("react.fragment"),Zr=Symbol.for("react.strict_mode"),en=Symbol.for("react.profiler"),tn=Symbol.for("react.provider"),rn=Symbol.for("react.context"),nn=Symbol.for("react.server_context"),on=Symbol.for("react.forward_ref"),un=Symbol.for("react.suspense"),cn=Symbol.for("react.suspense_list"),an=Symbol.for("react.memo"),fn=Symbol.for("react.lazy"),sn=Symbol.for("react.offscreen");function ln(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Gr:switch(e=e.type){case Qr:case en:case Zr:case un:case cn:return e;default:switch(e=e&&e.$$typeof){case nn:case rn:case on:case fn:case an:case tn:return e;default:return t}}case Yr:return t}}}Xr=Symbol.for("react.module.reference");var pn={ContextConsumer:rn,ContextProvider:tn,Element:Gr,ForwardRef:on,Fragment:Qr,Lazy:fn,Memo:an,Portal:Yr,Profiler:en,StrictMode:Zr,Suspense:un,SuspenseList:cn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return ln(e)===rn},isContextProvider:function(e){return ln(e)===tn},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Gr},isForwardRef:function(e){return ln(e)===on},isFragment:function(e){return ln(e)===Qr},isLazy:function(e){return ln(e)===fn},isMemo:function(e){return ln(e)===an},isPortal:function(e){return ln(e)===Yr},isProfiler:function(e){return ln(e)===en},isStrictMode:function(e){return ln(e)===Zr},isSuspense:function(e){return ln(e)===un},isSuspenseList:function(e){return ln(e)===cn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Qr||e===en||e===Zr||e===un||e===cn||e===sn||"object"==typeof e&&null!==e&&(e.$$typeof===fn||e.$$typeof===an||e.$$typeof===tn||e.$$typeof===rn||e.$$typeof===on||e.$$typeof===Xr||void 0!==e.getModuleId)},typeOf:ln};u((function(e){e.exports=pn}));const yn={notify(){},get:()=>[]};function dn(e,t){let r,n=yn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=mr();let t=null,r=null;return{clear(){t=null,r=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],r=t;for(;r;)e.push(r),r=r.next;return e},subscribe(e){let n=!0,o=r={callback:e,next:null,prev:r};return o.prev?o.prev.next=o:t=o,function(){n&&null!==t&&(n=!1,o.next?o.next.prev=o.prev:r=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}())}const u={addNestedSub:function(e){return i(),n.subscribe(e)},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:o,isSubscribed:function(){return!!r},trySubscribe:i,tryUnsubscribe:function(){r&&(r(),r=void 0,n.clear(),n=yn)},getListeners:()=>n};return u}const bn=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function vn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=dn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);bn((()=>{const{subscription:t}=o;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),i!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}}),[o,i]);return z.createElement((t||gr).Provider,{value:o},r)}wr=vr.useSyncExternalStoreWithSelector,hr=t.unstable_batchedUpdates;var hn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:mn}=Object.prototype,{propertyIsEnumerable:gn}=Object,On=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),wn=i,Sn={concatArrays:!1,ignoreUndefined:!1},Pn=e=>{const t=[];for(const r in e)mn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)gn.call(e,n)&&t.push(n)}return t};function En(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Pn(e).forEach((r=>{On(t,r,En(e[r]))})),t}(e):hn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Pn(e).forEach((r=>{On(t,r,En(e[r]))})),t}(e):e}const jn=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||On(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?_n(e[r],t[r],n):En(t[r]))})),e);function _n(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach((t=>{const i=[];for(let r=0;t.length>r;r++)mn.call(t,r)&&(i.push(r+""),On(n,o++,t===e?t[r]:En(t[r])));n=jn(n,t,Pn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):hn(t)&&hn(e)?jn(e,t,Pn(t),r):En(t)}const Rn=function(...e){const t=_n(En(Sn),this!==wn&&this||{},Sn);let r={_:{}};for(const n of e)if(void 0!==n){if(!hn(n))throw new TypeError("`"+n+"` is not an Option Object");r=_n(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function xn(e,t){return new Promise(((r,n)=>{try{const n=e();null==t||t(null,n),r(n)}catch(e){null==t||t(e),n(e)}}))}function kn(e,t,r){return Promise.all(e).then((e=>{var n;const o=null!==(n=null==r?void 0:r(e))&&void 0!==n?n:null;return null==t||t(null,o),Promise.resolve(o)}),(e=>(null==t||t(e),Promise.reject(e))))}const An={getItem:(e,t)=>xn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>xn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>xn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>xn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(Rn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>xn((()=>window.localStorage.clear()),e),getAllKeys:e=>xn((()=>{const e=window.localStorage.length,t=[];for(let r=0;e>r;r+=1){const e=window.localStorage.key(r)||"";t.push(e)}return t}),e),flushGetRequests:()=>{},multiGet:(e,t)=>kn(e.map((e=>An.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>kn(e.map((e=>An.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>kn(e.map((e=>An.removeItem(e))),t),multiMerge:(e,t)=>kn(e.map((e=>An.mergeItem(e[0],e[1]))),t)};class Cn{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await An.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await An.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await An.removeItem(e)}}const Dn={key:"root",storage:{getItem:async(e,...t)=>await Cn.get(e),setItem:async(e,t,...r)=>Cn.set(e,t),removeItem:async(e,...t)=>Cn.remove(e)}},$n=ae({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Mt:e.stateReconciler,o=e.getStoredState||zt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,f=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(s,l){var p=s||{},y=p._persist,d=Bt(p,["_persist"]);if(l.type===Dt){var b=!1,v=function(t,r){b||(l.rehydrate(e.key,t,r),b=!0)};if(i&&setTimeout((function(){!b&&v(void 0,Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),i),a=!1,u||(u=Lt(e)),y)return Kt({},t(d,l),{_persist:y});if("function"!=typeof l.rehydrate||"function"!=typeof l.register)throw Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return l.register(e.key),o(e).then((function(t){var n=e.migrate||function(e,t){return Promise.resolve(e)};n(t,r).then((function(e){v(e)}),(function(e){v(void 0,e)}))}),(function(e){v(void 0,e)})),Kt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===$t)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key);return t.removeItem(r,Wt)}(e)),Kt({},t(d,l),{_persist:y});if(l.type===kt)return l.result(u&&u.flush()),Kt({},t(d,l),{_persist:y});if(l.type===Ct)a=!0;else if(l.type===At){if(c)return Kt({},d,{_persist:Kt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Kt({},!1!==n&&void 0!==m?n(m,s,h,e):h,{_persist:Kt({},y,{rehydrated:!0})});return f(g)}}if(!y)return t(s,l);var O=t(d,l);return O===d?s:f(Kt({},O,{_persist:y}))}}(Dn,he)}),In=function(e){var t,r=Rt(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,f=void 0===a||a,s=n.preloadedState,l=void 0===s?void 0:s,p=n.enhancers,y=void 0===p?void 0:p;if("function"==typeof i)t=i;else{if(!function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return t===r}(i))throw Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=ae(i)}var d=c;"function"==typeof d&&(d=d(r));var b=se.apply(void 0,d),v=fe;f&&(v=jt(function(e,t){for(var r in t||(t={}))St.call(t,r)&&Et(e,r,t[r]);if(wt)for(var n=0,o=wt(t);o.length>n;n++)Pt.call(t,r=o[n])&&Et(e,r,t[r]);return e}({trace:!1},"object"==typeof f&&f)));var h=[b];return Array.isArray(y)?h=gt([b],y):"function"==typeof y&&(h=y(h)),ce(t,l,v.apply(void 0,h))}({reducer:$n,middleware:[ht]}),Tn=In.dispatch,Un=Er,Nn=function(e,t,r){var n=r||!1,o=ce(Zt,Qt,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:It,key:e})},u=function(t,r,i){var u={type:At,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=Gt({},o,{purge:function(){var t=[];return e.dispatch({type:$t,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:kt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ct})},persist:function(){e.dispatch({type:Dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(In),Mn=()=>z.useContext(zn),Ln=z.createContext(null),Fn=e=>{const t=Mn(),r=Tn,[n,o]=z.useState(e.collections||[]),i={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(X(e,t.record));break;case"update":r(Y(e,t.record));break;case"delete":r(G(e,t.record))}})).catch((e=>{})))},unsubscribe:e=>{e?null==t||t.realtime.unsubscribe(e).catch((e=>{})):null==t||t.realtime.unsubscribe().catch((e=>{}))},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200).catch((e=>{})));r(H(e,n))},create:async(e,r)=>{await(null==t?void 0:t.records.create(e,r).catch((e=>{})))},update:async(e,r,n)=>{await(null==t?void 0:t.records.update(e,r,n).catch((e=>{})))},delete:async(e,r)=>{await(null==t?void 0:t.records.delete(e,r).catch((e=>{})))}};return z.useEffect((()=>(n&&n.forEach((e=>{i.fetch(e),i.subscribe(e)})),()=>i.unsubscribe())),[n]),z.createElement(Ln.Provider,{value:i},e.children)},zn=z.createContext(null),Vn=e=>z.createElement(zn.Provider,{value:e.client},e.children),Wn=z.createContext(null),qn=e=>{const t=Mn(),[r,n]=z.useState(),o={registerWithEmail:async(e,r)=>{await(null==t?void 0:t.users.create({email:e,password:r,passwordConfirm:r}))},signInWithEmail:async(e,r)=>{await(null==t?void 0:t.users.authViaEmail(e,r))},signInWithProvider:async t=>{const n=null==r?void 0:r.find((e=>e.name===t)),o=(null==n?void 0:n.authUrl)+typeof document!="undefined"?e.webRedirectUrl:e.mobileRedirectUrl;await e.openURL(o),await Cn.set("provider",JSON.stringify(r))},submitProviderResult:async r=>{const n=new URLSearchParams(r.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await Cn.get("provider");if(u){const r=JSON.parse(u),n=null==r?void 0:r.find((e=>e.state===i));n&&o&&await(null==t?void 0:t.users.authViaOAuth2(n.name,o,n.codeVerifier,"undefined"!=typeof document?e.webRedirectUrl:e.mobileRedirectUrl))}},signOut:()=>{null==t||t.authStore.clear()},sendPasswordResetEmail:async e=>{await(null==t?void 0:t.users.requestPasswordReset(e))},sendEmailVerification:async e=>{await(null==t?void 0:t.users.requestVerification(e))},updateProfile:async(e,r)=>{await(null==t?void 0:t.records.update("profiles",e,r))},updateEmail:async e=>{await(null==t?void 0:t.users.requestEmailChange(e))},deleteUser:async e=>{await(null==t?void 0:t.users.delete(e))}};return z.useEffect((()=>{(async()=>{const e=await(null==t?void 0:t.users.listAuthMethods());n(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Wn.Provider,{value:o},e.children)};function Kn(e){return Kn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kn(e)}function Jn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bn(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Hn(e,t){return!t||"object"!==Kn(t)&&"function"!=typeof t?Gn(e):t}function Xn(e){return Xn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Xn(e)}function Gn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yn(e,t){return Yn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Yn(e,t)}function Qn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Zn=function(e){function t(){var e,r;Jn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return Qn(Gn(r=Hn(this,(e=Xn(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),Qn(Gn(r),"_unsubscribe",void 0),Qn(Gn(r),"handlePersistorState",(function(){r.props.persistor.getState().bootstrapped&&(r.props.onBeforeLift?Promise.resolve(r.props.onBeforeLift()).finally((function(){return r.setState({bootstrapped:!0})})):r.setState({bootstrapped:!0}),r._unsubscribe&&r._unsubscribe())})),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yn(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this._unsubscribe=this.props.persistor.subscribe(this.handlePersistorState),this.handlePersistorState()}},{key:"componentWillUnmount",value:function(){this._unsubscribe&&this._unsubscribe()}},{key:"render",value:function(){return"function"==typeof this.props.children?this.props.children(this.state.bootstrapped):this.state.bootstrapped?this.props.children:this.props.loading}}])&&Bn(r.prototype,n),o&&Bn(r,o),t}(z.PureComponent);Qn(Zn,"defaultProps",{children:null,loading:null});const eo=z.createContext(null);e.ADD_RECORD=W,e.ADD_RECORDS=q,e.AuthContext=Wn,e.AuthProvider=qn,e.ClientContext=zn,e.ClientProvider=Vn,e.ContentContext=Ln,e.ContentProvider=Fn,e.DELETE_RECORD=J,e.DELETE_RECORDS=B,e.Pocketbase=e=>{const t=new o.default(e.serverURL);return t?z.createElement(Vn,{client:t},z.createElement(vn,{store:In},z.createElement(Zn,{persistor:Nn},z.createElement(qn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Fn,{collections:e.initialCollections},e.children))))):null},e.PocketbaseContext=eo,e.SET_RECORDS=V,e.UPDATE_RECORD=K,e.appReducer=he,e.persistConfig=Dn,e.persistor=Nn,e.recordsAction=Q,e.store=In,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=Un((t=>t.reducer.records[e])))?r:[],o=z.useContext(Ln);return z.useEffect((()=>{t&&(null==o||o.fetch(e))}),[e,t]),{records:n,actions:{subscribe:async()=>await(null==o?void 0:o.subscribe(e)),unsubscribe:()=>null==o?void 0:o.unsubscribe(e),fetch:async()=>await(null==o?void 0:o.fetch(e)),create:async t=>await(null==o?void 0:o.create(e,t)),update:async(t,r)=>await(null==o?void 0:o.update(e,t,r)),delete:async t=>await(null==o?void 0:o.delete(e,t))}}},e.useAppDispatch=Tn,e.useAppSelector=Un,e.useAuth=function(){return{actions:z.useContext(Wn)}},e.useClientContext=Mn,Object.defineProperty(e,"__esModule",{value:!0})}));
28
+ var Xr,Gr=Symbol.for("react.element"),Yr=Symbol.for("react.portal"),Qr=Symbol.for("react.fragment"),Zr=Symbol.for("react.strict_mode"),en=Symbol.for("react.profiler"),tn=Symbol.for("react.provider"),rn=Symbol.for("react.context"),nn=Symbol.for("react.server_context"),on=Symbol.for("react.forward_ref"),un=Symbol.for("react.suspense"),cn=Symbol.for("react.suspense_list"),an=Symbol.for("react.memo"),sn=Symbol.for("react.lazy"),fn=Symbol.for("react.offscreen");function ln(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case Gr:switch(e=e.type){case Qr:case en:case Zr:case un:case cn:return e;default:switch(e=e&&e.$$typeof){case nn:case rn:case on:case sn:case an:case tn:return e;default:return t}}case Yr:return t}}}Xr=Symbol.for("react.module.reference");var pn={ContextConsumer:rn,ContextProvider:tn,Element:Gr,ForwardRef:on,Fragment:Qr,Lazy:sn,Memo:an,Portal:Yr,Profiler:en,StrictMode:Zr,Suspense:un,SuspenseList:cn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return ln(e)===rn},isContextProvider:function(e){return ln(e)===tn},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===Gr},isForwardRef:function(e){return ln(e)===on},isFragment:function(e){return ln(e)===Qr},isLazy:function(e){return ln(e)===sn},isMemo:function(e){return ln(e)===an},isPortal:function(e){return ln(e)===Yr},isProfiler:function(e){return ln(e)===en},isStrictMode:function(e){return ln(e)===Zr},isSuspense:function(e){return ln(e)===un},isSuspenseList:function(e){return ln(e)===cn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===Qr||e===en||e===Zr||e===un||e===cn||e===fn||"object"==typeof e&&null!==e&&(e.$$typeof===sn||e.$$typeof===an||e.$$typeof===tn||e.$$typeof===rn||e.$$typeof===on||e.$$typeof===Xr||void 0!==e.getModuleId)},typeOf:ln};u((function(e){e.exports=pn}));const yn={notify(){},get:()=>[]};function dn(e,t){let r,n=yn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=mr();let t=null,r=null;return{clear(){t=null,r=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],r=t;for(;r;)e.push(r),r=r.next;return e},subscribe(e){let n=!0,o=r={callback:e,next:null,prev:r};return o.prev?o.prev.next=o:t=o,function(){n&&null!==t&&(n=!1,o.next?o.next.prev=o.prev:r=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}())}const u={addNestedSub:function(e){return i(),n.subscribe(e)},notifyNestedSubs:function(){n.notify()},handleChangeWrapper:o,isSubscribed:function(){return!!r},trySubscribe:i,tryUnsubscribe:function(){r&&(r(),r=void 0,n.clear(),n=yn)},getListeners:()=>n};return u}const bn=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function vn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=dn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);bn((()=>{const{subscription:t}=o;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),i!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}}),[o,i]);return z.createElement((t||gr).Provider,{value:o},r)}wr=vr.useSyncExternalStoreWithSelector,hr=t.unstable_batchedUpdates;var hn=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:mn}=Object.prototype,{propertyIsEnumerable:gn}=Object,On=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),wn=i,Sn={concatArrays:!1,ignoreUndefined:!1},Pn=e=>{const t=[];for(const r in e)mn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)gn.call(e,n)&&t.push(n)}return t};function En(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Pn(e).forEach((r=>{On(t,r,En(e[r]))})),t}(e):hn(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Pn(e).forEach((r=>{On(t,r,En(e[r]))})),t}(e):e}const jn=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||On(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?_n(e[r],t[r],n):En(t[r]))})),e);function _n(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach((t=>{const i=[];for(let r=0;t.length>r;r++)mn.call(t,r)&&(i.push(r+""),On(n,o++,t===e?t[r]:En(t[r])));n=jn(n,t,Pn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):hn(t)&&hn(e)?jn(e,t,Pn(t),r):En(t)}const Rn=function(...e){const t=_n(En(Sn),this!==wn&&this||{},Sn);let r={_:{}};for(const n of e)if(void 0!==n){if(!hn(n))throw new TypeError("`"+n+"` is not an Option Object");r=_n(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function xn(e,t){return new Promise(((r,n)=>{try{const n=e();null==t||t(null,n),r(n)}catch(e){null==t||t(e),n(e)}}))}function kn(e,t,r){return Promise.all(e).then((e=>{var n;const o=null!==(n=null==r?void 0:r(e))&&void 0!==n?n:null;return null==t||t(null,o),Promise.resolve(o)}),(e=>(null==t||t(e),Promise.reject(e))))}const An={getItem:(e,t)=>xn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>xn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>xn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>xn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(Rn(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>xn((()=>window.localStorage.clear()),e),getAllKeys:e=>xn((()=>{const e=window.localStorage.length,t=[];for(let r=0;e>r;r+=1){const e=window.localStorage.key(r)||"";t.push(e)}return t}),e),flushGetRequests:()=>{},multiGet:(e,t)=>kn(e.map((e=>An.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>kn(e.map((e=>An.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>kn(e.map((e=>An.removeItem(e))),t),multiMerge:(e,t)=>kn(e.map((e=>An.mergeItem(e[0],e[1]))),t)};class Cn{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await An.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await An.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await An.removeItem(e)}}const Dn={key:"root",storage:{getItem:async(e,...t)=>await Cn.get(e),setItem:async(e,t,...r)=>Cn.set(e,t),removeItem:async(e,...t)=>Cn.remove(e)}},$n=ae({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Mt:e.stateReconciler,o=e.getStoredState||zt,i=void 0!==e.timeout?e.timeout:5e3,u=null,c=!1,a=!0,s=function(e){return e._persist.rehydrated&&u&&!a&&u.update(e),e};return function(f,l){var p=f||{},y=p._persist,d=Bt(p,["_persist"]);if(l.type===Dt){var b=!1,v=function(t,r){b||(l.rehydrate(e.key,t,r),b=!0)};if(i&&setTimeout((function(){!b&&v(void 0,Error('redux-persist: persist timed out for persist key "'.concat(e.key,'"')))}),i),a=!1,u||(u=Lt(e)),y)return qt({},t(d,l),{_persist:y});if("function"!=typeof l.rehydrate||"function"!=typeof l.register)throw Error("redux-persist: either rehydrate or register is not a function on the PERSIST action. This can happen if the action is being replayed. This is an unexplored use case, please open an issue and we will figure out a resolution.");return l.register(e.key),o(e).then((function(t){var n=e.migrate||function(e,t){return Promise.resolve(e)};n(t,r).then((function(e){v(e)}),(function(e){v(void 0,e)}))}),(function(e){v(void 0,e)})),qt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===$t)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:xt).concat(e.key);return t.removeItem(r,Jt)}(e)),qt({},t(d,l),{_persist:y});if(l.type===kt)return l.result(u&&u.flush()),qt({},t(d,l),{_persist:y});if(l.type===Ct)a=!0;else if(l.type===At){if(c)return qt({},d,{_persist:qt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=qt({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:qt({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(qt({},O,{_persist:y}))}}(Dn,he)}),In=function(e){var t,r=Rt(),n=e||{},o=n.reducer,i=void 0===o?void 0:o,u=n.middleware,c=void 0===u?r():u,a=n.devTools,s=void 0===a||a,f=n.preloadedState,l=void 0===f?void 0:f,p=n.enhancers,y=void 0===p?void 0:p;if("function"==typeof i)t=i;else{if(!function(e){if("object"!=typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var r=t;null!==Object.getPrototypeOf(r);)r=Object.getPrototypeOf(r);return t===r}(i))throw Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=ae(i)}var d=c;"function"==typeof d&&(d=d(r));var b=fe.apply(void 0,d),v=se;s&&(v=jt(function(e,t){for(var r in t||(t={}))St.call(t,r)&&Et(e,r,t[r]);if(wt)for(var n=0,o=wt(t);o.length>n;n++)Pt.call(t,r=o[n])&&Et(e,r,t[r]);return e}({trace:!1},"object"==typeof s&&s)));var h=[b];return Array.isArray(y)?h=gt([b],y):"function"==typeof y&&(h=y(h)),ce(t,l,v.apply(void 0,h))}({reducer:$n,middleware:[ht]}),Nn=In.dispatch,Tn=Er,Un=function(e,t,r){var n=r||!1,o=ce(Zt,Qt,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:It,key:e})},u=function(t,r,i){var u={type:At,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=Gt({},o,{purge:function(){var t=[];return e.dispatch({type:$t,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:kt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ct})},persist:function(){e.dispatch({type:Dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(In),Mn=()=>z.useContext(zn),Ln=z.createContext({}),Fn=e=>{const t=Mn(),r=Nn,[n,o]=z.useState(e.collections||[]),i={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(X(e,t.record));break;case"update":r(Y(e,t.record));break;case"delete":r(G(e,t.record))}})).then((async()=>{await Cn.set("a",JSON.stringify([...n,e]))})).catch((e=>{})))},unsubscribe:e=>{e?null==t||t.realtime.unsubscribe(e).then((async()=>{var t;const r=JSON.parse(null!=(t=await Cn.get("subscribed"))?t:JSON.stringify([]));await Cn.set("subscribed",JSON.stringify(r.filter((t=>t!==e))))})).catch((e=>{})):null==t||t.realtime.unsubscribe().then((async()=>{await Cn.set("subscribed",JSON.stringify([]))})).catch((e=>{}))},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200).catch((e=>{})));r(H(e,n))},create:async(e,r)=>{await(null==t?void 0:t.records.create(e,r).catch((e=>{})))},update:async(e,r,n)=>{await(null==t?void 0:t.records.update(e,r,n).catch((e=>{})))},delete:async(e,r)=>{await(null==t?void 0:t.records.delete(e,r).catch((e=>{})))}};return z.useEffect((()=>(n&&n.forEach((e=>{i.fetch(e),i.subscribe(e)})),()=>i.unsubscribe())),[n]),z.createElement(Ln.Provider,{value:{actions:i}},e.children)},zn=z.createContext(null),Vn=e=>z.createElement(zn.Provider,{value:e.client},e.children),Jn=z.createContext({}),Wn=e=>{const t=Mn(),[r,n]=z.useState(),o={registerWithEmail:async(e,r)=>{await(null==t?void 0:t.users.create({email:e,password:r,passwordConfirm:r}))},signInWithEmail:async(e,r)=>{await(null==t?void 0:t.users.authViaEmail(e,r))},signInWithProvider:async t=>{const n=null==r?void 0:r.find((e=>e.name===t)),o=(null==n?void 0:n.authUrl)+typeof document!="undefined"?e.webRedirectUrl:e.mobileRedirectUrl;await e.openURL(o),await Cn.set("provider",JSON.stringify(r))},submitProviderResult:async r=>{const n=new URLSearchParams(r.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await Cn.get("provider");if(u){const r=JSON.parse(u),n=null==r?void 0:r.find((e=>e.state===i));n&&o&&await(null==t?void 0:t.users.authViaOAuth2(n.name,o,n.codeVerifier,"undefined"!=typeof document?e.webRedirectUrl:e.mobileRedirectUrl))}},signOut:()=>{null==t||t.authStore.clear()},sendPasswordResetEmail:async e=>{await(null==t?void 0:t.users.requestPasswordReset(e))},sendEmailVerification:async e=>{await(null==t?void 0:t.users.requestVerification(e))},updateProfile:async(e,r)=>{await(null==t?void 0:t.records.update("profiles",e,r))},updateEmail:async e=>{await(null==t?void 0:t.users.requestEmailChange(e))},deleteUser:async e=>{await(null==t?void 0:t.users.delete(e))}};return z.useEffect((()=>{(async()=>{const e=await(null==t?void 0:t.users.listAuthMethods());n(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Jn.Provider,{value:o},e.children)};function qn(e){return qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qn(e)}function Kn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bn(e,t){for(var r=0;t.length>r;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Hn(e,t){return!t||"object"!==qn(t)&&"function"!=typeof t?Gn(e):t}function Xn(e){return Xn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},Xn(e)}function Gn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yn(e,t){return Yn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Yn(e,t)}function Qn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Zn=function(e){function t(){var e,r;Kn(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return Qn(Gn(r=Hn(this,(e=Xn(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),Qn(Gn(r),"_unsubscribe",void 0),Qn(Gn(r),"handlePersistorState",(function(){r.props.persistor.getState().bootstrapped&&(r.props.onBeforeLift?Promise.resolve(r.props.onBeforeLift()).finally((function(){return r.setState({bootstrapped:!0})})):r.setState({bootstrapped:!0}),r._unsubscribe&&r._unsubscribe())})),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yn(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this._unsubscribe=this.props.persistor.subscribe(this.handlePersistorState),this.handlePersistorState()}},{key:"componentWillUnmount",value:function(){this._unsubscribe&&this._unsubscribe()}},{key:"render",value:function(){return"function"==typeof this.props.children?this.props.children(this.state.bootstrapped):this.state.bootstrapped?this.props.children:this.props.loading}}])&&Bn(r.prototype,n),o&&Bn(r,o),t}(z.PureComponent);Qn(Zn,"defaultProps",{children:null,loading:null});const eo=z.createContext(null);e.ADD_RECORD=J,e.ADD_RECORDS=W,e.AuthContext=Jn,e.AuthProvider=Wn,e.ClientContext=zn,e.ClientProvider=Vn,e.ContentContext=Ln,e.ContentProvider=Fn,e.DELETE_RECORD=K,e.DELETE_RECORDS=B,e.Pocketbase=e=>{const t=new o.default(e.serverURL);return t?z.createElement(Vn,{client:t},z.createElement(vn,{store:In},z.createElement(Zn,{persistor:Un},z.createElement(Wn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Fn,{collections:e.initialCollections},e.children))))):null},e.PocketbaseContext=eo,e.SET_RECORDS=V,e.UPDATE_RECORD=q,e.appReducer=he,e.persistConfig=Dn,e.persistor=Un,e.recordsAction=Q,e.store=In,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=Tn((t=>t.reducer.records[e])))?r:[],o=z.useContext(Ln);z.useEffect((()=>{t&&o.actions.fetch(e)}),[e,t]);const[i,u]=z.useState(!1);async function c(){var t;const r=JSON.parse(null!=(t=await Cn.get("subscribed"))?t:JSON.stringify([]));u(r.includes(e))}return z.useEffect((()=>{(async()=>{await c()})()}),[]),{records:n,actions:{subscribe:async()=>{await o.actions.subscribe(e),await c()},unsubscribe:()=>{o.actions.unsubscribe(e),c()},fetch:async()=>await o.actions.fetch(e),create:async t=>await o.actions.create(e,t),update:async(t,r)=>await o.actions.update(e,t,r),delete:async t=>await o.actions.delete(e,t)},isSubscribed:i}},e.useAppDispatch=Nn,e.useAppSelector=Tn,e.useAuth=function(){return{actions:z.useContext(Jn)}},e.useClientContext=Mn,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -29,7 +29,7 @@ export interface AuthActions {
29
29
  updateEmail: UpdateEmailType;
30
30
  deleteUser: DeleteUserType;
31
31
  }
32
- export declare const AuthContext: React.Context<AuthActions | null>;
32
+ export declare const AuthContext: React.Context<AuthActions>;
33
33
  export declare type AuthProviderProps = {
34
34
  children: React.ReactNode;
35
35
  webRedirectUrl: string;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { createContext } from 'react';
3
3
  import { useClientContext } from '../hooks/useClientContext';
4
4
  import { StorageService } from '../service/Storage';
5
- export const AuthContext = createContext(null);
5
+ export const AuthContext = createContext({});
6
6
  export const AuthProvider = props => {
7
7
  const client = useClientContext();
8
8
  const [authProviders, setAuthProviders] = React.useState();
@@ -13,7 +13,10 @@ interface ContentActions {
13
13
  update: UpdateType;
14
14
  delete: DeleteType;
15
15
  }
16
- export declare const ContentContext: React.Context<ContentActions | null>;
16
+ interface ContentContext {
17
+ actions: ContentActions;
18
+ }
19
+ export declare const ContentContext: React.Context<ContentContext>;
17
20
  export declare type ContentProviderProps = {
18
21
  children: React.ReactNode;
19
22
  collections?: string[];
@@ -3,7 +3,8 @@ import * as React from 'react';
3
3
  import { createContext, useEffect } from 'react';
4
4
  import { useClientContext } from '../hooks/useClientContext';
5
5
  import { recordsAction } from '../store/actions';
6
- export const ContentContext = createContext(null);
6
+ import { StorageService } from '../service/Storage';
7
+ export const ContentContext = createContext({});
7
8
  export const ContentProvider = props => {
8
9
  const client = useClientContext();
9
10
  const dispatch = store.useAppDispatch;
@@ -24,15 +25,21 @@ export const ContentProvider = props => {
24
25
  default:
25
26
  break;
26
27
  }
28
+ }).then(async () => {
29
+ await StorageService.set("a", JSON.stringify([...collections, collectionName]));
27
30
  }).catch(_error => {}));
28
31
  },
29
32
  unsubscribe: collectionName => {
30
33
  if (collectionName) {
31
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).catch(_error => {});
32
- ;
34
+ client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
35
+ var _await$StorageService;
36
+ const subscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
37
+ await StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
38
+ }).catch(_error => {});
33
39
  } else {
34
- client == null ? void 0 : client.realtime.unsubscribe().catch(_error => {});
35
- ;
40
+ client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
41
+ await StorageService.set("subscribed", JSON.stringify([]));
42
+ }).catch(_error => {});
36
43
  }
37
44
  },
38
45
  fetch: async collectionName => {
@@ -59,6 +66,8 @@ export const ContentProvider = props => {
59
66
  return () => actions.unsubscribe();
60
67
  }, [collections]);
61
68
  return /*#__PURE__*/React.createElement(ContentContext.Provider, {
62
- value: actions
69
+ value: {
70
+ actions
71
+ }
63
72
  }, props.children);
64
73
  };
@@ -16,4 +16,5 @@ export interface Actions {
16
16
  export declare function useAppContent<T extends Record>(collectionName: string, initialFetch?: boolean): {
17
17
  records: T[];
18
18
  actions: Actions;
19
+ isSubscribed: boolean;
19
20
  };
@@ -1,25 +1,44 @@
1
- import { useContext, useEffect } from 'react';
1
+ import { useContext, useEffect, useState } from 'react';
2
2
  import * as store from '../store';
3
3
  import { ContentContext } from '../context';
4
+ import { StorageService } from '../service/Storage';
4
5
  export function useAppContent(collectionName, initialFetch = false) {
5
6
  var _store$useAppSelector;
6
7
  const records = (_store$useAppSelector = store.useAppSelector(state => state.reducer.records[collectionName])) != null ? _store$useAppSelector : [];
7
8
  const context = useContext(ContentContext);
8
9
  useEffect(() => {
9
10
  if (initialFetch) {
10
- context == null ? void 0 : context.fetch(collectionName);
11
+ context.actions.fetch(collectionName);
11
12
  }
12
13
  }, [collectionName, initialFetch]);
14
+ const [isSubscribed, setIsSubscribed] = useState(false);
15
+ async function refetchSubscribeState() {
16
+ var _await$StorageService;
17
+ const isSubscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
18
+ setIsSubscribed(isSubscribed.includes(collectionName));
19
+ }
20
+ useEffect(() => {
21
+ (async () => {
22
+ await refetchSubscribeState();
23
+ })();
24
+ }, []);
13
25
  const actions = {
14
- subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
15
- unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
16
- fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
17
- create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
18
- update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
19
- delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
26
+ subscribe: async () => {
27
+ await context.actions.subscribe(collectionName);
28
+ await refetchSubscribeState();
29
+ },
30
+ unsubscribe: () => {
31
+ context.actions.unsubscribe(collectionName);
32
+ refetchSubscribeState();
33
+ },
34
+ fetch: async () => await context.actions.fetch(collectionName),
35
+ create: async record => await context.actions.create(collectionName, record),
36
+ update: async (id, record) => await context.actions.update(collectionName, id, record),
37
+ delete: async id => await context.actions.delete(collectionName, id)
20
38
  };
21
39
  return {
22
40
  records,
23
- actions
41
+ actions,
42
+ isSubscribed
24
43
  };
25
44
  }
@@ -1,4 +1,4 @@
1
1
  import { AuthActions } from '../context/auth';
2
2
  export declare function useAuth(): {
3
- actions: AuthActions | null;
3
+ actions: AuthActions;
4
4
  };
@@ -7,7 +7,7 @@ var _useClientContext = require("../hooks/useClientContext");
7
7
  var _Storage = require("../service/Storage");
8
8
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
9
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
- const AuthContext = (0, React.createContext)(null);
10
+ const AuthContext = (0, React.createContext)({});
11
11
  exports.AuthContext = AuthContext;
12
12
  const AuthProvider = props => {
13
13
  const client = (0, _useClientContext.useClientContext)();
@@ -6,9 +6,10 @@ var store = _interopRequireWildcard(require("../store/store"));
6
6
  var React = _interopRequireWildcard(require("react"));
7
7
  var _useClientContext = require("../hooks/useClientContext");
8
8
  var _actions = require("../store/actions");
9
+ var _Storage = require("../service/Storage");
9
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
- const ContentContext = (0, React.createContext)(null);
12
+ const ContentContext = (0, React.createContext)({});
12
13
  exports.ContentContext = ContentContext;
13
14
  const ContentProvider = props => {
14
15
  const client = (0, _useClientContext.useClientContext)();
@@ -30,15 +31,21 @@ const ContentProvider = props => {
30
31
  default:
31
32
  break;
32
33
  }
34
+ }).then(async () => {
35
+ await _Storage.StorageService.set("a", JSON.stringify([...collections, collectionName]));
33
36
  }).catch(_error => {}));
34
37
  },
35
38
  unsubscribe: collectionName => {
36
39
  if (collectionName) {
37
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).catch(_error => {});
38
- ;
40
+ client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
41
+ var _await$StorageService;
42
+ const subscribed = JSON.parse((_await$StorageService = await _Storage.StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
43
+ await _Storage.StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
44
+ }).catch(_error => {});
39
45
  } else {
40
- client == null ? void 0 : client.realtime.unsubscribe().catch(_error => {});
41
- ;
46
+ client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
47
+ await _Storage.StorageService.set("subscribed", JSON.stringify([]));
48
+ }).catch(_error => {});
42
49
  }
43
50
  },
44
51
  fetch: async collectionName => {
@@ -65,7 +72,9 @@ const ContentProvider = props => {
65
72
  return () => actions.unsubscribe();
66
73
  }, [collections]);
67
74
  return /*#__PURE__*/React.createElement(ContentContext.Provider, {
68
- value: actions
75
+ value: {
76
+ actions
77
+ }
69
78
  }, props.children);
70
79
  };
71
80
  exports.ContentProvider = ContentProvider;
@@ -5,6 +5,7 @@ exports.useAppContent = useAppContent;
5
5
  var _react = require("react");
6
6
  var store = _interopRequireWildcard(require("../store"));
7
7
  var _context = require("../context");
8
+ var _Storage = require("../service/Storage");
8
9
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
10
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
11
  function useAppContent(collectionName, initialFetch = false) {
@@ -13,19 +14,37 @@ function useAppContent(collectionName, initialFetch = false) {
13
14
  const context = (0, _react.useContext)(_context.ContentContext);
14
15
  (0, _react.useEffect)(() => {
15
16
  if (initialFetch) {
16
- context == null ? void 0 : context.fetch(collectionName);
17
+ context.actions.fetch(collectionName);
17
18
  }
18
19
  }, [collectionName, initialFetch]);
20
+ const [isSubscribed, setIsSubscribed] = (0, _react.useState)(false);
21
+ async function refetchSubscribeState() {
22
+ var _await$StorageService;
23
+ const isSubscribed = JSON.parse((_await$StorageService = await _Storage.StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
24
+ setIsSubscribed(isSubscribed.includes(collectionName));
25
+ }
26
+ (0, _react.useEffect)(() => {
27
+ (async () => {
28
+ await refetchSubscribeState();
29
+ })();
30
+ }, []);
19
31
  const actions = {
20
- subscribe: async () => await (context == null ? void 0 : context.subscribe(collectionName)),
21
- unsubscribe: () => context == null ? void 0 : context.unsubscribe(collectionName),
22
- fetch: async () => await (context == null ? void 0 : context.fetch(collectionName)),
23
- create: async record => await (context == null ? void 0 : context.create(collectionName, record)),
24
- update: async (id, record) => await (context == null ? void 0 : context.update(collectionName, id, record)),
25
- delete: async id => await (context == null ? void 0 : context.delete(collectionName, id))
32
+ subscribe: async () => {
33
+ await context.actions.subscribe(collectionName);
34
+ await refetchSubscribeState();
35
+ },
36
+ unsubscribe: () => {
37
+ context.actions.unsubscribe(collectionName);
38
+ refetchSubscribeState();
39
+ },
40
+ fetch: async () => await context.actions.fetch(collectionName),
41
+ create: async record => await context.actions.create(collectionName, record),
42
+ update: async (id, record) => await context.actions.update(collectionName, id, record),
43
+ delete: async id => await context.actions.delete(collectionName, id)
26
44
  };
27
45
  return {
28
46
  records,
29
- actions
47
+ actions,
48
+ isSubscribed
30
49
  };
31
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pocketbase-react",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Unofficial React SDK (React, React Native, Expo) for interacting with the PocketBase JS SDK",
5
5
  "keywords": [
6
6
  "pocketbase",
@@ -37,7 +37,7 @@ export interface AuthActions {
37
37
  deleteUser: DeleteUserType;
38
38
  }
39
39
 
40
- export const AuthContext = createContext<AuthActions | null>(null);
40
+ export const AuthContext = createContext<AuthActions>({} as AuthActions);
41
41
 
42
42
  export type AuthProviderProps = {
43
43
  children: React.ReactNode;
@@ -4,6 +4,7 @@ import { createContext, useEffect } from 'react';
4
4
  import { useClientContext } from '../hooks/useClientContext';
5
5
  import { Record } from '../interfaces/Record';
6
6
  import { recordsAction } from '../store/actions';
7
+ import { StorageService } from '../service/Storage';
7
8
 
8
9
  type SubscribeType = (collectionName: string) => Promise<void>;
9
10
  type UnsubscribeType = (collectionName?: string) => void;
@@ -21,7 +22,11 @@ interface ContentActions {
21
22
  delete: DeleteType;
22
23
  }
23
24
 
24
- export const ContentContext = createContext<ContentActions | null>(null);
25
+ interface ContentContext {
26
+ actions: ContentActions;
27
+ }
28
+
29
+ export const ContentContext = createContext<ContentContext>({} as ContentContext);
25
30
 
26
31
  export type ContentProviderProps = {
27
32
  children: React.ReactNode;
@@ -38,6 +43,7 @@ export const ContentProvider = (props: ContentProviderProps) => {
38
43
  const dispatch = store.useAppDispatch;
39
44
  const [collections, _] = React.useState<string[]>(props.collections || []);
40
45
 
46
+
41
47
  const actions: ContentActions = {
42
48
  subscribe: async (collectionName: string) => {
43
49
  await client?.realtime.subscribe(collectionName, (event: MessageData) => {
@@ -54,13 +60,26 @@ export const ContentProvider = (props: ContentProviderProps) => {
54
60
  default:
55
61
  break;
56
62
  }
57
- }).catch((_error) => {});
63
+ })
64
+ .then(async () => {
65
+ await StorageService.set("a", JSON.stringify([...collections, collectionName]));
66
+ })
67
+ .catch((_error) => {});
58
68
  },
59
69
  unsubscribe: (collectionName?: string) => {
60
70
  if (collectionName) {
61
- client?.realtime.unsubscribe(collectionName).catch((_error) => {});;
71
+ client?.realtime.unsubscribe(collectionName)
72
+ .then(async () => {
73
+ const subscribed = JSON.parse(await StorageService.get("subscribed") ?? JSON.stringify([])) as string[];
74
+ await StorageService.set("subscribed", JSON.stringify(subscribed.filter((name) => name !== collectionName)));
75
+ })
76
+ .catch((_error) => {});
62
77
  } else {
63
- client?.realtime.unsubscribe().catch((_error) => {});;
78
+ client?.realtime.unsubscribe()
79
+ .then(async () => {
80
+ await StorageService.set("subscribed", JSON.stringify([]));
81
+ })
82
+ .catch((_error) => {});
64
83
  }
65
84
  },
66
85
  fetch: async (collectionName: string) => {
@@ -89,6 +108,8 @@ export const ContentProvider = (props: ContentProviderProps) => {
89
108
  }, [collections]);
90
109
 
91
110
  return (
92
- <ContentContext.Provider value={actions}>{props.children}</ContentContext.Provider>
111
+ <ContentContext.Provider value={{
112
+ actions,
113
+ }}>{props.children}</ContentContext.Provider>
93
114
  );
94
115
  };
@@ -1,7 +1,8 @@
1
- import { useContext, useEffect } from 'react';
1
+ import { useContext, useEffect, useState } from 'react';
2
2
  import * as store from '../store';
3
3
  import { ContentContext } from '../context';
4
4
  import { Record } from '../interfaces/Record';
5
+ import { StorageService } from '../service/Storage';
5
6
 
6
7
  export type SubscribeType = () => Promise<void | undefined>
7
8
  export type UnsubscribeType = () => void | undefined;
@@ -22,23 +23,43 @@ export interface Actions {
22
23
  export function useAppContent<T extends Record>(
23
24
  collectionName: string,
24
25
  initialFetch: boolean = false
25
- ): {records: T[], actions: Actions} {
26
+ ): {records: T[], actions: Actions, isSubscribed: boolean} {
26
27
  const records = (store.useAppSelector((state) => state.reducer.records[collectionName]) ?? []) as T[];
27
28
  const context = useContext(ContentContext);
28
29
 
29
30
  useEffect(() => {
30
31
  if (initialFetch) {
31
- context?.fetch(collectionName);
32
+ context.actions.fetch(collectionName);
32
33
  }
33
34
  }, [collectionName, initialFetch]);
34
35
 
36
+ const [isSubscribed, setIsSubscribed] = useState(false);
37
+
38
+ async function refetchSubscribeState() {
39
+ const isSubscribed = JSON.parse(await StorageService.get("subscribed") ?? JSON.stringify([])) as string[];
40
+ setIsSubscribed(isSubscribed.includes(collectionName));
41
+ }
42
+
43
+ useEffect(() => {
44
+ (async () => {
45
+ await refetchSubscribeState();
46
+ })();
47
+ }, [])
48
+
49
+
35
50
  const actions: Actions = {
36
- subscribe: async () => await context?.subscribe(collectionName),
37
- unsubscribe: () => context?.unsubscribe(collectionName),
38
- fetch: async () => await context?.fetch(collectionName),
39
- create: async (record: {}) => await context?.create(collectionName, record),
40
- update: async (id: string, record: {}) => await context?.update(collectionName, id, record),
41
- delete: async (id: string) => await context?.delete(collectionName, id),
51
+ subscribe: async () => {
52
+ await context.actions.subscribe(collectionName)
53
+ await refetchSubscribeState()
54
+ },
55
+ unsubscribe: () => {
56
+ context.actions.unsubscribe(collectionName)
57
+ refetchSubscribeState()
58
+ },
59
+ fetch: async () => await context.actions.fetch(collectionName),
60
+ create: async (record: {}) => await context.actions.create(collectionName, record),
61
+ update: async (id: string, record: {}) => await context.actions.update(collectionName, id, record),
62
+ delete: async (id: string) => await context.actions.delete(collectionName, id),
42
63
  };
43
- return { records, actions };
64
+ return { records, actions, isSubscribed };
44
65
  }
@@ -1,7 +1,7 @@
1
1
  import { useContext } from 'react';
2
2
  import { AuthActions, AuthContext } from '../context/auth';
3
3
 
4
- export function useAuth(): { actions: AuthActions | null } {
4
+ export function useAuth(): { actions: AuthActions } {
5
5
  const actions = useContext(AuthContext);
6
6
  return { actions };
7
7
  }