MCPcopy Create free account
hub / github.com/dailydotdev/apps / useLogin

Function useLogin

packages/shared/src/hooks/useLogin.ts:47–251  ·  view source on GitHub ↗
({
  trigger,
  provider: providerProp,
  onSuccessfulLogin,
}: UseLoginProps = {})

Source from the content-addressed store, hash-verified

45}
46
47const useLogin = ({
48 trigger,
49 provider: providerProp,
50 onSuccessfulLogin,
51}: UseLoginProps = {}): UseLogin => {
52 const { onUpdateSignBack } = useSignBack();
53 const { displayToast } = useToastNotification();
54 const { logEvent } = useLogContext();
55 const { refetchBoot } = useContext(AuthContext);
56 const hintState = useState<string | null>('Enter your password to login');
57 const [, setHint] = hintState;
58
59 const {
60 mutateAsync: onBetterAuthPasswordLogin,
61 isPending: isBetterAuthPasswordLoading,
62 } = useMutation({
63 mutationFn: async (form: LoginFormParams) => {
64 logEvent({
65 event_name: 'click',
66 target_type: AuthEventNames.LoginProvider,
67 target_id: 'email',
68 extra: JSON.stringify({ trigger }),
69 });
70 return betterAuthSignIn({
71 email: form.identifier,
72 password: form.password,
73 turnstileToken: form.turnstileToken,
74 });
75 },
76 onSuccess: async (res) => {
77 if (res.error) {
78 logEvent({
79 event_name: AuthEventNames.LoginError,
80 extra: JSON.stringify({
81 provider: 'password',
82 error: res.error,
83 displayedError: labels.auth.error.invalidEmailOrPassword,
84 origin: Origin.BetterAuthEmailLogin,
85 userAgent: navigator.userAgent,
86 }),
87 });
88 setHint(labels.auth.error.invalidEmailOrPassword);
89 return;
90 }
91
92 try {
93 const { data: boot } = await refetchBoot();
94
95 if (!boot.user) {
96 logEvent({
97 event_name: AuthEventNames.LoginError,
98 extra: JSON.stringify({
99 provider: 'password',
100 error: 'Missing user after Better Auth email login',
101 origin: Origin.BetterAuthEmailLoginBoot,
102 }),
103 });
104 setHint(labels.auth.error.generic);

Callers 2

VerifySessionModalFunction · 0.85
AuthOptionsInnerFunction · 0.85

Calls 15

useSignBackFunction · 0.90
useToastNotificationFunction · 0.90
useLogContextFunction · 0.90
betterAuthSignInFunction · 0.90
isNativeAuthSupportedFunction · 0.90
iosNativeAuthFunction · 0.90
shouldUseSocialAuthPopupFunction · 0.90
useEventListenerFunction · 0.90
logEventFunction · 0.85

Tested by

no test coverage detected