pocketbase-react 0.1.15 → 0.1.16

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.
@@ -6109,6 +6109,7 @@
6109
6109
 
6110
6110
  const AuthContext = react.createContext({});
6111
6111
  const AuthProvider = props => {
6112
+ var _client$authStore$mod;
6112
6113
  const client = useClientContext();
6113
6114
  const [authProviders, setAuthProviders] = react.useState();
6114
6115
  const actions = {
@@ -6167,7 +6168,11 @@
6167
6168
  })();
6168
6169
  }, [props.webRedirectUrl, props.mobileRedirectUrl]);
6169
6170
  return /*#__PURE__*/react.createElement(AuthContext.Provider, {
6170
- value: actions
6171
+ value: {
6172
+ actions: actions,
6173
+ isSignedIn: (client == null ? void 0 : client.authStore.isValid) || false,
6174
+ user: (_client$authStore$mod = client == null ? void 0 : client.authStore.model) != null ? _client$authStore$mod : null
6175
+ }
6171
6176
  }, props.children);
6172
6177
  };
6173
6178
 
@@ -6323,10 +6328,7 @@
6323
6328
  }
6324
6329
 
6325
6330
  function useAuth() {
6326
- const actions = react.useContext(AuthContext);
6327
- return {
6328
- actions
6329
- };
6331
+ return react.useContext(AuthContext);
6330
6332
  }
6331
6333
 
6332
6334
  exports.ADD_RECORD = ADD_RECORD;
@@ -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=>{const t=Jn(),[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 Fn.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 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());n(null==e?void 0:e.authProviders)})()}),[e.webRedirectUrl,e.mobileRedirectUrl]),z.createElement(Qn.Provider,{value: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{actions: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=>{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})}));
@@ -1,3 +1,4 @@
1
+ import { Admin, User } from '@tobicrain/pocketbase';
1
2
  import * as React from 'react';
2
3
  export declare type AuthProviderInfo = {
3
4
  name: string;
@@ -29,7 +30,12 @@ export interface AuthActions {
29
30
  updateEmail: UpdateEmailType;
30
31
  deleteUser: DeleteUserType;
31
32
  }
32
- export declare const AuthContext: React.Context<AuthActions>;
33
+ export interface AuthContextInterface {
34
+ actions: AuthActions;
35
+ isSignedIn: boolean;
36
+ user: User | Admin | null;
37
+ }
38
+ export declare const AuthContext: React.Context<AuthContextInterface>;
33
39
  export declare type AuthProviderProps = {
34
40
  children: React.ReactNode;
35
41
  webRedirectUrl: string;
@@ -4,6 +4,7 @@ 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;
7
8
  const client = useClientContext();
8
9
  const [authProviders, setAuthProviders] = React.useState();
9
10
  const actions = {
@@ -62,6 +63,10 @@ export const AuthProvider = props => {
62
63
  })();
63
64
  }, [props.webRedirectUrl, props.mobileRedirectUrl]);
64
65
  return /*#__PURE__*/React.createElement(AuthContext.Provider, {
65
- value: actions
66
+ value: {
67
+ actions: actions,
68
+ isSignedIn: (client == null ? void 0 : client.authStore.isValid) || false,
69
+ user: (_client$authStore$mod = client == null ? void 0 : client.authStore.model) != null ? _client$authStore$mod : null
70
+ }
66
71
  }, props.children);
67
72
  };
@@ -1,4 +1,2 @@
1
- import { AuthActions } from '../context/auth';
2
- export declare function useAuth(): {
3
- actions: AuthActions;
4
- };
1
+ import { AuthContextInterface } from '../context/auth';
2
+ export declare function useAuth(): AuthContextInterface;
@@ -1,8 +1,5 @@
1
1
  import { useContext } from 'react';
2
2
  import { AuthContext } from '../context/auth';
3
3
  export function useAuth() {
4
- const actions = useContext(AuthContext);
5
- return {
6
- actions
7
- };
4
+ return useContext(AuthContext);
8
5
  }
@@ -10,6 +10,7 @@ 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;
13
14
  const client = (0, _useClientContext.useClientContext)();
14
15
  const [authProviders, setAuthProviders] = React.useState();
15
16
  const actions = {
@@ -68,7 +69,11 @@ const AuthProvider = props => {
68
69
  })();
69
70
  }, [props.webRedirectUrl, props.mobileRedirectUrl]);
70
71
  return /*#__PURE__*/React.createElement(AuthContext.Provider, {
71
- value: actions
72
+ value: {
73
+ actions: actions,
74
+ isSignedIn: (client == null ? void 0 : client.authStore.isValid) || false,
75
+ user: (_client$authStore$mod = client == null ? void 0 : client.authStore.model) != null ? _client$authStore$mod : null
76
+ }
72
77
  }, props.children);
73
78
  };
74
79
  exports.AuthProvider = AuthProvider;
@@ -5,8 +5,5 @@ exports.useAuth = useAuth;
5
5
  var _react = require("react");
6
6
  var _auth = require("../context/auth");
7
7
  function useAuth() {
8
- const actions = (0, _react.useContext)(_auth.AuthContext);
9
- return {
10
- actions
11
- };
8
+ return (0, _react.useContext)(_auth.AuthContext);
12
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pocketbase-react",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Unofficial React SDK (React, React Native, Expo) for interacting with the PocketBase JS SDK",
5
5
  "keywords": [
6
6
  "pocketbase",
@@ -1,4 +1,5 @@
1
1
  import AsyncStorage from '@react-native-async-storage/async-storage';
2
+ import { Admin, User } from '@tobicrain/pocketbase';
2
3
  import * as React from 'react';
3
4
  import { createContext, useEffect } from 'react';
4
5
  import { useClientContext } from '../hooks/useClientContext';
@@ -36,8 +37,13 @@ export interface AuthActions {
36
37
  updateEmail: UpdateEmailType;
37
38
  deleteUser: DeleteUserType;
38
39
  }
40
+ export interface AuthContextInterface {
41
+ actions: AuthActions;
42
+ isSignedIn: boolean;
43
+ user: User | Admin | null;
44
+ }
39
45
 
40
- export const AuthContext = createContext<AuthActions>({} as AuthActions);
46
+ export const AuthContext = createContext<AuthContextInterface>({} as AuthContextInterface);
41
47
 
42
48
  export type AuthProviderProps = {
43
49
  children: React.ReactNode;
@@ -115,5 +121,14 @@ export const AuthProvider = (props: AuthProviderProps) => {
115
121
  })();
116
122
  }, [props.webRedirectUrl, props.mobileRedirectUrl]);
117
123
 
118
- return <AuthContext.Provider value={actions}>{props.children}</AuthContext.Provider>;
124
+ return (
125
+ <AuthContext.Provider
126
+ value={{
127
+ actions: actions,
128
+ isSignedIn: client?.authStore.isValid || false,
129
+ user: client?.authStore.model ?? null,
130
+ }}>
131
+ {props.children}
132
+ </AuthContext.Provider>
133
+ );
119
134
  };
@@ -1,7 +1,6 @@
1
1
  import { useContext } from 'react';
2
- import { AuthActions, AuthContext } from '../context/auth';
2
+ import { AuthContext, AuthContextInterface } from '../context/auth';
3
3
 
4
- export function useAuth(): { actions: AuthActions } {
5
- const actions = useContext(AuthContext);
6
- return { actions };
4
+ export function useAuth(): AuthContextInterface {
5
+ return useContext(AuthContext);
7
6
  }