diff options
| author | yupix <yupi0982@outlook.jp> | 2023-07-10 15:55:10 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-10 15:55:10 +0900 |
| commit | f4d1fcaf67716aa710d271e7f56c4f78cd202f29 (patch) | |
| tree | 872bfd98d522283e48828a2a2a6892656ecce098 /packages/frontend/src/scripts/get-user-menu.ts | |
| parent | feat: フォローやお気に入り登録をしていないチャンネル... (diff) | |
| download | sharkey-f4d1fcaf67716aa710d271e7f56c4f78cd202f29.tar.gz sharkey-f4d1fcaf67716aa710d271e7f56c4f78cd202f29.tar.bz2 sharkey-f4d1fcaf67716aa710d271e7f56c4f78cd202f29.zip | |
feat: ユーザーをcontextmenuからアンテナに追加できるようになど (#11206)
* feat: ユーザーをcontextmenuからアンテナに追加できるように close #11115
* MkAvatars.vue変更
* nanka iroiro
* fix MkAvatars
* ix
* fix
---------
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
Diffstat (limited to 'packages/frontend/src/scripts/get-user-menu.ts')
| -rw-r--r-- | packages/frontend/src/scripts/get-user-menu.ts | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/packages/frontend/src/scripts/get-user-menu.ts b/packages/frontend/src/scripts/get-user-menu.ts index bdcd1aabdc..1c93d58b44 100644 --- a/packages/frontend/src/scripts/get-user-menu.ts +++ b/packages/frontend/src/scripts/get-user-menu.ts @@ -1,3 +1,4 @@ +import { toUnicode } from 'punycode'; import { defineAsyncComponent } from 'vue'; import * as misskey from 'misskey-js'; import { i18n } from '@/i18n'; @@ -8,8 +9,7 @@ import { defaultStore, userActions } from '@/store'; import { $i, iAmModerator } from '@/account'; import { mainRouter } from '@/router'; import { Router } from '@/nirax'; -import { rolesCache, userListsCache } from '@/cache'; -import { toUnicode } from 'punycode'; +import { antennasCache, rolesCache, userListsCache } from '@/cache'; export function getUserMenu(user: misskey.entities.UserDetailed, router: Router = mainRouter) { const meId = $i ? $i.id : null; @@ -166,11 +166,39 @@ export function getUserMenu(user: misskey.entities.UserDetailed, router: Router return lists.map(list => ({ text: list.name, - action: () => { - os.apiWithDialog('users/lists/push', { + action: async () => { + await os.apiWithDialog('users/lists/push', { listId: list.id, userId: user.id, }); + userListsCache.delete(); + }, + })); + }, + }, { + type: 'parent', + icon: 'ti ti-antenna', + text: i18n.ts.addToAntenna, + children: async () => { + const antennas = await antennasCache.fetch(() => os.api('antennas/list')); + const canonical = user.host === null ? `@${user.username}` : `@${user.username}@${toUnicode(user.host)}`; + return antennas.filter((a) => a.src === 'users').map(antenna => ({ + text: antenna.name, + action: async () => { + await os.apiWithDialog('antennas/update', { + antennaId: antenna.id, + name: antenna.name, + keywords: antenna.keywords, + excludeKeywords: antenna.excludeKeywords, + src: antenna.src, + userListId: antenna.userListId, + users: [...antenna.users, canonical], + caseSensitive: antenna.caseSensitive, + withReplies: antenna.withReplies, + withFile: antenna.withFile, + notify: antenna.notify, + }); + antennasCache.delete(); }, })); }, |