balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

ActivatingModal.js (1625B)


      1 import { __ } from '@wordpress/i18n'
      2 import { Modal, Button } from '@wordpress/components'
      3 import { useState, render } from '@wordpress/element'
      4 import { Plugins } from '../../api/Plugins'
      5 import { useWantedTemplateStore } from '../../state/Importing'
      6 import ErrorActivating from './ErrorActivating'
      7 import ReloadRequiredModal from '../ReloadRequiredModal'
      8 
      9 export default function ActivatingModal() {
     10     const [errorMessage, setErrorMessage] = useState('')
     11     const wantedTemplate = useWantedTemplateStore(store => store.wantedTemplate)
     12 
     13     // Hardcoded temporarily to not force EP install
     14     // const required = wantedTemplate?.fields?.required_plugins
     15     const required = wantedTemplate?.fields?.required_plugins.filter(p => p !== 'editorplus')
     16 
     17     Plugins.installAndActivate(required).then(() => {
     18         useWantedTemplateStore.setState({
     19             importOnLoad: true,
     20         })
     21     }).then(async () => {
     22         await new Promise((resolve) => setTimeout(resolve, 1000))
     23         render(<ReloadRequiredModal />, document.getElementById('extendify-root'))
     24     })
     25         .catch(({ response }) => {
     26             setErrorMessage(response.data.message)
     27         })
     28 
     29     if (errorMessage) {
     30         return <ErrorActivating msg={errorMessage}/>
     31     }
     32 
     33     return <Modal
     34         title={__('Activating plugins', 'extendify-sdk')}
     35         isDismissible={false}>
     36         <Button
     37             style={{
     38                 width: '100%',
     39             }}
     40             disabled
     41             isPrimary
     42             isBusy
     43             onClick={() => {}}>
     44             {__('Activating...', 'extendify-sdk')}
     45         </Button>
     46     </Modal>
     47 }