This commit is contained in:
pa
2026-01-23 14:32:10 +09:00
parent 4e5acb990f
commit 739418733d
10 changed files with 68 additions and 130 deletions

View File

@@ -115,27 +115,18 @@ export const useInstanceStore = defineStore('Instance', () => {
visible: false
});
const previousInstancesUserDialog = ref({
const previousInstancesListDialog = ref({
visible: false,
openFlg: false,
variant: 'user',
userRef: {
id: '',
displayName: ''
}
});
const previousInstancesWorldDialog = ref({
visible: false,
openFlg: false,
},
worldRef: {
id: '',
name: ''
}
});
const previousInstancesGroupDialog = ref({
visible: false,
openFlg: false,
},
groupRef: {
id: '',
name: ''
@@ -158,9 +149,8 @@ export const useInstanceStore = defineStore('Instance', () => {
currentInstanceUsersData.value = [];
instanceJoinHistory.clear();
previousInstancesInfoDialog.value.visible = false;
previousInstancesUserDialog.value.visible = false;
previousInstancesWorldDialog.value.visible = false;
previousInstancesGroupDialog.value.visible = false;
previousInstancesListDialog.value.visible = false;
previousInstancesListDialog.value.openFlg = false;
cachedInstances.clear();
queuedInstances.clear();
if (isLoggedIn) {
@@ -197,12 +187,8 @@ export const useInstanceStore = defineStore('Instance', () => {
function hidePreviousInstancesDialogs() {
previousInstancesInfoDialog.value.visible = false;
previousInstancesUserDialog.value.visible = false;
previousInstancesUserDialog.value.openFlg = false;
previousInstancesWorldDialog.value.visible = false;
previousInstancesWorldDialog.value.openFlg = false;
previousInstancesGroupDialog.value.visible = false;
previousInstancesGroupDialog.value.openFlg = false;
previousInstancesListDialog.value.visible = false;
previousInstancesListDialog.value.openFlg = false;
}
async function resolveUserRef(input) {
@@ -335,50 +321,36 @@ export const useInstanceStore = defineStore('Instance', () => {
}
}
async function showPreviousInstancesUserDialog(userRef, options = {}) {
async function showPreviousInstancesListDialog(
variant,
targetRef,
options = {}
) {
hidePreviousInstancesDialogs();
const resolved = await resolveUserRef(userRef);
previousInstancesUserDialog.value.userRef = resolved;
previousInstancesUserDialog.value.visible = true;
previousInstancesUserDialog.value.openFlg = true;
nextTick(() => (previousInstancesUserDialog.value.openFlg = false));
if (!options.skipBreadcrumb && resolved.id) {
uiStore.pushDialogCrumb(
'previous-instances-user',
resolved.id,
resolved.displayName || resolved.id
);
previousInstancesListDialog.value.variant = variant;
let resolved = null;
if (variant === 'user') {
resolved = await resolveUserRef(targetRef);
previousInstancesListDialog.value.userRef = resolved;
} else if (variant === 'world') {
resolved = await resolveWorldRef(targetRef);
previousInstancesListDialog.value.worldRef = resolved;
} else {
resolved = await resolveGroupRef(targetRef);
previousInstancesListDialog.value.groupRef = resolved;
}
}
async function showPreviousInstancesWorldDialog(worldRef, options = {}) {
hidePreviousInstancesDialogs();
const resolved = await resolveWorldRef(worldRef);
previousInstancesWorldDialog.value.worldRef = resolved;
previousInstancesWorldDialog.value.visible = true;
previousInstancesWorldDialog.value.openFlg = true;
nextTick(() => (previousInstancesWorldDialog.value.openFlg = false));
if (!options.skipBreadcrumb && resolved.id) {
previousInstancesListDialog.value.visible = true;
previousInstancesListDialog.value.openFlg = true;
nextTick(() => (previousInstancesListDialog.value.openFlg = false));
if (!options.skipBreadcrumb && resolved?.id) {
const label =
variant === 'user'
? resolved.displayName || resolved.id
: resolved.name || resolved.id;
uiStore.pushDialogCrumb(
'previous-instances-world',
`previous-instances-${variant}`,
resolved.id,
resolved.name || resolved.id
);
}
}
async function showPreviousInstancesGroupDialog(groupRef, options = {}) {
hidePreviousInstancesDialogs();
const resolved = await resolveGroupRef(groupRef);
previousInstancesGroupDialog.value.groupRef = resolved;
previousInstancesGroupDialog.value.visible = true;
previousInstancesGroupDialog.value.openFlg = true;
nextTick(() => (previousInstancesGroupDialog.value.openFlg = false));
if (!options.skipBreadcrumb && resolved.id) {
uiStore.pushDialogCrumb(
'previous-instances-group',
resolved.id,
resolved.name || resolved.id
label
);
}
}
@@ -1465,9 +1437,7 @@ export const useInstanceStore = defineStore('Instance', () => {
currentInstanceLocation,
queuedInstances,
previousInstancesInfoDialog,
previousInstancesUserDialog,
previousInstancesWorldDialog,
previousInstancesGroupDialog,
previousInstancesListDialog,
previousInstancesListState,
instanceJoinHistory,
currentInstanceUsersData,
@@ -1484,9 +1454,7 @@ export const useInstanceStore = defineStore('Instance', () => {
instanceQueueUpdate,
hidePreviousInstancesDialogs,
showPreviousInstancesInfoDialog,
showPreviousInstancesUserDialog,
showPreviousInstancesWorldDialog,
showPreviousInstancesGroupDialog,
showPreviousInstancesListDialog,
addInstanceJoinHistory,
getCurrentInstanceUserList,
getInstanceJoinHistory,