Migrate to Vue3 (#6587)
* Update reaction.vue
* fix  bug
* wip
* wip
* wjio
* wip
* Revert "wip"
This reverts commit e427f2160a.
* wip
* wip
* wip
* Update init.ts
* Update drive-window.vue
* wip
* wip
* Use PascalCase for components
* Use PascalCase for components
* update dep
* wip
* wip
* wip
* Update init.ts
* wip
* Update paging.ts
* Update test.vue
* watch deep
* wip
* lint
* wip
* wip
* wip
* wip
* wiop
* wip
* Update webpack.config.ts
* alllow null poll
* wip
* wip
* wip
* wiop
* UI redesign & refactor (#6714)
* wip
* wip
* wip
* wip
* wip
* Update drive.vue
* Update word-mute.vue
* wip
* wip
* wip
* clean up
* wip
* Update default.vue
* wip
* Update notes.vue
* Update mfm.ts
* Update index.home.vue
* Update post-form.vue
* Update post-form-attaches.vue
* wip
* Update post-form.vue
* Update sidebar.vue
* wip
* wip
* Update index.vue
* wip
* Update default.vue
* Update index.vue
* Update index.vue
* wip
* Update post-form-attaches.vue
* Update note.vue
* wip
* clean up
* Update notes.vue
* wip
* wip
* Update ja-JP.yml
* wip
* wip
* Update index.vue
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* Update default.vue
* wip
* Update _dark.json5
* wip
* wip
* wip
* clean up
* wip
* wip
* Update index.vue
* Update test.vue
* wip
* wip
* fix
* wip
* wip
* wip
* wip
* clena yop
* wip
* wip
* Update store.ts
* Update messaging-room.vue
* Update default.widgets.vue
* fix
* wip
* wip
* Update modal.vue
* wip
* Update os.ts
* Update os.ts
* Update deck.vue
* Update init.ts
* wip
* Update ja-JP.yml
* v-sizeは単にwindowのresizeを監視するだけで良いかもしれない
* Update modal.vue
* wip
* Update tooltip.ts
* wip
* wip
* wip
* wip
* wip
* Update image-viewer.vue
* wip
* wip
* Update style.scss
* Update style.scss
* Update visitor.vue
* wip
* Update init.ts
* Update init.ts
* wip
* wip
* Update visitor.vue
* Update visitor.vue
* Update visitor.vue
* Update visitor.vue
* wip
* wip
* Update modal.vue
* Update header.vue
* Update menu.vue
* Update about.vue
* Update about-misskey.vue
* wip
* wip
* Update visitor.vue
* Update tooltip.ts
* wip
* Update drive.vue
* wip
* Update style.scss
* Update header.vue
* wip
* wip
* Update users.user.vue
* Update announcements.vue
* wip
* wip
* wip
* Update emojis.vue
* wip
* Update emojis.vue
* Update style.scss
* Update users.vue
* wip
* Update style.scss
* wip
* Update welcome.entrance.vue
* Update radio.vue
* Update size.ts
* Update emoji-edit-dialog.vue
* wip
* Update emojis.vue
* wip
* Update emojis.vue
* Update emojis.vue
* Update emojis.vue
* wip
* wip
* wip
* wip
* Update file-dialog.vue
* wip
* wip
* Update token-generate-window.vue
* Update notification-setting-window.vue
* wip
* wip
* Update _error_.vue
* Update ja-JP.yml
* wip
* wip
* Update store.ts
* Update emojis.vue
* Update emojis.vue
* Update emojis.vue
* Update announcements.vue
* Update store.ts
* wip
* Update page-editor.vue
* wip
* wip
* Update modal.vue
* wip
* Update select-file.ts
* Update timeline.vue
* Update emojis.vue
* Update os.ts
* wip
* Update user-select.vue
* Update mfm.ts
* Update get-file-info.ts
* Update drive.vue
* Update init.ts
* Update mfm.ts
* wip
* wip
* Update window.vue
* Update note.vue
* wip
* wip
* Update user-info.vue
* wip
* wip
* wip
* wip
* wip
* Update header.vue
* Update header.vue
* wip
* Update explore.vue
* wip
* wip
* wip
* Update webpack.config.ts
* wip
* wip
* wip
* wip
* wip
* wip
* Update autocomplete.ts
* wip
* wip
* wip
* Update toast.vue
* wip
* Update post-form-dialog.vue
* wip
* wip
* wip
* wip
* wip
* Update users.vue
* wip
* Update explore.vue
* wip
* wip
* wip
* Update package.json
* wip
* Update icon-dialog.vue
* wip
* wip
* Update user-preview.ts
* wip
* wip
* wip
* wip
* wip
* Update instance.vue
* Update user-name.vue
* Update federation.vue
* Update instance.vue
* wip
* wip
* Update tag.vue
* wip
* wip
* wip
* wip
* wip
* Update instance.vue
* wip
* Update os.ts
* Update os.ts
* wip
* wip
* wip
* Update router.ts
* wip
* Update init.ts
* Update note.vue
* Update messages.vue
* wip
* wip
* wip
* wip
* wip
* google
* wip
* wip
* wip
* wip
* Update theme-editor.vue
* wip
* wip
* Update room.vue
* Update channel-editor.vue
* wip
* Update window.vue
* Update window.vue
* wip
* Update window.vue
* Update window.vue
* wip
* Update menu.vue
* wip
* wip
* wip
* wip
* Update messaging-room.vue
* wip
* Update post-form.vue
* Update default.widgets.vue
* Update window.vue
* wip
			
			
This commit is contained in:
		| @@ -1,16 +1,26 @@ | ||||
| <template> | ||||
| <x-modal ref="modal" @closed="() => { $emit('closed'); destroyDom(); }"> | ||||
| 	<img class="xubzgfga" ref="img" :src="image.url" :alt="image.name" :title="image.name" @click="close" tabindex="-1"/> | ||||
| </x-modal> | ||||
| <MkModal ref="modal" @click="$refs.modal.close()" @closed="$emit('closed')"> | ||||
| 	<div class="xubzgfga"> | ||||
| 		<header>{{ image.name }}</header> | ||||
| 		<img :src="image.url" :alt="image.name" :title="image.name" @click="$refs.modal.close()"/> | ||||
| 		<footer> | ||||
| 			<span>{{ image.type }}</span> | ||||
| 			<span>{{ bytes(image.size) }}</span> | ||||
| 			<span v-if="image.properties?.width">{{ number(image.properties.width) }}px × {{ number(image.properties.height) }}px</span> | ||||
| 		</footer> | ||||
| 	</div> | ||||
| </MkModal> | ||||
| </template> | ||||
|  | ||||
| <script lang="ts"> | ||||
| import Vue from 'vue'; | ||||
| import XModal from './modal.vue'; | ||||
| import { defineComponent } from 'vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import number from '@/filters/number'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
|  | ||||
| export default Vue.extend({ | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
| 		XModal, | ||||
| 		MkModal, | ||||
| 	}, | ||||
|  | ||||
| 	props: { | ||||
| @@ -20,32 +30,50 @@ export default Vue.extend({ | ||||
| 		}, | ||||
| 	}, | ||||
|  | ||||
| 	mounted() { | ||||
| 		this.$nextTick(() => { | ||||
| 			this.$refs.img.focus(); | ||||
| 		}); | ||||
| 	}, | ||||
| 	emits: ['closed'], | ||||
|  | ||||
| 	methods: { | ||||
| 		close() { | ||||
| 			this.$refs.modal.close(); | ||||
| 		}, | ||||
| 		bytes, | ||||
| 		number, | ||||
| 	} | ||||
| }); | ||||
| </script> | ||||
|  | ||||
| <style lang="scss" scoped> | ||||
| .xubzgfga { | ||||
| 	position: fixed; | ||||
| 	z-index: 2; | ||||
| 	top: 0; | ||||
| 	right: 0; | ||||
| 	bottom: 0; | ||||
| 	left: 0; | ||||
| 	max-width: 100%; | ||||
| 	max-height: 100%; | ||||
| 	margin: auto; | ||||
| 	cursor: zoom-out; | ||||
| 	image-orientation: from-image; | ||||
| 	max-width: 1024px; | ||||
|  | ||||
| 	> header, | ||||
| 	> footer { | ||||
| 		display: inline-block; | ||||
| 		padding: 6px 9px; | ||||
| 		font-size: 90%; | ||||
| 		background: rgba(0, 0, 0, 0.5); | ||||
| 		border-radius: 6px; | ||||
| 		color: #fff; | ||||
| 	} | ||||
|  | ||||
| 	> header { | ||||
| 		margin-bottom: 8px; | ||||
| 		opacity: 0.9; | ||||
| 	} | ||||
|  | ||||
| 	> img { | ||||
| 		display: block; | ||||
| 		max-width: 100%; | ||||
| 		cursor: zoom-out; | ||||
| 		image-orientation: from-image; | ||||
| 	} | ||||
|  | ||||
| 	> footer { | ||||
| 		margin-top: 8px; | ||||
| 		opacity: 0.8; | ||||
|  | ||||
| 		> span + span { | ||||
| 			margin-left: 0.5em; | ||||
| 			padding-left: 0.5em; | ||||
| 			border-left: solid 1px rgba(255, 255, 255, 0.5); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| </style> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo