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

@@ -569,7 +569,7 @@
<span class="extra">{{ formatDateFilter(groupDialog.ref.createdAt, 'long') }}</span>
</div>
</div>
<div class="x-friend-item" @click="showPreviousInstancesGroupDialog(groupDialog.ref)">
<div class="x-friend-item" @click="showPreviousInstancesListDialog(groupDialog.ref)">
<div class="detail">
<div
class="name"
@@ -1379,8 +1379,8 @@
inviteGroupDialog.value.visible = true;
}
function showPreviousInstancesGroupDialog(groupRef) {
instanceStore.showPreviousInstancesGroupDialog(groupRef);
function showPreviousInstancesListDialog(groupRef) {
instanceStore.showPreviousInstancesListDialog('group', groupRef);
}
function setGroupRepresentation(groupId) {

View File

@@ -33,12 +33,7 @@
const userStore = useUserStore();
const worldStore = useWorldStore();
const {
previousInstancesInfoDialog,
previousInstancesUserDialog,
previousInstancesWorldDialog,
previousInstancesGroupDialog
} = storeToRefs(instanceStore);
const { previousInstancesInfoDialog, previousInstancesListDialog } = storeToRefs(instanceStore);
const isOpen = computed({
get: () =>
@@ -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') {

View File

@@ -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);

View File

@@ -265,7 +265,7 @@
</div>
</div>
<div class="x-friend-item" @click="showPreviousInstancesUserDialog(userDialog.ref)">
<div class="x-friend-item" @click="showPreviousInstancesListDialog(userDialog.ref)">
<div class="detail">
<div
class="name"
@@ -298,7 +298,7 @@
:disabled="currentUser.id !== userDialog.id"
side="top"
:content="t('dialog.user.info.open_previous_instance')">
<div class="x-friend-item" @click="showPreviousInstancesUserDialog(userDialog.ref)">
<div class="x-friend-item" @click="showPreviousInstancesListDialog(userDialog.ref)">
<div class="detail">
<span class="name">
{{ 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() {

View File

@@ -643,7 +643,7 @@
</div>
</div>
<div class="x-friend-item" @click="showPreviousInstancesWorldDialog(worldDialog.ref)">
<div class="x-friend-item" @click="showPreviousInstancesListDialog(worldDialog.ref)">
<div class="detail">
<div
class="name"
@@ -809,7 +809,7 @@
const { lastLocation } = storeToRefs(useLocationStore());
const { newInstanceSelfInvite, canOpenInstanceInGame } = useInviteStore();
const { showFavoriteDialog } = useFavoriteStore();
const { showPreviousInstancesInfoDialog, showPreviousInstancesWorldDialog: openPreviousInstancesWorldDialog } =
const { showPreviousInstancesInfoDialog, showPreviousInstancesListDialog: openPreviousInstancesListDialog } =
useInstanceStore();
const { instanceJoinHistory } = storeToRefs(useInstanceStore());
const { isGameRunning } = storeToRefs(useGameStore());
@@ -1068,7 +1068,7 @@
.catch(() => {});
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);