This commit is contained in:
pa
2026-01-23 15:55:43 +09:00
parent 739418733d
commit c4f75e50d7
7 changed files with 85 additions and 60 deletions

View File

@@ -35,28 +35,7 @@
const { previousInstancesInfoDialog, previousInstancesListDialog } = storeToRefs(instanceStore);
const isOpen = computed({
get: () =>
userStore.userDialog.visible ||
worldStore.worldDialog.visible ||
avatarStore.avatarDialog.visible ||
groupStore.groupDialog.visible ||
previousInstancesInfoDialog.value.visible ||
previousInstancesListDialog.value.visible,
set: (value) => {
if (!value) {
userStore.userDialog.visible = false;
worldStore.worldDialog.visible = false;
avatarStore.avatarDialog.visible = false;
groupStore.groupDialog.visible = false;
instanceStore.hidePreviousInstancesDialogs();
uiStore.clearDialogCrumbs();
}
}
});
const dialogCrumbs = computed(() => uiStore.dialogCrumbs);
const activeCrumb = computed(() => dialogCrumbs.value[dialogCrumbs.value.length - 1] || null);
const activeType = computed(() => {
const type = (() => {
if (previousInstancesInfoDialog.value.visible) {
@@ -77,8 +56,7 @@
if (groupStore.groupDialog.visible) {
return 'group';
}
const crumb = activeCrumb.value;
return crumb?.type ?? null;
return null;
})();
return type;
});
@@ -116,6 +94,19 @@
return {};
}
});
const isOpen = computed({
get: () => activeComponent.value !== null,
set: (value) => {
if (!value) {
userStore.userDialog.visible = false;
worldStore.worldDialog.visible = false;
avatarStore.avatarDialog.visible = false;
groupStore.groupDialog.visible = false;
instanceStore.hidePreviousInstancesDialogs();
uiStore.clearDialogCrumbs();
}
}
});
const dialogClass = computed(() => {
switch (activeType.value) {