[UI 개선] 서브메뉴 및 탭 바 컴포넌트 추가, AppHeader 및 기본 레이아웃 수정, API 호출 로직 개선

This commit is contained in:
2025-09-24 16:25:30 +09:00
parent f83782813d
commit f9dde4eb09
10 changed files with 338 additions and 490 deletions

View File

@@ -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(() => {