Merge branch 'feat/plugins' into dev/plugin-deploy
commit
adba60d067
@ -0,0 +1,39 @@
|
|||||||
|
'use client'
|
||||||
|
import type { FC } from 'react'
|
||||||
|
import React from 'react'
|
||||||
|
import Badge, { BadgeState } from '@/app/components/base/badge/index'
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
hasInstalled: boolean
|
||||||
|
installedVersion?: string
|
||||||
|
toInstallVersion: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const Version: FC<Props> = ({
|
||||||
|
hasInstalled,
|
||||||
|
installedVersion,
|
||||||
|
toInstallVersion,
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
{
|
||||||
|
!hasInstalled
|
||||||
|
? (
|
||||||
|
<Badge className='mx-1' size="s" state={BadgeState.Default}>{toInstallVersion}</Badge>
|
||||||
|
)
|
||||||
|
: (
|
||||||
|
<>
|
||||||
|
<Badge className='mx-1' size="s" state={BadgeState.Warning}>
|
||||||
|
{`${installedVersion} -> ${toInstallVersion}`}
|
||||||
|
</Badge>
|
||||||
|
{/* <div className='flex px-0.5 justify-center items-center gap-0.5'>
|
||||||
|
<div className='text-text-warning system-xs-medium'>Used in 3 apps</div>
|
||||||
|
<RiInformation2Line className='w-4 h-4 text-text-tertiary' />
|
||||||
|
</div> */}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default React.memo(Version)
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
import { useCheckInstalled as useDoCheckInstalled } from '@/service/use-plugins'
|
||||||
|
|
||||||
|
import { useMemo } from 'react'
|
||||||
|
type Props = {
|
||||||
|
pluginIds: string[],
|
||||||
|
enabled: boolean
|
||||||
|
}
|
||||||
|
const useCheckInstalled = (props: Props) => {
|
||||||
|
const { data, isLoading, error } = useDoCheckInstalled(props)
|
||||||
|
|
||||||
|
const installedInfo = useMemo(() => {
|
||||||
|
if (!data)
|
||||||
|
return undefined
|
||||||
|
|
||||||
|
const res: Record<string, {
|
||||||
|
installedVersion: string,
|
||||||
|
uniqueIdentifier: string
|
||||||
|
}> = {}
|
||||||
|
data?.plugins.forEach((plugin) => {
|
||||||
|
res[plugin.plugin_id] = {
|
||||||
|
installedVersion: plugin.declaration.version,
|
||||||
|
uniqueIdentifier: plugin.plugin_unique_identifier,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return res
|
||||||
|
}, [data])
|
||||||
|
return {
|
||||||
|
installedInfo,
|
||||||
|
isLoading,
|
||||||
|
error,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default useCheckInstalled
|
||||||
Loading…
Reference in New Issue