Enhance world background preview and add image mode support in App.tsx

This commit is contained in:
2026-03-31 20:16:06 +02:00
parent 86466a5dfb
commit 2a50b0eaab

View File

@@ -3071,13 +3071,28 @@ export function App({ store, initialStatusMessage }: AppProps) {
<div <div
className="world-background-preview" className="world-background-preview"
data-testid="world-background-preview" data-testid="world-background-preview"
style={createWorldBackgroundStyle(editorState.document.world.background)} style={createWorldBackgroundStyle(
editorState.document.world.background,
editorState.document.world.background.mode === "image"
? loadedImageAssets[editorState.document.world.background.assetId]?.sourceUrl ?? null
: null
)}
/> />
<div className="material-summary"> <div className="material-summary">
{editorState.document.world.background.mode === "solid" {editorState.document.world.background.mode === "solid"
? editorState.document.world.background.colorHex ? editorState.document.world.background.colorHex
: `${editorState.document.world.background.topColorHex} -> ${editorState.document.world.background.bottomColorHex}`} : editorState.document.world.background.mode === "verticalGradient"
? `${editorState.document.world.background.topColorHex} -> ${editorState.document.world.background.bottomColorHex}`
: editorState.document.assets[editorState.document.world.background.assetId]?.sourceName ??
editorState.document.world.background.assetId}
</div> </div>
{editorState.document.world.background.mode !== "image" ? null : (
<div className="material-summary" data-testid="world-background-asset-value">
Background Asset:{" "}
{editorState.document.assets[editorState.document.world.background.assetId]?.sourceName ??
editorState.document.world.background.assetId}
</div>
)}
</div> </div>
<div className="form-section"> <div className="form-section">
@@ -3101,6 +3116,14 @@ export function App({ store, initialStatusMessage }: AppProps) {
> >
Gradient Gradient
</button> </button>
<button
className={`toolbar__button ${editorState.document.world.background.mode === "image" ? "toolbar__button--active" : ""}`}
type="button"
data-testid="world-background-mode-image"
onClick={() => applyWorldBackgroundMode("image")}
>
Image
</button>
</div> </div>
</div> </div>