mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-13 20:03:51 +02:00
Open new instance in-game
This commit is contained in:
@@ -232,7 +232,11 @@
|
||||
{{ t('dialog.world.actions.new_instance') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item icon="el-icon-message" command="New Instance and Self Invite">
|
||||
{{ t('dialog.world.actions.new_instance_and_self_invite') }}
|
||||
{{
|
||||
isGameRunning
|
||||
? t('dialog.world.actions.new_instance_and_open_in_vrchat')
|
||||
: t('dialog.world.actions.new_instance_and_self_invite')
|
||||
}}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="
|
||||
|
||||
@@ -135,7 +135,6 @@
|
||||
"import": "Import",
|
||||
"move_tooltip": "Move",
|
||||
"copy_tooltip": "Copy",
|
||||
"self_invite_tooltip": "Self Invite",
|
||||
"unfavorite_tooltip": "Unfavorite",
|
||||
"visibility_tooltip": "Change Visibility",
|
||||
"rename_tooltip": "Rename",
|
||||
@@ -908,6 +907,7 @@
|
||||
"share": "Share",
|
||||
"new_instance": "New Instance",
|
||||
"new_instance_and_self_invite": "New Instance and Self Invite",
|
||||
"new_instance_and_open_in_vrchat": "New Instance and Open in VRChat",
|
||||
"make_home": "Make Home",
|
||||
"reset_home": "Reset Home",
|
||||
"show_previous_instances": "Show Previous Instances",
|
||||
|
||||
@@ -5,9 +5,13 @@ import { $app } from '../app';
|
||||
import { watchState } from '../service/watchState';
|
||||
import { parseLocation } from '../shared/utils';
|
||||
import { useInstanceStore } from './instance';
|
||||
import { useGameStore } from './game';
|
||||
import { useLaunchStore } from './launch';
|
||||
|
||||
export const useInviteStore = defineStore('Invite', () => {
|
||||
const instanceStore = useInstanceStore();
|
||||
const gameStore = useGameStore();
|
||||
const launchStore = useLaunchStore();
|
||||
const state = reactive({
|
||||
editInviteMessageDialog: {
|
||||
visible: false,
|
||||
@@ -160,6 +164,12 @@ export const useInviteStore = defineStore('Invite', () => {
|
||||
if (!L.isRealInstance) {
|
||||
return;
|
||||
}
|
||||
if (gameStore.isGameRunning && !LINUX) {
|
||||
const secureOrShortName =
|
||||
args.json.shortName || args.json.secureName;
|
||||
launchStore.tryOpenInstanceInVrc(location, secureOrShortName);
|
||||
return;
|
||||
}
|
||||
instanceRequest
|
||||
.selfInvite({
|
||||
instanceId: L.instanceId,
|
||||
|
||||
@@ -51,10 +51,14 @@
|
||||
:content="$t('view.favorite.private')">
|
||||
<i class="el-icon-warning" style="color: #e6a23c; margin-left: 5px"></i>
|
||||
</el-tooltip>
|
||||
<el-tooltip
|
||||
placement="left"
|
||||
:content="$t('view.favorite.self_invite_tooltip')"
|
||||
:disabled="hideTooltips">
|
||||
<el-tooltip placement="left" :disabled="hideTooltips">
|
||||
<template #content>
|
||||
{{
|
||||
isGameRunning
|
||||
? $t('dialog.world.actions.new_instance_and_open_in_vrchat')
|
||||
: $t('dialog.world.actions.new_instance_and_self_invite')
|
||||
}}
|
||||
</template>
|
||||
<el-button
|
||||
size="mini"
|
||||
icon="el-icon-message"
|
||||
@@ -132,7 +136,13 @@
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { computed, getCurrentInstance } from 'vue';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
import { useAppearanceSettingsStore, useFavoriteStore, useInviteStore, useUiStore } from '../../../stores';
|
||||
import {
|
||||
useAppearanceSettingsStore,
|
||||
useFavoriteStore,
|
||||
useInviteStore,
|
||||
useUiStore,
|
||||
useGameStore
|
||||
} from '../../../stores';
|
||||
|
||||
const props = defineProps({
|
||||
group: [Object, String],
|
||||
@@ -149,6 +159,7 @@
|
||||
const { showFavoriteDialog } = useFavoriteStore();
|
||||
const { newInstanceSelfInvite } = useInviteStore();
|
||||
const { shiftHeld } = storeToRefs(useUiStore());
|
||||
const { isGameRunning } = storeToRefs(useGameStore());
|
||||
|
||||
const isSelected = computed({
|
||||
get: () => props.favorite.$selected,
|
||||
|
||||
Reference in New Issue
Block a user