Skip to content

Commit 1d75157

Browse files
Resul AvanResul Avan
Resul Avan
authored and
Resul Avan
committed
set email enabled on SetEmailPasswordForm if no email
1 parent e2b13e1 commit 1d75157

File tree

7 files changed

+45
-31
lines changed

7 files changed

+45
-31
lines changed

functions/src/warmUpScheduledFunction.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { HandlerConfig } from 'handlers-module'
44
import { ApiConfig } from 'types-module'
55

66
export const warmUpScheduledFunction = pubsub
7-
.schedule('0 * * * *')
7+
.schedule('0 */15 * * *')
88
.onRun((context) => {
99
syncRequest('GET', HandlerConfig.getWebsiteUrl())
1010
syncRequest('GET', `${HandlerConfig.getWebsiteUrl()}${ApiConfig.healthy}`)

src/components/form/SetEmailPasswordForm.vue

+23-13
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11
<template>
22
<div>
33
<h3 class="title has-text-centered has-text-dark">
4-
{{ title }}
4+
{{ $t('provider.linkPasswordProvider.passwordForm.title') }}
55
</h3>
6+
<p class="has-text-centered has-margin-bottom-15">
7+
{{ email ?
8+
$t('provider.linkPasswordProvider.passwordForm.description',{email}) :
9+
$t('provider.linkPasswordProvider.passwordForm.descriptionNoEmail') }}
10+
</p>
611
<div class="box">
7-
<template v-if="description">
8-
<p>{{ description }}</p>
9-
<br>
10-
</template>
12+
1113
<ValidationObserver v-slot="{ passes }" tag="form">
14+
<FieldWithValue
15+
v-if="!!email"
16+
:value="email"
17+
:label="$t('common.field.email')"
18+
:disabled="true"
19+
label-position="on-border"
20+
class="has-margin-bottom-15"
21+
/>
22+
1223
<InputWithValidation
24+
v-else
1325
v-model="credentials.email"
1426
:label="$t('common.field.email')"
1527
:placeholder="$t('common.field.emailPlaceholder')"
1628
input-type="email"
1729
rules="required|email"
1830
vid="email"
19-
:disabled="!!credentials.email"
2031
label-position="on-border"
2132
class="has-margin-5"
2233
/>
@@ -44,8 +55,8 @@
4455
/>
4556

4657
<div class="buttons">
47-
<b-button type="is-primary" icon-left="lock-reset" icon-pack="mdi" @click="passes(submit)">
48-
{{ buttonText }}
58+
<b-button type="is-primary" icon-left="cog-outline" @click="passes(submit)">
59+
{{ $t('provider.linkPasswordProvider.passwordForm.submit') }}
4960
</b-button>
5061
</div>
5162
</ValidationObserver>
@@ -58,19 +69,18 @@ import { Component, Prop, Vue } from 'nuxt-property-decorator'
5869
import { ValidationObserver } from 'vee-validate'
5970
import InputWithValidation from '~/components/ui/input/InputWithValidation.vue'
6071
import { LoginCredentials } from '~/types'
72+
import FieldWithValue from '~/components/ui/FieldWithValue.vue'
6173
6274
@Component({
6375
components: {
76+
FieldWithValue,
6477
ValidationObserver,
6578
InputWithValidation
6679
}
6780
})
6881
export default class SetPasswordForm extends Vue {
69-
@Prop({ type: Function, required: true }) confirmCredentials: (credentials: LoginCredentials) => void;
70-
@Prop({ type: String, required: true }) title: string;
71-
@Prop({ type: String, required: true }) buttonText: string;
72-
@Prop({ type: String, required: false }) description: string;
73-
@Prop({ type: String, required: false }) email: string;
82+
@Prop({ type: Function, required: true }) confirmCredentials: (credentials: LoginCredentials) => void
83+
@Prop({ type: String, required: false }) email: string
7484
7585
credentials: LoginCredentials = {
7686
email: this.email,

src/components/modal/SetEmailPasswordModal.vue

+5-11
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@
2929

3030
<SetEmailPasswordForm
3131
v-if="!showLogin"
32-
:title="$t('provider.linkPasswordProvider.passwordForm.title')"
33-
:description="$t('provider.linkPasswordProvider.passwordForm.description',{email: authUser.email})"
34-
:button-text="$t('provider.linkPasswordProvider.passwordForm.submit')"
3532
:confirm-credentials="handleConfirmCredentials"
33+
:email="authUser.email"
3634
/>
3735
</section>
3836
</div>
@@ -52,20 +50,16 @@ import { reauthenticateObservable } from '~/service/rx-service'
5250
components: { TopMessage, LoginForm, SetEmailPasswordForm, SocialLogin }
5351
})
5452
export default class SetPasswordModal extends Vue {
55-
@Prop({ type: Object, required: true }) authUser: AuthUser
56-
@Prop({ type: Array, required: true }) linkedProviders: ProviderConfig[]
57-
@Prop({ type: Function, required: true }) confirmCredentials: (
58-
credentials: LoginCredentials
59-
) => void
53+
@Prop({ type: Object, required: true }) readonly authUser: AuthUser
54+
@Prop({ type: Array, required: true }) readonly linkedProviders: ProviderConfig[]
55+
@Prop({ type: Function, required: true }) readonly confirmCredentials: (credentials: LoginCredentials) => void
6056
6157
showLogin = true
6258
6359
@StateNamespace.notification.Getter notificationMessage: NotificationMessage
6460
@StateNamespace.notification.Action clearNotificationMessage: () => void
6561
@StateNamespace.auth.Getter rememberMe: boolean
66-
@StateNamespace.auth.Action reauthenticateWithCredential: (
67-
credentials: LoginCredentials
68-
) => void
62+
@StateNamespace.auth.Action reauthenticateWithCredential: (credentials: LoginCredentials) => void
6963
7064
created () {
7165
this.$subscribeTo(reauthenticateObservable.asObservable(), () => {

src/components/profile/module/LinkedAccounts.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export default class LinkedAccounts extends BaseModule {
5858
}
5959
6060
getProviderLabel (providerType: ProviderType) {
61-
return this.$t('provider.label.' + providerType)
61+
return this.$t(`provider.label.${providerType}`)
6262
}
6363
6464
getLinkMethod (providerType: ProviderType) {

src/i18n/en.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,9 @@ const messages = {
223223
title: 'Social Login'
224224
},
225225
passwordForm: {
226-
title: 'Set Password',
227-
description: 'Set a password for {email}',
226+
title: 'set email/password',
227+
description: 'set a password for {email}',
228+
descriptionNoEmail: 'set email and password to your account',
228229
submit: 'Save Password'
229230
}
230231
},

src/i18n/tr.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,10 @@ const messages = {
222222
title: 'Sosyal Medya Giris'
223223
},
224224
passwordForm: {
225-
title: 'Parola Belirleme',
225+
title: 'e-posta/parola belirle',
226226
description: '{email} icin bir parola belirleyiniz',
227-
submit: 'Parolayi Kaydet'
227+
descriptionNoEmail: 'hesabininiz icin e-posta ve parola belirleyiniz',
228+
submit: 'parolayi kaydet'
228229
}
229230
},
230231
submit: {

src/plugins/firebase-auth-listener.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,12 @@ import {
1414
} from '~/types'
1515
import { authenticatedAllowed, authenticatedNotAllowed } from '~/service/global-service'
1616
import { getAuthUser } from '~/service/firebase/firebase-service'
17-
import { configureAxiosObservable, configureFcmObservable, loadNotificationObservable } from '~/service/rx-service'
17+
import {
18+
configureAxiosObservable,
19+
configureFcmObservable,
20+
loadNotificationObservable,
21+
reloadUserFromDatabase
22+
} from '~/service/rx-service'
1823

1924
const logout = (store: Store<any>) => {
2025
store.dispatch(StoreConfig.auth.logout, true).then(() => {
@@ -113,6 +118,9 @@ const firebaseAuthListenerPlugin: Plugin = ({ store, app, route, redirect }) =>
113118
return
114119
}
115120
updateAuthStore(firebaseUser, store)
121+
.then(() => {
122+
reloadUserFromDatabase.next()
123+
})
116124

117125
firebaseUser.getIdToken()
118126
.then((token: string) => {

0 commit comments

Comments
 (0)