From acbb53d6a40e422d637e7a0b07593a18c59b0c70 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 31 Dec 2024 13:05:15 +0200 Subject: [PATCH] proper disable --- src/App.scss | 4 +++ src/components/draft/draft.vue | 11 ++++++-- src/components/menu_item.style.js | 27 +++++++++++++++++-- .../post_status_form/post_status_form.js | 10 ++++--- .../post_status_form/post_status_form.vue | 2 ++ 5 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/App.scss b/src/App.scss index dc784fdd0..1b781304e 100644 --- a/src/App.scss +++ b/src/App.scss @@ -402,6 +402,10 @@ nav { color: var(--text); font-size: 100%; } + + &.disabled { + cursor: not-allowed; + } } .menu-item, diff --git a/src/components/draft/draft.vue b/src/components/draft/draft.vue index 9c4da3012..46227b684 100644 --- a/src/components/draft/draft.vue +++ b/src/components/draft/draft.vue @@ -27,8 +27,15 @@ />
-

{{ draft.status }}

-

{{ $t('drafts.empty') }}

+ +

+ + {{ draft.spoilerText }}: + +

+

{{ draft.status }}

+

{{ $t('drafts.empty') }}

+
state.interface.mobileLayout @@ -747,9 +753,7 @@ const PostStatusForm = { saveDraft () { if (!this.disableDraft && !this.saveInhibited) { - if (this.newStatus.status || - this.newStatus.files?.length || - this.newStatus.hasPoll) { + if (this.safeToSaveDraft) { return this.$store.dispatch('addOrSaveDraft', { draft: this.newStatus }) .then(id => { if (this.newStatus.id !== id) { diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue index 20bf81916..8607b5a8f 100644 --- a/src/components/post_status_form/post_status_form.vue +++ b/src/components/post_status_form/post_status_form.vue @@ -339,6 +339,8 @@ v-if="!disableDraft" class="menu-item dropdown-item dropdown-item-icon" role="menu" + :disabled="!safeToSaveDraft" + :class="{ disabled: !safeToSaveDraft }" @click.prevent="saveDraft" @click="close" >