mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	enhance(client): Renote した時の表示をリップルエフェクトと toast に (#10116)
* enhance(client): Renote した時の表示を toast に * fix: lint エラー * enhance(client): Renote した時の表示をリップルエフェクトに * toast も追加 * rippleeffect のタイミング変更 * toast の位置を header に被らないように
This commit is contained in:
		
							parent
							
								
									78d66d3806
								
							
						
					
					
						commit
						c34e7e6e08
					
				
					 3 changed files with 47 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -157,6 +157,7 @@ import { useTooltip } from '@/scripts/use-tooltip';
 | 
			
		|||
import { claimAchievement } from '@/scripts/achievements';
 | 
			
		||||
import { getNoteSummary } from '@/scripts/get-note-summary';
 | 
			
		||||
import { MenuItem } from '@/types/menu';
 | 
			
		||||
import MkRippleEffect from '@/components/MkRippleEffect.vue';
 | 
			
		||||
 | 
			
		||||
const props = defineProps<{
 | 
			
		||||
	note: misskey.entities.Note;
 | 
			
		||||
| 
						 | 
				
			
			@ -256,9 +257,19 @@ function renote(viaKeyboard = false) {
 | 
			
		|||
			text: i18n.ts.inChannelRenote,
 | 
			
		||||
			icon: 'ti ti-repeat',
 | 
			
		||||
			action: () => {
 | 
			
		||||
				os.apiWithDialog('notes/create', {
 | 
			
		||||
				const el = renoteButton.value as HTMLElement | null | undefined;
 | 
			
		||||
				if (el) {
 | 
			
		||||
					const rect = el.getBoundingClientRect();
 | 
			
		||||
					const x = rect.left + (el.offsetWidth / 2);
 | 
			
		||||
					const y = rect.top + (el.offsetHeight / 2);
 | 
			
		||||
					os.popup(MkRippleEffect, { x, y }, {}, 'end');
 | 
			
		||||
				}
 | 
			
		||||
					
 | 
			
		||||
				os.api('notes/create', {
 | 
			
		||||
					renoteId: appearNote.id,
 | 
			
		||||
					channelId: appearNote.channelId,
 | 
			
		||||
				}).then(() => {
 | 
			
		||||
					os.toast(i18n.ts.renoted);
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
		}, {
 | 
			
		||||
| 
						 | 
				
			
			@ -277,8 +288,18 @@ function renote(viaKeyboard = false) {
 | 
			
		|||
		text: i18n.ts.renote,
 | 
			
		||||
		icon: 'ti ti-repeat',
 | 
			
		||||
		action: () => {
 | 
			
		||||
			os.apiWithDialog('notes/create', {
 | 
			
		||||
			const el = renoteButton.value as HTMLElement | null | undefined;
 | 
			
		||||
				if (el) {
 | 
			
		||||
					const rect = el.getBoundingClientRect();
 | 
			
		||||
					const x = rect.left + (el.offsetWidth / 2);
 | 
			
		||||
					const y = rect.top + (el.offsetHeight / 2);
 | 
			
		||||
					os.popup(MkRippleEffect, { x, y }, {}, 'end');
 | 
			
		||||
				}
 | 
			
		||||
				
 | 
			
		||||
			os.api('notes/create', {
 | 
			
		||||
				renoteId: appearNote.id,
 | 
			
		||||
			}).then(() => {
 | 
			
		||||
				os.toast(i18n.ts.renoted);
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
	}, {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,6 +161,7 @@ import { deepClone } from '@/scripts/clone';
 | 
			
		|||
import { useTooltip } from '@/scripts/use-tooltip';
 | 
			
		||||
import { claimAchievement } from '@/scripts/achievements';
 | 
			
		||||
import { MenuItem } from '@/types/menu';
 | 
			
		||||
import MkRippleEffect from '@/components/MkRippleEffect.vue';
 | 
			
		||||
 | 
			
		||||
const props = defineProps<{
 | 
			
		||||
	note: misskey.entities.Note;
 | 
			
		||||
| 
						 | 
				
			
			@ -250,9 +251,19 @@ function renote(viaKeyboard = false) {
 | 
			
		|||
			text: i18n.ts.inChannelRenote,
 | 
			
		||||
			icon: 'ti ti-repeat',
 | 
			
		||||
			action: () => {
 | 
			
		||||
				os.apiWithDialog('notes/create', {
 | 
			
		||||
				const el = renoteButton.value as HTMLElement | null | undefined;
 | 
			
		||||
				if (el) {
 | 
			
		||||
					const rect = el.getBoundingClientRect();
 | 
			
		||||
					const x = rect.left + (el.offsetWidth / 2);
 | 
			
		||||
					const y = rect.top + (el.offsetHeight / 2);
 | 
			
		||||
					os.popup(MkRippleEffect, { x, y }, {}, 'end');
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				os.api('notes/create', {
 | 
			
		||||
					renoteId: appearNote.id,
 | 
			
		||||
					channelId: appearNote.channelId,
 | 
			
		||||
				}).then(() => {
 | 
			
		||||
					os.toast(i18n.ts.renoted);
 | 
			
		||||
				});
 | 
			
		||||
			},
 | 
			
		||||
		}, {
 | 
			
		||||
| 
						 | 
				
			
			@ -271,8 +282,18 @@ function renote(viaKeyboard = false) {
 | 
			
		|||
		text: i18n.ts.renote,
 | 
			
		||||
		icon: 'ti ti-repeat',
 | 
			
		||||
		action: () => {
 | 
			
		||||
			os.apiWithDialog('notes/create', {
 | 
			
		||||
			const el = renoteButton.value as HTMLElement | null | undefined;
 | 
			
		||||
			if (el) {
 | 
			
		||||
				const rect = el.getBoundingClientRect();
 | 
			
		||||
				const x = rect.left + (el.offsetWidth / 2);
 | 
			
		||||
				const y = rect.top + (el.offsetHeight / 2);
 | 
			
		||||
				os.popup(MkRippleEffect, { x, y }, {}, 'end');
 | 
			
		||||
			}
 | 
			
		||||
				
 | 
			
		||||
			os.api('notes/create', {
 | 
			
		||||
				renoteId: appearNote.id,
 | 
			
		||||
			}).then(() => {
 | 
			
		||||
				os.toast(i18n.ts.renoted);
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
	}, {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,7 @@ onMounted(() => {
 | 
			
		|||
	position: fixed;
 | 
			
		||||
	left: 0;
 | 
			
		||||
	right: 0;
 | 
			
		||||
	top: 0;
 | 
			
		||||
	top: 50px;
 | 
			
		||||
	margin: 0 auto;
 | 
			
		||||
	margin-top: 16px;
 | 
			
		||||
	min-width: 300px;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue