From 3b0ec46990d9ac9ae7f22140dfed5f8b80a4190c Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 4 Oct 2025 17:00:23 +0900 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20modal=E3=81=AE=E4=B8=AD?= =?UTF-8?q?=E3=81=A7tabs=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99=E3=82=8B?= =?UTF-8?q?=E9=9A=9B=E3=81=AB=E3=83=8F=E3=82=A4=E3=83=A9=E3=82=A4=E3=83=88?= =?UTF-8?q?=E3=81=8C=E5=A4=89=E3=81=AA=E4=BD=8D=E7=BD=AE=E3=81=AB=E5=87=BA?= =?UTF-8?q?=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/components/MkModal.vue | 16 ++++++- packages/frontend/src/components/MkTabs.vue | 48 ++++++++++++++------ packages/frontend/src/di.ts | 1 + 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/packages/frontend/src/components/MkModal.vue b/packages/frontend/src/components/MkModal.vue index 660d5a26be..8be70373dc 100644 --- a/packages/frontend/src/components/MkModal.vue +++ b/packages/frontend/src/components/MkModal.vue @@ -30,7 +30,7 @@ SPDX-License-Identifier: AGPL-3.0-only [$style.transition_modal_leaveTo]: transitionName === 'modal', [$style.transition_send_leaveTo]: transitionName === 'send', })" - :duration="transitionDuration" appear @afterLeave="onClosed" @enter="emit('opening')" @afterEnter="onOpened" + :duration="transitionDuration" appear @afterLeave="onClosed" @enter="onOpening" @afterEnter="onOpened" >
@@ -97,6 +97,14 @@ const emit = defineEmits<{ provide(DI.inModal, true); +const isTransitioning = ref((() => { + if (!prefer.s.animation) return false; + if (props.manualShowing === false) return false; + return true; +})()); + +provide(DI.modalTransitioning, isTransitioning); + const maxHeight = ref(); const fixed = ref(false); const transformOrigin = ref('center'); @@ -285,8 +293,14 @@ const align = () => { content.value.style.top = top + 'px'; }; +const onOpening = () => { + emit('opening'); + isTransitioning.value = true; +}; + const onOpened = () => { emit('opened'); + isTransitioning.value = false; // contentの子要素にアクセスするためレンダリングの完了を待つ必要がある(nextTickが必要) nextTick(() => { diff --git a/packages/frontend/src/components/MkTabs.vue b/packages/frontend/src/components/MkTabs.vue index 57fb6548ba..1d45a401c3 100644 --- a/packages/frontend/src/components/MkTabs.vue +++ b/packages/frontend/src/components/MkTabs.vue @@ -7,9 +7,16 @@ SPDX-License-Identifier: AGPL-3.0-only