/home/edulekha/heavenbuildpro.com/wp-content/plugins/extendify/src/Assist/AssistLandingPage.js
import { SlotFillProvider } from '@wordpress/components'
import { useEffect, useState } from '@wordpress/element'
import { addAction, removeAction } from '@wordpress/hooks'
import { getPlugins } from '@wordpress/plugins'
import { SWRConfig } from 'swr'
import { useRouter } from '@assist/hooks/useRouter'
import { Header } from '@assist/pages/parts/Header'
import './documentation.css'
const Page = () => {
const { CurrentPage } = useRouter()
const [plugins, setPlugins] = useState(getPlugins())
useEffect(() => {
const handler = () => setPlugins(getPlugins())
addAction('plugins.pluginRegistered', 'extendify-assist', handler)
addAction('plugins.pluginUnregistered', 'extendify-assist', handler)
return () => {
removeAction('plugins.pluginRegistered', 'extendify-assist')
removeAction('plugins.pluginUnregistered', 'extendify-assist')
}
}, [])
return (
<SlotFillProvider>
<Header />
<CurrentPage />
{plugins.map(({ name, render }) => (
<div key={name}>{render()}</div>
))}
</SlotFillProvider>
)
}
export const AssistLandingPage = () => (
<SWRConfig
value={{
onErrorRetry: (error, key, config, revalidate, { retryCount }) => {
if (error.status === 404) return
if (error?.data?.status === 403) {
// if they are logged out, we can't recover
window.location.reload()
return
}
// Retry after 5 seconds.
setTimeout(() => revalidate({ retryCount }), 5000)
},
}}>
<Page />
</SWRConfig>
)