뒤로가기 수정
This commit is contained in:
parent
12297153e4
commit
551569c1c6
@ -582,7 +582,7 @@
|
||||
|
||||
/* commuters */
|
||||
.commuter-list {
|
||||
max-height: 358px;
|
||||
max-height: 450px;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
<!-- 뒤로가기 -->
|
||||
<button
|
||||
@click="goBack"
|
||||
:disabled="!canGoBack"
|
||||
:class="{ 'shifted': showButton }"
|
||||
class="back-btn rounded-pill btn-icon btn-secondary position-fixed shadow z-5 border-0">
|
||||
<i class='bx bx-chevron-left'></i>
|
||||
@ -18,29 +19,54 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted } from "vue";
|
||||
import { ref, onMounted, onUnmounted, watch } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
const showButton = ref(false);
|
||||
const canGoBack = ref(false);
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const loginPage = "/login"; // 로그인 페이지 경로
|
||||
|
||||
// 스크롤 이벤트 핸들러
|
||||
const handleScroll = () => {
|
||||
showButton.value = window.scrollY > 200;
|
||||
};
|
||||
|
||||
// 최상단으로 스크롤 이동
|
||||
const scrollToTop = () => {
|
||||
window.scrollTo({ top: 0, behavior: "smooth" });
|
||||
};
|
||||
|
||||
// 뒤로 가기 처리
|
||||
const goBack = () => {
|
||||
window.history.back();
|
||||
if (canGoBack.value) {
|
||||
router.back();
|
||||
}
|
||||
};
|
||||
|
||||
// 뒤로 가기 가능 여부 확인 함수
|
||||
const updateCanGoBack = () => {
|
||||
const historyBack = router.options.history.state.back;
|
||||
const previousPage = document.referrer;
|
||||
|
||||
canGoBack.value = !!historyBack && historyBack !== loginPage && !previousPage.includes(loginPage);
|
||||
};
|
||||
|
||||
// 마운트 시 한 번 실행
|
||||
onMounted(() => {
|
||||
window.addEventListener("scroll", handleScroll);
|
||||
updateCanGoBack();
|
||||
});
|
||||
|
||||
// 라우트가 변경될 때마다 `canGoBack` 업데이트
|
||||
watch(route, () => {
|
||||
updateCanGoBack();
|
||||
});
|
||||
|
||||
// 언마운트 시 이벤트 제거
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener("scroll", handleScroll);
|
||||
});
|
||||
</script>
|
||||
|
||||
</script>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="container-xxl flex-grow-1 container-p-y pb-0">
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
<div class="card app-calendar-wrapper">
|
||||
<div class="row g-0">
|
||||
<div class="col-3 border-end text-center" id="app-calendar-sidebar">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user