import { createFileRoute, redirect } from "@tanstack/react-router";
import { getTree } from "~/fns/browse";
import { useRepo } from "~/hooks/use-repo";
import { TreeView } from "~/components/TreeView";
import { EmptyRepo } from "~/components/EmptyRepo";
import { BranchPushSuggestions } from "~/components/BranchPushSuggestions";
export const Route = createFileRoute("/$owner/$repo/tree/$")({
loader: async ({ params }) => {
const tree = await getTree({ data: { owner: params.owner, repo: params.repo, splat: params._splat ?? "" } });
if (tree.kind === "file") {
throw redirect({
to: "/$owner/$repo/blob/$",
params: { owner: params.owner, repo: params.repo, _splat: params._splat ?? "" },
});
}
return tree;
},
component: TreePage,
});
function TreePage() {
const tree = Route.useLoaderData();
const header = useRepo();
const { owner, repo } = Route.useParams();
if (tree.kind === "empty") return