diff --git a/src/App.vue b/src/App.vue index f93bcb8..533575f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,6 +6,7 @@ import AppSidebar from '@/components/layout/AppSidebar.vue' import AppFooter from '@/components/layout/AppFooter.vue' import LoginModal from '@/components/LoginModal.vue' import SignupModal from '@/components/SignupModal.vue' +import ChangePasswordModal from '@/components/ChangePasswordModal.vue' import { useAuthStore } from '@/stores/auth' import { useUiStore } from '@/stores/ui' @@ -38,6 +39,7 @@ watch(() => route.fullPath, () => ui.closeSidebar()) + diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index 4b98762..2d566dc 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -38,6 +38,7 @@ async function handleLogout() {
diff --git a/src/components/ui/IconBtn.vue b/src/components/ui/IconBtn.vue index a0cfe55..8c9fdde 100644 --- a/src/components/ui/IconBtn.vue +++ b/src/components/ui/IconBtn.vue @@ -33,6 +33,7 @@ const ICONS = { cart: ['M9 22a1 1 0 1 0 0-2 1 1 0 0 0 0 2z', 'M20 22a1 1 0 1 0 0-2 1 1 0 0 0 0 2z', 'M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'], send: ['M22 2L11 13', 'M22 2l-7 20-4-9-9-4 20-7z'], save: ['M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z', 'M17 21v-8H7v8', 'M7 3v5h8'], + lock: ['M5 11h14a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2z', 'M8 11V7a4 4 0 0 1 8 0v4'], } const paths = computed(() => ICONS[props.icon] || ICONS.plus) diff --git a/src/stores/ui.js b/src/stores/ui.js index 50b747a..f78aa18 100644 --- a/src/stores/ui.js +++ b/src/stores/ui.js @@ -16,6 +16,15 @@ export const useUiStore = defineStore('ui', () => { sidebarOpen.value = false } + // 비밀번호 변경 모달 + const passwordOpen = ref(false) + function openPassword() { + passwordOpen.value = true + } + function closePassword() { + passwordOpen.value = false + } + // 로그인 팝업 (회원가입 팝업은 닫고 전환) function openLogin(redirect = '') { redirectPath.value = redirect || '' @@ -39,5 +48,6 @@ export const useUiStore = defineStore('ui', () => { return { loginOpen, signupOpen, redirectPath, openLogin, closeLogin, openSignup, closeSignup, sidebarOpen, toggleSidebar, closeSidebar, + passwordOpen, openPassword, closePassword, } })