This repository has no description
1<script lang="ts">
2 import SquareChartGantt from "$icon/square-chart-gantt";
3 import CircleDot from "$icon/circle-dot";
4 import GitPullRequest from "$icon/git-pull-request";
5 import Layers2 from "$icon/layers-2";
6 import Tabs, { type TabDef } from "$lib/components/ui/Tabs.svelte";
7 import type { RepoCounts, RepoInfo } from "./types";
8
9 interface Props {
10 repo: RepoInfo;
11 counts: RepoCounts;
12 active: string;
13 }
14
15 let { repo, counts, active }: Props = $props();
16
17 const base = $derived(`/${repo.ownerHandle}/${repo.name}`);
18
19 const tabs = $derived<TabDef[]>([
20 { id: "overview", label: "Overview", icon: SquareChartGantt, href: base },
21 {
22 id: "issues",
23 label: "Issues",
24 icon: CircleDot,
25 count: counts.issues,
26 href: `${base}/issues`
27 },
28 {
29 id: "pulls",
30 label: "Pulls",
31 icon: GitPullRequest,
32 count: counts.pulls,
33 href: `${base}/pulls`
34 },
35 { id: "pipelines", label: "Pipelines", icon: Layers2, href: `${base}/pipelines` }
36 ]);
37</script>
38
39<Tabs {tabs} {active} label="repository sections" />