# extendify/3.2.0/src/Agent/workflows/theme/tools/change-site-design.js

Extendify, version 3.2.0. 26 lines.

- Page: https://pluginprobe.com/plugins/extendify/3.2.0/code/src/Agent/workflows/theme/tools/change-site-design.js
- Raw: https://pluginprobe.com/plugins/extendify/3.2.0/raw/src/Agent/workflows/theme/tools/change-site-design.js
- Modified: 2026-09-09T18:23:40+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/3.2.0/code/src/Agent/workflows/theme/tools/change-site-design.js#L10-L20`.

```javascript
import changeHeroSection from '@agent/workflows/theme/tools/change-hero-section';
import updatePalette from '@agent/workflows/theme/tools/update-palette';
import updateSiteVibes from '@agent/workflows/theme/tools/update-site-vibes';
import updateVariation from '@agent/workflows/theme/tools/update-variation';

export default async ({
	updatedPageBlocks,
	postId,
	vibeSlug,
	colorAndFontsVariation,
	colorPalette,
}) => {
	if (!updatedPageBlocks || !vibeSlug || !colorAndFontsVariation) return;

	await Promise.all([
		changeHeroSection({ updatedPageBlocks, postId }),
		(async () => {
			// The vibe write goes last so it owns the contested leaves.
			await updateVariation({ variation: colorAndFontsVariation });
			// Absent or failing when /api/palettes is down; the vibe write must still run.
			if (colorPalette) await updatePalette({ colorPalette }).catch(() => null);
			await updateSiteVibes({ selectedVibe: vibeSlug });
		})(),
	]);
};

```
