@redzone/taunt-logins-ui-react 0.0.20 → 0.0.22

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.
@@ -82,9 +82,13 @@ function LoadingView() {
82
82
 
83
83
  const DefinitelyUndefined = ()=>Promise.resolve(undefined);
84
84
  const TauntContext = react.createContext({
85
+ taunt: {},
85
86
  tauntServiceEndpoint: "",
86
- isLoading: false,
87
+ initialised: false,
87
88
  loggedIn: false,
89
+ isLoading: false,
90
+ tauntUser: undefined,
91
+ loginDetails: undefined,
88
92
  setLoginDetails: DefinitelyUndefined,
89
93
  getMe: DefinitelyUndefined,
90
94
  metamaskLogin: DefinitelyUndefined,
@@ -575,6 +579,7 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
575
579
  tauntServiceEndpoint,
576
580
  magicKey
577
581
  });
582
+ const [initialised, setInitialised] = react.useState(false);
578
583
  const [loginDetails, setLoginDetails] = react.useState();
579
584
  const [tauntUser, setTauntUser] = react.useState();
580
585
  const taunt = react.useMemo(()=>new tauntLogins.TauntApi(tauntServiceEndpoint), [
@@ -701,10 +706,15 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
701
706
  loginWith
702
707
  ]);
703
708
  react.useEffect(()=>{
704
- if (!loggedIn) {
705
- void refreshUser();
709
+ if (!initialised && !loggedIn) {
710
+ void refreshUser().catch(()=>{
711
+ console.error("Error refreshing user on TauntProvider init");
712
+ }).finally(()=>{
713
+ setInitialised(true);
714
+ });
706
715
  }
707
716
  }, [
717
+ initialised,
708
718
  loggedIn,
709
719
  refreshUser
710
720
  ]);
@@ -715,7 +725,9 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
715
725
  }
716
726
  return /*#__PURE__*/ jsxRuntime.jsx(TauntContext.Provider, {
717
727
  value: {
728
+ taunt,
718
729
  tauntServiceEndpoint,
730
+ initialised,
719
731
  loggedIn,
720
732
  isLoading,
721
733
  loginDetails,
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { TauntUser, TauntAccessDetails, ClaimrCampaignData } from '@redzone/taunt-logins';
3
+ import { TauntApi, TauntUser, TauntAccessDetails, ClaimrCampaignData } from '@redzone/taunt-logins';
4
4
 
5
5
  interface CoinbaseButtonProps {
6
6
  openCoinbase?: () => void;
@@ -86,11 +86,13 @@ declare function ModalView({ title, content, onClose }: ModalProps): react_jsx_r
86
86
  type MaybeUser = Promise<TauntUser | undefined>;
87
87
  type MaybeString = Promise<string | undefined>;
88
88
  interface ContextProps {
89
+ taunt: TauntApi;
89
90
  tauntServiceEndpoint: string;
91
+ initialised: boolean;
90
92
  loggedIn: boolean;
91
- tauntUser?: TauntUser;
92
- loginDetails?: TauntAccessDetails;
93
93
  isLoading: boolean;
94
+ tauntUser: TauntUser | undefined;
95
+ loginDetails: TauntAccessDetails | undefined;
94
96
  metamaskLogin: () => MaybeUser;
95
97
  otpMagicLogin: (email: string) => MaybeUser;
96
98
  telegramLogin: () => MaybeUser;
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { TauntUser, TauntAccessDetails, ClaimrCampaignData } from '@redzone/taunt-logins';
3
+ import { TauntApi, TauntUser, TauntAccessDetails, ClaimrCampaignData } from '@redzone/taunt-logins';
4
4
 
5
5
  interface CoinbaseButtonProps {
6
6
  openCoinbase?: () => void;
@@ -86,11 +86,13 @@ declare function ModalView({ title, content, onClose }: ModalProps): react_jsx_r
86
86
  type MaybeUser = Promise<TauntUser | undefined>;
87
87
  type MaybeString = Promise<string | undefined>;
88
88
  interface ContextProps {
89
+ taunt: TauntApi;
89
90
  tauntServiceEndpoint: string;
91
+ initialised: boolean;
90
92
  loggedIn: boolean;
91
- tauntUser?: TauntUser;
92
- loginDetails?: TauntAccessDetails;
93
93
  isLoading: boolean;
94
+ tauntUser: TauntUser | undefined;
95
+ loginDetails: TauntAccessDetails | undefined;
94
96
  metamaskLogin: () => MaybeUser;
95
97
  otpMagicLogin: (email: string) => MaybeUser;
96
98
  telegramLogin: () => MaybeUser;
package/dist/es/index.js CHANGED
@@ -82,9 +82,13 @@ function LoadingView() {
82
82
 
83
83
  const DefinitelyUndefined = ()=>Promise.resolve(undefined);
84
84
  const TauntContext = createContext({
85
+ taunt: {},
85
86
  tauntServiceEndpoint: "",
86
- isLoading: false,
87
+ initialised: false,
87
88
  loggedIn: false,
89
+ isLoading: false,
90
+ tauntUser: undefined,
91
+ loginDetails: undefined,
88
92
  setLoginDetails: DefinitelyUndefined,
89
93
  getMe: DefinitelyUndefined,
90
94
  metamaskLogin: DefinitelyUndefined,
@@ -575,6 +579,7 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
575
579
  tauntServiceEndpoint,
576
580
  magicKey
577
581
  });
582
+ const [initialised, setInitialised] = useState(false);
578
583
  const [loginDetails, setLoginDetails] = useState();
579
584
  const [tauntUser, setTauntUser] = useState();
580
585
  const taunt = useMemo(()=>new TauntApi(tauntServiceEndpoint), [
@@ -701,10 +706,15 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
701
706
  loginWith
702
707
  ]);
703
708
  useEffect(()=>{
704
- if (!loggedIn) {
705
- void refreshUser();
709
+ if (!initialised && !loggedIn) {
710
+ void refreshUser().catch(()=>{
711
+ console.error("Error refreshing user on TauntProvider init");
712
+ }).finally(()=>{
713
+ setInitialised(true);
714
+ });
706
715
  }
707
716
  }, [
717
+ initialised,
708
718
  loggedIn,
709
719
  refreshUser
710
720
  ]);
@@ -715,7 +725,9 @@ const TauntProvider = ({ children, tauntServiceEndpoint, magicKey })=>{
715
725
  }
716
726
  return /*#__PURE__*/ jsx(TauntContext.Provider, {
717
727
  value: {
728
+ taunt,
718
729
  tauntServiceEndpoint,
730
+ initialised,
719
731
  loggedIn,
720
732
  isLoading,
721
733
  loginDetails,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redzone/taunt-logins-ui-react",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "type": "module",
5
5
  "main": "./dist/es/index.js",
6
6
  "module": "./dist/es/index.js",