diff --git a/apps/web/src/components/settings/DiagnosticsSettings.tsx b/apps/web/src/components/settings/DiagnosticsSettings.tsx index ab22c40b5c687e511fb8a45a4bca69253dc13da7..0a987eca8c1d3ada3c65a78e9e8b5cbb348c9be8 100644 --- a/apps/web/src/components/settings/DiagnosticsSettings.tsx +++ b/apps/web/src/components/settings/DiagnosticsSettings.tsx @@ -1,3 +1,4 @@ +import { ProcessSignalActions } from "./ProcessSignalActions"; import { RefreshIcon } from "~/components/ui/refresh-icon"; import { AlertTriangleIcon, @@ -309,51 +310,6 @@ function ProcessNameCell({ ); } -function ProcessSignalActions({ - process, - isSignaling, - onSignal, -}: { - process: ServerProcessDiagnosticsEntry; - isSignaling: boolean; - onSignal: (pid: number, signal: ServerProcessSignal) => void; -}) { - return ( -
- - onSignal(process.pid, "SIGINT")} - > - INT - - } - /> - Send SIGINT - - - onSignal(process.pid, "SIGKILL")} - > - KILL - - } - /> - Send SIGKILL - -
- ); -} - function ProcessDiagnosticsTable({ processes, signalingPid, @@ -469,9 +425,8 @@ function ProcessDiagnosticsTable({ onSignal(process.pid, signal)} /> diff --git a/apps/web/src/components/settings/ProcessSignalActions.tsx b/apps/web/src/components/settings/ProcessSignalActions.tsx new file mode 100644 index 0000000000000000000000000000000000000000..ab96e019ef34e5931d5dcf604da37d83fd5bba39 --- /dev/null +++ b/apps/web/src/components/settings/ProcessSignalActions.tsx @@ -0,0 +1,48 @@ +import type { ServerProcessSignal } from "@t3tools/contracts"; + +import { InlineButton } from "../ui/button"; +import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; + +/** Process ownership and confirmation stay with the diagnostics view. */ +export function ProcessSignalActions({ + disabled, + onSignal, +}: { + disabled: boolean; + onSignal: (signal: ServerProcessSignal) => void; +}) { + return ( +
+ + onSignal("SIGINT")} + > + INT + + } + /> + Send SIGINT + + + onSignal("SIGKILL")} + > + KILL + + } + /> + Send SIGKILL + +
+ ); +} diff --git a/apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx b/apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx index b52e54bb5f7d149d31a96aa45e23d2587978af6d..b10ed02c477ee6d05521041c82ef0ad3ae763e84 100644 --- a/apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx +++ b/apps/web/src/components/settings/ResourceTelemetryDiagnostics.tsx @@ -1,3 +1,4 @@ +import { ProcessSignalActions } from "./ProcessSignalActions"; import { RefreshIcon } from "~/components/ui/refresh-icon"; import { ActivityIcon, @@ -535,24 +536,7 @@ function ProcessActions({ } const isSignaling = signalingKeys.has(processIdentityKey(process)); return ( -
- - -
+ onSignal(process, signal)} /> ); }