Skip to content

Commit

Permalink
Update AccountForm.vue so Reconnect button works for Microsoft accounts
Browse files Browse the repository at this point in the history
Also replace Google with Microsoft for button labels and feedback

Signed-off-by: ccci-code <69860674+ccci-code@users.noreply.github.com>
  • Loading branch information
ccci-code authored and ChristophWurst committed Apr 2, 2024
1 parent 41dfb23 commit e4b4102
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions src/components/AccountForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,11 @@ export default {
return this.loadingMessage ?? t('mail', 'Connecting')
}
if (this.mode === 'manual' && this.useOauth) {
return this.account ? t('mail', 'Reconnect Google account') : t('mail', 'Sign in with Google')
if (this.isGoogleAccount) {
return this.account ? t('mail', 'Reconnect Google account') : t('mail', 'Sign in with Google')
} else {
return this.account ? t('mail', 'Reconnect Microsoft account') : t('mail', 'Sign in with Microsoft')
}
}
return this.account ? t('mail', 'Save') : t('mail', 'Connect')
},
Expand Down Expand Up @@ -557,16 +561,16 @@ export default {
const account = await this.$store.dispatch('startAccountSetup', data)
if (this.useOauth) {
this.loadingMessage = t('mail', 'Awaiting user consent')
this.feedback = t('mail', 'Account created. Please follow the pop-up instructions to link your Google account')
try {
if (this.isGoogleAccount) {
this.feedback = t('mail', 'Account created. Please follow the pop-up instructions to link your Google account')
await getUserConsent(
this.googleOauthUrl
.replace('_accountId_', account.id)
.replace('_email_', encodeURIComponent(account.emailAddress)),
)
} else {
// Microsoft
this.feedback = t('mail', 'Account created. Please follow the pop-up instructions to link your Microsoft account')
await getUserConsent(
this.microsoftOauthUrl
.replace('_accountId_', account.id)
Expand All @@ -592,13 +596,22 @@ export default {
})
if (this.useOauth) {
this.loadingMessage = t('mail', 'Awaiting user consent')
this.feedback = t('mail', 'Account updated. Please follow the pop-up instructions to reconnect your Google account')
try {
await getUserConsent(
this.googleOauthUrl
.replace('_accountId_', account.id)
.replace('_email_', encodeURIComponent(account.emailAddress)),
)
if (this.isGoogleAccount) {
this.feedback = t('mail', 'Account updated. Please follow the pop-up instructions to reconnect your Google account')
await getUserConsent(
this.googleOauthUrl
.replace('_accountId_', account.id)
.replace('_email_', encodeURIComponent(account.emailAddress)),
)
} else {
this.feedback = t('mail', 'Account updated. Please follow the pop-up instructions to reconnect your Microsoft account')
await getUserConsent(
this.microsoftOauthUrl
.replace('_accountId_', account.id)
.replace('_email_', encodeURIComponent(account.emailAddress)),
)
}
} catch (e) {
// Undo changes
await this.$store.dispatch('updateAccount', {
Expand Down

0 comments on commit e4b4102

Please sign in to comment.