From cc922029fb5e574830a185642f24747b9b9933f4 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 30 Dec 2024 01:22:17 +0200 Subject: [PATCH 1/3] resize button to compensate for added width of dropdown --- src/components/post_status_form/post_status_form.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/post_status_form/post_status_form.scss b/src/components/post_status_form/post_status_form.scss index 99cc30fee..e1da8556e 100644 --- a/src/components/post_status_form/post_status_form.scss +++ b/src/components/post_status_form/post_status_form.scss @@ -12,7 +12,7 @@ height: 2.5em; .post-button { - width: 10em; + width: 7.5em; } p { From 8657c820bdc6347f804613b7506efe42dc2dc0a4 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 30 Dec 2024 02:07:49 +0200 Subject: [PATCH 2/3] include attachments in draft --- src/components/draft/draft.js | 18 +++++++++++++++++- src/components/draft/draft.vue | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/components/draft/draft.js b/src/components/draft/draft.js index cb07ec5c5..c32208021 100644 --- a/src/components/draft/draft.js +++ b/src/components/draft/draft.js @@ -2,13 +2,15 @@ import PostStatusForm from 'src/components/post_status_form/post_status_form.vue import EditStatusForm from 'src/components/edit_status_form/edit_status_form.vue' import ConfirmModal from 'src/components/confirm_modal/confirm_modal.vue' import StatusContent from 'src/components/status_content/status_content.vue' +import Gallery from 'src/components/gallery/gallery.vue' const Draft = { components: { PostStatusForm, EditStatusForm, ConfirmModal, - StatusContent + StatusContent, + Gallery }, props: { draft: { @@ -17,6 +19,7 @@ const Draft = { } }, data () { + console.log('DRAFT', this.draft) return { editing: false, showingConfirmDialog: false @@ -40,6 +43,19 @@ const Draft = { }, refStatus () { return this.draft.refId ? this.$store.state.statuses.allStatusesObject[this.draft.refId] : undefined + }, + localCollapseSubjectDefault () { + return this.$store.getters.mergedConfig.collapseMessageWithSubject + }, + nsfwClickthrough () { + console.log(this.draft) + if (!this.draft.nsfw) { + return false + } + if (this.draft.summary && this.localCollapseSubjectDefault) { + return false + } + return true } }, methods: { diff --git a/src/components/draft/draft.vue b/src/components/draft/draft.vue index d462045ed..2e1937486 100644 --- a/src/components/draft/draft.vue +++ b/src/components/draft/draft.vue @@ -26,7 +26,20 @@ :compact="true" /> -

{{ draft.status }}

+
+

{{ draft.status }}

+ +
.Draft { + position: relative; + + a { + color: var(--link); + } + .status-content { padding: 0.5em; margin: 0.5em 0; } + .status-preview { + display: grid; + grid-template-columns: 1fr 10em; + grid-gap: 0.5em; + max-width: 100%; + + p { + word-wrap: break-word; + white-space: normal; + overflow-x: hidden; + } + } + .actions { display: flex; flex-direction: row; From 68e8a24f1886c8f38857f19a6a978ad60fdde752 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Mon, 30 Dec 2024 03:10:11 +0200 Subject: [PATCH 3/3] a bit clearer draft editing flow, partially divorced menu-item from list-item --- src/App.scss | 21 +++++++++----- src/components/draft/draft.js | 19 ++++++++++-- src/components/draft/draft.vue | 8 +++-- src/components/drafts/drafts.vue | 7 +++++ .../post_status_form/post_status_form.js | 19 ++++++------ .../post_status_form/post_status_form.scss | 29 ++++++++++++------- .../post_status_form/post_status_form.vue | 2 +- src/i18n/en.json | 1 + 8 files changed, 74 insertions(+), 32 deletions(-) diff --git a/src/App.scss b/src/App.scss index 2afc43908..dc784fdd0 100644 --- a/src/App.scss +++ b/src/App.scss @@ -390,6 +390,20 @@ nav { } } +.menu-item { + line-height: var(--__line-height); + font-family: inherit; + font-weight: 400; + font-size: 100%; + cursor: pointer; + + a, + button:not(.button-default) { + color: var(--text); + font-size: 100%; + } +} + .menu-item, .list-item { display: block; @@ -397,10 +411,6 @@ nav { border: none; outline: none; text-align: initial; - font-size: inherit; - font-family: inherit; - font-weight: 400; - cursor: pointer; color: inherit; clear: both; position: relative; @@ -410,7 +420,6 @@ nav { border-width: 0; border-top-width: 1px; width: 100%; - line-height: var(--__line-height); padding: var(--__vertical-gap) var(--__horizontal-gap); background: transparent; @@ -450,10 +459,8 @@ nav { border: none; outline: none; display: inline; - font-size: 100%; font-family: inherit; line-height: unset; - color: var(--text); } &:first-child { diff --git a/src/components/draft/draft.js b/src/components/draft/draft.js index c32208021..e31d02964 100644 --- a/src/components/draft/draft.js +++ b/src/components/draft/draft.js @@ -3,6 +3,7 @@ import EditStatusForm from 'src/components/edit_status_form/edit_status_form.vue import ConfirmModal from 'src/components/confirm_modal/confirm_modal.vue' import StatusContent from 'src/components/status_content/status_content.vue' import Gallery from 'src/components/gallery/gallery.vue' +import { cloneDeep } from 'lodash' const Draft = { components: { @@ -19,8 +20,8 @@ const Draft = { } }, data () { - console.log('DRAFT', this.draft) return { + referenceDraft: cloneDeep(this.draft), editing: false, showingConfirmDialog: false } @@ -35,6 +36,11 @@ const Draft = { return {} } }, + safeToSave () { + return this.draft.status || + this.draft.files?.length || + this.draft.hasPoll + }, postStatusFormProps () { return { draftId: this.draft.id, @@ -48,7 +54,6 @@ const Draft = { return this.$store.getters.mergedConfig.collapseMessageWithSubject }, nsfwClickthrough () { - console.log(this.draft) if (!this.draft.nsfw) { return false } @@ -58,6 +63,16 @@ const Draft = { return true } }, + watch: { + editing (newVal) { + if (newVal) return + if (this.safeToSave) { + this.$store.dispatch('addOrSaveDraft', { draft: this.draft }) + } else { + this.$store.dispatch('addOrSaveDraft', { draft: this.referenceDraft }) + } + } + }, methods: { toggleEditing () { this.editing = !this.editing diff --git a/src/components/draft/draft.vue b/src/components/draft/draft.vue index 2e1937486..6ccf8695d 100644 --- a/src/components/draft/draft.vue +++ b/src/components/draft/draft.vue @@ -44,10 +44,12 @@
@@ -66,11 +68,10 @@
-
+