summaryrefslogtreecommitdiff
path: root/src/client/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/components')
-rw-r--r--src/client/components/ui/a.vue23
1 files changed, 17 insertions, 6 deletions
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);