チャットリンクの挙動を改善

This commit is contained in:
syuilo 2020-11-03 10:43:50 +09:00
parent 1852d1cc6f
commit 582768a5e4
3 changed files with 20 additions and 24 deletions

View file

@ -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);

View file

@ -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'),

View file

@ -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',