<script lang="ts">
import { timefmt } from '../../../helpers.js';
export let hash: string;
export let id: string;
export let disc: number;
export let timestamp: number;
export let pushed_by: string;
export let removed: number | undefined;
export let can_add: boolean = false;
export let can_remove: boolean = false;
export let owner: string;
export let repo: string;
export let token: string;
export let authors: {
login?: string;
name?: string;
key: string;
}[] = [];
export let header:
| {
message: string;
timestamp: string;
}
| undefined;
console.log('HEADER', JSON.stringify(header));
</script>
<div class={'py-3 flex' + (removed ? ' opacity-50' : '')} id="{hash}.{timestamp}">
<div class="px-3 w-20">
<a href="/{pushed_by}">
<img class="profile-picture-small" src="/identicon/{pushed_by}/small" alt={pushed_by} />
</a>
</div>
<div class="w-full flex flex-col">
<div class="flex justify-between items-center mb-2">
<div class="grow-1 align-middle">
<a class="author" href="/{pushed_by}">{pushed_by}</a> added a change {timefmt(
timestamp * 1000
)}
</div>
{#if removed && can_add}
<div class="ms-2">
<form action="/api/discussion/{owner}/{repo}/{disc}/add_change" method="POST">
<input type="hidden" name="discussion_change" value={id} />
<input type="hidden" name="token" value={token} />
<button class="btn btn-sm btn-primary">Add back</button>
</form>
</div>
{/if}
{#if !removed && can_remove}
<div class="ms-2">
<form action="/api/discussion/{owner}/{repo}/{disc}/remove_change" method="POST">
<input type="hidden" name="discussion_change" value={id} />
<input type="hidden" name="token" value={token} />
<button class="btn btn-sm btn-error">Remove from discussion</button>
</form>
</div>
{/if}
</div>
<div>
{#if header}
<a href="/{owner}/{repo}/change/{hash}">
{#if header.message.length}
{header.message}
{:else}
<em>(no change message)</em>
{/if}
</a>{#each authors as auth}
{#if auth.login}
, by <a class="author" href="/{auth.login}">{auth.login}</a>
{:else if auth.key}
, by <span class="key break-all">{auth.key}</span>
{/if}
{/each}{#if header.timestamp}
, created {timefmt(Date.parse(header.timestamp))}
{/if}
{/if}
<div class="p-1 break-all">
<code class="hash">{hash}</code>
</div>
</div>
</div>
</div>
<style>
.profile-picture-small {
width: 4em;
background-color: white;
border-radius: 50%;
}
</style>