8 changed files with 75 additions and 4 deletions
@ -0,0 +1,53 @@
@@ -0,0 +1,53 @@
|
||||
<script lang="ts"> |
||||
import type { NDKTag } from "@nostr-dev-kit/ndk"; |
||||
import parseDiff from "parse-diff"; |
||||
|
||||
export let content: string = ""; |
||||
export let tags: NDKTag[] = []; |
||||
export let lite: boolean = true; |
||||
|
||||
let commit_id = extractTagContent("commit") || "[unknown commit_id]"; |
||||
let commit_message = extractTagContent("description") || "[untitled]"; |
||||
|
||||
let files = parseDiff(content); |
||||
function extractTagContent(name: string): string | undefined { |
||||
let tag = tags.find((tag) => tag[0] === name); |
||||
return tag ? tag[1] : undefined; |
||||
} |
||||
</script> |
||||
|
||||
<div class=""> |
||||
<div class="bg-base-300 rounded-t p-1 flex"> |
||||
<article class="ml-2 prose font-mono flex-grow"> |
||||
{commit_message} |
||||
</article> |
||||
<div class="text-xs text-neutral p-1 flex-none align-middle"> |
||||
commit |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="bg-base-200 p-1 rounded-b"> |
||||
<table class="table table-xs table-zebra"> |
||||
<tr> |
||||
<td class="text-xs">Changes:</td> |
||||
</tr> |
||||
{#each files as file} |
||||
<tr> |
||||
<td> |
||||
<span |
||||
class:text-success={file.new} |
||||
class:text-error={file.deleted} |
||||
class="text-success" |
||||
> |
||||
{file.to || file.from} |
||||
</span> |
||||
</td> |
||||
<td class="text-right"> |
||||
<span class="text-success">+{file.additions}</span> |
||||
<span class="text-error">- {file.deletions}</span> |
||||
</td> |
||||
</tr> |
||||
{/each} |
||||
</table> |
||||
</div> |
||||
</div> |
||||
Loading…
Reference in new issue