feat(editor): Respect default privacy setting of the account (#1699)

zio/stable
Peter Budai 2023-02-11 18:04:41 +01:00 committed by GitHub
parent db2892c4c0
commit 3e648f6fbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 3 deletions

View File

@ -27,7 +27,7 @@ const emit = defineEmits<{
const { t } = useI18n() const { t } = useI18n()
const draftState = useDraft(draftKey, initial) const draftState = useDraft(draftKey, initial)
const { draft } = $(draftState) const { draft, isEmpty } = $(draftState)
const { const {
isExceedingAttachmentLimit, isUploading, failedAttachments, isOverDropZone, isExceedingAttachmentLimit, isUploading, failedAttachments, isOverDropZone,
@ -48,6 +48,8 @@ const { editor } = useTiptap({
set: (newVal) => { set: (newVal) => {
draft.params.status = newVal draft.params.status = newVal
draft.lastUpdated = Date.now() draft.lastUpdated = Date.now()
if (isEmpty)
clearEmptyDrafts()
}, },
}), }),
placeholder: computed(() => placeholder ?? draft.params.inReplyToId ? t('placeholder.replying') : t('placeholder.default_1')), placeholder: computed(() => placeholder ?? draft.params.inReplyToId ? t('placeholder.replying') : t('placeholder.default_1')),

View File

@ -30,7 +30,7 @@ export function getDefaultDraft(options: Partial<Mutable<mastodon.v1.CreateStatu
params: { params: {
status: status || '', status: status || '',
inReplyToId, inReplyToId,
visibility: visibility || 'public', visibility: currentUser.value?.account.source.privacy || visibility || 'public',
sensitive: sensitive ?? false, sensitive: sensitive ?? false,
spoilerText: spoilerText || '', spoilerText: spoilerText || '',
language: language || '', // auto inferred from current language on posting language: language || '', // auto inferred from current language on posting
@ -141,7 +141,7 @@ export function directMessageUser(account: mastodon.v1.Account) {
export function clearEmptyDrafts() { export function clearEmptyDrafts() {
for (const key in currentUserDrafts.value) { for (const key in currentUserDrafts.value) {
if (builtinDraftKeys.includes(key)) if (builtinDraftKeys.includes(key) && !isEmptyDraft(currentUserDrafts.value[key]))
continue continue
if (!currentUserDrafts.value[key].params || isEmptyDraft(currentUserDrafts.value[key])) if (!currentUserDrafts.value[key].params || isEmptyDraft(currentUserDrafts.value[key]))
delete currentUserDrafts.value[key] delete currentUserDrafts.value[key]