動画もNSFW

This commit is contained in:
syuilo 2018-07-20 02:53:32 +09:00
parent be05309ca4
commit e2a033c627
3 changed files with 101 additions and 25 deletions

View file

@ -383,6 +383,10 @@ desktop/views/components/media-image.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
desktop/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
desktop/views/components/follow-button.vue: desktop/views/components/follow-button.vue:
following: "フォロー中" following: "フォロー中"
follow: "フォロー" follow: "フォロー"
@ -863,6 +867,10 @@ mobile/views/components/media-image.vue:
sensitive: "閲覧注意" sensitive: "閲覧注意"
click-to-show: "クリックして表示" click-to-show: "クリックして表示"
mobile/views/components/media-video.vue:
sensitive: "閲覧注意"
click-to-show: "クリックして表示"
mobile/views/components/follow-button.vue: mobile/views/components/follow-button.vue:
following: "フォロー中" following: "フォロー中"
follow: "フォロー" follow: "フォロー"

View file

@ -1,12 +1,19 @@
<template> <template>
<video class="mk-media-video" <div class="uofhebxjdgksfmltszlxurtjnjjsvioh" v-if="video.isSensitive && hide" @click="hide = false">
<div>
<b>%fa:exclamation-triangle% %i18n:@sensitive%</b>
<span>%i18n:@click-to-show%</span>
</div>
</div>
<div class="vwxdhznewyashiknzolsoihtlpicqepe" v-else>
<video class="video"
:src="video.url" :src="video.url"
:title="video.name" :title="video.name"
controls controls
@dblclick.prevent="onClick" @dblclick.prevent="onClick"
ref="video" ref="video"
v-if="inlinePlayable" /> v-if="inlinePlayable" />
<a class="mk-media-video-thumbnail" <a class="thumbnail"
:href="video.url" :href="video.url"
:style="imageStyle" :style="imageStyle"
@click.prevent="onClick" @click.prevent="onClick"
@ -14,6 +21,7 @@
v-else> v-else>
%fa:R play-circle% %fa:R play-circle%
</a> </a>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
@ -21,7 +29,19 @@ import Vue from 'vue';
import MkMediaVideoDialog from './media-video-dialog.vue'; import MkMediaVideoDialog from './media-video-dialog.vue';
export default Vue.extend({ export default Vue.extend({
props: ['video', 'inlinePlayable'], props: {
video: {
type: Object,
required: true
},
inlinePlayable: {
default: false
},
hide: {
type: Boolean,
default: true
}
},
computed: { computed: {
imageStyle(): any { imageStyle(): any {
return { return {
@ -47,22 +67,39 @@ export default Vue.extend({
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
.mk-media-video .vwxdhznewyashiknzolsoihtlpicqepe
display block .video
width 100% display block
height 100% width 100%
border-radius 4px height 100%
border-radius 4px
.mk-media-video-thumbnail .thumbnail
display flex
justify-content center
align-items center
font-size 3.5em
cursor zoom-in
overflow hidden
background-position center
background-size cover
width 100%
height 100%
.uofhebxjdgksfmltszlxurtjnjjsvioh
display flex display flex
justify-content center justify-content center
align-items center align-items center
font-size 3.5em background #111
color #fff
> div
display table-cell
text-align center
font-size 12px
> b
display block
cursor zoom-in
overflow hidden
background-position center
background-size cover
width 100%
height 100%
</style> </style>

View file

@ -1,17 +1,32 @@
<template> <template>
<a class="mk-media-video" <div class="icozogqfvdetwohsdglrbswgrejoxbdj" v-if="video.isSensitive && hide" @click="hide = false">
:href="video.url" <div>
target="_blank" <b>%fa:exclamation-triangle% %i18n:@sensitive%</b>
:style="imageStyle" <span>%i18n:@click-to-show%</span>
:title="video.name"> </div>
%fa:R play-circle% </div>
</a> <a class="kkjnbbplepmiyuadieoenjgutgcmtsvu" v-else
:href="video.url"
target="_blank"
:style="imageStyle"
:title="video.name">
%fa:R play-circle%
</a>
</template> </template>
<script lang="ts"> <script lang="ts">
import Vue from 'vue' import Vue from 'vue'
export default Vue.extend({ export default Vue.extend({
props: ['video'], props: {
video: {
type: Object,
required: true
},
hide: {
type: Boolean,
default: true
}
},
computed: { computed: {
imageStyle(): any { imageStyle(): any {
return { return {
@ -22,7 +37,7 @@ export default Vue.extend({
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
.mk-media-video .kkjnbbplepmiyuadieoenjgutgcmtsvu
display flex display flex
justify-content center justify-content center
align-items center align-items center
@ -33,4 +48,20 @@ export default Vue.extend({
background-size cover background-size cover
width 100% width 100%
height 100% height 100%
.icozogqfvdetwohsdglrbswgrejoxbdj
display flex
justify-content center
align-items center
background #111
color #fff
> div
display table-cell
text-align center
font-size 12px
> b
display block
</style> </style>