import React, { useState, useEffect } from 'react'; import { __ } from '@wordpress/i18n'; function PluginData() { const [data, setData] = useState(null); const homeUrl = wpapi.homeUrl; const ajaxUrl = wpapi.ajaxurl; const Url = `${homeUrl}/wp-json/wp/v1/blur`; useEffect(() => { fetch(`${Url}`) .then(response => response.json()) .then(data => { setData(data); }); }, []); if (!data) { return
Loading...
; } // console.log(data); function Button(props, actsts, actcls) { if(props.inststatus == 'free-installed' || props.inststatus == 'pro-installed' ){ if(props.actstatus == 'true'){ actsts = 'Activated'; actcls = 'button btn activated disabled'; }else{ actsts = 'Active Now'; actcls = 'button btn active-now'; } }else{ actsts = 'Install Now'; actcls = 'button btn install-now' } const [message, setMessage] = useState(actsts); const [updateCls, setupdateCls] = useState(actcls); const checkActive = async (e) => { setupdateCls('button btn updating-message'); const data = { init: e.target.dataset.init, slug: e.target.dataset.slug, instl: e.target.dataset.inststatus, nonce: wpapi.wpnonce, }; const response = await fetch(`${ajaxUrl}?action=blur_install_plugin`, { method: 'POST', body: new URLSearchParams(data) }); const plgdata = await response.text(); try { setMessage('Activated'); setupdateCls('button btn activated disabled'); } catch (error) { console.error('Error parsing JSON:', error); } } return ( ); } function PluginList(props){ const { data } = props; let nameTxt; let proDiv; let pSlug; let pInit; let pStatus; let pStatusInst; const renderData = data.map((item) => { const renderDataa = Object.keys(item).map((items) => { if(item[items].status == 'pro-installed'){ nameTxt =

{item[items].name}{__( 'Pro', 'blur' )}

proDiv =''; pSlug = item[items].init.split("/").shift(); pInit = item[items].init; pStatus = item[items].pro; pStatusInst = item[items].status; }else{ nameTxt =

{item[items].name}

if(item[items].link!==''){ proDiv = {__( 'Go Pro', 'blur' )}; }else{ proDiv =''; } pSlug = item[items].slug; pInit = item[items].init; pStatus = item[items].free; pStatusInst = item[items].status; } return (
{nameTxt} {proDiv}
); }); return renderDataa; }); return renderData; } return (
); } export default PluginData;