Skip to content

Commit 8cad04d

Browse files
authored
Merge pull request #39055 from nextcloud/backport/38832/stable27
[stable27] Adjust saving of status messages
2 parents 5fd29c6 + d8141c6 commit 8cad04d

7 files changed

Lines changed: 50 additions & 60 deletions

File tree

apps/user_status/src/components/CustomMessageInput.vue

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@
3838
:placeholder="$t('user_status', 'What is your status?')"
3939
type="text"
4040
:value="message"
41-
@change="onChange"
42-
@keyup="onKeyup"
43-
@paste="onKeyup">
41+
@input="onChange">
4442
</div>
4543
</div>
4644
</template>
@@ -100,12 +98,8 @@ export default {
10098
*
10199
* @param {Event} event The Change Event
102100
*/
103-
onKeyup(event) {
104-
this.$emit('change', event.target.value)
105-
},
106-
107101
onChange(event) {
108-
this.$emit('submit', event.target.value)
102+
this.$emit('change', event.target.value)
109103
},
110104
111105
setIcon(icon) {

apps/user_status/src/components/SetStatusModal.vue

Lines changed: 41 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -38,45 +38,46 @@
3838
@select="changeStatus" />
3939
</div>
4040

41-
<!-- Status message -->
42-
<div class="set-status-modal__header">
43-
<h2>{{ $t('user_status', 'Status message') }}</h2>
44-
</div>
45-
<div class="set-status-modal__custom-input">
46-
<CustomMessageInput ref="customMessageInput"
47-
:icon="icon"
48-
:message="editedMessage"
49-
@change="setMessage"
50-
@submit="saveStatus"
51-
@select-icon="setIcon" />
52-
</div>
53-
<div v-if="hasBackupStatus"
54-
class="set-status-modal__automation-hint">
55-
{{ $t('user_status', 'Your status was set automatically') }}
56-
</div>
57-
<PreviousStatus v-if="hasBackupStatus"
58-
:icon="backupIcon"
59-
:message="backupMessage"
60-
@select="revertBackupFromServer" />
61-
<PredefinedStatusesList :is-custom-status="isCustomStatus" @select-status="selectPredefinedMessage" />
62-
<ClearAtSelect :clear-at="clearAt"
63-
@select-clear-at="setClearAt" />
64-
<div class="status-buttons">
65-
<NcButton :wide="true"
66-
type="tertiary"
67-
:text="$t('user_status', 'Clear status message')"
68-
:disabled="isSavingStatus"
69-
@click="clearStatus">
70-
{{ $t('user_status', 'Clear status message') }}
71-
</NcButton>
72-
<NcButton :wide="true"
73-
type="primary"
74-
:text="$t('user_status', 'Set status message')"
75-
:disabled="isSavingStatus"
76-
@click="saveStatus">
77-
{{ $t('user_status', 'Set status message') }}
78-
</NcButton>
79-
</div>
41+
<!-- Status message form -->
42+
<form @submit.prevent="saveStatus" @reset="clearStatus">
43+
<div class="set-status-modal__header">
44+
<h2>{{ $t('user_status', 'Status message') }}</h2>
45+
</div>
46+
<div class="set-status-modal__custom-input">
47+
<CustomMessageInput ref="customMessageInput"
48+
:icon="icon"
49+
:message="editedMessage"
50+
@change="setMessage"
51+
@select-icon="setIcon" />
52+
</div>
53+
<div v-if="hasBackupStatus"
54+
class="set-status-modal__automation-hint">
55+
{{ $t('user_status', 'Your status was set automatically') }}
56+
</div>
57+
<PreviousStatus v-if="hasBackupStatus"
58+
:icon="backupIcon"
59+
:message="backupMessage"
60+
@select="revertBackupFromServer" />
61+
<PredefinedStatusesList :is-custom-status="isCustomStatus" @select-status="selectPredefinedMessage" />
62+
<ClearAtSelect :clear-at="clearAt"
63+
@select-clear-at="setClearAt" />
64+
<div class="status-buttons">
65+
<NcButton :wide="true"
66+
type="tertiary"
67+
native-type="reset"
68+
:aria-label="$t('user_status', 'Clear status message')"
69+
:disabled="isSavingStatus">
70+
{{ $t('user_status', 'Clear status message') }}
71+
</NcButton>
72+
<NcButton :wide="true"
73+
type="primary"
74+
native-type="submit"
75+
:aria-label="$t('user_status', 'Set status message')"
76+
:disabled="isSavingStatus">
77+
{{ $t('user_status', 'Set status message') }}
78+
</NcButton>
79+
</div>
80+
</form>
8081
</div>
8182
</NcModal>
8283
</template>
@@ -245,12 +246,7 @@ export default {
245246
try {
246247
this.isSavingStatus = true
247248
248-
if (this.messageId !== undefined && this.messageId !== null) {
249-
await this.$store.dispatch('setPredefinedMessage', {
250-
messageId: this.messageId,
251-
clearAt: this.clearAt,
252-
})
253-
} else {
249+
if (this.isCustomStatus) {
254250
await this.$store.dispatch('setCustomMessage', {
255251
message: this.editedMessage,
256252
icon: this.icon,

apps/user_status/src/store/predefinedStatuses.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const mutations = {
3535
* @param {object} status The status to add
3636
*/
3737
addPredefinedStatus(state, status) {
38-
state.predefinedStatuses.push(status)
38+
state.predefinedStatuses = [...state.predefinedStatuses, status]
3939
},
4040
}
4141

dist/user-status-modal-8299.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/user-status-modal-8299.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/user_status-menu.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/user_status-menu.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)