"use client"; import {useState} from "react"; import * as docker from "../services/docker/client"; export default function useDocker(){ const [loading,setLoading]=useState(false); async function execute(fn,...args){ setLoading(true); try{ return await fn(...args); }finally{ setLoading(false); } } return{ loading, status:(...a)=>execute(docker.status,...a), images:(...a)=>execute(docker.images,...a), containers:(...a)=>execute(docker.containers,...a), build:(...a)=>execute(docker.build,...a), composeUp:(...a)=>execute(docker.composeUp,...a), composeDown:(...a)=>execute(docker.composeDown,...a), logs:(...a)=>execute(docker.logs,...a), push:(...a)=>execute(docker.push,...a), removeImage:(...a)=>execute(docker.removeImage,...a), removeContainer:(...a)=>execute(docker.removeContainer,...a) }; }