woohoo sign in flow working!!!!

This commit is contained in:
talksik
2022-05-28 10:32:37 -05:00
parent 2cc56e42cc
commit af32ad2565
2 changed files with 26 additions and 7 deletions
@@ -12,13 +12,12 @@ import {
setPersistence, setPersistence,
browserLocalPersistence, browserLocalPersistence,
User as FirebaseUser, User as FirebaseUser,
onAuthStateChanged,
updateCurrentUser,
getAuth,
} from 'firebase/auth'; } from 'firebase/auth';
import { useSnackbar } from 'notistack'; import { useSnackbar } from 'notistack';
const provider = new GoogleAuthProvider();
provider.addScope('https://www.googleapis.com/auth/contacts.readonly');
interface IAuthContext { interface IAuthContext {
user?: FirebaseUser; user?: FirebaseUser;
} }
@@ -28,6 +27,24 @@ const AuthContext = React.createContext<IAuthContext>({});
export const AuthProvider = ({ children }: { children: React.ReactNode }) => { export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
const { enqueueSnackbar } = useSnackbar(); const { enqueueSnackbar } = useSnackbar();
// since auth.currentuser isn't updating
const [currentUser, setCurrentUser] = useState<FirebaseUser>(null);
useEffect(() => {
const authListener = onAuthStateChanged(firebaseAuth, (user) => {
console.log('auth changed!!!!', user);
if (user) {
setCurrentUser(user);
} else {
// User is signed out
// ...
}
});
return () => authListener();
}, [setCurrentUser]);
useEffect(() => { useEffect(() => {
const tokenListener = window.electronAPI.once( const tokenListener = window.electronAPI.once(
Channels.GOOGLE_AUTH_TOKENS, Channels.GOOGLE_AUTH_TOKENS,
@@ -47,7 +64,7 @@ export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
// The signed-in user info. // The signed-in user info.
const user = result.user; const user = result.user;
console.log(user); console.log(user);
updateCurrentUser(firebaseAuth, user);
enqueueSnackbar('Signed in! All set!', { variant: 'success' }); enqueueSnackbar('Signed in! All set!', { variant: 'success' });
}); });
}) })
@@ -70,8 +87,8 @@ export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
}, [enqueueSnackbar]); }, [enqueueSnackbar]);
return ( return (
<AuthContext.Provider value={{ user: firebaseAuth.currentUser }}> <AuthContext.Provider value={{ user: currentUser }}>
{firebaseAuth.currentUser ? <>{children}</> : <Login />} {currentUser ? <>{children}</> : <Login />}
</AuthContext.Provider> </AuthContext.Provider>
); );
}; };
@@ -73,6 +73,8 @@ export function ElectronProvider({ children }: { children: React.ReactNode }) {
return () => { return () => {
// window.removeEventListener(Channels.ON_WINDOW_BLUR, blurListener); // window.removeEventListener(Channels.ON_WINDOW_BLUR, blurListener);
blurListener();
focusListener();
}; };
}, [setDesktopMode, setIsWindowFocused]); }, [setDesktopMode, setIsWindowFocused]);