mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-14 14:07:38 -07:00
チャットリンクの挙動を改善
This commit is contained in:
parent
5182fe4a9c
commit
62e01e9c13
3 changed files with 20 additions and 24 deletions
|
@ -11,6 +11,7 @@ import * as os from '@/os';
|
|||
import copyToClipboard from '@/scripts/copy-to-clipboard';
|
||||
import { router } from '@/router';
|
||||
import { deckmode, url } from '@/config';
|
||||
import { popout } from '@/scripts/popout';
|
||||
|
||||
export default defineComponent({
|
||||
inject: {
|
||||
|
@ -87,11 +88,23 @@ export default defineComponent({
|
|||
}], e);
|
||||
},
|
||||
|
||||
window() {
|
||||
os.pageWindow(this.to);
|
||||
},
|
||||
|
||||
popout() {
|
||||
popout(this.to);
|
||||
},
|
||||
|
||||
nav() {
|
||||
if (this.to.startsWith('/my/messaging')) {
|
||||
if (this.$store.state.device.chatOpenBehavior === 'window') return this.window();
|
||||
if (this.$store.state.device.chatOpenBehavior === 'popout') return this.popout();
|
||||
}
|
||||
|
||||
if (this.behavior) {
|
||||
if (this.behavior === 'window') {
|
||||
os.pageWindow(this.to);
|
||||
return;
|
||||
return this.window();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,12 +112,10 @@ export default defineComponent({
|
|||
this.navHook(this.to);
|
||||
} else {
|
||||
if (this.$store.state.device.defaultSideView && this.sideViewHook && this.to !== '/') {
|
||||
this.sideViewHook(this.to);
|
||||
return;
|
||||
return this.sideViewHook(this.to);
|
||||
}
|
||||
if (this.$store.state.device.deckNavWindow && deckmode && this.to !== '/') {
|
||||
os.pageWindow(this.to);
|
||||
return;
|
||||
return this.window();
|
||||
}
|
||||
|
||||
this.$router.push(this.to);
|
||||
|
|
|
@ -131,16 +131,10 @@ export function getUserMenu(user) {
|
|||
os.post({ specified: user });
|
||||
}
|
||||
}, store.state.i.id != user.id ? {
|
||||
type: 'link',
|
||||
icon: faComments,
|
||||
text: i18n.global.t('startMessaging'),
|
||||
action: () => {
|
||||
const acct = getAcct(user);
|
||||
switch (store.state.device.chatOpenBehavior) {
|
||||
case 'window': { os.pageWindow('/my/messaging/' + acct); break; }
|
||||
case 'popout': { popout('/my/messaging'); break; }
|
||||
default: { router.push('/my/messaging'); break; }
|
||||
}
|
||||
}
|
||||
to: '/my/messaging/' + getAcct(user),
|
||||
} : undefined, null, {
|
||||
icon: faListUl,
|
||||
text: i18n.global.t('addToList'),
|
||||
|
|
|
@ -4,9 +4,6 @@ import { computed } from 'vue';
|
|||
import { store } from '@/store';
|
||||
import { deckmode } from '@/config';
|
||||
import { search } from '@/scripts/search';
|
||||
import { popout } from '@/scripts/popout';
|
||||
import { router } from '@/router';
|
||||
import * as os from '@/os';
|
||||
|
||||
export const sidebarDef = {
|
||||
notifications: {
|
||||
|
@ -21,13 +18,7 @@ export const sidebarDef = {
|
|||
icon: faComments,
|
||||
show: computed(() => store.getters.isSignedIn),
|
||||
indicated: computed(() => store.getters.isSignedIn && store.state.i.hasUnreadMessagingMessage),
|
||||
action: () => {
|
||||
switch (store.state.device.chatOpenBehavior) {
|
||||
case 'window': { os.pageWindow('/my/messaging'); break; }
|
||||
case 'popout': { popout('/my/messaging'); break; }
|
||||
default: { router.push('/my/messaging'); break; }
|
||||
}
|
||||
}
|
||||
to: '/my/messaging',
|
||||
},
|
||||
drive: {
|
||||
title: 'drive',
|
||||
|
|
Loading…
Reference in a new issue