diff --git a/components/admin/AdminPostForm.vue b/components/admin/AdminPostForm.vue
index 1d59548..fc14722 100644
--- a/components/admin/AdminPostForm.vue
+++ b/components/admin/AdminPostForm.vue
@@ -21,8 +21,10 @@ const slugTouched = ref(Boolean(props.initialPost.slug))
const blockEditor = ref(null)
const mediaItems = ref([])
const isMediaPickerOpen = ref(false)
+const mediaPickerTarget = ref('featuredImage')
const isLoadingMedia = ref(false)
const isUploadingFeaturedImage = ref(false)
+const isUploadingOgImage = ref(false)
const autosaveTimer = ref(null)
const autosaveNotice = ref(null)
const autosaveStatus = ref('')
@@ -78,6 +80,7 @@ const form = reactive({
seoDescription: props.initialPost.seoDescription || '',
canonicalUrl: props.initialPost.canonicalUrl || '',
noindex: Boolean(props.initialPost.noindex),
+ ogImage: props.initialPost.ogImage || '',
status: props.initialPost.status || 'draft',
publishedAt: toDateTimeLocalValue(props.initialPost.publishedAt),
tagsText: props.initialPost.tags?.join(', ') || ''
@@ -152,6 +155,7 @@ const createPostPayload = () => {
seoDescription: form.seoDescription.trim(),
canonicalUrl: form.canonicalUrl.trim(),
noindex: form.noindex,
+ ogImage: form.ogImage.trim() || null,
status: form.status,
publishedAt,
tags: parseTags(form.tagsText)
@@ -172,6 +176,7 @@ const createAutosavePayload = () => ({
seoDescription: form.seoDescription,
canonicalUrl: form.canonicalUrl,
noindex: form.noindex,
+ ogImage: form.ogImage,
status: form.status,
publishedAt: form.publishedAt,
tagsText: form.tagsText
@@ -188,6 +193,10 @@ const isEmptyAutosavePayload = (payload) => ![
payload.excerpt,
payload.content,
payload.featuredImage,
+ payload.seoTitle,
+ payload.seoDescription,
+ payload.canonicalUrl,
+ payload.ogImage,
payload.tagsText
].some((value) => String(value || '').trim())
@@ -293,7 +302,8 @@ const fetchMediaItems = async () => {
* 대표 이미지 선택 창 열기
* @returns {Promise
+ {{ form.ogImage }} +
+ +