|
|
|
|
@ -7,7 +7,7 @@ import Card from '../../../card'
|
|
|
|
|
import Badge, { BadgeState } from '@/app/components/base/badge/index'
|
|
|
|
|
import { pluginManifestToCardPluginProps } from '../../utils'
|
|
|
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
|
import { installPackageFromGitHub, uninstallPlugin } from '@/service/plugins'
|
|
|
|
|
import { installPackageFromGitHub, updateFromGitHub } from '@/service/plugins'
|
|
|
|
|
import { RiLoader2Line } from '@remixicon/react'
|
|
|
|
|
import { usePluginTaskList } from '@/service/use-plugins'
|
|
|
|
|
import checkTaskStatus from '../../base/check-task-status'
|
|
|
|
|
@ -49,28 +49,49 @@ const Loaded: React.FC<LoadedProps> = ({
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const { owner, repo } = parseGitHubUrl(repoUrl)
|
|
|
|
|
const { all_installed: isInstalled, task_id: taskId } = await installPackageFromGitHub(
|
|
|
|
|
`${owner}/${repo}`,
|
|
|
|
|
selectedVersion,
|
|
|
|
|
selectedPackage,
|
|
|
|
|
uniqueIdentifier,
|
|
|
|
|
)
|
|
|
|
|
if (updatePayload) {
|
|
|
|
|
const { all_installed: isInstalled, task_id: taskId } = await updateFromGitHub(
|
|
|
|
|
`${owner}/${repo}`,
|
|
|
|
|
selectedVersion,
|
|
|
|
|
selectedPackage,
|
|
|
|
|
updatePayload.originalPackageInfo.id,
|
|
|
|
|
uniqueIdentifier,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (updatePayload && isInstalled)
|
|
|
|
|
await uninstallPlugin(updatePayload.originalPackageInfo.id)
|
|
|
|
|
if (isInstalled) {
|
|
|
|
|
onInstalled()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
handleRefetch()
|
|
|
|
|
await check({
|
|
|
|
|
taskId,
|
|
|
|
|
pluginUniqueIdentifier: uniqueIdentifier,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (isInstalled) {
|
|
|
|
|
onInstalled()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
const { all_installed: isInstalled, task_id: taskId } = await installPackageFromGitHub(
|
|
|
|
|
`${owner}/${repo}`,
|
|
|
|
|
selectedVersion,
|
|
|
|
|
selectedPackage,
|
|
|
|
|
uniqueIdentifier,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (isInstalled) {
|
|
|
|
|
onInstalled()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
handleRefetch()
|
|
|
|
|
await check({
|
|
|
|
|
taskId,
|
|
|
|
|
pluginUniqueIdentifier: uniqueIdentifier,
|
|
|
|
|
})
|
|
|
|
|
handleRefetch()
|
|
|
|
|
await check({
|
|
|
|
|
taskId,
|
|
|
|
|
pluginUniqueIdentifier: uniqueIdentifier,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
onInstalled()
|
|
|
|
|
onInstalled()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (e) {
|
|
|
|
|
if (typeof e === 'string') {
|
|
|
|
|
|