| Server IP : 66.29.153.156 / Your IP : 216.73.217.22 Web Server : LiteSpeed System : Linux premium322.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64 User : lastyfjz ( 1521) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/lastyfjz/./unicitys.com/wp-content/plugins/extendify/src/AutoLaunch/fetchers/ |
Upload File : |
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),
},
},
},
});
};