implemented storage of new wiki page version, prepared page display for several versions

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-09-10 14:47:08 +02:00
parent c63def1b85
commit e831b8a4e0
5 changed files with 32 additions and 6 deletions

View File

@@ -6,7 +6,7 @@
import Editor from '../../Components/MarkdownEditor.svelte';
let error = $state(null);
let { id } = $props();
let { id, version } = $props();
let page = $state(null);
async function loadPage(){
@@ -28,13 +28,13 @@
body:JSON.stringify(data)
});
if (res.ok){
return true;
error = null;
page = await res.json();
return true;
} else {
error = await res.text();
return false;
}
}
onMount(loadPage);
@@ -44,5 +44,14 @@
<span class="error">{error}</span>
{/if}
{#if page}
<span class="version">{t('version')}</span>
{#each Array.from({ length: page.version }, (_, i) => page.version - i) as v}
<span class="version">
{#if v == page.version}[{/if}
<a href={`/wiki/${id}/version/${v}`}>{v}</a>
{#if v == page.version}]{/if}
&nbsp;
</span>
{/each}
<Editor editable={true} value={page.content} onSet={s => patch({content:s})}></Editor>
{/if}