This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / web / src / lib / components / repo / RepoTabs.svelte
1.0 kB 39 lines
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" />