diff --git a/components/admin/AdminBlockEditor.vue b/components/admin/AdminBlockEditor.vue index b203dad..50527c8 100644 --- a/components/admin/AdminBlockEditor.vue +++ b/components/admin/AdminBlockEditor.vue @@ -1247,7 +1247,7 @@ onBeforeUnmount(() => { :class="getBlockClass(block)" contenteditable="true" spellcheck="true" - :data-placeholder="index === 0 ? '본문을 입력하거나 / 를 눌러 블록을 선택하세요' : '/ 를 눌러 블록 선택'" + :data-placeholder="index === 0 ? '본문을 입력하세요...' : '/ 를 눌러 블록 선택'" :data-show-placeholder="shouldShowPlaceholder(block, index)" @focus="activateBlock(block)" @input="updateBlockText($event, index)" diff --git a/components/admin/AdminPostForm.vue b/components/admin/AdminPostForm.vue index 54410b2..650e6f7 100644 --- a/components/admin/AdminPostForm.vue +++ b/components/admin/AdminPostForm.vue @@ -29,6 +29,7 @@ const autosaveTimer = ref(null) const autosaveNotice = ref(null) const autosaveStatus = ref('') const isRestoringAutosave = ref(false) +const isSettingsOpen = ref(true) /** * ISO 날짜를 datetime-local 입력값으로 변환 @@ -136,6 +137,22 @@ const isScheduledPost = () => { return form.status === 'published' && Boolean(publishedAt) && new Date(publishedAt) > new Date() } +const editorStatusLabel = computed(() => { + if (autosaveStatus.value) { + return autosaveStatus.value + } + + if (form.status === 'published') { + return isScheduledPost() ? '예약 발행' : '발행됨' + } + + if (form.status === 'private') { + return '비공개' + } + + return '초안' +}) + /** * 게시물 입력값 생성 * @returns {Object} 게시물 입력값 @@ -422,6 +439,14 @@ const previewPost = () => { emit('preview', createPostPayload()) } +/** + * 설정 패널 표시 상태 전환 + * @returns {void} + */ +const toggleSettingsPanel = () => { + isSettingsOpen.value = !isSettingsOpen.value +} + watch(form, scheduleAutosave, { deep: true }) onMounted(() => { @@ -455,12 +480,79 @@ defineExpose({