Read the review card fill from localStorage before picking a new one.
The review screen’s effect ran before draft hydration, so reload always generated a fresh color and overwrote the stored one. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
6d536880fe
commit
b12de611f7
5 files changed
+199
-27
No files matched your search
@@ -34,6 +34,10 @@ import {
|
||||
vectorMarkPath,
|
||||
} from "../../../../../lib/assetUtils";
|
||||
import { isPreviewSurfaceColor } from "../../../../../lib/create/previewSurfaceColor";
|
||||
import {
|
||||
persistDraftPreviewSurfaceColor,
|
||||
readDraftPreviewSurfaceColor,
|
||||
} from "../../utils/resolvePreviewSurfaceFallback";
|
||||
|
||||
const FACET_FALLBACK_ORDER: readonly TemplateFacetGroupKey[] = [
|
||||
"coreValues",
|
||||
@@ -247,12 +251,19 @@ export function FinalReviewScreen({
|
||||
: undefined;
|
||||
const persistFallback = useCallback(
|
||||
(color: string) => {
|
||||
replaceState((prev) =>
|
||||
prev.previewSurfaceColor &&
|
||||
isPreviewSurfaceColor(prev.previewSurfaceColor)
|
||||
replaceState((prev) => {
|
||||
persistDraftPreviewSurfaceColor(color, prev);
|
||||
const keep =
|
||||
(prev.previewSurfaceColor &&
|
||||
isPreviewSurfaceColor(prev.previewSurfaceColor)
|
||||
? prev.previewSurfaceColor
|
||||
: undefined) ??
|
||||
readDraftPreviewSurfaceColor() ??
|
||||
color;
|
||||
return prev.previewSurfaceColor === keep
|
||||
? prev
|
||||
: { ...prev, previewSurfaceColor: color },
|
||||
);
|
||||
: { ...prev, previewSurfaceColor: keep };
|
||||
});
|
||||
},
|
||||
[replaceState],
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user