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;
}
export { resolveAssetRef };
async function resolveAssetRefsInPosts(posts) {
if (!Array.isArray(posts) || posts.length === 0) return posts;
const ids = [];

View File

@ -5,7 +5,7 @@ import "../../styles/mapMarkers.css";
import "../../styles/posts.css";
import "../../styles/filters.css";
import { createPost, fetchPostPreview } from "../../api/client";
import { createPost, fetchPostPreview, resolveAssetRef } from "../../api/client";
import {
FILTER_MAIN_CATEGORIES,
FILTER_CATEGORY_MAP,
@ -1224,8 +1224,10 @@ export default function MapView({
const fallbackRef = largeRef || mediumRef || smallRef;
const selected = fallbackRef || mediumRef || smallRef;
if (selected) {
replaceMediaUrl(placeholder, selected);
setDraftImagePreview(selected);
const resolved = await resolveAssetRef(selected);
const finalUrl = resolved || selected;
replaceMediaUrl(placeholder || selected, finalUrl);
setDraftImagePreview(finalUrl);
}
} catch (err) {
console.error("Image upload error:", err);
@ -1692,29 +1694,23 @@ export default function MapView({
<span>{formatPreviewDate(draftPublishedAt)}</span>
) : null}
</div>
</div>
)}
{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">
{draftMediaUrls.map((url, idx) => (
<figure key={`${url}-${idx}`} className="create-gallery-item">
<img src={url} alt={`Selected image ${idx + 1}`} />
<button
type="button"
className="create-gallery-remove"
onClick={() => removeMediaUrlAtIndex(idx)}
aria-label="Remove image"
>
×
</button>
</figure>
))}
</div>
{draftMediaUrls.length > 1 && (
<div className="create-gallery-items">
{draftMediaUrls.map((url, idx) => (
<figure key={`${url}-${idx}`} className="create-gallery-item">
<img src={url} alt={`Selected image ${idx + 1}`} />
<button
type="button"
className="create-gallery-remove"
onClick={() => removeMediaUrlAtIndex(idx)}
aria-label="Remove image"
>
×
</button>
</figure>
))}
</div>
)}
</div>
)}
<textarea