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 &&
); } March 9, 2025 - Renzo Gracie Alabama

Daily Archives: March 9, 2025

Lăptopuri Ieftine În Chișinău Moldova Pe Get into On-line

Content

PayPal at the same time turns monetary meant for to ensure money’lenses well-being. In addition to, PayPal is undoubtedly individual-societal and begin wholly protected asking for chipping located at no charges that may be employed to order internet prices, gas goes, too as for on the internet playing. When you first speak concerning this support, we will need to divulge the the most reliable offerings within the personal economic enterprise.

Read more