fix media preview for uploads

This commit is contained in:
Your Name 2026-01-02 01:36:11 -05:00
parent c37d90500a
commit 0d4dc7ebf8
2 changed files with 24 additions and 26 deletions

View File

@ -101,6 +101,8 @@ async function resolveAssetRef(value) {
return resolved[id] || value; return resolved[id] || value;
} }
export { resolveAssetRef };
async function resolveAssetRefsInPosts(posts) { async function resolveAssetRefsInPosts(posts) {
if (!Array.isArray(posts) || posts.length === 0) return posts; if (!Array.isArray(posts) || posts.length === 0) return posts;
const ids = []; const ids = [];

View File

@ -5,7 +5,7 @@ import "../../styles/mapMarkers.css";
import "../../styles/posts.css"; import "../../styles/posts.css";
import "../../styles/filters.css"; import "../../styles/filters.css";
import { createPost, fetchPostPreview } from "../../api/client"; import { createPost, fetchPostPreview, resolveAssetRef } from "../../api/client";
import { import {
FILTER_MAIN_CATEGORIES, FILTER_MAIN_CATEGORIES,
FILTER_CATEGORY_MAP, FILTER_CATEGORY_MAP,
@ -1224,8 +1224,10 @@ export default function MapView({
const fallbackRef = largeRef || mediumRef || smallRef; const fallbackRef = largeRef || mediumRef || smallRef;
const selected = fallbackRef || mediumRef || smallRef; const selected = fallbackRef || mediumRef || smallRef;
if (selected) { if (selected) {
replaceMediaUrl(placeholder, selected); const resolved = await resolveAssetRef(selected);
setDraftImagePreview(selected); const finalUrl = resolved || selected;
replaceMediaUrl(placeholder || selected, finalUrl);
setDraftImagePreview(finalUrl);
} }
} catch (err) { } catch (err) {
console.error("Image upload error:", err); console.error("Image upload error:", err);
@ -1692,14 +1694,7 @@ export default function MapView({
<span>{formatPreviewDate(draftPublishedAt)}</span> <span>{formatPreviewDate(draftPublishedAt)}</span>
) : null} ) : null}
</div> </div>
</div> {draftMediaUrls.length > 1 && (
)}
{draftMediaUrls.length > 0 && (
<div className="create-image-gallery">
<div className="create-gallery-title">
{draftMediaUrls.length} image
{draftMediaUrls.length > 1 ? "s" : ""}
</div>
<div className="create-gallery-items"> <div className="create-gallery-items">
{draftMediaUrls.map((url, idx) => ( {draftMediaUrls.map((url, idx) => (
<figure key={`${url}-${idx}`} className="create-gallery-item"> <figure key={`${url}-${idx}`} className="create-gallery-item">
@ -1715,6 +1710,7 @@ export default function MapView({
</figure> </figure>
))} ))}
</div> </div>
)}
</div> </div>
)} )}
<textarea <textarea