feat(kube): add Kubernetes management GUI components #71

Merged
sarman merged 10 commits from feature/kubernetes-management into master 2026-06-06 19:19:27 +00:00
4 changed files with 15 additions and 6 deletions
Showing only changes of commit 44c631961d - Show all commits

View File

@ -46,6 +46,11 @@ export function PortForwardForm({ isOpen, onClose, onStart }: PortForwardFormPro
return;
}
if (containerPort.trim() === "") {
setError("Container port is required");
return;
}
const port = parseInt(containerPort, 10);
if (isNaN(port) || port < 1 || port > 65535) {
setError("Container port must be a valid port number (1-65535)");

View File

@ -25,7 +25,11 @@ export function PortForwardList({ portForwards, onStart, onStop, onDelete }: Por
};
const getStatusColor = (status: string) => {
switch (status.toLowerCase()) {
const statusLower = status.toLowerCase().trim();
if (statusLower === "") {
return "bg-muted text-muted-foreground";
}
switch (statusLower) {
case "active":
return "bg-green-500/15 text-green-600 dark:text-green-400 border-green-500/20";
case "stopped":

View File

@ -782,5 +782,8 @@ export const startPortForwardCmd = (request: PortForwardRequest) =>
export const stopPortForwardCmd = (id: string) =>
invoke<void>("stop_port_forward", { id });
export const deletePortForwardCmd = (id: string) =>
invoke<void>("stop_port_forward", { id });
export const listPortForwardsCmd = () =>
invoke<PortForwardResponse[]>("list_port_forwards");

View File

@ -10,12 +10,9 @@ import {
removeClusterCmd,
listPortForwardsCmd,
stopPortForwardCmd,
deletePortForwardCmd,
} from "@/lib/tauriCommands";
const deletePortForwardCmd = async (id: string): Promise<void> => {
await stopPortForwardCmd(id);
};
export function KubernetesPage() {
const [clusters, setClusters] = useState<ClusterInfo[]>([]);
const [portForwards, setPortForwards] = useState<PortForwardResponse[]>([]);
@ -65,7 +62,7 @@ export function KubernetesPage() {
const handleDeletePortForward = async (id: string) => {
try {
await stopPortForwardCmd(id);
await deletePortForwardCmd(id);
setPortForwards((prev) => prev.filter((pf) => pf.id !== id));
} catch (err) {
console.error("Failed to delete port forward:", err);