'use client' import type { FC } from 'react' import React, { useCallback, useState } from 'react' import { InstallStep } from '../../types' import Install from './steps/install' import Installed from './steps/installed' import type { Dependency, InstallStatusResponse, Plugin } from '../../types' type Props = { step: InstallStep onStepChange: (step: InstallStep) => void, onStartToInstall: () => void setIsInstalling: (isInstalling: boolean) => void allPlugins: Dependency[] onClose: () => void isFromMarketPlace?: boolean } const ReadyToInstall: FC = ({ step, onStepChange, onStartToInstall, setIsInstalling, allPlugins, onClose, isFromMarketPlace, }) => { const [installedPlugins, setInstalledPlugins] = useState([]) const [installStatus, setInstallStatus] = useState([]) const handleInstalled = useCallback((plugins: Plugin[], installStatus: InstallStatusResponse[]) => { setInstallStatus(installStatus) setInstalledPlugins(plugins) onStepChange(InstallStep.installed) setIsInstalling(false) }, [onStepChange, setIsInstalling]) return ( <> {step === InstallStep.readyToInstall && ( )} {step === InstallStep.installed && ( )} ) } export default React.memo(ReadyToInstall)