Notizen je Projekt statt Reiter Leistungsphasen

- Neuer Reiter „Notizen“ im Projektbereich: Liste mit Suche und
  angehefteten Notizen, Editor mit Formatierung, automatisches Speichern,
  Mail per Drag & Drop oder Strg+V als neue Notiz, live bei allen
- Reiter „Leistungsphasen“ entfernt (Phasen weiter im Terminplan)
- Behoben: Umlaute in .eml-Dateien ohne Transfer-Kodierung gingen
  verloren (betraf auch „Termin aus Mail“)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
erikandClaude Opus 5.5 committed 2026-10-30 10:00:20 +01:00
1 parent 51dfbe8cd8
commit 7d65ff813f
10 files changed
+697 -265

No files matched your search

+14 -18
View File
@@ -39,7 +39,7 @@
<link rel="alternate icon" href="/logo.ico">
<link rel="apple-touch-icon" href="/logo.png">
<link rel="stylesheet" href="/styles.css?v=111">
<link rel="stylesheet" href="/plan-styles.css?v=48">
<link rel="stylesheet" href="/plan-styles.css?v=51">
<!-- Glas-Darstellung (public/glas.css, als letztes Stylesheet): greift nur mit
der Klasse html.glas. Gesetzt wird sie hier, vor dem ersten Zeichnen,
damit die Seite nicht erst ohne Glas aufblitzt; abschaltbar je Browser
@@ -892,7 +892,7 @@
<nav class="plan-nav" id="planNav">
<button class="plan-nav-item" data-section="dashboard" onclick="showPlanSection('dashboard')">Dashboard</button>
<button class="plan-nav-item" data-section="terminplan" onclick="showPlanSection('terminplan')">Terminplan</button>
<button class="plan-nav-item" data-section="phasen" onclick="showPlanSection('phasen')">Leistungsphasen</button>
<button class="plan-nav-item" data-section="notizen" onclick="showPlanSection('notizen')">Notizen</button>
<button class="plan-nav-item" data-section="aufgaben" onclick="showPlanSection('aufgaben')">Aufgaben</button>
<button class="plan-nav-item" data-section="leistung" onclick="showPlanSection('leistung')">Leistung</button>
<button class="plan-nav-item" data-section="dateien" onclick="showPlanSection('dateien')">Dateien</button>
@@ -1041,17 +1041,12 @@
</section>
<!-- ====================== Bereich: Aufgaben ===================== -->
<!-- ================== Bereich: Leistungsphasen ================== -->
<!-- Eriks Wahl "B": die Phasenbalken des Terminplans als eigener
Bereich — Ablaufbalken über alle Phasen, darunter eine Kachel je
Phase (renderPlanPhasen(), js/plan/plan-phasen.js). In der
Aufgabenliste stehen sie dafür nicht mehr. -->
<section class="plan-section" id="planSection-phasen" data-section="phasen">
<div class="plan-main-header">
<button onclick="addPlanPhase()" id="addPhaseBtnPhasen">+ Leistungsphase</button>
<button class="secondary" onclick="openHonorarModal()" id="honorarBtnPhasen" title="Terminplan aus Honorar und Leistungsphasen-Anteilen errechnen">Terminplan aus Honorar</button>
</div>
<div id="planPhasenWrap"></div>
<!-- ======================= Bereich: Notizen ======================= -->
<!-- Eriks Wahl „A – Liste + Editor“: gemeinsame Notizen je Projekt
(renderPlanNotizen(), js/plan/plan-notizen.js; Server:
/projekt-notizen*). Ersetzt den früheren Reiter „Leistungsphasen“. -->
<section class="plan-section" id="planSection-notizen" data-section="notizen">
<div id="planNotizenWrap"></div>
</section>
<section class="plan-section" id="planSection-aufgaben" data-section="aufgaben">
@@ -1991,7 +1986,7 @@
<script src="/js/date-picker.js?v=6"></script>
<script src="/js/server.js?v=7"></script>
<script src="/js/auth.js?v=11"></script>
<script src="/js/store.js?v=15"></script>
<script src="/js/store.js?v=16"></script>
<script src="/js/weeks.js?v=12"></script>
<script src="/js/board/board.js?v=41"></script>
<script src="/js/wochenbericht/wochenbericht.js?v=29"></script>
@@ -2029,21 +2024,22 @@
(das seine Vorwochen-Helfer nutzt), und alle zusammen muessen nach
js/gantt.js kommen, dessen buildGanttHtml() plan-build-gantt.js
umhuellt. -->
<script src="/js/plan/plan-state.js?v=24"></script>
<script src="/js/plan/plan-sections.js?v=10"></script>
<script src="/js/plan/plan-state.js?v=25"></script>
<script src="/js/plan/plan-sections.js?v=12"></script>
<script src="/js/plan/plan-info.js?v=15"></script>
<script src="/js/plan/plan-history.js?v=4"></script>
<script src="/js/plan/plan-build-gantt.js?v=11"></script>
<script src="/js/plan/plan-gantt.js?v=21"></script>
<script src="/js/plan/plan-gantt.js?v=22"></script>
<script src="/js/plan/plan-drag.js?v=8"></script>
<script src="/js/plan/plan-modals.js?v=18"></script>
<script src="/js/plan/plan-tasks.js?v=4"></script>
<script src="/js/plan/plan-phasen.js?v=2"></script>
<script src="/js/plan/plan-phasen.js?v=3"></script>
<script src="/js/plan/plan-files.js?v=4"></script>
<script src="/js/plan/plan-protokoll.js?v=20"></script>
<script src="/js/plan/plan-templates.js?v=11"></script>
<script src="/js/plan/plan-protokoll-todos.js?v=2"></script>
<script src="/js/plan/plan-mail-eintrag.js?v=4"></script>
<script src="/js/plan/plan-notizen.js?v=1"></script>
<script src="/js/plan/plan-honorar.js?v=9"></script>
<!-- plan-leistung.js muss NACH plan-honorar.js stehen: es umhuellt dessen
invalidateHonorarConfig(), damit eine Aenderung der Anteile auch seinen