| Server IP : 38.190.208.107 / Your IP : 216.73.217.13 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.2/wp-content/plugins/blocksy-companion-pro/static/js/dashboard/screens/ |
Upload File : |
import {
useEffect,
createElement,
Fragment,
useContext,
} from '@wordpress/element'
import { Transition, animated } from 'blocksy-options'
import { __ } from 'ct-i18n'
import useExtsStatus from './Extensions/useExtsStatus'
import Sidebar from './Extensions/Sidebar'
import CurrentExtension from './Extensions/CurrentExtension'
import SubmitSupport from '../helpers/SubmitSupport'
import DashboardContext from '../DashboardContext'
import NoLicense from '../NoLicense'
const Extension = (props) => {
const { history } = useContext(DashboardContext)
const { navigate } = props
const { forceEmptyExts, exts_status, syncExts, isLoading, setExtsStatus } =
useExtsStatus()
let currentExtension = null
if (exts_status[props.extension]) {
currentExtension = {
...exts_status[props.extension],
name: props.extension,
}
}
if (forceEmptyExts) {
return <NoLicense />
}
return (
<div className="ct-extensions-container">
<Transition
items={isLoading}
from={{ opacity: 0 }}
enter={[{ opacity: 1 }]}
leave={[{ opacity: 0 }]}
initial={null}
config={(key, phase) => {
return {
duration: 300,
}
}}>
{(props, isLoading) => {
if (isLoading) {
return (
<animated.p
style={props}
className="ct-loading-text">
<svg
width="16"
height="16"
viewBox="0 0 100 100">
<g transform="translate(50,50)">
<g transform="scale(1)">
<circle
cx="0"
cy="0"
r="50"
fill="currentColor"></circle>
<circle
cx="0"
cy="-26"
r="12"
fill="#ffffff"
transform="rotate(161.634)">
<animateTransform
attributeName="transform"
type="rotate"
calcMode="linear"
values="0 0 0;360 0 0"
keyTimes="0;1"
dur="1s"
begin="0s"
repeatCount="indefinite"></animateTransform>
</circle>
</g>
</g>
</svg>
{__(
'Loading Extensions Status...',
'blocksy-companion'
)}
</animated.p>
)
}
return (
<animated.div style={props}>
<section className="ct-extensions-list">
<Sidebar
currentExtension={currentExtension}
exts_status={exts_status}
navigate={navigate}
/>
<CurrentExtension
navigate={navigate}
currentExtension={currentExtension}
setExtsStatus={setExtsStatus}
onExtsSync={(payload = {}) => {
return syncExts({
...payload,
extension: currentExtension.name,
})
}}
/>
</section>
<Fragment>
<SubmitSupport />
</Fragment>
</animated.div>
)
}}
</Transition>
</div>
)
}
export default Extension