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