Keep the review card’s fallback color on the draft so a reload does not pick a new one.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
adilalloandCursor committed 2026-09-29 14:01:38 -06:00
1 parent 56adcd59fd
commit 6d536880fe
8 files changed
+165 -8

No files matched your search

@@ -33,6 +33,7 @@ import {
getAssetPath,
vectorMarkPath,
} from "../../../../../lib/assetUtils";
import { isPreviewSurfaceColor } from "../../../../../lib/create/previewSurfaceColor";
const FACET_FALLBACK_ORDER: readonly TemplateFacetGroupKey[] = [
"coreValues",
@@ -240,7 +241,26 @@ export function FinalReviewScreen({
state.communityAvatarUrl.trim().length > 0
? state.communityAvatarUrl.trim()
: null;
const surfaceColor = usePreviewSurfaceColor(avatarUrl);
const storedFallback =
typeof state.previewSurfaceColor === "string"
? state.previewSurfaceColor
: undefined;
const persistFallback = useCallback(
(color: string) => {
replaceState((prev) =>
prev.previewSurfaceColor &&
isPreviewSurfaceColor(prev.previewSurfaceColor)
? prev
: { ...prev, previewSurfaceColor: color },
);
},
[replaceState],
);
const surfaceColor = usePreviewSurfaceColor(
avatarUrl,
storedFallback,
persistFallback,
);
return (
<CreateFlowLockupCardStepShell