MissingExtensionAlert.tsx27 lines · main
1import { useState } from 'react'
2import { Button } from 'ui'
3
4import { EnableExtensionModal } from '@/components/interfaces/Database/Extensions/EnableExtensionModal'
5import { DatabaseExtension } from '@/data/database-extensions/database-extensions-query'
6
7export const MissingExtensionAlert = ({ extension }: { extension: DatabaseExtension }) => {
8 const [showEnableExtensionModal, setShowEnableExtensionModal] = useState(false)
9
10 const extensionInstalled = !!extension?.installed_version
11 if (!extensionInstalled) {
12 return (
13 <>
14 <Button type="primary" className="w-min" onClick={() => setShowEnableExtensionModal(true)}>
15 Enable {extension.name}
16 </Button>
17
18 <EnableExtensionModal
19 visible={showEnableExtensionModal}
20 extension={extension}
21 onCancel={() => setShowEnableExtensionModal(false)}
22 />
23 </>
24 )
25 }
26 return null
27}