PHP 8.2.31
Preview: get-variation.js Size: 1.31 KB
/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/extendify_old/src/AutoLaunch/fetchers/get-variation.js

import { apiFetchWithTimeout } from '@auto-launch/functions/helpers';
import { deepMerge } from '@shared/lib/utils';

// TODO: add zod types - this was copy/pasted from legacy launch
export const getThemeVariation = async ({ slug, fonts }, opts) => {
	const { fallback = false } = opts || {};
	const rawVariations = await apiFetchWithTimeout({
		path: 'wp/v2/global-styles/themes/extendable/variations',
	});

	const variations = rawVariations.filter(
		(v) =>
			(v.settings?.color || v.styles?.color) &&
			(v.settings?.typography || v.styles?.typography),
	);

	let variation = variations.find((v) => {
		const matchSlug =
			v.slug || v.title.toLowerCase().trim().replace(/\s+/g, '-');
		return matchSlug === slug;
	});

	// Fallback to random variation if slug doesn't match
	if (!variation && fallback) {
		variation = variations.sort(() => Math.random() - 0.5)[0];
	}

	if (!fonts) return variation;

	return deepMerge(variation, {
		styles: {
			elements: {
				heading: {
					typography: {
						fontFamily: `var(--wp--preset--font-family--${fonts.heading.slug})`,
					},
				},
			},
			typography: {
				fontFamily: `var(--wp--preset--font-family--${fonts.body.slug})`,
			},
		},
		settings: {
			typography: {
				fontFamilies: {
					custom: [fonts.heading, fonts.body].filter((font) => !!font.host),
				},
			},
		},
	});
};

Directory Contents

Dirs: 0 × Files: 11

Name Size Perms Modified Actions
3.80 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.88 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
988 B lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.89 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.44 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.35 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download
1.71 KB lrw-r--r-- 2026-03-05 22:57:38
Edit Download
978 B lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.66 KB lrw-r--r-- 2026-03-05 22:57:38
Edit Download
1.31 KB lrw-r--r-- 2026-04-09 23:45:00
Edit Download
2.77 KB lrw-r--r-- 2026-04-27 23:36:32
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).