diff --git a/apps/web/src/components/RegisterProjectDialog.tsx b/apps/web/src/components/RegisterProjectDialog.tsx index e0b42b9..f3b2937 100644 --- a/apps/web/src/components/RegisterProjectDialog.tsx +++ b/apps/web/src/components/RegisterProjectDialog.tsx @@ -10,6 +10,7 @@ import { import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; +import { Loader2 } from "lucide-react"; import { toast } from "sonner"; import { trpc } from "@/lib/trpc"; @@ -27,13 +28,20 @@ export function RegisterProjectDialog({ const [defaultBranch, setDefaultBranch] = useState("main"); const [error, setError] = useState(null); + const utils = trpc.useUtils(); + const registerMutation = trpc.registerProject.useMutation({ onSuccess: () => { onOpenChange(false); toast.success("Project registered"); + void utils.listProjects.invalidate(); }, onError: (err) => { - setError(err.message); + if (err.data?.code === "INTERNAL_SERVER_ERROR") { + setError("Failed to clone repository. Check the URL and try again."); + } else { + setError(err.message); + } }, }); @@ -109,7 +117,14 @@ export function RegisterProjectDialog({ Cancel