import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Play, Square, RotateCcw, Skull } from 'lucide-react'; import { api } from '@/lib/api'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DialogClose, } from '@/components/ui/dialog'; interface PowerControlsProps { serverId: string; orgId: string; status: string; } export function PowerControls({ serverId, orgId, status }: PowerControlsProps) { const queryClient = useQueryClient(); const powerMutation = useMutation({ mutationFn: (action: string) => api.post(`/organizations/${orgId}/servers/${serverId}/power`, { action }), onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['server', orgId, serverId] }); queryClient.invalidateQueries({ queryKey: ['servers', orgId] }); }, }); const isRunning = status === 'running'; const isStopped = status === 'stopped' || status === 'error'; const isTransitioning = status === 'starting' || status === 'stopping' || status === 'installing'; return (