|
16 | 16 | </p> |
17 | 17 | </template> |
18 | 18 |
|
19 | | - <template v-if="!canEditUsername"> |
| 19 | + <form @submit.prevent="submitEdits"> |
| 20 | + |
20 | 21 | <h3>{{ $tr('username') }}</h3> |
21 | | - <p>{{ session.username }}</p> |
22 | | - </template> |
| 22 | + <core-textbox |
| 23 | + v-if="canEditUsername" |
| 24 | + :disabled="busy" |
| 25 | + :invalid="error" |
| 26 | + :error="errorMessage" |
| 27 | + v-model="username" |
| 28 | + autocomplete="username" |
| 29 | + type="text" |
| 30 | + /> |
| 31 | + <p v-else>{{ session.username }}</p> |
23 | 32 |
|
24 | | - <template v-if="!canEditName"> |
25 | 33 | <h3>{{ $tr('name') }}</h3> |
26 | | - <p>{{ session.full_name }}</p> |
27 | | - </template> |
28 | | - |
29 | | - <form v-if="canEditUsername || canEditName" @submit.prevent="submitEdits"> |
30 | | - |
31 | | - <template v-if="canEditUsername"> |
32 | | - <h3>{{ $tr('username') }}</h3> |
33 | | - <core-textbox |
34 | | - :disabled="busy" |
35 | | - :invalid="error" |
36 | | - :error="errorMessage" |
37 | | - v-model="username" |
38 | | - autocomplete="username" |
39 | | - type="text" /> |
40 | | - </template> |
41 | | - |
42 | | - <template v-if="canEditName"> |
43 | | - <h3>{{ $tr('name') }}</h3> |
44 | | - <core-textbox |
45 | | - :disabled="busy" |
46 | | - v-model="full_name" |
47 | | - autocomplete="name" |
48 | | - type="text" /> |
49 | | - </template> |
| 34 | + <core-textbox |
| 35 | + v-if="canEditName" |
| 36 | + :disabled="busy" |
| 37 | + v-model="full_name" |
| 38 | + autocomplete="name" |
| 39 | + type="text" |
| 40 | + /> |
| 41 | + <p v-else>{{ session.full_name }}</p> |
50 | 42 |
|
51 | 43 | <k-button |
| 44 | + v-if="canEditUsername || canEditName" |
52 | 45 | :disabled="busy" |
53 | 46 | :primary="true" |
54 | 47 | :text="$tr('updateProfile')" |
55 | 48 | class="submit" |
56 | | - type="submit" /> |
| 49 | + type="submit" |
| 50 | + /> |
57 | 51 | </form> |
58 | 52 | </div> |
59 | 53 |
|
|
65 | 59 | import * as actions from '../../state/actions'; |
66 | 60 | import * as getters from 'kolibri.coreVue.vuex.getters'; |
67 | 61 | import responsiveWindow from 'kolibri.coreVue.mixins.responsiveWindow'; |
68 | | - import { totalPoints } from 'kolibri.coreVue.vuex.getters'; |
69 | 62 | import { fetchPoints } from 'kolibri.coreVue.vuex.actions'; |
70 | 63 | import kButton from 'kolibri.coreVue.components.kButton'; |
71 | 64 | import coreTextbox from 'kolibri.coreVue.components.textbox'; |
|
157 | 150 | isAdmin: getters.isAdmin, |
158 | 151 | isCoach: getters.isCoach, |
159 | 152 | isLearner: getters.isLearner, |
160 | | - totalPoints, |
| 153 | + totalPoints: getters.totalPoints, |
161 | 154 | }, |
162 | 155 | actions: { |
163 | 156 | editProfile: actions.editProfile, |
|
0 commit comments