diff --git a/documents/src/main/java/de/srsoftware/umbrella/documents/model/Document.java b/documents/src/main/java/de/srsoftware/umbrella/documents/model/Document.java
index 1f9bfca..06588de 100644
--- a/documents/src/main/java/de/srsoftware/umbrella/documents/model/Document.java
+++ b/documents/src/main/java/de/srsoftware/umbrella/documents/model/Document.java
@@ -212,8 +212,8 @@ public final class Document implements Mappable {
map.put(DATE, date);
map.put(STATE, state.code);
map.put(FIELD_DELIVERY, delivery);
- map.put(FIELD_HEAD, markdown(head));
- map.put(FIELD_FOOTER, markdown(footer));
+ map.put(FIELD_HEAD, Map.of(SOURCE,head,RENDERED,markdown(head)));
+ map.put(FIELD_FOOTER, Map.of(SOURCE,footer,RENDERED,markdown(footer)));
map.put(FIELD_CURRENCY, currency);
map.put(SENDER, sender.toMap());
map.put(FIELD_CUSTOMER, customer.toMap());
diff --git a/frontend/src/Components/LineEditor.svelte b/frontend/src/Components/LineEditor.svelte
index de10dd7..1d12716 100644
--- a/frontend/src/Components/LineEditor.svelte
+++ b/frontend/src/Components/LineEditor.svelte
@@ -24,6 +24,16 @@
}
+
+
{#if editable && editing}
{:else}
diff --git a/frontend/src/Components/MarkdownEditor.svelte b/frontend/src/Components/MarkdownEditor.svelte
index 4b2fa27..89acef9 100644
--- a/frontend/src/Components/MarkdownEditor.svelte
+++ b/frontend/src/Components/MarkdownEditor.svelte
@@ -45,6 +45,13 @@
width: 100%;
min-height: 100px;
}
+ div{
+ min-width: 40px;
+ min-height: 20px;
+ }
+ div:hover{
+ border: 1px dotted;
+ }
{#if editable && editing}
diff --git a/frontend/src/routes/document/View.svelte b/frontend/src/routes/document/View.svelte
index 893a53a..d742973 100644
--- a/frontend/src/routes/document/View.svelte
+++ b/frontend/src/routes/document/View.svelte
@@ -2,6 +2,7 @@
import { onMount } from 'svelte';
import { t } from '../../translations.svelte.js';
import { useTinyRouter } from 'svelte-tiny-router';
+ import MarkdownEditor from '../../Components/MarkdownEditor.svelte';
import PositionList from './PositionList.svelte';
import StateSelector from './StateSelector.svelte';
import TemplateSelector from './TemplateSelector.svelte';
@@ -9,6 +10,9 @@
let error = null;
let doc = $state(null);
+ let editable = $derived(doc.state == 1);
+
+
async function loadDoc(){
const url = `${location.protocol}//${location.host.replace('5173','8080')}/api/document/${id}`;
const resp = await fetch(url,{credentials:'include'});
@@ -39,42 +43,59 @@
{#if doc}