Panel: Entwürfe archivieren, Titel aus Überschrift, Titel-Edit

- Archiv pro Projekt: Panel-Button „Archivieren" und MCP-Tool archive_panel
  legen den Entwurf als <YYYY-MM-DD_HHMM>-<slug>.md mit Frontmatter im
  Archiv-Ordner ab. Ordner in ai-control.json (archiveDir) + als
  additionalDirectories/Edit in .claude/settings.json (scanbar). Kein Ordner:
  Panel öffnet Ordner-Dialog, Zuruf nutzt Argument dir.
- Panel-Titel zeigt die erste Überschrift des Entwurfs (Inline-Markdown
  gestrippt), Fallback „Entwurf"; Bleistift-Button macht ihn editierbar,
  schreibt die Überschrift via panel_set zurück.
- Panel-Kopf zweizeilig: Titel + Edit oben, Aktionen rechtsbündig darunter.
- AI_CONTROL_PROJECT als PTY-Env für den MCP-Server.
This commit is contained in:
marcus.hinz
2026-07-11 13:40:17 +02:00
parent 8aa758ae64
commit e2e9992b1c
8 changed files with 508 additions and 44 deletions
+38 -10
View File
@@ -18,11 +18,10 @@
}
.panel-head {
flex: none;
height: 38px;
display: flex;
align-items: center;
gap: 6px;
padding: 0 8px 0 14px;
flex-direction: column;
gap: 3px;
padding: 7px 8px 9px 14px;
background: #181825;
border-bottom: 1px solid #313244;
font:
@@ -32,10 +31,33 @@
user-select: none;
-webkit-user-select: none;
}
.panel-titlerow {
display: flex;
align-items: center;
gap: 2px;
min-width: 0;
}
.panel-actions {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 2px;
}
.panel-title {
margin-right: auto;
flex: 0 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #a6adc8;
}
.panel-title[contenteditable="true"] {
overflow: visible;
text-overflow: clip;
outline: none;
color: inherit;
cursor: text;
}
.panel-btn {
border: none;
background: transparent;
@@ -131,11 +153,17 @@
</style>
</head>
<body>
<div class="panel-head" data-tauri-drag-region>
<span class="panel-title" data-tauri-drag-region>Entwurf</span>
<button class="panel-btn" id="panel-mode" title="Rohtext / gerendert">MD</button>
<button class="panel-btn" id="panel-copy" title="In die Zwischenablage">Kopieren</button>
<button class="panel-btn" id="panel-dock" title="Wieder andocken">Andocken</button>
<div class="panel-head">
<div class="panel-titlerow" data-tauri-drag-region>
<span class="panel-title">Entwurf</span>
<button class="panel-btn panel-edit" id="panel-title-edit" title="Titel bearbeiten"></button>
</div>
<div class="panel-actions">
<button class="panel-btn" id="panel-mode" title="Rohtext / gerendert">MD</button>
<button class="panel-btn" id="panel-copy" title="In die Zwischenablage">Kopieren</button>
<button class="panel-btn" id="panel-archive" title="In den Archiv-Ordner speichern">Archivieren</button>
<button class="panel-btn" id="panel-dock" title="Wieder andocken">Andocken</button>
</div>
</div>
<div id="panel-content" class="md"></div>
<script type="module" src="/src/panel.ts"></script>