[UI 개선] 서브메뉴 및 탭 바 컴포넌트 추가, AppHeader 및 기본 레이아웃 수정, API 호출 로직 개선
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
<!-- HOME 메뉴 -->
|
||||
<button
|
||||
class="menu-btn"
|
||||
:class="{ active: modelValue === 'home' }"
|
||||
@click="onMenuClick('home')"
|
||||
:class="{ active: modelValue === 'HOME' }"
|
||||
@click="onMenuClick('HOME')"
|
||||
>
|
||||
HOME
|
||||
</button>
|
||||
@@ -72,7 +72,6 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, onMounted, onBeforeUnmount } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useUserStore } from "~/stores/user";
|
||||
import { usePermissionsStore } from "~/stores/permissions";
|
||||
|
||||
@@ -80,15 +79,9 @@ import { usePermissionsStore } from "~/stores/permissions";
|
||||
const modelValue = defineModel({ type: String, required: true });
|
||||
|
||||
const showDropdown = ref(false);
|
||||
const router = useRouter();
|
||||
const userStore = useUserStore();
|
||||
const permissionStore = usePermissionsStore();
|
||||
|
||||
// 권한 초기화
|
||||
onMounted(async () => {
|
||||
await permissionStore.fetchPermissions();
|
||||
});
|
||||
|
||||
// 권한이 있고 메뉴에 표시할 페이지그룹들만 필터링
|
||||
const availableMenus = computed(() => {
|
||||
return permissionStore.permissions.resources.pageGroups.filter(pageGroup => {
|
||||
@@ -117,8 +110,7 @@ function handleClickOutside(event) {
|
||||
|
||||
async function logout() {
|
||||
showDropdown.value = false;
|
||||
await userStore.logout();
|
||||
router.push("/login");
|
||||
userStore.logout();
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
Reference in New Issue
Block a user