johnandersen777.bsky.social/knotless
git that lives in your Atmosphere account
Forked from chadtmiller.com/knotless
0
0
<script lang="ts">
import type * as getQueue from '#lib/lexicons/dev/knotless/getQueue.ts';
import { ago, itemHref, plural } from '#lib/format.ts';
import Icon from '#lib/atoms/Icon.svelte';
import Sha from '#lib/atoms/Sha.svelte';
import Time from '#lib/atoms/Time.svelte';
/** The batches a merge queue of the repository whose page is at `base` landed last, newest first: the commit each left its branch at, and its pulls. */
let { landed, base }: { landed: getQueue.LandedView[]; base: string } = $props();
</script>
<div class="box">
<div class="boxhead"><Icon name="merge" /><b>Landed</b></div>
<ul class="list">
{#each landed as b (b.commit)}
<li>
<span class="st merged pull"><Icon name="merge" /></span>
<div class="grow">
<div>
<span>{`${plural(b.pulls.length, 'pull', 'pulls')} into ${b.branch} as`}</span>
<Sha sha={b.commit} href={`${base}/commit/${b.commit}`} />
</div>
<div class="meta">
{#if b.landedAt}<span><Time at={b.landedAt} show={(t) => ago(t, 'on ')} />{':'}</span
>{/if}{#each b.pulls as p (p.uri)}<a href={itemHref(base, p.uri)}>{p.title}</a>{/each}
</div>
</div>
</li>
{/each}
</ul>
</div>