[Client] Improve cw-button
This commit is contained in:
parent
b2dedf7f98
commit
596f92cfcc
10 changed files with 34 additions and 9 deletions
|
@ -322,6 +322,8 @@ common/views/components/theme.vue:
|
||||||
common/views/components/cw-button.vue:
|
common/views/components/cw-button.vue:
|
||||||
hide: "隠す"
|
hide: "隠す"
|
||||||
show: "もっと見る"
|
show: "もっと見る"
|
||||||
|
chars: "{count}文字"
|
||||||
|
files: "{count}ファイル"
|
||||||
|
|
||||||
common/views/components/messaging.vue:
|
common/views/components/messaging.vue:
|
||||||
search-user: "ユーザーを探す"
|
search-user: "ユーザーを探す"
|
||||||
|
|
|
@ -1,21 +1,36 @@
|
||||||
<template>
|
<template>
|
||||||
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">{{ value ? this.$t('hide') : this.$t('show') }}</button>
|
<button class="nrvgflfuaxwgkxoynpnumyookecqrrvh" @click="toggle">
|
||||||
|
<b>{{ value ? this.$t('hide') : this.$t('show') }}</b>
|
||||||
|
<span v-if="!value">
|
||||||
|
<span v-if="note.text">{{ this.$t('chars', { count: length(note.text) }) | number }}</span>
|
||||||
|
<span v-if="note.text && note.files && note.files.length > 0"> / </span>
|
||||||
|
<span v-if="note.files && note.files.length > 0">{{ this.$t('files', { count: note.files.length }) }}</span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import i18n from '../../../i18n';
|
import i18n from '../../../i18n';
|
||||||
|
import { length } from 'stringz';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
i18n: i18n('common/views/components/cw-button.vue'),
|
i18n: i18n('common/views/components/cw-button.vue'),
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
value: {
|
value: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
note: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
length,
|
||||||
|
|
||||||
toggle() {
|
toggle() {
|
||||||
this.$emit('input', !this.value);
|
this.$emit('input', !this.value);
|
||||||
}
|
}
|
||||||
|
@ -37,4 +52,12 @@ export default Vue.extend({
|
||||||
&:hover
|
&:hover
|
||||||
background var(--cwButtonHoverBg)
|
background var(--cwButtonHoverBg)
|
||||||
|
|
||||||
|
> span
|
||||||
|
margin-left 4px
|
||||||
|
|
||||||
|
&:before
|
||||||
|
content '('
|
||||||
|
&:after
|
||||||
|
content ')'
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="appearNote.cw != null" class="cw">
|
<p v-if="appearNote.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="appearNote"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="appearNote.cw == null || showContent">
|
<div class="content" v-show="appearNote.cw == null || showContent">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="note.cw != null" class="cw">
|
<p v-if="note.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="note"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="note.cw == null || showContent">
|
<div class="content" v-show="note.cw == null || showContent">
|
||||||
<mk-sub-note-content class="text" :note="note"/>
|
<mk-sub-note-content class="text" :note="note"/>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="note.cw != null" class="cw">
|
<p v-if="note.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="note"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="note.cw == null || showContent">
|
<div class="content" v-show="note.cw == null || showContent">
|
||||||
<mk-sub-note-content class="text" :note="note"/>
|
<mk-sub-note-content class="text" :note="note"/>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<div class="body" v-if="appearNote.deletedAt == null">
|
<div class="body" v-if="appearNote.deletedAt == null">
|
||||||
<p v-if="appearNote.cw != null" class="cw">
|
<p v-if="appearNote.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="appearNote"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="appearNote.cw == null || showContent">
|
<div class="content" v-show="appearNote.cw == null || showContent">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="appearNote.cw != null" class="cw">
|
<p v-if="appearNote.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="appearNote"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="appearNote.cw == null || showContent">
|
<div class="content" v-show="appearNote.cw == null || showContent">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="note.cw != null" class="cw">
|
<p v-if="note.cw != null" class="cw">
|
||||||
<span class="text" v-if="note.cw != ''">{{ note.cw }}</span>
|
<span class="text" v-if="note.cw != ''">{{ note.cw }}</span>
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="note"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="note.cw == null || showContent">
|
<div class="content" v-show="note.cw == null || showContent">
|
||||||
<mk-sub-note-content class="text" :note="note"/>
|
<mk-sub-note-content class="text" :note="note"/>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<p v-if="note.cw != null" class="cw">
|
<p v-if="note.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
<misskey-flavored-markdown v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$store.state.i" :custom-emojis="note.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="note"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="note.cw == null || showContent">
|
<div class="content" v-show="note.cw == null || showContent">
|
||||||
<mk-sub-note-content class="text" :note="note"/>
|
<mk-sub-note-content class="text" :note="note"/>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<div class="body" v-if="appearNote.deletedAt == null">
|
<div class="body" v-if="appearNote.deletedAt == null">
|
||||||
<p v-if="appearNote.cw != null" class="cw">
|
<p v-if="appearNote.cw != null" class="cw">
|
||||||
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
<misskey-flavored-markdown v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$store.state.i" :custom-emojis="appearNote.emojis" />
|
||||||
<mk-cw-button v-model="showContent"/>
|
<mk-cw-button v-model="showContent" :note="appearNote"/>
|
||||||
</p>
|
</p>
|
||||||
<div class="content" v-show="appearNote.cw == null || showContent">
|
<div class="content" v-show="appearNote.cw == null || showContent">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
|
|
Loading…
Reference in a new issue