diff --git a/console/src/modules/system/plugins/PluginDetail.vue b/console/src/modules/system/plugins/PluginDetail.vue
index 7d003b2d9..e5148f6ee 100644
--- a/console/src/modules/system/plugins/PluginDetail.vue
+++ b/console/src/modules/system/plugins/PluginDetail.vue
@@ -1,9 +1,9 @@
{
name: 'PluginDetail',
params: { name: plugin?.metadata.name },
}"
- >
-
-
-
- {{
- isStarted
- ? $t("core.common.status.activated")
- : $t("core.common.status.not_activated")
- }}
-
-
-
-
+ />
-
+
diff --git a/console/src/modules/system/plugins/composables/use-plugin.ts b/console/src/modules/system/plugins/composables/use-plugin.ts
index b82a5b18d..de3bffec2 100644
--- a/console/src/modules/system/plugins/composables/use-plugin.ts
+++ b/console/src/modules/system/plugins/composables/use-plugin.ts
@@ -8,6 +8,7 @@ import { useI18n } from "vue-i18n";
interface usePluginLifeCycleReturn {
isStarted: ComputedRef;
+ getFailedMessage: () => string | undefined;
changeStatus: () => void;
uninstall: (deleteExtensions?: boolean) => void;
}
@@ -23,6 +24,18 @@ export function usePluginLifeCycle(
);
});
+ const getFailedMessage = () => {
+ if (!plugin?.value) return;
+
+ if (!isStarted.value) {
+ const lastCondition = plugin.value.status?.conditions?.[0];
+
+ return (
+ [lastCondition?.reason, lastCondition?.message].join(":") || "Unknown"
+ );
+ }
+ };
+
const changeStatus = () => {
if (!plugin?.value) return;
@@ -135,6 +148,7 @@ export function usePluginLifeCycle(
return {
isStarted,
+ getFailedMessage,
changeStatus,
uninstall,
};