mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-10-30 21:14:12 +00:00 
			
		
		
		
	copy MkNote* changes to SkNote*
This commit is contained in:
		
							parent
							
								
									bc531ac414
								
							
						
					
					
						commit
						aad06a0e8b
					
				
					 2 changed files with 56 additions and 4 deletions
				
			
		|  | @ -88,7 +88,9 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| 						<MkMediaList :mediaList="appearNote.files" @click.stop/> | ||||
| 					</div> | ||||
| 					<MkPoll v-if="appearNote.poll" :noteId="appearNote.id" :poll="appearNote.poll" :class="$style.poll" @click.stop/> | ||||
| 					<div v-if="isEnabledUrlPreview"> | ||||
| 						<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="false" :class="$style.urlPreview" @click.stop/> | ||||
| 					</div> | ||||
| 					<div v-if="appearNote.renote" :class="$style.quote"><SkNoteSimple :note="appearNote.renote" :class="$style.quoteNote"/></div> | ||||
| 					<button v-if="isLong && collapsed" :class="$style.collapsed" class="_button" @click.stop @click="collapsed = false"> | ||||
| 						<span :class="$style.collapsedLabel">{{ i18n.ts.showMore }}</span> | ||||
|  | @ -186,6 +188,7 @@ import SkNoteSub from '@/components/SkNoteSub.vue'; | |||
| import SkNoteHeader from '@/components/SkNoteHeader.vue'; | ||||
| import SkNoteSimple from '@/components/SkNoteSimple.vue'; | ||||
| import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||
| import MkReactionsViewerDetails from '@/components/MkReactionsViewer.details.vue'; | ||||
| import MkMediaList from '@/components/MkMediaList.vue'; | ||||
| import MkCwButton from '@/components/MkCwButton.vue'; | ||||
| import MkPoll from '@/components/MkPoll.vue'; | ||||
|  | @ -198,7 +201,7 @@ import { checkWordMute } from '@/scripts/check-word-mute.js'; | |||
| import { userPage } from '@/filters/user.js'; | ||||
| import number from '@/filters/number.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import { misskeyApi, misskeyApiGet } from '@/scripts/misskey-api.js'; | ||||
| import * as sound from '@/scripts/sound.js'; | ||||
| import { defaultStore, noteViewInterruptors } from '@/store.js'; | ||||
| import { reactionPicker } from '@/scripts/reaction-picker.js'; | ||||
|  | @ -219,6 +222,7 @@ import { showMovedDialog } from '@/scripts/show-moved-dialog.js'; | |||
| import { shouldCollapsed } from '@/scripts/collapsed.js'; | ||||
| import { useRouter } from '@/router/supplier.js'; | ||||
| import { boostMenuItems, type Visibility } from '@/scripts/boost-quote.js'; | ||||
| import { isEnabledUrlPreview } from '@/instance.js'; | ||||
| 
 | ||||
| const props = withDefaults(defineProps<{ | ||||
| 	note: Misskey.entities.Note; | ||||
|  | @ -408,6 +412,28 @@ if (!props.mock) { | |||
| 			renoted.value = res.length > 0; | ||||
| 		}); | ||||
| 	} | ||||
| 
 | ||||
| 	if (appearNote.value.reactionAcceptance === 'likeOnly') { | ||||
| 		useTooltip(reactButton, async (showing) => { | ||||
| 			const reactions = await misskeyApiGet('notes/reactions', { | ||||
| 				noteId: appearNote.value.id, | ||||
| 				limit: 10, | ||||
| 				_cacheKey_: appearNote.value.reactionCount, | ||||
| 			}); | ||||
| 
 | ||||
| 			const users = reactions.map(x => x.user); | ||||
| 
 | ||||
| 			if (users.length < 1) return; | ||||
| 
 | ||||
| 			os.popup(MkReactionsViewerDetails, { | ||||
| 				showing, | ||||
| 				reaction: '❤️', | ||||
| 				users, | ||||
| 				count: appearNote.value.reactionCount, | ||||
| 				targetElement: reactButton.value!, | ||||
| 			}, {}, 'closed'); | ||||
| 		}); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| function boostVisibility() { | ||||
|  |  | |||
|  | @ -107,7 +107,9 @@ SPDX-License-Identifier: AGPL-3.0-only | |||
| 					<MkMediaList :mediaList="appearNote.files"/> | ||||
| 				</div> | ||||
| 				<MkPoll v-if="appearNote.poll" ref="pollViewer" :noteId="appearNote.id" :poll="appearNote.poll" :class="$style.poll"/> | ||||
| 				<div v-if="isEnabledUrlPreview"> | ||||
| 					<MkUrlPreview v-for="url in urls" :key="url" :url="url" :compact="true" :detail="true" style="margin-top: 6px;"/> | ||||
| 				</div> | ||||
| 				<div v-if="appearNote.renote" :class="$style.quote"><SkNoteSimple :note="appearNote.renote" :class="$style.quoteNote" :expandAllCws="props.expandAllCws"/></div> | ||||
| 			</div> | ||||
| 			<MkA v-if="appearNote.channel && !inChannel" :class="$style.channel" :to="`/channels/${appearNote.channel.id}`"><i class="ph-television ph-bold ph-lg"></i> {{ appearNote.channel.name }}</MkA> | ||||
|  | @ -234,6 +236,7 @@ import * as Misskey from 'misskey-js'; | |||
| import SkNoteSub from '@/components/SkNoteSub.vue'; | ||||
| import SkNoteSimple from '@/components/SkNoteSimple.vue'; | ||||
| import MkReactionsViewer from '@/components/MkReactionsViewer.vue'; | ||||
| import MkReactionsViewerDetails from '@/components/MkReactionsViewer.details.vue'; | ||||
| import MkMediaList from '@/components/MkMediaList.vue'; | ||||
| import MkCwButton from '@/components/MkCwButton.vue'; | ||||
| import MkPoll from '@/components/MkPoll.vue'; | ||||
|  | @ -246,7 +249,7 @@ import { userPage } from '@/filters/user.js'; | |||
| import number from '@/filters/number.js'; | ||||
| import { notePage } from '@/filters/note.js'; | ||||
| import * as os from '@/os.js'; | ||||
| import { misskeyApi } from '@/scripts/misskey-api.js'; | ||||
| import { misskeyApi, misskeyApiGet } from '@/scripts/misskey-api.js'; | ||||
| import * as sound from '@/scripts/sound.js'; | ||||
| import { defaultStore, noteViewInterruptors } from '@/store.js'; | ||||
| import { reactionPicker } from '@/scripts/reaction-picker.js'; | ||||
|  | @ -267,6 +270,7 @@ import MkPagination, { type Paging } from '@/components/MkPagination.vue'; | |||
| import MkReactionIcon from '@/components/MkReactionIcon.vue'; | ||||
| import MkButton from '@/components/MkButton.vue'; | ||||
| import { boostMenuItems, type Visibility } from '@/scripts/boost-quote.js'; | ||||
| import { isEnabledUrlPreview } from '@/instance.js'; | ||||
| 
 | ||||
| const props = defineProps<{ | ||||
| 	note: Misskey.entities.Note; | ||||
|  | @ -448,6 +452,28 @@ function boostVisibility() { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| if (appearNote.value.reactionAcceptance === 'likeOnly') { | ||||
| 	useTooltip(reactButton, async (showing) => { | ||||
| 		const reactions = await misskeyApiGet('notes/reactions', { | ||||
| 			noteId: appearNote.value.id, | ||||
| 			limit: 10, | ||||
| 			_cacheKey_: appearNote.value.reactionCount, | ||||
| 		}); | ||||
| 
 | ||||
| 		const users = reactions.map(x => x.user); | ||||
| 
 | ||||
| 		if (users.length < 1) return; | ||||
| 
 | ||||
| 		os.popup(MkReactionsViewerDetails, { | ||||
| 			showing, | ||||
| 			reaction: '❤️', | ||||
| 			users, | ||||
| 			count: appearNote.value.reactionCount, | ||||
| 			targetElement: reactButton.value!, | ||||
| 		}, {}, 'closed'); | ||||
| 	}); | ||||
| } | ||||
| 
 | ||||
| function renote(visibility: Visibility, localOnly: boolean = false) { | ||||
| 	pleaseLogin(); | ||||
| 	showMovedDialog(); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue