Add manual target drag and drop

This commit is contained in:
DonVoo 2026-07-06 11:02:29 +02:00
parent ffa28f6182
commit a4eee37ab9
4 changed files with 229 additions and 35 deletions

View file

@ -21,6 +21,7 @@ func RegisterRoutes(mux *http.ServeMux) {
mux.HandleFunc("/view", viewerHandler)
mux.HandleFunc("/view/message", messageHandler)
mux.HandleFunc("/view/target", targetMessageHandler)
mux.HandleFunc("/view/manual-copy", manualCopyHandler)
mux.HandleFunc("/view/forward", forwardHandler)
}
@ -34,7 +35,7 @@ func homeHandler(w http.ResponseWriter, r *http.Request) {
// renderShell ist das Grundgeruest im Outlook-2013-Look:
// [ Ribbon: Postfaecher | Betrachten | Betrachen | Einstellungen | Mail-Graveyard ]
// [ Ordnerbaum | Nachrichtenliste | Original | Zielkopie ]
// [ Archiv-mbox | Nachrichtenliste | Quelle/Target ]
func renderShell(w http.ResponseWriter, active, readingPane string) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
fmt.Fprintf(w, `<!doctype html><html lang="de"><head><meta charset="utf-8">
@ -53,7 +54,7 @@ func renderShell(w http.ResponseWriter, active, readingPane string) {
</nav>
<div class="ribbon-title">Mail-Graveyard</div>
</header>
<div class="four-pane">
<div class="three-pane">
<aside class="pane pane-tree" id="tree"
hx-get="/view" hx-trigger="load" hx-target="#tree" hx-swap="innerHTML">
<div class="pane-head">Postf&auml;cher</div>
@ -64,17 +65,13 @@ func renderShell(w http.ResponseWriter, active, readingPane string) {
</section>
<div class="pane-resizer" data-resize-index="1"></div>
<section class="pane pane-read" id="read">
<div class="pane-head">Original</div>
<div class="pane-head">Quelle</div>
<div class="read-body">%s</div>
</section>
<div class="pane-resizer" data-resize-index="2"></div>
<section class="pane pane-read pane-target" id="read-target">
%s
</section>
</div>
<footer class="statusbar"><span id="mig-status"
hx-get="/migrate/status" hx-trigger="every 3s" hx-swap="innerHTML">bereit</span></footer>
</body></html>`, active, readingPane, renderInitialTargetPane())
</body></html>`, active, readingPane)
}
// --- Stubs fuer die noch nicht gebauten Handler (TODO Codex) ---