2025-06-30 18:58:24 +02:00
|
|
|
<!--
|
|
|
|
SPDX-FileCopyrightText: © 2025 Hornwitser <code@hornwitser.no>
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
-->
|
2025-06-30 15:43:15 +02:00
|
|
|
<template>
|
|
|
|
<DiffEntry
|
|
|
|
:title
|
|
|
|
:entries
|
|
|
|
/>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
const props = defineProps<{
|
|
|
|
title: string,
|
|
|
|
before: string,
|
|
|
|
after: string,
|
|
|
|
state: "deleted" | "created" | "modified",
|
|
|
|
}>();
|
|
|
|
const entries = computed((): ["added" | "removed", string][] => {
|
|
|
|
if (props.state === "created") {
|
|
|
|
return props.after ? [["added", props.after]] : [];
|
|
|
|
}
|
|
|
|
if (props.state === "deleted") {
|
|
|
|
return props.before ? [["removed", props.before]] : [];
|
|
|
|
}
|
|
|
|
if (props.state === "modified") {
|
|
|
|
if (props.after === props.before)
|
|
|
|
return [];
|
|
|
|
if (!props.after)
|
|
|
|
return [["removed", props.before]];
|
|
|
|
if (!props.before)
|
|
|
|
return [["added", props.after]];
|
|
|
|
return [
|
|
|
|
["removed", props.before],
|
|
|
|
["added", props.after],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
return [];
|
|
|
|
});
|
|
|
|
</script>
|