$18 GRAYBYTE WORDPRESS FILE MANAGER $96

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/dantho.rw/wp-content/plugins/extendify/src/Shared/state/

HOME
Current File : /home/bravrvjk/dantho.rw/wp-content/plugins/extendify/src/Shared/state//site-profile.js
import apiFetch from '@wordpress/api-fetch';
import { safeParseJson } from '@shared/lib/parsing';
import { create } from 'zustand';
import { devtools, persist, createJSONStorage } from 'zustand/middleware';

const generalSiteProfile =
	safeParseJson(window.extSharedData.userData.userSelectionData)?.state
		?.siteProfile || {};

const initialState = {
	siteProfile: {
		aiDescription:
			window.extSharedData?.siteProfile?.aiDescription ||
			generalSiteProfile?.aiDescription,
		aiSiteType: generalSiteProfile?.aiSiteType,
		aiSiteCategory: generalSiteProfile?.aiSiteCategory,
		aiKeywords: generalSiteProfile?.aiKeywords,
	},
};

const state = (set) => ({
	...initialState,
	setSiteProfile(data) {
		const siteProfile = Object.assign(
			{
				aiSiteType: initialState?.siteProfile?.aiSiteType,
				aiSiteCategory: initialState?.siteProfile?.aiSiteCategory,
				aiDescription: initialState?.siteProfile?.aiDescription,
				aiKeywords: initialState?.siteProfile?.aiKeywords,
			},
			data || {},
		);

		set({ siteProfile });
	},
	resetState() {
		set(initialState);
	},
});

const path = '/extendify/v1/shared/site-profile';
const storage = {
	getItem: async () => await apiFetch({ path }),
	setItem: async (_name, state) => {
		await apiFetch({
			path,
			method: 'POST',
			data: { value: safeParseJson(state)?.state?.siteProfile || {} },
		});
	},
};

export const useSiteProfileStore = create(
	persist(devtools(state, { name: 'Extendify Site Profile' }), {
		storage: createJSONStorage(() => storage),
		skipHydration: false,
	}),
	state,
);


Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
6 Nov 2025 10.43 AM
bravrvjk / bravrvjk
0755
activity.js
1.224 KB
8 Oct 2024 2.19 PM
bravrvjk / bravrvjk
0644
ai-consent.js
1.479 KB
19 May 2025 4.47 PM
bravrvjk / bravrvjk
0644
generate-images.js
1.884 KB
23 Oct 2025 8.20 PM
bravrvjk / bravrvjk
0644
site-profile.js
1.515 KB
13 Mar 2025 9.10 PM
bravrvjk / bravrvjk
0644
unsplash-cache.js
0.646 KB
13 Mar 2025 9.10 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF