balmet.com

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

InstallingModal.js (1450B)


      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 ErrorInstalling from './ErrorInstalling'
      7 import ReloadRequiredModal from '../ReloadRequiredModal'
      8 
      9 export default function InstallingModal() {
     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         render(<ReloadRequiredModal />, document.getElementById('extendify-root'))
     22     })
     23         .catch(({ message }) => {
     24             setErrorMessage(message)
     25         })
     26 
     27     if (errorMessage) {
     28         return <ErrorInstalling msg={errorMessage}/>
     29     }
     30 
     31     return <Modal
     32         title={__('Installing plugins', 'extendify-sdk')}
     33         isDismissible={false}>
     34         <Button style={{
     35             width: '100%',
     36         }} disabled isPrimary isBusy onClick={() => {}}>
     37             {__('Installing...', 'extendify-sdk')}
     38         </Button>
     39     </Modal>
     40 }