fix logout

This commit is contained in:
Ammar Ahmed
2022-07-09 09:45:16 +05:00
parent 12995930ba
commit 7b694df278
9 changed files with 19 additions and 17 deletions

View File

@@ -23,7 +23,7 @@ export const ChangePassword = () => {
const user = useUserStore(state => state.user);
const changePassword = async () => {
if (!user.isEmailConfirmed) {
if (!user?.isEmailConfirmed) {
ToastEvent.show({
heading: 'Email not confirmed',
message: 'Please confirm your email to change account password',

View File

@@ -93,7 +93,7 @@ export const Login = ({ changeMode, welcome }) => {
hideAuth();
SettingsService.set({
sessionExpired: false,
userEmailConfirmed: user.isEmailConfirmed
userEmailConfirmed: user?.isEmailConfirmed
});
eSendEvent('userLoggedIn', true);
await sleep(500);

View File

@@ -124,7 +124,7 @@ export const SessionExpired = () => {
});
await SettingsService.set({
sessionExpired: false,
userEmailConfirmed: user.isEmailConfirmed
userEmailConfirmed: user?.isEmailConfirmed
});
eSendEvent('userLoggedIn', true);
await sleep(500);

View File

@@ -181,7 +181,7 @@ const pick = async options => {
if (editorState().isFocused) {
editorState().isFocused = true;
}
if (user && !PremiumService.get() && !user.isEmailConfirmed) {
if (user && !PremiumService.get() && !user?.isEmailConfirmed) {
PremiumService.showVerifyEmailDialog();
} else {
PremiumService.sheet();

View File

@@ -66,7 +66,7 @@ const publishNote = async (editor: useEditorType) => {
return;
}
if (!user.isEmailConfirmed) {
if (!user?.isEmailConfirmed) {
ToastEvent.show({
heading: 'Email not verified',
message: 'Please verify your email first.',

View File

@@ -262,6 +262,7 @@ export const settingsGroups: SettingSection[] = [
eSendEvent('settings-loading', true);
setImmediate(async () => {
eSendEvent(eCloseSimpleDialog);
Navigation.popToTop();
db.user?.logout();
setLoginMessage();
await PremiumService.setPremiumStatus();
@@ -270,14 +271,15 @@ export const settingsGroups: SettingSection[] = [
await db.init();
await clearAllStores();
SettingsService.init();
SettingsService.set({
introCompleted: true
});
setTimeout(() => {
SettingsService.set({
introCompleted: true
});
}, 1000);
useUserStore.getState().setUser(null);
useUserStore.getState().setSyncing(false);
console.log('HIDING');
Navigation.goBack();
Navigation.goBack();
Navigation.popToTop();
eSendEvent('settings-loading', false);
});
} catch (e) {

View File

@@ -19,7 +19,7 @@ export const Subscription = () => {
const subscriptionProviderInfo = SUBSCRIPTION_PROVIDER[user?.subscription?.provider];
const manageSubscription = () => {
if (!user.isEmailConfirmed) {
if (!user?.isEmailConfirmed) {
PremiumService.showVerifyEmailDialog();
return;
}
@@ -62,7 +62,7 @@ export const Subscription = () => {
type="accent"
onPress={manageSubscription}
title={
!user.isEmailConfirmed
!user?.isEmailConfirmed
? 'Confirm your email'
: user.subscription?.provider === 3 &&
user.subscription?.type === SUBSCRIPTION_STATUS.PREMIUM_CANCELLED

View File

@@ -168,11 +168,11 @@ async function shouldShowAnnouncement(announcement: Announcement) {
case 'loggedOut':
return !user;
case 'verified':
return user.isEmailConfirmed;
return user?.isEmailConfirmed;
case 'loggedIn':
return !!user;
case 'unverified':
return !user.isEmailConfirmed;
return !user?.isEmailConfirmed;
case 'proExpired':
return (
subStatus === SUBSCRIPTION_STATUS.PREMIUM_EXPIRED ||

View File

@@ -273,7 +273,7 @@ export const useAppEvents = () => {
}
await PremiumService.setPremiumStatus();
if (user.isEmailConfirmed && !userEmailConfirmed) {
if (user?.isEmailConfirmed && !userEmailConfirmed) {
setTimeout(() => {
onEmailVerified();
}, 1000);
@@ -293,7 +293,7 @@ export const useAppEvents = () => {
) {
setRecoveryKeyMessage();
}
if (!user.isEmailConfirmed) setEmailVerifyMessage();
if (!user?.isEmailConfirmed) setEmailVerifyMessage();
refValues.current.isUserReady = true;
syncedOnLaunch.current = true;
@@ -349,7 +349,7 @@ export const useAppEvents = () => {
await checkIntentState();
await MMKV.removeItem('appState');
let user = await db.user.getUser();
if (user && !user.isEmailConfirmed) {
if (user && !user?.isEmailConfirmed) {
try {
let user = await db.user.fetchUser();
if (user?.isEmailConfirmed) {