Refactoring
This commit is contained in:
		
							parent
							
								
									7c91915e50
								
							
						
					
					
						commit
						7dcea49be7
					
				|  | @ -730,10 +730,6 @@ desktop/views/components/drive.vue: | |||
|     upload: "ファイルをアップロード" | ||||
|     url-upload: "URLからアップロード" | ||||
| 
 | ||||
| desktop/views/components/media-image.vue: | ||||
|   sensitive: "閲覧注意" | ||||
|   click-to-show: "クリックして表示" | ||||
| 
 | ||||
| desktop/views/components/media-video.vue: | ||||
|   sensitive: "閲覧注意" | ||||
|   click-to-show: "クリックして表示" | ||||
|  | @ -980,6 +976,10 @@ desktop/views/components/settings.2fa.vue: | |||
|   failed: "設定に失敗しました。トークンに誤りがないかご確認ください。" | ||||
|   info: "次回サインインからは、同様にパスワードに加えてデバイスに表示されているトークンを入力します。" | ||||
| 
 | ||||
| common/views/components/media-image.vue: | ||||
|   sensitive: "閲覧注意" | ||||
|   click-to-show: "クリックして表示" | ||||
| 
 | ||||
| common/views/components/api-settings.vue: | ||||
|   intro: "APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。" | ||||
|   caution: "アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。" | ||||
|  | @ -1493,10 +1493,6 @@ mobile/views/components/drive.file-detail.vue: | |||
|   mark-as-sensitive: "閲覧注意に設定" | ||||
|   unmark-as-sensitive: "閲覧注意を解除" | ||||
| 
 | ||||
| mobile/views/components/media-image.vue: | ||||
|   sensitive: "閲覧注意" | ||||
|   click-to-show: "クリックして表示" | ||||
| 
 | ||||
| mobile/views/components/media-video.vue: | ||||
|   sensitive: "閲覧注意" | ||||
|   click-to-show: "クリックして表示" | ||||
|  |  | |||
|  | @ -5,16 +5,21 @@ | |||
| 		<span>{{ $t('click-to-show') }}</span> | ||||
| 	</div> | ||||
| </div> | ||||
| <a class="gqnyydlzavusgskkfvwvjiattxdzsqlf" v-else :href="image.url" target="_blank" :style="style" :title="image.name" @click.prevent="onClick"></a> | ||||
| <a class="gqnyydlzavusgskkfvwvjiattxdzsqlf" v-else | ||||
| 	:href="image.url" | ||||
| 	:style="style" | ||||
| 	:title="image.name" | ||||
| 	@click.prevent="onClick" | ||||
| ></a> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import Vue from 'vue'; | ||||
| import i18n from '../../../i18n'; | ||||
| import ImageViewer from '../../../common/views/components/image-viewer.vue'; | ||||
| import ImageViewer from './image-viewer.vue'; | ||||
| 
 | ||||
| export default Vue.extend({ | ||||
| 	i18n: i18n('mobile/views/components/media-image.vue'), | ||||
| 	i18n: i18n('common/views/components/media-image.vue'), | ||||
| 	props: { | ||||
| 		image: { | ||||
| 			type: Object, | ||||
|  | @ -58,6 +63,7 @@ export default Vue.extend({ | |||
| <style lang="stylus" scoped> | ||||
| .gqnyydlzavusgskkfvwvjiattxdzsqlf | ||||
| 	display block | ||||
| 	cursor zoom-in | ||||
| 	overflow hidden | ||||
| 	width 100% | ||||
| 	height 100% | ||||
|  | @ -7,7 +7,7 @@ | |||
| 		<div :data-count="mediaList.filter(media => previewable(media)).length" ref="grid"> | ||||
| 			<template v-for="media in mediaList"> | ||||
| 				<mk-media-video :video="media" :key="media.id" v-if="media.type.startsWith('video')"/> | ||||
| 				<mk-media-image :image="media" :key="media.id" v-else-if="media.type.startsWith('image')" :raw="raw"/> | ||||
| 				<x-image :image="media" :key="media.id" v-else-if="media.type.startsWith('image')" :raw="raw"/> | ||||
| 			</template> | ||||
| 		</div> | ||||
| 	</div> | ||||
|  | @ -17,10 +17,12 @@ | |||
| <script lang="ts"> | ||||
| import Vue from 'vue'; | ||||
| import XBanner from './media-banner.vue'; | ||||
| import XImage from './media-image.vue'; | ||||
| 
 | ||||
| export default Vue.extend({ | ||||
| 	components: { | ||||
| 		XBanner | ||||
| 		XBanner, | ||||
| 		XImage | ||||
| 	}, | ||||
| 	props: { | ||||
| 		mediaList: { | ||||
|  |  | |||
|  | @ -9,7 +9,6 @@ import subNoteContent from './sub-note-content.vue'; | |||
| import window from './window.vue'; | ||||
| import noteFormWindow from './post-form-window.vue'; | ||||
| import renoteFormWindow from './renote-form-window.vue'; | ||||
| import mediaImage from './media-image.vue'; | ||||
| import mediaVideo from './media-video.vue'; | ||||
| import notifications from './notifications.vue'; | ||||
| import noteForm from './post-form.vue'; | ||||
|  | @ -32,7 +31,6 @@ Vue.component('mk-sub-note-content', subNoteContent); | |||
| Vue.component('mk-window', window); | ||||
| Vue.component('mk-post-form-window', noteFormWindow); | ||||
| Vue.component('mk-renote-form-window', renoteFormWindow); | ||||
| Vue.component('mk-media-image', mediaImage); | ||||
| Vue.component('mk-media-video', mediaVideo); | ||||
| Vue.component('mk-notifications', notifications); | ||||
| Vue.component('mk-post-form', noteForm); | ||||
|  |  | |||
|  | @ -1,81 +0,0 @@ | |||
| <template> | ||||
| <div class="ldwbgwstjsdgcjruamauqdrffetqudry" v-if="image.isSensitive && hide && !$store.state.device.alwaysShowNsfw" @click="hide = false"> | ||||
| 	<div> | ||||
| 		<b><fa icon="exclamation-triangle"/> {{ $t('sensitive') }}</b> | ||||
| 		<span>{{ $t('click-to-show') }}</span> | ||||
| 	</div> | ||||
| </div> | ||||
| <a class="lcjomzwbohoelkxsnuqjiaccdbdfiazy" v-else | ||||
| 	:href="image.url" | ||||
| 	@click.prevent="onClick" | ||||
| 	:style="style" | ||||
| 	:title="image.name" | ||||
| ></a> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import Vue from 'vue'; | ||||
| import i18n from '../../../i18n'; | ||||
| import ImageViewer from '../../../common/views/components/image-viewer.vue'; | ||||
| 
 | ||||
| export default Vue.extend({ | ||||
| 	i18n: i18n('desktop/views/components/media-image.vue'), | ||||
| 	props: { | ||||
| 		image: { | ||||
| 			type: Object, | ||||
| 			required: true | ||||
| 		}, | ||||
| 		raw: { | ||||
| 			default: false | ||||
| 		} | ||||
| 	}, | ||||
| 	data() { | ||||
| 		return { | ||||
| 			hide: true | ||||
| 		}; | ||||
| 	}, | ||||
| 	computed: { | ||||
| 		style(): any { | ||||
| 			return { | ||||
| 				'background-color': this.image.properties.avgColor && this.image.properties.avgColor.length == 3 ? `rgb(${this.image.properties.avgColor.join(',')})` : 'transparent', | ||||
| 				'background-image': this.raw ? `url(${this.image.url})` : `url(${this.image.thumbnailUrl})` | ||||
| 			}; | ||||
| 		} | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		onClick() { | ||||
| 			this.$root.new(ImageViewer, { | ||||
| 				image: this.image | ||||
| 			}); | ||||
| 		} | ||||
| 	} | ||||
| }); | ||||
| </script> | ||||
| 
 | ||||
| <style lang="stylus" scoped> | ||||
| .lcjomzwbohoelkxsnuqjiaccdbdfiazy | ||||
| 	display block | ||||
| 	cursor zoom-in | ||||
| 	overflow hidden | ||||
| 	width 100% | ||||
| 	height 100% | ||||
| 	background-position center | ||||
| 	background-size contain | ||||
| 	background-repeat no-repeat | ||||
| 
 | ||||
| .ldwbgwstjsdgcjruamauqdrffetqudry | ||||
| 	display flex | ||||
| 	justify-content center | ||||
| 	align-items center | ||||
| 	background #111 | ||||
| 	color #fff | ||||
| 
 | ||||
| 	> div | ||||
| 		display table-cell | ||||
| 		text-align center | ||||
| 		font-size 12px | ||||
| 
 | ||||
| 		> * | ||||
| 			display block | ||||
| 
 | ||||
| </style> | ||||
|  | @ -3,7 +3,6 @@ import Vue from 'vue'; | |||
| import ui from './ui.vue'; | ||||
| import note from './note.vue'; | ||||
| import notes from './notes.vue'; | ||||
| import mediaImage from './media-image.vue'; | ||||
| import mediaVideo from './media-video.vue'; | ||||
| import notePreview from './note-preview.vue'; | ||||
| import subNoteContent from './sub-note-content.vue'; | ||||
|  | @ -24,7 +23,6 @@ import postForm from './post-form.vue'; | |||
| Vue.component('mk-ui', ui); | ||||
| Vue.component('mk-note', note); | ||||
| Vue.component('mk-notes', notes); | ||||
| Vue.component('mk-media-image', mediaImage); | ||||
| Vue.component('mk-media-video', mediaVideo); | ||||
| Vue.component('mk-note-preview', notePreview); | ||||
| Vue.component('mk-sub-note-content', subNoteContent); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue