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 = () => (