Merge branch 'feature/scope_preferences' into shigusegubu
* feature/scope_preferences: lint fix now it actually works settings for scope/subject
This commit is contained in:
commit
41ee42e03f
10 changed files with 81 additions and 8 deletions
|
|
@ -24,7 +24,7 @@ const PostStatusForm = {
|
|||
'replyTo',
|
||||
'repliedUser',
|
||||
'attentions',
|
||||
'messageScope',
|
||||
'copyMessageScope',
|
||||
'subject'
|
||||
],
|
||||
components: {
|
||||
|
|
@ -46,6 +46,12 @@ const PostStatusForm = {
|
|||
statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser)
|
||||
}
|
||||
|
||||
console.log(this.copyMessageScope)
|
||||
const scope = (this.copyMessageScope && this.$store.state.config.copyScope || this.copyMessageScope === 'direct')
|
||||
? this.copyMessageScope
|
||||
: this.$store.state.users.currentUser.default_scope
|
||||
|
||||
console.log(this)
|
||||
return {
|
||||
dropFiles: [],
|
||||
submitDisabled: false,
|
||||
|
|
@ -57,7 +63,7 @@ const PostStatusForm = {
|
|||
status: statusText,
|
||||
nsfw: false,
|
||||
files: [],
|
||||
visibility: this.messageScope || this.$store.state.users.currentUser.default_scope
|
||||
visibility: scope
|
||||
},
|
||||
caret: 0
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,12 @@ const settings = {
|
|||
? instance.collapseMessageWithSubject
|
||||
: user.collapseMessageWithSubject,
|
||||
collapseMessageWithSubjectDefault: this.$t('settings.values.' + instance.collapseMessageWithSubject),
|
||||
subjectLineBehaviorLocal: typeof user.subjectLineBehavior === 'undefined'
|
||||
? instance.subjectLineBehavior
|
||||
: user.subjectLineBehavior,
|
||||
subjectLineBehaviorDefault: instance.subjectLineBehavior,
|
||||
scopeCopyLocal: user.scopeCopy,
|
||||
scopeCopyDefault: this.$t('settings.values.' + instance.scopeCopy),
|
||||
stopGifs: user.stopGifs,
|
||||
loopSilentAvailable:
|
||||
// Firefox
|
||||
|
|
@ -99,6 +105,12 @@ const settings = {
|
|||
collapseMessageWithSubjectLocal (value) {
|
||||
this.$store.dispatch('setOption', { name: 'collapseMessageWithSubject', value })
|
||||
},
|
||||
scopeCopyLocal (value) {
|
||||
this.$store.dispatch('setOption', { name: 'scopeCopy', value })
|
||||
},
|
||||
subjectLineBehaviorLocal (value) {
|
||||
this.$store.dispatch('setOption', { name: 'subjectLineBehavior', value })
|
||||
},
|
||||
stopGifs (value) {
|
||||
this.$store.dispatch('setOption', { name: 'stopGifs', value })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,6 +53,41 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="setting-item">
|
||||
<h2>{{$t('settings.composing')}}</h2>
|
||||
<ul class="setting-list">
|
||||
<li>
|
||||
<input type="checkbox" id="scopeCopy" v-model="scopeCopyLocal">
|
||||
<label for="scopeCopy">
|
||||
{{$t('settings.scope_copy')}} {{$t('settings.instance_default', { value: scopeCopyDefault })}}
|
||||
</label>
|
||||
</li>
|
||||
<li>
|
||||
<div>
|
||||
{{$t('settings.subject_line_behavior')}}
|
||||
<label for="subjectLineBehavior" class="select">
|
||||
<select id="subjectLineBehavior" v-model="subjectLineBehaviorLocal">
|
||||
<option value="email">
|
||||
{{$t('settings.subject_line_email')}}
|
||||
{{subjectLineBehaviorDefault == 'email' ? $t('settings.instance_default_simple') : ''}}
|
||||
</option>
|
||||
<option value="masto">
|
||||
{{$t('settings.subject_line_mastodon')}}
|
||||
{{subjectLineBehaviorDefault == 'mastodon' ? $t('settings.instance_default_simple') : ''}}
|
||||
</option>
|
||||
<option value="noop">
|
||||
{{$t('settings.subject_line_noop')}}
|
||||
{{subjectLineBehaviorDefault == 'noop' ? $t('settings.instance_default_simple') : ''}}
|
||||
</option>
|
||||
</select>
|
||||
<i class="icon-down-open"/>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="setting-item">
|
||||
<h2>{{$t('settings.attachments')}}</h2>
|
||||
<ul class="setting-list">
|
||||
|
|
|
|||
|
|
@ -174,10 +174,16 @@ const Status = {
|
|||
return true
|
||||
},
|
||||
replySubject () {
|
||||
if (this.status.summary && !this.status.summary.match(/^re[: ]/i)) {
|
||||
if (!this.status.summary) return ''
|
||||
const behavior = this.$store.state.config.subjectLineBehavior
|
||||
const startsWithRe = this.status.summary.match(/^re[: ]/i)
|
||||
if (behavior !== 'noop' && startsWithRe || behavior === 'masto') {
|
||||
return this.status.summary
|
||||
} else if (behavior === 'email') {
|
||||
return 're: '.concat(this.status.summary)
|
||||
} else if (behavior === 'noop') {
|
||||
return ''
|
||||
}
|
||||
return this.status.summary
|
||||
},
|
||||
attachmentSize () {
|
||||
if ((this.$store.state.config.hideAttachments && !this.inConversation) ||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@
|
|||
</div>
|
||||
<div class="container" v-if="replying">
|
||||
<div class="reply-left"/>
|
||||
<post-status-form class="reply-body" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" :message-scope="status.visibility" :subject="replySubject" v-on:posted="toggleReplying"/>
|
||||
<post-status-form class="reply-body" :reply-to="status.id" :attentions="status.attentions" :repliedUser="status.user" :copy-message-scope="status.visibility" :subject="replySubject" v-on:posted="toggleReplying"/>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue