pocketbase-react 0.1.13 → 0.1.14

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.
@@ -5944,6 +5944,9 @@
5944
5944
  }
5945
5945
  }
5946
5946
  }
5947
+ StorageService.Constants = {
5948
+ SUBSCRIBED: "subscribed"
5949
+ };
5947
5950
 
5948
5951
  const CustomStorage = {
5949
5952
  getItem: async (key, ..._args) => {
@@ -5980,9 +5983,11 @@
5980
5983
  const ContentProvider = props => {
5981
5984
  const client = useClientContext();
5982
5985
  const dispatch = useAppDispatch;
5983
- const [collections, _] = react.useState(props.collections || []);
5984
5986
  const actions = {
5985
5987
  subscribe: async collectionName => {
5988
+ var _await$StorageService;
5989
+ const subscribedCollectionsString = (_await$StorageService = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
5990
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
5986
5991
  await (client == null ? void 0 : client.realtime.subscribe(collectionName, event => {
5987
5992
  switch (event.action) {
5988
5993
  case 'create':
@@ -5995,24 +6000,31 @@
5995
6000
  dispatch(deleteRecord$1(collectionName, event.record));
5996
6001
  break;
5997
6002
  }
5998
- }).then(async () => {
5999
- var _await$StorageService;
6000
- const subscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
6001
- await StorageService.set("subscribed", JSON.stringify([...subscribed, collectionName]));
6002
- }).catch(_error => {}));
6003
+ }).then(() => {
6004
+ if (!subscribedCollections.includes(collectionName)) {
6005
+ subscribedCollections.push(collectionName);
6006
+ }
6007
+ }).catch(_error => {
6008
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
6009
+ }));
6010
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
6003
6011
  },
6004
- unsubscribe: collectionName => {
6012
+ unsubscribe: async collectionName => {
6013
+ var _await$StorageService2;
6014
+ const subscribedCollectionsString = (_await$StorageService2 = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService2 : JSON.stringify([]);
6015
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
6005
6016
  if (collectionName) {
6006
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
6007
- var _await$StorageService2;
6008
- const subscribed = JSON.parse((_await$StorageService2 = await StorageService.get("subscribed")) != null ? _await$StorageService2 : JSON.stringify([]));
6009
- await StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
6010
- }).catch(_error => {});
6017
+ await (client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(() => {
6018
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
6019
+ }).catch(_error => {
6020
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
6021
+ }));
6011
6022
  } else {
6012
- client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
6013
- await StorageService.set("subscribed", JSON.stringify([]));
6014
- }).catch(_error => {});
6023
+ await (client == null ? void 0 : client.realtime.unsubscribe().then(() => {
6024
+ subscribedCollections = [];
6025
+ }).catch(_error => {}));
6015
6026
  }
6027
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
6016
6028
  },
6017
6029
  fetch: async collectionName => {
6018
6030
  const records = await (client == null ? void 0 : client.records.getFullList(collectionName, 200).catch(_error => {}));
@@ -6029,14 +6041,18 @@
6029
6041
  }
6030
6042
  };
6031
6043
  react.useEffect(() => {
6032
- if (collections) {
6033
- collections.forEach(collectionName => {
6034
- actions.fetch(collectionName);
6035
- actions.subscribe(collectionName);
6044
+ if (props.collections) {
6045
+ props.collections.forEach(async collectionName => {
6046
+ await actions.fetch(collectionName);
6047
+ await actions.subscribe(collectionName);
6036
6048
  });
6037
6049
  }
6038
- return () => actions.unsubscribe();
6039
- }, [collections]);
6050
+ return () => {
6051
+ (async () => {
6052
+ await actions.unsubscribe();
6053
+ })();
6054
+ };
6055
+ }, [props.collections]);
6040
6056
  return /*#__PURE__*/react.createElement(ContentContext.Provider, {
6041
6057
  value: {
6042
6058
  actions
@@ -6249,8 +6265,9 @@
6249
6265
  const [isSubscribed, setIsSubscribed] = react.useState(false);
6250
6266
  async function refetchSubscribeState() {
6251
6267
  var _await$StorageService;
6252
- const isSubscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
6253
- setIsSubscribed(isSubscribed.includes(collectionName));
6268
+ const subscribedCollectionsString = (_await$StorageService = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
6269
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
6270
+ setIsSubscribed(subscribedCollections.includes(collectionName));
6254
6271
  }
6255
6272
  react.useEffect(() => {
6256
6273
  (async () => {
@@ -6262,9 +6279,9 @@
6262
6279
  await context.actions.subscribe(collectionName);
6263
6280
  await refetchSubscribeState();
6264
6281
  },
6265
- unsubscribe: () => {
6282
+ unsubscribe: async () => {
6266
6283
  context.actions.unsubscribe(collectionName);
6267
- refetchSubscribeState();
6284
+ await refetchSubscribeState();
6268
6285
  },
6269
6286
  fetch: async () => await context.actions.fetch(collectionName),
6270
6287
  create: async record => await context.actions.create(collectionName, record),
@@ -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"),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();
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,S={};function w(e,t,r){this.props=e,this.context=t,this.refs=S,this.updater=r||g}function P(){}function E(e,t,r){this.props=e,this.context=t,this.refs=S,this.updater=r||g}w.prototype.isReactComponent={},w.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")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},P.prototype=w.prototype;var j=E.prototype=new P;j.constructor=E,O(j,w.prototype),j.isPureReactComponent=!0;var _=Array.isArray,R=Object.prototype.hasOwnProperty,x={current:null},C={key:!0,ref:!0,__self:!0,__source:!0};function k(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)&&!C.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 A(e){return"object"==typeof e&&null!==e&&e.$$typeof===c}var D=/\/+/g;function I(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 $(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?"."+I(u,0):n,_(o)?(r="",null!=e&&(r=e.replace(D,"$&/")+"/"),$(o,t,r,"",(function(e){return e}))):null!=o&&(A(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(i=e[s],s);u+=$(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.value,t,r,f=n+I(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 $(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 T={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(!A(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},F={Children:L,Component:w,Fragment:s,Profiler:l,PureComponent:E,StrictMode:f,Suspense:b,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentDispatcher:T,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)&&!C.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:k,createFactory:function(e){var t=k.bind(null,e);return t.type=e,t},createRef:function(){return{current:null}},forwardRef:function(e){return{$$typeof:d,render:e}},isValidElement:A,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 T.current.useCallback(e,t)},useContext:function(e){return T.current.useContext(e)},useDebugValue:function(){},useDeferredValue:function(e){return T.current.useDeferredValue(e)},useEffect:function(e,t){return T.current.useEffect(e,t)},useId:function(){return T.current.useId()},useImperativeHandle:function(e,t,r){return T.current.useImperativeHandle(e,t,r)},useInsertionEffect:function(e,t){return T.current.useInsertionEffect(e,t)},useLayoutEffect:function(e,t){return T.current.useLayoutEffect(e,t)},useMemo:function(e,t){return T.current.useMemo(e,t)},useReducer:function(e,t,r){return T.current.useReducer(e,t,r)},useRef:function(e){return T.current.useRef(e)},useState:function(e){return T.current.useState(e)},useSyncExternalStore:function(e,t,r){return T.current.useSyncExternalStore(e,t,r)},useTransition:function(){return T.current.useTransition()},version:"18.0.0-fc46dba67-20220329"},z=u((function(e){e.exports=F}));const V="SET_RECORDS",B="ADD_RECORD",J="ADD_RECORDS",W="UPDATE_RECORD",q="DELETE_RECORD",K="DELETE_RECORDS",H=(e,t)=>({type:V,key:e,payload:t}),X=(e,t)=>({type:B,key:e,payload:t}),G=(e,t)=>({type:q,key:e,payload:t}),Y=(e,t)=>({type:W,key:e,payload:t});var Q=Object.freeze({__proto__:null,setRecords:H,addRecord:X,addRecords:(e,t)=>({type:J,key:e,payload:t}),deleteRecord:G,deleteRecords:(e,t)=>({type:K,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 B:return le({},e,{[t.key]:pe(t.payload,n)});case J:return le({},e,{[t.key]:ye(t.payload,n)});case q:return le({},e,{[t.key]:be(t.payload,n)});case K:return le({},e,{[t.key]:ve(t.payload,n)});case W: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 Se(e,t,r){void 0===r&&(r=!1),0===we(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 we(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===we(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ee(e,t,r){var n=we(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 Ce(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 ke(e,t){return void 0===t&&(t=!1),De(e)||ge(e)||!Oe(e)||(we(e)>1&&(e.set=e.add=e.clear=e.delete=Ae),Object.freeze(e),t&&Se(e,(function(e,t){return ke(t,!0)}),!0)),e}function Ae(){me(2)}function De(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function Ie(e){var t=st[e];return t||me(18,e),t}function $e(){return Qe}function Ne(e,t){t&&(Ie("Patches"),e.u=[],e.s=[],e.v=t)}function Ue(e){Te(e),e.p.forEach(Le),e.p=null}function Te(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||Ie("ES5").S(t,e,n),n?(r[it].P&&(Ue(t),me(4)),Oe(e)&&(e=ze(t,e),t.l||Be(t,e)),t.u&&Ie("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 Se(t,(function(o,i){return Ve(e,n,t,o,i,r)}),!0),t;if(n.A!==e)return t;if(!n.P)return Be(e,n.t,!0),n.t;if(!n.I){n.I=!0,n.A._--;var o=4===n.i||5===n.i?n.o=Ce(n.k):n.o;Se(3===n.i?new Set(o):o,(function(t,i){return Ve(e,n,o,t,i,r)})),Be(e,o,!1),r&&e.u&&Ie("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||Be(e,o)}}function Be(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&ke(t,r)}function Je(e,t){var r=e[it];return(r?xe(r):e)[t]}function We(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 qe(e){e.P||(e.P=!0,e.l&&qe(e.l))}function Ke(e){e.o||(e.o=Ce(e.t))}function He(e,t,r){var n=_e(t)?Ie("MapSet").N(t,r):Re(t)?Ie("MapSet").T(t,r):e.g?function(e,t){var r=Array.isArray(e),n={i:r?1:0,A:t?t.A:$e(),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):Ie("ES5").J(t,r);return(r?r.A:$e()).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=we(t);if(n){if(!n.P&&(4>n.i||!Ie("ES5").K(n)))return n.t;n.I=!0,r=Ge(t,o),n.I=!1}else r=Ge(t,o);return Se(r,(function(t,o){n&&function(e,t){return 2===we(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 Ce(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=We(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===Je(e.t,t)?(Ke(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=We(xe(e),t);if(null==n?void 0:n.set)return n.set.call(e.k,r),!0;if(!e.P){var o=Je(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;Ke(e),qe(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!==Je(e.t,t)||t in e.t?(e.D[t]=!1,Ke(e),qe(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={};Se(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?Ue(c):Te(c)}return"undefined"!=typeof Promise&&u instanceof Promise?u.then((function(e){return Ne(c,n),Fe(e,c)}),(function(e){throw Ue(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&&ke(u,!0),n){var f=[],l=[];Ie("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,Te(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=Ie("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,St=Object.getOwnPropertySymbols,wt=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)&&qe(o);break;case 4:r(o)&&qe(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:$e(),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)Se(i,(function(t){t!==it&&(void 0!==o[t]||Pe(o,t)?u[t]||e(i[t]):(u[t]=!0,qe(r)))})),Se(o,(function(e){void 0!==i[e]||Pe(i,e)||(u[e]=!1,qe(r))}));else if(5===c){if(n(r)&&(qe(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:",Ct="persist/FLUSH",kt="persist/REHYDRATE",At="persist/PAUSE",Dt="persist/PERSIST",It="persist/PURGE",$t="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 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 Tt(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){Tt(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"===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 Bt(e){0}function Jt(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 Wt(e){for(var t=1;arguments.length>t;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jt(r,!0).forEach((function(t){qt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jt(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function qt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Kt(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 $t:return Gt({},e,{registry:[].concat(Ht(e.registry),[t.key])});case kt: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 Sr=()=>{throw Error("uSES not initialized!")};const wr=(e,t)=>e===t;function Pr(e=gr){const t=e===gr?Or:()=>z.useContext(e);return function(e,r=wr){const{store:n,subscription:o,getServerState:i}=t(),u=Sr(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,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};
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,Cr=jr?Symbol.for("react.strict_mode"):60108,kr=jr?Symbol.for("react.profiler"):60114,Ar=jr?Symbol.for("react.provider"):60109,Dr=jr?Symbol.for("react.context"):60110,Ir=jr?Symbol.for("react.async_mode"):60111,$r=jr?Symbol.for("react.concurrent_mode"):60111,Nr=jr?Symbol.for("react.forward_ref"):60112,Ur=jr?Symbol.for("react.suspense"):60113,Tr=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,Br=jr?Symbol.for("react.scope"):60119;function Jr(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case _r:switch(e=e.type){case Ir:case $r:case xr:case kr:case Cr:case Ur:return e;default:switch(e=e&&e.$$typeof){case Dr:case Nr:case Lr:case Mr:case Ar:return e;default:return t}}case Rr:return t}}}function Wr(e){return Jr(e)===$r}var qr={AsyncMode:Ir,ConcurrentMode:$r,ContextConsumer:Dr,ContextProvider:Ar,Element:_r,ForwardRef:Nr,Fragment:xr,Lazy:Lr,Memo:Mr,Portal:Rr,Profiler:kr,StrictMode:Cr,Suspense:Ur,isAsyncMode:function(e){return Wr(e)||Jr(e)===Ir},isConcurrentMode:Wr,isContextConsumer:function(e){return Jr(e)===Dr},isContextProvider:function(e){return Jr(e)===Ar},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===_r},isForwardRef:function(e){return Jr(e)===Nr},isFragment:function(e){return Jr(e)===xr},isLazy:function(e){return Jr(e)===Lr},isMemo:function(e){return Jr(e)===Mr},isPortal:function(e){return Jr(e)===Rr},isProfiler:function(e){return Jr(e)===kr},isStrictMode:function(e){return Jr(e)===Cr},isSuspense:function(e){return Jr(e)===Ur},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===xr||e===$r||e===kr||e===Cr||e===Ur||e===Tr||"object"==typeof e&&null!==e&&(e.$$typeof===Lr||e.$$typeof===Mr||e.$$typeof===Ar||e.$$typeof===Dr||e.$$typeof===Nr||e.$$typeof===zr||e.$$typeof===Vr||e.$$typeof===Br||e.$$typeof===Fr)},typeOf:Jr},Kr=u((function(e){e.exports=qr})),Hr={};Hr[Kr.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Hr[Kr.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"),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()=>{var t;const r=JSON.parse(null!=(t=await Cn.get("subscribed"))?t:JSON.stringify([]));await Cn.set("subscribed",JSON.stringify([...r,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})}));
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)}Sr=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}),Sn=i,wn={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(wn),this!==Sn&&this||{},wn);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 Cn(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 kn={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)=>Cn(e.map((e=>kn.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Cn(e.map((e=>kn.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Cn(e.map((e=>kn.removeItem(e))),t),multiMerge:(e,t)=>Cn(e.map((e=>kn.mergeItem(e[0],e[1]))),t)};class An{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await kn.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await kn.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await kn.removeItem(e)}}An.Constants={SUBSCRIBED:"subscribed"};const Dn={key:"root",storage:{getItem:async(e,...t)=>await An.get(e),setItem:async(e,t,...r)=>An.set(e,t),removeItem:async(e,...t)=>An.remove(e)}},In=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=Kt(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 Wt({},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)})),Wt({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===It)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,Bt)}(e)),Wt({},t(d,l),{_persist:y});if(l.type===Ct)return l.result(u&&u.flush()),Wt({},t(d,l),{_persist:y});if(l.type===At)a=!0;else if(l.type===kt){if(c)return Wt({},d,{_persist:Wt({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=Wt({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:Wt({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(Wt({},O,{_persist:y}))}}(Dn,he)}),$n=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={}))wt.call(t,r)&&Et(e,r,t[r]);if(St)for(var n=0,o=St(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:In,middleware:[ht]}),Nn=$n.dispatch,Un=Er,Tn=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:$t,key:e})},u=function(t,r,i){var u={type:kt,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:It,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:Ct,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:At})},persist:function(){e.dispatch({type:Dt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}($n),Mn=()=>z.useContext(zn),Ln=z.createContext({}),Fn=e=>{const t=Mn(),r=Nn,n={subscribe:async e=>{var n;const o=null!=(n=await An.get(An.Constants.SUBSCRIBED))?n:JSON.stringify([]);var i=JSON.parse(o);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((()=>{i.includes(e)||i.push(e)})).catch((t=>{i=i.filter((t=>t!==e))}))),await An.set(An.Constants.SUBSCRIBED,JSON.stringify(i))},unsubscribe:async e=>{var r;const n=null!=(r=await An.get(An.Constants.SUBSCRIBED))?r:JSON.stringify([]);var o=JSON.parse(n);e?await(null==t?void 0:t.realtime.unsubscribe(e).then((()=>{o=o.filter((t=>t!==e))})).catch((t=>{o=o.filter((t=>t!==e))}))):await(null==t?void 0:t.realtime.unsubscribe().then((()=>{o=[]})).catch((e=>{}))),await An.set(An.Constants.SUBSCRIBED,JSON.stringify(o))},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((()=>(e.collections&&e.collections.forEach((async e=>{await n.fetch(e),await n.subscribe(e)})),()=>{(async()=>{await n.unsubscribe()})()})),[e.collections]),z.createElement(Ln.Provider,{value:{actions:n}},e.children)},zn=z.createContext(null),Vn=e=>z.createElement(zn.Provider,{value:e.client},e.children),Bn=z.createContext({}),Jn=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 An.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 An.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(Bn.Provider,{value:o},e.children)};function Wn(e){return Wn="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},Wn(e)}function qn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kn(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"!==Wn(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;qn(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}}])&&Kn(r.prototype,n),o&&Kn(r,o),t}(z.PureComponent);Qn(Zn,"defaultProps",{children:null,loading:null});const eo=z.createContext(null);e.ADD_RECORD=B,e.ADD_RECORDS=J,e.AuthContext=Bn,e.AuthProvider=Jn,e.ClientContext=zn,e.ClientProvider=Vn,e.ContentContext=Ln,e.ContentProvider=Fn,e.DELETE_RECORD=q,e.DELETE_RECORDS=K,e.Pocketbase=e=>{const t=new o.default(e.serverURL);return t?z.createElement(Vn,{client:t},z.createElement(vn,{store:$n},z.createElement(Zn,{persistor:Tn},z.createElement(Jn,{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=W,e.appReducer=he,e.persistConfig=Dn,e.persistor=Tn,e.recordsAction=Q,e.store=$n,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=Un((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=null!=(t=await An.get(An.Constants.SUBSCRIBED))?t:JSON.stringify([]);var n=JSON.parse(r);u(n.includes(e))}return z.useEffect((()=>{(async()=>{await c()})()}),[]),{records:n,actions:{subscribe:async()=>{await o.actions.subscribe(e),await c()},unsubscribe:async()=>{o.actions.unsubscribe(e),await 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=Un,e.useAuth=function(){return{actions:z.useContext(Bn)}},e.useClientContext=Mn,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  declare type SubscribeType = (collectionName: string) => Promise<void>;
3
- declare type UnsubscribeType = (collectionName?: string) => void;
3
+ declare type UnsubscribeType = (collectionName?: string) => Promise<void>;
4
4
  declare type FetchType = (collectionName: string) => Promise<void>;
5
5
  declare type CreateType = (collectionName: string, record: {}) => Promise<void>;
6
6
  declare type UpdateType = (collectionName: string, recordId: string, record: {}) => Promise<void>;
@@ -8,9 +8,11 @@ export const ContentContext = createContext({});
8
8
  export const ContentProvider = props => {
9
9
  const client = useClientContext();
10
10
  const dispatch = store.useAppDispatch;
11
- const [collections, _] = React.useState(props.collections || []);
12
11
  const actions = {
13
12
  subscribe: async collectionName => {
13
+ var _await$StorageService;
14
+ const subscribedCollectionsString = (_await$StorageService = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
15
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
14
16
  await (client == null ? void 0 : client.realtime.subscribe(collectionName, event => {
15
17
  switch (event.action) {
16
18
  case 'create':
@@ -25,24 +27,31 @@ export const ContentProvider = props => {
25
27
  default:
26
28
  break;
27
29
  }
28
- }).then(async () => {
29
- var _await$StorageService;
30
- const subscribed = JSON.parse((_await$StorageService = await StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
31
- await StorageService.set("subscribed", JSON.stringify([...subscribed, collectionName]));
32
- }).catch(_error => {}));
30
+ }).then(() => {
31
+ if (!subscribedCollections.includes(collectionName)) {
32
+ subscribedCollections.push(collectionName);
33
+ }
34
+ }).catch(_error => {
35
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
36
+ }));
37
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
33
38
  },
34
- unsubscribe: collectionName => {
39
+ unsubscribe: async collectionName => {
40
+ var _await$StorageService2;
41
+ const subscribedCollectionsString = (_await$StorageService2 = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService2 : JSON.stringify([]);
42
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
35
43
  if (collectionName) {
36
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
37
- var _await$StorageService2;
38
- const subscribed = JSON.parse((_await$StorageService2 = await StorageService.get("subscribed")) != null ? _await$StorageService2 : JSON.stringify([]));
39
- await StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
40
- }).catch(_error => {});
44
+ await (client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(() => {
45
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
46
+ }).catch(_error => {
47
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
48
+ }));
41
49
  } else {
42
- client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
43
- await StorageService.set("subscribed", JSON.stringify([]));
44
- }).catch(_error => {});
50
+ await (client == null ? void 0 : client.realtime.unsubscribe().then(() => {
51
+ subscribedCollections = [];
52
+ }).catch(_error => {}));
45
53
  }
54
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
46
55
  },
47
56
  fetch: async collectionName => {
48
57
  const records = await (client == null ? void 0 : client.records.getFullList(collectionName, 200).catch(_error => {}));
@@ -59,14 +68,18 @@ export const ContentProvider = props => {
59
68
  }
60
69
  };
61
70
  useEffect(() => {
62
- if (collections) {
63
- collections.forEach(collectionName => {
64
- actions.fetch(collectionName);
65
- actions.subscribe(collectionName);
71
+ if (props.collections) {
72
+ props.collections.forEach(async collectionName => {
73
+ await actions.fetch(collectionName);
74
+ await actions.subscribe(collectionName);
66
75
  });
67
76
  }
68
- return () => actions.unsubscribe();
69
- }, [collections]);
77
+ return () => {
78
+ (async () => {
79
+ await actions.unsubscribe();
80
+ })();
81
+ };
82
+ }, [props.collections]);
70
83
  return /*#__PURE__*/React.createElement(ContentContext.Provider, {
71
84
  value: {
72
85
  actions
@@ -1,6 +1,6 @@
1
1
  import { Record } from '../interfaces/Record';
2
2
  export declare type SubscribeType = () => Promise<void | undefined>;
3
- export declare type UnsubscribeType = () => void | undefined;
3
+ export declare type UnsubscribeType = () => Promise<void | undefined>;
4
4
  export declare type FetchType = () => Promise<void | undefined>;
5
5
  export declare type CreateType = (record: {}) => Promise<void | undefined>;
6
6
  export declare type UpdateType = (id: string, record: {}) => Promise<void | undefined>;
@@ -14,8 +14,9 @@ export function useAppContent(collectionName, initialFetch = false) {
14
14
  const [isSubscribed, setIsSubscribed] = useState(false);
15
15
  async function refetchSubscribeState() {
16
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));
17
+ const subscribedCollectionsString = (_await$StorageService = await StorageService.get(StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
18
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
19
+ setIsSubscribed(subscribedCollections.includes(collectionName));
19
20
  }
20
21
  useEffect(() => {
21
22
  (async () => {
@@ -27,9 +28,9 @@ export function useAppContent(collectionName, initialFetch = false) {
27
28
  await context.actions.subscribe(collectionName);
28
29
  await refetchSubscribeState();
29
30
  },
30
- unsubscribe: () => {
31
+ unsubscribe: async () => {
31
32
  context.actions.unsubscribe(collectionName);
32
- refetchSubscribeState();
33
+ await refetchSubscribeState();
33
34
  },
34
35
  fetch: async () => await context.actions.fetch(collectionName),
35
36
  create: async record => await context.actions.create(collectionName, record),
@@ -1,4 +1,7 @@
1
1
  export declare class StorageService {
2
+ static Constants: {
3
+ SUBSCRIBED: string;
4
+ };
2
5
  static get(key: string): Promise<string | null>;
3
6
  static set(key: string, value: string): Promise<void>;
4
7
  static remove(key: string): Promise<void>;
@@ -17,4 +17,7 @@ export class StorageService {
17
17
  return await AsyncStorage.removeItem(key);
18
18
  }
19
19
  }
20
- }
20
+ }
21
+ StorageService.Constants = {
22
+ SUBSCRIBED: "subscribed"
23
+ };
@@ -14,9 +14,11 @@ exports.ContentContext = ContentContext;
14
14
  const ContentProvider = props => {
15
15
  const client = (0, _useClientContext.useClientContext)();
16
16
  const dispatch = store.useAppDispatch;
17
- const [collections, _] = React.useState(props.collections || []);
18
17
  const actions = {
19
18
  subscribe: async collectionName => {
19
+ var _await$StorageService;
20
+ const subscribedCollectionsString = (_await$StorageService = await _Storage.StorageService.get(_Storage.StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
21
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
20
22
  await (client == null ? void 0 : client.realtime.subscribe(collectionName, event => {
21
23
  switch (event.action) {
22
24
  case 'create':
@@ -31,24 +33,31 @@ const ContentProvider = props => {
31
33
  default:
32
34
  break;
33
35
  }
34
- }).then(async () => {
35
- var _await$StorageService;
36
- const subscribed = JSON.parse((_await$StorageService = await _Storage.StorageService.get("subscribed")) != null ? _await$StorageService : JSON.stringify([]));
37
- await _Storage.StorageService.set("subscribed", JSON.stringify([...subscribed, collectionName]));
38
- }).catch(_error => {}));
36
+ }).then(() => {
37
+ if (!subscribedCollections.includes(collectionName)) {
38
+ subscribedCollections.push(collectionName);
39
+ }
40
+ }).catch(_error => {
41
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
42
+ }));
43
+ await _Storage.StorageService.set(_Storage.StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
39
44
  },
40
- unsubscribe: collectionName => {
45
+ unsubscribe: async collectionName => {
46
+ var _await$StorageService2;
47
+ const subscribedCollectionsString = (_await$StorageService2 = await _Storage.StorageService.get(_Storage.StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService2 : JSON.stringify([]);
48
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
41
49
  if (collectionName) {
42
- client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(async () => {
43
- var _await$StorageService2;
44
- const subscribed = JSON.parse((_await$StorageService2 = await _Storage.StorageService.get("subscribed")) != null ? _await$StorageService2 : JSON.stringify([]));
45
- await _Storage.StorageService.set("subscribed", JSON.stringify(subscribed.filter(name => name !== collectionName)));
46
- }).catch(_error => {});
50
+ await (client == null ? void 0 : client.realtime.unsubscribe(collectionName).then(() => {
51
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
52
+ }).catch(_error => {
53
+ subscribedCollections = subscribedCollections.filter(collection => collection !== collectionName);
54
+ }));
47
55
  } else {
48
- client == null ? void 0 : client.realtime.unsubscribe().then(async () => {
49
- await _Storage.StorageService.set("subscribed", JSON.stringify([]));
50
- }).catch(_error => {});
56
+ await (client == null ? void 0 : client.realtime.unsubscribe().then(() => {
57
+ subscribedCollections = [];
58
+ }).catch(_error => {}));
51
59
  }
60
+ await _Storage.StorageService.set(_Storage.StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
52
61
  },
53
62
  fetch: async collectionName => {
54
63
  const records = await (client == null ? void 0 : client.records.getFullList(collectionName, 200).catch(_error => {}));
@@ -65,14 +74,18 @@ const ContentProvider = props => {
65
74
  }
66
75
  };
67
76
  (0, React.useEffect)(() => {
68
- if (collections) {
69
- collections.forEach(collectionName => {
70
- actions.fetch(collectionName);
71
- actions.subscribe(collectionName);
77
+ if (props.collections) {
78
+ props.collections.forEach(async collectionName => {
79
+ await actions.fetch(collectionName);
80
+ await actions.subscribe(collectionName);
72
81
  });
73
82
  }
74
- return () => actions.unsubscribe();
75
- }, [collections]);
83
+ return () => {
84
+ (async () => {
85
+ await actions.unsubscribe();
86
+ })();
87
+ };
88
+ }, [props.collections]);
76
89
  return /*#__PURE__*/React.createElement(ContentContext.Provider, {
77
90
  value: {
78
91
  actions
@@ -20,8 +20,9 @@ function useAppContent(collectionName, initialFetch = false) {
20
20
  const [isSubscribed, setIsSubscribed] = (0, _react.useState)(false);
21
21
  async function refetchSubscribeState() {
22
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));
23
+ const subscribedCollectionsString = (_await$StorageService = await _Storage.StorageService.get(_Storage.StorageService.Constants.SUBSCRIBED)) != null ? _await$StorageService : JSON.stringify([]);
24
+ var subscribedCollections = JSON.parse(subscribedCollectionsString);
25
+ setIsSubscribed(subscribedCollections.includes(collectionName));
25
26
  }
26
27
  (0, _react.useEffect)(() => {
27
28
  (async () => {
@@ -33,9 +34,9 @@ function useAppContent(collectionName, initialFetch = false) {
33
34
  await context.actions.subscribe(collectionName);
34
35
  await refetchSubscribeState();
35
36
  },
36
- unsubscribe: () => {
37
+ unsubscribe: async () => {
37
38
  context.actions.unsubscribe(collectionName);
38
- refetchSubscribeState();
39
+ await refetchSubscribeState();
39
40
  },
40
41
  fetch: async () => await context.actions.fetch(collectionName),
41
42
  create: async record => await context.actions.create(collectionName, record),
@@ -23,4 +23,7 @@ class StorageService {
23
23
  }
24
24
  }
25
25
  }
26
- exports.StorageService = StorageService;
26
+ exports.StorageService = StorageService;
27
+ StorageService.Constants = {
28
+ SUBSCRIBED: "subscribed"
29
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pocketbase-react",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Unofficial React SDK (React, React Native, Expo) for interacting with the PocketBase JS SDK",
5
5
  "keywords": [
6
6
  "pocketbase",
@@ -7,7 +7,7 @@ import { recordsAction } from '../store/actions';
7
7
  import { StorageService } from '../service/Storage';
8
8
 
9
9
  type SubscribeType = (collectionName: string) => Promise<void>;
10
- type UnsubscribeType = (collectionName?: string) => void;
10
+ type UnsubscribeType = (collectionName?: string) => Promise<void>;
11
11
  type FetchType = (collectionName: string) => Promise<void>;
12
12
  type CreateType = (collectionName: string, record: {}) => Promise<void>;
13
13
  type UpdateType = (collectionName: string, recordId: string, record: {}) => Promise<void>;
@@ -41,11 +41,12 @@ interface MessageData {
41
41
  export const ContentProvider = (props: ContentProviderProps) => {
42
42
  const client = useClientContext();
43
43
  const dispatch = store.useAppDispatch;
44
- const [collections, _] = React.useState<string[]>(props.collections || []);
45
-
46
44
 
47
45
  const actions: ContentActions = {
48
46
  subscribe: async (collectionName: string) => {
47
+ const subscribedCollectionsString = await StorageService.get(StorageService.Constants.SUBSCRIBED) ?? JSON.stringify([]);
48
+ var subscribedCollections = JSON.parse(subscribedCollectionsString) as string[];
49
+
49
50
  await client?.realtime.subscribe(collectionName, (event: MessageData) => {
50
51
  switch (event.action) {
51
52
  case 'create':
@@ -61,27 +62,38 @@ export const ContentProvider = (props: ContentProviderProps) => {
61
62
  break;
62
63
  }
63
64
  })
64
- .then(async () => {
65
- const subscribed = JSON.parse(await StorageService.get("subscribed") ?? JSON.stringify([])) as string[];
66
- await StorageService.set("subscribed", JSON.stringify([...subscribed, collectionName]));
65
+ .then(() => {
66
+ if (!subscribedCollections.includes(collectionName)) {
67
+ subscribedCollections.push(collectionName);
68
+ }
67
69
  })
68
- .catch((_error) => {});
70
+ .catch((_error) => {
71
+ subscribedCollections = subscribedCollections.filter((collection) => collection !== collectionName);
72
+ });
73
+
74
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
69
75
  },
70
- unsubscribe: (collectionName?: string) => {
76
+ unsubscribe: async (collectionName?: string) => {
77
+ const subscribedCollectionsString = await StorageService.get(StorageService.Constants.SUBSCRIBED) ?? JSON.stringify([]);
78
+ var subscribedCollections = JSON.parse(subscribedCollectionsString) as string[];
79
+
71
80
  if (collectionName) {
72
- client?.realtime.unsubscribe(collectionName)
73
- .then(async () => {
74
- const subscribed = JSON.parse(await StorageService.get("subscribed") ?? JSON.stringify([])) as string[];
75
- await StorageService.set("subscribed", JSON.stringify(subscribed.filter((name) => name !== collectionName)));
81
+ await client?.realtime.unsubscribe(collectionName)
82
+ .then(() => {
83
+ subscribedCollections = subscribedCollections.filter((collection) => collection !== collectionName);
76
84
  })
77
- .catch((_error) => {});
85
+ .catch((_error) => {
86
+ subscribedCollections = subscribedCollections.filter((collection) => collection !== collectionName);
87
+ });
78
88
  } else {
79
- client?.realtime.unsubscribe()
80
- .then(async () => {
81
- await StorageService.set("subscribed", JSON.stringify([]));
89
+ await client?.realtime.unsubscribe()
90
+ .then(() => {
91
+ subscribedCollections = [];
82
92
  })
83
93
  .catch((_error) => {});
84
94
  }
95
+
96
+ await StorageService.set(StorageService.Constants.SUBSCRIBED, JSON.stringify(subscribedCollections));
85
97
  },
86
98
  fetch: async (collectionName: string) => {
87
99
  const records = await client?.records.getFullList(collectionName, 200).catch((_error) => {});
@@ -99,14 +111,18 @@ export const ContentProvider = (props: ContentProviderProps) => {
99
111
  };
100
112
 
101
113
  useEffect(() => {
102
- if (collections) {
103
- collections.forEach((collectionName) => {
104
- actions.fetch(collectionName);
105
- actions.subscribe(collectionName);
114
+ if (props.collections) {
115
+ props.collections.forEach(async (collectionName) => {
116
+ await actions.fetch(collectionName);
117
+ await actions.subscribe(collectionName);
106
118
  });
107
119
  }
108
- return () => actions.unsubscribe();
109
- }, [collections]);
120
+ return () => {
121
+ (async () => {
122
+ await actions.unsubscribe();
123
+ })();
124
+ };
125
+ }, [props.collections]);
110
126
 
111
127
  return (
112
128
  <ContentContext.Provider value={{
@@ -5,7 +5,7 @@ import { Record } from '../interfaces/Record';
5
5
  import { StorageService } from '../service/Storage';
6
6
 
7
7
  export type SubscribeType = () => Promise<void | undefined>
8
- export type UnsubscribeType = () => void | undefined;
8
+ export type UnsubscribeType = () => Promise<void | undefined>;
9
9
  export type FetchType = () => Promise<void | undefined>
10
10
  export type CreateType = (record: {}) => Promise<void | undefined>
11
11
  export type UpdateType = (id: string, record: {}) => Promise<void | undefined>
@@ -36,8 +36,9 @@ export function useAppContent<T extends Record>(
36
36
  const [isSubscribed, setIsSubscribed] = useState(false);
37
37
 
38
38
  async function refetchSubscribeState() {
39
- const isSubscribed = JSON.parse(await StorageService.get("subscribed") ?? JSON.stringify([])) as string[];
40
- setIsSubscribed(isSubscribed.includes(collectionName));
39
+ const subscribedCollectionsString = await StorageService.get(StorageService.Constants.SUBSCRIBED) ?? JSON.stringify([]);
40
+ var subscribedCollections = JSON.parse(subscribedCollectionsString) as string[];
41
+ setIsSubscribed(subscribedCollections.includes(collectionName));
41
42
  }
42
43
 
43
44
  useEffect(() => {
@@ -52,9 +53,9 @@ export function useAppContent<T extends Record>(
52
53
  await context.actions.subscribe(collectionName)
53
54
  await refetchSubscribeState()
54
55
  },
55
- unsubscribe: () => {
56
+ unsubscribe: async () => {
56
57
  context.actions.unsubscribe(collectionName)
57
- refetchSubscribeState()
58
+ await refetchSubscribeState()
58
59
  },
59
60
  fetch: async () => await context.actions.fetch(collectionName),
60
61
  create: async (record: {}) => await context.actions.create(collectionName, record),
@@ -1,6 +1,11 @@
1
1
  import AsyncStorage from "@react-native-async-storage/async-storage";
2
2
 
3
3
  export class StorageService {
4
+
5
+ static Constants = {
6
+ SUBSCRIBED: "subscribed",
7
+ }
8
+
4
9
  static async get(key: string): Promise<string | null> {
5
10
  return typeof document !== 'undefined' ? localStorage.getItem(key) : await AsyncStorage.getItem(key);
6
11
  }