From 739418733d6ccbd40359e32ef5801d06c0200b50 Mon Sep 17 00:00:00 2001 From: pa Date: Fri, 23 Jan 2026 14:32:10 +0900 Subject: [PATCH] tidy up --- .../dialogs/GroupDialog/GroupDialog.vue | 6 +- .../dialogs/MainDialogContainer.vue | 27 ++--- .../PreviousInstancesListDialog.vue | 25 ++--- .../dialogs/UserDialog/UserDialog.vue | 10 +- .../dialogs/WorldDialog/WorldDialog.vue | 10 +- src/stores/avatar.js | 4 +- src/stores/group.js | 4 +- src/stores/instance.js | 104 ++++++------------ src/stores/user.js | 4 +- src/stores/world.js | 4 +- 10 files changed, 68 insertions(+), 130 deletions(-) diff --git a/src/components/dialogs/GroupDialog/GroupDialog.vue b/src/components/dialogs/GroupDialog/GroupDialog.vue index 3a2070e4..185ace89 100644 --- a/src/components/dialogs/GroupDialog/GroupDialog.vue +++ b/src/components/dialogs/GroupDialog/GroupDialog.vue @@ -569,7 +569,7 @@ {{ formatDateFilter(groupDialog.ref.createdAt, 'long') }} -
+
@@ -47,9 +42,7 @@ avatarStore.avatarDialog.visible || groupStore.groupDialog.visible || previousInstancesInfoDialog.value.visible || - previousInstancesUserDialog.value.visible || - previousInstancesWorldDialog.value.visible || - previousInstancesGroupDialog.value.visible, + previousInstancesListDialog.value.visible, set: (value) => { if (!value) { userStore.userDialog.visible = false; @@ -69,14 +62,8 @@ if (previousInstancesInfoDialog.value.visible) { return 'previous-instances-info'; } - if (previousInstancesUserDialog.value.visible) { - return 'previous-instances-user'; - } - if (previousInstancesWorldDialog.value.visible) { - return 'previous-instances-world'; - } - if (previousInstancesGroupDialog.value.visible) { - return 'previous-instances-group'; + if (previousInstancesListDialog.value.visible) { + return `previous-instances-${previousInstancesListDialog.value.variant}`; } if (userStore.userDialog.visible) { return 'user'; @@ -185,15 +172,15 @@ return; } if (item.type === 'previous-instances-user') { - instanceStore.showPreviousInstancesUserDialog(item.id, { skipBreadcrumb: true }); + instanceStore.showPreviousInstancesListDialog('user', item.id, { skipBreadcrumb: true }); return; } if (item.type === 'previous-instances-world') { - instanceStore.showPreviousInstancesWorldDialog(item.id, { skipBreadcrumb: true }); + instanceStore.showPreviousInstancesListDialog('world', item.id, { skipBreadcrumb: true }); return; } if (item.type === 'previous-instances-group') { - instanceStore.showPreviousInstancesGroupDialog(item.id, { skipBreadcrumb: true }); + instanceStore.showPreviousInstancesListDialog('group', item.id, { skipBreadcrumb: true }); return; } if (item.type === 'previous-instances-info') { diff --git a/src/components/dialogs/PreviousInstancesDialog/PreviousInstancesListDialog.vue b/src/components/dialogs/PreviousInstancesDialog/PreviousInstancesListDialog.vue index 2567b230..48e8a643 100644 --- a/src/components/dialogs/PreviousInstancesDialog/PreviousInstancesListDialog.vue +++ b/src/components/dialogs/PreviousInstancesDialog/PreviousInstancesListDialog.vue @@ -68,14 +68,7 @@ const instanceStore = useInstanceStore(); const { showPreviousInstancesInfoDialog } = instanceStore; - const { - previousInstancesInfoDialogVisible, - previousInstancesInfoDialogInstanceId, - previousInstancesListState, - previousInstancesUserDialog, - previousInstancesWorldDialog, - previousInstancesGroupDialog - } = storeToRefs(instanceStore); + const { previousInstancesListState, previousInstancesListDialog } = storeToRefs(instanceStore); const { shiftHeld } = storeToRefs(useUiStore()); const { stringComparer } = storeToRefs(useSearchStore()); const { currentUser } = storeToRefs(useUserStore()); @@ -85,9 +78,7 @@ const { t } = useI18n(); const dialogState = computed(() => { - if (props.variant === 'user') return previousInstancesUserDialog.value; - if (props.variant === 'world') return previousInstancesWorldDialog.value; - return previousInstancesGroupDialog.value; + return previousInstancesListDialog.value; }); const getListState = () => { @@ -158,8 +149,8 @@ function deleteGameLogInstance(row) { if (props.variant === 'user') { database.deleteGameLogInstance({ - id: previousInstancesUserDialog.value.userRef.id, - displayName: previousInstancesUserDialog.value.userRef.displayName, + id: previousInstancesListDialog.value.userRef.id, + displayName: previousInstancesListDialog.value.userRef.displayName, location: row.location, events: row.events }); @@ -195,7 +186,7 @@ createPreviousInstancesColumns(props.variant, { shiftHeld, currentUserId: currentUser.value?.id, - forceUpdateKey: previousInstancesWorldDialog.value?.forceUpdate, + forceUpdateKey: previousInstancesListDialog.value?.forceUpdate, onLaunch: showLaunchDialog, onShowInfo: handleShowInfo, onDelete: deleteGameLogInstance, @@ -248,14 +239,14 @@ const array = []; try { if (props.variant === 'user') { - const data = await database.getPreviousInstancesByUserId(previousInstancesUserDialog.value.userRef); + const data = await database.getPreviousInstancesByUserId(previousInstancesListDialog.value.userRef); for (const item of data.values()) { item.$location = parseLocation(item.location); item.timer = item.time > 0 ? timeToText(item.time) : ''; array.push(item); } } else if (props.variant === 'world') { - const D = previousInstancesWorldDialog.value; + const D = previousInstancesListDialog.value; const data = await database.getPreviousInstancesByWorldId(D.worldRef); for (const ref of data.values()) { ref.$location = parseLocation(ref.location); @@ -263,7 +254,7 @@ array.push(ref); } } else { - const D = previousInstancesGroupDialog.value; + const D = previousInstancesListDialog.value; const data = await database.getPreviousInstancesByGroupId(D.groupRef.id); for (const ref of data.values()) { ref.$location = parseLocation(ref.location); diff --git a/src/components/dialogs/UserDialog/UserDialog.vue b/src/components/dialogs/UserDialog/UserDialog.vue index cf04bf43..cbb6d206 100644 --- a/src/components/dialogs/UserDialog/UserDialog.vue +++ b/src/components/dialogs/UserDialog/UserDialog.vue @@ -265,7 +265,7 @@
-
+
-
+
{{ t('dialog.user.info.play_time') }} @@ -1804,7 +1804,7 @@ toast.error('No fallback avatar set'); } } else if (command === 'Previous Instances') { - showPreviousInstancesUserDialog(D.ref); + showPreviousInstancesListDialog(D.ref); } else if (command === 'Manage Gallery') { userDialog.value.visible = false; showGalleryPage(); @@ -2337,8 +2337,8 @@ } } - function showPreviousInstancesUserDialog(userRef) { - instanceStore.showPreviousInstancesUserDialog(userRef); + function showPreviousInstancesListDialog(userRef) { + instanceStore.showPreviousInstancesListDialog('user', userRef); } function toggleAvatarCopying() { diff --git a/src/components/dialogs/WorldDialog/WorldDialog.vue b/src/components/dialogs/WorldDialog/WorldDialog.vue index 0f699911..cc9f3c00 100644 --- a/src/components/dialogs/WorldDialog/WorldDialog.vue +++ b/src/components/dialogs/WorldDialog/WorldDialog.vue @@ -643,7 +643,7 @@
-
+
{}); break; case 'Previous Instances': - showPreviousInstancesWorldDialog(D.ref); + showPreviousInstancesListDialog(D.ref); break; case 'Share': copyWorldUrl(); @@ -1284,8 +1284,8 @@ database.deleteWorldMemo(worldId); } } - function showPreviousInstancesWorldDialog(worldRef) { - openPreviousInstancesWorldDialog(worldRef); + function showPreviousInstancesListDialog(worldRef) { + openPreviousInstancesListDialog('world', worldRef); } function refreshWorldDialogTreeData() { treeData.value = formatJsonVars(worldDialog.value.ref); diff --git a/src/stores/avatar.js b/src/stores/avatar.js index 4e02092f..bbb62906 100644 --- a/src/stores/avatar.js +++ b/src/stores/avatar.js @@ -189,9 +189,7 @@ export const useAvatarStore = defineStore('Avatar', () => { worldStore.worldDialog.visible || groupStore.groupDialog.visible || instanceStore.previousInstancesInfoDialog.visible || - instanceStore.previousInstancesUserDialog.visible || - instanceStore.previousInstancesWorldDialog.visible || - instanceStore.previousInstancesGroupDialog.visible; + instanceStore.previousInstancesListDialog.visible; if (!hadActiveDialog) { uiStore.clearDialogCrumbs(); } diff --git a/src/stores/group.js b/src/stores/group.js index 184dd331..3c39f917 100644 --- a/src/stores/group.js +++ b/src/stores/group.js @@ -141,9 +141,7 @@ export const useGroupStore = defineStore('Group', () => { worldStore.worldDialog.visible || avatarStore.avatarDialog.visible || instanceStore.previousInstancesInfoDialog.visible || - instanceStore.previousInstancesUserDialog.visible || - instanceStore.previousInstancesWorldDialog.visible || - instanceStore.previousInstancesGroupDialog.visible; + instanceStore.previousInstancesListDialog.visible; if (!hadActiveDialog) { uiStore.clearDialogCrumbs(); } diff --git a/src/stores/instance.js b/src/stores/instance.js index a07ebc6c..12c78855 100644 --- a/src/stores/instance.js +++ b/src/stores/instance.js @@ -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, diff --git a/src/stores/user.js b/src/stores/user.js index e89a83bd..bfecf607 100644 --- a/src/stores/user.js +++ b/src/stores/user.js @@ -773,9 +773,7 @@ export const useUserStore = defineStore('User', () => { avatarStore.avatarDialog.visible || groupStore.groupDialog.visible || instanceStore.previousInstancesInfoDialog.visible || - instanceStore.previousInstancesUserDialog.visible || - instanceStore.previousInstancesWorldDialog.visible || - instanceStore.previousInstancesGroupDialog.visible; + instanceStore.previousInstancesListDialog.visible; if (!hadActiveDialog) { uiStore.clearDialogCrumbs(); } diff --git a/src/stores/world.js b/src/stores/world.js index e8389111..24b59200 100644 --- a/src/stores/world.js +++ b/src/stores/world.js @@ -90,9 +90,7 @@ export const useWorldStore = defineStore('World', () => { avatarStore.avatarDialog.visible || groupStore.groupDialog.visible || instanceStore.previousInstancesInfoDialog.visible || - instanceStore.previousInstancesUserDialog.visible || - instanceStore.previousInstancesWorldDialog.visible || - instanceStore.previousInstancesGroupDialog.visible; + instanceStore.previousInstancesListDialog.visible; if (!hadActiveDialog) { uiStore.clearDialogCrumbs(); }