refactor
This commit is contained in:
		
							parent
							
								
									93d3cc310d
								
							
						
					
					
						commit
						2244cf2995
					
				
					 7 changed files with 54 additions and 54 deletions
				
			
		|  | @ -33,12 +33,12 @@ | ||||||
| 	<article class="article" @contextmenu.stop="onContextmenu"> | 	<article class="article" @contextmenu.stop="onContextmenu"> | ||||||
| 		<MkAvatar class="avatar" :user="appearNote.user"/> | 		<MkAvatar class="avatar" :user="appearNote.user"/> | ||||||
| 		<div class="main"> | 		<div class="main"> | ||||||
| 			<XNoteHeader class="header" :note="appearNote" :mini="true"/> | 			<MkNoteHeader class="header" :note="appearNote" :mini="true"/> | ||||||
| 			<MkInstanceTicker v-if="showTicker" class="ticker" :instance="appearNote.user.instance"/> | 			<MkInstanceTicker v-if="showTicker" class="ticker" :instance="appearNote.user.instance"/> | ||||||
| 			<div class="body"> | 			<div class="body"> | ||||||
| 				<p v-if="appearNote.cw != null" class="cw"> | 				<p v-if="appearNote.cw != null" class="cw"> | ||||||
| 					<Mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$i"/> | 					<Mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$i"/> | ||||||
| 					<XCwButton v-model="showContent" :note="appearNote"/> | 					<MkCwButton v-model="showContent" :note="appearNote"/> | ||||||
| 				</p> | 				</p> | ||||||
| 				<div v-show="appearNote.cw == null || showContent" class="content" :class="{ collapsed, isLong }"> | 				<div v-show="appearNote.cw == null || showContent" class="content" :class="{ collapsed, isLong }"> | ||||||
| 					<div class="text"> | 					<div class="text"> | ||||||
|  | @ -55,11 +55,11 @@ | ||||||
| 						</div> | 						</div> | ||||||
| 					</div> | 					</div> | ||||||
| 					<div v-if="appearNote.files.length > 0" class="files"> | 					<div v-if="appearNote.files.length > 0" class="files"> | ||||||
| 						<XMediaList :media-list="appearNote.files"/> | 						<MkMediaList :media-list="appearNote.files"/> | ||||||
| 					</div> | 					</div> | ||||||
| 					<XPoll v-if="appearNote.poll" ref="pollViewer" :note="appearNote" class="poll"/> | 					<MkPoll v-if="appearNote.poll" ref="pollViewer" :note="appearNote" class="poll"/> | ||||||
| 					<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="false" class="url-preview"/> | 					<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="false" class="url-preview"/> | ||||||
| 					<div v-if="appearNote.renote" class="renote"><XNoteSimple :note="appearNote.renote"/></div> | 					<div v-if="appearNote.renote" class="renote"><MkNoteSimple :note="appearNote.renote"/></div> | ||||||
| 					<button v-if="isLong && collapsed" class="fade _button" @click="collapsed = false"> | 					<button v-if="isLong && collapsed" class="fade _button" @click="collapsed = false"> | ||||||
| 						<span>{{ i18n.ts.showMore }}</span> | 						<span>{{ i18n.ts.showMore }}</span> | ||||||
| 					</button> | 					</button> | ||||||
|  | @ -70,12 +70,12 @@ | ||||||
| 				<MkA v-if="appearNote.channel && !inChannel" class="channel" :to="`/channels/${appearNote.channel.id}`"><i class="ti ti-device-tv"></i> {{ appearNote.channel.name }}</MkA> | 				<MkA v-if="appearNote.channel && !inChannel" class="channel" :to="`/channels/${appearNote.channel.id}`"><i class="ti ti-device-tv"></i> {{ appearNote.channel.name }}</MkA> | ||||||
| 			</div> | 			</div> | ||||||
| 			<footer class="footer"> | 			<footer class="footer"> | ||||||
| 				<XReactionsViewer ref="reactionsViewer" :note="appearNote"/> | 				<MkReactionsViewer ref="reactionsViewer" :note="appearNote"/> | ||||||
| 				<button class="button _button" @click="reply()"> | 				<button class="button _button" @click="reply()"> | ||||||
| 					<i class="ti ti-arrow-back-up"></i> | 					<i class="ti ti-arrow-back-up"></i> | ||||||
| 					<p v-if="appearNote.repliesCount > 0" class="count">{{ appearNote.repliesCount }}</p> | 					<p v-if="appearNote.repliesCount > 0" class="count">{{ appearNote.repliesCount }}</p> | ||||||
| 				</button> | 				</button> | ||||||
| 				<XRenoteButton ref="renoteButton" class="button" :note="appearNote" :count="appearNote.renoteCount"/> | 				<MkRenoteButton ref="renoteButton" class="button" :note="appearNote" :count="appearNote.renoteCount"/> | ||||||
| 				<button v-if="appearNote.myReaction == null" ref="reactButton" class="button _button" @click="react()"> | 				<button v-if="appearNote.myReaction == null" ref="reactButton" class="button _button" @click="react()"> | ||||||
| 					<i class="ti ti-plus"></i> | 					<i class="ti ti-plus"></i> | ||||||
| 				</button> | 				</button> | ||||||
|  | @ -105,13 +105,13 @@ import { computed, inject, onMounted, onUnmounted, reactive, ref, Ref } from 'vu | ||||||
| import * as mfm from 'mfm-js'; | import * as mfm from 'mfm-js'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkNoteSub from '@/components/MkNoteSub.vue'; | import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | import MkNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import XNoteSimple from '@/components/MkNoteSimple.vue'; | import MkNoteSimple from '@/components/MkNoteSimple.vue'; | ||||||
| import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||||
| import XMediaList from '@/components/MkMediaList.vue'; | import MkMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XCwButton from '@/components/MkCwButton.vue'; | import MkCwButton from '@/components/MkCwButton.vue'; | ||||||
| import XPoll from '@/components/MkPoll.vue'; | import MkPoll from '@/components/MkPoll.vue'; | ||||||
| import XRenoteButton from '@/components/MkRenoteButton.vue'; | import MkRenoteButton from '@/components/MkRenoteButton.vue'; | ||||||
| import MkUrlPreview from '@/components/MkUrlPreview.vue'; | import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||||
| import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||||
| import MkVisibility from '@/components/MkVisibility.vue'; | import MkVisibility from '@/components/MkVisibility.vue'; | ||||||
|  | @ -158,7 +158,7 @@ const isRenote = ( | ||||||
| 
 | 
 | ||||||
| const el = ref<HTMLElement>(); | const el = ref<HTMLElement>(); | ||||||
| const menuButton = ref<HTMLElement>(); | const menuButton = ref<HTMLElement>(); | ||||||
| const renoteButton = ref<InstanceType<typeof XRenoteButton>>(); | const renoteButton = ref<InstanceType<typeof MkRenoteButton>>(); | ||||||
| const renoteTime = ref<HTMLElement>(); | const renoteTime = ref<HTMLElement>(); | ||||||
| const reactButton = ref<HTMLElement>(); | const reactButton = ref<HTMLElement>(); | ||||||
| let appearNote = $computed(() => isRenote ? note.renote as misskey.entities.Note : note); | let appearNote = $computed(() => isRenote ? note.renote as misskey.entities.Note : note); | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ | ||||||
| 			<div class="body"> | 			<div class="body"> | ||||||
| 				<p v-if="appearNote.cw != null" class="cw"> | 				<p v-if="appearNote.cw != null" class="cw"> | ||||||
| 					<Mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$i"/> | 					<Mfm v-if="appearNote.cw != ''" class="text" :text="appearNote.cw" :author="appearNote.user" :i="$i"/> | ||||||
| 					<XCwButton v-model="showContent" :note="appearNote"/> | 					<MkCwButton v-model="showContent" :note="appearNote"/> | ||||||
| 				</p> | 				</p> | ||||||
| 				<div v-show="appearNote.cw == null || showContent" class="content"> | 				<div v-show="appearNote.cw == null || showContent" class="content"> | ||||||
| 					<div class="text"> | 					<div class="text"> | ||||||
|  | @ -66,11 +66,11 @@ | ||||||
| 						</div> | 						</div> | ||||||
| 					</div> | 					</div> | ||||||
| 					<div v-if="appearNote.files.length > 0" class="files"> | 					<div v-if="appearNote.files.length > 0" class="files"> | ||||||
| 						<XMediaList :media-list="appearNote.files"/> | 						<MkMediaList :media-list="appearNote.files"/> | ||||||
| 					</div> | 					</div> | ||||||
| 					<XPoll v-if="appearNote.poll" ref="pollViewer" :note="appearNote" class="poll"/> | 					<MkPoll v-if="appearNote.poll" ref="pollViewer" :note="appearNote" class="poll"/> | ||||||
| 					<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="true" class="url-preview"/> | 					<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="true" class="url-preview"/> | ||||||
| 					<div v-if="appearNote.renote" class="renote"><XNoteSimple :note="appearNote.renote"/></div> | 					<div v-if="appearNote.renote" class="renote"><MkNoteSimple :note="appearNote.renote"/></div> | ||||||
| 				</div> | 				</div> | ||||||
| 				<MkA v-if="appearNote.channel && !inChannel" class="channel" :to="`/channels/${appearNote.channel.id}`"><i class="ti ti-device-tv"></i> {{ appearNote.channel.name }}</MkA> | 				<MkA v-if="appearNote.channel && !inChannel" class="channel" :to="`/channels/${appearNote.channel.id}`"><i class="ti ti-device-tv"></i> {{ appearNote.channel.name }}</MkA> | ||||||
| 			</div> | 			</div> | ||||||
|  | @ -80,12 +80,12 @@ | ||||||
| 						<MkTime :time="appearNote.createdAt" mode="detail"/> | 						<MkTime :time="appearNote.createdAt" mode="detail"/> | ||||||
| 					</MkA> | 					</MkA> | ||||||
| 				</div> | 				</div> | ||||||
| 				<XReactionsViewer ref="reactionsViewer" :note="appearNote"/> | 				<MkReactionsViewer ref="reactionsViewer" :note="appearNote"/> | ||||||
| 				<button class="button _button" @click="reply()"> | 				<button class="button _button" @click="reply()"> | ||||||
| 					<i class="ti ti-arrow-back-up"></i> | 					<i class="ti ti-arrow-back-up"></i> | ||||||
| 					<p v-if="appearNote.repliesCount > 0" class="count">{{ appearNote.repliesCount }}</p> | 					<p v-if="appearNote.repliesCount > 0" class="count">{{ appearNote.repliesCount }}</p> | ||||||
| 				</button> | 				</button> | ||||||
| 				<XRenoteButton ref="renoteButton" class="button" :note="appearNote" :count="appearNote.renoteCount"/> | 				<MkRenoteButton ref="renoteButton" class="button" :note="appearNote" :count="appearNote.renoteCount"/> | ||||||
| 				<button v-if="appearNote.myReaction == null" ref="reactButton" class="button _button" @click="react()"> | 				<button v-if="appearNote.myReaction == null" ref="reactButton" class="button _button" @click="react()"> | ||||||
| 					<i class="ti ti-plus"></i> | 					<i class="ti ti-plus"></i> | ||||||
| 				</button> | 				</button> | ||||||
|  | @ -116,12 +116,12 @@ import { computed, inject, onMounted, onUnmounted, reactive, ref } from 'vue'; | ||||||
| import * as mfm from 'mfm-js'; | import * as mfm from 'mfm-js'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import MkNoteSub from '@/components/MkNoteSub.vue'; | import MkNoteSub from '@/components/MkNoteSub.vue'; | ||||||
| import XNoteSimple from '@/components/MkNoteSimple.vue'; | import MkNoteSimple from '@/components/MkNoteSimple.vue'; | ||||||
| import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||||
| import XMediaList from '@/components/MkMediaList.vue'; | import MkMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XCwButton from '@/components/MkCwButton.vue'; | import MkCwButton from '@/components/MkCwButton.vue'; | ||||||
| import XPoll from '@/components/MkPoll.vue'; | import MkPoll from '@/components/MkPoll.vue'; | ||||||
| import XRenoteButton from '@/components/MkRenoteButton.vue'; | import MkRenoteButton from '@/components/MkRenoteButton.vue'; | ||||||
| import MkUrlPreview from '@/components/MkUrlPreview.vue'; | import MkUrlPreview from '@/components/MkUrlPreview.vue'; | ||||||
| import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | import MkInstanceTicker from '@/components/MkInstanceTicker.vue'; | ||||||
| import MkVisibility from '@/components/MkVisibility.vue'; | import MkVisibility from '@/components/MkVisibility.vue'; | ||||||
|  | @ -168,7 +168,7 @@ const isRenote = ( | ||||||
| 
 | 
 | ||||||
| const el = ref<HTMLElement>(); | const el = ref<HTMLElement>(); | ||||||
| const menuButton = ref<HTMLElement>(); | const menuButton = ref<HTMLElement>(); | ||||||
| const renoteButton = ref<InstanceType<typeof XRenoteButton>>(); | const renoteButton = ref<InstanceType<typeof MkRenoteButton>>(); | ||||||
| const renoteTime = ref<HTMLElement>(); | const renoteTime = ref<HTMLElement>(); | ||||||
| const reactButton = ref<HTMLElement>(); | const reactButton = ref<HTMLElement>(); | ||||||
| let appearNote = $computed(() => isRenote ? note.renote as misskey.entities.Note : note); | let appearNote = $computed(() => isRenote ? note.renote as misskey.entities.Note : note); | ||||||
|  |  | ||||||
|  | @ -2,11 +2,11 @@ | ||||||
| <div class="yohlumlk"> | <div class="yohlumlk"> | ||||||
| 	<MkAvatar class="avatar" :user="note.user"/> | 	<MkAvatar class="avatar" :user="note.user"/> | ||||||
| 	<div class="main"> | 	<div class="main"> | ||||||
| 		<XNoteHeader class="header" :note="note" :mini="true"/> | 		<MkNoteHeader class="header" :note="note" :mini="true"/> | ||||||
| 		<div class="body"> | 		<div class="body"> | ||||||
| 			<p v-if="note.cw != null" class="cw"> | 			<p v-if="note.cw != null" class="cw"> | ||||||
| 				<Mfm v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$i"/> | 				<Mfm v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$i"/> | ||||||
| 				<XCwButton v-model="showContent" :note="note"/> | 				<MkCwButton v-model="showContent" :note="note"/> | ||||||
| 			</p> | 			</p> | ||||||
| 			<div v-show="note.cw == null || showContent" class="content"> | 			<div v-show="note.cw == null || showContent" class="content"> | ||||||
| 				<MkSubNoteContent class="text" :note="note"/> | 				<MkSubNoteContent class="text" :note="note"/> | ||||||
|  | @ -19,9 +19,9 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | import MkNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||||
| import XCwButton from '@/components/MkCwButton.vue'; | import MkCwButton from '@/components/MkCwButton.vue'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
| 	note: misskey.entities.Note; | 	note: misskey.entities.Note; | ||||||
|  |  | ||||||
|  | @ -3,11 +3,11 @@ | ||||||
| 	<div class="main"> | 	<div class="main"> | ||||||
| 		<MkAvatar class="avatar" :user="note.user"/> | 		<MkAvatar class="avatar" :user="note.user"/> | ||||||
| 		<div class="body"> | 		<div class="body"> | ||||||
| 			<XNoteHeader class="header" :note="note" :mini="true"/> | 			<MkNoteHeader class="header" :note="note" :mini="true"/> | ||||||
| 			<div class="body"> | 			<div class="body"> | ||||||
| 				<p v-if="note.cw != null" class="cw"> | 				<p v-if="note.cw != null" class="cw"> | ||||||
| 					<Mfm v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$i"/> | 					<Mfm v-if="note.cw != ''" class="text" :text="note.cw" :author="note.user" :i="$i"/> | ||||||
| 					<XCwButton v-model="showContent" :note="note"/> | 					<MkCwButton v-model="showContent" :note="note"/> | ||||||
| 				</p> | 				</p> | ||||||
| 				<div v-show="note.cw == null || showContent" class="content"> | 				<div v-show="note.cw == null || showContent" class="content"> | ||||||
| 					<MkSubNoteContent class="text" :note="note"/> | 					<MkSubNoteContent class="text" :note="note"/> | ||||||
|  | @ -27,9 +27,9 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XNoteHeader from '@/components/MkNoteHeader.vue'; | import MkNoteHeader from '@/components/MkNoteHeader.vue'; | ||||||
| import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | import MkSubNoteContent from '@/components/MkSubNoteContent.vue'; | ||||||
| import XCwButton from '@/components/MkCwButton.vue'; | import MkCwButton from '@/components/MkCwButton.vue'; | ||||||
| import { notePage } from '@/filters/note'; | import { notePage } from '@/filters/note'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
|  |  | ||||||
|  | @ -26,8 +26,8 @@ | ||||||
| 		</div> | 		</div> | ||||||
| 	</header> | 	</header> | ||||||
| 	<div class="form" :class="{ fixed }"> | 	<div class="form" :class="{ fixed }"> | ||||||
| 		<XNoteSimple v-if="reply" class="preview" :note="reply"/> | 		<MkNoteSimple v-if="reply" class="preview" :note="reply"/> | ||||||
| 		<XNoteSimple v-if="renote" class="preview" :note="renote"/> | 		<MkNoteSimple v-if="renote" class="preview" :note="renote"/> | ||||||
| 		<div v-if="quoteId" class="with-quote"><i class="ti ti-quote"></i> {{ i18n.ts.quoteAttached }}<button @click="quoteId = null"><i class="ti ti-x"></i></button></div> | 		<div v-if="quoteId" class="with-quote"><i class="ti ti-quote"></i> {{ i18n.ts.quoteAttached }}<button @click="quoteId = null"><i class="ti ti-x"></i></button></div> | ||||||
| 		<div v-if="visibility === 'specified'" class="to-specified"> | 		<div v-if="visibility === 'specified'" class="to-specified"> | ||||||
| 			<span style="margin-right: 8px;">{{ i18n.ts.recipient }}</span> | 			<span style="margin-right: 8px;">{{ i18n.ts.recipient }}</span> | ||||||
|  | @ -44,7 +44,7 @@ | ||||||
| 		<textarea ref="textareaEl" v-model="text" class="text" :class="{ withCw: useCw }" :disabled="posting" :placeholder="placeholder" data-cy-post-form-text @keydown="onKeydown" @paste="onPaste" @compositionupdate="onCompositionUpdate" @compositionend="onCompositionEnd"/> | 		<textarea ref="textareaEl" v-model="text" class="text" :class="{ withCw: useCw }" :disabled="posting" :placeholder="placeholder" data-cy-post-form-text @keydown="onKeydown" @paste="onPaste" @compositionupdate="onCompositionUpdate" @compositionend="onCompositionEnd"/> | ||||||
| 		<input v-show="withHashtags" ref="hashtagsInputEl" v-model="hashtags" class="hashtags" :placeholder="i18n.ts.hashtags" list="hashtags"> | 		<input v-show="withHashtags" ref="hashtagsInputEl" v-model="hashtags" class="hashtags" :placeholder="i18n.ts.hashtags" list="hashtags"> | ||||||
| 		<XPostFormAttaches v-model="files" class="attaches" @detach="detachFile" @change-sensitive="updateFileSensitive" @change-name="updateFileName"/> | 		<XPostFormAttaches v-model="files" class="attaches" @detach="detachFile" @change-sensitive="updateFileSensitive" @change-name="updateFileName"/> | ||||||
| 		<XPollEditor v-if="poll" v-model="poll" @destroyed="poll = null"/> | 		<MkPollEditor v-if="poll" v-model="poll" @destroyed="poll = null"/> | ||||||
| 		<XNotePreview v-if="showPreview" class="preview" :text="text"/> | 		<XNotePreview v-if="showPreview" class="preview" :text="text"/> | ||||||
| 		<footer> | 		<footer> | ||||||
| 			<button v-tooltip="i18n.ts.attachFile" class="_button" @click="chooseFileFrom"><i class="ti ti-photo-plus"></i></button> | 			<button v-tooltip="i18n.ts.attachFile" class="_button" @click="chooseFileFrom"><i class="ti ti-photo-plus"></i></button> | ||||||
|  | @ -71,10 +71,10 @@ import { length } from 'stringz'; | ||||||
| import { toASCII } from 'punycode/'; | import { toASCII } from 'punycode/'; | ||||||
| import * as Acct from 'misskey-js/built/acct'; | import * as Acct from 'misskey-js/built/acct'; | ||||||
| import { throttle } from 'throttle-debounce'; | import { throttle } from 'throttle-debounce'; | ||||||
| import XNoteSimple from '@/components/MkNoteSimple.vue'; | import MkNoteSimple from '@/components/MkNoteSimple.vue'; | ||||||
| import XNotePreview from '@/components/MkNotePreview.vue'; | import XNotePreview from '@/components/MkNotePreview.vue'; | ||||||
| import XPostFormAttaches from '@/components/MkPostFormAttaches.vue'; | import XPostFormAttaches from '@/components/MkPostFormAttaches.vue'; | ||||||
| import XPollEditor from '@/components/MkPollEditor.vue'; | import MkPollEditor from '@/components/MkPollEditor.vue'; | ||||||
| import { host, url } from '@/config'; | import { host, url } from '@/config'; | ||||||
| import { erase, unique } from '@/scripts/array'; | import { erase, unique } from '@/scripts/array'; | ||||||
| import { extractMentions } from '@/scripts/extract-mentions'; | import { extractMentions } from '@/scripts/extract-mentions'; | ||||||
|  |  | ||||||
|  | @ -9,11 +9,11 @@ | ||||||
| 	</div> | 	</div> | ||||||
| 	<details v-if="note.files.length > 0"> | 	<details v-if="note.files.length > 0"> | ||||||
| 		<summary>({{ $t('withNFiles', { n: note.files.length }) }})</summary> | 		<summary>({{ $t('withNFiles', { n: note.files.length }) }})</summary> | ||||||
| 		<XMediaList :media-list="note.files"/> | 		<MkMediaList :media-list="note.files"/> | ||||||
| 	</details> | 	</details> | ||||||
| 	<details v-if="note.poll"> | 	<details v-if="note.poll"> | ||||||
| 		<summary>{{ i18n.ts.poll }}</summary> | 		<summary>{{ i18n.ts.poll }}</summary> | ||||||
| 		<XPoll :note="note"/> | 		<MkPoll :note="note"/> | ||||||
| 	</details> | 	</details> | ||||||
| 	<button v-if="collapsed" class="fade _button" @click="collapsed = false"> | 	<button v-if="collapsed" class="fade _button" @click="collapsed = false"> | ||||||
| 		<span>{{ i18n.ts.showMore }}</span> | 		<span>{{ i18n.ts.showMore }}</span> | ||||||
|  | @ -24,8 +24,8 @@ | ||||||
| <script lang="ts" setup> | <script lang="ts" setup> | ||||||
| import { } from 'vue'; | import { } from 'vue'; | ||||||
| import * as misskey from 'misskey-js'; | import * as misskey from 'misskey-js'; | ||||||
| import XMediaList from '@/components/MkMediaList.vue'; | import MkMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XPoll from '@/components/MkPoll.vue'; | import MkPoll from '@/components/MkPoll.vue'; | ||||||
| import { i18n } from '@/i18n'; | import { i18n } from '@/i18n'; | ||||||
| 
 | 
 | ||||||
| const props = defineProps<{ | const props = defineProps<{ | ||||||
|  |  | ||||||
|  | @ -9,13 +9,13 @@ | ||||||
| 					<MkA v-if="note.renoteId" class="rp" :to="`/notes/${note.renoteId}`">RN: ...</MkA> | 					<MkA v-if="note.renoteId" class="rp" :to="`/notes/${note.renoteId}`">RN: ...</MkA> | ||||||
| 				</div> | 				</div> | ||||||
| 				<div v-if="note.files.length > 0" class="richcontent"> | 				<div v-if="note.files.length > 0" class="richcontent"> | ||||||
| 					<XMediaList :media-list="note.files"/> | 					<MkMediaList :media-list="note.files"/> | ||||||
| 				</div> | 				</div> | ||||||
| 				<div v-if="note.poll"> | 				<div v-if="note.poll"> | ||||||
| 					<XPoll :note="note" :readOnly="true"/> | 					<MkPoll :note="note" :readOnly="true"/> | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
| 			<XReactionsViewer ref="reactionsViewer" :note="note"/> | 			<MkReactionsViewer ref="reactionsViewer" :note="note"/> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| </div> | </div> | ||||||
|  | @ -23,16 +23,16 @@ | ||||||
| 
 | 
 | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent } from 'vue'; | import { defineComponent } from 'vue'; | ||||||
| import XReactionsViewer from '@/components/MkReactionsViewer.vue'; | import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||||
| import XMediaList from '@/components/MkMediaList.vue'; | import MkMediaList from '@/components/MkMediaList.vue'; | ||||||
| import XPoll from '@/components/MkPoll.vue'; | import MkPoll from '@/components/MkPoll.vue'; | ||||||
| import * as os from '@/os'; | import * as os from '@/os'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
| 	components: { | 	components: { | ||||||
| 		XReactionsViewer, | 		MkReactionsViewer, | ||||||
| 		XMediaList, | 		MkMediaList, | ||||||
| 		XPoll, | 		MkPoll, | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	data() { | 	data() { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue