글쓰기 초안 저장 상태 보정

This commit is contained in:
2026-07-03 11:23:04 +09:00
parent 955ae90697
commit 243dfbc5e2
9 changed files with 99 additions and 10 deletions

View File

@@ -720,9 +720,15 @@ const createPostPayload = (options = {}) => {
/**
* 현재 게시물 입력값을 문자열로 직렬화한다.
* @param {Object|null} [payload] - 직렬화할 게시물 입력값
* @returns {string} 직렬화된 게시물 입력값
*/
const serializePostPayload = () => JSON.stringify(createPostPayload())
const serializePostPayload = (payload = null) => {
const sourcePayload = payload || createPostPayload()
const { tagNames: _tagNames, ...comparablePayload } = sourcePayload
return JSON.stringify(comparablePayload)
}
const hasUnsavedPostChanges = computed(() => serializePostPayload() !== savedPostSnapshot.value)
@@ -1560,7 +1566,7 @@ const unpublishModalKind = computed(() => (
* @returns {void}
*/
const markSaved = (savedPayload = null) => {
savedPostSnapshot.value = savedPayload ? JSON.stringify(savedPayload) : serializePostPayload()
savedPostSnapshot.value = serializePostPayload(savedPayload)
const publishedAt = resolvePayloadPublishedAt()
if (publishedAt) {
@@ -1677,6 +1683,7 @@ onBeforeUnmount(() => {
defineExpose({
clearAutosave: clearAutosaveLocal,
createPostPayload,
markSaved,
allowNextRouteLeave,
takePendingAutosavePayload