feat: finish the docker plugin (B15)

This commit is contained in:
LukeGus committed 2026-09-24 11:58:20 -05:00
1 parent 0a3f05d99d
commit 993a91c899
167 files changed
+26299 -5136

No files matched your search

@@ -1,11 +1,11 @@
import { getErrorMessage } from "@/lib/error-message.js";
import { getErrorMessage } from "../error-message";
import { Button } from "@termix/plugin-sdk/ui";
import type { DockerContainer } from "../types";
import React from "react";
import { Box, List, Play, RefreshCw, Square, Terminal } from "lucide-react";
import { toast } from "sonner";
import { useTranslation } from "@termix/plugin-sdk/frontend";
import { Button } from "@/components/button.tsx";
import type { DockerContainer } from "@/types";
import { startDockerContainer, stopDockerContainer } from "../docker-api";
import { useDockerApi } from "../docker-api";
import { DockerBadge } from "./ContainerCard.tsx";
type DetailTab = "logs" | "stats" | "console";
@@ -30,6 +30,7 @@ export function ContainerTable({
statusFilter = "all",
}: ContainerTableProps): React.ReactElement {
const { t } = useTranslation();
const docker = useDockerApi();
const [pendingId, setPendingId] = React.useState<string | null>(null);
const filtered = React.useMemo(() => {
@@ -56,10 +57,10 @@ export function ContainerTable({
setPendingId(container.id);
try {
if (container.state === "running") {
await stopDockerContainer(sessionId, container.id);
await docker.containerAction(sessionId, container.id, "stop");
toast.success(t("docker.containerStopped", { name: containerName }));
} else {
await startDockerContainer(sessionId, container.id);
await docker.containerAction(sessionId, container.id, "start");
toast.success(t("docker.containerStarted", { name: containerName }));
}
onRefresh?.();