Export/import UX polish: search, scroll, sort, null cleanup

Export page:
- Sort files before directories so PROJECT.md appears above tasks/
- Tasks unchecked by default (only agents, projects, skills checked)
- Add inline search input to filter files in the tree
- Checked files sort above unchecked for easier scanning
- Sidebar scrolls independently from content preview pane

Import page:
- Match file-before-dir sort order
- Independent sidebar/content scrolling
- Skip null values in frontmatter preview

Backend:
- Skip null/undefined fields in exported frontmatter (no more
  "owner: null" in PROJECT.md files)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Dotta
2026-03-15 15:54:26 -05:00
parent 2f7da835de
commit cf30ddb924
3 changed files with 112 additions and 32 deletions

View File

@@ -580,8 +580,9 @@ function renderYamlBlock(value: unknown, indentLevel: number): string[] {
function renderFrontmatter(frontmatter: Record<string, unknown>) {
const lines: string[] = ["---"];
for (const [key, value] of orderedYamlEntries(frontmatter)) {
// Skip null/undefined values — don't export empty fields
if (value === null || value === undefined) continue;
const scalar =
value === null ||
typeof value === "string" ||
typeof value === "boolean" ||
typeof value === "number" ||