Simplify project header props

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
This commit is contained in:
Rūdolfs Ošiņš
2023-08-08 17:40:43 +02:00
parent fc87a8822a
commit 449ed1d79b
2 changed files with 13 additions and 26 deletions
+12 -18
View File
@@ -3,7 +3,7 @@
</script>
<script lang="ts">
import type { BaseUrl } from "@httpd-client";
import type { BaseUrl, Project } from "@httpd-client";
import { isLocal } from "@app/lib/utils";
import { pluralize } from "@app/lib/pluralize";
@@ -15,13 +15,7 @@
export let baseUrl: BaseUrl;
export let activeTab: ActiveTab = undefined;
export let projectId: string;
export let projectName: string;
export let openPatchCount: number;
export let openIssueCount: number;
export let trackings: number;
export let project: Project;
</script>
<style>
@@ -47,7 +41,7 @@
<Link
route={{
resource: "project.source",
project: projectId,
project: project.id,
node: baseUrl,
path: "/",
}}>
@@ -61,33 +55,33 @@
<Link
route={{
resource: "project.issues",
project: projectId,
project: project.id,
node: baseUrl,
}}>
<SquareButton active={activeTab === "issues"}>
<svelte:fragment slot="icon">
<Icon size="small" name="exclamation-circle" />
</svelte:fragment>
<span class="txt-bold">{openIssueCount}</span>
{pluralize("issue", openIssueCount)}
<span class="txt-bold">{project.issues.open}</span>
{pluralize("issue", project.issues.open)}
</SquareButton>
</Link>
<Link
route={{
resource: "project.patches",
project: projectId,
project: project.id,
node: baseUrl,
}}>
<SquareButton active={activeTab === "patches"}>
<svelte:fragment slot="icon">
<Icon size="small" name="patch" />
</svelte:fragment>
<span class="txt-bold">{openPatchCount}</span>
{pluralize("patch", openPatchCount)}
<span class="txt-bold">{project.patches.open}</span>
{pluralize("patch", project.patches.open)}
</SquareButton>
</Link>
<CloneButton {baseUrl} id={projectId} name={projectName} />
<CloneButton {baseUrl} id={project.id} name={project.name} />
<Link
route={{
@@ -101,11 +95,11 @@
{isLocal(baseUrl.hostname) ? "radicle.local" : baseUrl.hostname}
</SquareButton>
</Link>
<SquareButton hoverable={false} title="Tracked by {trackings} nodes">
<SquareButton hoverable={false} title="Tracked by {project.trackings} nodes">
<svelte:fragment slot="icon">
<Icon size="small" name="network" />
</svelte:fragment>
<span class="txt-bold">{trackings}</span>
<span class="txt-bold">{project.trackings}</span>
nodes
</SquareButton>
</div>
+1 -8
View File
@@ -129,14 +129,7 @@
</div>
</header>
<Header
openIssueCount={project.issues.open}
openPatchCount={project.patches.open}
projectId={project.id}
projectName={project.name}
trackings={project.trackings}
{activeTab}
{baseUrl} />
<Header {project} {activeTab} {baseUrl} />
</div>
<main>