refactor(client): Refine routing (#8846)

This commit is contained in:
syuilo 2022-06-20 17:38:49 +09:00 committed by GitHub
parent 30a39a296d
commit 699f24f3dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
149 changed files with 6312 additions and 6670 deletions

View file

@ -1,12 +1,12 @@
import * as Acct from 'misskey-js/built/acct';
import { defineAsyncComponent } from 'vue';
import { i18n } from '@/i18n';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import { host } from '@/config';
import * as Acct from 'misskey-js/built/acct';
import * as os from '@/os';
import { userActions } from '@/store';
import { router } from '@/router';
import { $i, iAmModerator } from '@/account';
import { defineAsyncComponent } from 'vue';
import { mainRouter } from '@/router';
export function getUserMenu(user) {
const meId = $i ? $i.id : null;
@ -17,20 +17,20 @@ export function getUserMenu(user) {
if (lists.length === 0) {
os.alert({
type: 'error',
text: i18n.ts.youHaveNoLists
text: i18n.ts.youHaveNoLists,
});
return;
}
const { canceled, result: listId } = await os.select({
title: t,
items: lists.map(list => ({
value: list.id, text: list.name
}))
value: list.id, text: list.name,
})),
});
if (canceled) return;
os.apiWithDialog('users/lists/push', {
listId: listId,
userId: user.id
userId: user.id,
});
}
@ -39,20 +39,20 @@ export function getUserMenu(user) {
if (groups.length === 0) {
os.alert({
type: 'error',
text: i18n.ts.youHaveNoGroups
text: i18n.ts.youHaveNoGroups,
});
return;
}
const { canceled, result: groupId } = await os.select({
title: i18n.ts.group,
items: groups.map(group => ({
value: group.id, text: group.name
}))
value: group.id, text: group.name,
})),
});
if (canceled) return;
os.apiWithDialog('users/groups/invite', {
groupId: groupId,
userId: user.id
userId: user.id,
});
}
@ -101,7 +101,7 @@ export function getUserMenu(user) {
if (!await getConfirmed(user.isBlocking ? i18n.ts.unblockConfirm : i18n.ts.blockConfirm)) return;
os.apiWithDialog(user.isBlocking ? 'blocking/delete' : 'blocking/create', {
userId: user.id
userId: user.id,
}).then(() => {
user.isBlocking = !user.isBlocking;
});
@ -111,7 +111,7 @@ export function getUserMenu(user) {
if (!await getConfirmed(i18n.t(user.isSilenced ? 'unsilenceConfirm' : 'silenceConfirm'))) return;
os.apiWithDialog(user.isSilenced ? 'admin/unsilence-user' : 'admin/silence-user', {
userId: user.id
userId: user.id,
}).then(() => {
user.isSilenced = !user.isSilenced;
});
@ -121,7 +121,7 @@ export function getUserMenu(user) {
if (!await getConfirmed(i18n.t(user.isSuspended ? 'unsuspendConfirm' : 'suspendConfirm'))) return;
os.apiWithDialog(user.isSuspended ? 'admin/unsuspend-user' : 'admin/suspend-user', {
userId: user.id
userId: user.id,
}).then(() => {
user.isSuspended = !user.isSuspended;
});
@ -145,7 +145,7 @@ export function getUserMenu(user) {
async function invalidateFollow() {
os.apiWithDialog('following/invalidate', {
userId: user.id
userId: user.id,
}).then(() => {
user.isFollowed = !user.isFollowed;
});
@ -156,19 +156,19 @@ export function getUserMenu(user) {
text: i18n.ts.copyUsername,
action: () => {
copyToClipboard(`@${user.username}@${user.host || host}`);
}
},
}, {
icon: 'fas fa-info-circle',
text: i18n.ts.info,
action: () => {
os.pageWindow(`/user-info/${user.id}`);
}
},
}, {
icon: 'fas fa-envelope',
text: i18n.ts.sendMessage,
action: () => {
os.post({ specified: user });
}
},
}, meId !== user.id ? {
type: 'link',
icon: 'fas fa-comments',
@ -177,47 +177,47 @@ export function getUserMenu(user) {
} : undefined, null, {
icon: 'fas fa-list-ul',
text: i18n.ts.addToList,
action: pushList
action: pushList,
}, meId !== user.id ? {
icon: 'fas fa-users',
text: i18n.ts.inviteToGroup,
action: inviteGroup
action: inviteGroup,
} : undefined] as any;
if ($i && meId !== user.id) {
menu = menu.concat([null, {
icon: user.isMuted ? 'fas fa-eye' : 'fas fa-eye-slash',
text: user.isMuted ? i18n.ts.unmute : i18n.ts.mute,
action: toggleMute
action: toggleMute,
}, {
icon: 'fas fa-ban',
text: user.isBlocking ? i18n.ts.unblock : i18n.ts.block,
action: toggleBlock
action: toggleBlock,
}]);
if (user.isFollowed) {
menu = menu.concat([{
icon: 'fas fa-unlink',
text: i18n.ts.breakFollow,
action: invalidateFollow
action: invalidateFollow,
}]);
}
menu = menu.concat([null, {
icon: 'fas fa-exclamation-circle',
text: i18n.ts.reportAbuse,
action: reportAbuse
action: reportAbuse,
}]);
if (iAmModerator) {
menu = menu.concat([null, {
icon: 'fas fa-microphone-slash',
text: user.isSilenced ? i18n.ts.unsilence : i18n.ts.silence,
action: toggleSilence
action: toggleSilence,
}, {
icon: 'fas fa-snowflake',
text: user.isSuspended ? i18n.ts.unsuspend : i18n.ts.suspend,
action: toggleSuspend
action: toggleSuspend,
}]);
}
}
@ -227,8 +227,8 @@ export function getUserMenu(user) {
icon: 'fas fa-pencil-alt',
text: i18n.ts.editProfile,
action: () => {
router.push('/settings/profile');
}
mainRouter.push('/settings/profile');
},
}]);
}
@ -238,7 +238,7 @@ export function getUserMenu(user) {
text: action.title,
action: () => {
action.handler(user);
}
},
}))]);
}