import { ConfirmModal, Spinner } from '@decky/ui'; import { FC, useState } from 'react'; import { disablePlugin, uninstallPlugin } from '../../plugin'; interface PluginUninstallModalProps { name: string; title: string; buttonText: string; description: string; closeModal?(): void; } const PluginDisableModal: FC = ({ name, title, buttonText, description, closeModal }) => { const [disabling, setDisabling] = useState(false); return ( { setDisabling(true); await disablePlugin(name); //not sure about this yet // uninstalling a plugin resets the hidden setting for it server-side // we invalidate here so if you re-install it, you won't have an out-of-date hidden filter await DeckyPluginLoader.frozenPluginsService.invalidate(); await DeckyPluginLoader.hiddenPluginsService.invalidate(); closeModal?.(); }} bOKDisabled={disabling} bCancelDisabled={disabling} strTitle={
{title} {disabling && }
} strOKButtonText={buttonText} > {description}
); }; export default PluginDisableModal;