Plugins: Add confirmation modal for uninstalling updateable plugin (#101297)

* add confirmation modal for uninstalling updateable plugin

* shush betterer

* refactor with master Levi

* update betterer

* update name
This commit is contained in:
Will Browne
2025-02-27 10:56:25 +00:00
committed by GitHub
parent a669e004ae
commit 8f465f1249
@@ -126,24 +126,28 @@ export function InstallControlsButton({
uninstallTitle = 'Preinstalled plugin. Remove from Grafana config before uninstalling.';
}
const uninstallControls = (
<>
<ConfirmModal
isOpen={isConfirmModalVisible}
title={`Uninstall ${plugin.name}`}
body="Are you sure you want to uninstall this plugin?"
confirmText="Confirm"
icon="exclamation-triangle"
onConfirm={onUninstall}
onDismiss={hideConfirmModal}
/>
<Button variant="destructive" disabled={disableUninstall} onClick={showConfirmModal} title={uninstallTitle}>
{uninstallBtnText}
</Button>
</>
);
if (pluginStatus === PluginStatus.UNINSTALL) {
return (
<>
<ConfirmModal
isOpen={isConfirmModalVisible}
title={`Uninstall ${plugin.name}`}
body="Are you sure you want to uninstall this plugin?"
confirmText="Confirm"
icon="exclamation-triangle"
onConfirm={onUninstall}
onDismiss={hideConfirmModal}
/>
<Stack alignItems="flex-start" width="auto" height="auto">
<Button variant="destructive" disabled={disableUninstall} onClick={showConfirmModal} title={uninstallTitle}>
{uninstallBtnText}
</Button>
</Stack>
</>
<Stack alignItems="flex-start" width="auto" height="auto">
{uninstallControls}
</Stack>
);
}
@@ -162,9 +166,7 @@ export function InstallControlsButton({
{isInstalling ? 'Updating' : 'Update'}
</Button>
)}
<Button variant="destructive" disabled={disableUninstall} onClick={onUninstall} title={uninstallTitle}>
{uninstallBtnText}
</Button>
{uninstallControls}
</Stack>
);
}