From 582768a5e49edcdb95a61d5cb9e35363d2e5697e Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 3 Nov 2020 10:43:50 +0900 Subject: チャットリンクの挙動を改善 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/components/ui/a.vue | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/client/components/ui') diff --git a/src/client/components/ui/a.vue b/src/client/components/ui/a.vue index 98f9212545..516cf02bd6 100644 --- a/src/client/components/ui/a.vue +++ b/src/client/components/ui/a.vue @@ -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); -- cgit v1.2.3-freya