release
This commit is contained in:
parent
e0a23ed6d2
commit
d03895c81b
34
src/App.vue
34
src/App.vue
@ -54,12 +54,10 @@
|
|||||||
|
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
|
|
||||||
<!-- 알림 버튼 -->
|
<!-- 종모양 알림 제거하고 로그아웃 버튼으로 대체 -->
|
||||||
<v-btn icon color="white" @click="showNotifications = true">
|
<v-btn icon color="white" @click="logout">
|
||||||
<v-badge v-if="notificationCount > 0" :content="notificationCount" color="error">
|
<v-icon>mdi-logout</v-icon>
|
||||||
<v-icon>mdi-bell</v-icon>
|
<v-tooltip activator="parent" location="bottom">로그아웃</v-tooltip>
|
||||||
</v-badge>
|
|
||||||
<v-icon v-else>mdi-bell</v-icon>
|
|
||||||
</v-btn>
|
</v-btn>
|
||||||
</v-app-bar>
|
</v-app-bar>
|
||||||
|
|
||||||
@ -68,25 +66,6 @@
|
|||||||
<router-view />
|
<router-view />
|
||||||
</v-main>
|
</v-main>
|
||||||
|
|
||||||
<!-- 알림 다이얼로그 -->
|
|
||||||
<v-dialog v-model="showNotifications" max-width="500">
|
|
||||||
<v-card>
|
|
||||||
<v-card-title>
|
|
||||||
<span class="text-h6">알림</span>
|
|
||||||
<v-spacer />
|
|
||||||
<v-btn icon variant="text" @click="showNotifications = false">
|
|
||||||
<v-icon>mdi-close</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
</v-card-title>
|
|
||||||
<v-card-text>
|
|
||||||
<div v-if="notifications.length === 0" class="text-center pa-4">
|
|
||||||
<v-icon size="48" color="grey-lighten-2">mdi-bell-off</v-icon>
|
|
||||||
<p class="text-grey mt-2">새로운 알림이 없습니다</p>
|
|
||||||
</div>
|
|
||||||
</v-card-text>
|
|
||||||
</v-card>
|
|
||||||
</v-dialog>
|
|
||||||
|
|
||||||
<!-- 글로벌 스낵바 -->
|
<!-- 글로벌 스낵바 -->
|
||||||
<v-snackbar
|
<v-snackbar
|
||||||
v-model="snackbar.show"
|
v-model="snackbar.show"
|
||||||
@ -115,15 +94,12 @@ const appStore = useAppStore()
|
|||||||
|
|
||||||
// 반응형 데이터
|
// 반응형 데이터
|
||||||
const drawer = ref(false)
|
const drawer = ref(false)
|
||||||
const showNotifications = ref(false)
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
|
||||||
// 컴퓨티드 속성
|
// 컴퓨티드 속성
|
||||||
const isAuthenticated = computed(() => authStore.isAuthenticated)
|
const isAuthenticated = computed(() => authStore.isAuthenticated)
|
||||||
const isLoginPage = computed(() => route.name === 'Login')
|
const isLoginPage = computed(() => route.name === 'Login')
|
||||||
const userStore = computed(() => authStore)
|
const userStore = computed(() => authStore)
|
||||||
const notificationCount = computed(() => appStore.notificationCount || 0)
|
|
||||||
const notifications = computed(() => appStore.notifications || [])
|
|
||||||
const snackbar = computed(() => appStore.snackbar)
|
const snackbar = computed(() => appStore.snackbar)
|
||||||
|
|
||||||
// 현재 페이지 제목
|
// 현재 페이지 제목
|
||||||
@ -168,4 +144,4 @@ onMounted(() => {
|
|||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -314,14 +314,7 @@
|
|||||||
{{ useAI ? 'AI 콘텐츠 생성' : '콘텐츠 저장' }}
|
{{ useAI ? 'AI 콘텐츠 생성' : '콘텐츠 저장' }}
|
||||||
</v-btn>
|
</v-btn>
|
||||||
|
|
||||||
<v-btn
|
|
||||||
variant="outlined"
|
|
||||||
block
|
|
||||||
@click="saveDraft"
|
|
||||||
:disabled="!formData.title"
|
|
||||||
>
|
|
||||||
임시저장
|
|
||||||
</v-btn>
|
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
</v-card>
|
</v-card>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user