import {create} from 'zustand';
import useFields from "../FieldsData";
import * as rsssl_api from "../../utils/api";
import {__} from "@wordpress/i18n";
const UseLicenseData = create(( set, get ) => ({
licenseStatus: rsssl_settings.licenseStatus,
setLicenseStatus: (licenseStatus) => set(state => ({ licenseStatus })),
notices:[],
setNotices: (notices) => set(state => ({ notices })),
setLoadingState: () => {
const disabledState = {output: {
dismissible: false,
icon: 'skeleton',
label: __( 'Loading', 'burst-statistics' ),
msg: false,
plusone: false,
url: false
}
};
const skeletonNotices = [
disabledState,
disabledState,
disabledState
];
set({notices:skeletonNotices})
},
toggleActivation: async (licenseKey) => {
get().setLoadingState();
if ( get().licenseStatus==='valid' ) {
await rsssl_api.runTest('deactivate_license').then( ( response ) => {
set({
notices: response.notices,
licenseStatus: response.licenseStatus,
})
});
} else {
let data = {};
data.license = licenseKey;
await rsssl_api.doAction('activate_license', data).then( ( response ) => {
set({
notices: response.notices,
licenseStatus: response.licenseStatus,
})
});
}
}
}));
export default UseLicenseData;