import { BuildDownloadButton } from "@/components/BuildDownloadButton" import { Button } from "@/components/ui/button" import { getImplicitDependencies, humanizeStatus } from "@/lib/utils" import { useMutation, useQuery } from "convex/react" import { AlertCircle, ArrowLeft, CheckCircle, Loader2, Share2, XCircle } from "lucide-react" import { useState } from "react" import { toast } from "sonner" import { usePageContext } from "vike-react/usePageContext" import { navigate } from "vike/client/router" import { TARGETS } from "../../../constants/targets" import { api } from "../../../convex/_generated/api" import { ArtifactType } from "../../../convex/builds" import modulesData from "../../../convex/modules.json" import registryData from "../../../public/registry.json" export default function BuildProgress() { const pageContext = usePageContext() const buildHash = pageContext.routeParams?.buildHash as string | undefined const build = useQuery(api.builds.getByHash, buildHash ? { buildHash } : "skip") const isAdmin = useQuery(api.admin.isAdmin) const retryBuild = useMutation(api.admin.retryBuild) const [shareUrlCopied, setShareUrlCopied] = useState(false) if (!buildHash) { return (
Build hash missing.{" "} Start a new build .
No build found for hash {buildHash}
Target
Builds run in GitHub Actions. When the status is success, your firmware artifact will be ready to download.
{module.description}
{plugin.description}
}{plugin.description}
}Build failed. Please try tweaking your configuration or re-running the build.
This build is still running. Leave this tab open or come back later using the URL above.