import { createFileRoute, Outlet } from "@tanstack/react-router"; import { SideNav, SideNavLayout, SideNavLink } from "~/ui/Nav"; import { requireSignedIn } from "~/lib/route-guards"; const NAV = [ { to: "/$owner/$repo/settings", label: "General", exact: true }, { to: "/$owner/$repo/settings/collaborators", label: "Collaborators", exact: false }, { to: "/$owner/$repo/settings/branches", label: "Branch protection", exact: false }, { to: "/$owner/$repo/settings/webhooks", label: "Webhooks", exact: false }, { to: "/$owner/$repo/settings/integrations", label: "Integrations", exact: false }, { to: "/$owner/$repo/settings/mirroring", label: "Mirroring", exact: false }, { to: "/$owner/$repo/settings/secrets", label: "Actions secrets", exact: false }, { to: "/$owner/$repo/settings/deploy-tokens", label: "Deploy tokens", exact: false }, { to: "/$owner/$repo/settings/variables", label: "Actions variables", exact: false }, { to: "/$owner/$repo/settings/environments", label: "Environments", exact: false }, { to: "/$owner/$repo/settings/runners", label: "Runners", exact: false }, { to: "/$owner/$repo/settings/containers", label: "Containers", exact: false }, { to: "/$owner/$repo/settings/lfs", label: "Git LFS", exact: false }, { to: "/$owner/$repo/settings/sites", label: "Sites", exact: false }, { to: "/$owner/$repo/settings/planning", label: "Issues & discussions", exact: false }, { to: "/$owner/$repo/settings/ai", label: "AI merge fixes", exact: false }, ] as const; export const Route = createFileRoute("/$owner/$repo/settings")({ beforeLoad: requireSignedIn, component: RepoSettingsLayout, }); function RepoSettingsLayout() { const params = Route.useParams(); return ( {NAV.map((item) => ( {item.label} ))}
); }