Something went wrong. Try again.
Monorepo for Tangled tangled.org
Something went wrong. Try again.
Svelte
12345678910111213141516171819202122232425262728293031323334353637383940414243<script lang="ts"> import Separator from "$lib/components/ui/Separator.svelte"; import RefChip from "$lib/components/repo/RefChip.svelte"; import RepoCrumbs from "$lib/components/repo/RepoCrumbs.svelte"; import type { TreeEntrySummary } from "$lib/components/repo/types";
interface Props { ownerHandle: string; repoName: string; ref: string; path: string; entries: TreeEntrySummary[]; }
let { ownerHandle, repoName, ref, path, entries }: Props = $props();
const folders = $derived( entries.filter((entry) => entry.kind === "directory" || entry.kind === "submodule").length ); const files = $derived(entries.length - folders); const plural = (count: number, noun: string) => `${count} ${noun}${count === 1 ? "" : "s"}`;</script>
<div class="mb-2 flex items-center justify-between gap-2 typography-paragraph-regular md:mb-4"> <div class="flex min-w-0 items-center gap-3"> <RepoCrumbs {ownerHandle} {repoName} {ref} {path} />
<div class="flex items-center gap-2 typography-paragraph-small text-foreground-muted"> {#if folders > 0} <span>{plural(folders, "folder")}</span> {/if} {#if folders > 0 && files > 0} <Separator variant="dot" /> {/if} {#if files > 0} <span>{plural(files, "file")}</span> {/if} </div> </div>
<RefChip {ownerHandle} {repoName} {ref} class="hidden md:flex" /></div>