diff --git a/app/Filament/Admin/Resources/PluginResource.php b/app/Filament/Admin/Resources/PluginResource.php index cd4db57f2..ea97de175 100644 --- a/app/Filament/Admin/Resources/PluginResource.php +++ b/app/Filament/Admin/Resources/PluginResource.php @@ -101,7 +101,7 @@ class PluginResource extends Resource ->color('success') ->hidden(fn (Plugin $plugin) => $plugin->isInstalled()) ->action(function (Plugin $plugin) { - Plugins::installPlugin($plugin); + Plugins::installPlugin($plugin, !$plugin->isTheme() || !Plugins::hasThemePluginEnabled()); redirect(ListPlugins::getUrl()); diff --git a/app/Services/Helpers/PluginService.php b/app/Services/Helpers/PluginService.php index 5401ae72c..f5fcfc855 100644 --- a/app/Services/Helpers/PluginService.php +++ b/app/Services/Helpers/PluginService.php @@ -218,6 +218,10 @@ class PluginService if ($enable) { $this->enablePlugin($plugin); + } else { + if (!$plugin->isInstalled()) { + $this->disablePlugin($plugin); + } } } catch (Exception $exception) { if ($this->isDevModeActive()) {