import { NotFound } from "@/app/[domain]/components/notFound"
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb"
import { TabSwitcher } from "@/components/ui/tab-switcher"
import { Tabs, TabsContent } from "@/components/ui/tabs"
import { ConnectionIcon } from "../components/connectionIcon"
import { Header } from "../../components/header"
import { ConfigSetting } from "./components/configSetting"
import { DeleteConnectionSetting } from "./components/deleteConnectionSetting"
import { DisplayNameSetting } from "./components/displayNameSetting"
import { RepoList } from "./components/repoList"
import { getConnectionByDomain } from "@/data/connection"
import { Overview } from "./components/overview"
import { getOrgMembership } from "@/actions"
import { isServiceError } from "@/lib/utils"
import { notFound } from "next/navigation"
import { OrgRole } from "@sourcebot/db"
interface ConnectionManagementPageProps {
params: {
domain: string
id: string
},
searchParams: {
tab: string
}
}
export default async function ConnectionManagementPage({ params, searchParams }: ConnectionManagementPageProps) {
const connection = await getConnectionByDomain(Number(params.id), params.domain);
if (!connection) {
return
}
const membership = await getOrgMembership(params.domain);
if (isServiceError(membership)) {
return notFound();
}
const isOwner = membership.role === OrgRole.OWNER;
const currentTab = searchParams.tab || "overview";
return (
Connections
{connection.name}
{connection.name}
Overview
Linked Repositories
)
}