pocketbase-react 0.1.16 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pocketbase-react.js
CHANGED
|
@@ -6109,8 +6109,9 @@
|
|
|
6109
6109
|
|
|
6110
6110
|
const AuthContext = react.createContext({});
|
|
6111
6111
|
const AuthProvider = props => {
|
|
6112
|
-
var _client$authStore$mod;
|
|
6113
6112
|
const client = useClientContext();
|
|
6113
|
+
const [isSignedIn, setIsSignedIn] = react.useState(false);
|
|
6114
|
+
const [user, setUser] = react.useState(null);
|
|
6114
6115
|
const [authProviders, setAuthProviders] = react.useState();
|
|
6115
6116
|
const actions = {
|
|
6116
6117
|
registerWithEmail: async (email, password) => {
|
|
@@ -6166,12 +6167,16 @@
|
|
|
6166
6167
|
const methods = await (client == null ? void 0 : client.users.listAuthMethods());
|
|
6167
6168
|
setAuthProviders(methods == null ? void 0 : methods.authProviders);
|
|
6168
6169
|
})();
|
|
6170
|
+
client == null ? void 0 : client.authStore.onChange(() => {
|
|
6171
|
+
setIsSignedIn((client == null ? void 0 : client.authStore.isValid) || false);
|
|
6172
|
+
setUser(client == null ? void 0 : client.authStore.model);
|
|
6173
|
+
});
|
|
6169
6174
|
}, [props.webRedirectUrl, props.mobileRedirectUrl]);
|
|
6170
6175
|
return /*#__PURE__*/react.createElement(AuthContext.Provider, {
|
|
6171
6176
|
value: {
|
|
6172
6177
|
actions: actions,
|
|
6173
|
-
isSignedIn:
|
|
6174
|
-
user:
|
|
6178
|
+
isSignedIn: isSignedIn,
|
|
6179
|
+
user: user
|
|
6175
6180
|
}
|
|
6176
6181
|
}, props.children);
|
|
6177
6182
|
};
|
|
@@ -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 on,un=Symbol.for("react.element"),cn=Symbol.for("react.portal"),an=Symbol.for("react.fragment"),sn=Symbol.for("react.strict_mode"),fn=Symbol.for("react.profiler"),ln=Symbol.for("react.provider"),pn=Symbol.for("react.context"),yn=Symbol.for("react.server_context"),dn=Symbol.for("react.forward_ref"),bn=Symbol.for("react.suspense"),vn=Symbol.for("react.suspense_list"),hn=Symbol.for("react.memo"),mn=Symbol.for("react.lazy"),gn=Symbol.for("react.offscreen");function On(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case un:switch(e=e.type){case an:case fn:case sn:case bn:case vn:return e;default:switch(e=e&&e.$$typeof){case yn:case pn:case dn:case mn:case hn:case ln:return e;default:return t}}case cn:return t}}}on=Symbol.for("react.module.reference");var Sn={ContextConsumer:pn,ContextProvider:ln,Element:un,ForwardRef:dn,Fragment:an,Lazy:mn,Memo:hn,Portal:cn,Profiler:fn,StrictMode:sn,Suspense:bn,SuspenseList:vn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return On(e)===pn},isContextProvider:function(e){return On(e)===ln},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===un},isForwardRef:function(e){return On(e)===dn},isFragment:function(e){return On(e)===an},isLazy:function(e){return On(e)===mn},isMemo:function(e){return On(e)===hn},isPortal:function(e){return On(e)===cn},isProfiler:function(e){return On(e)===fn},isStrictMode:function(e){return On(e)===sn},isSuspense:function(e){return On(e)===bn},isSuspenseList:function(e){return On(e)===vn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===an||e===fn||e===sn||e===bn||e===vn||e===gn||"object"==typeof e&&null!==e&&(e.$$typeof===mn||e.$$typeof===hn||e.$$typeof===ln||e.$$typeof===pn||e.$$typeof===dn||e.$$typeof===on||void 0!==e.getModuleId)},typeOf:On};u((function(e){e.exports=Sn}));const wn={notify(){},get:()=>[]};function Pn(e,t){let r,n=wn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=Rr();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=wn)},getListeners:()=>n};return u}const En=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function jn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=Pn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);En((()=>{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||xr).Provider,{value:o},r)}Cr=jr.useSyncExternalStoreWithSelector,_r=t.unstable_batchedUpdates;var _n=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:Rn}=Object.prototype,{propertyIsEnumerable:xn}=Object,kn=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Cn=i,An={concatArrays:!1,ignoreUndefined:!1},Dn=e=>{const t=[];for(const r in e)Rn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)xn.call(e,n)&&t.push(n)}return t};function In(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Dn(e).forEach((r=>{kn(t,r,In(e[r]))})),t}(e):_n(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Dn(e).forEach((r=>{kn(t,r,In(e[r]))})),t}(e):e}const $n=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||kn(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?Tn(e[r],t[r],n):In(t[r]))})),e);function Tn(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++)Rn.call(t,r)&&(i.push(r+""),kn(n,o++,t===e?t[r]:In(t[r])));n=$n(n,t,Dn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):_n(t)&&_n(e)?$n(e,t,Dn(t),r):In(t)}const Un=function(...e){const t=Tn(In(An),this!==Cn&&this||{},An);let r={_:{}};for(const n of e)if(void 0!==n){if(!_n(n))throw new TypeError("`"+n+"` is not an Option Object");r=Tn(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function Nn(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 Mn(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 Ln={getItem:(e,t)=>Nn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>Nn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>Nn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>Nn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(Un(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>Nn((()=>window.localStorage.clear()),e),getAllKeys:e=>Nn((()=>{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)=>Mn(e.map((e=>Ln.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Mn(e.map((e=>Ln.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Mn(e.map((e=>Ln.removeItem(e))),t),multiMerge:(e,t)=>Mn(e.map((e=>Ln.mergeItem(e[0],e[1]))),t)};class Fn{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await Ln.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await Ln.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await Ln.removeItem(e)}}Fn.Constants={SUBSCRIBED:"subscribed"};const zn={key:"root",storage:{getItem:async(e,...t)=>await Fn.get(e),setItem:async(e,t,...r)=>await Fn.set(e,t),removeItem:async(e,...t)=>await Fn.remove(e)}},Vn=be({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Jt:e.stateReconciler,o=e.getStoredState||Gt,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=rr(p,["_persist"]);if(l.type===zt){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=Ht(e)),y)return er({},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)})),er({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===Vt)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:Nt).concat(e.key);return t.removeItem(r,Qt)}(e)),er({},t(d,l),{_persist:y});if(l.type===Mt)return l.result(u&&u.flush()),er({},t(d,l),{_persist:y});if(l.type===Ft)a=!0;else if(l.type===Lt){if(c)return er({},d,{_persist:er({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=er({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:er({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(er({},O,{_persist:y}))}}(zn,_e)}),Bn=function(e){var t,r=Ut(),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=be(i)}var d=c;"function"==typeof d&&(d=d(r));var b=he.apply(void 0,d),v=ve;s&&(v=$t(function(e,t){for(var r in t||(t={}))At.call(t,r)&&It(e,r,t[r]);if(Ct)for(var n=0,o=Ct(t);o.length>n;n++)Dt.call(t,r=o[n])&&It(e,r,t[r]);return e}({trace:!1},"object"==typeof s&&s)));var h=[b];return Array.isArray(y)?h=xt([b],y):"function"==typeof y&&(h=y(h)),de(t,l,v.apply(void 0,h))}({reducer:Vn,middleware:[_t]}),Wn=Bn.dispatch,qn=Ir,Kn=function(e,t,r){var n=r||!1,o=de(ar,cr,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:Bt,key:e})},u=function(t,r,i){var u={type:Lt,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=ir({},o,{purge:function(){var t=[];return e.dispatch({type:Vt,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:Mt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ft})},persist:function(){e.dispatch({type:zt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(Bn),Jn=()=>z.useContext(Gn),Hn=z.createContext({}),Xn=e=>{const t=Jn(),r=Wn,n={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(Q(e,t.record));break;case"update":r(ee(e,t.record));break;case"delete":r(Z(e,t.record))}})).then((()=>{r(ne(e))})).catch((t=>{r(oe(e))})))},unsubscribe:async e=>{e?await(null==t?void 0:t.realtime.unsubscribe(e).then((()=>{r(oe(e))})).catch((e=>{}))):await(null==t?void 0:t.realtime.unsubscribe().then((()=>{r(re([]))})).catch((e=>{})))},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200).catch((e=>{})));r(Y(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(Hn.Provider,{value:n},e.children)},Gn=z.createContext(null),Yn=e=>z.createElement(Gn.Provider,{value:e.client},e.children),Qn=z.createContext({}),Zn=e=>{var t;const r=Jn(),[n,o]=z.useState(),i={registerWithEmail:async(e,t)=>{await(null==r?void 0:r.users.create({email:e,password:t,passwordConfirm:t}))},signInWithEmail:async(e,t)=>{await(null==r?void 0:r.users.authViaEmail(e,t))},signInWithProvider:async t=>{const r=null==n?void 0:n.find((e=>e.name===t)),o=(null==r?void 0:r.authUrl)+typeof document!="undefined"?e.webRedirectUrl:e.mobileRedirectUrl;await e.openURL(o),await Fn.set("provider",JSON.stringify(n))},submitProviderResult:async t=>{const n=new URLSearchParams(t.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await Fn.get("provider");if(u){const t=JSON.parse(u),n=null==t?void 0:t.find((e=>e.state===i));n&&o&&await(null==r?void 0:r.users.authViaOAuth2(n.name,o,n.codeVerifier,"undefined"!=typeof document?e.webRedirectUrl:e.mobileRedirectUrl))}},signOut:()=>{null==r||r.authStore.clear()},sendPasswordResetEmail:async e=>{await(null==r?void 0:r.users.requestPasswordReset(e))},sendEmailVerification:async e=>{await(null==r?void 0:r.users.requestVerification(e))},updateProfile:async(e,t)=>{await(null==r?void 0:r.records.update("profiles",e,t))},updateEmail:async e=>{await(null==r?void 0:r.users.requestEmailChange(e))},deleteUser:async e=>{await(null==r?void 0:r.users.delete(e))}};return z.useEffect((()=>{(async()=>{const e=await(null==r?void 0:r.users.listAuthMethods());o(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Qn.Provider,{value:{actions:i,isSignedIn:(null==r?void 0:r.authStore.isValid)||!1,user:null!=(t=null==r?void 0:r.authStore.model)?t:null}},e.children)};function eo(e){return eo="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},eo(e)}function to(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ro(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 no(e,t){return!t||"object"!==eo(t)&&"function"!=typeof t?io(e):t}function oo(e){return oo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},oo(e)}function io(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uo(e,t){return uo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},uo(e,t)}function co(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ao=function(e){function t(){var e,r;to(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return co(io(r=no(this,(e=oo(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),co(io(r),"_unsubscribe",void 0),co(io(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&&uo(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}}])&&ro(r.prototype,n),o&&ro(r,o),t}(z.PureComponent);co(ao,"defaultProps",{children:null,loading:null});const so=z.createContext(null);e.ADD_RECORD=B,e.ADD_RECORDS=W,e.ADD_SUBSCRIPTION=X,e.AuthContext=Qn,e.AuthProvider=Zn,e.ClientContext=Gn,e.ClientProvider=Yn,e.ContentContext=Hn,e.ContentProvider=Xn,e.DELETE_RECORD=K,e.DELETE_RECORDS=J,e.DELETE_SUBSCRIPTION=G,e.Pocketbase=e=>{const t=new o.default(e.serverURL);return t?z.createElement(Yn,{client:t},z.createElement(jn,{store:Bn},z.createElement(ao,{persistor:Kn},z.createElement(Zn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Xn,{collections:e.initialCollections},e.children))))):null},e.PocketbaseContext=so,e.SET_RECORDS=V,e.SET_SUBSCRIPTIONS=H,e.UPDATE_RECORD=q,e.appReducer=_e,e.persistConfig=zn,e.persistor=Kn,e.recordsAction=te,e.store=Bn,e.subscriptionsAction=ie,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=qn((t=>t.reducer.records[e])))?r:[],o=qn((e=>e.reducer.subscriptions)).subscriptions,i=z.useContext(Hn);z.useEffect((()=>{t&&i.fetch(e)}),[e,t]);const[u,c]=z.useState(!1);return z.useEffect((()=>{c(o.includes(e))}),[o]),{records:n,actions:{subscribe:async()=>await i.subscribe(e),unsubscribe:async()=>await i.unsubscribe(e),fetch:async()=>await i.fetch(e),create:async t=>await i.create(e,t),update:async(t,r)=>await i.update(e,t,r),delete:async t=>await i.delete(e,t)},isSubscribed:u}},e.useAppDispatch=Wn,e.useAppSelector=qn,e.useAuth=function(){return z.useContext(Qn)},e.useClientContext=Jn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
28
|
+
var on,un=Symbol.for("react.element"),cn=Symbol.for("react.portal"),an=Symbol.for("react.fragment"),sn=Symbol.for("react.strict_mode"),fn=Symbol.for("react.profiler"),ln=Symbol.for("react.provider"),pn=Symbol.for("react.context"),yn=Symbol.for("react.server_context"),dn=Symbol.for("react.forward_ref"),bn=Symbol.for("react.suspense"),vn=Symbol.for("react.suspense_list"),hn=Symbol.for("react.memo"),mn=Symbol.for("react.lazy"),gn=Symbol.for("react.offscreen");function On(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case un:switch(e=e.type){case an:case fn:case sn:case bn:case vn:return e;default:switch(e=e&&e.$$typeof){case yn:case pn:case dn:case mn:case hn:case ln:return e;default:return t}}case cn:return t}}}on=Symbol.for("react.module.reference");var Sn={ContextConsumer:pn,ContextProvider:ln,Element:un,ForwardRef:dn,Fragment:an,Lazy:mn,Memo:hn,Portal:cn,Profiler:fn,StrictMode:sn,Suspense:bn,SuspenseList:vn,isAsyncMode:function(){return!1},isConcurrentMode:function(){return!1},isContextConsumer:function(e){return On(e)===pn},isContextProvider:function(e){return On(e)===ln},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===un},isForwardRef:function(e){return On(e)===dn},isFragment:function(e){return On(e)===an},isLazy:function(e){return On(e)===mn},isMemo:function(e){return On(e)===hn},isPortal:function(e){return On(e)===cn},isProfiler:function(e){return On(e)===fn},isStrictMode:function(e){return On(e)===sn},isSuspense:function(e){return On(e)===bn},isSuspenseList:function(e){return On(e)===vn},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===an||e===fn||e===sn||e===bn||e===vn||e===gn||"object"==typeof e&&null!==e&&(e.$$typeof===mn||e.$$typeof===hn||e.$$typeof===ln||e.$$typeof===pn||e.$$typeof===dn||e.$$typeof===on||void 0!==e.getModuleId)},typeOf:On};u((function(e){e.exports=Sn}));const wn={notify(){},get:()=>[]};function Pn(e,t){let r,n=wn;function o(){u.onStateChange&&u.onStateChange()}function i(){r||(r=t?t.addNestedSub(o):e.subscribe(o),n=function(){const e=Rr();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=wn)},getListeners:()=>n};return u}const En=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?z.useLayoutEffect:z.useEffect;function jn({store:e,context:t,children:r,serverState:n}){const o=z.useMemo((()=>{const t=Pn(e);return{store:e,subscription:t,getServerState:n?()=>n:void 0}}),[e,n]),i=z.useMemo((()=>e.getState()),[e]);En((()=>{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||xr).Provider,{value:o},r)}Cr=jr.useSyncExternalStoreWithSelector,_r=t.unstable_batchedUpdates;var _n=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype};const{hasOwnProperty:Rn}=Object.prototype,{propertyIsEnumerable:xn}=Object,kn=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Cn=i,An={concatArrays:!1,ignoreUndefined:!1},Dn=e=>{const t=[];for(const r in e)Rn.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)xn.call(e,n)&&t.push(n)}return t};function In(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return Dn(e).forEach((r=>{kn(t,r,In(e[r]))})),t}(e):_n(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return Dn(e).forEach((r=>{kn(t,r,In(e[r]))})),t}(e):e}const $n=(e,t,r,n)=>(r.forEach((r=>{void 0===t[r]&&n.ignoreUndefined||kn(e,r,r in e&&e[r]!==Object.getPrototypeOf(e)?Tn(e[r],t[r],n):In(t[r]))})),e);function Tn(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++)Rn.call(t,r)&&(i.push(r+""),kn(n,o++,t===e?t[r]:In(t[r])));n=$n(n,t,Dn(t).filter((e=>!i.includes(e))),r)})),n})(e,t,r):_n(t)&&_n(e)?$n(e,t,Dn(t),r):In(t)}const Un=function(...e){const t=Tn(In(An),this!==Cn&&this||{},An);let r={_:{}};for(const n of e)if(void 0!==n){if(!_n(n))throw new TypeError("`"+n+"` is not an Option Object");r=Tn(r,{_:n},t)}return r._}.bind({concatArrays:!0,ignoreUndefined:!0});function Nn(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 Mn(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 Ln={getItem:(e,t)=>Nn((()=>window.localStorage.getItem(e)),t),setItem:(e,t,r)=>Nn((()=>window.localStorage.setItem(e,t)),r),removeItem:(e,t)=>Nn((()=>window.localStorage.removeItem(e)),t),mergeItem:(e,t,r)=>Nn((()=>function(e,t){const r=window.localStorage.getItem(e);if(r){const n=JSON.parse(r),o=JSON.parse(t),i=JSON.stringify(Un(n,o));window.localStorage.setItem(e,i)}else window.localStorage.setItem(e,t)}(e,t)),r),clear:e=>Nn((()=>window.localStorage.clear()),e),getAllKeys:e=>Nn((()=>{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)=>Mn(e.map((e=>Ln.getItem(e))),t,(t=>t.map(((t,r)=>[e[r],t])))),multiSet:(e,t)=>Mn(e.map((e=>Ln.setItem(e[0],e[1]))),t),multiRemove:(e,t)=>Mn(e.map((e=>Ln.removeItem(e))),t),multiMerge:(e,t)=>Mn(e.map((e=>Ln.mergeItem(e[0],e[1]))),t)};class Fn{static async get(e){return"undefined"!=typeof document?localStorage.getItem(e):await Ln.getItem(e)}static async set(e,t){return"undefined"!=typeof document?localStorage.setItem(e,t):await Ln.setItem(e,t)}static async remove(e){return"undefined"!=typeof document?localStorage.removeItem(e):await Ln.removeItem(e)}}Fn.Constants={SUBSCRIBED:"subscribed"};const zn={key:"root",storage:{getItem:async(e,...t)=>await Fn.get(e),setItem:async(e,t,...r)=>await Fn.set(e,t),removeItem:async(e,...t)=>await Fn.remove(e)}},Vn=be({reducer:function(e,t){var r=void 0!==e.version?e.version:-1,n=void 0===e.stateReconciler?Jt:e.stateReconciler,o=e.getStoredState||Gt,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=rr(p,["_persist"]);if(l.type===zt){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=Ht(e)),y)return er({},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)})),er({},t(d,l),{_persist:{version:r,rehydrated:!1}})}if(l.type===Vt)return c=!0,l.result(function(e){var t=e.storage,r="".concat(void 0!==e.keyPrefix?e.keyPrefix:Nt).concat(e.key);return t.removeItem(r,Qt)}(e)),er({},t(d,l),{_persist:y});if(l.type===Mt)return l.result(u&&u.flush()),er({},t(d,l),{_persist:y});if(l.type===Ft)a=!0;else if(l.type===Lt){if(c)return er({},d,{_persist:er({},y,{rehydrated:!0})});if(l.key===e.key){var h=t(d,l),m=l.payload,g=er({},!1!==n&&void 0!==m?n(m,f,h,e):h,{_persist:er({},y,{rehydrated:!0})});return s(g)}}if(!y)return t(f,l);var O=t(d,l);return O===d?f:s(er({},O,{_persist:y}))}}(zn,_e)}),Bn=function(e){var t,r=Ut(),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=be(i)}var d=c;"function"==typeof d&&(d=d(r));var b=he.apply(void 0,d),v=ve;s&&(v=$t(function(e,t){for(var r in t||(t={}))At.call(t,r)&&It(e,r,t[r]);if(Ct)for(var n=0,o=Ct(t);o.length>n;n++)Dt.call(t,r=o[n])&&It(e,r,t[r]);return e}({trace:!1},"object"==typeof s&&s)));var h=[b];return Array.isArray(y)?h=xt([b],y):"function"==typeof y&&(h=y(h)),de(t,l,v.apply(void 0,h))}({reducer:Vn,middleware:[_t]}),Wn=Bn.dispatch,qn=Ir,Kn=function(e,t,r){var n=r||!1,o=de(ar,cr,t&&t.enhancer?t.enhancer:void 0),i=function(e){o.dispatch({type:Bt,key:e})},u=function(t,r,i){var u={type:Lt,payload:r,err:i,key:t};e.dispatch(u),o.dispatch(u),n&&c.getState().bootstrapped&&(n(),n=!1)},c=ir({},o,{purge:function(){var t=[];return e.dispatch({type:Vt,result:function(e){t.push(e)}}),Promise.all(t)},flush:function(){var t=[];return e.dispatch({type:Mt,result:function(e){t.push(e)}}),Promise.all(t)},pause:function(){e.dispatch({type:Ft})},persist:function(){e.dispatch({type:zt,register:i,rehydrate:u})}});return t&&t.manualPersist||c.persist(),c}(Bn),Jn=()=>z.useContext(Gn),Hn=z.createContext({}),Xn=e=>{const t=Jn(),r=Wn,n={subscribe:async e=>{await(null==t?void 0:t.realtime.subscribe(e,(t=>{switch(t.action){case"create":r(Q(e,t.record));break;case"update":r(ee(e,t.record));break;case"delete":r(Z(e,t.record))}})).then((()=>{r(ne(e))})).catch((t=>{r(oe(e))})))},unsubscribe:async e=>{e?await(null==t?void 0:t.realtime.unsubscribe(e).then((()=>{r(oe(e))})).catch((e=>{}))):await(null==t?void 0:t.realtime.unsubscribe().then((()=>{r(re([]))})).catch((e=>{})))},fetch:async e=>{const n=await(null==t?void 0:t.records.getFullList(e,200).catch((e=>{})));r(Y(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(Hn.Provider,{value:n},e.children)},Gn=z.createContext(null),Yn=e=>z.createElement(Gn.Provider,{value:e.client},e.children),Qn=z.createContext({}),Zn=e=>{const t=Jn(),[r,n]=z.useState(!1),[o,i]=z.useState(null),[u,c]=z.useState(),a={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 r=null==u?void 0:u.find((e=>e.name===t)),n=(null==r?void 0:r.authUrl)+typeof document!="undefined"?e.webRedirectUrl:e.mobileRedirectUrl;await e.openURL(n),await Fn.set("provider",JSON.stringify(u))},submitProviderResult:async r=>{const n=new URLSearchParams(r.split("?")[1]),o=n.get("code"),i=n.get("state"),u=await Fn.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());c(null==e?void 0:e.authProviders)})(),null==t||t.authStore.onChange((()=>{n((null==t?void 0:t.authStore.isValid)||!1),i(null==t?void 0:t.authStore.model)}))}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Qn.Provider,{value:{actions:a,isSignedIn:r,user:o}},e.children)};function eo(e){return eo="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},eo(e)}function to(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ro(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 no(e,t){return!t||"object"!==eo(t)&&"function"!=typeof t?io(e):t}function oo(e){return oo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},oo(e)}function io(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uo(e,t){return uo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},uo(e,t)}function co(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ao=function(e){function t(){var e,r;to(this,t);for(var n=arguments.length,o=Array(n),i=0;n>i;i++)o[i]=arguments[i];return co(io(r=no(this,(e=oo(t)).call.apply(e,[this].concat(o)))),"state",{bootstrapped:!1}),co(io(r),"_unsubscribe",void 0),co(io(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&&uo(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}}])&&ro(r.prototype,n),o&&ro(r,o),t}(z.PureComponent);co(ao,"defaultProps",{children:null,loading:null});const so=z.createContext(null);e.ADD_RECORD=B,e.ADD_RECORDS=W,e.ADD_SUBSCRIPTION=X,e.AuthContext=Qn,e.AuthProvider=Zn,e.ClientContext=Gn,e.ClientProvider=Yn,e.ContentContext=Hn,e.ContentProvider=Xn,e.DELETE_RECORD=K,e.DELETE_RECORDS=J,e.DELETE_SUBSCRIPTION=G,e.Pocketbase=e=>{const t=new o.default(e.serverURL);return t?z.createElement(Yn,{client:t},z.createElement(jn,{store:Bn},z.createElement(ao,{persistor:Kn},z.createElement(Zn,{webRedirectUrl:e.webRedirectUrl,mobileRedirectUrl:e.mobileRedirectUrl,openURL:e.openURL},z.createElement(Xn,{collections:e.initialCollections},e.children))))):null},e.PocketbaseContext=so,e.SET_RECORDS=V,e.SET_SUBSCRIPTIONS=H,e.UPDATE_RECORD=q,e.appReducer=_e,e.persistConfig=zn,e.persistor=Kn,e.recordsAction=te,e.store=Bn,e.subscriptionsAction=ie,e.useAppContent=function(e,t=!1){var r;const n=null!=(r=qn((t=>t.reducer.records[e])))?r:[],o=qn((e=>e.reducer.subscriptions)).subscriptions,i=z.useContext(Hn);z.useEffect((()=>{t&&i.fetch(e)}),[e,t]);const[u,c]=z.useState(!1);return z.useEffect((()=>{c(o.includes(e))}),[o]),{records:n,actions:{subscribe:async()=>await i.subscribe(e),unsubscribe:async()=>await i.unsubscribe(e),fetch:async()=>await i.fetch(e),create:async t=>await i.create(e,t),update:async(t,r)=>await i.update(e,t,r),delete:async t=>await i.delete(e,t)},isSubscribed:u}},e.useAppDispatch=Wn,e.useAppSelector=qn,e.useAuth=function(){return z.useContext(Qn)},e.useClientContext=Jn,Object.defineProperty(e,"__esModule",{value:!0})}));
|
package/es/context/auth.js
CHANGED
|
@@ -4,8 +4,9 @@ import { useClientContext } from '../hooks/useClientContext';
|
|
|
4
4
|
import { StorageService } from '../service/Storage';
|
|
5
5
|
export const AuthContext = createContext({});
|
|
6
6
|
export const AuthProvider = props => {
|
|
7
|
-
var _client$authStore$mod;
|
|
8
7
|
const client = useClientContext();
|
|
8
|
+
const [isSignedIn, setIsSignedIn] = React.useState(false);
|
|
9
|
+
const [user, setUser] = React.useState(null);
|
|
9
10
|
const [authProviders, setAuthProviders] = React.useState();
|
|
10
11
|
const actions = {
|
|
11
12
|
registerWithEmail: async (email, password) => {
|
|
@@ -61,12 +62,16 @@ export const AuthProvider = props => {
|
|
|
61
62
|
const methods = await (client == null ? void 0 : client.users.listAuthMethods());
|
|
62
63
|
setAuthProviders(methods == null ? void 0 : methods.authProviders);
|
|
63
64
|
})();
|
|
65
|
+
client == null ? void 0 : client.authStore.onChange(() => {
|
|
66
|
+
setIsSignedIn((client == null ? void 0 : client.authStore.isValid) || false);
|
|
67
|
+
setUser(client == null ? void 0 : client.authStore.model);
|
|
68
|
+
});
|
|
64
69
|
}, [props.webRedirectUrl, props.mobileRedirectUrl]);
|
|
65
70
|
return /*#__PURE__*/React.createElement(AuthContext.Provider, {
|
|
66
71
|
value: {
|
|
67
72
|
actions: actions,
|
|
68
|
-
isSignedIn:
|
|
69
|
-
user:
|
|
73
|
+
isSignedIn: isSignedIn,
|
|
74
|
+
user: user
|
|
70
75
|
}
|
|
71
76
|
}, props.children);
|
|
72
77
|
};
|
package/lib/context/auth.js
CHANGED
|
@@ -10,8 +10,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
10
10
|
const AuthContext = (0, React.createContext)({});
|
|
11
11
|
exports.AuthContext = AuthContext;
|
|
12
12
|
const AuthProvider = props => {
|
|
13
|
-
var _client$authStore$mod;
|
|
14
13
|
const client = (0, _useClientContext.useClientContext)();
|
|
14
|
+
const [isSignedIn, setIsSignedIn] = React.useState(false);
|
|
15
|
+
const [user, setUser] = React.useState(null);
|
|
15
16
|
const [authProviders, setAuthProviders] = React.useState();
|
|
16
17
|
const actions = {
|
|
17
18
|
registerWithEmail: async (email, password) => {
|
|
@@ -67,12 +68,16 @@ const AuthProvider = props => {
|
|
|
67
68
|
const methods = await (client == null ? void 0 : client.users.listAuthMethods());
|
|
68
69
|
setAuthProviders(methods == null ? void 0 : methods.authProviders);
|
|
69
70
|
})();
|
|
71
|
+
client == null ? void 0 : client.authStore.onChange(() => {
|
|
72
|
+
setIsSignedIn((client == null ? void 0 : client.authStore.isValid) || false);
|
|
73
|
+
setUser(client == null ? void 0 : client.authStore.model);
|
|
74
|
+
});
|
|
70
75
|
}, [props.webRedirectUrl, props.mobileRedirectUrl]);
|
|
71
76
|
return /*#__PURE__*/React.createElement(AuthContext.Provider, {
|
|
72
77
|
value: {
|
|
73
78
|
actions: actions,
|
|
74
|
-
isSignedIn:
|
|
75
|
-
user:
|
|
79
|
+
isSignedIn: isSignedIn,
|
|
80
|
+
user: user
|
|
76
81
|
}
|
|
77
82
|
}, props.children);
|
|
78
83
|
};
|
package/package.json
CHANGED
package/src/context/auth.tsx
CHANGED
|
@@ -54,6 +54,8 @@ export type AuthProviderProps = {
|
|
|
54
54
|
|
|
55
55
|
export const AuthProvider = (props: AuthProviderProps) => {
|
|
56
56
|
const client = useClientContext();
|
|
57
|
+
const [isSignedIn, setIsSignedIn] = React.useState(false);
|
|
58
|
+
const [user, setUser] = React.useState<User | Admin | null>(null);
|
|
57
59
|
const [authProviders, setAuthProviders] = React.useState<AuthProviderInfo[]>();
|
|
58
60
|
|
|
59
61
|
const actions: AuthActions = {
|
|
@@ -119,14 +121,18 @@ export const AuthProvider = (props: AuthProviderProps) => {
|
|
|
119
121
|
const methods = await client?.users.listAuthMethods();
|
|
120
122
|
setAuthProviders(methods?.authProviders);
|
|
121
123
|
})();
|
|
124
|
+
client?.authStore.onChange(() => {
|
|
125
|
+
setIsSignedIn(client?.authStore.isValid || false);
|
|
126
|
+
setUser(client?.authStore.model);
|
|
127
|
+
});
|
|
122
128
|
}, [props.webRedirectUrl, props.mobileRedirectUrl]);
|
|
123
129
|
|
|
124
130
|
return (
|
|
125
131
|
<AuthContext.Provider
|
|
126
132
|
value={{
|
|
127
133
|
actions: actions,
|
|
128
|
-
isSignedIn:
|
|
129
|
-
user:
|
|
134
|
+
isSignedIn: isSignedIn,
|
|
135
|
+
user: user,
|
|
130
136
|
}}>
|
|
131
137
|
{props.children}
|
|
132
138
|
</AuthContext.Provider>
|