refactor(frontend): popupMenuの項目作成時に三項演算子をなるべく使わないように (#14554)
* refactor(frontend): popupMenuの項目作成時に三項演算子をなるべく使わないように * type import * fix * lint
This commit is contained in:
		| @@ -80,7 +80,7 @@ import { $i } from '@/account.js'; | ||||
| import { isSupportShare } from '@/scripts/navigator.js'; | ||||
| import { copyToClipboard } from '@/scripts/copy-to-clipboard.js'; | ||||
| import { useRouter } from '@/router/supplier.js'; | ||||
| import { MenuItem } from '@/types/menu'; | ||||
| import type { MenuItem } from '@/types/menu.js'; | ||||
|  | ||||
| const router = useRouter(); | ||||
|  | ||||
| @@ -171,35 +171,35 @@ function reportAbuse() { | ||||
| function showMenu(ev: MouseEvent) { | ||||
| 	if (!post.value) return; | ||||
|  | ||||
| 	const menu: MenuItem[] = [ | ||||
| 		...($i && $i.id !== post.value.userId ? [ | ||||
| 			{ | ||||
| 				icon: 'ti ti-exclamation-circle', | ||||
| 				text: i18n.ts.reportAbuse, | ||||
| 				action: reportAbuse, | ||||
| 			}, | ||||
| 			...($i.isModerator || $i.isAdmin ? [ | ||||
| 				{ | ||||
| 					type: 'divider' as const, | ||||
| 				}, | ||||
| 				{ | ||||
| 					icon: 'ti ti-trash', | ||||
| 					text: i18n.ts.delete, | ||||
| 					danger: true, | ||||
| 					action: () => os.confirm({ | ||||
| 						type: 'warning', | ||||
| 						text: i18n.ts.deleteConfirm, | ||||
| 					}).then(({ canceled }) => { | ||||
| 						if (canceled || !post.value) return; | ||||
| 	const menuItems: MenuItem[] = []; | ||||
|  | ||||
| 						os.apiWithDialog('gallery/posts/delete', { postId: post.value.id }); | ||||
| 					}), | ||||
| 				}, | ||||
| 			] : []), | ||||
| 		] : []), | ||||
| 	]; | ||||
| 	if ($i && $i.id !== post.value.userId) { | ||||
| 		menuItems.push({ | ||||
| 			icon: 'ti ti-exclamation-circle', | ||||
| 			text: i18n.ts.reportAbuse, | ||||
| 			action: reportAbuse, | ||||
| 		}); | ||||
|  | ||||
| 	os.popupMenu(menu, ev.currentTarget ?? ev.target); | ||||
| 		if ($i.isModerator || $i.isAdmin) { | ||||
| 			menuItems.push({ | ||||
| 				type: 'divider', | ||||
| 			}, { | ||||
| 				icon: 'ti ti-trash', | ||||
| 				text: i18n.ts.delete, | ||||
| 				danger: true, | ||||
| 				action: () => os.confirm({ | ||||
| 					type: 'warning', | ||||
| 					text: i18n.ts.deleteConfirm, | ||||
| 				}).then(({ canceled }) => { | ||||
| 					if (canceled || !post.value) return; | ||||
|  | ||||
| 					os.apiWithDialog('gallery/posts/delete', { postId: post.value.id }); | ||||
| 				}), | ||||
| 			}); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	os.popupMenu(menuItems, ev.currentTarget ?? ev.target); | ||||
| } | ||||
|  | ||||
| watch(() => props.postId, fetchPost, { immediate: true }); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 かっこかり
					かっこかり