| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | 
							- 'use client'
 - import type { FC } from 'react'
 - import React, { useCallback } from 'react'
 - import type { PluginDeclaration } from '../../types'
 - import { InstallStep } from '../../types'
 - import Install from './steps/install'
 - import Installed from '../base/installed'
 - import useRefreshPluginList from '../hooks/use-refresh-plugin-list'
 - 
 - type Props = {
 -   step: InstallStep
 -   onStepChange: (step: InstallStep) => void,
 -   onStartToInstall: () => void
 -   setIsInstalling: (isInstalling: boolean) => void
 -   onClose: () => void
 -   uniqueIdentifier: string | null,
 -   manifest: PluginDeclaration | null,
 -   errorMsg: string | null,
 -   onError: (errorMsg: string) => void,
 - }
 - 
 - const ReadyToInstall: FC<Props> = ({
 -   step,
 -   onStepChange,
 -   onStartToInstall,
 -   setIsInstalling,
 -   onClose,
 -   uniqueIdentifier,
 -   manifest,
 -   errorMsg,
 -   onError,
 - }) => {
 -   const { refreshPluginList } = useRefreshPluginList()
 - 
 -   const handleInstalled = useCallback((notRefresh?: boolean) => {
 -     onStepChange(InstallStep.installed)
 -     if (!notRefresh)
 -       refreshPluginList(manifest)
 -     setIsInstalling(false)
 -   }, [manifest, onStepChange, refreshPluginList, setIsInstalling])
 - 
 -   const handleFailed = useCallback((errorMsg?: string) => {
 -     onStepChange(InstallStep.installFailed)
 -     setIsInstalling(false)
 -     if (errorMsg)
 -       onError(errorMsg)
 -   }, [onError, onStepChange, setIsInstalling])
 - 
 -   return (
 -     <>
 -       {
 -         step === InstallStep.readyToInstall && (
 -           <Install
 -             uniqueIdentifier={uniqueIdentifier!}
 -             payload={manifest!}
 -             onCancel={onClose}
 -             onInstalled={handleInstalled}
 -             onFailed={handleFailed}
 -             onStartToInstall={onStartToInstall}
 -           />
 -         )
 -       }
 -       {
 -         ([InstallStep.uploadFailed, InstallStep.installed, InstallStep.installFailed].includes(step)) && (
 -           <Installed
 -             payload={manifest}
 -             isFailed={[InstallStep.uploadFailed, InstallStep.installFailed].includes(step)}
 -             errMsg={errorMsg}
 -             onCancel={onClose}
 -           />
 -         )
 -       }
 -     </>
 -   )
 - }
 - export default React.memo(ReadyToInstall)
 
 
  |