fix: handle initial cover image key in EditPost component and update payload for blog post submission
All checks were successful
CI - Build and Push / Build and Push Docker Image (push) Successful in 18s

This commit is contained in:
2025-10-26 18:56:33 +08:00
parent 3b7d7e2dcc
commit cf1302deba

View File

@@ -21,6 +21,7 @@ function EditPost() {
const [initialContent, setInitialContent] = useState<string | undefined>(undefined); const [initialContent, setInitialContent] = useState<string | undefined>(undefined);
const [coverImage, setCoverImage] = useState<string | null>(null); const [coverImage, setCoverImage] = useState<string | null>(null);
const [coverImageKey, setCoverImageKey] = useState<string>(''); const [coverImageKey, setCoverImageKey] = useState<string>('');
const [initialCoverImageKey, setInitialCoverImageKey] = useState<string>('');
const [uploadProgress, setUploadProgress] = useState(0); const [uploadProgress, setUploadProgress] = useState(0);
const [isUploading, setIsUploading] = useState(false); const [isUploading, setIsUploading] = useState(false);
@@ -40,7 +41,9 @@ function EditPost() {
setTitle(fetched.title); setTitle(fetched.title);
setInitialContent(fetched.content); setInitialContent(fetched.content);
setCoverImage(fetched.coverImageUrl ?? null); setCoverImage(fetched.coverImageUrl ?? null);
setCoverImageKey(fetched.coverImageKey ?? ''); const fetchedCoverKey = fetched.coverImageKey ?? '';
setCoverImageKey(fetchedCoverKey);
setInitialCoverImageKey(fetchedCoverKey);
} catch (err) { } catch (err) {
const message = err instanceof Error ? err.message : 'Failed to load post.'; const message = err instanceof Error ? err.message : 'Failed to load post.';
setLoadError(message); setLoadError(message);
@@ -111,14 +114,16 @@ function EditPost() {
setIsSubmitting(true); setIsSubmitting(true);
try { try {
const coverKeyToSend = coverImageKey || initialCoverImageKey;
const payload: Parameters<typeof updateBlogPost>[0] = { const payload: Parameters<typeof updateBlogPost>[0] = {
postId, postId,
title: title.trim(), title: title.trim(),
content, content,
}; };
if (coverImageKey) { if (coverKeyToSend) {
payload.coverImageKey = coverImageKey; payload.coverImageKey = coverKeyToSend;
} }
await updateBlogPost(payload); await updateBlogPost(payload);