Add showVia option (#3182)

* Resolve #3160

* Fix bug

* Fix bug
This commit is contained in:
Aya Morisawa 2018-11-09 21:10:21 +09:00 committed by syuilo
parent 597786ed83
commit 7c96393730
8 changed files with 19 additions and 4 deletions

View file

@ -120,6 +120,7 @@ common:
always-show-nsfw: "常に閲覧注意のメディアを表示する" always-show-nsfw: "常に閲覧注意のメディアを表示する"
always-mark-nsfw: "常にメディアを閲覧注意として投稿" always-mark-nsfw: "常にメディアを閲覧注意として投稿"
show-full-acct: "ユーザー名のホストを省略しない" show-full-acct: "ユーザー名のホストを省略しない"
show-via: "viaを表示する"
reduce-motion: "UIの動きを減らす" reduce-motion: "UIの動きを減らす"
this-setting-is-this-device-only: "このデバイスのみ" this-setting-is-this-device-only: "このデバイスのみ"
use-os-default-emojis: "OS標準の絵文字を使用" use-os-default-emojis: "OS標準の絵文字を使用"

View file

@ -8,7 +8,7 @@
<span class="username"><mk-acct :user="note.user"/></span> <span class="username"><mk-acct :user="note.user"/></span>
<span class="is-verified" v-if="note.user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span> <span class="is-verified" v-if="note.user.isVerified" :title="$t('@.verified-user')"><fa icon="star"/></span>
<div class="info"> <div class="info">
<span class="app" v-if="note.app && !mini">via <b>{{ note.app.name }}</b></span> <span class="app" v-if="note.app && !mini && $store.state.settings.showVia">via <b>{{ note.app.name }}</b></span>
<span class="mobile" v-if="note.viaMobile"><fa icon="mobile-alt"/></span> <span class="mobile" v-if="note.viaMobile"><fa icon="mobile-alt"/></span>
<router-link class="created-at" :to="note | notePage"> <router-link class="created-at" :to="note | notePage">
<mk-time :time="note.createdAt"/> <mk-time :time="note.createdAt"/>

View file

@ -60,7 +60,7 @@
</div> </div>
</div> </div>
<footer> <footer>
<span class="app" v-if="note.app">via <b>{{ note.app.name }}</b></span> <span class="app" v-if="note.app && $store.state.settings.showVia">via <b>{{ note.app.name }}</b></span>
<mk-reactions-viewer :note="p"/> <mk-reactions-viewer :note="p"/>
<button class="replyButton" @click="reply" :title="$t('reply')"> <button class="replyButton" @click="reply" :title="$t('reply')">
<template v-if="p.reply"><fa icon="reply-all"/></template> <template v-if="p.reply"><fa icon="reply-all"/></template>

View file

@ -47,7 +47,7 @@
</div> </div>
</div> </div>
<footer> <footer>
<span class="app" v-if="appearNote.app && mini">via <b>{{ appearNote.app.name }}</b></span> <span class="app" v-if="appearNote.app && mini && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/> <mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>
<button class="replyButton" @click="reply()" :title="$t('reply')"> <button class="replyButton" @click="reply()" :title="$t('reply')">
<template v-if="appearNote.reply"><fa icon="reply-all"/></template> <template v-if="appearNote.reply"><fa icon="reply-all"/></template>

View file

@ -112,6 +112,7 @@
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch> <ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }}</ui-switch>
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch> <ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch> <ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
<ui-switch v-model="showVia">{{ $t('@.show-via') }}</ui-switch>
<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch> <ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
<ui-switch v-model="iLikeSushi">{{ $t('@.i-like-sushi') }}</ui-switch> <ui-switch v-model="iLikeSushi">{{ $t('@.i-like-sushi') }}</ui-switch>
</section> </section>
@ -479,6 +480,11 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'showFullAcct', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'showFullAcct', value }); }
}, },
showVia: {
get() { return this.$store.state.settings.showVia; },
set(value) { this.$store.dispatch('settings/set', { key: 'showVia', value }); }
},
iLikeSushi: { iLikeSushi: {
get() { return this.$store.state.settings.iLikeSushi; }, get() { return this.$store.state.settings.iLikeSushi; },
set(value) { this.$store.dispatch('settings/set', { key: 'iLikeSushi', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'iLikeSushi', value }); }

View file

@ -41,7 +41,7 @@
<a class="location" v-if="appearNote.geo" :href="`https://maps.google.com/maps?q=${appearNote.geo.coordinates[1]},${appearNote.geo.coordinates[0]}`" target="_blank"><fa icon="map-marker-alt"/> {{ $t('location') }}</a> <a class="location" v-if="appearNote.geo" :href="`https://maps.google.com/maps?q=${appearNote.geo.coordinates[1]},${appearNote.geo.coordinates[0]}`" target="_blank"><fa icon="map-marker-alt"/> {{ $t('location') }}</a>
<div class="renote" v-if="appearNote.renote"><mk-note-preview :note="appearNote.renote"/></div> <div class="renote" v-if="appearNote.renote"><mk-note-preview :note="appearNote.renote"/></div>
</div> </div>
<span class="app" v-if="appearNote.app">via <b>{{ appearNote.app.name }}</b></span> <span class="app" v-if="appearNote.app && $store.state.settings.showVia">via <b>{{ appearNote.app.name }}</b></span>
</div> </div>
<footer> <footer>
<mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/> <mk-reactions-viewer :note="appearNote" ref="reactionsViewer"/>

View file

@ -23,6 +23,7 @@
<ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch> <ui-switch v-model="reduceMotion">{{ $t('@.reduce-motion') }} ({{ $t('@.this-setting-is-this-device-only') }})</ui-switch>
<ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch> <ui-switch v-model="contrastedAcct">{{ $t('contrasted-acct') }}</ui-switch>
<ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch> <ui-switch v-model="showFullAcct">{{ $t('@.show-full-acct') }}</ui-switch>
<ui-switch v-model="showFullVia">{{ $t('@.show-via') }}</ui-switch>
<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch> <ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
<ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch> <ui-switch v-model="useOsDefaultEmojis">{{ $t('@.use-os-default-emojis') }}</ui-switch>
<ui-switch v-model="iLikeSushi">{{ $t('@.i-like-sushi') }}</ui-switch> <ui-switch v-model="iLikeSushi">{{ $t('@.i-like-sushi') }}</ui-switch>
@ -283,6 +284,12 @@ export default Vue.extend({
set(value) { this.$store.dispatch('settings/set', { key: 'showFullAcct', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'showFullAcct', value }); }
}, },
showVia: {
get() { return this.$store.state.settings.showVia; },
set(value) { this.$store.dispatch('settings/set', { key: 'showVia', value }); }
},
iLikeSushi: { iLikeSushi: {
get() { return this.$store.state.settings.iLikeSushi; }, get() { return this.$store.state.settings.iLikeSushi; },
set(value) { this.$store.dispatch('settings/set', { key: 'iLikeSushi', value }); } set(value) { this.$store.dispatch('settings/set', { key: 'iLikeSushi', value }); }

View file

@ -23,6 +23,7 @@ const defaultSettings = {
circleIcons: true, circleIcons: true,
contrastedAcct: true, contrastedAcct: true,
showFullAcct: false, showFullAcct: false,
showVia: true,
showReplyTarget: true, showReplyTarget: true,
showMyRenotes: true, showMyRenotes: true,
showRenotedMyNotes: true, showRenotedMyNotes: true,