403Webshell
Server IP : 104.21.93.192  /  Your IP : 216.73.216.73
Web Server : LiteSpeed
System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
User : redwjova ( 1790)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : OFF |  Pkexec : OFF
Directory :  /home/redwjova/near.llc/wp-content/plugins/extendify/src/Shared/state/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/redwjova/near.llc/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,
);

Youez - 2016 - github.com/yon3zu
LinuXploit