summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/components')
-rw-r--r--packages/frontend/src/components/MkMediaList.vue2
-rw-r--r--packages/frontend/src/components/MkPageWindow.vue31
-rw-r--r--packages/frontend/src/components/MkRoleSelectDialog.vue4
3 files changed, 16 insertions, 21 deletions
diff --git a/packages/frontend/src/components/MkMediaList.vue b/packages/frontend/src/components/MkMediaList.vue
index 4a1100c324..bfc8179e13 100644
--- a/packages/frontend/src/components/MkMediaList.vue
+++ b/packages/frontend/src/components/MkMediaList.vue
@@ -94,6 +94,8 @@ async function calcAspectRatio() {
onMounted(() => {
calcAspectRatio();
+ if (gallery.value == null) return; // TSを黙らすため
+
lightbox = new PhotoSwipeLightbox({
dataSource: props.mediaList
.filter(media => {
diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue
index cf60c1ca3e..d21e09a984 100644
--- a/packages/frontend/src/components/MkPageWindow.vue
+++ b/packages/frontend/src/components/MkPageWindow.vue
@@ -23,8 +23,8 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<div :class="$style.root" class="_forceShrinkSpacer">
- <StackingRouterView v-if="prefer.s['experimental.stackingRouterView']" :key="reloadCount" :router="windowRouter"/>
- <RouterView v-else :key="reloadCount" :router="windowRouter"/>
+ <StackingRouterView v-if="prefer.s['experimental.stackingRouterView']" :key="reloadCount.toString() + ':stacking'" :router="windowRouter"/>
+ <RouterView v-else :key="reloadCount.toString() + ':non-stacking'" :router="windowRouter"/>
</div>
</MkWindow>
</template>
@@ -58,20 +58,15 @@ const windowRouter = createRouter(props.initialPath);
const pageMetadata = ref<null | PageMetadata>(null);
const windowEl = useTemplateRef('windowEl');
-const history = ref<{ path: string; }[]>([{
+const _history_ = ref<{ path: string; }[]>([{
path: windowRouter.getCurrentFullPath(),
}]);
const buttonsLeft = computed(() => {
- const buttons: Record<string, unknown>[] = [];
-
- if (history.value.length > 1) {
- buttons.push({
- icon: 'ti ti-arrow-left',
- onClick: back,
- });
- }
-
- return buttons;
+ return _history_.value.length > 1 ? [{
+ icon: 'ti ti-arrow-left',
+ title: i18n.ts.goBack,
+ onClick: back,
+ }] : [];
});
const buttonsRight = computed(() => {
const buttons = [{
@@ -97,12 +92,12 @@ function getSearchMarker(path: string) {
const searchMarkerId = ref<string | null>(getSearchMarker(props.initialPath));
windowRouter.addListener('push', ctx => {
- history.value.push({ path: ctx.fullPath });
+ _history_.value.push({ path: ctx.fullPath });
});
windowRouter.addListener('replace', ctx => {
- history.value.pop();
- history.value.push({ path: ctx.fullPath });
+ _history_.value.pop();
+ _history_.value.push({ path: ctx.fullPath });
});
windowRouter.addListener('change', ctx => {
@@ -150,8 +145,8 @@ const contextmenu = computed(() => ([{
}]));
function back() {
- history.value.pop();
- windowRouter.replaceByPath(history.value.at(-1)!.path);
+ _history_.value.pop();
+ windowRouter.replaceByPath(_history_.value.at(-1)!.path);
}
function reload() {
diff --git a/packages/frontend/src/components/MkRoleSelectDialog.vue b/packages/frontend/src/components/MkRoleSelectDialog.vue
index fc7ba50fb3..f1cc98def4 100644
--- a/packages/frontend/src/components/MkRoleSelectDialog.vue
+++ b/packages/frontend/src/components/MkRoleSelectDialog.vue
@@ -105,9 +105,7 @@ async function addRole() {
.map(r => ({ text: r.name, value: r }));
const { canceled, result: role } = await os.select({ items });
- if (canceled) {
- return;
- }
+ if (canceled || role == null) return;
selectedRoleIds.value.push(role.id);
}