글쓰기 에디터 문단 처리와 설정 패널 액션 보정

This commit is contained in:
2026-05-07 15:02:41 +09:00
parent 398877fd92
commit 5bda4d5472
9 changed files with 199 additions and 57 deletions

View File

@@ -29,6 +29,8 @@ if (!post.value) {
const isPublicPost = (value) => value?.status === 'published'
&& (!value.publishedAt || new Date(value.publishedAt) <= new Date())
const publicPostUrl = computed(() => post.value?.slug ? `/post/${post.value.slug}` : '')
/**
* 저장 상태 토스트 표시
* @param {'success'|'error'|'info'} type - 토스트 타입
@@ -138,28 +140,22 @@ onBeforeUnmount(() => {
<template>
<section class="admin-post-edit relative bg-white">
<div class="admin-post-edit__quick-actions absolute right-8 top-24 z-10 flex gap-2">
<NuxtLink
v-if="isPublicPost(post)"
class="admin-post-edit__view rounded border border-line bg-white px-4 py-2 text-sm font-semibold"
:to="`/post/${post.slug}`"
target="_blank"
>
보기
</NuxtLink>
<button
class="admin-post-edit__delete rounded border border-red-200 bg-white px-4 py-2 text-sm font-semibold text-red-700 disabled:opacity-50"
type="button"
:disabled="deleting"
@click="deletePost"
>
{{ deleting ? '삭제 중' : '삭제' }}
</button>
</div>
<p v-if="errorMessage" class="admin-post-edit__error mx-6 mt-6 rounded border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700">
{{ errorMessage }}
</p>
<AdminPostForm ref="postForm" :initial-post="post" submit-label="변경 저장" :saving="saving" @submit="savePost" @preview="previewPost" />
<AdminPostForm
ref="postForm"
:initial-post="post"
submit-label="변경 저장"
:saving="saving"
:can-view-post="isPublicPost(post)"
:public-url="publicPostUrl"
:deleting="deleting"
show-delete
@submit="savePost"
@preview="previewPost"
@delete="deletePost"
/>
<div
v-if="toast"
class="admin-post-edit__toast fixed right-5 top-5 z-50 rounded border px-4 py-3 text-sm font-semibold shadow-lg"