diff --git a/crates/radicle-types/bindings/cob/patch/Patch.ts b/crates/radicle-types/bindings/cob/patch/Patch.ts index 05e318f65..0b98fc826 100644 --- a/crates/radicle-types/bindings/cob/patch/Patch.ts +++ b/crates/radicle-types/bindings/cob/patch/Patch.ts @@ -12,5 +12,5 @@ export type Patch = { assignees: Array; labels: Array; timestamp: number; - revisionCount: number; + revisionIds: Array; }; diff --git a/crates/radicle-types/src/domain/patch/models/patch.rs b/crates/radicle-types/src/domain/patch/models/patch.rs index 2e79ffcce..3ad1fab85 100644 --- a/crates/radicle-types/src/domain/patch/models/patch.rs +++ b/crates/radicle-types/src/domain/patch/models/patch.rs @@ -35,7 +35,8 @@ pub struct Patch { labels: Vec, #[ts(type = "number")] timestamp: cob::Timestamp, - revision_count: usize, + #[ts(as = "Vec")] + revision_ids: Vec, } #[derive(Debug, thiserror::Error)] @@ -63,7 +64,7 @@ impl Patch { .collect::>(), labels: patch.labels().cloned().collect::>(), timestamp: patch.timestamp(), - revision_count: patch.revisions().count(), + revision_ids: patch.revisions().map(|(id, _)| id).collect(), } } diff --git a/src/components/PatchTeaser.svelte b/src/components/PatchTeaser.svelte index a4f7323b1..171b144c7 100644 --- a/src/components/PatchTeaser.svelte +++ b/src/components/PatchTeaser.svelte @@ -2,6 +2,7 @@ import type { PatchStatus } from "@app/views/repo/router"; import type { Patch } from "@bindings/cob/patch/Patch"; + import { draftReviewStorage } from "@app/lib/draftReviewStorage"; import { cachedDiffStats } from "@app/lib/invoke"; import { push } from "@app/lib/router"; import { @@ -26,6 +27,10 @@ } const { focussed, patch, rid, status }: Props = $props(); + + const hasDraftReview = $derived( + patch.revisionIds.some(id => draftReviewStorage.hasForRevision(id)), + );