import { useState, useEffect, useContext } from 'react'; import { useNavigate } from '@reach/router'; import { SharedContext } from '../../../context/shared-context/shared-context-provider'; import { ImportContext } from '../../../context/import-context/import-context-provider'; import Layout from '../../../templates/layout'; import PageHeader from '../../../ui/page-header/page-header'; import ProcessFailedDialog from '../../../shared/process-failed-dialog/process-failed-dialog'; import InlineLink from 'elementor-app/ui/molecules/inline-link'; import Notice from 'elementor-app/ui/molecules/notice'; import DropZone from 'elementor-app/organisms/drop-zone'; import Button from 'elementor-app/ui/molecules/button'; import { appsEventTrackingDispatch } from 'elementor-app/event-track/apps-event-tracking'; import useKit from '../../../hooks/use-kit'; import './import-kit.scss'; export default function ImportKit() { const sharedContext = useContext( SharedContext ), importContext = useContext( ImportContext ), navigate = useNavigate(), { kitState, kitActions, KIT_STATUS_MAP } = useKit(), [ errorType, setErrorType ] = useState( '' ), [ isLoading, setIsLoading ] = useState( false ), { referrer, currentPage } = sharedContext.data, resetImportProcess = () => { importContext.dispatch( { type: 'SET_FILE', payload: null } ); setErrorType( null ); setIsLoading( false ); kitActions.reset(); }, eventTracking = ( command, event = null, eventType = 'click', error = null, modalType = null, uploadMethod ) => { if ( 'kit-library' === referrer ) { let uploadMethodName = null; if ( uploadMethod ) { uploadMethodName = 'drop' === uploadMethod ? 'drag-drop' : 'browse'; } let element = null; if ( event && 'eps-button eps-dialog__button' === event.currentTarget.className.trim() ) { element = 'close button'; } else if ( event && 'eps-button eps-dialog__close-button' === event.currentTarget.className.trim() ) { element = 'x'; } appsEventTrackingDispatch( command, { element, page_source: 'import', event_type: eventType, step: currentPage, error: 'general' === error ? 'unknown' : error, modal_type: modalType, method: uploadMethodName, }, ); } }, getLearnMoreLink = () => ( eventTracking( 'kit-library/seek-more-info', null, 'click' ) } > { __( 'Learn More', 'elementor' ) } ); // On load. useEffect( () => { sharedContext.dispatch( { type: 'SET_INCLUDES', payload: [] } ); sharedContext.dispatch( { type: 'SET_CURRENT_PAGE_NAME', payload: ImportKit.name } ); }, [] ); // Uploading the kit after file is selected. useEffect( () => { if ( importContext.data.file ) { kitActions.upload( { file: importContext.data.file } ); } }, [ importContext.data.file ] ); // Listening to kit upload state. useEffect( () => { if ( KIT_STATUS_MAP.UPLOADED === kitState.status ) { importContext.dispatch( { type: 'SET_UPLOADED_DATA', payload: kitState.data } ); } else if ( 'error' === kitState.status ) { setErrorType( kitState.data ); } }, [ kitState.status ] ); // After kit was uploaded. useEffect( () => { if ( importContext.data.uploadedData && importContext.data.file ) { const url = importContext.data.uploadedData.manifest.plugins ? '/import/plugins' : '/import/content'; navigate( url ); } }, [ importContext.data.uploadedData ] ); return (
{ 'kit-library' === referrer &&
); } About Us Archives - Renzo Gracie Alabama

About Us

No posts found on your query!

Try again with different parameters ...