diff --git a/cmd/verstak-gui/bindings_capture.go b/cmd/verstak-gui/bindings_capture.go index 2cb2e50..8df03c6 100644 --- a/cmd/verstak-gui/bindings_capture.go +++ b/cmd/verstak-gui/bindings_capture.go @@ -1,7 +1,9 @@ package main import ( + "encoding/base64" "fmt" + "mime" "os" "path/filepath" "strings" @@ -11,6 +13,7 @@ import ( "verstak/internal/core/files" "verstak/internal/core/nodes" syncsvc "verstak/internal/core/sync" + "verstak/internal/core/templates" "verstak/internal/core/util" ) @@ -44,6 +47,134 @@ func (a *App) CaptureURL(rawURL, title string) (*InboxNodeDTO, error) { return a.createCaptureNote(title, content, "url", "clipboard") } +func (a *App) CapturePath(sourcePath string) (*InboxNodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } + sourcePath = strings.TrimSpace(sourcePath) + if sourcePath == "" { + return nil, fmt.Errorf("path required") + } + absPath, err := filepath.Abs(sourcePath) + if err != nil { + return nil, fmt.Errorf("abs path: %w", err) + } + info, err := os.Stat(absPath) + if err != nil { + return nil, fmt.Errorf("stat: %w", err) + } + + nodeType := nodes.TypeFile + kind := captureKindForFilename(absPath) + if info.IsDir() { + nodeType = nodes.TypeFolder + kind = "folder" + } + node, err := a.nodes.Create(nil, nodeType, filepath.Base(absPath), 0, "", "") + if err != nil { + return nil, fmt.Errorf("create capture node: %w", err) + } + stagingRel, _, err := a.captureStagingDir(node) + if err != nil { + return nil, err + } + + if info.IsDir() { + if err := a.nodes.UpdateFsPath(node.ID, stagingRel); err != nil { + return nil, fmt.Errorf("set capture folder path: %w", err) + } + entries, err := os.ReadDir(absPath) + if err != nil { + return nil, fmt.Errorf("read source dir: %w", err) + } + for _, entry := range entries { + if _, err := a.files.AddPathCopy(node.ID, filepath.Join(absPath, entry.Name())); err != nil { + return nil, fmt.Errorf("copy capture child %s: %w", entry.Name(), err) + } + } + } else { + if _, err := a.files.CopyIntoVault(node.ID, absPath, stagingRel); err != nil { + return nil, fmt.Errorf("copy capture file: %w", err) + } + } + + if err := a.setCaptureMeta(node.ID, kind, "drop"); err != nil { + return nil, err + } + target := activity.TargetFile + evType := activity.TypeFileAdded + entity := syncsvc.EntityFile + if info.IsDir() { + target = activity.TargetFolder + evType = activity.TypeFolderAdded + entity = syncsvc.EntityFolder + } + _ = a.activity.Record("", target, node.ID, "", evType, node.Title, `{"capture":true}`) + _ = a.sync.RecordOp(entity, node.ID, syncsvc.OpCreate, a.filePayload(node)) + return a.inboxNodeDTO(node) +} + +func (a *App) CaptureFileData(filename, dataBase64 string) (*InboxNodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } + filename = filepath.Base(strings.TrimSpace(filename)) + if filename == "." || filename == "" { + filename = "clipboard.bin" + } + if err := files.ValidateName(filename); err != nil { + return nil, err + } + if comma := strings.Index(dataBase64, ","); comma >= 0 { + dataBase64 = dataBase64[comma+1:] + } + data, err := base64.StdEncoding.DecodeString(strings.TrimSpace(dataBase64)) + if err != nil { + return nil, fmt.Errorf("decode file data: %w", err) + } + if len(data) == 0 { + return nil, fmt.Errorf("file data required") + } + + node, err := a.nodes.Create(nil, nodes.TypeFile, filename, 0, "", "") + if err != nil { + return nil, fmt.Errorf("create capture file node: %w", err) + } + stagingRel, stagingAbs, err := a.captureStagingDir(node) + if err != nil { + return nil, err + } + absPath := filepath.Join(stagingAbs, filename) + if err := os.WriteFile(absPath, data, 0o640); err != nil { + return nil, fmt.Errorf("write capture data: %w", err) + } + relPath := filepath.Join(stagingRel, filename) + fileRec := &files.Record{ + ID: util.UUID7(), + NodeID: node.ID, + Filename: filename, + Path: relPath, + StorageMode: "vault", + Size: int64(len(data)), + MIME: mimeForFilename(filename), + CreatedAt: time.Now().UTC(), + UpdatedAt: time.Now().UTC(), + } + if _, err := a.db.Exec( + `INSERT INTO files (id,node_id,filename,path,storage_mode,size,mime,created_at,updated_at,missing) + VALUES (?,?,?,?,?,?,?,?,?,0)`, + fileRec.ID, fileRec.NodeID, fileRec.Filename, fileRec.Path, fileRec.StorageMode, + fileRec.Size, fileRec.MIME, fileRec.CreatedAt.Format(time.RFC3339), fileRec.UpdatedAt.Format(time.RFC3339)); err != nil { + return nil, fmt.Errorf("insert capture file data: %w", err) + } + if err := a.setCaptureMeta(node.ID, captureKindForFilename(filename), "clipboard"); err != nil { + return nil, err + } + _ = a.activity.Record("", activity.TargetFile, node.ID, "", activity.TypeFileAdded, filename, `{"capture":true}`) + _ = a.sync.RecordOp(syncsvc.EntityFile, node.ID, syncsvc.OpCreate, a.filePayload(node)) + return a.inboxNodeDTO(node) +} + func (a *App) createCaptureNote(title, content, kind, source string) (*InboxNodeDTO, error) { node, err := a.nodes.Create(nil, nodes.TypeNote, title, 0, "", "") if err != nil { @@ -82,16 +213,7 @@ func (a *App) createCaptureNote(title, content, kind, source string) (*InboxNode if _, err := a.db.Exec(`INSERT INTO notes (node_id, file_id, format) VALUES (?,?,?)`, node.ID, fileRec.ID, "markdown"); err != nil { return nil, fmt.Errorf("insert capture note: %w", err) } - if err := a.nodes.MetaSet(node.ID, "capture.inbox", "true"); err != nil { - return nil, err - } - if err := a.nodes.MetaSet(node.ID, "capture.kind", kind); err != nil { - return nil, err - } - if err := a.nodes.MetaSet(node.ID, "capture.source", source); err != nil { - return nil, err - } - if err := a.nodes.MetaSet(node.ID, "capture.created_at", now.Format(time.RFC3339)); err != nil { + if err := a.setCaptureMeta(node.ID, kind, source); err != nil { return nil, err } @@ -101,6 +223,29 @@ func (a *App) createCaptureNote(title, content, kind, source string) (*InboxNode return a.inboxNodeDTO(node) } +func (a *App) captureStagingDir(node *nodes.Node) (string, string, error) { + segment := node.ID + "_" + templates.SafeDisplayNameToPathSegment(node.Title) + rel := filepath.Join(".verstak", "inbox", segment) + abs := filepath.Join(a.vault, rel) + if err := os.MkdirAll(abs, 0o750); err != nil { + return "", "", fmt.Errorf("create inbox staging dir: %w", err) + } + return rel, abs, nil +} + +func (a *App) setCaptureMeta(nodeID, kind, source string) error { + if err := a.nodes.MetaSet(nodeID, "capture.inbox", "true"); err != nil { + return err + } + if err := a.nodes.MetaSet(nodeID, "capture.kind", kind); err != nil { + return err + } + if err := a.nodes.MetaSet(nodeID, "capture.source", source); err != nil { + return err + } + return a.nodes.MetaSet(nodeID, "capture.created_at", time.Now().UTC().Format(time.RFC3339)) +} + func (a *App) inboxNodeDTO(n *nodes.Node) (*InboxNodeDTO, error) { dto := &InboxNodeDTO{NodeDTO: toNodeDTO(n)} if kind, ok, err := a.nodes.MetaGet(n.ID, "capture.kind"); err == nil && ok { @@ -112,6 +257,34 @@ func (a *App) inboxNodeDTO(n *nodes.Node) (*InboxNodeDTO, error) { return dto, nil } +func captureKindForFilename(filename string) string { + if strings.HasPrefix(mimeForFilename(filename), "image/") { + return "image" + } + return "file" +} + +func mimeForFilename(filename string) string { + ext := strings.ToLower(filepath.Ext(filename)) + switch ext { + case ".png": + return "image/png" + case ".jpg", ".jpeg": + return "image/jpeg" + case ".gif": + return "image/gif" + case ".webp": + return "image/webp" + } + if mimeType := mime.TypeByExtension(ext); mimeType != "" { + if semi := strings.Index(mimeType, ";"); semi >= 0 { + return mimeType[:semi] + } + return mimeType + } + return "application/octet-stream" +} + func firstLineTitle(text, fallback string) string { for _, line := range strings.Split(text, "\n") { line = strings.TrimSpace(line) diff --git a/cmd/verstak-gui/capture_test.go b/cmd/verstak-gui/capture_test.go index ef73e8c..9e55376 100644 --- a/cmd/verstak-gui/capture_test.go +++ b/cmd/verstak-gui/capture_test.go @@ -1,6 +1,9 @@ package main import ( + "encoding/base64" + "os" + "path/filepath" "strings" "testing" ) @@ -74,3 +77,87 @@ func TestCaptureURLCreatesInboxArtifact(t *testing.T) { t.Fatalf("captured URL missing: %q", content) } } + +func TestCapturePathCopiesFileIntoInbox(t *testing.T) { + app, vaultRoot := setupTestApp(t) + sourceDir := t.TempDir() + source := filepath.Join(sourceDir, "brief.pdf") + if err := os.WriteFile(source, []byte("pdf content"), 0o640); err != nil { + t.Fatalf("write source: %v", err) + } + + dto, err := app.CapturePath(source) + if err != nil { + t.Fatalf("CapturePath: %v", err) + } + if dto.CaptureKind != "file" { + t.Fatalf("CaptureKind = %q, want file", dto.CaptureKind) + } + + records, err := app.files.ListByNode(dto.ID) + if err != nil { + t.Fatalf("ListByNode: %v", err) + } + if len(records) != 1 { + t.Fatalf("records = %d, want 1", len(records)) + } + if !strings.HasPrefix(records[0].Path, ".verstak/inbox/") { + t.Fatalf("path = %q, want .verstak/inbox prefix", records[0].Path) + } + if _, err := os.Stat(filepath.Join(vaultRoot, records[0].Path)); err != nil { + t.Fatalf("captured file missing in vault: %v", err) + } +} + +func TestCapturePathCopiesDirectoryIntoInbox(t *testing.T) { + app, _ := setupTestApp(t) + source := t.TempDir() + if err := os.MkdirAll(filepath.Join(source, "nested"), 0o750); err != nil { + t.Fatalf("mkdir nested: %v", err) + } + if err := os.WriteFile(filepath.Join(source, "nested", "note.txt"), []byte("nested"), 0o640); err != nil { + t.Fatalf("write nested file: %v", err) + } + + dto, err := app.CapturePath(source) + if err != nil { + t.Fatalf("CapturePath: %v", err) + } + if dto.CaptureKind != "folder" { + t.Fatalf("CaptureKind = %q, want folder", dto.CaptureKind) + } + + items, err := app.ListItems(dto.ID) + if err != nil { + t.Fatalf("ListItems: %v", err) + } + var foundNested bool + for _, item := range items { + if item.Name == "nested" && item.Type == "folder" { + foundNested = true + } + } + if !foundNested { + t.Fatalf("captured folder children missing: %+v", items) + } +} + +func TestCaptureFileDataCreatesImageInboxArtifact(t *testing.T) { + app, _ := setupTestApp(t) + data := base64.StdEncoding.EncodeToString([]byte("fake image bytes")) + + dto, err := app.CaptureFileData("pasted.png", data) + if err != nil { + t.Fatalf("CaptureFileData: %v", err) + } + if dto.CaptureKind != "image" { + t.Fatalf("CaptureKind = %q, want image", dto.CaptureKind) + } + records, err := app.files.ListByNode(dto.ID) + if err != nil { + t.Fatalf("ListByNode: %v", err) + } + if len(records) != 1 || records[0].MIME != "image/png" { + t.Fatalf("records = %+v, want one png image", records) + } +} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BE1Aa3xO.css b/cmd/verstak-gui/frontend-dist/assets/main-BE1Aa3xO.css deleted file mode 100644 index 586896c..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-BE1Aa3xO.css +++ /dev/null @@ -1 +0,0 @@ -.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-1uolm3f{width:200px;min-width:200px;border-right:1px solid var(--border, #2a2a3e);padding:.75rem 0;overflow-y:auto;background:var(--surface, #1e1e2e)}.settings-nav-item.svelte-1uolm3f{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem 1rem;border:none;background:transparent;color:var(--text-dim, #888);font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;font-family:inherit}.settings-nav-item.svelte-1uolm3f:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-1uolm3f{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-1uolm3f{opacity:.4;cursor:default}.settings-nav-icon.svelte-1uolm3f{width:1.4rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-nav-label.svelte-1uolm3f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section.svelte-1e2uhdh.svelte-1e2uhdh{padding:1.5rem;max-width:560px}.settings-section.svelte-1e2uhdh h2.svelte-1e2uhdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1e2uhdh.svelte-1e2uhdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1e2uhdh.svelte-1e2uhdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.card-title.svelte-1e2uhdh.svelte-1e2uhdh{font-size:.9rem;font-weight:600;color:var(--text, #e0e0e0);margin:0 0 .75rem}.form-group.svelte-1e2uhdh.svelte-1e2uhdh{margin-bottom:0}.label-text.svelte-1e2uhdh.svelte-1e2uhdh{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.3rem}.settings-actions.svelte-1e2uhdh.svelte-1e2uhdh{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.save-notice.svelte-1e2uhdh.svelte-1e2uhdh{padding:.4rem .75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.settings-section.svelte-1zbky3.svelte-1zbky3{padding:1.5rem;max-width:600px}.settings-section.svelte-1zbky3 h2.svelte-1zbky3{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1zbky3.svelte-1zbky3{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1zbky3.svelte-1zbky3{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.info-row.svelte-1zbky3.svelte-1zbky3{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1zbky3.svelte-1zbky3:last-child{border-bottom:none}.info-label.svelte-1zbky3.svelte-1zbky3{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1zbky3.svelte-1zbky3{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1zbky3.svelte-1zbky3{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1zbky3.svelte-1zbky3{font-size:.8rem}.workspace-actions.svelte-1zbky3.svelte-1zbky3{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.btn.svelte-1zbky3.svelte-1zbky3{padding:.45rem .8rem;border:1px solid var(--border, #2a2a3e);border-radius:6px;background:var(--surface-light, #232338);color:var(--text, #e0e0e0);font-size:.85rem;cursor:pointer}.btn.svelte-1zbky3.svelte-1zbky3:hover{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59)}.no-data.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-style:italic;margin:0}.settings-section.svelte-ksamnw.svelte-ksamnw{padding:1.5rem;max-width:560px}.settings-section.svelte-ksamnw h2.svelte-ksamnw{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.loading.svelte-ksamnw.svelte-ksamnw,.no-data.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-style:italic}.template-list.svelte-ksamnw.svelte-ksamnw{display:flex;flex-direction:column;gap:.5rem}.template-item.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;border:1px solid var(--border, #2a2a3e)}.template-info.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.5rem}.template-name.svelte-ksamnw.svelte-ksamnw{color:var(--text, #e0e0e0);font-size:.9rem}.template-type.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.8rem}.toggle-label.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.4rem;cursor:pointer}.toggle-text.svelte-ksamnw.svelte-ksamnw{font-size:.8rem;color:var(--text-dim, #888)}input[type=checkbox].svelte-ksamnw.svelte-ksamnw{accent-color:var(--accent, #818cf8)}.settings-section.svelte-8jch95.svelte-8jch95{padding:1.5rem;max-width:500px}.settings-section.svelte-8jch95 h2.svelte-8jch95{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-8jch95.svelte-8jch95{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1rem}.settings-section.svelte-1fx1e1e.svelte-1fx1e1e{padding:1.5rem;max-width:600px}.settings-section.svelte-1fx1e1e h2.svelte-1fx1e1e{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e:last-child{border-bottom:none}.info-label.svelte-1fx1e1e.svelte-1fx1e1e{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1fx1e1e.svelte-1fx1e1e{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.status-ok.svelte-1fx1e1e.svelte-1fx1e1e{color:#34d399;font-weight:600}.status-err.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.sync-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1fx1e1e.svelte-1fx1e1e{margin-bottom:0}.interval-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1fx1e1e input.svelte-1fx1e1e{width:100px}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e{margin-bottom:1rem}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1fx1e1e.svelte-1fx1e1e{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1fx1e1e.svelte-1fx1e1e{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1fx1e1e.svelte-1fx1e1e{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.result-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.result-msg.warning.svelte-1fx1e1e.svelte-1fx1e1e{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.modal-overlay.svelte-1fx1e1e.svelte-1fx1e1e{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.modal.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%;cursor:default}.modal.svelte-1fx1e1e h3.svelte-1fx1e1e{margin:0 0 .75rem}.modal-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;justify-content:flex-end}.settings-section.svelte-19bo7bn.svelte-19bo7bn{padding:1.5rem;max-width:500px}.settings-section.svelte-19bo7bn h2.svelte-19bo7bn{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-19bo7bn.svelte-19bo7bn{color:var(--text-dim, #888);font-size:.85rem}.settings-overlay.svelte-zf2zsc.svelte-zf2zsc{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.settings-window.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:85vh;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.settings-header.svelte-zf2zsc.svelte-zf2zsc{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #2a2a3e);flex-shrink:0}.settings-header.svelte-zf2zsc h2.svelte-zf2zsc{margin:0;font-size:1.1rem;color:var(--text, #e0e0e0)}.close-btn.svelte-zf2zsc.svelte-zf2zsc{background:transparent;border:none;color:var(--text-dim, #888);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.close-btn.svelte-zf2zsc.svelte-zf2zsc:hover{color:var(--text, #e0e0e0);background:var(--surface-alt, #252538)}.settings-body.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex:1;overflow:hidden}.settings-content.svelte-zf2zsc.svelte-zf2zsc{flex:1;overflow-y:auto;background:var(--bg, #13131f)}.sync-status-widget.svelte-1rxbx0{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-1rxbx0{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-1rxbx0{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-1rxbx0{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-1rxbx0{background:#f59e0b}.dot-disabled.svelte-1rxbx0{background:#555}.dot-syncing.svelte-1rxbx0{background:#818cf8;animation:svelte-1rxbx0-pulse 1s infinite}@keyframes svelte-1rxbx0-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-1rxbx0{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-1rxbx0{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-1rxbx0{display:flex;gap:.3rem;margin-left:auto}.sync-message.svelte-1rxbx0{margin-top:.25rem;color:var(--text-dim, #888);line-height:1.25}.sync-message-warning.svelte-1rxbx0{color:#f59e0b}.btn-xs.svelte-1rxbx0{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--border, #2a2a3e);background:var(--surface-alt, #252538);color:var(--text-dim, #888);border-radius:4px;cursor:pointer;white-space:nowrap}.btn-xs.svelte-1rxbx0:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-1rxbx0:disabled{opacity:.5;cursor:default}.btn-link.svelte-1rxbx0{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-1rxbx0:hover{color:#a5b4fc;background:transparent}.svelte-11f6xyi.svelte-11f6xyi,.svelte-11f6xyi.svelte-11f6xyi:before,.svelte-11f6xyi.svelte-11f6xyi:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-11f6xyi.svelte-11f6xyi{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-11f6xyi.svelte-11f6xyi{width:260px;min-width:200px;height:100vh;display:flex;flex-direction:column;background:#1a1a28;border-right:1px solid #2a2a3c;flex-shrink:0;overflow:hidden}.sidebar-brand.svelte-11f6xyi.svelte-11f6xyi{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-11f6xyi.svelte-11f6xyi{font-size:20px;line-height:1}.brand-name.svelte-11f6xyi.svelte-11f6xyi{font-size:16px;font-weight:600}.sidebar-nav.svelte-11f6xyi.svelte-11f6xyi{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:16px}.nav-label.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-11f6xyi.svelte-11f6xyi{display:block;width:100%;padding:8px 20px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:0;font-family:inherit}.nav-item.svelte-11f6xyi.svelte-11f6xyi:hover{background:#223}.nav-item.selected.svelte-11f6xyi.svelte-11f6xyi{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-11f6xyi.svelte-11f6xyi{min-height:32px}.workspace-tree-area.drop-valid.svelte-11f6xyi.svelte-11f6xyi{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-11f6xyi.svelte-11f6xyi{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.nav-add-btn.svelte-11f6xyi.svelte-11f6xyi{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-11f6xyi.svelte-11f6xyi:hover{color:#ccc}.context-menu-backdrop.svelte-11f6xyi.svelte-11f6xyi{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-11f6xyi.svelte-11f6xyi{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.context-menu-section.svelte-11f6xyi.svelte-11f6xyi{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-11f6xyi.svelte-11f6xyi{display:flex;width:100%;padding:6px 12px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit;align-items:center;gap:6px}.context-menu-item.svelte-11f6xyi.svelte-11f6xyi:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-11f6xyi.svelte-11f6xyi{color:#ff6b6b}.context-menu-item.danger.svelte-11f6xyi.svelte-11f6xyi:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-11f6xyi.svelte-11f6xyi{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-11f6xyi.svelte-11f6xyi{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;justify-content:space-between}.version.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;text-align:center}.main.svelte-11f6xyi.svelte-11f6xyi{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-11f6xyi.svelte-11f6xyi{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-11f6xyi.svelte-11f6xyi{background:transparent;border:none;border-radius:6px;padding:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#666;font-family:inherit;width:32px;height:32px}.sidebar-settings-btn.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-11f6xyi.svelte-11f6xyi:active{background:#252545;color:#818cf8}.crumb.svelte-11f6xyi.svelte-11f6xyi{font-size:14px;font-weight:500}.crumb.placeholder.svelte-11f6xyi.svelte-11f6xyi{color:#666}.crumb-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-11f6xyi.svelte-11f6xyi{background:#3a2222;color:#f88;padding:8px 24px;font-size:12px;border-bottom:1px solid #4a2222;flex-shrink:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dismiss-btn.svelte-11f6xyi.svelte-11f6xyi{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-11f6xyi.svelte-11f6xyi:hover{color:#f44}.tabs.svelte-11f6xyi.svelte-11f6xyi{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-11f6xyi.svelte-11f6xyi{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-11f6xyi.svelte-11f6xyi:hover{color:#a5b4fc}.tab.active.svelte-11f6xyi.svelte-11f6xyi{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-11f6xyi.svelte-11f6xyi{flex:1;overflow-y:auto}.note-editor.svelte-11f6xyi.svelte-11f6xyi{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-11f6xyi.svelte-11f6xyi{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-11f6xyi.svelte-11f6xyi{font-size:16px;font-weight:500}.dirty-mark.svelte-11f6xyi.svelte-11f6xyi{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-11f6xyi.svelte-11f6xyi{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-11f6xyi.svelte-11f6xyi{flex:1;width:100%;border:none;outline:none;background:#13131f;color:#e4e4ef;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;padding:24px;resize:none}.overview.svelte-11f6xyi.svelte-11f6xyi{padding:24px}.overview.svelte-11f6xyi h2.svelte-11f6xyi{font-size:24px;margin-bottom:16px}.meta-grid.svelte-11f6xyi.svelte-11f6xyi{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-11f6xyi.svelte-11f6xyi{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-11f6xyi.svelte-11f6xyi{padding:10px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.qa-btn.svelte-11f6xyi.svelte-11f6xyi:hover{background:#223}.qa-btn.svelte-11f6xyi.svelte-11f6xyi:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:24px}.recent-section.svelte-11f6xyi h3.svelte-11f6xyi{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-11f6xyi.svelte-11f6xyi{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1a1a28}.recent-date.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555}.recent-entry.svelte-11f6xyi.svelte-11f6xyi{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-11f6xyi.svelte-11f6xyi{padding:24px}.tab-toolbar.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:16px}.create-form.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-11f6xyi input.svelte-11f6xyi{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:8px}.create-form.svelte-11f6xyi input.svelte-11f6xyi:focus{outline:none;border-color:#6366f1}.form-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px}.notes-list.svelte-11f6xyi.svelte-11f6xyi{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-11f6xyi.svelte-11f6xyi:hover{border-color:#3a3a5c}.note-card-title.svelte-11f6xyi.svelte-11f6xyi{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555}.worklog-tab.svelte-11f6xyi.svelte-11f6xyi{padding:24px}.worklog-toolbar.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:16px}.worklog-entry.svelte-11f6xyi.svelte-11f6xyi{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-11f6xyi.svelte-11f6xyi{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-11f6xyi.svelte-11f6xyi{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-11f6xyi.svelte-11f6xyi{border-color:#3a3a5c}.suggestion-detail.svelte-11f6xyi.svelte-11f6xyi{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-11f6xyi.svelte-11f6xyi{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-11f6xyi.svelte-11f6xyi:last-child{margin-bottom:0}.suggestion-info.svelte-11f6xyi.svelte-11f6xyi{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-11f6xyi.svelte-11f6xyi{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-11f6xyi.svelte-11f6xyi:hover{text-decoration:underline}.suggestion-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-11f6xyi.svelte-11f6xyi{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-11f6xyi.svelte-11f6xyi{color:#fbbf24}.suggestion-confidence.medium.svelte-11f6xyi.svelte-11f6xyi{color:#60a5fa}.suggestion-confidence.high.svelte-11f6xyi.svelte-11f6xyi{color:#34d399}.inbox-screen.svelte-11f6xyi.svelte-11f6xyi{padding:24px;overflow-y:auto;flex:1}.inbox-header.svelte-11f6xyi.svelte-11f6xyi{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.inbox-header.svelte-11f6xyi h2.svelte-11f6xyi{margin:0 0 6px}.inbox-header.svelte-11f6xyi p.svelte-11f6xyi{margin:0;color:#a0a0b8;font-size:13px}.inbox-header-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.inbox-capture-status.svelte-11f6xyi.svelte-11f6xyi{color:#8ee6b1;font-size:12px}.inbox-list.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:8px}.inbox-item.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;cursor:pointer}.inbox-item.svelte-11f6xyi.svelte-11f6xyi:hover{border-color:#3a3a5c;background:#1e1e32}.inbox-item-main.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-item-title.svelte-11f6xyi.svelte-11f6xyi{color:#e4e4ef;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-item-meta.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0;font-size:12px}.inbox-item-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;flex-shrink:0}.trash-screen.svelte-11f6xyi.svelte-11f6xyi{padding:24px;overflow-y:auto;flex:1}.trash-header.svelte-11f6xyi.svelte-11f6xyi{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.trash-header.svelte-11f6xyi h2.svelte-11f6xyi{margin:0 0 6px}.trash-header.svelte-11f6xyi p.svelte-11f6xyi{margin:0;color:#8888a0;font-size:12px}.trash-grid.svelte-11f6xyi.svelte-11f6xyi{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.trash-section.svelte-11f6xyi.svelte-11f6xyi{min-width:0}.trash-section.svelte-11f6xyi h3.svelte-11f6xyi{margin:0 0 10px;font-size:13px;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px}.trash-row.svelte-11f6xyi.svelte-11f6xyi{padding:10px 12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;margin-bottom:8px}.trash-row-main.svelte-11f6xyi.svelte-11f6xyi{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.trash-row-title.svelte-11f6xyi.svelte-11f6xyi{min-width:0;color:#e4e4ef;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-meta.svelte-11f6xyi.svelte-11f6xyi{flex-shrink:0;color:#8888a0;font-size:12px}.trash-row-path.svelte-11f6xyi.svelte-11f6xyi{display:block;margin-top:4px;color:#707088;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-empty-line.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0;font-size:13px;margin:0}.journal-screen.svelte-11f6xyi.svelte-11f6xyi{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:24px}.journal-header.svelte-11f6xyi h2.svelte-11f6xyi{margin:0 0 16px}.journal-summary.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-11f6xyi.svelte-11f6xyi{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:200px}.summary-label.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-11f6xyi span.svelte-11f6xyi:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0}.journal-table-wrap.svelte-11f6xyi.svelte-11f6xyi{overflow-x:auto}.journal-table.svelte-11f6xyi.svelte-11f6xyi{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-11f6xyi th.svelte-11f6xyi{text-align:left;padding:8px 12px;border-bottom:2px solid #2a2a3c;color:#b0b0c8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.journal-table.svelte-11f6xyi td.svelte-11f6xyi{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-11f6xyi tr:hover td.svelte-11f6xyi{background:#1e1e32}.journal-table.svelte-11f6xyi .link-btn.svelte-11f6xyi{color:#a5b4fc}.journal-path-cell.svelte-11f6xyi.svelte-11f6xyi{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-11f6xyi.svelte-11f6xyi{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-11f6xyi.svelte-11f6xyi{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-11f6xyi.svelte-11f6xyi{text-align:center;color:#a0a0b8}.journal-row.svelte-11f6xyi.svelte-11f6xyi{cursor:pointer}.journal-row.svelte-11f6xyi:hover td.svelte-11f6xyi{background:#1e1e32}.journal-row.expanded.svelte-11f6xyi td.svelte-11f6xyi{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-11f6xyi.svelte-11f6xyi{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-11f6xyi td.svelte-11f6xyi{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;justify-content:flex-end}.journal-detail-section.svelte-11f6xyi.svelte-11f6xyi{font-size:13px}.journal-detail-label.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-11f6xyi p.svelte-11f6xyi{margin:0;color:#c0c0d0}.journal-event-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-11f6xyi.svelte-11f6xyi{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-11f6xyi input[type=text].svelte-11f6xyi{padding:6px 10px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;width:240px}.journal-search-dropdown.svelte-11f6xyi.svelte-11f6xyi{position:absolute;top:100%;left:0;right:0;z-index:50;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;min-width:260px}.journal-search-item.svelte-11f6xyi.svelte-11f6xyi{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#e4e4ef;cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.journal-search-item.svelte-11f6xyi.svelte-11f6xyi:hover{background:#2a2a4a}.journal-search-title.svelte-11f6xyi.svelte-11f6xyi{display:block;font-weight:500}.journal-search-path.svelte-11f6xyi.svelte-11f6xyi{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-11f6xyi.svelte-11f6xyi{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e3a;border:1px solid #3a3a5c;border-radius:4px;font-size:13px;color:#a5b4fc;white-space:nowrap;font-family:inherit}.journal-selected-node.svelte-11f6xyi.svelte-11f6xyi:hover{background:#2a2a4a}.journal-node-clear.svelte-11f6xyi.svelte-11f6xyi{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-11f6xyi.svelte-11f6xyi{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:24px}.link-btn.svelte-11f6xyi.svelte-11f6xyi{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-11f6xyi.svelte-11f6xyi:hover{text-decoration:underline}.nav-badge.svelte-11f6xyi.svelte-11f6xyi{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4}.actions-tab.svelte-11f6xyi.svelte-11f6xyi{padding:24px}.action-card.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.action-info.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-11f6xyi.svelte-11f6xyi{font-weight:500}.action-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.action-btns.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-11f6xyi .btn-danger.svelte-11f6xyi{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-11f6xyi .btn-danger.svelte-11f6xyi:hover{background:#3a2222}.empty-state.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-11f6xyi p.svelte-11f6xyi{margin:0;font-size:14px;color:#666}.empty-state.svelte-11f6xyi .empty-icon.svelte-11f6xyi{margin-bottom:12px;color:#444}.empty-state.svelte-11f6xyi .hint.svelte-11f6xyi{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-11f6xyi .empty-actions.svelte-11f6xyi{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-11f6xyi.svelte-11f6xyi{padding:48px 24px;text-align:center}.welcome.svelte-11f6xyi h2.svelte-11f6xyi{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-11f6xyi p.svelte-11f6xyi{color:#666;font-size:14px}.error-text.svelte-11f6xyi.svelte-11f6xyi{color:#f88}.modal-overlay.svelte-11f6xyi.svelte-11f6xyi{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-11f6xyi h3.svelte-11f6xyi{font-size:18px;margin-bottom:16px}.modal.svelte-11f6xyi textarea.svelte-11f6xyi{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;min-height:60px;resize:vertical;box-sizing:border-box}.modal-worklog.svelte-11f6xyi.svelte-11f6xyi{width:460px}.form-group.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:12px}.form-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-11f6xyi label.svelte-11f6xyi{display:block}.form-group.svelte-11f6xyi .label-text.svelte-11f6xyi,.form-group.svelte-11f6xyi .form-label.svelte-11f6xyi{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-11f6xyi input.svelte-11f6xyi,.form-group.svelte-11f6xyi select.svelte-11f6xyi{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.form-group.svelte-11f6xyi select.svelte-11f6xyi{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-group.svelte-11f6xyi input.svelte-11f6xyi:focus,.form-group.svelte-11f6xyi select.svelte-11f6xyi:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-11f6xyi.svelte-11f6xyi{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-11f6xyi.svelte-11f6xyi:hover{background:#223}.btn-primary.svelte-11f6xyi.svelte-11f6xyi{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-11f6xyi.svelte-11f6xyi:hover{background:#4f46e5}.btn.svelte-11f6xyi.svelte-11f6xyi:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-11f6xyi.svelte-11f6xyi{padding:4px 10px;font-size:12px}.btn-danger.svelte-11f6xyi.svelte-11f6xyi{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-11f6xyi.svelte-11f6xyi:hover{background:#3a2222}.settings-section select,.settings-section input[type=text],.settings-section input[type=url],.settings-section input[type=number],.settings-section input[type=password]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding:.5rem .75rem;background:#13131f;border:1px solid #2a2a3e;border-radius:6px;color:#e0e0e0;font-size:.9rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.settings-section select{padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.85rem}.settings-section select:hover,.settings-section input:hover{border-color:#3a3a5e}.settings-section select:focus,.settings-section input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.settings-section select:disabled,.settings-section input:disabled{opacity:.45;cursor:not-allowed;border-color:#2a2a3e}.settings-section select option{background:#1e1e2e;color:#e0e0e0}.files-tab.svelte-11f6xyi.svelte-11f6xyi{padding:20px}.files-tab.svelte-11f6xyi .tab-toolbar.svelte-11f6xyi{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column}.back-btn.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:16px}.summary-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-11f6xyi.svelte-11f6xyi{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-11f6xyi.svelte-11f6xyi{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2a2a3c;background:#13131f;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;width:100%;text-align:left}.template-card.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-11f6xyi.svelte-11f6xyi{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-11f6xyi.svelte-11f6xyi{font-weight:500}.template-card-desc.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#888}.today-dashboard.svelte-11f6xyi.svelte-11f6xyi{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-11f6xyi h2.svelte-11f6xyi{font-size:24px}.today-date.svelte-11f6xyi.svelte-11f6xyi{font-size:13px;color:#666}.today-summary.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-11f6xyi.svelte-11f6xyi{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-11f6xyi.svelte-11f6xyi{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-11f6xyi.svelte-11f6xyi{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1e1e30}.today-case-title.svelte-11f6xyi.svelte-11f6xyi{font-weight:500}.today-case-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-11f6xyi.svelte-11f6xyi{padding:8px 16px}.today-event.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-11f6xyi.svelte-11f6xyi:hover{color:#e4e4ef}.today-event-icon.svelte-11f6xyi.svelte-11f6xyi{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-11f6xyi.svelte-11f6xyi{flex:1}.today-event-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#666}.today-event-time.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-11f6xyi.svelte-11f6xyi{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-11f6xyi.svelte-11f6xyi{padding:48px 24px;text-align:center}.today-empty.svelte-11f6xyi p.svelte-11f6xyi{color:#666;font-size:14px;margin:0}.today-empty.svelte-11f6xyi .hint.svelte-11f6xyi{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-11f6xyi.svelte-11f6xyi{margin-top:24px}.today-timeline.svelte-11f6xyi h3.svelte-11f6xyi{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-11f6xyi.svelte-11f6xyi:hover{color:#e4e4ef}.timeline-dot.svelte-11f6xyi.svelte-11f6xyi{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-11f6xyi.svelte-11f6xyi{flex:1}.timeline-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#666}.timeline-time.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555}.activity-tab.svelte-11f6xyi.svelte-11f6xyi{padding:24px}.activity-events.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-11f6xyi.svelte-11f6xyi{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-11f6xyi.svelte-11f6xyi{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:20px}.activity-feed-header.svelte-11f6xyi h2.svelte-11f6xyi{font-size:24px}.activity-feed-events.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-11f6xyi.svelte-11f6xyi:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-11f6xyi.svelte-11f6xyi{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0}.activity-feed-title.svelte-11f6xyi.svelte-11f6xyi{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#666}.activity-feed-target.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;color:#555}.journal-filter-section.svelte-11f6xyi.svelte-11f6xyi{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-11f6xyi label.svelte-11f6xyi{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-11f6xyi input[type=date].svelte-11f6xyi{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-11f6xyi .checkbox-label.svelte-11f6xyi{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-11f6xyi .checkbox-label input.svelte-11f6xyi{width:auto}.journal-export-section.svelte-11f6xyi.svelte-11f6xyi{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-11f6xyi.svelte-11f6xyi{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-11f6xyi.svelte-11f6xyi{color:#6366f1;font-size:12px}.worklog-entry.svelte-11f6xyi.svelte-11f6xyi{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-11f6xyi.svelte-11f6xyi:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-11f6xyi.svelte-11f6xyi{border-color:#6366f1}.worklog-entry-head.svelte-11f6xyi.svelte-11f6xyi{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-11f6xyi.svelte-11f6xyi{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-11f6xyi.svelte-11f6xyi{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-11f6xyi.svelte-11f6xyi{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-11f6xyi.svelte-11f6xyi{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-11f6xyi.svelte-11f6xyi{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.worklog-entry-actions.svelte-11f6xyi.svelte-11f6xyi{display:flex;gap:8px;justify-content:flex-end}.wl-detail-section.svelte-11f6xyi.svelte-11f6xyi{font-size:13px}.wl-detail-label.svelte-11f6xyi.svelte-11f6xyi{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-11f6xyi p.svelte-11f6xyi{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-11f6xyi.svelte-11f6xyi{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-11f6xyi.svelte-11f6xyi{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-11f6xyi input.svelte-11f6xyi{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BgORPqqS.css b/cmd/verstak-gui/frontend-dist/assets/main-BgORPqqS.css new file mode 100644 index 0000000..e2ccbdd --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-BgORPqqS.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-1uolm3f{width:200px;min-width:200px;border-right:1px solid var(--border, #2a2a3e);padding:.75rem 0;overflow-y:auto;background:var(--surface, #1e1e2e)}.settings-nav-item.svelte-1uolm3f{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem 1rem;border:none;background:transparent;color:var(--text-dim, #888);font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;font-family:inherit}.settings-nav-item.svelte-1uolm3f:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-1uolm3f{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-1uolm3f{opacity:.4;cursor:default}.settings-nav-icon.svelte-1uolm3f{width:1.4rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-nav-label.svelte-1uolm3f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section.svelte-1e2uhdh.svelte-1e2uhdh{padding:1.5rem;max-width:560px}.settings-section.svelte-1e2uhdh h2.svelte-1e2uhdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1e2uhdh.svelte-1e2uhdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1e2uhdh.svelte-1e2uhdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.card-title.svelte-1e2uhdh.svelte-1e2uhdh{font-size:.9rem;font-weight:600;color:var(--text, #e0e0e0);margin:0 0 .75rem}.form-group.svelte-1e2uhdh.svelte-1e2uhdh{margin-bottom:0}.label-text.svelte-1e2uhdh.svelte-1e2uhdh{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.3rem}.settings-actions.svelte-1e2uhdh.svelte-1e2uhdh{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.save-notice.svelte-1e2uhdh.svelte-1e2uhdh{padding:.4rem .75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.settings-section.svelte-1zbky3.svelte-1zbky3{padding:1.5rem;max-width:600px}.settings-section.svelte-1zbky3 h2.svelte-1zbky3{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1zbky3.svelte-1zbky3{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1zbky3.svelte-1zbky3{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.info-row.svelte-1zbky3.svelte-1zbky3{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1zbky3.svelte-1zbky3:last-child{border-bottom:none}.info-label.svelte-1zbky3.svelte-1zbky3{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1zbky3.svelte-1zbky3{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1zbky3.svelte-1zbky3{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1zbky3.svelte-1zbky3{font-size:.8rem}.workspace-actions.svelte-1zbky3.svelte-1zbky3{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.btn.svelte-1zbky3.svelte-1zbky3{padding:.45rem .8rem;border:1px solid var(--border, #2a2a3e);border-radius:6px;background:var(--surface-light, #232338);color:var(--text, #e0e0e0);font-size:.85rem;cursor:pointer}.btn.svelte-1zbky3.svelte-1zbky3:hover{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59)}.no-data.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-style:italic;margin:0}.settings-section.svelte-ksamnw.svelte-ksamnw{padding:1.5rem;max-width:560px}.settings-section.svelte-ksamnw h2.svelte-ksamnw{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.loading.svelte-ksamnw.svelte-ksamnw,.no-data.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-style:italic}.template-list.svelte-ksamnw.svelte-ksamnw{display:flex;flex-direction:column;gap:.5rem}.template-item.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;border:1px solid var(--border, #2a2a3e)}.template-info.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.5rem}.template-name.svelte-ksamnw.svelte-ksamnw{color:var(--text, #e0e0e0);font-size:.9rem}.template-type.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.8rem}.toggle-label.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.4rem;cursor:pointer}.toggle-text.svelte-ksamnw.svelte-ksamnw{font-size:.8rem;color:var(--text-dim, #888)}input[type=checkbox].svelte-ksamnw.svelte-ksamnw{accent-color:var(--accent, #818cf8)}.settings-section.svelte-8jch95.svelte-8jch95{padding:1.5rem;max-width:500px}.settings-section.svelte-8jch95 h2.svelte-8jch95{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-8jch95.svelte-8jch95{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1rem}.settings-section.svelte-1fx1e1e.svelte-1fx1e1e{padding:1.5rem;max-width:600px}.settings-section.svelte-1fx1e1e h2.svelte-1fx1e1e{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e:last-child{border-bottom:none}.info-label.svelte-1fx1e1e.svelte-1fx1e1e{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1fx1e1e.svelte-1fx1e1e{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.status-ok.svelte-1fx1e1e.svelte-1fx1e1e{color:#34d399;font-weight:600}.status-err.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.sync-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1fx1e1e.svelte-1fx1e1e{margin-bottom:0}.interval-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1fx1e1e input.svelte-1fx1e1e{width:100px}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e{margin-bottom:1rem}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1fx1e1e.svelte-1fx1e1e{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1fx1e1e.svelte-1fx1e1e{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1fx1e1e.svelte-1fx1e1e{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.result-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.result-msg.warning.svelte-1fx1e1e.svelte-1fx1e1e{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.modal-overlay.svelte-1fx1e1e.svelte-1fx1e1e{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.modal.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%;cursor:default}.modal.svelte-1fx1e1e h3.svelte-1fx1e1e{margin:0 0 .75rem}.modal-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;justify-content:flex-end}.settings-section.svelte-19bo7bn.svelte-19bo7bn{padding:1.5rem;max-width:500px}.settings-section.svelte-19bo7bn h2.svelte-19bo7bn{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-19bo7bn.svelte-19bo7bn{color:var(--text-dim, #888);font-size:.85rem}.settings-overlay.svelte-zf2zsc.svelte-zf2zsc{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.settings-window.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:85vh;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.settings-header.svelte-zf2zsc.svelte-zf2zsc{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #2a2a3e);flex-shrink:0}.settings-header.svelte-zf2zsc h2.svelte-zf2zsc{margin:0;font-size:1.1rem;color:var(--text, #e0e0e0)}.close-btn.svelte-zf2zsc.svelte-zf2zsc{background:transparent;border:none;color:var(--text-dim, #888);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.close-btn.svelte-zf2zsc.svelte-zf2zsc:hover{color:var(--text, #e0e0e0);background:var(--surface-alt, #252538)}.settings-body.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex:1;overflow:hidden}.settings-content.svelte-zf2zsc.svelte-zf2zsc{flex:1;overflow-y:auto;background:var(--bg, #13131f)}.sync-status-widget.svelte-1rxbx0{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-1rxbx0{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-1rxbx0{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-1rxbx0{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-1rxbx0{background:#f59e0b}.dot-disabled.svelte-1rxbx0{background:#555}.dot-syncing.svelte-1rxbx0{background:#818cf8;animation:svelte-1rxbx0-pulse 1s infinite}@keyframes svelte-1rxbx0-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-1rxbx0{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-1rxbx0{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-1rxbx0{display:flex;gap:.3rem;margin-left:auto}.sync-message.svelte-1rxbx0{margin-top:.25rem;color:var(--text-dim, #888);line-height:1.25}.sync-message-warning.svelte-1rxbx0{color:#f59e0b}.btn-xs.svelte-1rxbx0{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--border, #2a2a3e);background:var(--surface-alt, #252538);color:var(--text-dim, #888);border-radius:4px;cursor:pointer;white-space:nowrap}.btn-xs.svelte-1rxbx0:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-1rxbx0:disabled{opacity:.5;cursor:default}.btn-link.svelte-1rxbx0{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-1rxbx0:hover{color:#a5b4fc;background:transparent}.svelte-iu6zme.svelte-iu6zme,.svelte-iu6zme.svelte-iu6zme:before,.svelte-iu6zme.svelte-iu6zme:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-iu6zme.svelte-iu6zme{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-iu6zme.svelte-iu6zme{width:260px;min-width:200px;height:100vh;display:flex;flex-direction:column;background:#1a1a28;border-right:1px solid #2a2a3c;flex-shrink:0;overflow:hidden}.sidebar-brand.svelte-iu6zme.svelte-iu6zme{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-iu6zme.svelte-iu6zme{font-size:20px;line-height:1}.brand-name.svelte-iu6zme.svelte-iu6zme{font-size:16px;font-weight:600}.sidebar-nav.svelte-iu6zme.svelte-iu6zme{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-iu6zme.svelte-iu6zme{margin-bottom:16px}.nav-label.svelte-iu6zme.svelte-iu6zme{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-iu6zme.svelte-iu6zme{display:block;width:100%;padding:8px 20px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:0;font-family:inherit}.nav-item.svelte-iu6zme.svelte-iu6zme:hover{background:#223}.nav-item.selected.svelte-iu6zme.svelte-iu6zme{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-iu6zme.svelte-iu6zme{min-height:32px}.workspace-tree-area.drop-valid.svelte-iu6zme.svelte-iu6zme{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-iu6zme.svelte-iu6zme{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-iu6zme.svelte-iu6zme{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.nav-add-btn.svelte-iu6zme.svelte-iu6zme{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-iu6zme.svelte-iu6zme:hover{color:#ccc}.context-menu-backdrop.svelte-iu6zme.svelte-iu6zme{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-iu6zme.svelte-iu6zme{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.context-menu-section.svelte-iu6zme.svelte-iu6zme{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-iu6zme.svelte-iu6zme{display:flex;width:100%;padding:6px 12px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit;align-items:center;gap:6px}.context-menu-item.svelte-iu6zme.svelte-iu6zme:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-iu6zme.svelte-iu6zme{color:#ff6b6b}.context-menu-item.danger.svelte-iu6zme.svelte-iu6zme:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-iu6zme.svelte-iu6zme{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-iu6zme.svelte-iu6zme{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-iu6zme.svelte-iu6zme{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;justify-content:space-between}.version.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;text-align:center}.main.svelte-iu6zme.svelte-iu6zme{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-iu6zme.svelte-iu6zme{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-iu6zme.svelte-iu6zme{background:transparent;border:none;border-radius:6px;padding:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#666;font-family:inherit;width:32px;height:32px}.sidebar-settings-btn.svelte-iu6zme.svelte-iu6zme:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-iu6zme.svelte-iu6zme:active{background:#252545;color:#818cf8}.crumb.svelte-iu6zme.svelte-iu6zme{font-size:14px;font-weight:500}.crumb.placeholder.svelte-iu6zme.svelte-iu6zme{color:#666}.crumb-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-iu6zme.svelte-iu6zme{background:#3a2222;color:#f88;padding:8px 24px;font-size:12px;border-bottom:1px solid #4a2222;flex-shrink:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dismiss-btn.svelte-iu6zme.svelte-iu6zme{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-iu6zme.svelte-iu6zme:hover{color:#f44}.tabs.svelte-iu6zme.svelte-iu6zme{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-iu6zme.svelte-iu6zme{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-iu6zme.svelte-iu6zme:hover{color:#a5b4fc}.tab.active.svelte-iu6zme.svelte-iu6zme{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-iu6zme.svelte-iu6zme{flex:1;overflow-y:auto}.note-editor.svelte-iu6zme.svelte-iu6zme{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-iu6zme.svelte-iu6zme{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-iu6zme.svelte-iu6zme{font-size:16px;font-weight:500}.dirty-mark.svelte-iu6zme.svelte-iu6zme{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-iu6zme.svelte-iu6zme{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-iu6zme.svelte-iu6zme{flex:1;width:100%;border:none;outline:none;background:#13131f;color:#e4e4ef;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;padding:24px;resize:none}.overview.svelte-iu6zme.svelte-iu6zme{padding:24px}.overview.svelte-iu6zme h2.svelte-iu6zme{font-size:24px;margin-bottom:16px}.meta-grid.svelte-iu6zme.svelte-iu6zme{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-iu6zme.svelte-iu6zme{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-iu6zme.svelte-iu6zme{padding:10px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.qa-btn.svelte-iu6zme.svelte-iu6zme:hover{background:#223}.qa-btn.svelte-iu6zme.svelte-iu6zme:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-iu6zme.svelte-iu6zme{margin-bottom:24px}.recent-section.svelte-iu6zme h3.svelte-iu6zme{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-iu6zme.svelte-iu6zme{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-iu6zme.svelte-iu6zme:hover{background:#1a1a28}.recent-date.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555}.recent-entry.svelte-iu6zme.svelte-iu6zme{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-iu6zme.svelte-iu6zme{padding:24px}.tab-toolbar.svelte-iu6zme.svelte-iu6zme{margin-bottom:16px}.create-form.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-iu6zme input.svelte-iu6zme{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:8px}.create-form.svelte-iu6zme input.svelte-iu6zme:focus{outline:none;border-color:#6366f1}.form-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px}.notes-list.svelte-iu6zme.svelte-iu6zme{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-iu6zme.svelte-iu6zme:hover{border-color:#3a3a5c}.note-card-title.svelte-iu6zme.svelte-iu6zme{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555}.worklog-tab.svelte-iu6zme.svelte-iu6zme{padding:24px}.worklog-toolbar.svelte-iu6zme.svelte-iu6zme{margin-bottom:16px}.worklog-entry.svelte-iu6zme.svelte-iu6zme{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-iu6zme.svelte-iu6zme{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-iu6zme.svelte-iu6zme{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-iu6zme.svelte-iu6zme{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-iu6zme.svelte-iu6zme{border-color:#3a3a5c}.suggestion-detail.svelte-iu6zme.svelte-iu6zme{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-iu6zme.svelte-iu6zme{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-iu6zme.svelte-iu6zme{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-iu6zme.svelte-iu6zme{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-iu6zme.svelte-iu6zme:last-child{margin-bottom:0}.suggestion-info.svelte-iu6zme.svelte-iu6zme{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-iu6zme.svelte-iu6zme{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-iu6zme.svelte-iu6zme:hover{text-decoration:underline}.suggestion-actions.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-iu6zme.svelte-iu6zme{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-iu6zme.svelte-iu6zme{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-iu6zme.svelte-iu6zme{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-iu6zme.svelte-iu6zme{color:#fbbf24}.suggestion-confidence.medium.svelte-iu6zme.svelte-iu6zme{color:#60a5fa}.suggestion-confidence.high.svelte-iu6zme.svelte-iu6zme{color:#34d399}.inbox-screen.svelte-iu6zme.svelte-iu6zme{padding:24px;overflow-y:auto;flex:1}.inbox-screen.drop-valid.svelte-iu6zme.svelte-iu6zme{outline:2px dashed #4ade80;outline-offset:-4px;background:#4ade800a}.inbox-header.svelte-iu6zme.svelte-iu6zme{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.inbox-header.svelte-iu6zme h2.svelte-iu6zme{margin:0 0 6px}.inbox-header.svelte-iu6zme p.svelte-iu6zme{margin:0;color:#a0a0b8;font-size:13px}.inbox-header-actions.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.inbox-capture-status.svelte-iu6zme.svelte-iu6zme{color:#8ee6b1;font-size:12px}.inbox-list.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:8px}.inbox-item.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;cursor:pointer}.inbox-item.svelte-iu6zme.svelte-iu6zme:hover{border-color:#3a3a5c;background:#1e1e32}.inbox-item-main.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-item-title.svelte-iu6zme.svelte-iu6zme{color:#e4e4ef;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-item-meta.svelte-iu6zme.svelte-iu6zme{color:#8888a0;font-size:12px}.inbox-item-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;flex-shrink:0}.trash-screen.svelte-iu6zme.svelte-iu6zme{padding:24px;overflow-y:auto;flex:1}.trash-header.svelte-iu6zme.svelte-iu6zme{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.trash-header.svelte-iu6zme h2.svelte-iu6zme{margin:0 0 6px}.trash-header.svelte-iu6zme p.svelte-iu6zme{margin:0;color:#8888a0;font-size:12px}.trash-grid.svelte-iu6zme.svelte-iu6zme{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.trash-section.svelte-iu6zme.svelte-iu6zme{min-width:0}.trash-section.svelte-iu6zme h3.svelte-iu6zme{margin:0 0 10px;font-size:13px;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px}.trash-row.svelte-iu6zme.svelte-iu6zme{padding:10px 12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;margin-bottom:8px}.trash-row-main.svelte-iu6zme.svelte-iu6zme{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.trash-row-title.svelte-iu6zme.svelte-iu6zme{min-width:0;color:#e4e4ef;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-meta.svelte-iu6zme.svelte-iu6zme{flex-shrink:0;color:#8888a0;font-size:12px}.trash-row-path.svelte-iu6zme.svelte-iu6zme{display:block;margin-top:4px;color:#707088;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-empty-line.svelte-iu6zme.svelte-iu6zme{color:#8888a0;font-size:13px;margin:0}.journal-screen.svelte-iu6zme.svelte-iu6zme{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-iu6zme.svelte-iu6zme{margin-bottom:24px}.journal-header.svelte-iu6zme h2.svelte-iu6zme{margin:0 0 16px}.journal-summary.svelte-iu6zme.svelte-iu6zme{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-iu6zme.svelte-iu6zme{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:200px}.summary-label.svelte-iu6zme.svelte-iu6zme{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-iu6zme span.svelte-iu6zme:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-iu6zme.svelte-iu6zme{color:#8888a0}.journal-table-wrap.svelte-iu6zme.svelte-iu6zme{overflow-x:auto}.journal-table.svelte-iu6zme.svelte-iu6zme{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-iu6zme th.svelte-iu6zme{text-align:left;padding:8px 12px;border-bottom:2px solid #2a2a3c;color:#b0b0c8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.journal-table.svelte-iu6zme td.svelte-iu6zme{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-iu6zme tr:hover td.svelte-iu6zme{background:#1e1e32}.journal-table.svelte-iu6zme .link-btn.svelte-iu6zme{color:#a5b4fc}.journal-path-cell.svelte-iu6zme.svelte-iu6zme{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-iu6zme.svelte-iu6zme{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-iu6zme.svelte-iu6zme{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-iu6zme.svelte-iu6zme{text-align:center;color:#a0a0b8}.journal-row.svelte-iu6zme.svelte-iu6zme{cursor:pointer}.journal-row.svelte-iu6zme:hover td.svelte-iu6zme{background:#1e1e32}.journal-row.expanded.svelte-iu6zme td.svelte-iu6zme{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-iu6zme.svelte-iu6zme{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-iu6zme td.svelte-iu6zme{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;justify-content:flex-end}.journal-detail-section.svelte-iu6zme.svelte-iu6zme{font-size:13px}.journal-detail-label.svelte-iu6zme.svelte-iu6zme{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-iu6zme p.svelte-iu6zme{margin:0;color:#c0c0d0}.journal-event-row.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-iu6zme.svelte-iu6zme{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-iu6zme.svelte-iu6zme{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-iu6zme input[type=text].svelte-iu6zme{padding:6px 10px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;width:240px}.journal-search-dropdown.svelte-iu6zme.svelte-iu6zme{position:absolute;top:100%;left:0;right:0;z-index:50;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;min-width:260px}.journal-search-item.svelte-iu6zme.svelte-iu6zme{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#e4e4ef;cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.journal-search-item.svelte-iu6zme.svelte-iu6zme:hover{background:#2a2a4a}.journal-search-title.svelte-iu6zme.svelte-iu6zme{display:block;font-weight:500}.journal-search-path.svelte-iu6zme.svelte-iu6zme{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-iu6zme.svelte-iu6zme{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e3a;border:1px solid #3a3a5c;border-radius:4px;font-size:13px;color:#a5b4fc;white-space:nowrap;font-family:inherit}.journal-selected-node.svelte-iu6zme.svelte-iu6zme:hover{background:#2a2a4a}.journal-node-clear.svelte-iu6zme.svelte-iu6zme{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-iu6zme.svelte-iu6zme{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-iu6zme.svelte-iu6zme{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-iu6zme.svelte-iu6zme{margin-bottom:24px}.link-btn.svelte-iu6zme.svelte-iu6zme{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-iu6zme.svelte-iu6zme:hover{text-decoration:underline}.nav-badge.svelte-iu6zme.svelte-iu6zme{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4}.actions-tab.svelte-iu6zme.svelte-iu6zme{padding:24px}.action-card.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.action-info.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-iu6zme.svelte-iu6zme{font-weight:500}.action-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.action-btns.svelte-iu6zme.svelte-iu6zme{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-iu6zme .btn-danger.svelte-iu6zme{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-iu6zme .btn-danger.svelte-iu6zme:hover{background:#3a2222}.empty-state.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-iu6zme p.svelte-iu6zme{margin:0;font-size:14px;color:#666}.empty-state.svelte-iu6zme .empty-icon.svelte-iu6zme{margin-bottom:12px;color:#444}.empty-state.svelte-iu6zme .hint.svelte-iu6zme{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-iu6zme .empty-actions.svelte-iu6zme{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-iu6zme.svelte-iu6zme{padding:48px 24px;text-align:center}.welcome.svelte-iu6zme h2.svelte-iu6zme{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-iu6zme p.svelte-iu6zme{color:#666;font-size:14px}.error-text.svelte-iu6zme.svelte-iu6zme{color:#f88}.modal-overlay.svelte-iu6zme.svelte-iu6zme{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-iu6zme h3.svelte-iu6zme{font-size:18px;margin-bottom:16px}.modal.svelte-iu6zme textarea.svelte-iu6zme{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;min-height:60px;resize:vertical;box-sizing:border-box}.modal-worklog.svelte-iu6zme.svelte-iu6zme{width:460px}.form-group.svelte-iu6zme.svelte-iu6zme{margin-bottom:12px}.form-row.svelte-iu6zme.svelte-iu6zme{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-iu6zme label.svelte-iu6zme{display:block}.form-group.svelte-iu6zme .label-text.svelte-iu6zme,.form-group.svelte-iu6zme .form-label.svelte-iu6zme{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-iu6zme input.svelte-iu6zme,.form-group.svelte-iu6zme select.svelte-iu6zme{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.form-group.svelte-iu6zme select.svelte-iu6zme{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-group.svelte-iu6zme input.svelte-iu6zme:focus,.form-group.svelte-iu6zme select.svelte-iu6zme:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-iu6zme.svelte-iu6zme{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-iu6zme.svelte-iu6zme:hover{background:#223}.btn-primary.svelte-iu6zme.svelte-iu6zme{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-iu6zme.svelte-iu6zme:hover{background:#4f46e5}.btn.svelte-iu6zme.svelte-iu6zme:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-iu6zme.svelte-iu6zme{padding:4px 10px;font-size:12px}.btn-danger.svelte-iu6zme.svelte-iu6zme{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-iu6zme.svelte-iu6zme:hover{background:#3a2222}.settings-section select,.settings-section input[type=text],.settings-section input[type=url],.settings-section input[type=number],.settings-section input[type=password]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding:.5rem .75rem;background:#13131f;border:1px solid #2a2a3e;border-radius:6px;color:#e0e0e0;font-size:.9rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.settings-section select{padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.85rem}.settings-section select:hover,.settings-section input:hover{border-color:#3a3a5e}.settings-section select:focus,.settings-section input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.settings-section select:disabled,.settings-section input:disabled{opacity:.45;cursor:not-allowed;border-color:#2a2a3e}.settings-section select option{background:#1e1e2e;color:#e0e0e0}.files-tab.svelte-iu6zme.svelte-iu6zme{padding:20px}.files-tab.svelte-iu6zme .tab-toolbar.svelte-iu6zme{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column}.back-btn.svelte-iu6zme.svelte-iu6zme{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-iu6zme.svelte-iu6zme{margin-bottom:16px}.summary-row.svelte-iu6zme.svelte-iu6zme{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-iu6zme.svelte-iu6zme{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-iu6zme.svelte-iu6zme{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2a2a3c;background:#13131f;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;width:100%;text-align:left}.template-card.svelte-iu6zme.svelte-iu6zme:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-iu6zme.svelte-iu6zme{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-iu6zme.svelte-iu6zme{font-weight:500}.template-card-desc.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#888}.today-dashboard.svelte-iu6zme.svelte-iu6zme{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-iu6zme h2.svelte-iu6zme{font-size:24px}.today-date.svelte-iu6zme.svelte-iu6zme{font-size:13px;color:#666}.today-summary.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-iu6zme.svelte-iu6zme{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-iu6zme.svelte-iu6zme{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-iu6zme.svelte-iu6zme{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-iu6zme.svelte-iu6zme:hover{background:#1e1e30}.today-case-title.svelte-iu6zme.svelte-iu6zme{font-weight:500}.today-case-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-iu6zme.svelte-iu6zme{padding:8px 16px}.today-event.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-iu6zme.svelte-iu6zme:hover{color:#e4e4ef}.today-event-icon.svelte-iu6zme.svelte-iu6zme{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-iu6zme.svelte-iu6zme{flex:1}.today-event-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#666}.today-event-time.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-iu6zme.svelte-iu6zme{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-iu6zme.svelte-iu6zme{padding:48px 24px;text-align:center}.today-empty.svelte-iu6zme p.svelte-iu6zme{color:#666;font-size:14px;margin:0}.today-empty.svelte-iu6zme .hint.svelte-iu6zme{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-iu6zme.svelte-iu6zme{margin-top:24px}.today-timeline.svelte-iu6zme h3.svelte-iu6zme{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-iu6zme.svelte-iu6zme:hover{color:#e4e4ef}.timeline-dot.svelte-iu6zme.svelte-iu6zme{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-iu6zme.svelte-iu6zme{flex:1}.timeline-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#666}.timeline-time.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555}.activity-tab.svelte-iu6zme.svelte-iu6zme{padding:24px}.activity-events.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-iu6zme.svelte-iu6zme:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-iu6zme.svelte-iu6zme{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-iu6zme.svelte-iu6zme{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-iu6zme.svelte-iu6zme{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-iu6zme.svelte-iu6zme{margin-bottom:20px}.activity-feed-header.svelte-iu6zme h2.svelte-iu6zme{font-size:24px}.activity-feed-events.svelte-iu6zme.svelte-iu6zme{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-iu6zme.svelte-iu6zme:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-iu6zme.svelte-iu6zme{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0}.activity-feed-title.svelte-iu6zme.svelte-iu6zme{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#666}.activity-feed-target.svelte-iu6zme.svelte-iu6zme{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-iu6zme.svelte-iu6zme{font-size:11px;color:#555}.journal-filter-section.svelte-iu6zme.svelte-iu6zme{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-iu6zme.svelte-iu6zme{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-iu6zme.svelte-iu6zme{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-iu6zme label.svelte-iu6zme{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-iu6zme input[type=date].svelte-iu6zme{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-iu6zme .checkbox-label.svelte-iu6zme{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-iu6zme .checkbox-label input.svelte-iu6zme{width:auto}.journal-export-section.svelte-iu6zme.svelte-iu6zme{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-iu6zme.svelte-iu6zme{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-iu6zme.svelte-iu6zme{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-iu6zme.svelte-iu6zme{color:#6366f1;font-size:12px}.worklog-entry.svelte-iu6zme.svelte-iu6zme{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-iu6zme.svelte-iu6zme:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-iu6zme.svelte-iu6zme{border-color:#6366f1}.worklog-entry-head.svelte-iu6zme.svelte-iu6zme{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-iu6zme.svelte-iu6zme{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-iu6zme.svelte-iu6zme{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-iu6zme.svelte-iu6zme{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-iu6zme.svelte-iu6zme{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-iu6zme.svelte-iu6zme{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.worklog-entry-actions.svelte-iu6zme.svelte-iu6zme{display:flex;gap:8px;justify-content:flex-end}.wl-detail-section.svelte-iu6zme.svelte-iu6zme{font-size:13px}.wl-detail-label.svelte-iu6zme.svelte-iu6zme{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-iu6zme p.svelte-iu6zme{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-iu6zme.svelte-iu6zme{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-iu6zme.svelte-iu6zme{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-iu6zme.svelte-iu6zme{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-iu6zme input.svelte-iu6zme{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-D-CBbIRx.js b/cmd/verstak-gui/frontend-dist/assets/main-D-CBbIRx.js new file mode 100644 index 0000000..f7087a8 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-D-CBbIRx.js @@ -0,0 +1,3 @@ +var hu=Object.defineProperty;var gu=(l,e,t)=>e in l?hu(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var Ol=(l,e,t)=>gu(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();function $(){}function Bo(l){return l()}function Pn(){return Object.create(null)}function ve(l){l.forEach(Bo)}function vt(l){return typeof l=="function"}function xe(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let sl;function ul(l,e){return l===e?!0:(sl||(sl=document.createElement("a")),sl.href=e,l===sl.href)}function bu(l){return Object.keys(l).length===0}function Ln(l){return l??""}const Jl=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function C(l,e,t){l.insertBefore(e,t||null)}function z(l){l.parentNode&&l.parentNode.removeChild(l)}function Fe(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function ql(l){return function(e){return e.preventDefault(),l.call(this,e)}}function We(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function pt(l){return function(e){e.target===this&&l.call(this,e)}}function s(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function dl(l){return l===""?null:+l}function ku(l){return Array.from(l.childNodes)}function B(l,e){e=""+e,l.data!==e&&(l.data=e)}function ge(l,e){l.value=e??""}function ut(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function _t(l,e,t){for(let n=0;n{const i=l.$$.callbacks[e];if(i){const o=yu(e,t,{cancelable:n});return i.slice().forEach(r=>{r.call(l,o)}),!o.defaultPrevented}return!0}}function Uo(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Lt=[],Rn=[];let Rt=[];const On=[],wu=Promise.resolve();let Ul=!1;function zu(){Ul||(Ul=!0,wu.then(Ko))}function jt(l){Rt.push(l)}const Vl=new Set;let Ft=0;function Ko(){if(Ft!==0)return;const l=qt;do{try{for(;Ftl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Rt=e}const cl=new Set;let St;function it(){St={r:0,c:[],p:St}}function st(){St.r||ve(St.c),St=St.p}function ae(l,e){l&&l.i&&(cl.delete(l),l.i(e))}function me(l,e,t,n){if(l&&l.o){if(cl.has(l))return;cl.add(l),St.c.push(()=>{cl.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function ce(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Go(l,e){me(l,1,1,()=>{e.delete(l.key)})}function Jo(l,e,t,n,i,o,r,u,c,d,v,_){let h=l.length,b=o.length,k=h;const y={};for(;k--;)y[l[k].key]=k;const w=[],j=new Map,S=new Map,D=[];for(k=b;k--;){const N=_(i,o,k),L=t(N);let W=r.get(L);W?D.push(()=>W.p(N,e)):(W=d(L,N),W.c()),j.set(L,w[k]=W),L in y&&S.set(L,Math.abs(k-y[L]))}const T=new Set,E=new Set;function I(N){ae(N,1),N.m(u,v),r.set(N.key,N),v=N.first,b--}for(;h&&b;){const N=w[b-1],L=l[h-1],W=N.key,V=L.key;N===L?(v=N.first,h--,b--):j.has(V)?!r.has(W)||T.has(W)?I(N):E.has(V)?h--:S.get(W)>S.get(V)?(E.add(W),I(N)):(T.add(V),h--):(c(L,r),h--)}for(;h--;){const N=l[h];j.has(N.key)||c(N,r)}for(;b;)I(w[b-1]);return ve(D),w}function Je(l){l&&l.c()}function Ke(l,e,t){const{fragment:n,after_update:i}=l.$$;n&&n.m(e,t),jt(()=>{const o=l.$$.on_mount.map(Bo).filter(vt);l.$$.on_destroy?l.$$.on_destroy.push(...o):ve(o),l.$$.on_mount=[]}),i.forEach(jt)}function Ge(l,e){const t=l.$$;t.fragment!==null&&(Su(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function ju(l,e){l.$$.dirty[0]===-1&&(Lt.push(l),zu(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const k=b.length?b[0]:h;return d.ctx&&i(d.ctx[_],d.ctx[_]=k)&&(!d.skip_bound&&d.bound[_]&&d.bound[_](k),v&&ju(l,_)),h}):[],d.update(),v=!0,ve(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const _=ku(e.target);d.fragment&&d.fragment.l(_),_.forEach(z)}else d.fragment&&d.fragment.c();e.intro&&ae(l.$$.fragment),Ke(l,e.target,e.anchor),Ko()}Jt(c)}class et{constructor(){Ol(this,"$$");Ol(this,"$$set")}$destroy(){Ge(this,1),this.$destroy=$}$on(e,t){if(!vt(t))return $;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!bu(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Tu="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Tu);function Eu(l){let e,t;return{c(){e=Q("path"),t=Q("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Du(l){let e,t,n,i,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),o=Q("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17"),s(o,"points","10 9 9 9 8 9")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,i,u),C(r,o,u)},d(r){r&&(z(e),z(t),z(n),z(i),z(o))}}}function Nu(l){let e,t;return{c(){e=Q("polyline"),t=Q("polyline"),s(e,"points","16 18 22 12 16 6"),s(t,"points","8 6 2 12 8 18")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Mu(l){let e,t,n,i;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("rect"),s(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),s(t,"points","7 3 12 8 17 3"),s(n,"x1","3"),s(n,"y1","8"),s(n,"x2","21"),s(n,"y2","8"),s(i,"x","10"),s(i,"y","12"),s(i,"width","4"),s(i,"height","4"),s(i,"rx","1")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function Iu(l){let e,t,n,i,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),o=Q("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","9"),s(n,"y1","12"),s(n,"x2","15"),s(n,"y2","12"),s(i,"x1","9"),s(i,"y1","15"),s(i,"x2","13"),s(i,"y2","15"),s(o,"x1","12"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","18")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,i,u),C(r,o,u)},d(r){r&&(z(e),z(t),z(n),z(i),z(o))}}}function Au(l){let e,t,n,i,o,r;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),o=Q("line"),r=Q("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14"),s(r,"x1","12"),s(r,"y1","12"),s(r,"x2","12"),s(r,"y2","18")},m(u,c){C(u,e,c),C(u,t,c),C(u,n,c),C(u,i,c),C(u,o,c),C(u,r,c)},d(u){u&&(z(e),z(t),z(n),z(i),z(o),z(r))}}}function Fu(l){let e,t,n,i;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function Pu(l){let e,t,n,i,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),o=Q("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,i,u),C(r,o,u)},d(r){r&&(z(e),z(t),z(n),z(i),z(o))}}}function Lu(l){let e,t,n;return{c(){e=Q("path"),t=Q("circle"),n=Q("circle"),s(e,"d","M9 18V5l12-2v13"),s(t,"cx","6"),s(t,"cy","18"),s(t,"r","3"),s(n,"cx","18"),s(n,"cy","16"),s(n,"r","3")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(z(e),z(t),z(n))}}}function Ru(l){let e,t;return{c(){e=Q("rect"),t=Q("polyline"),s(e,"x","2"),s(e,"y","4"),s(e,"width","20"),s(e,"height","16"),s(e,"rx","2"),s(t,"points","10 9 16 12 10 15 10 9")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Ou(l){let e,t,n;return{c(){e=Q("rect"),t=Q("circle"),n=Q("polyline"),s(e,"x","3"),s(e,"y","3"),s(e,"width","18"),s(e,"height","18"),s(e,"rx","2"),s(e,"ry","2"),s(t,"cx","8.5"),s(t,"cy","8.5"),s(t,"r","1.5"),s(n,"points","21 15 16 10 5 21")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(z(e),z(t),z(n))}}}function Vu(l){let e;return{c(){e=Q("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Wu(l){let e;function t(o,r){return o[0]==="folder"?Vu:o[0]==="image"?Ou:o[0]==="video"?Ru:o[0]==="audio"?Lu:o[0]==="pdf"?Pu:o[0]==="document"?Fu:o[0]==="spreadsheet"?Au:o[0]==="presentation"?Iu:o[0]==="archive"?Mu:o[0]==="code"?Nu:o[0]==="text"?Du:Eu}let n=t(l),i=n(l);return{c(){e=Q("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,r){C(o,e,r),i.m(e,null)},p(o,[r]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),r&2&&s(e,"width",o[1]),r&2&&s(e,"height",o[1])},i:$,o:$,d(o){o&&z(e),i.d()}}}function Bu(l,e,t){let{kind:n="generic"}=e,{size:i=20}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class qo extends et{constructor(e){super(),$e(this,e,Bu,Wu,xe,{kind:0,size:1})}}const Hu={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.trash":"Корзина","nav.activity":"Активность","nav.journal":"Журнал","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","inbox.subtitle":"Захваченные материалы, которые нужно разложить по делам","inbox.empty":"Неразобранных элементов нет","inbox.pasteClipboard":"Вставить из буфера","inbox.captured":"Добавлено","inbox.clipboardEmpty":"Буфер обмена пуст","inbox.clipboardUnavailable":"Буфер обмена недоступен","capture.kind.text":"Текст","capture.kind.url":"Ссылка","capture.kind.file":"Файл","capture.kind.folder":"Папка","capture.kind.image":"Изображение","capture.source.clipboard":"Буфер обмена","capture.source.drop":"Перетаскивание","capture.source.browser":"Браузер","capture.source.manual":"Вручную","trash.openFolder":"Открыть папку корзины","trash.empty":"Корзина пуста","trash.deletedNodes":"Удаленные элементы","trash.physicalEntries":"Файлы в .verstak/trash","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.backLabel":"Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.acceptSuggestion":"Принять предложение","worklog.editEntry":"Редактировать запись","worklog.deleteEntry":"Удалить запись","worklog.deleteConfirm":"Удалить эту запись работы? Связанные события останутся в активности, но связь с записью будет удалена.","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","error.vaultNotOpen":"Хранилище не открыто","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","settings.title":"Настройки","settings.general":"Общие","settings.generalDesc":"Основные настройки интерфейса.","settings.workspace":"Рабочее пространство","settings.workspaceDesc":"Управление хранилищем данных.","settings.appearance":"Внешний вид","settings.localization":"Локализация","settings.templates":"Шаблоны","settings.plugins":"Плагины","settings.files":"Файлы","settings.activity":"Активность","settings.sync":"Синхронизация","settings.backup":"Резервные копии","settings.close":"Закрыть настройки","settings.noPlugins":"Плагины пока не установлены.","settings.openPluginsDir":"Открыть папку plugins","settings.activityStub":"Здесь будут настройки отслеживания активности.","settings.backupStub":"Здесь будут настройки резервного копирования.","settings.theme":"Тема интерфейса","settings.themeSystem":"Системная","settings.themeLight":"Светлая","settings.themeDark":"Тёмная","settings.language":"Язык интерфейса","settings.langRu":"Русский","settings.langEn":"Английский","settings.langSoon":"будет доступно позже","settings.save":"Сохранить настройки","settings.saved":"Настройки сохранены","settings.vaultPath":"Путь к рабочему пространству","settings.noVaultInfo":"Нет информации о хранилище.","settings.vaultInfo":"Информация о рабочем пространстве","settings.openVault":"Открыть папку vault","settings.changeVault":"Изменить путь","settings.checkIntegrity":"Проверить целостность","settings.templatesDesc":"Включите или выключите шаблоны создания элементов.","settings.templateEnabled":"Включён","settings.templateDisabled":"Выключен","settings.filesStub":"Здесь будут настройки файлового хранилища.","settings.syncEnabled":"Синхронизация включена","settings.syncDisabled":"Синхронизация отключена","settings.syncDesc":"Настройте подключение к серверу синхронизации.","settings.serverUrl":"URL сервера","settings.deviceName":"Имя устройства","settings.deviceId":"ID устройства","settings.lastSync":"Последняя синхронизация","settings.lastError":"Последняя ошибка","settings.pendingChanges":"Ожидающие изменения","settings.checkConnection":"Проверить подключение","settings.syncNow":"Синхронизировать сейчас","settings.reconnect":"Переподключить","settings.disconnect":"Отключить устройство","settings.resetKey":"Сбросить ключ","settings.confirmDisconnect":"Вы уверены, что хотите отключить устройство?","settings.confirmDisconnectDesc":"Синхронизация будет остановлена. Для повторного подключения потребуется логин и пароль.","settings.confirmResetKey":"Сбросить ключ синхронизации?","settings.confirmResetKeyDesc":"Текущий ключ устройства будет удалён. Потребуется переподключение.","settings.connected":"Подключено","settings.disconnected":"Не подключено","settings.notConfigured":"Не настроено","settings.error":"Ошибка","settings.revoked":"Отозвано","settings.status":"Статус","firstrun.title":"Добро пожаловать в Верстак","firstrun.desc":"Верстак хранит данные в локальном рабочем пространстве — vault.","firstrun.pathLabel":"Путь к vault","firstrun.defaultPath":"Путь по умолчанию","firstrun.browse":"Выбрать папку","firstrun.create":"Создать рабочее пространство","firstrun.quit":"Выйти","firstrun.pathExists":"Папка существует. Будет создан новый vault.","firstrun.pathHasVault":"Найден существующий vault. Будет подключён.","firstrun.pathNew":"Путь не существует. Будет создан новый vault.","firstrun.errorNoWrite":"Нет прав на запись в выбранную папку.","firstrun.creating":"Создание рабочего пространства...","firstrun.created":"Рабочее пространство создано!","recovery.title":"Рабочее пространство не найдено","recovery.expected":"Ожидался путь","recovery.choose":"Выбрать другой vault","recovery.create":"Создать новый vault","recovery.settings":"Открыть настройки","recovery.quit":"Выйти","recovery.createConfirm":"Будет создано новое пустое рабочее пространство. Старый путь в настройках будет заменён.","recovery.createConfirmTitle":"Создать новое рабочее пространство?","sync.status.connected":"Синхронизация доступна","sync.status.disconnected":"Сервер недоступен","sync.status.disabled":"Синхронизация не настроена","sync.status.syncing":"Синхронизация...","sync.status.error":"Ошибка синхронизации","sync.changes":"изменений","sync.details":"Подробнее","sync.configure":"Настроить","sync.retry":"Повторить","sync.run":"Синхронизировать","sync.running":"Синхронизация...","sync.conflictsCount":"Конфликты: {count}","sync.applyErrorsCount":"Ошибки применения: {count}","sync.pushedPulled":"Отправлено: {pushed}, получено: {pulled}","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},Uu={"nav.today":"Today","nav.inbox":"Inbox","nav.trash":"Trash","nav.activity":"Activity","nav.journal":"Journal","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.sync":"Sync","nav.syncSettings":"Sync settings","nav.syncNow":"Sync now","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","inbox.subtitle":"Captured materials that still need to be assigned to cases","inbox.empty":"No unprocessed items","inbox.pasteClipboard":"Paste from clipboard","inbox.captured":"Added","inbox.clipboardEmpty":"Clipboard is empty","inbox.clipboardUnavailable":"Clipboard is unavailable","capture.kind.text":"Text","capture.kind.url":"Link","capture.kind.file":"File","capture.kind.folder":"Folder","capture.kind.image":"Image","capture.source.clipboard":"Clipboard","capture.source.drop":"Drop","capture.source.browser":"Browser","capture.source.manual":"Manual","trash.openFolder":"Open trash folder","trash.empty":"Trash is empty","trash.deletedNodes":"Deleted items","trash.physicalEntries":"Files in .verstak/trash","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.backLabel":"Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.copy":"Copy","common.cut":"Cut","common.paste":"Paste","common.duplicate":"Duplicate","common.run":"Run","common.test":"Test","common.all":"All","common.open":"Open","common.no":"No","common.date":"Date","common.search":"Search","common.testAgain":"Check","common.connect":"Connect","common.disconnect":"Disconnect","common.settings":"Settings","common.name":"Name","common.type":"Type","common.section":"Section","common.created":"Created","common.empty":"None","common.newName":"New name","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.createCase":"Or create a new case with the + button.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.folderAdded":"Folder added","event.folderDeleted":"Folder deleted","event.folderRenamed":"Folder renamed","event.caseCreated":"Case created","event.caseUpdated":"Case updated","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","action.addAction":"+ Add action","action.newAction":"New action","action.noActions":"No actions yet","action.run":"Run","action.dataUrl":"URL","action.dataPath":"Path","action.dataCommand":"Command","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"command","action.namePlaceholder":"Example: Open website","note.add":"+ Add note","note.new":"New note","note.title":"Note title","note.noNotes":"No notes","note.createFirst":"Create the first note for this case.","note.placeholder":"Start writing...","note.unsavedTitle":"Unsaved changes","note.unsavedMessage":"Close the editor? All unsaved changes will be lost.","note.unsavedClose":"Close","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.newFile":"+ New file","file.addFileSimple":"Add file","file.addFolderSimple":"Add folder","file.noFiles":"No files in this folder yet","file.noFilesCase":"No files in this project yet","file.hint":"Add a file or folder to store project materials.","file.root":"Files","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.more":"More","file.delete":"Delete","file.ariaFolder":"Folder","file.ariaFile":"File","file.scanning":"Scanning...","file.pickSingle":"Select file","file.pickMultiple":"Select files","file.pickDirectory":"Select folder","file.importTitle":"Add to","file.importFiles":"Files:","file.importFolders":"Folders:","file.importSize":"Size:","file.importCopy":"Copy","file.importLink":"Link","file.selectCaseFirst":"Select a case before adding files","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","worklog.acceptSuggestion":"Accept suggestion","worklog.editEntry":"Edit entry","worklog.deleteEntry":"Delete entry","worklog.deleteConfirm":"Delete this work entry? Related events stay in activity, but their link to this entry will be removed.","worklog.date":"Date","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"From suggestion","worklog.sourceSuggestionNoEvents":"From suggestion, but related events missing","worklog.sourceManual":"Manual entry","worklog.sourceUnknown":"Unknown source","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.deviceId":"Device ID","sync.unpushed":"Unpushed","sync.lastSync":"Last sync","sync.revoked":"Revoked","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","sync.serverUrl":"Server URL","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Username","sync.usernamePlaceholder":"username","sync.password":"Password","sync.passwordPlaceholder":"password","sync.interval":"Auto sync (min)","sync.saveInterval":"Save interval","sync.syncNow":"Sync now","sync.disconnect":"Disconnect","sync.connect":"Connect","sync.test":"Check","sync.settingsSaved":"interval saved","today.title":"Today","today.changedCases":"Changed today","today.timeline":"Timeline for today","today.empty":"Nothing happened today yet","today.emptyHint":"Cases, notes, files, and actions you worked with today will appear here.","today.plural.case_one":"case","today.plural.case_few":"cases","today.plural.case_many":"cases","today.plural.note_one":"note","today.plural.note_few":"notes","today.plural.note_many":"notes","today.plural.file_one":"file","today.plural.file_few":"files","today.plural.file_many":"files","today.plural.event_one":"event","today.plural.event_few":"events","today.plural.event_many":"events","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected","activity.title":"Activity","activity.empty":"No activity recorded yet","activity.perCaseEmpty":"No activity recorded yet","overview.type":"Type","overview.section":"Section","overview.created":"Created","overview.newNote":"New note","overview.addFile":"Add file","overview.addAction":"Add action","overview.logTime":"Log time","overview.recentNotes":"Recent notes","overview.recentEntries":"Recent entries","rename.title":"Rename","rename.emptyError":"Name cannot be empty","rename.invalidError":"Invalid name","delete.confirmTitle":"Delete","delete.confirmMessage":"Delete","delete.folder":"folder","delete.file":"file","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","mime.jpeg":"JPEG image","mime.png":"PNG image","mime.gif":"GIF image","mime.webp":"WebP image","mime.svg":"SVG image","mime.bmp":"BMP image","mime.tiff":"TIFF image","mime.avif":"AVIF image","mime.pdf":"PDF document","mime.word":"Word document","mime.excel":"Excel spreadsheet","mime.ppt":"PowerPoint presentation","mime.zip":"ZIP archive","mime.gzip":"GZIP archive","mime.tar":"TAR archive","mime.sevenz":"7z archive","mime.rar":"RAR archive","mime.text":"Text file","mime.html":"HTML file","mime.css":"CSS file","mime.js":"JavaScript file","mime.json":"JSON file","mime.xml":"XML file","mime.yaml":"YAML file","mime.binary":"Binary file","mime.executable":"Executable file","mime.folder":"Folder","mime.unknown":"Unknown","mime.file":"File","error.nameEmpty":"Name cannot be empty","error.nameInvalid":"Invalid name","error.selectCaseFirst":"Select a case first","error.vaultNotOpen":"Vault not open","delete.files":"files ({count})","file.namePrompt":"Enter file name:","file.pdfUnavailable":"PDF preview is unavailable.","file.previewUnavailable":"Preview is unavailable for this file type.","case.new":"New case","case.namePlaceholder":"Case name","settings.title":"Settings","settings.general":"General","settings.generalDesc":"Basic interface settings.","settings.workspace":"Workspace","settings.workspaceDesc":"Manage data storage.","settings.appearance":"Appearance","settings.localization":"Localization","settings.templates":"Templates","settings.plugins":"Plugins","settings.files":"Files","settings.activity":"Activity","settings.sync":"Sync","settings.backup":"Backups","settings.close":"Close settings","settings.noPlugins":"No plugins installed yet.","settings.openPluginsDir":"Open plugins folder","settings.activityStub":"Activity tracking settings will be here.","settings.backupStub":"Backup settings will be here.","settings.theme":"Interface theme","settings.themeSystem":"System","settings.themeLight":"Light","settings.themeDark":"Dark","settings.language":"Interface language","settings.langRu":"Russian","settings.langEn":"English","settings.langSoon":"coming soon","settings.save":"Save settings","settings.saved":"Settings saved","settings.vaultPath":"Workspace path","settings.noVaultInfo":"No workspace information.","settings.vaultInfo":"Workspace information","settings.openVault":"Open vault folder","settings.changeVault":"Change path","settings.checkIntegrity":"Check integrity","settings.templatesDesc":"Enable or disable templates for creating items.","settings.templateEnabled":"Enabled","settings.templateDisabled":"Disabled","settings.filesStub":"File storage settings will be here.","settings.syncEnabled":"Sync enabled","settings.syncDisabled":"Sync disabled","settings.syncDesc":"Configure connection to the sync server.","settings.serverUrl":"Server URL","settings.deviceName":"Device name","settings.deviceId":"Device ID","settings.lastSync":"Last sync","settings.lastError":"Last error","settings.pendingChanges":"Pending changes","settings.checkConnection":"Check connection","settings.syncNow":"Sync now","settings.reconnect":"Reconnect","settings.disconnect":"Disconnect device","settings.resetKey":"Reset key","settings.confirmDisconnect":"Are you sure you want to disconnect this device?","settings.confirmDisconnectDesc":"Sync will stop. Reconnecting will require username and password.","settings.confirmResetKey":"Reset sync key?","settings.confirmResetKeyDesc":"The current device key will be removed. Reconnection will be required.","settings.connected":"Connected","settings.disconnected":"Disconnected","settings.notConfigured":"Not configured","settings.error":"Error","settings.revoked":"Revoked","settings.status":"Status","firstrun.title":"Welcome to Verstak","firstrun.desc":"Verstak stores data in a local workspace called a vault.","firstrun.pathLabel":"Vault path","firstrun.defaultPath":"Default path","firstrun.browse":"Choose folder","firstrun.create":"Create workspace","firstrun.quit":"Quit","firstrun.pathExists":"The folder exists. A new vault will be created.","firstrun.pathHasVault":"Existing vault found. It will be connected.","firstrun.pathNew":"The path does not exist. A new vault will be created.","firstrun.errorNoWrite":"No write permission for the selected folder.","firstrun.creating":"Creating workspace...","firstrun.created":"Workspace created!","recovery.title":"Workspace not found","recovery.expected":"Expected path","recovery.choose":"Choose another vault","recovery.create":"Create new vault","recovery.settings":"Open settings","recovery.quit":"Quit","recovery.createConfirm":"A new empty workspace will be created. The old path in settings will be replaced.","recovery.createConfirmTitle":"Create a new workspace?","sync.status.connected":"Sync available","sync.status.disconnected":"Server unavailable","sync.status.disabled":"Sync is not configured","sync.status.syncing":"Syncing...","sync.status.error":"Sync error","sync.changes":"changes","sync.details":"Details","sync.configure":"Configure","sync.retry":"Retry","sync.run":"Sync","sync.running":"Syncing...","sync.conflictsCount":"Conflicts: {count}","sync.applyErrorsCount":"Apply errors: {count}","sync.pushedPulled":"Pushed: {pushed}, pulled: {pulled}","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","error.accountBlocked":"Account blocked","error.emailNotConfirmed":"Email not confirmed","error.tokenInvalid":"Invalid or expired token","error.tokenExpired":"Token expired"},Vn={ru:Hu,en:Uu};let Wn="ru";function p(l,e){var i;const t=Vn[Wn];let n=t==null?void 0:t[l];if(n==null&&Wn!=="ru"&&(n=(i=Vn.ru)==null?void 0:i[l]),n==null&&(n=l),e!=null)for(const[o,r]of Object.entries(e))n=n.replace(`{${o}}`,String(r));return n}function fl(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const Kl={"image/jpeg":p("mime.jpeg"),"image/png":p("mime.png"),"image/gif":p("mime.gif"),"image/webp":p("mime.webp"),"image/svg+xml":p("mime.svg"),"image/bmp":p("mime.bmp"),"image/tiff":p("mime.tiff"),"image/avif":p("mime.avif"),"application/pdf":p("mime.pdf"),"application/msword":p("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":p("mime.word"),"application/vnd.ms-excel":p("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":p("mime.excel"),"application/vnd.ms-powerpoint":p("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":p("mime.ppt"),"application/zip":p("mime.zip"),"application/gzip":p("mime.gzip"),"application/x-tar":p("mime.tar"),"application/x-7z-compressed":p("mime.sevenz"),"application/x-rar-compressed":p("mime.rar"),"text/plain":p("mime.text"),"text/html":p("mime.html"),"text/css":p("mime.css"),"text/javascript":p("mime.js"),"application/json":p("mime.json"),"application/xml":p("mime.xml"),"application/x-yaml":p("mime.yaml"),"application/octet-stream":p("mime.binary"),"application/x-msdos-program":p("mime.executable"),"inode/directory":p("mime.folder")};function Bn(l){return l?Kl[l]||l:p("mime.unknown")}function Ku(l){if(l.type==="folder")return p("mime.folder");const e=(l.mime||"").toLowerCase();if(Kl[e])return Kl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():p("mime.file")}function Yo(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const Qo=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Xo=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Zo=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],xo=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function Gu(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(Qo.includes(e)||xo.includes(n)||e.includes("pdf")||Xo.includes(e)||Zo.includes(n))}function $o(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Qo.includes(e)||xo.includes(n)}function er(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Xo.includes(e)||Zo.includes(n)&&n!=="md"&&n!=="markdown"}function tr(l){return(l.mime||"").toLowerCase().includes("pdf")}function lr(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function Ju(l){return $o(l)||tr(l)}function qu(l){return er(l)||lr(l)}const{window:Yu}=Jl;function Qu(l){let e,t,n,i=fl(l[0].size)+"",o;return{c(){e=f("span"),e.textContent="·",t=g(),n=f("span"),o=A(i),s(e,"class","meta-sep svelte-1skuef2")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),a(n,o)},p(r,u){u[0]&1&&i!==(i=fl(r[0].size)+"")&&B(o,i)},d(r){r&&(z(e),z(t),z(n))}}}function Xu(l){let e,t,n,i,o;return{c(){e=f("button"),e.innerHTML='',t=g(),n=f("button"),n.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.openFolder")),s(e,"aria-label",p("file.openFolder")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.showInExplorer")),s(n,"aria-label",p("file.showInExplorer"))},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),i||(o=[M(e,"click",We(l[30])),M(n,"click",We(l[11]))],i=!0)},p:$,d(r){r&&(z(e),z(t),z(n)),i=!1,ve(o)}}}function Zu(l){let e,t,n,i,o,r,u;return{c(){e=f("button"),e.innerHTML='',t=g(),n=f("button"),n.innerHTML='',i=g(),o=f("button"),o.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.preview")),s(e,"aria-label",p("file.preview")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.openExternal")),s(n,"aria-label",p("file.openExternal")),s(o,"class","action-btn svelte-1skuef2"),s(o,"title",p("file.showInExplorer")),s(o,"aria-label",p("file.showInExplorer"))},m(c,d){C(c,e,d),C(c,t,d),C(c,n,d),C(c,i,d),C(c,o,d),r||(u=[M(e,"click",We(l[29])),M(n,"click",We(l[10])),M(o,"click",We(l[11]))],r=!0)},p:$,d(c){c&&(z(e),z(t),z(n),z(i),z(o)),r=!1,ve(u)}}}function Hn(l){let e,t,n,i,o,r,u,c,d=p("common.open")+"",v,_,h,b,k,y,w,j,S=p("file.openExternal")+"",D,T,E,I,N,L,W=p("file.showInExplorer")+"",V,G,q,Y,H,U,J,R,K,P=p("common.rename")+"",O,x,re,ee,ie,ne,oe,ue=p("common.duplicate")+"",we,Be,Ae,X,Z,fe,ze,pe,be,qe=p("common.cut")+"",Qe,lt,He,Pe,Me,ke,Oe,Ce=p("common.copy")+"",Ve,ye,Se,Te,je,Ie,Ue,Ee,_e,te=p("common.delete")+"",De,Ye,ct;return{c(){e=f("div"),t=g(),n=f("div"),i=f("button"),o=Q("svg"),r=Q("path"),u=Q("circle"),c=g(),v=A(d),_=g(),h=f("button"),b=Q("svg"),k=Q("path"),y=Q("polyline"),w=Q("line"),j=g(),D=A(S),T=g(),E=f("button"),I=Q("svg"),N=Q("path"),L=g(),V=A(W),G=g(),q=f("div"),Y=g(),H=f("button"),U=Q("svg"),J=Q("path"),R=Q("path"),K=g(),O=A(P),x=g(),re=f("button"),ee=Q("svg"),ie=Q("rect"),ne=Q("path"),oe=g(),we=A(ue),Be=g(),Ae=f("button"),X=Q("svg"),Z=Q("circle"),fe=Q("circle"),ze=Q("line"),pe=Q("line"),be=g(),Qe=A(qe),lt=g(),He=f("button"),Pe=Q("svg"),Me=Q("rect"),ke=Q("path"),Oe=g(),Ve=A(Ce),ye=g(),Se=f("div"),Te=g(),je=f("button"),Ie=Q("svg"),Ue=Q("polyline"),Ee=Q("path"),_e=g(),De=A(te),s(e,"class","menu-backdrop svelte-1skuef2"),s(e,"role","presentation"),s(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),s(u,"cx","12"),s(u,"cy","12"),s(u,"r","3"),s(o,"width","14"),s(o,"height","14"),s(o,"viewBox","0 0 24 24"),s(o,"fill","none"),s(o,"stroke","currentColor"),s(o,"stroke-width","2"),s(o,"stroke-linecap","round"),s(o,"stroke-linejoin","round"),s(i,"class","menu-item svelte-1skuef2"),s(i,"role","menuitem"),s(k,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),s(y,"points","15 3 21 3 21 9"),s(w,"x1","10"),s(w,"y1","14"),s(w,"x2","21"),s(w,"y2","3"),s(b,"width","14"),s(b,"height","14"),s(b,"viewBox","0 0 24 24"),s(b,"fill","none"),s(b,"stroke","currentColor"),s(b,"stroke-width","2"),s(b,"stroke-linecap","round"),s(b,"stroke-linejoin","round"),s(h,"class","menu-item svelte-1skuef2"),s(h,"role","menuitem"),s(N,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),s(I,"width","14"),s(I,"height","14"),s(I,"viewBox","0 0 24 24"),s(I,"fill","none"),s(I,"stroke","currentColor"),s(I,"stroke-width","2"),s(I,"stroke-linecap","round"),s(I,"stroke-linejoin","round"),s(E,"class","menu-item svelte-1skuef2"),s(E,"role","menuitem"),s(q,"class","menu-sep svelte-1skuef2"),s(J,"d","M12 20h9"),s(R,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(U,"width","14"),s(U,"height","14"),s(U,"viewBox","0 0 24 24"),s(U,"fill","none"),s(U,"stroke","currentColor"),s(U,"stroke-width","2"),s(U,"stroke-linecap","round"),s(U,"stroke-linejoin","round"),s(H,"class","menu-item svelte-1skuef2"),s(H,"role","menuitem"),s(ie,"x","9"),s(ie,"y","9"),s(ie,"width","13"),s(ie,"height","13"),s(ie,"rx","2"),s(ie,"ry","2"),s(ne,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(ee,"width","14"),s(ee,"height","14"),s(ee,"viewBox","0 0 24 24"),s(ee,"fill","none"),s(ee,"stroke","currentColor"),s(ee,"stroke-width","2"),s(ee,"stroke-linecap","round"),s(ee,"stroke-linejoin","round"),s(re,"class","menu-item svelte-1skuef2"),s(re,"role","menuitem"),s(Z,"cx","6"),s(Z,"cy","6"),s(Z,"r","3"),s(fe,"cx","6"),s(fe,"cy","18"),s(fe,"r","3"),s(ze,"x1","20"),s(ze,"y1","4"),s(ze,"x2","8.12"),s(ze,"y2","15.88"),s(pe,"x1","8.12"),s(pe,"y1","8.12"),s(pe,"x2","20"),s(pe,"y2","20"),s(X,"width","14"),s(X,"height","14"),s(X,"viewBox","0 0 24 24"),s(X,"fill","none"),s(X,"stroke","currentColor"),s(X,"stroke-width","2"),s(X,"stroke-linecap","round"),s(X,"stroke-linejoin","round"),s(Ae,"class","menu-item svelte-1skuef2"),s(Ae,"role","menuitem"),s(Me,"x","9"),s(Me,"y","9"),s(Me,"width","13"),s(Me,"height","13"),s(Me,"rx","2"),s(Me,"ry","2"),s(ke,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(Pe,"width","14"),s(Pe,"height","14"),s(Pe,"viewBox","0 0 24 24"),s(Pe,"fill","none"),s(Pe,"stroke","currentColor"),s(Pe,"stroke-width","2"),s(Pe,"stroke-linecap","round"),s(Pe,"stroke-linejoin","round"),s(He,"class","menu-item svelte-1skuef2"),s(He,"role","menuitem"),s(Se,"class","menu-sep svelte-1skuef2"),s(Ue,"points","3 6 5 6 21 6"),s(Ee,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),s(Ie,"width","14"),s(Ie,"height","14"),s(Ie,"viewBox","0 0 24 24"),s(Ie,"fill","none"),s(Ie,"stroke","currentColor"),s(Ie,"stroke-width","2"),s(Ie,"stroke-linecap","round"),s(Ie,"stroke-linejoin","round"),s(je,"class","menu-item menu-item-danger svelte-1skuef2"),s(je,"role","menuitem"),s(n,"class","menu svelte-1skuef2"),ut(n,"left",l[3]+"px"),ut(n,"top",l[4]+"px"),ut(n,"position","fixed"),s(n,"role","menu"),s(n,"tabindex","-1")},m(Le,Ne){C(Le,e,Ne),C(Le,t,Ne),C(Le,n,Ne),a(n,i),a(i,o),a(o,r),a(o,u),a(i,c),a(i,v),a(n,_),a(n,h),a(h,b),a(b,k),a(b,y),a(b,w),a(h,j),a(h,D),a(n,T),a(n,E),a(E,I),a(I,N),a(E,L),a(E,V),a(n,G),a(n,q),a(n,Y),a(n,H),a(H,U),a(U,J),a(U,R),a(H,K),a(H,O),a(n,x),a(n,re),a(re,ee),a(ee,ie),a(ee,ne),a(re,oe),a(re,we),a(n,Be),a(n,Ae),a(Ae,X),a(X,Z),a(X,fe),a(X,ze),a(X,pe),a(Ae,be),a(Ae,Qe),a(n,lt),a(n,He),a(He,Pe),a(Pe,Me),a(Pe,ke),a(He,Oe),a(He,Ve),a(n,ye),a(n,Se),a(n,Te),a(n,je),a(je,Ie),a(Ie,Ue),a(Ie,Ee),a(je,_e),a(je,De),Ye||(ct=[M(e,"click",We(l[19])),M(i,"click",l[17]),M(h,"click",l[10]),M(E,"click",l[11]),M(H,"click",l[13]),M(re,"click",l[14]),M(Ae,"click",l[15]),M(He,"click",l[16]),M(je,"click",l[12]),M(n,"click",We(l[28])),M(n,"keydown",l[31])],Ye=!0)},p(Le,Ne){Ne[0]&8&&ut(n,"left",Le[3]+"px"),Ne[0]&16&&ut(n,"top",Le[4]+"px")},d(Le){Le&&(z(e),z(t),z(n)),Ye=!1,ve(ct)}}}function xu(l){let e,t,n,i,o,r,u=l[0].name+"",c,d,v,_,h,b,k,y,w,j,S,D,T,E,I,N,L,W,V,G,q,Y;n=new qo({props:{kind:l[6],size:22}});let H=!l[7]&&Qu(l);function U(P,O){return P[7]?Xu:Zu}let R=U(l)(l),K=l[2]&&Hn(l);return{c(){e=f("div"),t=f("div"),Je(n.$$.fragment),i=g(),o=f("div"),r=f("div"),c=A(u),v=g(),_=f("div"),h=f("span"),h.textContent=`${l[8]}`,b=g(),H&&H.c(),k=g(),y=f("div"),R.c(),w=g(),j=f("button"),S=Q("svg"),D=Q("circle"),T=Q("circle"),E=Q("circle"),I=g(),N=f("button"),N.innerHTML='',W=g(),K&&K.c(),V=ot(),s(t,"class","file-row-icon svelte-1skuef2"),s(r,"class","file-row-name svelte-1skuef2"),s(r,"title",d=l[0].name),s(_,"class","file-row-meta svelte-1skuef2"),s(o,"class","file-row-body svelte-1skuef2"),s(D,"cx","12"),s(D,"cy","5"),s(D,"r","2"),s(T,"cx","12"),s(T,"cy","12"),s(T,"r","2"),s(E,"cx","12"),s(E,"cy","19"),s(E,"r","2"),s(S,"width","16"),s(S,"height","16"),s(S,"viewBox","0 0 24 24"),s(S,"fill","currentColor"),s(j,"class","action-btn svelte-1skuef2"),s(j,"title",p("file.more")),s(j,"aria-label",p("file.more")),s(j,"aria-expanded",l[2]),s(N,"class","action-btn action-btn-danger svelte-1skuef2"),s(N,"title",p("common.delete")),s(N,"aria-label",p("common.delete")),s(y,"class","file-row-actions svelte-1skuef2"),s(e,"class","file-row svelte-1skuef2"),s(e,"role","button"),s(e,"tabindex","0"),s(e,"draggable","true"),s(e,"aria-label",L=l[7]?p("file.ariaFolder")+" "+l[0].name:p("file.ariaFile")+" "+l[0].name),he(e,"file-row--selected",l[1])},m(P,O){C(P,e,O),a(e,t),Ke(n,t,null),a(e,i),a(e,o),a(o,r),a(r,c),a(o,v),a(o,_),a(_,h),a(_,b),H&&H.m(_,null),a(e,k),a(e,y),R.m(y,null),a(y,w),a(y,j),a(j,S),a(S,D),a(S,T),a(S,E),a(y,I),a(y,N),C(P,W,O),K&&K.m(P,O),C(P,V,O),G=!0,q||(Y=[M(Yu,"click",l[19]),M(j,"click",We(l[18])),M(N,"click",We(l[12])),M(e,"click",l[9]),M(e,"keydown",l[24]),M(e,"contextmenu",l[23]),M(e,"dragstart",l[20]),M(e,"dragover",l[21]),M(e,"drop",l[22])],q=!0)},p(P,O){(!G||O[0]&1)&&u!==(u=P[0].name+"")&&B(c,u),(!G||O[0]&1&&d!==(d=P[0].name))&&s(r,"title",d),P[7]||H.p(P,O),R.p(P,O),(!G||O[0]&4)&&s(j,"aria-expanded",P[2]),(!G||O[0]&1&&L!==(L=P[7]?p("file.ariaFolder")+" "+P[0].name:p("file.ariaFile")+" "+P[0].name))&&s(e,"aria-label",L),(!G||O[0]&2)&&he(e,"file-row--selected",P[1]),P[2]?K?K.p(P,O):(K=Hn(P),K.c(),K.m(V.parentNode,V)):K&&(K.d(1),K=null)},i(P){G||(ae(n.$$.fragment,P),G=!0)},o(P){me(n.$$.fragment,P),G=!1},d(P){P&&(z(e),z(W),z(V)),Ge(n),H&&H.d(),R.d(),K&&K.d(P),q=!1,ve(Y)}}}function $u(l,e,t){let{item:n}=e,{selected:i=!1}=e,{onDragStart:o}=e,{onDragOver:r}=e,{onDrop:u}=e;const c=ml(),d=Yo(n),v=n.type==="folder",_=Ku(n);let h=!1,b=0,k=0,y=null;function w(O){O.ctrlKey||O.metaKey?c("toggleSelect",n.id):O.shiftKey?c("rangeSelect",n.id):y?(clearTimeout(y),y=null,v?c("navigate",n.id):c("preview",n)):y=setTimeout(()=>{y=null,c("selectOne",n.id)},250)}function j(){c("openExternal",n.fileId)}function S(){t(2,h=!1),c("showInFolder",n.nodeId||n.id)}function D(){t(2,h=!1),c("delete",{id:n.id,type:n.type})}function T(){t(2,h=!1),c("rename",{id:n.id,name:n.name})}function E(){t(2,h=!1),c("duplicate",n.id)}function I(){t(2,h=!1),c("cut",n.id)}function N(){t(2,h=!1),c("copy",n.id)}function L(){t(2,h=!1),v?c("navigate",n.id):c("preview",n)}function W(){t(2,h=!h)}function V(){t(2,h=!1)}function G(O){o&&o(O,n.id)}function q(O){r&&v&&r(O,n.id)}function Y(O){u&&v&&u(O,n.id)}function H(O){O.preventDefault(),t(3,b=Math.min(O.clientX,window.innerWidth-240)),t(4,k=Math.min(O.clientY,window.innerHeight-320)),t(2,h=!0)}function U(O){(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),w(O))}function J(O){Uo.call(this,l,O)}const R=()=>c("preview",n),K=()=>c("navigate",n.id),P=O=>{O.key==="Escape"&&(O.stopPropagation(),V())};return l.$$set=O=>{"item"in O&&t(0,n=O.item),"selected"in O&&t(1,i=O.selected),"onDragStart"in O&&t(25,o=O.onDragStart),"onDragOver"in O&&t(26,r=O.onDragOver),"onDrop"in O&&t(27,u=O.onDrop)},[n,i,h,b,k,c,d,v,_,w,j,S,D,T,E,I,N,L,W,V,G,q,Y,H,U,o,r,u,J,R,K,P]}class ef extends et{constructor(e){super(),$e(this,e,$u,xu,xe,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function Un(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function tf(l){let e;return{c(){e=f("span"),e.textContent="/",s(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function lf(l){let e,t=l[4].name+"",n,i,o;function r(){return l[2](l[6])}return{c(){e=f("button"),n=A(t),s(e,"class","crumb crumb--link svelte-csi2lb")},m(u,c){C(u,e,c),a(e,n),i||(o=M(e,"click",r),i=!0)},p(u,c){l=u,c&1&&t!==(t=l[4].name+"")&&B(n,t)},d(u){u&&z(e),i=!1,o()}}}function nf(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=A(t),s(e,"class","crumb crumb--current svelte-csi2lb")},m(i,o){C(i,e,o),a(e,n)},p(i,o){o&1&&t!==(t=i[4].name+"")&&B(n,t)},d(i){i&&z(e)}}}function Kn(l){let e,t,n=l[6]>0&&tf();function i(u,c){return u[6]===u[0].length-1?nf:lf}let o=i(l),r=o(l);return{c(){n&&n.c(),e=g(),r.c(),t=ot()},m(u,c){n&&n.m(u,c),C(u,e,c),r.m(u,c),C(u,t,c)},p(u,c){o===(o=i(u))&&r?r.p(u,c):(r.d(1),r=o(u),r&&(r.c(),r.m(t.parentNode,t)))},d(u){u&&(z(e),z(t)),n&&n.d(u),r.d(u)}}}function sf(l){let e,t=ce(l[0]),n=[];for(let i=0;io(u);return l.$$set=u=>{"crumbs"in u&&t(0,n=u.crumbs)},[n,o,r]}class nr extends et{constructor(e){super(),$e(this,e,of,sf,xe,{crumbs:0})}}function rf(l){let e,t,n,i,o,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.previewUnavailable")}`,n=g(),i=f("button"),i.textContent=`${p("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),o||(r=M(i,"click",l[9]),o=!0)},p:$,d(u){u&&z(e),o=!1,r()}}}function af(l){let e,t;function n(r,u){return u&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?pf:mf}let i=n(l,-1),o=i(l);return{c(){o.c(),t=ot()},m(r,u){o.m(r,u),C(r,t,u)},p(r,u){i===(i=n(r,u))&&o?o.p(r,u):(o.d(1),o=i(r),o&&(o.c(),o.m(t.parentNode,t)))},d(r){r&&z(t),o.d(r)}}}function cf(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=A(l[1]),s(e,"class","preview-text svelte-1cw3u0m")},m(i,o){C(i,e,o),a(e,t),a(t,n)},p(i,o){o&2&&B(n,i[1])},d(i){i&&z(e)}}}function uf(l){let e,t,n,i;return{c(){e=f("div"),t=f("img"),ul(t.src,n=l[1])||s(t,"src",n),s(t,"alt",i=l[0].name),s(t,"class","preview-image svelte-1cw3u0m"),s(e,"class","preview-image-container svelte-1cw3u0m")},m(o,r){C(o,e,r),a(e,t)},p(o,r){r&2&&!ul(t.src,n=o[1])&&s(t,"src",n),r&1&&i!==(i=o[0].name)&&s(t,"alt",i)},d(o){o&&z(e)}}}function ff(l){let e,t,n,i,o,r,u;return{c(){e=f("div"),t=f("p"),n=A(l[3]),i=g(),o=f("button"),o.textContent=`${p("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(c,d){C(c,e,d),a(e,t),a(t,n),a(e,i),a(e,o),r||(u=M(o,"click",l[9]),r=!0)},p(c,d){d&8&&B(n,c[3])},d(c){c&&z(e),r=!1,u()}}}function df(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,s(e,"class","preview-status svelte-1cw3u0m")},m(n,i){C(n,e,i),a(e,t)},p:$,d(n){n&&z(e)}}}function mf(l){let e,t,n,i,o,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.pdfUnavailable")}`,n=g(),i=f("button"),i.textContent=`${p("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),o||(r=M(i,"click",l[9]),o=!0)},p:$,d(u){u&&z(e),o=!1,r()}}}function pf(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),ul(t.src,n=l[1])||s(t,"src",n),s(t,"type","application/pdf"),s(t,"class","preview-pdf svelte-1cw3u0m"),s(e,"class","preview-pdf-container svelte-1cw3u0m")},m(i,o){C(i,e,o),a(e,t)},p(i,o){o&2&&!ul(t.src,n=i[1])&&s(t,"src",n)},d(i){i&&z(e)}}}function _f(l){let e,t,n,i,o,r,u,c=l[0].name+"",d,v,_,h,b=fl(l[0].size)+"",k,y,w=Bn(l[0].mime)+"",j,S,D,T,E,I,N,L,W,V,G;o=new qo({props:{kind:l[8],size:18}});function q(U,J){return U[2]?df:U[3]?ff:U[6]&&U[1]?uf:U[5]&&U[1]?cf:U[4]?af:rf}let Y=q(l),H=Y(l);return{c(){e=f("div"),t=f("div"),n=f("header"),i=f("div"),Je(o.$$.fragment),r=g(),u=f("span"),d=A(c),_=g(),h=f("div"),k=A(b),y=A(" · "),j=A(w),S=g(),D=f("div"),T=f("button"),T.innerHTML='',E=g(),I=f("button"),I.innerHTML='',N=g(),L=f("div"),H.c(),s(u,"class","preview-name svelte-1cw3u0m"),s(u,"title",v=l[0].name),s(i,"class","preview-title svelte-1cw3u0m"),s(h,"class","preview-meta svelte-1cw3u0m"),s(T,"class","action-btn svelte-1cw3u0m"),s(T,"title",p("file.openExternal")),s(T,"aria-label",p("file.openExternal")),s(I,"class","action-btn action-btn-close svelte-1cw3u0m"),s(I,"title","Close"),s(I,"aria-label","Close preview"),s(D,"class","preview-actions svelte-1cw3u0m"),s(n,"class","preview-header svelte-1cw3u0m"),s(L,"class","preview-body svelte-1cw3u0m"),s(t,"class","modal svelte-1cw3u0m"),s(e,"class","overlay svelte-1cw3u0m"),s(e,"role","presentation")},m(U,J){C(U,e,J),a(e,t),a(t,n),a(n,i),Ke(o,i,null),a(i,r),a(i,u),a(u,d),a(n,_),a(n,h),a(h,k),a(h,y),a(h,j),a(n,S),a(n,D),a(D,T),a(D,E),a(D,I),a(t,N),a(t,L),H.m(L,null),W=!0,V||(G=[M(T,"click",l[9]),M(I,"click",l[10]),M(e,"click",pt(l[11])),M(e,"keydown",l[12])],V=!0)},p(U,[J]){(!W||J&1)&&c!==(c=U[0].name+"")&&B(d,c),(!W||J&1&&v!==(v=U[0].name))&&s(u,"title",v),(!W||J&1)&&b!==(b=fl(U[0].size)+"")&&B(k,b),(!W||J&1)&&w!==(w=Bn(U[0].mime)+"")&&B(j,w),Y===(Y=q(U))&&H?H.p(U,J):(H.d(1),H=Y(U),H&&(H.c(),H.m(L,null)))},i(U){W||(ae(o.$$.fragment,U),W=!0)},o(U){me(o.$$.fragment,U),W=!1},d(U){U&&z(e),Ge(o),H.d(),V=!1,ve(G)}}}function vf(l,e,t){let n,i,o,{item:r}=e,{content:u=""}=e,{loading:c=!1}=e,{error:d=""}=e;const v=ml(),_=Yo(r);function h(j){j.key==="Escape"&&v("close")}function b(){v("openExternal",r.fileId)}Ho(()=>{window.addEventListener("keydown",h)}),Ql(()=>{window.removeEventListener("keydown",h)});const k=()=>v("close"),y=()=>v("close"),w=j=>{j.key==="Escape"&&(j.preventDefault(),v("close"))};return l.$$set=j=>{"item"in j&&t(0,r=j.item),"content"in j&&t(1,u=j.content),"loading"in j&&t(2,c=j.loading),"error"in j&&t(3,d=j.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=$o(r)&&u&&u.startsWith("data:")),l.$$.dirty&1&&t(5,i=er(r)||lr(r)),l.$$.dirty&1&&t(4,o=tr(r))},[r,u,c,d,o,i,n,v,_,b,k,y,w]}class hf extends et{constructor(e){super(),$e(this,e,vf,_f,xe,{item:0,content:1,loading:2,error:3})}}function gf(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j;return{c(){e=f("div"),t=f("div"),n=f("h3"),i=A(l[0]),o=g(),r=f("p"),u=A(l[1]),c=g(),d=f("div"),v=f("button"),_=A(l[2]),b=g(),k=f("button"),y=A(l[3]),s(n,"class","svelte-1fv6yyk"),s(r,"class","message svelte-1fv6yyk"),s(v,"class",h="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),s(k,"class","btn svelte-1fv6yyk"),s(d,"class","actions svelte-1fv6yyk"),s(t,"class","modal svelte-1fv6yyk"),s(e,"class","overlay svelte-1fv6yyk"),s(e,"role","presentation")},m(S,D){C(S,e,D),a(e,t),a(t,n),a(n,i),a(t,o),a(t,r),a(r,u),a(t,c),a(t,d),a(d,v),a(v,_),a(d,b),a(d,k),a(k,y),w||(j=[M(v,"click",l[6]),M(k,"click",l[7]),M(e,"click",pt(l[8])),M(e,"keydown",l[9])],w=!0)},p(S,[D]){D&1&&B(i,S[0]),D&2&&B(u,S[1]),D&4&&B(_,S[2]),D&16&&h!==(h="btn "+(S[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&s(v,"class",h),D&8&&B(y,S[3])},i:$,o:$,d(S){S&&z(e),w=!1,ve(j)}}}function bf(l,e,t){let{title:n=p("common.confirm")}=e,{message:i=""}=e,{confirmText:o=p("common.delete")}=e,{cancelText:r=p("common.cancel")}=e,{danger:u=!1}=e;const c=ml(),d=()=>c("confirm"),v=()=>c("cancel"),_=()=>c("cancel"),h=b=>{b.key==="Escape"&&(b.preventDefault(),c("cancel"))};return l.$$set=b=>{"title"in b&&t(0,n=b.title),"message"in b&&t(1,i=b.message),"confirmText"in b&&t(2,o=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,u=b.danger)},[n,i,o,r,u,c,d,v,_,h]}class kf extends et{constructor(e){super(),$e(this,e,bf,gf,xe,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function yf(l){let e,t,n;return{c(){e=Q("circle"),t=Q("line"),n=Q("line"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","10"),s(t,"x1","12"),s(t,"y1","16"),s(t,"x2","12"),s(t,"y2","12"),s(n,"x1","12"),s(n,"y1","8"),s(n,"x2","12.01"),s(n,"y2","8")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(z(e),z(t),z(n))}}}function wf(l){let e,t,n,i;return{c(){e=Q("rect"),t=Q("polyline"),n=Q("line"),i=Q("line"),s(e,"x","3"),s(e,"y","5"),s(e,"width","18"),s(e,"height","14"),s(e,"rx","2"),s(t,"points","3 10 21 10"),s(n,"x1","8"),s(n,"y1","5"),s(n,"x2","8"),s(n,"y2","19"),s(i,"x1","16"),s(i,"y1","5"),s(i,"x2","16"),s(i,"y2","19")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function zf(l){let e,t;return{c(){e=Q("path"),t=Q("polyline"),s(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),s(t,"points","13 2 13 9 20 9")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Cf(l){let e,t;return{c(){e=Q("path"),t=Q("path"),s(e,"d","M12 20h9"),s(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Sf(l){let e,t,n,i,o;return{c(){e=Q("path"),t=Q("path"),n=Q("line"),i=Q("line"),o=Q("line"),s(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),s(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),s(n,"x1","8"),s(n,"y1","7"),s(n,"x2","16"),s(n,"y2","7"),s(i,"x1","8"),s(i,"y1","11"),s(i,"x2","14"),s(i,"y2","11"),s(o,"x1","8"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","15")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,i,u),C(r,o,u)},d(r){r&&(z(e),z(t),z(n),z(i),z(o))}}}function jf(l){let e,t,n,i;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),i=Q("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function Tf(l){let e,t;return{c(){e=Q("path"),t=Q("circle"),s(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),s(t,"cx","12"),s(t,"cy","7"),s(t,"r","4")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Ef(l){let e,t,n,i;return{c(){e=Q("rect"),t=Q("rect"),n=Q("rect"),i=Q("rect"),s(e,"x","3"),s(e,"y","3"),s(e,"width","7"),s(e,"height","7"),s(e,"rx","1"),s(t,"x","14"),s(t,"y","3"),s(t,"width","7"),s(t,"height","4"),s(t,"rx","1"),s(n,"x","14"),s(n,"y","10"),s(n,"width","7"),s(n,"height","11"),s(n,"rx","1"),s(i,"x","3"),s(i,"y","14"),s(i,"width","7"),s(i,"height","7"),s(i,"rx","1")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function Df(l){let e;return{c(){e=Q("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Nf(l){let e;function t(o,r){return o[0]==="folder"?Df:o[0]==="project"?Ef:o[0]==="client"?Tf:o[0]==="document"?jf:o[0]==="recipe"?Sf:o[0]==="note"?Cf:o[0]==="file"?zf:o[0]==="case"?wf:yf}let n=t(l),i=n(l);return{c(){e=Q("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,r){C(o,e,r),i.m(e,null)},p(o,[r]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),r&2&&s(e,"width",o[1]),r&2&&s(e,"height",o[1])},i:$,o:$,d(o){o&&z(e),i.d()}}}function Mf(l,e,t){let{kind:n="generic"}=e,{size:i=18}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class pl extends et{constructor(e){super(),$e(this,e,Mf,Nf,xe,{kind:0,size:1})}}function Gn(l,e,t){const n=l.slice();return n[44]=e[t],n}function If(l){let e;return{c(){e=f("span"),s(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:$,d(t){t&&z(e)}}}function Af(l){let e,t,n=l[1][l[44].id]?"▾":"▸",i,o,r;function u(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),i=A(n),s(t,"class","tree-arrow"),s(e,"class","tree-toggle svelte-zj71cl")},m(c,d){C(c,e,d),a(e,t),a(t,i),o||(r=M(e,"click",We(u)),o=!0)},p(c,d){l=c,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&B(i,n)},d(c){c&&z(e),o=!1,r()}}}function Jn(l){let e,t;return e=new ir({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i[0]&1&&(o.nodes=n[44].children||[]),i[0]&2&&(o.expanded=n[1]),i[0]&4&&(o.selectedNodeId=n[2]),i[0]&8&&(o.level=n[3]+1),i[0]&16&&(o.onSelect=n[4]),i[0]&32&&(o.onToggle=n[5]),i[0]&64&&(o.onContextMenu=n[6]),i[0]&128&&(o.onDrop=n[7]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function qn(l,e){let t,n,i,o,r,u,c,d=e[44].title+"",v,_,h=e[1][e[44].id]&&Gl(e[44]),b,k,y,w;function j(R,K){return K[0]&1&&(n=null),n==null&&(n=!!Kt(R[44])),n?Af:If}let S=j(e,[-1,-1]),D=S(e);r=new pl({props:{kind:Yn(e[44]),size:16}});function T(...R){return e[26](e[44],...R)}function E(...R){return e[27](e[44],...R)}function I(){return e[28](e[44])}function N(...R){return e[29](e[44],...R)}function L(...R){return e[30](e[44],...R)}function W(...R){return e[31](e[44],...R)}function V(...R){return e[32](e[44],...R)}function G(...R){return e[33](e[44],...R)}function q(...R){return e[34](e[44],...R)}function Y(...R){return e[35](e[44],...R)}function H(...R){return e[36](e[44],...R)}function U(...R){return e[37](e[44],...R)}let J=h&&Jn(e);return{key:l,first:null,c(){t=f("div"),D.c(),i=g(),o=f("span"),Je(r.$$.fragment),u=g(),c=f("span"),v=A(d),_=g(),J&&J.c(),b=ot(),s(o,"class","tree-icon svelte-zj71cl"),s(o,"role","button"),s(o,"tabindex","-1"),s(c,"class","tree-label svelte-zj71cl"),s(c,"role","button"),s(c,"tabindex","-1"),s(t,"class","tree-item svelte-zj71cl"),ut(t,"padding-left",e[3]*16+4+"px"),s(t,"draggable","true"),s(t,"role","button"),s(t,"tabindex","0"),he(t,"selected",e[2]===e[44].id),he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(R,K){C(R,t,K),D.m(t,null),a(t,i),a(t,o),Ke(r,o,null),a(t,u),a(t,c),a(c,v),C(R,_,K),J&&J.m(R,K),C(R,b,K),k=!0,y||(w=[M(o,"click",T),M(o,"keydown",E),M(o,"dblclick",We(e[24])),M(c,"click",We(I)),M(c,"keydown",N),M(t,"dragstart",L),M(t,"dragover",W),M(t,"dragleave",V),M(t,"drop",G),M(t,"click",q),M(t,"keydown",Y),M(t,"dblclick",H),M(t,"contextmenu",ql(U))],y=!0)},p(R,K){e=R,S===(S=j(e,K))&&D?D.p(e,K):(D.d(1),D=S(e),D&&(D.c(),D.m(t,i)));const P={};K[0]&1&&(P.kind=Yn(e[44])),r.$set(P),(!k||K[0]&1)&&d!==(d=e[44].title+"")&&B(v,d),(!k||K[0]&8)&&ut(t,"padding-left",e[3]*16+4+"px"),(!k||K[0]&5)&&he(t,"selected",e[2]===e[44].id),(!k||K[0]&769)&&he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!k||K[0]&769)&&he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),K[0]&3&&(h=e[1][e[44].id]&&Gl(e[44])),h?J?(J.p(e,K),K[0]&3&&ae(J,1)):(J=Jn(e),J.c(),ae(J,1),J.m(b.parentNode,b)):J&&(it(),me(J,1,1,()=>{J=null}),st())},i(R){k||(ae(r.$$.fragment,R),ae(J),k=!0)},o(R){me(r.$$.fragment,R),me(J),k=!1},d(R){R&&(z(t),z(_),z(b)),D.d(),Ge(r),J&&J.d(R),y=!1,ve(w)}}}function Ff(l){let e=[],t=new Map,n,i,o,r,u=ce(l[0]);const c=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function Qn(l){const e={};function t(n,i){for(const o of n)e[o.id]=i,o.children&&t(o.children,o.id)}return t(l,""),e}function Xn(l){const e=[];function t(n){for(const i of n)e.push(i),i.children&&t(i.children)}return t(l),e}function Pf(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function Lf(l,e,t){let n,i,o,{nodes:r=[]}=e,{expanded:u={}}=e,{selectedNodeId:c=""}=e,{level:d=0}=e,{onSelect:v=void 0}=e,{onToggle:_=void 0}=e,{onContextMenu:h=void 0}=e,{onDrop:b=void 0}=e,k={},y=null,w="",j="";const S=["folder","project","client","document","recipe","case"];Ql(()=>{for(const X of Object.keys(k))clearTimeout(k[X]);y&&clearInterval(y)});function D(X){return S.includes(X.type)}function T(X,Z,fe){if(!X||!Z||Z===X.id||!D(X))return!1;let ze=X.id;for(;ze;){if(ze===Z)return!1;ze=fe[ze]||""}return!0}function E(X,Z){X.stopPropagation(),X.dataTransfer.effectAllowed="move",X.dataTransfer.setData("text/plain",Z.id),t(21,w=Z.id)}function I(X,Z){X.preventDefault(),X.stopPropagation(),X.dataTransfer.dropEffect="move",j!==Z.id&&t(8,j=Z.id),Kt(Z)&&!u[Z.id]&&!k[Z.id]&&(k[Z.id]=setTimeout(()=>{_&&_(Z.id),delete k[Z.id]},600));const fe=X.currentTarget.closest(".workspace-tree-area");if(fe){const ze=fe.getBoundingClientRect(),pe=30;X.clientY-ze.top{fe.scrollTop-=10},50)):ze.bottom-X.clientY{fe.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function N(X,Z){const fe=X.relatedTarget;fe&&X.currentTarget.contains(fe)||(j===Z.id&&t(8,j=""),k[Z.id]&&(clearTimeout(k[Z.id]),delete k[Z.id]),y&&(clearInterval(y),y=null))}function L(X,Z){X.preventDefault(),X.stopPropagation(),k[Z.id]&&(clearTimeout(k[Z.id]),delete k[Z.id]),y&&(clearInterval(y),y=null);const fe=Xn(r),ze=Qn(fe),pe=Pf(X);if(!T(Z,pe,ze)){t(8,j=""),t(21,w="");return}b&&b(pe,Z.id),t(8,j=""),t(21,w="")}function W(){t(8,j=""),t(21,w="");for(const X of Object.keys(k))clearTimeout(k[X]),delete k[X];y&&(clearInterval(y),y=null)}function V(X,Z){X.target.closest(".tree-toggle")||X.target.closest(".tree-icon")||v&&v(Z)}function G(X,Z){Kt(Z)&&_&&_(Z.id)}function q(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),v&&v(Z))}function Y(X,Z){X.stopPropagation(),Kt(Z)&&_&&_(Z.id)}function H(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),X.stopPropagation(),Kt(Z)&&_&&_(Z.id))}function U(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),v&&v(Z))}function J(X,Z,fe){const ze={};function pe(be){for(const qe of be)ze[qe.id]=T(qe,Z,fe),qe.children&&pe(qe.children)}return pe(X),ze}function R(X){Uo.call(this,l,X)}const K=X=>_&&_(X.id),P=(X,Z)=>Y(Z,X),O=(X,Z)=>H(Z,X),x=X=>v&&v(X),re=(X,Z)=>U(Z,X),ee=(X,Z)=>E(Z,X),ie=(X,Z)=>I(Z,X),ne=(X,Z)=>N(Z,X),oe=(X,Z)=>L(Z,X),ue=(X,Z)=>V(Z,X),we=(X,Z)=>q(Z,X),Be=(X,Z)=>G(Z,X),Ae=(X,Z)=>h&&h(Z,X);return l.$$set=X=>{"nodes"in X&&t(0,r=X.nodes),"expanded"in X&&t(1,u=X.expanded),"selectedNodeId"in X&&t(2,c=X.selectedNodeId),"level"in X&&t(3,d=X.level),"onSelect"in X&&t(4,v=X.onSelect),"onToggle"in X&&t(5,_=X.onToggle),"onContextMenu"in X&&t(6,h=X.onContextMenu),"onDrop"in X&&t(7,b=X.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=Xn(r)),l.$$.dirty[0]&8388608&&t(22,i=Qn(n)),l.$$.dirty[0]&14680064&&t(9,o=J(n,w,i))},[r,u,c,d,v,_,h,b,j,o,E,I,N,L,W,V,G,q,Y,H,U,w,i,n,R,K,P,O,x,re,ee,ie,ne,oe,ue,we,Be,Ae]}class ir extends et{constructor(e){super(),$e(this,e,Lf,Ff,xe,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Zn(l){let e,t;return{c(){e=f("div"),t=A(l[4]),s(e,"class","path-info svelte-11u707d")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i&16&&B(t,n[4])},d(n){n&&z(e)}}}function xn(l){let e,t;return{c(){e=f("div"),t=A(l[3]),s(e,"class","error-msg svelte-11u707d")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i&8&&B(t,n[3])},d(n){n&&z(e)}}}function Rf(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j=p("firstrun.browse")+"",S,D,T,E,I,N,L=(l[2]?p("firstrun.creating"):p("firstrun.create"))+"",W,V,G,q,Y,H,U=l[4]&&Zn(l),J=l[3]&&xn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚒",i=g(),o=f("h1"),o.textContent=`${p("firstrun.title")}`,r=g(),u=f("p"),u.textContent=`${p("firstrun.desc")}`,c=g(),d=f("div"),v=f("label"),v.textContent=`${p("firstrun.pathLabel")}`,_=g(),h=f("div"),b=f("input"),y=g(),w=f("button"),S=A(j),D=g(),U&&U.c(),T=g(),J&&J.c(),E=g(),I=f("div"),N=f("button"),W=A(L),G=g(),q=f("button"),q.textContent=`${p("firstrun.quit")}`,s(n,"class","first-run-logo svelte-11u707d"),s(o,"class","svelte-11u707d"),s(u,"class","first-run-desc svelte-11u707d"),s(v,"class","form-label svelte-11u707d"),s(v,"for","vault-path"),s(b,"id","vault-path"),s(b,"type","text"),s(b,"placeholder",k=l[1]||p("firstrun.defaultPath")),b.disabled=l[2],s(b,"class","svelte-11u707d"),s(w,"class","btn"),w.disabled=l[2],s(h,"class","input-row svelte-11u707d"),s(d,"class","form-group svelte-11u707d"),s(N,"class","btn btn-primary btn-lg svelte-11u707d"),N.disabled=V=!l[0].trim()||l[2],s(q,"class","btn btn-lg svelte-11u707d"),s(I,"class","first-run-actions svelte-11u707d"),s(t,"class","first-run-card svelte-11u707d"),s(e,"class","first-run-screen svelte-11u707d")},m(R,K){C(R,e,K),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,u),a(t,c),a(t,d),a(d,v),a(d,_),a(d,h),a(h,b),ge(b,l[0]),a(h,y),a(h,w),a(w,S),a(t,D),U&&U.m(t,null),a(t,T),J&&J.m(t,null),a(t,E),a(t,I),a(I,N),a(N,W),a(I,G),a(I,q),Y||(H=[M(b,"input",l[12]),M(b,"input",l[6]),M(b,"keydown",l[9]),M(w,"click",l[5]),M(N,"click",l[7]),M(q,"click",l[8])],Y=!0)},p(R,[K]){K&2&&k!==(k=R[1]||p("firstrun.defaultPath"))&&s(b,"placeholder",k),K&4&&(b.disabled=R[2]),K&1&&b.value!==R[0]&&ge(b,R[0]),K&4&&(w.disabled=R[2]),R[4]?U?U.p(R,K):(U=Zn(R),U.c(),U.m(t,T)):U&&(U.d(1),U=null),R[3]?J?J.p(R,K):(J=xn(R),J.c(),J.m(t,E)):J&&(J.d(1),J=null),K&4&&L!==(L=(R[2]?p("firstrun.creating"):p("firstrun.create"))+"")&&B(W,L),K&5&&V!==(V=!R[0].trim()||R[2])&&(N.disabled=V)},i:$,o:$,d(R){R&&z(e),U&&U.d(),J&&J.d(),Y=!1,ve(H)}}}function ol(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Of(l,e,t){let{onComplete:n=null}=e,{onQuit:i=null}=e,o="",r="",u=!1,c="",d="",v=null;async function _(){try{const S=await ol("GetDefaultVaultPath");t(1,r=S||""),t(0,o=r||""),o&&await b()}catch{t(1,r="")}}_();async function h(){try{const S=await ol("PickDirectory");S&&(t(0,o=S),await b())}catch(S){t(3,c=String(S))}}async function b(){if(!o||!o.trim()){t(4,d=""),v=null;return}try{v=await ol("CheckVaultPath",o.trim()),v&&t(4,d=v.description)}catch{t(4,d=""),v=null}}async function k(){if(!(!o||!o.trim())){if(t(2,u=!0),t(3,c=""),v&&!v.writable){t(3,c=p("firstrun.errorNoWrite")),t(2,u=!1);return}try{const S=await ol("CreateVault",o.trim());S&&S.status==="ready"&&n&&n(S)}catch(S){t(3,c=String(S))}t(2,u=!1)}}function y(){i&&i()}function w(S){S.key==="Enter"&&!u&&o.trim()&&k()}function j(){o=this.value,t(0,o)}return l.$$set=S=>{"onComplete"in S&&t(10,n=S.onComplete),"onQuit"in S&&t(11,i=S.onQuit)},[o,r,u,c,d,h,b,k,y,w,n,i,j]}class Vf extends et{constructor(e){super(),$e(this,e,Of,Rf,xe,{onComplete:10,onQuit:11})}}function $n(l){let e,t;return{c(){e=f("div"),t=A(l[2]),s(e,"class","error-msg svelte-s3o8c3")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i&4&&B(t,n[2])},d(n){n&&z(e)}}}function ei(l){let e,t,n,i,o,r,u,c,d=p("common.yes")+"",v,_,h,b,k;return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("recovery.createConfirmTitle")}`,i=g(),o=f("p"),o.textContent=`${p("recovery.createConfirm")}`,r=g(),u=f("div"),c=f("button"),v=A(d),_=g(),h=f("button"),h.textContent=`${p("common.cancel")}`,s(n,"class","svelte-s3o8c3"),s(o,"class","modal-desc svelte-s3o8c3"),s(c,"class","btn btn-primary"),c.disabled=l[1],s(h,"class","btn"),s(u,"class","modal-actions svelte-s3o8c3"),s(t,"class","modal svelte-s3o8c3"),s(e,"class","modal-overlay svelte-s3o8c3"),s(e,"role","button"),s(e,"tabindex","0")},m(y,w){C(y,e,w),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,u),a(u,c),a(c,v),a(u,_),a(u,h),b||(k=[M(c,"click",l[6]),M(h,"click",l[7]),M(e,"click",pt(l[7])),M(e,"keydown",l[11])],b=!0)},p(y,w){w&2&&(c.disabled=y[1])},d(y){y&&z(e),b=!1,ve(k)}}}function Wf(l){let e,t,n,i,o,r,u,c,d,v=(l[0]||"—")+"",_,h,b,k,y,w=p("recovery.choose")+"",j,S,D,T=p("recovery.create")+"",E,I,N,L,W,V,G,q=l[2]&&$n(l),Y=l[3]&&ei(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚠",i=g(),o=f("h1"),o.textContent=`${p("recovery.title")}`,r=g(),u=f("p"),u.textContent=`${p("recovery.expected")}:`,c=g(),d=f("code"),_=A(v),h=g(),q&&q.c(),b=g(),k=f("div"),y=f("button"),j=A(w),S=g(),D=f("button"),E=A(T),I=g(),N=f("button"),N.textContent=`${p("recovery.quit")}`,L=g(),Y&&Y.c(),W=ot(),s(n,"class","recovery-icon svelte-s3o8c3"),s(o,"class","svelte-s3o8c3"),s(u,"class","recovery-desc svelte-s3o8c3"),s(d,"class","recovery-path svelte-s3o8c3"),s(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=l[1],s(D,"class","btn btn-lg svelte-s3o8c3"),D.disabled=l[1],s(N,"class","btn btn-lg svelte-s3o8c3"),s(k,"class","recovery-actions svelte-s3o8c3"),s(t,"class","recovery-card svelte-s3o8c3"),s(e,"class","recovery-screen svelte-s3o8c3")},m(H,U){C(H,e,U),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,u),a(t,c),a(t,d),a(d,_),a(t,h),q&&q.m(t,null),a(t,b),a(t,k),a(k,y),a(y,j),a(k,S),a(k,D),a(D,E),a(k,I),a(k,N),C(H,L,U),Y&&Y.m(H,U),C(H,W,U),V||(G=[M(y,"click",l[4]),M(D,"click",l[5]),M(N,"click",l[8])],V=!0)},p(H,[U]){U&1&&v!==(v=(H[0]||"—")+"")&&B(_,v),H[2]?q?q.p(H,U):(q=$n(H),q.c(),q.m(t,b)):q&&(q.d(1),q=null),U&2&&(y.disabled=H[1]),U&2&&(D.disabled=H[1]),H[3]?Y?Y.p(H,U):(Y=ei(H),Y.c(),Y.m(W.parentNode,W)):Y&&(Y.d(1),Y=null)},i:$,o:$,d(H){H&&(z(e),z(L),z(W)),q&&q.d(),Y&&Y.d(H),V=!1,ve(G)}}}function Wl(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Bf(l,e,t){let{vaultPath:n=""}=e,{onComplete:i=null}=e,{onQuit:o=null}=e,r=!1,u="",c=!1;async function d(){try{const y=await Wl("PickDirectory");if(!y)return;t(1,r=!0),t(2,u="");const w=await Wl("OpenVault",y);w&&w.status==="ready"&&i&&i(w)}catch(y){t(2,u=String(y))}t(1,r=!1)}function v(){t(3,c=!0)}async function _(){t(3,c=!1),t(1,r=!0),t(2,u="");try{const y=await Wl("CreateVault",n);y&&y.status==="ready"&&i&&i(y)}catch(y){t(2,u=String(y))}t(1,r=!1)}function h(){t(3,c=!1)}function b(){o&&o()}const k=y=>y.key==="Enter"&&h();return l.$$set=y=>{"vaultPath"in y&&t(0,n=y.vaultPath),"onComplete"in y&&t(9,i=y.onComplete),"onQuit"in y&&t(10,o=y.onQuit)},[n,r,u,c,d,v,_,h,b,i,o,k]}class Hf extends et{constructor(e){super(),$e(this,e,Bf,Wf,xe,{vaultPath:0,onComplete:9,onQuit:10})}}function ti(l,e,t){const n=l.slice();return n[5]=e[t],n}function Uf(l){let e,t,n;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),s(e,"d","M5 4h12l2 2v14H5z"),s(t,"d","M8 4v6h8V4"),s(n,"d","M8 20v-6h8v6")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(z(e),z(t),z(n))}}}function Kf(l){let e,t,n,i;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),i=Q("path"),s(e,"d","M20 11a8 8 0 0 0-14-4l-2 2"),s(t,"d","M4 5v4h4"),s(n,"d","M4 13a8 8 0 0 0 14 4l2-2"),s(i,"d","M20 19v-4h-4")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,i,r)},d(o){o&&(z(e),z(t),z(n),z(i))}}}function Gf(l){let e;return{c(){e=Q("path"),s(e,"d","M4 19V9M10 19V5M16 19v-7M22 19H2")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Jf(l){let e;return{c(){e=Q("path"),s(e,"d","M3 6h6l2 2h10v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6z")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function qf(l){let e,t;return{c(){e=Q("path"),t=Q("path"),s(e,"d","M9 3v5M15 3v5M7 8h10v3a5 5 0 0 1-10 0V8z"),s(t,"d","M12 16v5")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Yf(l){let e,t;return{c(){e=Q("rect"),t=Q("path"),s(e,"x","4"),s(e,"y","3"),s(e,"width","16"),s(e,"height","18"),s(e,"rx","2"),s(t,"d","M8 7h8M8 11h8M8 15h5")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function Qf(l){let e,t,n;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),s(e,"d","M3 10.5 12 3l9 7.5"),s(t,"d","M5 9.5V21h14V9.5"),s(n,"d","M10 21v-6h4v6")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(z(e),z(t),z(n))}}}function Xf(l){let e,t;return{c(){e=Q("circle"),t=Q("path"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","3"),s(t,"d","M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V22h-4v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 0 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H2v-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 0 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V2h4v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 0 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1h.2v4h-.2a1.7 1.7 0 0 0-1.4 1z")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(z(e),z(t))}}}function li(l){let e,t,n,i,o,r,u,c;function d(b,k){if(b[5].id==="general")return Xf;if(b[5].id==="workspace")return Qf;if(b[5].id==="templates")return Yf;if(b[5].id==="plugins")return qf;if(b[5].id==="files")return Jf;if(b[5].id==="activity")return Gf;if(b[5].id==="sync")return Kf;if(b[5].id==="backup")return Uf}let v=d(l),_=v&&v(l);function h(){return l[4](l[5])}return{c(){e=f("button"),t=f("span"),n=Q("svg"),_&&_.c(),i=g(),o=f("span"),o.textContent=`${l[5].label}`,r=g(),s(n,"width","16"),s(n,"height","16"),s(n,"viewBox","0 0 24 24"),s(n,"fill","none"),s(n,"stroke","currentColor"),s(n,"stroke-width","1.8"),s(n,"stroke-linecap","round"),s(n,"stroke-linejoin","round"),s(n,"aria-hidden","true"),s(t,"class","settings-nav-icon svelte-1uolm3f"),s(o,"class","settings-nav-label svelte-1uolm3f"),s(e,"class","settings-nav-item svelte-1uolm3f"),he(e,"active",l[0]===l[5].id),he(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(b,k){C(b,e,k),a(e,t),a(t,n),_&&_.m(n,null),a(e,i),a(e,o),a(e,r),u||(c=M(e,"click",h),u=!0)},p(b,k){l=b,k&3&&he(e,"active",l[0]===l[5].id)},d(b){b&&z(e),_&&_.d(),u=!1,c()}}}function Zf(l){let e,t=ce(l[1]),n=[];for(let i=0;ir(c.id);return l.$$set=c=>{"activeSection"in c&&t(0,n=c.activeSection),"onSelect"in c&&t(3,i=c.onSelect)},[n,o,r,i,u]}class $f extends et{constructor(e){super(),$e(this,e,xf,Zf,xe,{activeSection:0,onSelect:3})}}function ni(l){let e;return{c(){e=f("div"),e.textContent=`${p("settings.saved")}`,s(e,"class","save-notice svelte-1e2uhdh")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function ed(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j,S,D,T,E,I,N,L,W,V,G,q,Y,H,U,J,R,K=l[1]&&ni();return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.general")}`,n=g(),i=f("p"),i.textContent=`${p("settings.generalDesc")}`,o=g(),r=f("div"),u=f("h3"),u.textContent=`${p("settings.appearance")}`,c=g(),d=f("div"),v=f("label"),_=f("span"),_.textContent=`${p("settings.theme")}`,h=g(),b=f("select"),k=f("option"),k.textContent=`${p("settings.themeSystem")}`,y=f("option"),y.textContent=`${p("settings.themeLight")} (${p("settings.langSoon")})`,w=f("option"),w.textContent=`${p("settings.themeDark")} (${p("settings.langSoon")})`,j=g(),S=f("div"),D=f("h3"),D.textContent=`${p("settings.localization")}`,T=g(),E=f("div"),I=f("label"),N=f("span"),N.textContent=`${p("settings.language")}`,L=g(),W=f("select"),V=f("option"),V.textContent=`${p("settings.langRu")}`,G=f("option"),G.textContent=`${p("settings.langEn")} (${p("settings.langSoon")})`,q=g(),Y=f("div"),K&&K.c(),H=g(),U=f("button"),U.textContent=`${p("settings.save")}`,s(t,"class","svelte-1e2uhdh"),s(i,"class","section-desc svelte-1e2uhdh"),s(u,"class","card-title svelte-1e2uhdh"),s(_,"class","label-text svelte-1e2uhdh"),k.__value="system",ge(k,k.__value),y.__value="light",ge(y,y.__value),y.disabled=!0,w.__value="dark",ge(w,w.__value),w.disabled=!0,l[0]===void 0&&jt(()=>l[5].call(b)),s(d,"class","form-group svelte-1e2uhdh"),s(r,"class","settings-card svelte-1e2uhdh"),s(D,"class","card-title svelte-1e2uhdh"),s(N,"class","label-text svelte-1e2uhdh"),V.__value="ru",ge(V,V.__value),G.__value="en",ge(G,G.__value),W.disabled=!0,s(E,"class","form-group svelte-1e2uhdh"),s(S,"class","settings-card svelte-1e2uhdh"),s(U,"class","btn btn-primary"),s(Y,"class","settings-actions svelte-1e2uhdh"),s(e,"class","settings-section svelte-1e2uhdh")},m(P,O){C(P,e,O),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),a(r,u),a(r,c),a(r,d),a(d,v),a(v,_),a(v,h),a(v,b),a(b,k),a(b,y),a(b,w),_t(b,l[0],!0),a(e,j),a(e,S),a(S,D),a(S,T),a(S,E),a(E,I),a(I,N),a(I,L),a(I,W),a(W,V),a(W,G),a(e,q),a(e,Y),K&&K.m(Y,null),a(Y,H),a(Y,U),J||(R=[M(b,"change",l[5]),M(U,"click",l[2])],J=!0)},p(P,[O]){O&1&&_t(b,P[0]),P[1]?K||(K=ni(),K.c(),K.m(Y,H)):K&&(K.d(1),K=null)},i:$,o:$,d(P){P&&z(e),K&&K.d(),J=!1,ve(R)}}}function td(l,e,t){let{appConfig:n=null}=e,{onSave:i=null}=e,o="system",r=!1;function u(){n&&t(0,o=n.theme||"system")}async function c(){n&&(t(3,n.theme=o,n),i&&await i(n),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function d(){o=al(this),t(0,o)}return l.$$set=v=>{"appConfig"in v&&t(3,n=v.appConfig),"onSave"in v&&t(4,i=v.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&u()},[o,r,c,n,i,d]}class ld extends et{constructor(e){super(),$e(this,e,td,ed,xe,{appConfig:3,onSave:4})}}function ii(l){let e,t;return{c(){e=f("div"),t=A(l[1]),s(e,"class","notice svelte-1zbky3")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i&2&&B(t,n[1])},d(n){n&&z(e)}}}function nd(l){let e;return{c(){e=f("p"),e.textContent=`${p("settings.noVaultInfo")}`,s(e,"class","no-data svelte-1zbky3")},m(t,n){C(t,e,n)},p:$,d(t){t&&z(e)}}}function id(l){let e,t,n,i,o,r=l[0].path+"",u,c,d,v,_,h,b=l[0].dbPath+"",k,y,w,j=l[0].nodeCount!==void 0&&si(l),S=l[0].fileCount!==void 0&&oi(l);return{c(){e=f("div"),t=f("div"),n=f("span"),n.textContent=`${p("settings.vaultPath")}`,i=g(),o=f("span"),u=A(r),c=g(),d=f("div"),v=f("span"),v.textContent="DB",_=g(),h=f("span"),k=A(b),y=g(),j&&j.c(),w=g(),S&&S.c(),s(n,"class","info-label svelte-1zbky3"),s(o,"class","info-value mono svelte-1zbky3"),s(t,"class","info-row svelte-1zbky3"),s(v,"class","info-label svelte-1zbky3"),s(h,"class","info-value mono small svelte-1zbky3"),s(d,"class","info-row svelte-1zbky3"),s(e,"class","vault-info svelte-1zbky3")},m(D,T){C(D,e,T),a(e,t),a(t,n),a(t,i),a(t,o),a(o,u),a(e,c),a(e,d),a(d,v),a(d,_),a(d,h),a(h,k),a(e,y),j&&j.m(e,null),a(e,w),S&&S.m(e,null)},p(D,T){T&1&&r!==(r=D[0].path+"")&&B(u,r),T&1&&b!==(b=D[0].dbPath+"")&&B(k,b),D[0].nodeCount!==void 0?j?j.p(D,T):(j=si(D),j.c(),j.m(e,w)):j&&(j.d(1),j=null),D[0].fileCount!==void 0?S?S.p(D,T):(S=oi(D),S.c(),S.m(e,null)):S&&(S.d(1),S=null)},d(D){D&&z(e),j&&j.d(),S&&S.d()}}}function si(l){let e,t,n,i,o=l[0].nodeCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Nodes",n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1zbky3"),s(i,"class","info-value svelte-1zbky3"),s(e,"class","info-row svelte-1zbky3")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c&1&&o!==(o=u[0].nodeCount+"")&&B(r,o)},d(u){u&&z(e)}}}function oi(l){let e,t,n,i,o=l[0].fileCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Files",n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1zbky3"),s(i,"class","info-value svelte-1zbky3"),s(e,"class","info-row svelte-1zbky3")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c&1&&o!==(o=u[0].fileCount+"")&&B(r,o)},d(u){u&&z(e)}}}function sd(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j=l[1]&&ii(l);function S(E,I){return E[0]?id:nd}let D=S(l),T=D(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.workspace")}`,n=g(),i=f("p"),i.textContent=`${p("settings.workspaceDesc")}`,o=g(),j&&j.c(),r=g(),u=f("div"),T.c(),c=g(),d=f("div"),v=f("button"),v.textContent=`${p("settings.openVault")}`,_=g(),h=f("button"),h.textContent=`${p("settings.changeVault")}`,b=g(),k=f("button"),k.textContent=`${p("settings.checkIntegrity")}`,s(t,"class","svelte-1zbky3"),s(i,"class","section-desc svelte-1zbky3"),s(u,"class","settings-card svelte-1zbky3"),s(v,"class","btn svelte-1zbky3"),s(h,"class","btn svelte-1zbky3"),s(k,"class","btn svelte-1zbky3"),s(d,"class","workspace-actions svelte-1zbky3"),s(e,"class","settings-section svelte-1zbky3")},m(E,I){C(E,e,I),a(e,t),a(e,n),a(e,i),a(e,o),j&&j.m(e,null),a(e,r),a(e,u),T.m(u,null),a(e,c),a(e,d),a(d,v),a(d,_),a(d,h),a(d,b),a(d,k),y||(w=[M(v,"click",l[2]),M(h,"click",l[4]),M(k,"click",l[3])],y=!0)},p(E,[I]){E[1]?j?j.p(E,I):(j=ii(E),j.c(),j.m(e,r)):j&&(j.d(1),j=null),D===(D=S(E))&&T?T.p(E,I):(T.d(1),T=D(E),T&&(T.c(),T.m(u,null)))},i:$,o:$,d(E){E&&z(e),j&&j.d(),T.d(),y=!1,ve(w)}}}function Pt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function od(l,e,t){let{onRefresh:n=null}=e,i=null,o="";async function r(){try{t(0,i=await Pt("GetVaultInfo"))}catch{t(0,i=null)}}r();async function u(){try{await Pt("OpenVaultFolder")}catch(v){t(1,o=String(v))}}async function c(){try{const v=await Pt("VaultCheck");v.healthy?t(1,o="Vault healthy"):t(1,o="Issues found: "+(v.errors||[]).join("; "))}catch(v){t(1,o=String(v))}}async function d(){try{const v=await Pt("PickDirectory");if(!v)return;const _=await Pt("OpenVault",v);_&&_.status==="ready"&&(t(0,i=await Pt("GetVaultInfo")),n&&n())}catch(v){t(1,o=String(v))}}return l.$$set=v=>{"onRefresh"in v&&t(5,n=v.onRefresh)},[i,o,u,c,d,n]}class rd extends et{constructor(e){super(),$e(this,e,od,sd,xe,{onRefresh:5})}}function ri(l,e,t){const n=l.slice();return n[6]=e[t],n}function ad(l){let e,t=ce(l[0]),n=[];for(let i=0;iu(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[i,o,u,n,c]}class md extends et{constructor(e){super(),$e(this,e,dd,fd,xe,{onRefresh:3})}}function pd(l){let e,t,n,i,o,r,u,c;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.plugins")}`,n=g(),i=f("p"),i.textContent=`${p("settings.noPlugins")}`,o=g(),r=f("button"),r.textContent=`${p("settings.openPluginsDir")}`,s(t,"class","svelte-8jch95"),s(i,"class","section-desc svelte-8jch95"),s(r,"class","btn"),s(e,"class","settings-section svelte-8jch95")},m(d,v){C(d,e,v),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),u||(c=M(r,"click",vd),u=!0)},p:$,i:$,o:$,d(d){d&&z(e),u=!1,c()}}}function _d(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}async function vd(){try{await _d("OpenPluginsFolder")}catch{}}class hd extends et{constructor(e){super(),$e(this,e,null,pd,xe,{})}}function gd(l){let e,t,n,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.files")}`,n=g(),i=f("p"),i.textContent=`${p("settings.filesStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&z(e)}}}class bd extends et{constructor(e){super(),$e(this,e,null,gd,xe,{})}}function kd(l){let e,t,n,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.activity")}`,n=g(),i=f("p"),i.textContent=`${p("settings.activityStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&z(e)}}}class yd extends et{constructor(e){super(),$e(this,e,null,kd,xe,{})}}function ui(l){let e,t;return{c(){e=f("div"),t=A(l[2]),s(e,"class","error-msg svelte-1fx1e1e")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i[0]&4&&B(t,n[2])},d(n){n&&z(e)}}}function fi(l){let e,t;return{c(){e=f("div"),t=A(l[3]),s(e,"class","result-msg svelte-1fx1e1e"),he(e,"warning",l[4]==="warning")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i[0]&8&&B(t,n[3]),i[0]&16&&he(e,"warning",n[4]==="warning")},d(n){n&&z(e)}}}function wd(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j,S,D,T,E,I,N=p("settings.checkConnection")+"",L,W,V,G,q=p("common.connect")+"",Y,H,U,J,R,K=l[11]!==null&&di(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("label"),o=f("span"),o.textContent=`${p("settings.serverUrl")}`,r=g(),u=f("input"),c=g(),d=f("div"),v=f("label"),_=f("span"),_.textContent=`${p("sync.username")}`,h=g(),b=f("input"),k=g(),y=f("div"),w=f("label"),j=f("span"),j.textContent=`${p("sync.password")}`,S=g(),D=f("input"),T=g(),E=f("div"),I=f("button"),L=A(N),V=g(),G=f("button"),Y=A(q),U=g(),K&&K.c(),s(o,"class","label-text"),s(u,"type","text"),s(u,"placeholder","https://example.com"),s(n,"class","form-group svelte-1fx1e1e"),s(_,"class","label-text"),s(b,"type","text"),s(d,"class","form-group svelte-1fx1e1e"),s(j,"class","label-text"),s(D,"type","password"),s(y,"class","form-group svelte-1fx1e1e"),s(I,"class","btn"),I.disabled=W=l[1]||!l[5],s(G,"class","btn btn-primary"),G.disabled=H=l[1]||!l[5]||!l[6]||!l[7],s(E,"class","sync-setup-actions svelte-1fx1e1e"),s(t,"class","sync-setup svelte-1fx1e1e"),s(e,"class","settings-card svelte-1fx1e1e")},m(P,O){C(P,e,O),a(e,t),a(t,n),a(n,i),a(i,o),a(i,r),a(i,u),ge(u,l[5]),a(t,c),a(t,d),a(d,v),a(v,_),a(v,h),a(v,b),ge(b,l[6]),a(t,k),a(t,y),a(y,w),a(w,j),a(w,S),a(w,D),ge(D,l[7]),a(t,T),a(t,E),a(E,I),a(I,L),a(E,V),a(E,G),a(G,Y),a(t,U),K&&K.m(t,null),J||(R=[M(u,"input",l[23]),M(b,"input",l[24]),M(D,"input",l[25]),M(I,"click",l[12]),M(G,"click",l[13])],J=!0)},p(P,O){O[0]&32&&u.value!==P[5]&&ge(u,P[5]),O[0]&64&&b.value!==P[6]&&ge(b,P[6]),O[0]&128&&D.value!==P[7]&&ge(D,P[7]),O[0]&34&&W!==(W=P[1]||!P[5])&&(I.disabled=W),O[0]&226&&H!==(H=P[1]||!P[5]||!P[6]||!P[7])&&(G.disabled=H),P[11]!==null?K?K.p(P,O):(K=di(P),K.c(),K.m(t,null)):K&&(K.d(1),K=null)},d(P){P&&z(e),K&&K.d(),J=!1,ve(R)}}}function zd(l){let e,t,n,i,o,r,u=l[20](l[0].lastStatus)+"",c,d,v,_,h,b,k,y,w,j=p("settings.syncNow")+"",S,D,T,E=p("settings.disconnect")+"",I,N,L,W=p("settings.resetKey")+"",V,G,q,Y,H,U,J,R,K,P,O,x,re=l[0].serverUrl&&mi(l),ee=l[0].deviceName&&pi(l),ie=l[0].deviceId&&_i(l),ne=l[0].lastSyncAt&&vi(l),oe=l[0].lastError&&hi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("span"),i.textContent=`${p("settings.status")}`,o=g(),r=f("span"),c=A(u),d=g(),re&&re.c(),v=g(),ee&&ee.c(),_=g(),ie&&ie.c(),h=g(),ne&&ne.c(),b=g(),oe&&oe.c(),k=g(),y=f("div"),w=f("button"),S=A(j),D=g(),T=f("button"),I=A(E),N=g(),L=f("button"),V=A(W),G=g(),q=f("div"),Y=f("label"),H=f("span"),H.textContent=`${p("sync.interval")}`,U=g(),J=f("div"),R=f("input"),K=g(),P=f("button"),P.textContent=`${p("common.save")}`,s(i,"class","info-label svelte-1fx1e1e"),s(r,"class","info-value svelte-1fx1e1e"),he(r,"status-ok",l[0].lastStatus==="connected"),he(r,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),s(n,"class","info-row svelte-1fx1e1e"),s(t,"class","sync-info svelte-1fx1e1e"),s(e,"class","settings-card svelte-1fx1e1e"),s(w,"class","btn btn-primary"),w.disabled=l[1],s(T,"class","btn"),T.disabled=l[1],s(L,"class","btn"),L.disabled=l[1],s(y,"class","sync-actions svelte-1fx1e1e"),s(H,"class","label-text"),s(R,"type","number"),s(R,"min","0"),s(R,"placeholder","0"),s(R,"class","svelte-1fx1e1e"),s(P,"class","btn btn-sm"),s(J,"class","interval-row svelte-1fx1e1e"),s(q,"class","sync-interval svelte-1fx1e1e")},m(ue,we){C(ue,e,we),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(r,c),a(t,d),re&&re.m(t,null),a(t,v),ee&&ee.m(t,null),a(t,_),ie&&ie.m(t,null),a(t,h),ne&&ne.m(t,null),a(t,b),oe&&oe.m(t,null),C(ue,k,we),C(ue,y,we),a(y,w),a(w,S),a(y,D),a(y,T),a(T,I),a(y,N),a(y,L),a(L,V),C(ue,G,we),C(ue,q,we),a(q,Y),a(Y,H),a(Y,U),a(Y,J),a(J,R),ge(R,l[8]),a(J,K),a(J,P),O||(x=[M(w,"click",l[14]),M(T,"click",l[16]),M(L,"click",l[18]),M(R,"input",l[22]),M(P,"click",l[15])],O=!0)},p(ue,we){we[0]&1&&u!==(u=ue[20](ue[0].lastStatus)+"")&&B(c,u),we[0]&1&&he(r,"status-ok",ue[0].lastStatus==="connected"),we[0]&1&&he(r,"status-err",ue[0].lastStatus==="error"||ue[0].lastStatus==="revoked"),ue[0].serverUrl?re?re.p(ue,we):(re=mi(ue),re.c(),re.m(t,v)):re&&(re.d(1),re=null),ue[0].deviceName?ee?ee.p(ue,we):(ee=pi(ue),ee.c(),ee.m(t,_)):ee&&(ee.d(1),ee=null),ue[0].deviceId?ie?ie.p(ue,we):(ie=_i(ue),ie.c(),ie.m(t,h)):ie&&(ie.d(1),ie=null),ue[0].lastSyncAt?ne?ne.p(ue,we):(ne=vi(ue),ne.c(),ne.m(t,b)):ne&&(ne.d(1),ne=null),ue[0].lastError?oe?oe.p(ue,we):(oe=hi(ue),oe.c(),oe.m(t,null)):oe&&(oe.d(1),oe=null),we[0]&2&&(w.disabled=ue[1]),we[0]&2&&(T.disabled=ue[1]),we[0]&2&&(L.disabled=ue[1]),we[0]&256&&dl(R.value)!==ue[8]&&ge(R,ue[8])},d(ue){ue&&(z(e),z(k),z(y),z(G),z(q)),re&&re.d(),ee&&ee.d(),ie&&ie.d(),ne&&ne.d(),oe&&oe.d(),O=!1,ve(x)}}}function di(l){let e,t=(l[11]?p("common.test")+" OK":p("error.generic"))+"",n;return{c(){e=f("div"),n=A(t),s(e,"class","connection-result svelte-1fx1e1e"),he(e,"ok",l[11]),he(e,"fail",!l[11])},m(i,o){C(i,e,o),a(e,n)},p(i,o){o[0]&2048&&t!==(t=(i[11]?p("common.test")+" OK":p("error.generic"))+"")&&B(n,t),o[0]&2048&&he(e,"ok",i[11]),o[0]&2048&&he(e,"fail",!i[11])},d(i){i&&z(e)}}}function mi(l){let e,t,n,i,o=l[0].serverUrl+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.serverUrl")}`,n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value mono svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&1&&o!==(o=u[0].serverUrl+"")&&B(r,o)},d(u){u&&z(e)}}}function pi(l){let e,t,n,i,o=l[0].deviceName+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceName")}`,n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&1&&o!==(o=u[0].deviceName+"")&&B(r,o)},d(u){u&&z(e)}}}function _i(l){let e,t,n,i,o=l[0].deviceId+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceId")}`,n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value mono svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&1&&o!==(o=u[0].deviceId+"")&&B(r,o)},d(u){u&&z(e)}}}function vi(l){let e,t,n,i,o=l[0].lastSyncAt+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastSync")}`,n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&1&&o!==(o=u[0].lastSyncAt+"")&&B(r,o)},d(u){u&&z(e)}}}function hi(l){let e,t,n,i,o=l[0].lastError+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastError")}`,n=g(),i=f("span"),r=A(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value error svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&1&&o!==(o=u[0].lastError+"")&&B(r,o)},d(u){u&&z(e)}}}function gi(l){let e,t,n,i,o,r,u,c,d,v,_,h;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmDisconnect")}`,i=g(),o=f("p"),o.textContent=`${p("settings.confirmDisconnectDesc")}`,r=g(),u=f("div"),c=f("button"),c.textContent=`${p("common.disconnect")}`,d=g(),v=f("button"),v.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1fx1e1e"),s(o,"class","modal-desc svelte-1fx1e1e"),s(c,"class","btn btn-danger"),s(v,"class","btn"),s(u,"class","modal-actions svelte-1fx1e1e"),s(t,"class","modal svelte-1fx1e1e"),s(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,u),a(u,c),a(u,d),a(u,v),_||(h=[M(c,"click",l[17]),M(v,"click",l[26]),M(e,"click",l[27])],_=!0)},p:$,d(b){b&&z(e),_=!1,ve(h)}}}function bi(l){let e,t,n,i,o,r,u,c,d,v,_,h;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmResetKey")}`,i=g(),o=f("p"),o.textContent=`${p("settings.confirmResetKeyDesc")}`,r=g(),u=f("div"),c=f("button"),c.textContent=`${p("settings.resetKey")}`,d=g(),v=f("button"),v.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1fx1e1e"),s(o,"class","modal-desc svelte-1fx1e1e"),s(c,"class","btn btn-danger"),s(v,"class","btn"),s(u,"class","modal-actions svelte-1fx1e1e"),s(t,"class","modal svelte-1fx1e1e"),s(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,u),a(u,c),a(u,d),a(u,v),_||(h=[M(c,"click",l[19]),M(v,"click",l[28]),M(e,"click",l[29])],_=!0)},p:$,d(b){b&&z(e),_=!1,ve(h)}}}function Cd(l){let e,t,n,i,o,r,u,c,d,v,_=l[2]&&ui(l),h=l[3]&&!l[2]&&fi(l);function b(S,D){return S[0]&&S[0].enabled?zd:wd}let k=b(l),y=k(l),w=l[9]&&gi(l),j=l[10]&&bi(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.sync")}`,n=g(),i=f("p"),i.textContent=`${p("settings.syncDesc")}`,o=g(),_&&_.c(),r=g(),h&&h.c(),u=g(),y.c(),c=g(),w&&w.c(),d=g(),j&&j.c(),v=ot(),s(t,"class","svelte-1fx1e1e"),s(i,"class","section-desc svelte-1fx1e1e"),s(e,"class","settings-section svelte-1fx1e1e")},m(S,D){C(S,e,D),a(e,t),a(e,n),a(e,i),a(e,o),_&&_.m(e,null),a(e,r),h&&h.m(e,null),a(e,u),y.m(e,null),C(S,c,D),w&&w.m(S,D),C(S,d,D),j&&j.m(S,D),C(S,v,D)},p(S,D){S[2]?_?_.p(S,D):(_=ui(S),_.c(),_.m(e,r)):_&&(_.d(1),_=null),S[3]&&!S[2]?h?h.p(S,D):(h=fi(S),h.c(),h.m(e,u)):h&&(h.d(1),h=null),k===(k=b(S))&&y?y.p(S,D):(y.d(1),y=k(S),y&&(y.c(),y.m(e,null))),S[9]?w?w.p(S,D):(w=gi(S),w.c(),w.m(d.parentNode,d)):w&&(w.d(1),w=null),S[10]?j?j.p(S,D):(j=bi(S),j.c(),j.m(v.parentNode,v)):j&&(j.d(1),j=null)},i:$,o:$,d(S){S&&(z(e),z(c),z(d),z(v)),_&&_.d(),h&&h.d(),y.d(),w&&w.d(S),j&&j.d(S)}}}function Ct(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Sd(l,e,t){let{onRefresh:n=null}=e,i=null,o=!1,r="",u="",c="",d="",v="",_="",h=0,b=!1,k=!1,y=null;async function w(){try{t(0,i=await Ct("GetSyncSettings")),i&&(t(5,d=i.serverUrl||""),t(8,h=i.syncInterval||0))}catch{t(0,i=null)}}w();async function j(){t(1,o=!0),t(2,r=""),t(4,c=""),t(11,y=null);try{await Ct("SyncTestConnection",d,v,_),t(11,y=!0),t(3,u="connection ok")}catch(P){t(11,y=!1),t(3,u="connection failed: "+String(P))}t(1,o=!1)}async function S(){t(1,o=!0),t(2,r=""),t(4,c="");try{await Ct("SyncConfigure",d,v,_),t(3,u="configured"),t(6,v=""),t(7,_=""),await w(),n&&n()}catch(P){t(2,r=String(P))}t(1,o=!1)}function D(P){const O=Array.isArray(P==null?void 0:P.conflicts)?P.conflicts:[],x=Array.isArray(P==null?void 0:P.applyErrors)?P.applyErrors:[],re=[];return O.length>0&&re.push(p("sync.conflictsCount",{count:O.length})),x.length>0&&re.push(p("sync.applyErrorsCount",{count:x.length})),re.join(" · ")}async function T(){t(1,o=!0),t(2,r=""),t(4,c="");try{const P=await Ct("SyncNow"),O=p("sync.pushedPulled",{pushed:(P==null?void 0:P.pushed)||0,pulled:(P==null?void 0:P.pulled)||0}),x=D(P);t(3,u=x?O+" · "+x:O),t(4,c=x?"warning":""),await w(),n&&n()}catch(P){t(2,r=String(P))}t(1,o=!1)}async function E(){try{await Ct("SyncSetInterval",h),t(3,u=p("sync.settingsSaved")),t(4,c="")}catch(P){t(2,r=String(P))}}function I(){t(9,b=!0)}async function N(){t(9,b=!1),t(1,o=!0),t(4,c="");try{await Ct("SyncDisconnect"),t(3,u="disconnected"),await w(),n&&n()}catch(P){t(2,r=String(P))}t(1,o=!1)}function L(){t(10,k=!0)}async function W(){t(10,k=!1),t(1,o=!0),t(4,c="");try{await Ct("ResetSyncKey"),t(3,u="key reset"),await w(),n&&n()}catch(P){t(2,r=String(P))}t(1,o=!1)}function V(P){return P?{connected:p("settings.connected"),disconnected:p("settings.disconnected"),disabled:p("settings.notConfigured"),error:p("settings.error"),revoked:p("settings.revoked")}[P]||P:p("settings.notConfigured")}function G(){h=dl(this.value),t(8,h)}function q(){d=this.value,t(5,d)}function Y(){v=this.value,t(6,v)}function H(){_=this.value,t(7,_)}const U=()=>t(9,b=!1),J=()=>t(9,b=!1),R=()=>t(10,k=!1),K=()=>t(10,k=!1);return l.$$set=P=>{"onRefresh"in P&&t(21,n=P.onRefresh)},[i,o,r,u,c,d,v,_,h,b,k,y,j,S,T,E,I,N,L,W,V,n,G,q,Y,H,U,J,R,K]}class jd extends et{constructor(e){super(),$e(this,e,Sd,Cd,xe,{onRefresh:21},null,[-1,-1])}}function Td(l){let e,t,n,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.backup")}`,n=g(),i=f("p"),i.textContent=`${p("settings.backupStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&z(e)}}}class Ed extends et{constructor(e){super(),$e(this,e,null,Td,xe,{})}}const{window:Dd}=Jl;function Nd(l){let e,t;return e=new Ed({}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Md(l){let e,t;return e=new jd({props:{onRefresh:l[6]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Id(l){let e,t;return e=new yd({}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Ad(l){let e,t;return e=new bd({}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Fd(l){let e,t;return e=new hd({}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Pd(l){let e,t;return e=new md({props:{onRefresh:l[2]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Ld(l){let e,t;return e=new rd({props:{onRefresh:l[2]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Rd(l){let e,t;return e=new ld({props:{appConfig:l[1],onSave:l[5]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i&2&&(o.appConfig=n[1]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function Od(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w;d=new $f({props:{activeSection:l[0],onSelect:l[3]}});const j=[Rd,Ld,Pd,Fd,Ad,Id,Md,Nd],S=[];function D(T,E){return T[0]==="general"?0:T[0]==="workspace"?1:T[0]==="templates"?2:T[0]==="plugins"?3:T[0]==="files"?4:T[0]==="activity"?5:T[0]==="sync"?6:T[0]==="backup"?7:-1}return~(h=D(l))&&(b=S[h]=j[h](l)),{c(){e=f("button"),t=f("div"),n=f("div"),i=f("h2"),i.textContent=`${p("settings.title")}`,o=g(),r=f("button"),r.innerHTML='',u=g(),c=f("div"),Je(d.$$.fragment),v=g(),_=f("div"),b&&b.c(),s(i,"class","svelte-zf2zsc"),s(r,"class","close-btn svelte-zf2zsc"),s(r,"title",p("settings.close")),s(n,"class","settings-header svelte-zf2zsc"),s(_,"class","settings-content svelte-zf2zsc"),s(c,"class","settings-body svelte-zf2zsc"),s(t,"class","settings-window svelte-zf2zsc"),s(e,"class","settings-overlay svelte-zf2zsc")},m(T,E){C(T,e,E),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,u),a(t,c),Ke(d,c,null),a(c,v),a(c,_),~h&&S[h].m(_,null),k=!0,y||(w=[M(Dd,"keydown",l[7]),M(r,"click",l[4]),M(e,"click",pt(l[4]))],y=!0)},p(T,[E]){const I={};E&1&&(I.activeSection=T[0]),d.$set(I);let N=h;h=D(T),h===N?~h&&S[h].p(T,E):(b&&(it(),me(S[N],1,1,()=>{S[N]=null}),st()),~h?(b=S[h],b?b.p(T,E):(b=S[h]=j[h](T),b.c()),ae(b,1),b.m(_,null)):b=null)},i(T){k||(ae(d.$$.fragment,T),ae(b),k=!0)},o(T){me(d.$$.fragment,T),me(b),k=!1},d(T){T&&z(e),Ge(d),~h&&S[h].d(),y=!1,ve(w)}}}function ki(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Vd(l,e,t){let{onClose:n=null}=e,{onSyncRefresh:i=null}=e,{initialSection:o="general"}=e,r=o,u=null;async function c(){try{t(1,u=await ki("GetAppConfig"))}catch{t(1,u=null)}}c();function d(k){t(0,r=k)}function v(){n&&n()}async function _(k){try{await ki("SaveAppConfig",k),t(1,u=k)}catch(y){console.error(y)}}function h(){i&&i()}function b(k){k.key==="Escape"&&v()}return l.$$set=k=>{"onClose"in k&&t(8,n=k.onClose),"onSyncRefresh"in k&&t(9,i=k.onSyncRefresh),"initialSection"in k&&t(10,o=k.initialSection)},[r,u,c,d,v,_,h,b,n,i,o]}class Wd extends et{constructor(e){super(),$e(this,e,Vd,Od,xe,{onClose:8,onSyncRefresh:9,initialSection:10})}}function Bd(l){let e,t,n,i,o,r,u,c;return{c(){e=f("div"),t=f("span"),n=g(),i=f("span"),i.textContent=`${p("sync.status.disabled")}`,o=g(),r=f("button"),r.textContent=`${p("sync.configure")}`,s(t,"class","sync-dot dot-disabled svelte-1rxbx0"),s(i,"class","sync-label svelte-1rxbx0"),s(r,"class","btn btn-xs svelte-1rxbx0"),s(e,"class","sync-status-row svelte-1rxbx0")},m(d,v){C(d,e,v),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),u||(c=M(r,"click",function(){vt(l[5])&&l[5].apply(this,arguments)}),u=!0)},p(d,v){l=d},d(d){d&&z(e),u=!1,c()}}}function Hd(l){let e,t,n,i,o,r=l[7](l[0])+"",u,c,d,v,_,h=(l[1]?p("sync.running"):p("sync.run"))+"",b,k,y,w,j,S,D,T=l[0].unpushedOps>0&&yi(l),E=l[2]&&wi(l);return{c(){e=f("div"),t=f("span"),i=g(),o=f("span"),u=A(r),c=g(),T&&T.c(),d=g(),v=f("div"),_=f("button"),b=A(h),k=g(),y=f("button"),y.textContent=`${p("sync.details")}`,w=g(),E&&E.c(),j=ot(),s(t,"class",n="sync-dot "+l[6](l[0])+" svelte-1rxbx0"),s(o,"class","sync-label svelte-1rxbx0"),s(_,"class","btn btn-xs svelte-1rxbx0"),_.disabled=l[1],s(y,"class","btn btn-xs btn-link svelte-1rxbx0"),s(v,"class","sync-actions-row svelte-1rxbx0"),s(e,"class","sync-status-row svelte-1rxbx0")},m(I,N){C(I,e,N),a(e,t),a(e,i),a(e,o),a(o,u),a(e,c),T&&T.m(e,null),a(e,d),a(e,v),a(v,_),a(_,b),a(v,k),a(v,y),C(I,w,N),E&&E.m(I,N),C(I,j,N),S||(D=[M(_,"click",function(){vt(l[4])&&l[4].apply(this,arguments)}),M(y,"click",function(){vt(l[5])&&l[5].apply(this,arguments)})],S=!0)},p(I,N){l=I,N&1&&n!==(n="sync-dot "+l[6](l[0])+" svelte-1rxbx0")&&s(t,"class",n),N&1&&r!==(r=l[7](l[0])+"")&&B(u,r),l[0].unpushedOps>0?T?T.p(l,N):(T=yi(l),T.c(),T.m(e,d)):T&&(T.d(1),T=null),N&2&&h!==(h=(l[1]?p("sync.running"):p("sync.run"))+"")&&B(b,h),N&2&&(_.disabled=l[1]),l[2]?E?E.p(l,N):(E=wi(l),E.c(),E.m(j.parentNode,j)):E&&(E.d(1),E=null)},d(I){I&&(z(e),z(w),z(j)),T&&T.d(),E&&E.d(I),S=!1,ve(D)}}}function yi(l){let e,t=l[0].unpushedOps+"",n,i,o=p("sync.changes")+"",r;return{c(){e=f("span"),n=A(t),i=g(),r=A(o),s(e,"class","sync-count svelte-1rxbx0")},m(u,c){C(u,e,c),a(e,n),a(e,i),a(e,r)},p(u,c){c&1&&t!==(t=u[0].unpushedOps+"")&&B(n,t)},d(u){u&&z(e)}}}function wi(l){let e,t,n;return{c(){e=f("div"),t=A(l[2]),s(e,"class",n=Ln(l[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")},m(i,o){C(i,e,o),a(e,t)},p(i,o){o&4&&B(t,i[2]),o&8&&n!==(n=Ln(i[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")&&s(e,"class",n)},d(i){i&&z(e)}}}function Ud(l){let e;function t(o,r){var u;return(u=o[0])!=null&&u.configured?Hd:Bd}let n=t(l),i=n(l);return{c(){e=f("div"),i.c(),s(e,"class","sync-status-widget svelte-1rxbx0")},m(o,r){C(o,e,r),i.m(e,null)},p(o,[r]){n===(n=t(o))&&i?i.p(o,r):(i.d(1),i=n(o),i&&(i.c(),i.m(e,null)))},i:$,o:$,d(o){o&&z(e),i.d()}}}function Kd(l,e,t){let{syncStatus:n=null}=e,{syncLoading:i=!1}=e,{syncMessage:o=""}=e,{syncMessageKind:r=""}=e,{onSync:u=null}=e,{onOpenSettings:c=null}=e;function d(_){return!_||!_.configured?"dot-disabled":i?"dot-syncing":_.revoked?"dot-disabled":_.connected?"dot-connected":_.configured?"dot-warning":"dot-disabled"}function v(_){return!_||!_.configured?p("sync.status.disabled"):i?p("sync.status.syncing"):_.revoked?p("sync.status.error"):_.connected?p("sync.status.connected"):p("sync.status.disconnected")}return l.$$set=_=>{"syncStatus"in _&&t(0,n=_.syncStatus),"syncLoading"in _&&t(1,i=_.syncLoading),"syncMessage"in _&&t(2,o=_.syncMessage),"syncMessageKind"in _&&t(3,r=_.syncMessageKind),"onSync"in _&&t(4,u=_.onSync),"onOpenSettings"in _&&t(5,c=_.onOpenSettings)},[n,i,o,r,u,c,d,v]}class Gd extends et{constructor(e){super(),$e(this,e,Kd,Ud,xe,{syncStatus:0,syncLoading:1,syncMessage:2,syncMessageKind:3,onSync:4,onOpenSettings:5})}}const{Boolean:sr}=Jl;function zi(l,e,t){const n=l.slice();return n[342]=e[t],n}function Ci(l,e,t){const n=l.slice();return n[345]=e[t],n}function Si(l,e,t){const n=l.slice();return n[345]=e[t],n}function ji(l,e,t){const n=l.slice();return n[366]=e[t],n}function Ti(l,e,t){const n=l.slice();return n[366]=e[t],n}function Ei(l,e,t){const n=l.slice();return n[405]=e[t],n}function Di(l,e,t){const n=l.slice();return n[366]=e[t],n}function Ni(l,e,t){const n=l.slice();return n[369]=e[t],n[410]=e,n[411]=t,n}function Mi(l,e,t){const n=l.slice();return n[366]=e[t],n}function Ii(l,e,t){const n=l.slice();return n[387]=e[t],n}function Ai(l,e,t){const n=l.slice();return n[366]=e[t],n}function Fi(l,e,t){const n=l.slice();return n[392]=e[t],n}function Pi(l,e,t){const n=l.slice();return n[392]=e[t],n}function Li(l,e,t){const n=l.slice();return n[369]=e[t],n[397]=e,n[398]=t,n}function Ri(l,e,t){const n=l.slice();return n[366]=e[t],n}function Oi(l,e,t){const n=l.slice();return n[387]=e[t],n}function Vi(l,e,t){const n=l.slice();return n[381]=e[t],n}function Wi(l,e,t){const n=l.slice();return n[384]=e[t],n}function Bi(l,e,t){const n=l.slice();return n[358]=e[t],n}function Hi(l,e,t){const n=l.slice();return n[366]=e[t],n}function Ui(l,e,t){const n=l.slice();return n[350]=e[t],n}function Ki(l,e,t){const n=l.slice();return n[366]=e[t],n}function Gi(l,e,t){const n=l.slice();return n[369]=e[t],n[370]=e,n[371]=t,n}function Ji(l,e,t){const n=l.slice();return n[366]=e[t],n}function qi(l,e,t){const n=l.slice();return n[361]=e[t],n}function Yi(l,e,t){const n=l.slice();return n[358]=e[t],n}function Qi(l,e,t){const n=l.slice();return n[353]=e[t],n}function Xi(l,e,t){const n=l.slice();return n[350]=e[t],n}function Zi(l,e,t){const n=l.slice();return n[353]=e[t],n}function xi(l,e,t){const n=l.slice();return n[376]=e[t],n}function $i(l,e,t){const n=l.slice();return n[416]=e[t],n}function es(l,e,t){const n=l.slice();return n[419]=e[t],n}function Jd(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j,S,D,T,E,I,N,L,W,V,G,q,Y,H,U,J,R,K,P,O,x,re,ee,ie,ne,oe,ue,we,Be,Ae,X,Z,fe,ze,pe=ce(l[4]),be=[];for(let te=0;te0?0:1}D=lt(l),T=Qe[D]=qe[D](l),N=new Gd({props:{syncStatus:l[83],syncLoading:l[84],syncMessage:l[85],syncMessageKind:l[86],onSync:l[177],onOpenSettings:l[182]}});function He(te,De){return te[26]?$d:te[25]?xd:Zd}let Pe=He(l),Me=Pe(l),ke=l[24]&&is(l);const Oe=[rm,om,sm,im,nm,lm,tm,em],Ce=[];function Ve(te,De){return te[29]?0:te[26]?1:te[25]==="inbox"?2:te[25]==="trash"?3:te[25]==="journal"?4:te[25]==="today"&&te[7]?5:te[25]==="activity"?6:7}re=Ve(l),ee=Ce[re]=Oe[re](l);let ye=l[47]&&So(l),Se=l[51].visible&&Eo(l),Te=l[32]&&Io(l),je=l[54]&&Ao(l),Ie=l[61]&&l[60]&&Po(l),Ue=l[80]&&Ro(l),Ee=l[75]&&Vo(l),_e=l[3]&&Wo(l);return{c(){e=f("div"),t=f("aside"),n=f("div"),i=f("span"),i.textContent="⚒",o=g(),r=f("span"),r.textContent=`${p("nav.brand")}`,u=g(),c=f("nav"),d=f("div"),v=f("div"),v.textContent=`${p("nav.system")}`,_=g();for(let te=0;te',G=g(),q=f("span"),Y=A(l[23]),H=g(),U=f("main"),J=f("header"),R=f("div"),Me.c(),K=g(),P=f("div"),P.innerHTML="",O=g(),ke&&ke.c(),x=g(),ee.c(),ie=g(),ye&&ye.c(),ne=g(),Se&&Se.c(),oe=g(),Te&&Te.c(),ue=g(),je&&je.c(),we=g(),Ie&&Ie.c(),Be=g(),Ue&&Ue.c(),Ae=g(),Ee&&Ee.c(),X=g(),_e&&_e.c(),s(i,"class","logo svelte-iu6zme"),s(r,"class","brand-name svelte-iu6zme"),s(n,"class","sidebar-brand svelte-iu6zme"),s(v,"class","nav-label svelte-iu6zme"),s(d,"class","nav-group svelte-iu6zme"),s(y,"class","svelte-iu6zme"),s(j,"class","nav-add-btn svelte-iu6zme"),s(j,"title",p("common.create")),s(k,"class","nav-label-row svelte-iu6zme"),s(b,"class","nav-group svelte-iu6zme"),s(c,"class","sidebar-nav svelte-iu6zme"),s(V,"class","sidebar-settings-btn svelte-iu6zme"),s(V,"title",p("common.settings")),s(q,"class","version svelte-iu6zme"),s(W,"class","sidebar-footer-row svelte-iu6zme"),s(I,"class","sidebar-footer svelte-iu6zme"),s(t,"class","sidebar svelte-iu6zme"),s(R,"class","header-left svelte-iu6zme"),s(P,"class","header-right svelte-iu6zme"),s(J,"class","header svelte-iu6zme"),s(U,"class","main svelte-iu6zme"),s(e,"class","app svelte-iu6zme")},m(te,De){C(te,e,De),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,u),a(t,c),a(c,d),a(d,v),a(d,_);for(let Ye=0;Ye{Qe[Ye]=null}),st(),T=Qe[D],T?T.p(te,De):(T=Qe[D]=qe[D](te),T.c()),ae(T,1),T.m(b,null));const ct={};De[2]&2097152&&(ct.syncStatus=te[83]),De[2]&4194304&&(ct.syncLoading=te[84]),De[2]&8388608&&(ct.syncMessage=te[85]),De[2]&16777216&&(ct.syncMessageKind=te[86]),N.$set(ct),(!Z||De[0]&8388608)&&B(Y,te[23]),Pe===(Pe=He(te))&&Me?Me.p(te,De):(Me.d(1),Me=Pe(te),Me&&(Me.c(),Me.m(R,null))),te[24]?ke?ke.p(te,De):(ke=is(te),ke.c(),ke.m(U,x)):ke&&(ke.d(1),ke=null);let Le=re;re=Ve(te),re===Le?Ce[re].p(te,De):(it(),me(Ce[Le],1,1,()=>{Ce[Le]=null}),st(),ee=Ce[re],ee?ee.p(te,De):(ee=Ce[re]=Oe[re](te),ee.c()),ae(ee,1),ee.m(U,ie)),te[47]?ye?(ye.p(te,De),De[1]&65536&&ae(ye,1)):(ye=So(te),ye.c(),ae(ye,1),ye.m(U,ne)):ye&&(it(),me(ye,1,1,()=>{ye=null}),st()),te[51].visible?Se?(Se.p(te,De),De[1]&1048576&&ae(Se,1)):(Se=Eo(te),Se.c(),ae(Se,1),Se.m(U,oe)):Se&&(it(),me(Se,1,1,()=>{Se=null}),st()),te[32]?Te?Te.p(te,De):(Te=Io(te),Te.c(),Te.m(U,ue)):Te&&(Te.d(1),Te=null),te[54]?je?je.p(te,De):(je=Ao(te),je.c(),je.m(U,we)):je&&(je.d(1),je=null),te[61]&&te[60]?Ie?Ie.p(te,De):(Ie=Po(te),Ie.c(),Ie.m(U,Be)):Ie&&(Ie.d(1),Ie=null),te[80]?Ue?Ue.p(te,De):(Ue=Ro(te),Ue.c(),Ue.m(U,Ae)):Ue&&(Ue.d(1),Ue=null),te[75]?Ee?(Ee.p(te,De),De[2]&8192&&ae(Ee,1)):(Ee=Vo(te),Ee.c(),ae(Ee,1),Ee.m(U,X)):Ee&&(it(),me(Ee,1,1,()=>{Ee=null}),st()),te[3]?_e?(_e.p(te,De),De[0]&8&&ae(_e,1)):(_e=Wo(te),_e.c(),ae(_e,1),_e.m(U,null)):_e&&(it(),me(_e,1,1,()=>{_e=null}),st())},i(te){Z||(ae(T),ae(N.$$.fragment,te),ae(ee),ae(ye),ae(Se),ae(Ee),ae(_e),Z=!0)},o(te){me(T),me(N.$$.fragment,te),me(ee),me(ye),me(Se),me(Ee),me(_e),Z=!1},d(te){te&&z(e),Fe(be,te),Qe[D].d(),Ge(N),Me.d(),ke&&ke.d(),Ce[re].d(),ye&&ye.d(),Se&&Se.d(),Te&&Te.d(),je&&je.d(),Ie&&Ie.d(),Ue&&Ue.d(),Ee&&Ee.d(),_e&&_e.d(),fe=!1,ve(ze)}}}function qd(l){var n;let e,t;return e=new Hf({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[179]}}),{c(){Je(e.$$.fragment)},m(i,o){Ke(e,i,o),t=!0},p(i,o){var u;const r={};o[0]&1&&(r.vaultPath=((u=i[0])==null?void 0:u.vaultPath)||""),e.$set(r)},i(i){t||(ae(e.$$.fragment,i),t=!0)},o(i){me(e.$$.fragment,i),t=!1},d(i){Ge(e,i)}}}function Yd(l){let e,t;return e=new Vf({props:{onComplete:l[178]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function ts(l){let e,t;return{c(){e=f("span"),t=A(l[42]),s(e,"class","nav-badge svelte-iu6zme")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i[1]&2048&&B(t,n[42])},d(n){n&&z(e)}}}function ls(l){let e,t=l[419].label+"",n,i,o,r,u,c,d=l[419].id==="journal"&&l[42]>0&&ts(l);function v(){return l[181](l[419])}return{c(){e=f("button"),n=A(t),i=g(),d&&d.c(),o=g(),s(e,"class",r="nav-item "+(l[25]===l[419].id?"selected":"")+" svelte-iu6zme")},m(_,h){C(_,e,h),a(e,n),a(e,i),d&&d.m(e,null),a(e,o),u||(c=M(e,"click",v),u=!0)},p(_,h){l=_,h[0]&16&&t!==(t=l[419].label+"")&&B(n,t),l[419].id==="journal"&&l[42]>0?d?d.p(l,h):(d=ts(l),d.c(),d.m(e,o)):d&&(d.d(1),d=null),h[0]&33554448&&r!==(r="nav-item "+(l[25]===l[419].id?"selected":"")+" svelte-iu6zme")&&s(e,"class",r)},d(_){_&&z(e),d&&d.d(),u=!1,c()}}}function Qd(l){let e;return{c(){e=f("div"),e.textContent=`${p("nav.noNodes")}`,s(e,"class","nav-empty svelte-iu6zme")},m(t,n){C(t,e,n)},p:$,i:$,o:$,d(t){t&&z(e)}}}function Xd(l){var r;let e,t,n,i,o;return t=new ir({props:{nodes:l[5],expanded:l[62],selectedNodeId:((r=l[26])==null?void 0:r.id)||"",onSelect:l[92],onToggle:l[122],onContextMenu:l[120],onDrop:l[123]}}),{c(){e=f("div"),Je(t.$$.fragment),s(e,"class","workspace-tree-area svelte-iu6zme"),s(e,"role","region"),s(e,"aria-label",p("nav.workspace")),he(e,"drop-valid",l[73])},m(u,c){C(u,e,c),Ke(t,e,null),n=!0,i||(o=[M(e,"dragover",ql(l[125])),M(e,"dragleave",l[126]),M(e,"drop",l[124])],i=!0)},p(u,c){var v;const d={};c[0]&32&&(d.nodes=u[5]),c[2]&1&&(d.expanded=u[62]),c[0]&67108864&&(d.selectedNodeId=((v=u[26])==null?void 0:v.id)||""),t.$set(d),(!n||c[2]&2048)&&he(e,"drop-valid",u[73])},i(u){n||(ae(t.$$.fragment,u),n=!0)},o(u){me(t.$$.fragment,u),n=!1},d(u){u&&z(e),Ge(t),i=!1,ve(o)}}}function Zd(l){let e;return{c(){e=f("span"),e.textContent=`${p("nav.selectPrompt")}`,s(e,"class","crumb placeholder svelte-iu6zme")},m(t,n){C(t,e,n)},p:$,d(t){t&&z(e)}}}function xd(l){let e,t=ce(l[4]),n=[];for(let i=0;i',s(o,"class","dismiss-btn svelte-iu6zme"),s(o,"aria-label","Dismiss"),s(e,"class","error-banner svelte-iu6zme"),s(e,"role","button"),s(e,"tabindex","0")},m(c,d){C(c,e,d),a(e,n),a(e,i),a(e,o),r||(u=[M(o,"click",We(l[184])),M(e,"click",l[185]),M(e,"keydown",function(){vt(ft(l[186]))&&ft(l[186]).apply(this,arguments)})],r=!0)},p(c,d){l=c,d[0]&16777216&&t!==(t=l[88](l[24])+"")&&B(n,t)},d(c){c&&z(e),r=!1,ve(u)}}}function em(l){let e,t,n;function i(u,c){if(u[58])return um;if(u[4].length>0)return cm;if(u[24])return am}let o=i(l),r=o&&o(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("welcome.title")}`,n=g(),r&&r.c(),s(t,"class","svelte-iu6zme"),s(e,"class","welcome svelte-iu6zme")},m(u,c){C(u,e,c),a(e,t),a(e,n),r&&r.m(e,null)},p(u,c){o===(o=i(u))&&r?r.p(u,c):(r&&r.d(1),r=o&&o(u),r&&(r.c(),r.m(e,null)))},i:$,o:$,d(u){u&&z(e),r&&r.d()}}}function tm(l){let e,t,n,i;function o(c,d){return c[8].length===0?dm:fm}let r=o(l),u=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("activity.title")}`,i=g(),u.c(),s(n,"class","svelte-iu6zme"),s(t,"class","activity-feed-header svelte-iu6zme"),s(e,"class","activity-feed svelte-iu6zme")},m(c,d){C(c,e,d),a(e,t),a(t,n),a(e,i),u.m(e,null)},p(c,d){r===(r=o(c))&&u?u.p(c,d):(u.d(1),u=r(c),u&&(u.c(),u.m(e,null)))},i:$,o:$,d(c){c&&z(e),u.d()}}}function lm(l){let e,t,n,i,o,r=l[7].date+"",u,c,d,v,_=l[7].summary&&rs(l),h=l[41].length>0&&fs(l);function b(w,j){return w[7].groups&&w[7].groups.length>0?pm:mm}let k=b(l),y=k(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("today.title")}`,i=g(),o=f("span"),u=A(r),c=g(),_&&_.c(),d=g(),h&&h.c(),v=g(),y.c(),s(n,"class","svelte-iu6zme"),s(o,"class","today-date svelte-iu6zme"),s(t,"class","today-header svelte-iu6zme"),s(e,"class","today-dashboard svelte-iu6zme")},m(w,j){C(w,e,j),a(e,t),a(t,n),a(t,i),a(t,o),a(o,u),a(e,c),_&&_.m(e,null),a(e,d),h&&h.m(e,null),a(e,v),y.m(e,null)},p(w,j){j[0]&128&&r!==(r=w[7].date+"")&&B(u,r),w[7].summary?_?_.p(w,j):(_=rs(w),_.c(),_.m(e,d)):_&&(_.d(1),_=null),w[41].length>0?h?h.p(w,j):(h=fs(w),h.c(),h.m(e,v)):h&&(h.d(1),h=null),k===(k=b(w))&&y?y.p(w,j):(y.d(1),y=k(w),y&&(y.c(),y.m(e,null)))},i:$,o:$,d(w){w&&z(e),_&&_.d(),h&&h.d(),y.d()}}}function nm(l){let e,t,n,i,o,r,u,c,d,v,_,h,b,k,y,w,j,S,D,T,E,I,N,L,W,V,G,q,Y,H,U,J,R,K,P,O,x,re,ee,ie,ne,oe,ue,we,Be,Ae,X,Z,fe,ze,pe,be,qe,Qe,lt,He,Pe,Me,ke;function Oe(_e,te){return _e[17]?gm:hm}let Ce=Oe(l),Ve=Ce(l),ye=l[14]&&Cs(l),Se=l[18]&&Ss(l),Te=l[41].length>0&&js(l),je=l[10]&&Ms(l);function Ie(_e,te){return _e[9].length===0?km:bm}let Ue=Ie(l),Ee=Ue(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("journal.title")}`,i=g(),o=f("div"),r=f("div"),r.textContent=`${p("journal.filterHeading")}`,u=g(),c=f("div"),d=f("label"),v=f("span"),v.textContent=`${p("journal.dateFrom")}`,_=g(),h=f("input"),b=g(),k=f("label"),y=f("span"),y.textContent=`${p("journal.dateTo")}`,w=g(),j=f("input"),S=g(),D=f("label"),T=f("span"),T.textContent=`${p("journal.node")}`,E=g(),I=f("div"),Ve.c(),N=g(),ye&&ye.c(),L=g(),W=f("label"),V=f("span"),V.textContent=`${p("journal.billable")}`,G=g(),q=f("select"),Y=f("option"),Y.textContent=`${p("common.all")}`,H=f("option"),H.textContent=`${p("journal.billableYes")}`,U=f("option"),U.textContent=`${p("journal.billableNo")}`,J=g(),R=f("label"),K=f("span"),K.textContent=`${p("journal.approx")}`,P=g(),O=f("select"),x=f("option"),x.textContent=`${p("common.all")}`,re=f("option"),re.textContent=`${p("journal.approxExact")}`,ee=f("option"),ee.textContent=`${p("journal.approxEstimated")}`,ie=g(),ne=f("button"),ne.textContent=`${p("journal.filter")}`,oe=g(),ue=f("button"),ue.textContent=`${p("journal.reset")}`,we=g(),Be=f("div"),Ae=f("div"),Ae.textContent=`${p("journal.exportHeading")}`,X=g(),Z=f("div"),fe=f("button"),fe.textContent=`${p("journal.exportCSV")}`,ze=g(),pe=f("button"),pe.textContent=`${p("journal.exportMarkdown")}`,be=g(),qe=f("button"),qe.textContent="PDF",Qe=g(),Se&&Se.c(),lt=g(),Te&&Te.c(),He=g(),je&&je.c(),Pe=g(),Ee.c(),s(n,"class","svelte-iu6zme"),s(r,"class","journal-filter-heading svelte-iu6zme"),s(v,"class","label-text svelte-iu6zme"),s(h,"type","date"),s(h,"class","svelte-iu6zme"),s(d,"class","svelte-iu6zme"),s(y,"class","label-text svelte-iu6zme"),s(j,"type","date"),s(j,"class","svelte-iu6zme"),s(k,"class","svelte-iu6zme"),s(T,"class","label-text svelte-iu6zme"),s(I,"class","journal-node-picker svelte-iu6zme"),ut(I,"position","relative"),s(D,"class","svelte-iu6zme"),s(V,"class","label-text svelte-iu6zme"),Y.__value="all",ge(Y,Y.__value),s(Y,"class","svelte-iu6zme"),H.__value="yes",ge(H,H.__value),s(H,"class","svelte-iu6zme"),U.__value="no",ge(U,U.__value),s(U,"class","svelte-iu6zme"),s(q,"class","svelte-iu6zme"),l[15]===void 0&&jt(()=>l[242].call(q)),s(W,"title",p("journal.billableHint")),s(W,"class","svelte-iu6zme"),s(K,"class","label-text svelte-iu6zme"),x.__value="all",ge(x,x.__value),s(x,"class","svelte-iu6zme"),re.__value="no",ge(re,re.__value),s(re,"class","svelte-iu6zme"),ee.__value="yes",ge(ee,ee.__value),s(ee,"class","svelte-iu6zme"),s(O,"class","svelte-iu6zme"),l[16]===void 0&&jt(()=>l[243].call(O)),s(R,"title",p("journal.approxHint")),s(R,"class","svelte-iu6zme"),s(ne,"class","btn btn-sm svelte-iu6zme"),s(ue,"class","btn btn-sm svelte-iu6zme"),s(c,"class","journal-filters-row svelte-iu6zme"),s(o,"class","journal-filter-section svelte-iu6zme"),s(Ae,"class","journal-export-heading svelte-iu6zme"),s(fe,"class","btn btn-sm svelte-iu6zme"),s(pe,"class","btn btn-sm svelte-iu6zme"),s(qe,"class","btn btn-sm svelte-iu6zme"),s(Z,"class","journal-export-row svelte-iu6zme"),s(Be,"class","journal-export-section svelte-iu6zme"),s(t,"class","journal-header svelte-iu6zme"),s(e,"class","journal-screen svelte-iu6zme")},m(_e,te){C(_e,e,te),a(e,t),a(t,n),a(t,i),a(t,o),a(o,r),a(o,u),a(o,c),a(c,d),a(d,v),a(d,_),a(d,h),ge(h,l[11]),a(c,b),a(c,k),a(k,y),a(k,w),a(k,j),ge(j,l[12]),a(c,S),a(c,D),a(D,T),a(D,E),a(D,I),Ve.m(I,null),a(c,N),ye&&ye.m(c,null),a(c,L),a(c,W),a(W,V),a(W,G),a(W,q),a(q,Y),a(q,H),a(q,U),_t(q,l[15],!0),a(c,J),a(c,R),a(R,K),a(R,P),a(R,O),a(O,x),a(O,re),a(O,ee),_t(O,l[16],!0),a(c,ie),a(c,ne),a(c,oe),a(c,ue),a(t,we),a(t,Be),a(Be,Ae),a(Be,X),a(Be,Z),a(Z,fe),a(Z,ze),a(Z,pe),a(Z,be),a(Z,qe),a(Z,Qe),Se&&Se.m(Z,null),a(e,lt),Te&&Te.m(e,null),a(e,He),je&&je.m(e,null),a(e,Pe),Ee.m(e,null),Me||(ke=[M(h,"input",l[235]),M(j,"input",l[236]),M(q,"change",l[242]),M(O,"change",l[243]),M(ne,"click",l[145]),M(ue,"click",l[152]),M(fe,"click",l[244]),M(pe,"click",l[245]),M(qe,"click",l[246])],Me=!0)},p(_e,te){te[0]&2048&&ge(h,_e[11]),te[0]&4096&&ge(j,_e[12]),Ce===(Ce=Oe(_e))&&Ve?Ve.p(_e,te):(Ve.d(1),Ve=Ce(_e),Ve&&(Ve.c(),Ve.m(I,null))),_e[14]?ye?ye.p(_e,te):(ye=Cs(_e),ye.c(),ye.m(c,L)):ye&&(ye.d(1),ye=null),te[0]&32768&&_t(q,_e[15]),te[0]&65536&&_t(O,_e[16]),_e[18]?Se?Se.p(_e,te):(Se=Ss(_e),Se.c(),Se.m(Z,null)):Se&&(Se.d(1),Se=null),_e[41].length>0?Te?Te.p(_e,te):(Te=js(_e),Te.c(),Te.m(e,He)):Te&&(Te.d(1),Te=null),_e[10]?je?je.p(_e,te):(je=Ms(_e),je.c(),je.m(e,Pe)):je&&(je.d(1),je=null),Ue===(Ue=Ie(_e))&&Ee?Ee.p(_e,te):(Ee.d(1),Ee=Ue(_e),Ee&&(Ee.c(),Ee.m(e,null)))},i:$,o:$,d(_e){_e&&z(e),Ve.d(),ye&&ye.d(),Se&&Se.d(),Te&&Te.d(),je&&je.d(),Ee.d(),Me=!1,ve(ke)}}}function im(l){var j;let e,t,n,i,o,r,u=(((j=l[46])==null?void 0:j.trashPath)||"")+"",c,d,v,_,h,b;function k(S,D){return!S[46]||(S[46].nodes||[]).length===0&&(S[46].entries||[]).length===0?Em:Tm}let y=k(l),w=y(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("h2"),i.textContent=`${p("nav.trash")}`,o=g(),r=f("p"),c=A(u),d=g(),v=f("button"),v.textContent=`${p("trash.openFolder")}`,_=g(),w.c(),s(i,"class","svelte-iu6zme"),s(r,"class","svelte-iu6zme"),s(n,"class","svelte-iu6zme"),s(v,"class","btn btn-sm svelte-iu6zme"),s(t,"class","trash-header svelte-iu6zme"),s(e,"class","trash-screen svelte-iu6zme")},m(S,D){C(S,e,D),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(r,c),a(t,d),a(t,v),a(e,_),w.m(e,null),h||(b=M(v,"click",l[234]),h=!0)},p(S,D){var T;D[1]&32768&&u!==(u=(((T=S[46])==null?void 0:T.trashPath)||"")+"")&&B(c,u),y===(y=k(S))&&w?w.p(S,D):(w.d(1),w=y(S),w&&(w.c(),w.m(e,null)))},i:$,o:$,d(S){S&&z(e),w.d(),h=!1,b()}}}function sm(l){let e,t,n,i,o,r,u,c,d,v=(l[44]?p("common.loading"):p("inbox.pasteClipboard"))+"",_,h,b,k,y,w=l[45]&&Js(l);function j(T,E){return T[43].length===0?Fm:Am}let S=j(l),D=S(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("h2"),i.textContent=`${p("nav.inbox")}`,o=g(),r=f("p"),r.textContent=`${p("inbox.subtitle")}`,u=g(),c=f("div"),d=f("button"),_=A(v),h=g(),w&&w.c(),b=g(),D.c(),s(i,"class","svelte-iu6zme"),s(r,"class","svelte-iu6zme"),s(n,"class","svelte-iu6zme"),s(d,"class","btn btn-primary svelte-iu6zme"),d.disabled=l[44],s(c,"class","inbox-header-actions svelte-iu6zme"),s(t,"class","inbox-header svelte-iu6zme"),s(e,"class","inbox-screen svelte-iu6zme"),s(e,"role","region"),s(e,"aria-label",p("nav.inbox")),he(e,"drop-valid",l[74])},m(T,E){C(T,e,E),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,u),a(t,c),a(c,d),a(d,_),a(c,h),w&&w.m(c,null),a(e,b),D.m(e,null),k||(y=[M(d,"click",l[162]),M(e,"dragover",l[163]),M(e,"dragleave",l[164]),M(e,"drop",l[165])],k=!0)},p(T,E){E[1]&8192&&v!==(v=(T[44]?p("common.loading"):p("inbox.pasteClipboard"))+"")&&B(_,v),E[1]&8192&&(d.disabled=T[44]),T[45]?w?w.p(T,E):(w=Js(T),w.c(),w.m(c,null)):w&&(w.d(1),w=null),S===(S=j(T))&&D?D.p(T,E):(D.d(1),D=S(T),D&&(D.c(),D.m(e,null))),E[2]&4096&&he(e,"drop-valid",T[74])},i:$,o:$,d(T){T&&z(e),w&&w.d(),D.d(),k=!1,ve(y)}}}function om(l){let e,t,n,i,o,r,u=ce(l[90]),c=[];for(let h=0;h{v[k]=null}),st()),~i?(o=v[i],o?o.p(h,b):(o=v[i]=d[i](h),o.c()),ae(o,1),o.m(n,null)):o=null)},i(h){r||(ae(o),r=!0)},o(h){me(o),r=!1},d(h){h&&(z(e),z(t),z(n)),Fe(c,h),~i&&v[i].d()}}}function rm(l){let e,t,n,i=l[29].title+"",o,r,u,c,d,v,_,h,b,k,y,w=l[29].dirty&&Co();return{c(){e=f("div"),t=f("div"),n=f("span"),o=A(i),r=g(),w&&w.c(),u=g(),c=f("div"),d=f("button"),d.textContent=`${p("common.save")}`,v=g(),_=f("button"),_.textContent=`${p("common.close")}`,h=g(),b=f("textarea"),s(n,"class","note-title svelte-iu6zme"),s(d,"class","btn btn-primary svelte-iu6zme"),s(_,"class","btn svelte-iu6zme"),s(c,"class","note-editor-actions svelte-iu6zme"),s(t,"class","note-editor-header svelte-iu6zme"),s(b,"class","note-textarea svelte-iu6zme"),s(b,"placeholder",p("note.placeholder")),s(e,"class","note-editor svelte-iu6zme")},m(j,S){C(j,e,S),a(e,t),a(t,n),a(n,o),a(t,r),w&&w.m(t,null),a(t,u),a(t,c),a(c,d),a(c,v),a(c,_),a(e,h),a(e,b),ge(b,l[29].content),k||(y=[M(d,"click",l[137]),M(_,"click",l[135]),M(b,"input",l[187]),M(b,"input",l[136])],k=!0)},p(j,S){S[0]&536870912&&i!==(i=j[29].title+"")&&B(o,i),j[29].dirty?w||(w=Co(),w.c(),w.m(t,u)):w&&(w.d(1),w=null),S[0]&536870912&&ge(b,j[29].content)},i:$,o:$,d(j){j&&z(e),w&&w.d(),k=!1,ve(y)}}}function am(l){let e,t=p("common.error")+"",n,i,o;return{c(){e=f("p"),n=A(t),i=g(),o=A(l[24]),s(e,"class","error-text svelte-iu6zme")},m(r,u){C(r,e,u),a(e,n),a(e,i),a(e,o)},p(r,u){u[0]&16777216&&B(o,r[24])},d(r){r&&z(e)}}}function cm(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${p("welcome.selectSection")}`,t=g(),n=f("p"),n.textContent=`${p("welcome.createCase")}`,s(e,"class","svelte-iu6zme"),s(n,"class","hint svelte-iu6zme")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},p:$,d(i){i&&(z(e),z(t),z(n))}}}function um(l){let e;return{c(){e=f("p"),e.textContent=`${p("common.loading")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},p:$,d(t){t&&z(e)}}}function fm(l){let e,t=ce(l[8]),n=[];for(let i=0;i0&&as(l),o=l[7].summary.notes>0&&cs(l),r=l[7].summary.files>0&&us(l);return{c(){e=f("div"),i&&i.c(),t=g(),o&&o.c(),n=g(),r&&r.c(),s(e,"class","today-summary svelte-iu6zme")},m(u,c){C(u,e,c),i&&i.m(e,null),a(e,t),o&&o.m(e,null),a(e,n),r&&r.m(e,null)},p(u,c){u[7].summary.changedCases>0?i?i.p(u,c):(i=as(u),i.c(),i.m(e,t)):i&&(i.d(1),i=null),u[7].summary.notes>0?o?o.p(u,c):(o=cs(u),o.c(),o.m(e,n)):o&&(o.d(1),o=null),u[7].summary.files>0?r?r.p(u,c):(r=us(u),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(u){u&&z(e),i&&i.d(),o&&o.d(),r&&r.d()}}}function as(l){let e,t=l[7].summary.changedCases+"",n,i,o=ht(l[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"",r;return{c(){e=f("span"),n=A(t),i=g(),r=A(o),s(e,"class","summary-chip svelte-iu6zme")},m(u,c){C(u,e,c),a(e,n),a(e,i),a(e,r)},p(u,c){c[0]&128&&t!==(t=u[7].summary.changedCases+"")&&B(n,t),c[0]&128&&o!==(o=ht(u[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"")&&B(r,o)},d(u){u&&z(e)}}}function cs(l){let e,t=l[7].summary.notes+"",n,i,o=ht(l[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"",r;return{c(){e=f("span"),n=A(t),i=g(),r=A(o),s(e,"class","summary-chip svelte-iu6zme")},m(u,c){C(u,e,c),a(e,n),a(e,i),a(e,r)},p(u,c){c[0]&128&&t!==(t=u[7].summary.notes+"")&&B(n,t),c[0]&128&&o!==(o=ht(u[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"")&&B(r,o)},d(u){u&&z(e)}}}function us(l){let e,t=l[7].summary.files+"",n,i,o=ht(l[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"",r;return{c(){e=f("span"),n=A(t),i=g(),r=A(o),s(e,"class","summary-chip svelte-iu6zme")},m(u,c){C(u,e,c),a(e,n),a(e,i),a(e,r)},p(u,c){c[0]&128&&t!==(t=u[7].summary.files+"")&&B(n,t),c[0]&128&&o!==(o=ht(u[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"")&&B(r,o)},d(u){u&&z(e)}}}function fs(l){let e,t,n,i=ce(l[41]),o=[];for(let r=0;r0&&ds(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("button"),r=A(o),u=g(),c=f("span"),v=A(d),_=g(),h=f("span"),k=A(b),y=g(),w=f("div"),j=f("input"),D=g(),T=f("span"),T.textContent=`${p("suggest.minutes")}`,E=g(),I=f("button"),I.textContent=`${p("suggest.edit")}`,N=g(),L=f("button"),L.textContent=`${p("suggest.apply")}`,W=g(),P&&P.c(),V=g(),s(i,"class","suggestion-node link-btn svelte-iu6zme"),s(c,"class","suggestion-summary svelte-iu6zme"),s(h,"class","suggestion-confidence svelte-iu6zme"),he(h,"low",l[369].confidence==="low"),he(h,"medium",l[369].confidence==="medium"),he(h,"high",l[369].confidence==="high"),s(n,"class","suggestion-info svelte-iu6zme"),s(j,"type","number"),s(j,"class","suggestion-min-input svelte-iu6zme"),j.value=S=l[369].suggestedMin,s(j,"min","1"),s(j,"max","480"),s(T,"class","suggestion-min-label svelte-iu6zme"),s(I,"class","btn btn-sm svelte-iu6zme"),s(L,"class","btn btn-sm btn-primary svelte-iu6zme"),s(w,"class","suggestion-actions svelte-iu6zme"),s(t,"class","suggestion-main svelte-iu6zme"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-iu6zme"),he(e,"expanded",l[369]._expanded)},m(O,x){C(O,e,x),a(e,t),a(t,n),a(n,i),a(i,r),a(n,u),a(n,c),a(c,v),a(n,_),a(n,h),a(h,k),a(t,y),a(t,w),a(w,j),a(w,D),a(w,T),a(w,E),a(w,I),a(w,N),a(w,L),a(e,W),P&&P.m(e,null),a(e,V),G||(q=[M(i,"click",We(Y)),M(j,"change",We(H)),M(I,"click",We(U)),M(L,"click",We(J)),M(t,"click",R),M(t,"keydown",K)],G=!0)},p(O,x){l=O,x[1]&1024&&o!==(o=l[369].nodeTitle+"")&&B(r,o),x[1]&1024&&d!==(d=l[369].summary+"")&&B(v,d),x[1]&1024&&b!==(b=p("suggest.confidence."+l[369].confidence)+"")&&B(k,b),x[1]&1024&&he(h,"low",l[369].confidence==="low"),x[1]&1024&&he(h,"medium",l[369].confidence==="medium"),x[1]&1024&&he(h,"high",l[369].confidence==="high"),x[1]&1024&&S!==(S=l[369].suggestedMin)&&j.value!==S&&(j.value=S),l[369]._expanded&&l[369].events&&l[369].events.length>0?P?P.p(l,x):(P=ds(l),P.c(),P.m(e,V)):P&&(P.d(1),P=null),x[1]&1024&&he(e,"expanded",l[369]._expanded)},d(O){O&&z(e),P&&P.d(),G=!1,ve(q)}}}function mm(l){let e,t,n,i;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("today.empty")}`,n=g(),i=f("p"),i.textContent=`${p("today.emptyHint")}`,s(t,"class","svelte-iu6zme"),s(i,"class","hint svelte-iu6zme"),s(e,"class","today-empty svelte-iu6zme")},m(o,r){C(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,d(o){o&&z(e)}}}function pm(l){let e,t,n=ce(l[7].groups),i=[];for(let r=0;r0&&ks(l);return{c(){for(let r=0;r0?o?o.p(r,u):(o=ks(r),o.c(),o.m(t.parentNode,t)):o&&(o.d(1),o=null)},d(r){r&&(z(e),z(t)),Fe(i,r),o&&o.d(r)}}}function vs(l){let e,t=l[405].events.length+"",n,i,o=ht(l[405].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"",r;return{c(){e=f("span"),n=A(t),i=g(),r=A(o),s(e,"class","today-case-count svelte-iu6zme")},m(u,c){C(u,e,c),a(e,n),a(e,i),a(e,r)},p(u,c){c[0]&128&&t!==(t=u[405].events.length+"")&&B(n,t),c[0]&128&&o!==(o=ht(u[405].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"")&&B(r,o)},d(u){u&&z(e)}}}function _m(l){let e;return{c(){e=f("div"),e.textContent=`${p("today.changedCases")}`,s(e,"class","today-events-empty svelte-iu6zme")},m(t,n){C(t,e,n)},p:$,d(t){t&&z(e)}}}function vm(l){let e,t=ce(l[405].events),n=[];for(let i=0;i0?vm:_m}let I=E(l),N=I(l);return{c(){e=f("div"),t=f("div"),n=f("span"),o=A(i),r=g(),u=f("span"),d=A(c),v=g(),S&&S.c(),_=g(),h=f("span"),k=A(b),y=g(),N.c(),s(n,"class","today-case-title svelte-iu6zme"),s(u,"class","today-case-type svelte-iu6zme"),s(h,"class","today-case-time svelte-iu6zme"),s(t,"class","today-case-header svelte-iu6zme"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","today-case svelte-iu6zme")},m(L,W){C(L,e,W),a(e,t),a(t,n),a(n,o),a(t,r),a(t,u),a(u,d),a(t,v),S&&S.m(t,null),a(t,_),a(t,h),a(h,k),a(e,y),N.m(e,null),w||(j=[M(t,"click",D),M(t,"keydown",T)],w=!0)},p(L,W){l=L,W[0]&128&&i!==(i=l[405].nodeTitle+"")&&B(o,i),W[0]&128&&c!==(c=l[159](l[405].nodeKind)+"")&&B(d,c),l[405].events?S?S.p(l,W):(S=vs(l),S.c(),S.m(t,_)):S&&(S.d(1),S=null),W[0]&128&&b!==(b=tt(l[405].lastActivityAt)+"")&&B(k,b),I===(I=E(l))&&N?N.p(l,W):(N.d(1),N=I(l),N&&(N.c(),N.m(e,null)))},d(L){L&&z(e),S&&S.d(),N.d(),w=!1,ve(j)}}}function ks(l){let e,t,n,i=ce(l[7].events),o=[];for(let r=0;r0&&Ts(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("button"),r=A(o),u=g(),c=f("span"),v=A(d),_=g(),h=f("span"),k=A(b),y=g(),w=f("div"),j=f("input"),D=g(),T=f("span"),T.textContent=`${p("suggest.minutes")}`,E=g(),I=f("button"),I.textContent=`${p("suggest.edit")}`,N=g(),L=f("button"),L.textContent=`${p("suggest.apply")}`,W=g(),P&&P.c(),V=g(),s(i,"class","suggestion-node link-btn svelte-iu6zme"),s(c,"class","suggestion-summary svelte-iu6zme"),s(h,"class","suggestion-confidence svelte-iu6zme"),he(h,"low",l[369].confidence==="low"),he(h,"medium",l[369].confidence==="medium"),he(h,"high",l[369].confidence==="high"),s(n,"class","suggestion-info svelte-iu6zme"),s(j,"type","number"),s(j,"class","suggestion-min-input svelte-iu6zme"),j.value=S=l[369].suggestedMin,s(j,"min","1"),s(j,"max","480"),s(T,"class","suggestion-min-label svelte-iu6zme"),s(I,"class","btn btn-sm svelte-iu6zme"),s(L,"class","btn btn-sm btn-primary svelte-iu6zme"),s(w,"class","suggestion-actions svelte-iu6zme"),s(t,"class","suggestion-main svelte-iu6zme"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-iu6zme"),he(e,"expanded",l[369]._expanded)},m(O,x){C(O,e,x),a(e,t),a(t,n),a(n,i),a(i,r),a(n,u),a(n,c),a(c,v),a(n,_),a(n,h),a(h,k),a(t,y),a(t,w),a(w,j),a(w,D),a(w,T),a(w,E),a(w,I),a(w,N),a(w,L),a(e,W),P&&P.m(e,null),a(e,V),G||(q=[M(i,"click",We(Y)),M(j,"change",We(H)),M(I,"click",We(U)),M(L,"click",We(J)),M(t,"click",R),M(t,"keydown",K)],G=!0)},p(O,x){l=O,x[1]&1024&&o!==(o=l[369].nodeTitle+"")&&B(r,o),x[1]&1024&&d!==(d=l[369].summary+"")&&B(v,d),x[1]&1024&&b!==(b=p("suggest.confidence."+l[369].confidence)+"")&&B(k,b),x[1]&1024&&he(h,"low",l[369].confidence==="low"),x[1]&1024&&he(h,"medium",l[369].confidence==="medium"),x[1]&1024&&he(h,"high",l[369].confidence==="high"),x[1]&1024&&S!==(S=l[369].suggestedMin)&&j.value!==S&&(j.value=S),l[369]._expanded&&l[369].events&&l[369].events.length>0?P?P.p(l,x):(P=Ts(l),P.c(),P.m(e,V)):P&&(P.d(1),P=null),x[1]&1024&&he(e,"expanded",l[369]._expanded)},d(O){O&&z(e),P&&P.d(),G=!1,ve(q)}}}function Ms(l){let e,t,n=p("journal.total")+"",i,o,r=Math.floor(l[10].totalMinutes/60)+"",u,c,d=l[10].totalMinutes%60+"",v,_,h=l[10].totalEntries+"",b,k,y=p("worklog.min")+"",w,j,S,D,T=l[10].byDay&&l[10].byDay.length>0&&Is(l),E=l[10].byNode&&l[10].byNode.length>0&&Fs(l);return{c(){e=f("div"),t=f("div"),i=A(n),o=A(": "),u=A(r),c=A("ч "),v=A(d),_=A("м ("),b=A(h),k=g(),w=A(y),j=A(")"),S=g(),T&&T.c(),D=g(),E&&E.c(),s(t,"class","summary-total svelte-iu6zme"),s(e,"class","journal-summary svelte-iu6zme")},m(I,N){C(I,e,N),a(e,t),a(t,i),a(t,o),a(t,u),a(t,c),a(t,v),a(t,_),a(t,b),a(t,k),a(t,w),a(t,j),a(e,S),T&&T.m(e,null),a(e,D),E&&E.m(e,null)},p(I,N){N[0]&1024&&r!==(r=Math.floor(I[10].totalMinutes/60)+"")&&B(u,r),N[0]&1024&&d!==(d=I[10].totalMinutes%60+"")&&B(v,d),N[0]&1024&&h!==(h=I[10].totalEntries+"")&&B(b,h),I[10].byDay&&I[10].byDay.length>0?T?T.p(I,N):(T=Is(I),T.c(),T.m(e,D)):T&&(T.d(1),T=null),I[10].byNode&&I[10].byNode.length>0?E?E.p(I,N):(E=Fs(I),E.c(),E.m(e,null)):E&&(E.d(1),E=null)},d(I){I&&z(e),T&&T.d(),E&&E.d()}}}function Is(l){let e,t,n,i=ce(l[10].byDay),o=[];for(let r=0;r0?Sm:L[387].source==="suggestion"?Cm:L[387].source==="unknown"||L[387].source==="imported"?zm:L[387]._hasEvents?wm:ym}let E=T(l),I=E(l),N=l[387]._events&&Ws(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),i=f("div"),o=f("button"),o.textContent=`${p("worklog.editEntry")}`,r=g(),u=f("button"),u.textContent=`${p("worklog.deleteEntry")}`,c=g(),D&&D.c(),d=g(),v=f("div"),_=f("span"),_.textContent=`${p("worklog.source")}`,h=g(),I.c(),b=g(),N&&N.c(),k=g(),s(o,"class","btn btn-sm svelte-iu6zme"),s(u,"class","btn btn-sm btn-danger svelte-iu6zme"),s(i,"class","journal-detail-actions svelte-iu6zme"),s(_,"class","journal-detail-label svelte-iu6zme"),s(v,"class","journal-detail-section svelte-iu6zme"),s(n,"class","journal-detail-body svelte-iu6zme"),s(t,"colspan","8"),s(t,"class","svelte-iu6zme"),s(e,"class","journal-row-detail svelte-iu6zme")},m(L,W){C(L,e,W),a(e,t),a(t,n),a(n,i),a(i,o),a(i,r),a(i,u),a(n,c),D&&D.m(n,null),a(n,d),a(n,v),a(v,_),a(v,h),I.m(v,null),a(n,b),N&&N.m(n,null),a(e,k),y||(w=[M(o,"click",We(j)),M(u,"click",We(S))],y=!0)},p(L,W){l=L,l[387].details?D?D.p(l,W):(D=Vs(l),D.c(),D.m(n,d)):D&&(D.d(1),D=null),E!==(E=T(l))&&(I.d(1),I=E(l),I&&(I.c(),I.m(v,null))),l[387]._events?N?N.p(l,W):(N=Ws(l),N.c(),N.m(n,null)):N&&(N.d(1),N=null)},d(L){L&&z(e),D&&D.d(),I.d(),N&&N.d(),y=!1,ve(w)}}}function Vs(l){let e,t,n,i,o=l[387].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=g(),i=f("p"),r=A(o),s(t,"class","journal-detail-label svelte-iu6zme"),s(i,"class","svelte-iu6zme"),s(e,"class","journal-detail-section svelte-iu6zme")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[0]&512&&o!==(o=u[387].details+"")&&B(r,o)},d(u){u&&z(e)}}}function ym(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function wm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function zm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Cm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Sm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function jm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Ws(l){let e,t,n,i=ce(l[387]._events),o=[];for(let r=0;r0,r,u,c,d=o&&$s(l);function v(b,k){return b[31].length===0?Km:Um}let _=v(l),h=_(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${p("worklog.addEntry")}`,i=g(),d&&d.c(),r=g(),h.c(),s(n,"class","btn btn-primary btn-sm svelte-iu6zme"),s(t,"class","worklog-toolbar svelte-iu6zme"),s(e,"class","worklog-tab svelte-iu6zme")},m(b,k){C(b,e,k),a(e,t),a(t,n),a(e,i),d&&d.m(e,null),a(e,r),h.m(e,null),u||(c=M(n,"click",l[214]),u=!0)},p(b,k){k[0]&67108864|k[1]&1024&&(o=b[26]&&b[41].filter(b[180]).length>0),o?d?d.p(b,k):(d=$s(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),_===(_=v(b))&&h?h.p(b,k):(h.d(1),h=_(b),h&&(h.c(),h.m(e,null)))},i:$,o:$,d(b){b&&z(e),d&&d.d(),h.d(),u=!1,c()}}}function Rm(l){let e,t,n,i,o,r;function u(v,_){return v[30].length===0?Zm:Xm}let c=u(l),d=c(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("action.addAction")}`,i=g(),d.c(),s(n,"class","btn btn-primary svelte-iu6zme"),s(t,"class","tab-toolbar svelte-iu6zme"),s(e,"class","actions-tab svelte-iu6zme")},m(v,_){C(v,e,_),a(e,t),a(t,n),a(e,i),d.m(e,null),o||(r=M(n,"click",l[166]),o=!0)},p(v,_){c===(c=u(v))&&d?d.p(v,_):(d.d(1),d=c(v),d&&(d.c(),d.m(e,null)))},i:$,o:$,d(v){v&&z(e),d.d(),o=!1,r()}}}function Om(l){let e,t,n,i=p("file.addFile")+"",o,r,u,c=p("file.addFolder")+"",d,v,_,h,b,k,y,w,j,S,D,T,E,I=l[71].items.length>0&&po(l);const N=[$m,xm],L=[];function W(q,Y){return q[63]?0:1}k=W(l),y=L[k]=N[k](l);let V=l[59]&&!l[61]&&vo(),G=l[67]&&ho(l);return{c(){e=f("div"),t=f("div"),n=f("button"),o=A(i),r=g(),u=f("button"),d=A(c),v=g(),_=f("button"),_.textContent=`${p("file.newFile")}`,h=g(),I&&I.c(),b=g(),y.c(),w=g(),V&&V.c(),j=g(),G&&G.c(),S=ot(),s(n,"class","btn btn-primary svelte-iu6zme"),n.disabled=l[59],s(u,"class","btn svelte-iu6zme"),u.disabled=l[59],s(_,"class","btn svelte-iu6zme"),s(t,"class","tab-toolbar svelte-iu6zme"),s(e,"class","files-tab svelte-iu6zme")},m(q,Y){C(q,e,Y),a(e,t),a(t,n),a(n,o),a(t,r),a(t,u),a(u,d),a(t,v),a(t,_),a(t,h),I&&I.m(t,null),a(e,b),L[k].m(e,null),a(e,w),V&&V.m(e,null),C(q,j,Y),G&&G.m(q,Y),C(q,S,Y),D=!0,T||(E=[M(n,"click",l[153]),M(u,"click",l[154]),M(_,"click",l[99])],T=!0)},p(q,Y){(!D||Y[1]&268435456)&&(n.disabled=q[59]),(!D||Y[1]&268435456)&&(u.disabled=q[59]),q[71].items.length>0?I?I.p(q,Y):(I=po(q),I.c(),I.m(t,null)):I&&(I.d(1),I=null);let H=k;k=W(q),k===H?L[k].p(q,Y):(it(),me(L[H],1,1,()=>{L[H]=null}),st(),y=L[k],y?y.p(q,Y):(y=L[k]=N[k](q),y.c()),ae(y,1),y.m(e,w)),q[59]&&!q[61]?V||(V=vo(),V.c(),V.m(e,null)):V&&(V.d(1),V=null),q[67]?G?(G.p(q,Y),Y[2]&32&&ae(G,1)):(G=ho(q),G.c(),ae(G,1),G.m(S.parentNode,S)):G&&(it(),me(G,1,1,()=>{G=null}),st())},i(q){D||(ae(y),ae(G),D=!0)},o(q){me(y),me(G),D=!1},d(q){q&&(z(e),z(j),z(S)),I&&I.d(),L[k].d(),V&&V.d(),G&&G.d(q),T=!1,ve(E)}}}function Vm(l){let e,t,n,i,o,r,u,c=l[52]&&go(l);function d(h,b){return h[28].length===0&&!h[52]?s1:i1}let v=d(l),_=v(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("note.add")}`,i=g(),c&&c.c(),o=g(),_.c(),s(n,"class","btn btn-primary svelte-iu6zme"),s(t,"class","tab-toolbar svelte-iu6zme"),s(e,"class","notes-tab svelte-iu6zme")},m(h,b){C(h,e,b),a(e,t),a(t,n),a(e,i),c&&c.m(e,null),a(e,o),_.m(e,null),r||(u=M(n,"click",l[131]),r=!0)},p(h,b){h[52]?c?c.p(h,b):(c=go(h),c.c(),c.m(e,o)):c&&(c.d(1),c=null),v===(v=d(h))&&_?_.p(h,b):(_.d(1),_=v(h),_&&(_.c(),_.m(e,null)))},i:$,o:$,d(h){h&&z(e),c&&c.d(),_.d(),r=!1,u()}}}function Wm(l){let e,t,n=l[26].title+"",i,o,r,u,c,d,v=l[159](l[26].type)+"",_,h,b,k,y,w=(l[26].section||"—")+"",j,S,D,T,E,I=at(l[26].createdAt)+"",N,L,W,V,G,q,Y,H,U=p("overview.newNote")+"",J,R,K,P,O,x,re=p("overview.addFile")+"",ee,ie,ne,oe,ue,we,Be=p("overview.addAction")+"",Ae,X,Z,fe,ze,pe,be,qe=p("overview.logTime")+"",Qe,lt,He,Pe,Me,ke=l[28].length>0&&ko(l),Oe=l[31].length>0&&wo(l);return{c(){e=f("div"),t=f("h2"),i=A(n),o=g(),r=f("div"),u=f("div"),c=f("span"),c.textContent=`${p("overview.type")}`,d=f("span"),_=A(v),h=g(),b=f("div"),k=f("span"),k.textContent=`${p("overview.section")}`,y=f("span"),j=A(w),S=g(),D=f("div"),T=f("span"),T.textContent=`${p("overview.created")}`,E=f("span"),N=A(I),L=g(),W=f("div"),V=f("button"),G=Q("svg"),q=Q("path"),Y=Q("path"),H=g(),J=A(U),R=g(),K=f("button"),P=Q("svg"),O=Q("path"),x=g(),ee=A(re),ie=g(),ne=f("button"),oe=Q("svg"),ue=Q("polygon"),we=g(),Ae=A(Be),X=g(),Z=f("button"),fe=Q("svg"),ze=Q("circle"),pe=Q("polyline"),be=g(),Qe=A(qe),lt=g(),ke&&ke.c(),He=g(),Oe&&Oe.c(),s(t,"class","svelte-iu6zme"),s(c,"class","meta-label svelte-iu6zme"),s(d,"class","svelte-iu6zme"),s(u,"class","meta-item svelte-iu6zme"),s(k,"class","meta-label svelte-iu6zme"),s(y,"class","svelte-iu6zme"),s(b,"class","meta-item svelte-iu6zme"),s(T,"class","meta-label svelte-iu6zme"),s(E,"class","svelte-iu6zme"),s(D,"class","meta-item svelte-iu6zme"),s(r,"class","meta-grid svelte-iu6zme"),s(q,"d","M12 20h9"),s(q,"class","svelte-iu6zme"),s(Y,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(Y,"class","svelte-iu6zme"),s(G,"width","16"),s(G,"height","16"),s(G,"viewBox","0 0 24 24"),s(G,"fill","none"),s(G,"stroke","currentColor"),s(G,"stroke-width","2"),s(G,"stroke-linecap","round"),s(G,"stroke-linejoin","round"),s(G,"class","svelte-iu6zme"),s(V,"class","qa-btn svelte-iu6zme"),s(O,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),s(O,"class","svelte-iu6zme"),s(P,"width","16"),s(P,"height","16"),s(P,"viewBox","0 0 24 24"),s(P,"fill","none"),s(P,"stroke","currentColor"),s(P,"stroke-width","2"),s(P,"stroke-linecap","round"),s(P,"stroke-linejoin","round"),s(P,"class","svelte-iu6zme"),s(K,"class","qa-btn svelte-iu6zme"),s(ue,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),s(ue,"class","svelte-iu6zme"),s(oe,"width","16"),s(oe,"height","16"),s(oe,"viewBox","0 0 24 24"),s(oe,"fill","none"),s(oe,"stroke","currentColor"),s(oe,"stroke-width","2"),s(oe,"stroke-linecap","round"),s(oe,"stroke-linejoin","round"),s(oe,"class","svelte-iu6zme"),s(ne,"class","qa-btn svelte-iu6zme"),s(ze,"cx","12"),s(ze,"cy","12"),s(ze,"r","10"),s(ze,"class","svelte-iu6zme"),s(pe,"points","12 6 12 12 16 14"),s(pe,"class","svelte-iu6zme"),s(fe,"width","16"),s(fe,"height","16"),s(fe,"viewBox","0 0 24 24"),s(fe,"fill","none"),s(fe,"stroke","currentColor"),s(fe,"stroke-width","2"),s(fe,"stroke-linecap","round"),s(fe,"stroke-linejoin","round"),s(fe,"class","svelte-iu6zme"),s(Z,"class","qa-btn svelte-iu6zme"),s(W,"class","quick-actions svelte-iu6zme"),s(e,"class","overview svelte-iu6zme")},m(Ce,Ve){C(Ce,e,Ve),a(e,t),a(t,i),a(e,o),a(e,r),a(r,u),a(u,c),a(u,d),a(d,_),a(r,h),a(r,b),a(b,k),a(b,y),a(y,j),a(r,S),a(r,D),a(D,T),a(D,E),a(E,N),a(e,L),a(e,W),a(W,V),a(V,G),a(G,q),a(G,Y),a(V,H),a(V,J),a(W,R),a(W,K),a(K,P),a(P,O),a(K,x),a(K,ee),a(W,ie),a(W,ne),a(ne,oe),a(oe,ue),a(ne,we),a(ne,Ae),a(W,X),a(W,Z),a(Z,fe),a(fe,ze),a(fe,pe),a(Z,be),a(Z,Qe),a(e,lt),ke&&ke.m(e,null),a(e,He),Oe&&Oe.m(e,null),Pe||(Me=[M(V,"click",l[189]),M(K,"click",l[190]),M(ne,"click",l[166]),M(Z,"click",l[191])],Pe=!0)},p(Ce,Ve){Ve[0]&67108864&&n!==(n=Ce[26].title+"")&&B(i,n),Ve[0]&67108864&&v!==(v=Ce[159](Ce[26].type)+"")&&B(_,v),Ve[0]&67108864&&w!==(w=(Ce[26].section||"—")+"")&&B(j,w),Ve[0]&67108864&&I!==(I=at(Ce[26].createdAt)+"")&&B(N,I),Ce[28].length>0?ke?ke.p(Ce,Ve):(ke=ko(Ce),ke.c(),ke.m(e,He)):ke&&(ke.d(1),ke=null),Ce[31].length>0?Oe?Oe.p(Ce,Ve):(Oe=wo(Ce),Oe.c(),Oe.m(e,null)):Oe&&(Oe.d(1),Oe=null)},i:$,o:$,d(Ce){Ce&&z(e),ke&&ke.d(),Oe&&Oe.d(),Pe=!1,ve(Me)}}}function Bm(l){let e,t=ce(l[22]),n=[];for(let i=0;i0&&eo(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("span"),r=A(o),u=g(),c=f("span"),v=A(d),_=g(),b=A(h),k=A(" · "),w=A(y),j=g(),S=f("div"),D=f("button"),D.textContent=`${p("suggest.edit")}`,T=g(),E=f("button"),E.textContent=`${p("worklog.apply")}`,I=g(),H&&H.c(),N=g(),s(i,"class","suggestion-summary svelte-iu6zme"),s(c,"class","suggestion-meta svelte-iu6zme"),s(n,"class","suggestion-info svelte-iu6zme"),s(D,"class","btn btn-sm svelte-iu6zme"),s(E,"class","btn btn-sm btn-primary svelte-iu6zme"),s(S,"class","suggestion-actions svelte-iu6zme"),s(t,"class","suggestion-main svelte-iu6zme"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-iu6zme"),he(e,"expanded",l[369]._expanded)},m(U,J){C(U,e,J),a(e,t),a(t,n),a(n,i),a(i,r),a(n,u),a(n,c),a(c,v),a(c,_),a(c,b),a(c,k),a(c,w),a(t,j),a(t,S),a(S,D),a(S,T),a(S,E),a(e,I),H&&H.m(e,null),a(e,N),L||(W=[M(D,"click",We(V)),M(E,"click",We(G)),M(t,"click",q),M(t,"keydown",Y)],L=!0)},p(U,J){l=U,J[0]&67108864|J[1]&1024&&o!==(o=l[369].summary+"")&&B(r,o),J[0]&67108864|J[1]&1024&&d!==(d=l[369].suggestedMin+"")&&B(v,d),J[0]&67108864|J[1]&1024&&y!==(y=p("suggest.confidence."+l[369].confidence)+"")&&B(w,y),l[369]._expanded&&l[369].events&&l[369].events.length>0?H?H.p(l,J):(H=eo(l),H.c(),H.m(e,N)):H&&(H.d(1),H=null),J[0]&67108864|J[1]&1024&&he(e,"expanded",l[369]._expanded)},d(U){U&&z(e),H&&H.d(),L=!1,ve(W)}}}function Um(l){let e,t=ce(l[31]),n=[];for(let i=0;i0?Ym:E[350].source==="suggestion"?qm:E[350].source==="unknown"||E[350].source==="imported"?Jm:Gm}let S=j(l),D=S(l),T=l[350].source==="suggestion"&&l[350]._events&&l[350]._events.length>0&&ao(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("worklog.editEntry")}`,i=g(),o=f("button"),o.textContent=`${p("worklog.deleteEntry")}`,r=g(),w&&w.c(),u=g(),c=f("div"),d=f("span"),d.textContent=`${p("worklog.source")}`,v=g(),D.c(),_=g(),T&&T.c(),s(n,"class","btn btn-sm svelte-iu6zme"),s(o,"class","btn btn-sm btn-danger svelte-iu6zme"),s(t,"class","worklog-entry-actions svelte-iu6zme"),s(d,"class","wl-detail-label svelte-iu6zme"),s(c,"class","wl-detail-section svelte-iu6zme"),s(e,"class","worklog-entry-detail svelte-iu6zme")},m(E,I){C(E,e,I),a(e,t),a(t,n),a(t,i),a(t,o),a(e,r),w&&w.m(e,null),a(e,u),a(e,c),a(c,d),a(c,v),D.m(c,null),a(e,_),T&&T.m(e,null),h||(b=[M(n,"click",We(k)),M(o,"click",We(y))],h=!0)},p(E,I){l=E,l[350].details?w?w.p(l,I):(w=ro(l),w.c(),w.m(e,u)):w&&(w.d(1),w=null),S!==(S=j(l))&&(D.d(1),D=S(l),D&&(D.c(),D.m(c,null))),l[350].source==="suggestion"&&l[350]._events&&l[350]._events.length>0?T?T.p(l,I):(T=ao(l),T.c(),T.m(e,null)):T&&(T.d(1),T=null)},d(E){E&&z(e),w&&w.d(),D.d(),T&&T.d(),h=!1,ve(b)}}}function ro(l){let e,t,n,i,o=l[350].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=g(),i=f("p"),r=A(o),s(t,"class","wl-detail-label svelte-iu6zme"),s(i,"class","svelte-iu6zme"),s(e,"class","wl-detail-section svelte-iu6zme")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(u,c){c[1]&1&&o!==(o=u[350].details+"")&&B(r,o)},d(u){u&&z(e)}}}function Gm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Jm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function qm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Ym(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function Qm(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-iu6zme")},m(t,n){C(t,e,n)},d(t){t&&z(e)}}}function ao(l){let e,t,n,i=ce(l[350]._events),o=[];for(let r=0;r',D=g(),s(n,"class","action-title svelte-iu6zme"),s(u,"class","action-type svelte-iu6zme"),s(_,"class","action-data svelte-iu6zme"),s(t,"class","action-info svelte-iu6zme"),s(w,"class","btn btn-sm svelte-iu6zme"),s(S,"class","btn btn-sm btn-danger svelte-iu6zme"),s(y,"class","action-btns svelte-iu6zme"),s(e,"class","action-card svelte-iu6zme")},m(L,W){C(L,e,W),a(e,t),a(t,n),a(n,o),a(t,r),a(t,u),a(u,d),a(t,v),a(t,_),a(_,b),a(e,k),a(e,y),a(y,w),a(y,j),a(y,S),a(e,D),T||(E=[M(w,"click",I),M(S,"click",N)],T=!0)},p(L,W){l=L,W[0]&1073741824&&i!==(i=l[361].title+"")&&B(o,i),W[0]&1073741824&&c!==(c=l[170](l[361].type)+"")&&B(d,c),W[0]&1073741824&&h!==(h=l[361].data+"")&&B(b,h)},d(L){L&&z(e),T=!1,ve(E)}}}function po(l){let e,t=p("common.paste")+"",n,i,o=l[71].items.length+"",r,u,c;return{c(){e=f("button"),n=A(t),i=g(),r=A(o),s(e,"class","btn svelte-iu6zme")},m(d,v){C(d,e,v),a(e,n),a(e,i),a(e,r),u||(c=M(e,"click",l[104]),u=!0)},p(d,v){v[2]&512&&o!==(o=d[71].items.length+"")&&B(r,o)},d(d){d&&z(e),u=!1,c()}}}function xm(l){let e,t,n,i,o,r,u;const c=[t1,e1],d=[];function v(k,y){return k[65].length>0?0:1}e=v(l),t=d[e]=c[e](l);const _=[n1,l1],h=[];function b(k,y){return k[66].length===0?0:1}return i=b(l),o=h[i]=_[i](l),{c(){t.c(),n=g(),o.c(),r=ot()},m(k,y){d[e].m(k,y),C(k,n,y),h[i].m(k,y),C(k,r,y),u=!0},p(k,y){let w=e;e=v(k),e===w?d[e].p(k,y):(it(),me(d[w],1,1,()=>{d[w]=null}),st(),t=d[e],t?t.p(k,y):(t=d[e]=c[e](k),t.c()),ae(t,1),t.m(n.parentNode,n));let j=i;i=b(k),i===j?h[i].p(k,y):(it(),me(h[j],1,1,()=>{h[j]=null}),st(),o=h[i],o?o.p(k,y):(o=h[i]=_[i](k),o.c()),ae(o,1),o.m(r.parentNode,r))},i(k){u||(ae(t),ae(o),u=!0)},o(k){me(t),me(o),u=!1},d(k){k&&(z(n),z(r)),d[e].d(k),h[i].d(k)}}}function $m(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,s(t,"class","svelte-iu6zme"),s(e,"class","empty-state svelte-iu6zme")},m(n,i){C(n,e,i),a(e,t)},p:$,i:$,o:$,d(n){n&&z(e)}}}function e1(l){let e,t;return e=new nr({props:{crumbs:[{name:p("file.root")}]}}),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function t1(l){let e,t,n,i,o,r,u,c=p("common.backLabel")+"",d,v,_,h;return e=new nr({props:{crumbs:[{name:p("file.root")},...l[65]]}}),e.$on("navigate",l[198]),{c(){Je(e.$$.fragment),t=g(),n=f("button"),i=Q("svg"),o=Q("line"),r=Q("polyline"),u=g(),d=A(c),s(o,"x1","19"),s(o,"y1","12"),s(o,"x2","5"),s(o,"y2","12"),s(o,"class","svelte-iu6zme"),s(r,"points","12 19 5 12 12 5"),s(r,"class","svelte-iu6zme"),s(i,"width","14"),s(i,"height","14"),s(i,"viewBox","0 0 24 24"),s(i,"fill","none"),s(i,"stroke","currentColor"),s(i,"stroke-width","2"),s(i,"stroke-linecap","round"),s(i,"stroke-linejoin","round"),s(i,"class","svelte-iu6zme"),s(n,"class","btn btn-sm back-btn svelte-iu6zme")},m(b,k){Ke(e,b,k),C(b,t,k),C(b,n,k),a(n,i),a(i,o),a(i,r),a(n,u),a(n,d),v=!0,_||(h=M(n,"click",l[95]),_=!0)},p(b,k){const y={};k[2]&8&&(y.crumbs=[{name:p("file.root")},...b[65]]),e.$set(y)},i(b){v||(ae(e.$$.fragment,b),v=!0)},o(b){me(e.$$.fragment,b),v=!1},d(b){b&&(z(t),z(n)),Ge(e,b),_=!1,h()}}}function l1(l){let e,t=[],n=new Map,i,o=ce(l[66]);const r=u=>u[358].id;for(let u=0;u0?p("file.noFiles"):p("file.noFilesCase"))+"",r,u,c,d,v,_,h,b,k,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=g(),i=f("p"),r=A(o),u=g(),c=f("p"),c.textContent=`${p("file.hint")}`,d=g(),v=f("div"),_=f("button"),_.textContent=`${p("file.addFileSimple")}`,h=g(),b=f("button"),b.textContent=`${p("file.addFolderSimple")}`,s(t,"class","empty-icon svelte-iu6zme"),s(i,"class","svelte-iu6zme"),s(c,"class","hint svelte-iu6zme"),s(_,"class","btn btn-primary svelte-iu6zme"),s(b,"class","btn svelte-iu6zme"),s(v,"class","empty-actions svelte-iu6zme"),s(e,"class","empty-state svelte-iu6zme")},m(w,j){C(w,e,j),a(e,t),a(e,n),a(e,i),a(i,r),a(e,u),a(e,c),a(e,d),a(e,v),a(v,_),a(v,h),a(v,b),k||(y=[M(_,"click",l[153]),M(b,"click",l[154])],k=!0)},p(w,j){j[2]&8&&o!==(o=(w[65].length>0?p("file.noFiles"):p("file.noFilesCase"))+"")&&B(r,o)},i:$,o:$,d(w){w&&z(e),k=!1,ve(y)}}}function _o(l,e){let t,n,i;return n=new ef({props:{item:e[358],selected:e[72].includes(e[358].id),onDragStart:e[108],onDragOver:e[109],onDrop:e[110]}}),n.$on("navigate",e[199]),n.$on("preview",e[200]),n.$on("openExternal",e[201]),n.$on("showInFolder",e[202]),n.$on("delete",e[203]),n.$on("rename",e[204]),n.$on("duplicate",e[205]),n.$on("cut",e[206]),n.$on("copy",e[207]),n.$on("selectOne",e[208]),n.$on("toggleSelect",e[209]),n.$on("rangeSelect",e[210]),{key:l,first:null,c(){t=ot(),Je(n.$$.fragment),this.first=t},m(o,r){C(o,t,r),Ke(n,o,r),i=!0},p(o,r){e=o;const u={};r[2]&16&&(u.item=e[358]),r[2]&1040&&(u.selected=e[72].includes(e[358].id)),n.$set(u)},i(o){i||(ae(n.$$.fragment,o),i=!0)},o(o){me(n.$$.fragment,o),i=!1},d(o){o&&z(t),Ge(n,o)}}}function vo(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.scanning")}`,s(t,"class","svelte-iu6zme"),s(e,"class","empty-state svelte-iu6zme")},m(n,i){C(n,e,i),a(e,t)},d(n){n&&z(e)}}}function ho(l){let e,t;return e=new hf({props:{item:l[67],content:l[68],loading:l[69],error:l[70]}}),e.$on("close",l[98]),e.$on("openExternal",l[211]),{c(){Je(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i[2]&32&&(o.item=n[67]),i[2]&64&&(o.content=n[68]),i[2]&128&&(o.loading=n[69]),i[2]&256&&(o.error=n[70]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){me(e.$$.fragment,n),t=!1},d(n){Ge(e,n)}}}function go(l){let e,t,n,i,o,r,u,c,d;return{c(){e=f("div"),t=f("input"),n=g(),i=f("div"),o=f("button"),o.textContent=`${p("common.create")}`,r=g(),u=f("button"),u.textContent=`${p("common.cancel")}`,s(t,"type","text"),s(t,"placeholder",p("note.title")),s(t,"class","svelte-iu6zme"),s(o,"class","btn btn-primary svelte-iu6zme"),s(u,"class","btn svelte-iu6zme"),s(i,"class","form-actions svelte-iu6zme"),s(e,"class","create-form svelte-iu6zme")},m(v,_){C(v,e,_),a(e,t),ge(t,l[53]),a(e,n),a(e,i),a(i,o),a(i,r),a(i,u),c||(d=[M(t,"input",l[194]),M(t,"keydown",l[195]),M(o,"click",l[133]),M(u,"click",l[132])],c=!0)},p(v,_){_[1]&4194304&&t.value!==v[53]&&ge(t,v[53])},d(v){v&&z(e),c=!1,ve(d)}}}function i1(l){let e,t=ce(l[28]),n=[];for(let i=0;ime(x[ee],1,1,()=>{x[ee]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("nav.createNode")}`,i=g(),P&&P.c(),o=g(),r=f("div"),u=f("span"),u.textContent=`${p("template.select")}`,c=g(),d=f("div"),v=f("button"),Je(_.$$.fragment),h=g(),b=f("div"),k=f("span"),k.textContent=`${p("template.optionNone")}`,y=g(),w=f("span"),w.textContent=`${p("template.none.desc")}`,j=g();for(let ee=0;ee{k=null}),st()),w[51].node&&w[51].node.parent_id?y?y.p(w,j):(y=Mo(w),y.c(),y.m(t,o)):y&&(y.d(1),y=null),(!_||j[1]&1048576)&&ut(t,"left",w[51].x+"px"),(!_||j[1]&1048576)&&ut(t,"top",w[51].y+"px")},i(w){_||(ae(k),_=!0)},o(w){me(k),_=!1},d(w){w&&z(e),k&&k.d(),y&&y.d(),h=!1,ve(b)}}}function Do(l){let e,t,n,i,o,r=ce(l[6].length>0?l[6]:[{id:"",title:"template.optionNone",icon:"folder"}]),u=[];for(let d=0;dme(u[d],1,1,()=>{u[d]=null});return{c(){e=f("div"),e.textContent=`${p("common.create")}`,t=g();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let _;for(_=0;_l[294].call(y)),s(h,"class","svelte-iu6zme"),s(_,"class","form-group svelte-iu6zme"),s(D,"class","label-text svelte-iu6zme"),s(N,"type","text"),s(N,"placeholder",L=l[56]==="open_url"?p("action.urlPlaceholder"):l[56]==="open_folder"||l[56]==="open_file"?p("action.pathPlaceholder"):p("action.commandPlaceholder")),s(N,"class","svelte-iu6zme"),s(S,"class","svelte-iu6zme"),s(j,"class","form-group svelte-iu6zme"),s(G,"class","btn btn-primary svelte-iu6zme"),s(Y,"class","btn svelte-iu6zme"),s(V,"class","modal-actions svelte-iu6zme"),s(t,"class","modal svelte-iu6zme"),s(e,"class","modal-overlay svelte-iu6zme"),s(e,"role","button"),s(e,"tabindex","0")},m(K,P){C(K,e,P),a(e,t),a(t,n),a(t,i),a(t,o),a(o,r),a(r,u),a(r,c),a(r,d),ge(d,l[55]),a(t,v),a(t,_),a(_,h),a(h,b),a(h,k),a(h,y);for(let O=0;O{r[v]=null}),st(),t=r[e],t?t.p(c,d):(t=r[e]=o[e](c),t.c()),ae(t,1),t.m(n.parentNode,n))},i(c){i||(ae(t),i=!0)},o(c){me(t),i=!1},d(c){c&&z(n),r[e].d(c)}}}function se(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Gt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Gt(n.children,e,t))return!0}return!1}function or(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&or(n.children,e,t))return!0}return!1}function Bl(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function rl(l){try{se("WriteDebugLog",l)}catch{}}function Hl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function tt(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ot(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function at(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function r1(l){try{const e=new URL(l);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}function a1(l){return{"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp"}[l]||"bin"}function c1(l){return new Promise((e,t)=>{const n=new FileReader;n.onload=()=>{const i=String(n.result||""),o=i.indexOf(",");e(o>=0?i.slice(o+1):i)},n.onerror=()=>t(n.error),n.readAsDataURL(l)})}function ht(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function u1(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function ft(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function f1(l,e,t){let n=null,i=!1,o=!1,r=!1,u=!1,c=[],d=[],v=[],_=null,h=[],b=0,k=!0,y=[],w=null,j="",S="",D=!1,T="",E="all",I="all",N="",L="",W="",V=[],G=!1,q=[],Y="",H="";function U(m){return{"vault not open":p("error.vaultNotOpen")}[m]||m}let J="",R=null,K="overview",P=[],O=null,x=[],re=[],ee=[],ie=!1,ne="",oe="",ue="",we="",Be=!1,Ae=!1,X=null,Z=null,fe=[],ze=0,pe=[],be=!1,qe="",Qe=null,lt=!1,He="",Pe=null,Me=null,ke={visible:!1,x:0,y:0,node:null},Oe=!1,Ce="",Ve=!1,ye="",Se="open_url",Te="",je=[{id:"open_url",label:p("action.openUrl")},{id:"open_file",label:p("action.openFile")},{id:"open_folder",label:p("action.openFolder")},{id:"run_command",label:p("action.runCommand")},{id:"run_script",label:p("action.runScript")},{id:"open_terminal",label:p("action.openTerminal")},{id:"launch_app",label:p("action.launchApp")}],Ie=!0,Ue=!1,Ee=null,_e=!1,te="",De="",Ye={},ct=!1,Le=null,Ne=[],Xe=[],Tt=null,Et="",_l=!1,Yt="",mt={items:[],mode:"copy"},Re=[],Vt=[],vl=!1,Wt=!1,hl=!1,Xl="",Zl="",xl=!1,$l=p("common.delete"),Qt=null,Xt=null,Zt=!1,xt="",Dt="",Nt="",gl=null,bl=!1,Bt="",$t="";const rr=[{id:"overview",label:p("tab.overview")},{id:"notes",label:p("tab.notes")},{id:"files",label:p("tab.files")},{id:"actions",label:p("tab.actions")},{id:"worklog",label:p("tab.worklog")},{id:"activity",label:p("tab.activity")}];let kl=null;Ho(async()=>{try{if(t(0,n=await se("GetStartupStatus")),i=!0,n.status==="first_run"){t(1,o=!0),t(58,Ie=!1);return}if(n.status==="recovery"){t(2,r=!0),t(58,Ie=!1);return}}catch(m){t(24,H=String(m))}try{t(23,Y=await se("VerstakVersion")||"verstak-gui/v2"),t(4,c=await se("ListSystemViews")||[]),t(5,d=await se("ListWorkspaceTree")||[]),t(6,v=await se("ListEnabledTemplates")||[])}catch(m){t(24,H=String(m)),t(4,c=[{id:"today",label:p("nav.today")},{id:"inbox",label:p("nav.inbox")},{id:"activity",label:p("nav.activity")}]),t(5,d=[]),t(6,v=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Hr),kl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",mn),t(58,Ie=!1),Ll()}),Ql(()=>{kl&&kl(),window.removeEventListener("keydown",mn)});async function en(m){t(25,J=m),t(26,R=null),t(27,K="overview"),t(28,P=[]),x=[],t(30,re=[]),t(31,ee=[]),t(41,fe=[]),t(43,pe=[]),t(46,Qe=null),t(47,lt=!1),t(24,H=""),t(7,_=null),t(8,h=[]),b=0,k=!0,t(9,y=[]),t(10,w=null);try{m==="today"?(t(7,_=await se("ListTodayView")||{cases:[]}),t(41,fe=await se("GetSuggestions")||[]),t(42,ze=fe.length)):m==="inbox"?t(43,pe=await se("ListInboxNodes")||[]):m==="trash"?t(46,Qe=await se("ListTrash")||{nodes:[],entries:[],trashPath:""}):m==="journal"?await kt():m==="activity"&&(t(8,h=await se("ListActivityFeed",50,0)||[]),b=h.length,k=h.length===50)}catch(F){t(24,H=String(F)),t(7,_={cases:[]}),t(43,pe=[]),t(46,Qe=null),t(8,h=[])}}async function gt(m){t(26,R=m),t(27,K="overview"),t(28,P=[]),x=[],t(30,re=[]),t(31,ee=[]),t(41,fe=[]),t(66,Xe=[]),t(65,Ne=[]),t(64,Le=null),t(67,Tt=null),t(68,Et=""),t(72,Re=[]),Vt=[],t(29,O=null),t(47,lt=!1),t(52,Oe=!1),t(24,H=""),t(22,q=[]),await tn(m.id)}async function tn(m){try{t(28,P=await se("ListNotes",m)||[])}catch{}try{x=await se("ListFiles",m)||[]}catch{}try{t(30,re=await se("ListActions",m)||[])}catch{}try{t(31,ee=Hl(await se("ListWorklog",m)))}catch{}try{t(41,fe=await se("GetSuggestions")||[]),t(42,ze=fe.length)}catch{t(41,fe=[]),t(42,ze=0)}try{t(22,q=await se("ListActivityByNode",m,50,0)||[])}catch{}}async function nt(m){t(63,ct=!0);try{let F=await se("ListItems",m)||[];F.sort((le,de)=>le.type!==de.type?le.type==="folder"?-1:1:(le.name||"").localeCompare(de.name||"")),t(66,Xe=F)}catch{t(66,Xe=[])}t(63,ct=!1)}async function yl(m){if(!R)return;try{const le=await se("GetNodeDetail",m);le&&t(65,Ne=[...Ne,{id:m,name:le.title}])}catch{t(65,Ne=[...Ne,{id:m,name:"..."}])}t(64,Le=m),t(62,Ye={...Ye,[m]:!0});const F=await se("ListWorkspaceChildren",m)||[];Gt(d,m,F),t(5,d=[...d]),await nt(m)}function ln(){if(Ne.length<2)t(65,Ne=[]),t(64,Le=null),nt(R.id);else{const m=Ne[Ne.length-2];t(65,Ne=Ne.slice(0,-1)),t(64,Le=m.id),nt(m.id)}}function nn(m){const F=Ne[m];t(65,Ne=Ne.slice(0,m+1)),t(64,Le=F.id),nt(F.id)}async function el(m){t(67,Tt=m),t(68,Et=""),t(70,Yt=""),t(69,_l=!0);try{Ju(m)?t(68,Et=await se("GetFileBase64",m.fileId)||""):qu(m)&&t(68,Et=await se("ReadFileText",m.fileId)||"")}catch(F){t(70,Yt=String(F))}t(69,_l=!1)}function wl(){t(67,Tt=null),t(68,Et=""),t(70,Yt="")}async function ar(){const m=prompt(p("file.namePrompt"));if(!(!m||!m.trim()))try{const F=Le||R.id;await se("CreateEmptyFile",F,m.trim()),await nt(F),await Sl(F)}catch(F){t(24,H=String(F))}}async function sn(m){try{await se("DuplicateNode",m);const F=Le||R.id;await nt(F),await Sl(F)}catch(F){t(24,H=String(F))}}function on(m){const F=Xe.find(le=>le.id===m);F&&Cl(F.id,F.name)}function rn(m){t(71,mt={items:[m],mode:"cut"})}function an(m){t(71,mt={items:[m],mode:"copy"})}async function cn(){if(mt.items.length===0)return;const m=Le||R.id;try{if(mt.mode==="copy")for(const F of mt.items)await se("DuplicateNode",F);else for(const F of mt.items)await se("MoveNode",F,m);t(71,mt={items:[],mode:"copy"}),await nt(m)}catch(F){t(24,H=String(F))}}function un(m){Re.includes(m)?t(72,Re=Re.filter(F=>F!==m)):t(72,Re=[...Re,m])}function fn(m){t(72,Re=[m])}function cr(){t(72,Re=Xe.map(m=>m.id))}function dn(m){if(Xe.length===0)return;const F=Re.length>0?Re[Re.length-1]:Xe[0].id,le=Xe.findIndex(zt=>zt.id===F),de=Xe.findIndex(zt=>zt.id===m);if(le===-1||de===-1)return;const Ze=Math.min(le,de),rt=Math.max(le,de),Ut=Xe.slice(Ze,rt+1).map(zt=>zt.id),il=new Set(Re);Ut.forEach(zt=>il.add(zt)),t(72,Re=[...il])}function ur(){t(72,Re=[])}function zl(m){return m.length>0?m:Xe.map(F=>F.id)}async function fr(){const m=zl(Re),F=Xe.find(de=>de.id===m[0]);let le;m.length===1&&(F==null?void 0:F.type)==="folder"?le=p("delete.folder"):m.length===1?le=p("delete.file"):le=p("delete.files",{count:m.length}),Mt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+le+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{for(const Ze of m)try{await se("DeleteFileOrFolder",Ze)}catch(rt){t(24,H=String(rt))}t(72,Re=[]);const de=Le||R.id;await nt(de)}})}function dr(){const m=zl(Re);t(71,mt={items:m,mode:"cut"}),t(72,Re=[])}function mr(){const m=zl(Re);t(71,mt={items:m,mode:"copy"}),t(72,Re=[])}function pr(m,F){const le=Re.includes(F)?Re:[F];Vt=le,m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",le.join(","))}function _r(m,F){const le=Xe.find(de=>de.id===F);le&&le.type==="folder"&&(m.preventDefault(),m.dataTransfer.dropEffect="move")}async function vr(m,F){if(m.preventDefault(),Vt.length!==0){for(const le of Vt)try{await se("MoveNode",le,F)}catch(de){t(24,H=String(de))}Vt=[],t(72,Re=[]),await nt(Le||R.id)}}function mn(m){if(!(m.target.tagName==="INPUT"||m.target.tagName==="TEXTAREA")){if(J==="inbox"&&(m.ctrlKey||m.metaKey)&&(m.key==="v"||m.key==="V")){m.preventDefault(),Mn();return}if(K==="files")if(m.ctrlKey||m.metaKey)m.key==="c"||m.key==="C"?(m.preventDefault(),mr()):m.key==="x"||m.key==="X"?(m.preventDefault(),dr()):m.key==="v"||m.key==="V"?(m.preventDefault(),cn()):m.key==="a"||m.key==="A"?(m.preventDefault(),cr()):m.key==="o"||m.key==="O"?(m.preventDefault(),hr()):m.key==="Enter"&&(m.preventDefault(),pn());else if(m.key==="Enter")m.preventDefault(),pn();else if(m.key==="Delete"||m.key==="Backspace"){if(Tt){m.preventDefault(),wl();return}if(Re.length>0){m.preventDefault(),fr();return}if(m.key==="Backspace"&&Ne.length>0){m.preventDefault(),ln();return}}else if(m.key==="Escape"){if(Tt){wl();return}if(Re.length>0){ur();return}}else m.key==="F2"&&(m.preventDefault(),gr())}}function pn(){if(Re.length===1){const m=Xe.find(F=>F.id===Re[0]);m&&(m.type==="folder"?yl(m.id):el(m))}}function hr(){if(Re.length===1){const m=Xe.find(F=>F.id===Re[0]);m&&m.fileId&&se("OpenFile",m.fileId)}}function Cl(m,F){xt=m,t(81,Dt=F),t(82,Nt=""),t(80,Zt=!0)}function gr(){if(Re.length===1){const m=Xe.find(F=>F.id===Re[0]);m&&Cl(m.id,m.name)}}async function _n(){const m=Dt.trim();if(!m){t(82,Nt=p("rename.emptyError"));return}try{await se("ValidateName",m)}catch{t(82,Nt=p("rename.invalidError"));return}t(80,Zt=!1);const F=xt;xt="";try{await se("RenameNode",F,m),R&&R.id===F&&t(26,R={...R,title:m}),await Ht(),Le&&await nt(Le)}catch(le){t(24,H=String(le))}}function br(){t(80,Zt=!1),xt="",t(81,Dt=""),t(82,Nt="")}function kr(m){m.key==="Enter"?_n():t(82,Nt="")}function Mt(m){t(76,Xl=m.title||p("common.confirm")),t(77,Zl=m.message||""),t(78,xl=m.danger!==void 0?m.danger:!0),t(79,$l=m.confirmText||p("common.delete")),Qt=m.onConfirm||null,Xt=m.onCancel||null,t(75,hl=!0)}function vn(){t(75,hl=!1),Qt=null,Xt=null}function yr(){Qt&&Qt(),vn()}function wr(){Xt&&Xt(),vn()}function hn(m){t(49,Pe=ke.node),t(50,Me=m),t(48,He=""),t(47,lt=!0),It()}function zr(){t(49,Pe=null),t(50,Me=void 0),t(48,He=""),t(47,lt=!0)}function Cr(){t(47,lt=!1),t(48,He=""),t(49,Pe=null),t(50,Me=void 0)}async function gn(){if(!(!He.trim()||Me===void 0))try{const m=Pe?Pe.id:"",F=Me?Me.id:"",le=await se("CreateNodeFromTemplate",m,He.trim(),F);t(47,lt=!1),t(48,He="");const de=le?le.id:null;if(t(49,Pe=null),t(50,Me=void 0),m){t(62,Ye={...Ye,[m]:!0});const Ze=await se("ListWorkspaceChildren",m)||[];Gt(d,m,Ze),t(5,d=[...d])}else t(5,d=await se("ListWorkspaceTree")||d);if(de){const Ze=await se("GetNodeDetail",de);Ze&&(t(25,J=""),gt(Ze))}}catch(m){t(24,H=String(m))}}function Sr(m,F){t(51,ke={visible:!0,x:m.clientX,y:m.clientY,node:F})}function It(){t(51,ke={visible:!1,x:0,y:0,node:null})}async function jr(m){const F=!Ye[m];if(t(62,Ye={...Ye,[m]:F}),!F)return;const le=await se("ListWorkspaceChildren",m)||[];Gt(d,m,le),t(5,d=[...d])}async function Tr(m,F){if(!(!m||!F||m===F))try{const le=await se("MoveNode",m,F);await Ht();const de=await se("GetNodeDetail",m);de&&(t(25,J=""),gt(de))}catch(le){t(24,H=String(le))}}async function Er(m){m.preventDefault();try{const F=m.dataTransfer.getData("text/plain");if(!F)return;const le=await se("GetNodeDetail",F);if(!le||!le.parent_id)return;await se("MoveNode",F,""),await Ht();const de=await se("GetNodeDetail",F);de&&(t(25,J=""),gt(de))}catch(F){t(24,H=String(F))}}function Dr(m){m.preventDefault(),m.dataTransfer.dropEffect="move",t(73,vl=!0)}function Nr(m){t(73,vl=!1)}function bn(m){Cl(m.id,m.title),It()}function kn(m){It(),Mt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+m.title+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteNode",m.id),await Ht(),R&&R.id===m.id&&t(26,R=null)}catch(F){t(24,H=String(F))}}})}async function bt(m){It();const F=typeof m=="string"?m:m.id;try{await se("OpenFolder",F)}catch(le){t(24,H=String(le))}}async function yn(m){It();try{await se("MoveNode",m.id,""),await Ht();const F=await se("GetNodeDetail",m.id);F&&(t(25,J=""),gt(F))}catch(F){t(24,H=String(F))}}async function Ht(){const m=Object.keys(Ye).filter(le=>Ye[le]),F=await se("ListWorkspaceTree")||[];for(const le of m){const Ze=(await se("ListWorkspaceChildren",le)||[]).map(rt=>({...rt}));or(F,le,Ze)}t(5,d=F)}async function Sl(m){const F=await se("ListWorkspaceChildren",m)||[];Gt(d,m,F),t(5,d=[...d])}function wn(){t(52,Oe=!0),t(53,Ce="")}function Mr(){t(52,Oe=!1),t(53,Ce="")}async function zn(){if(!(!Ce.trim()||!R))try{const m=await se("CreateNote",R.id,Ce.trim());t(28,P=[...P,m&&m.id?m:{id:Date.now().toString(),title:Ce.trim(),createdAt:new Date().toISOString()}]),t(52,Oe=!1),t(53,Ce="")}catch{const F={id:Date.now().toString(),title:Ce.trim(),createdAt:new Date().toISOString()};t(28,P=[...P,F]),t(52,Oe=!1),t(53,Ce="")}}async function At(m){if(O&&O.dirty){Mt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:async()=>{await Cn(m)}});return}await Cn(m)}async function Cn(m){try{const F=await se("ReadNote",m.id);t(29,O={id:m.id,title:m.title,content:F||"",dirty:!1})}catch{t(29,O={id:m.id,title:m.title,content:"# "+m.title+` + +`,dirty:!1})}}function Ir(){if(O&&O.dirty){Mt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,O=null)}});return}t(29,O=null)}function Ar(m){O&&(t(29,O.content=m.target.value,O),t(29,O.dirty=!0,O))}async function Fr(){if(O)try{await se("SaveNote",O.id,O.content),t(29,O.dirty=!1,O)}catch{t(29,O.dirty=!1,O)}}function tl(m=null){t(39,X=m),t(40,Z=null),t(33,ne=m?m.summary:""),t(34,oe=m?String(m.minutes||""):""),t(35,ue=m&&m.date||""),t(36,we=m&&m.details||""),t(37,Be=m?!!m.billable:!1),t(38,Ae=m?!!m.approximate:!1),t(32,ie=!0)}function Pr(){t(32,ie=!1),t(39,X=null),t(40,Z=null)}async function jl(m=""){const F=m||(R?R.id:"");R&&R.id===F&&t(31,ee=Hl(await se("ListWorklog",R.id))||ee),J==="journal"&&await kt()}async function Lr(){const m=parseInt(oe,10);if(!(!ne.trim()||isNaN(m)||m<=0)&&!(!Z&&!X&&!R)){try{if(Z){const F=JSON.stringify(Bl(Z));await se("AcceptSuggestionFull",Z.nodeId,ne.trim(),we,ue,m,Ae,Be,F),await El()}else X?(await se("UpdateWorklogEntry",X.id,ne.trim(),we,ue,m,Ae,Be),await jl(X.nodeId)):(await se("CreateWorklogFull",R.id,ne.trim(),we,ue,m,Ae,Be),await jl(R.id))}catch(F){t(24,H=String(F));return}t(32,ie=!1),t(39,X=null),t(40,Z=null)}}function Tl(m){Mt({title:p("worklog.deleteEntry"),message:p("worklog.deleteConfirm"),confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteWorklogEntry",m.id),await jl(m.nodeId)}catch(F){t(24,H=String(F))}}})}async function El(){t(41,fe=await se("GetSuggestions")||[]),t(42,ze=fe.length),R&&t(31,ee=Hl(await se("ListWorklog",R.id))),J==="journal"&&await kt()}function ll(m){t(40,Z=m),t(39,X=null),t(33,ne=m.summary||""),t(34,oe=String(m.suggestedMin||"")),t(35,ue=""),t(36,we=""),t(37,Be=!1),t(38,Ae=!0),t(32,ie=!0)}async function Dl(m){try{const F=Bl(m),le=JSON.stringify(F);rl("acceptTodaySuggestion: nodeId="+m.nodeId+" eventIds="+le+" events="+JSON.stringify((m.events||[]).map(de=>({id:de.id,type:de.eventType,title:de.title})))),await se("AcceptSuggestionWith",m.nodeId,m.summary,m.suggestedMin,"",le),await El()}catch(F){rl("acceptTodaySuggestion error: "+F)}}async function Sn(m){try{const F=Bl(m),le=JSON.stringify(F);rl("acceptJournalSuggestion: nodeId="+m.nodeId+" eventIds="+le+" events="+JSON.stringify((m.events||[]).map(de=>({id:de.id,type:de.eventType,title:de.title})))),await se("AcceptSuggestionWith",m.nodeId,m.summary,m.suggestedMin,"",le),await El()}catch(F){rl("acceptJournalSuggestion error: "+F)}}async function kt(){try{const[m,F,le]=await Promise.all([se("ListWorklogReport",j,S,T,D,E,I),se("WorklogReportSummary",j,S,T,D,E,I),se("GetSuggestions")]);if(t(9,y=(m||[]).map(de=>(de._expanded===void 0&&(de._expanded=!1),de))),t(10,w=F||null),t(41,fe=le||[]),t(42,ze=fe.length),T&&!N)if(m&&m.length>0&&m[0].nodePath)t(17,N=m[0].nodePath);else try{t(17,N=await se("GetNodeTitle",T))}catch{t(17,N="")}}catch{t(9,y=[]),t(10,w=null),t(41,fe=[]),t(42,ze=0)}}async function nl(m){try{const F=await se("SaveWorklogReport",m,j,S,T,D,E,I);t(18,L=F),setTimeout(()=>t(18,L=""),4e3)}catch(F){if(String(F).includes("отменено"))return;t(18,L="Ошибка: "+String(F)),setTimeout(()=>t(18,L=""),6e3)}}let jn;async function Nl(m){if(m._expanded=!m._expanded,t(9,y),m._expanded&&!m._events&&m._hasEvents===void 0)try{m._events=await se("GetWorklogEntryEvents",m.id)||[],m._hasEvents=m._events.length>0,t(9,y)}catch{m._events=[],m._hasEvents=!1,t(9,y)}}async function Ml(m){if(m._expanded=!m._expanded,m._expanded&&m.source==="suggestion"&&!m._events&&m._hasEvents===void 0)try{m._events=await se("GetWorklogEntryEvents",m.id)||[],m._hasEvents=m._events.length>0}catch(F){F._events=[],F._hasEvents=!1}t(31,ee)}async function Rr(){const m=W.trim();if(!m||m.length<2){t(20,V=[]),t(21,G=!1);return}try{t(20,V=await se("SearchNodes",m)||[]),t(21,G=V.length>0)}catch{t(20,V=[]),t(21,G=!1)}}function Or(){clearTimeout(jn),jn=setTimeout(Rr,200)}function Tn(m){t(14,T=m.id),t(17,N=m.path||m.title),t(13,D=!0),t(19,W=""),t(20,V=[]),t(21,G=!1),kt()}function En(){t(14,T=""),t(13,D=!1),t(17,N=""),t(19,W=""),t(20,V=[]),t(21,G=!1),kt()}function Vr(){t(11,j=""),t(12,S=""),t(14,T=""),t(13,D=!1),t(15,E="all"),t(16,I="all"),t(17,N=""),t(19,W=""),t(20,V=[]),t(21,G=!1),kt()}async function Dn(){const m=await se("PickFile");if(!m)return;const F=Le||R.id;await Il(F,m)}async function Wr(){const m=await se("PickDirectory");if(!m)return;const F=Le||R.id;await Il(F,m)}async function Il(m,F){t(59,Ue=!0);try{const le=await se("PreviewImport",F);t(60,Ee=le),te=F,De=m,t(61,_e=!0)}catch(le){t(24,H=String(le))}t(59,Ue=!1)}async function Al(m){try{const F=De||R.id,le=m==="copy"?await se("AddPathCopy",F,te):await se("AddPathLink",F,te);t(61,_e=!1),t(60,Ee=null),t(65,Ne=[]),t(64,Le=null),await Promise.all([tn(F),nt(F),Sl(F)])}catch(F){t(24,H=String(F))}}function Br(){t(61,_e=!1),t(60,Ee=null)}async function Nn({id:m,type:F}){const le=p(F==="folder"?"delete.folder":"delete.file");Mt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+le+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteFileOrFolder",m),x=x.filter(Ze=>Ze.nodeId!==m);const de=Le||R.id;await nt(de)}catch(de){t(24,H=String(de))}}})}async function Hr(m){if(!m||m.length===0)return;if(J==="inbox"){await In(m);return}if(!R){t(24,H=p("error.selectCaseFirst"));return}const F=m[0];await Il(R.id,F)}function Ur(m){return{note_created:p("event.noteCreated"),note_updated:p("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:p("event.fileAdded"),file_deleted:p("event.fileDeleted"),file_renamed:p("event.fileRenamed"),file_copied:p("event.fileCopied"),file_moved:p("event.fileMoved"),folder_added:p("event.folderAdded"),folder_deleted:p("event.folderDeleted"),folder_renamed:p("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:p("event.caseCreated"),node_updated:p("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[m]||m}function Kr(m){return{project:p("kind.project"),client:p("kind.client"),document:p("kind.document"),recipe:p("kind.recipe"),folder:p("kind.folder"),note:p("kind.note"),file:p("kind.file"),archive:p("kind.archive"),case:p("kind.case")}[m]||m||p("kind.case")}function Gr(m){return m?p("capture.kind."+m):""}function Jr(m){return m?p("capture.source."+m):""}function Fl(m){!m||!m.id||t(43,pe=[m,...pe.filter(F=>F.id!==m.id)])}async function qr(){if(!navigator.clipboard||typeof navigator.clipboard.read!="function")return!1;const m=await navigator.clipboard.read();for(const F of m||[]){const le=(F.types||[]).find(il=>il.startsWith("image/"));if(!le)continue;const de=await F.getType(le),Ze=de.name||`clipboard.${a1(le)}`,rt=await c1(de),Ut=await se("CaptureFileData",Ze,rt);return Fl(Ut),t(45,qe=p("inbox.captured")),!0}return!1}async function Mn(){if(!be){if(t(45,qe=""),!navigator.clipboard||typeof navigator.clipboard.readText!="function"){t(24,H=p("inbox.clipboardUnavailable"));return}t(44,be=!0);try{if(await qr())return;const m=(await navigator.clipboard.readText()).trim();if(!m){t(45,qe=p("inbox.clipboardEmpty"));return}const F=r1(m)?await se("CaptureURL",m,""):await se("CaptureText",m);Fl(F),t(45,qe=p("inbox.captured"))}catch(m){t(24,H=String(m))}finally{t(44,be=!1)}}}async function In(m){if(!be){t(44,be=!0),t(45,qe="");try{for(const F of m){const le=await se("CapturePath",F);Fl(le)}t(45,qe=p("inbox.captured"))}catch(F){t(24,H=String(F))}finally{t(44,be=!1),t(74,Wt=!1)}}}function Yr(m){m.preventDefault(),m.dataTransfer.dropEffect="copy",t(74,Wt=!0)}function Qr(){t(74,Wt=!1)}async function Xr(m){var le;m.preventDefault(),t(74,Wt=!1);const F=Array.from(((le=m.dataTransfer)==null?void 0:le.files)||[]).map(de=>de.path||de.webkitRelativePath||"").filter(Boolean);F.length>0&&await In(F)}function Zr(){t(54,Ve=!0),t(55,ye=""),t(56,Se="open_url"),t(57,Te="")}function xr(){t(54,Ve=!1),t(55,ye=""),t(57,Te="")}async function Pl(){if(!(!ye.trim()||!Te.trim()||!R))try{const m=await se("CreateAction",R.id,Se,ye.trim(),Te.trim());m&&m.id&&t(30,re=[...re,m]),t(54,Ve=!1),t(55,ye=""),t(57,Te="")}catch(m){t(24,H=String(m))}}async function An(m){try{await se("DeleteAction",m),t(30,re=re.filter(F=>F.id!==m))}catch(F){t(24,H=String(F))}}function $r(m){const F=je.find(le=>le.id===m);return F?F.label:m}async function dt(m){try{const F=await se("GetNodeDetail",m);F&>(F)}catch(F){t(24,H=String(F))}}async function yt(m){const F=u1(m),le=F.nodeId;if(le)try{const de=await se("GetNodeDetail",le);if(!de)return;if(gt(de),F.tab==="notes"){if(t(27,K="notes"),F.targetId){try{t(28,P=await se("ListNotes",le)||[])}catch{}const Ze=P.find(rt=>rt.id===F.targetId);Ze&&setTimeout(()=>At(Ze),100)}}else if(F.tab==="files")if(t(27,K="files"),F.targetId)try{const Ze=await se("GetNodeDetail",F.targetId);if(Ze&&Ze.parent_id){await nt(Ze.parent_id);const rt=Xe.find(Ut=>Ut.id===F.targetId);rt&&rt.type==="file"&&Gu(rt)&&setTimeout(()=>el(rt),150)}else await nt(le)}catch{await nt(le)}else await nt(le)}catch(de){t(24,H=String(de))}}async function wt(m){return yt(m)}async function Ll(){try{t(83,gl=await se("SyncStatus"))}catch{t(83,gl={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let Fn="general";function Rl(m){t(87,Fn=m||"general"),t(3,u=!0)}function ea(){t(3,u=!1)}function ta(m){const F=Array.isArray(m==null?void 0:m.conflicts)?m.conflicts:[],le=Array.isArray(m==null?void 0:m.applyErrors)?m.applyErrors:[],de=[];return F.length>0&&de.push(p("sync.conflictsCount",{count:F.length})),le.length>0&&de.push(p("sync.applyErrorsCount",{count:le.length})),de.join(" · ")}async function la(){t(84,bl=!0),t(85,Bt=""),t(86,$t="");try{const m=await se("SyncNow");await Ll(),t(85,Bt=ta(m)),t(86,$t=Bt?"warning":"")}catch(m){console.error("sync error:",m),t(85,Bt=`${p("sync.status.error")}: ${(m==null?void 0:m.message)||m}`),t(86,$t="warning")}finally{t(84,bl=!1)}}function na(m){t(1,o=!1),t(0,n=m),t(58,Ie=!1),window.location.reload()}function ia(m){t(2,r=!1),t(0,n=m),t(58,Ie=!1),window.location.reload()}const sa=m=>m.nodeId===R.id,oa=m=>en(m.id),ra=()=>Rl("sync"),aa=()=>Rl(),ca=()=>t(24,H=""),ua=()=>t(24,H=""),fa=()=>t(24,H="");function da(){O.content=this.value,t(29,O)}const ma=m=>{t(27,K=m.id),m.id==="files"&&R&&Xe.length===0&&!Le&&nt(R.id)},pa=()=>{t(27,K="notes"),wn()},_a=()=>{t(27,K="files"),Dn()},va=()=>t(27,K="worklog"),ha=m=>At(m),ga=m=>At(m);function ba(){Ce=this.value,t(53,Ce)}const ka=m=>m.key==="Enter"&&zn(),ya=m=>At(m),wa=m=>At(m),za=m=>{const F=m.detail;F===0?(t(65,Ne=[]),t(64,Le=null),nt(R.id)):nn(F-1)},Ca=m=>yl(m.detail),Sa=m=>el(m.detail),ja=m=>se("OpenFile",m.detail),Ta=m=>se("OpenFolder",m.detail),Ea=m=>Nn(m.detail),Da=m=>on(m.detail.id),Na=m=>sn(m.detail),Ma=m=>rn(m.detail),Ia=m=>an(m.detail),Aa=m=>fn(m.detail),Fa=m=>un(m.detail),Pa=m=>dn(m.detail),La=m=>se("OpenFile",m.detail),Ra=m=>se("RunAction",m.id),Oa=m=>An(m.id),Va=()=>tl(),Wa=m=>m.nodeId===R.id,Ba=m=>ll(m),Ha=m=>Dl(m),Ua=(m,F,le)=>t(41,F[le]._expanded=!m._expanded,fe,t(26,R)),Ka=(m,F,le,de)=>de.key==="Enter"&&t(41,F[le]._expanded=!m._expanded,fe,t(26,R)),Ga=m=>yt(m),Ja=m=>bt(m.nodeId),qa=m=>tl(m),Ya=m=>Tl(m),Qa=m=>yt(m),Xa=m=>bt(m.nodeId),Za=m=>Ml(m),xa=(m,F)=>F.key==="Enter"&&Ml(m),$a=m=>wt(m),ec=(m,F)=>F.key==="Enter"&&wt(m),tc=m=>dt(m.id),lc=m=>bt(m),nc=m=>dt(m.id),ic=(m,F)=>F.key==="Enter"&&dt(m.id),sc=()=>se("OpenTrashFolder");function oc(){j=this.value,t(11,j)}function rc(){S=this.value,t(12,S)}const ac=()=>{t(19,W=""),t(17,N=""),En()};function cc(){W=this.value,t(19,W)}const uc=()=>setTimeout(()=>t(21,G=!1),200),fc=m=>Tn(m);function dc(){D=this.checked,t(13,D)}function mc(){E=al(this),t(15,E)}function pc(){I=al(this),t(16,I)}const _c=()=>nl("csv"),vc=()=>nl("markdown"),hc=()=>nl("pdf"),gc=m=>dt(m.nodeId),bc=(m,F,le,de)=>t(41,F[le].suggestedMin=parseInt(de.target.value),fe),kc=m=>ll(m),yc=m=>Sn(m),wc=(m,F,le)=>t(41,F[le]._expanded=!m._expanded,fe),zc=(m,F,le,de)=>de.key==="Enter"&&t(41,F[le]._expanded=!m._expanded,fe),Cc=m=>yt(m),Sc=m=>bt(m.nodeId),jc=m=>dt(m.nodeId),Tc=m=>Nl(m),Ec=(m,F)=>F.key==="Enter"&&Nl(m),Dc=m=>tl(m),Nc=m=>Tl(m),Mc=m=>yt(m),Ic=m=>dt(m.nodeId),Ac=(m,F,le,de)=>t(41,F[le].suggestedMin=parseInt(de.target.value),fe),Fc=m=>ll(m),Pc=m=>Dl(m),Lc=(m,F,le)=>t(41,F[le]._expanded=!m._expanded,fe),Rc=(m,F,le,de)=>de.key==="Enter"&&t(41,F[le]._expanded=!m._expanded,fe),Oc=m=>yt(m),Vc=m=>bt(m.nodeId),Wc=m=>dt(m.nodeId),Bc=(m,F)=>F.key==="Enter"&&dt(m.nodeId),Hc=m=>dt(m.nodeId),Uc=(m,F)=>F.key==="Enter"&&dt(m.nodeId),Kc=m=>wt(m),Gc=(m,F)=>F.key==="Enter"&&wt(m),Jc=m=>wt(m),qc=(m,F)=>F.key==="Enter"&&wt(m),Yc=()=>t(50,Me=null),Qc=m=>t(50,Me=m);function Xc(){He=this.value,t(48,He)}const Zc=m=>m.key==="Enter"&&gn(),xc=m=>hn(m),$c=()=>yn(ke.node),eu=()=>bn(ke.node),tu=()=>kn(ke.node),lu=()=>bt(ke.node);function nu(){ue=this.value,t(35,ue)}function iu(){ne=this.value,t(33,ne)}function su(){oe=dl(this.value),t(34,oe)}function ou(){we=this.value,t(36,we)}function ru(){Be=this.checked,t(37,Be)}function au(){Ae=this.checked,t(38,Ae)}function cu(){ye=this.value,t(55,ye)}const uu=m=>m.key==="Enter"&&Pl();function fu(){Se=al(this),t(56,Se),t(89,je)}function du(){Te=this.value,t(57,Te)}const mu=m=>m.key==="Enter"&&Pl(),pu=()=>Al("copy"),_u=()=>Al("link");function vu(){Dt=this.value,t(81,Dt)}return[n,o,r,u,c,d,v,_,h,y,w,j,S,D,T,E,I,N,L,W,V,G,q,Y,H,J,R,K,P,O,re,ee,ie,ne,oe,ue,we,Be,Ae,X,Z,fe,ze,pe,be,qe,Qe,lt,He,Pe,Me,ke,Oe,Ce,Ve,ye,Se,Te,Ie,Ue,Ee,_e,Ye,ct,Le,Ne,Xe,Tt,Et,_l,Yt,mt,Re,vl,Wt,hl,Xl,Zl,xl,$l,Zt,Dt,Nt,gl,bl,Bt,$t,Fn,U,je,rr,en,gt,nt,yl,ln,nn,el,wl,ar,sn,on,rn,an,cn,un,fn,dn,pr,_r,vr,_n,br,kr,yr,wr,hn,zr,Cr,gn,Sr,It,jr,Tr,Er,Dr,Nr,bn,kn,bt,yn,wn,Mr,zn,At,Ir,Ar,Fr,tl,Pr,Lr,Tl,ll,Dl,Sn,kt,nl,Nl,Ml,Or,Tn,En,Vr,Dn,Wr,Al,Br,Nn,Ur,Kr,Gr,Jr,Mn,Yr,Qr,Xr,Zr,xr,Pl,An,$r,dt,yt,wt,Ll,Rl,ea,la,na,ia,sa,oa,ra,aa,ca,ua,fa,da,ma,pa,_a,va,ha,ga,ba,ka,ya,wa,za,Ca,Sa,ja,Ta,Ea,Da,Na,Ma,Ia,Aa,Fa,Pa,La,Ra,Oa,Va,Wa,Ba,Ha,Ua,Ka,Ga,Ja,qa,Ya,Qa,Xa,Za,xa,$a,ec,tc,lc,nc,ic,sc,oc,rc,ac,cc,uc,fc,dc,mc,pc,_c,vc,hc,gc,bc,kc,yc,wc,zc,Cc,Sc,jc,Tc,Ec,Dc,Nc,Mc,Ic,Ac,Fc,Pc,Lc,Rc,Oc,Vc,Wc,Bc,Hc,Uc,Kc,Gc,Jc,qc,Yc,Qc,Xc,Zc,xc,$c,eu,tu,lu,nu,iu,su,ou,ru,au,cu,uu,fu,du,mu,pu,_u,vu]}class d1 extends et{constructor(e){super(),$e(this,e,f1,o1,xe,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new d1({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-OClTUyKu.js b/cmd/verstak-gui/frontend-dist/assets/main-OClTUyKu.js deleted file mode 100644 index 2a9a450..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-OClTUyKu.js +++ /dev/null @@ -1,3 +0,0 @@ -var uf=Object.defineProperty;var df=(l,e,t)=>e in l?uf(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var Ll=(l,e,t)=>df(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();function $(){}function Oo(l){return l()}function An(){return Object.create(null)}function ve(l){l.forEach(Oo)}function vt(l){return typeof l=="function"}function Xe(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let ll;function rl(l,e){return l===e?!0:(ll||(ll=document.createElement("a")),ll.href=e,l===ll.href)}function pf(l){return Object.keys(l).length===0}function Fn(l){return l??""}const Ul=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function S(l,e,t){l.insertBefore(e,t||null)}function C(l){l.parentNode&&l.parentNode.removeChild(l)}function Pe(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Kl(l){return function(e){return e.preventDefault(),l.call(this,e)}}function We(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function mt(l){return function(e){e.target===this&&l.call(this,e)}}function s(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function cl(l){return l===""?null:+l}function mf(l){return Array.from(l.childNodes)}function B(l,e){e=""+e,l.data!==e&&(l.data=e)}function ge(l,e){l.value=e??""}function ft(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function _t(l,e,t){for(let n=0;n{const i=l.$$.callbacks[e];if(i){const o=_f(e,t,{cancelable:n});return i.slice().forEach(r=>{r.call(l,o)}),!o.defaultPrevented}return!0}}function Wo(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Rt=[],Pn=[];let zt=[];const Ln=[],vf=Promise.resolve();let Wl=!1;function hf(){Wl||(Wl=!0,vf.then(Bo))}function Et(l){zt.push(l)}const Rl=new Set;let Pt=0;function Bo(){if(Pt!==0)return;const l=xt;do{try{for(;Ptl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),zt=e}const ol=new Set;let jt;function it(){jt={r:0,c:[],p:jt}}function st(){jt.r||ve(jt.c),jt=jt.p}function ae(l,e){l&&l.i&&(ol.delete(l),l.i(e))}function de(l,e,t,n){if(l&&l.o){if(ol.has(l))return;ol.add(l),jt.c.push(()=>{ol.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function ce(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Ho(l,e){de(l,1,1,()=>{e.delete(l.key)})}function Uo(l,e,t,n,i,o,r,f,c,d,v,_){let h=l.length,y=o.length,b=h;const k={};for(;b--;)k[l[b].key]=b;const w=[],E=new Map,j=new Map,D=[];for(b=y;b--;){const M=_(i,o,b),R=t(M);let W=r.get(R);W?D.push(()=>W.p(M,e)):(W=d(R,M),W.c()),E.set(R,w[b]=W),R in k&&j.set(R,Math.abs(b-k[R]))}const T=new Set,N=new Set;function A(M){ae(M,1),M.m(f,v),r.set(M.key,M),v=M.first,y--}for(;h&&y;){const M=w[y-1],R=l[h-1],W=M.key,V=R.key;M===R?(v=M.first,h--,y--):E.has(V)?!r.has(W)||T.has(W)?A(M):N.has(V)?h--:j.get(W)>j.get(V)?(N.add(W),A(M)):(T.add(V),h--):(c(R,r),h--)}for(;h--;){const M=l[h];E.has(M.key)||c(M,r)}for(;y;)A(w[y-1]);return ve(D),w}function Ge(l){l&&l.c()}function Ke(l,e,t){const{fragment:n,after_update:i}=l.$$;n&&n.m(e,t),Et(()=>{const o=l.$$.on_mount.map(Oo).filter(vt);l.$$.on_destroy?l.$$.on_destroy.push(...o):ve(o),l.$$.on_mount=[]}),i.forEach(Et)}function xe(l,e){const t=l.$$;t.fragment!==null&&(yf(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function bf(l,e){l.$$.dirty[0]===-1&&(Rt.push(l),hf(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const b=y.length?y[0]:h;return d.ctx&&i(d.ctx[_],d.ctx[_]=b)&&(!d.skip_bound&&d.bound[_]&&d.bound[_](b),v&&bf(l,_)),h}):[],d.update(),v=!0,ve(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const _=mf(e.target);d.fragment&&d.fragment.l(_),_.forEach(C)}else d.fragment&&d.fragment.c();e.intro&&ae(l.$$.fragment),Ke(l,e.target,e.anchor),Bo()}Kt(c)}class $e{constructor(){Ll(this,"$$");Ll(this,"$$set")}$destroy(){xe(this,1),this.$destroy=$}$on(e,t){if(!vt(t))return $;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!pf(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const kf="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(kf);function wf(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function Cf(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17"),s(o,"points","10 9 9 9 8 9")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),S(r,i,f),S(r,o,f)},d(r){r&&(C(e),C(t),C(n),C(i),C(o))}}}function Sf(l){let e,t;return{c(){e=Y("polyline"),t=Y("polyline"),s(e,"points","16 18 22 12 16 6"),s(t,"points","8 6 2 12 8 18")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function jf(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("rect"),s(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),s(t,"points","7 3 12 8 17 3"),s(n,"x1","3"),s(n,"y1","8"),s(n,"x2","21"),s(n,"y2","8"),s(i,"x","10"),s(i,"y","12"),s(i,"width","4"),s(i,"height","4"),s(i,"rx","1")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function Ef(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","9"),s(n,"y1","12"),s(n,"x2","15"),s(n,"y2","12"),s(i,"x1","9"),s(i,"y1","15"),s(i,"x2","13"),s(i,"y2","15"),s(o,"x1","12"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","18")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),S(r,i,f),S(r,o,f)},d(r){r&&(C(e),C(t),C(n),C(i),C(o))}}}function Tf(l){let e,t,n,i,o,r;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),r=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14"),s(r,"x1","12"),s(r,"y1","12"),s(r,"x2","12"),s(r,"y2","18")},m(f,c){S(f,e,c),S(f,t,c),S(f,n,c),S(f,i,c),S(f,o,c),S(f,r,c)},d(f){f&&(C(e),C(t),C(n),C(i),C(o),C(r))}}}function Nf(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function Df(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),S(r,i,f),S(r,o,f)},d(r){r&&(C(e),C(t),C(n),C(i),C(o))}}}function Mf(l){let e,t,n;return{c(){e=Y("path"),t=Y("circle"),n=Y("circle"),s(e,"d","M9 18V5l12-2v13"),s(t,"cx","6"),s(t,"cy","18"),s(t,"r","3"),s(n,"cx","18"),s(n,"cy","16"),s(n,"r","3")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},d(i){i&&(C(e),C(t),C(n))}}}function If(l){let e,t;return{c(){e=Y("rect"),t=Y("polyline"),s(e,"x","2"),s(e,"y","4"),s(e,"width","20"),s(e,"height","16"),s(e,"rx","2"),s(t,"points","10 9 16 12 10 15 10 9")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function Af(l){let e,t,n;return{c(){e=Y("rect"),t=Y("circle"),n=Y("polyline"),s(e,"x","3"),s(e,"y","3"),s(e,"width","18"),s(e,"height","18"),s(e,"rx","2"),s(e,"ry","2"),s(t,"cx","8.5"),s(t,"cy","8.5"),s(t,"r","1.5"),s(n,"points","21 15 16 10 5 21")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},d(i){i&&(C(e),C(t),C(n))}}}function Ff(l){let e;return{c(){e=Y("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Pf(l){let e;function t(o,r){return o[0]==="folder"?Ff:o[0]==="image"?Af:o[0]==="video"?If:o[0]==="audio"?Mf:o[0]==="pdf"?Df:o[0]==="document"?Nf:o[0]==="spreadsheet"?Tf:o[0]==="presentation"?Ef:o[0]==="archive"?jf:o[0]==="code"?Sf:o[0]==="text"?Cf:wf}let n=t(l),i=n(l);return{c(){e=Y("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,r){S(o,e,r),i.m(e,null)},p(o,[r]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),r&2&&s(e,"width",o[1]),r&2&&s(e,"height",o[1])},i:$,o:$,d(o){o&&C(e),i.d()}}}function Lf(l,e,t){let{kind:n="generic"}=e,{size:i=20}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class Ko extends $e{constructor(e){super(),Ze(this,e,Lf,Pf,Xe,{kind:0,size:1})}}const Rf={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.trash":"Корзина","nav.activity":"Активность","nav.journal":"Журнал","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","inbox.subtitle":"Захваченные материалы, которые нужно разложить по делам","inbox.empty":"Неразобранных элементов нет","inbox.pasteClipboard":"Вставить из буфера","inbox.captured":"Добавлено","inbox.clipboardEmpty":"Буфер обмена пуст","inbox.clipboardUnavailable":"Буфер обмена недоступен","capture.kind.text":"Текст","capture.kind.url":"Ссылка","capture.kind.file":"Файл","capture.kind.folder":"Папка","capture.kind.image":"Изображение","capture.source.clipboard":"Буфер обмена","capture.source.drop":"Перетаскивание","capture.source.browser":"Браузер","capture.source.manual":"Вручную","trash.openFolder":"Открыть папку корзины","trash.empty":"Корзина пуста","trash.deletedNodes":"Удаленные элементы","trash.physicalEntries":"Файлы в .verstak/trash","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.backLabel":"Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.acceptSuggestion":"Принять предложение","worklog.editEntry":"Редактировать запись","worklog.deleteEntry":"Удалить запись","worklog.deleteConfirm":"Удалить эту запись работы? Связанные события останутся в активности, но связь с записью будет удалена.","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","error.vaultNotOpen":"Хранилище не открыто","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","settings.title":"Настройки","settings.general":"Общие","settings.generalDesc":"Основные настройки интерфейса.","settings.workspace":"Рабочее пространство","settings.workspaceDesc":"Управление хранилищем данных.","settings.appearance":"Внешний вид","settings.localization":"Локализация","settings.templates":"Шаблоны","settings.plugins":"Плагины","settings.files":"Файлы","settings.activity":"Активность","settings.sync":"Синхронизация","settings.backup":"Резервные копии","settings.close":"Закрыть настройки","settings.noPlugins":"Плагины пока не установлены.","settings.openPluginsDir":"Открыть папку plugins","settings.activityStub":"Здесь будут настройки отслеживания активности.","settings.backupStub":"Здесь будут настройки резервного копирования.","settings.theme":"Тема интерфейса","settings.themeSystem":"Системная","settings.themeLight":"Светлая","settings.themeDark":"Тёмная","settings.language":"Язык интерфейса","settings.langRu":"Русский","settings.langEn":"Английский","settings.langSoon":"будет доступно позже","settings.save":"Сохранить настройки","settings.saved":"Настройки сохранены","settings.vaultPath":"Путь к рабочему пространству","settings.noVaultInfo":"Нет информации о хранилище.","settings.vaultInfo":"Информация о рабочем пространстве","settings.openVault":"Открыть папку vault","settings.changeVault":"Изменить путь","settings.checkIntegrity":"Проверить целостность","settings.templatesDesc":"Включите или выключите шаблоны создания элементов.","settings.templateEnabled":"Включён","settings.templateDisabled":"Выключен","settings.filesStub":"Здесь будут настройки файлового хранилища.","settings.syncEnabled":"Синхронизация включена","settings.syncDisabled":"Синхронизация отключена","settings.syncDesc":"Настройте подключение к серверу синхронизации.","settings.serverUrl":"URL сервера","settings.deviceName":"Имя устройства","settings.deviceId":"ID устройства","settings.lastSync":"Последняя синхронизация","settings.lastError":"Последняя ошибка","settings.pendingChanges":"Ожидающие изменения","settings.checkConnection":"Проверить подключение","settings.syncNow":"Синхронизировать сейчас","settings.reconnect":"Переподключить","settings.disconnect":"Отключить устройство","settings.resetKey":"Сбросить ключ","settings.confirmDisconnect":"Вы уверены, что хотите отключить устройство?","settings.confirmDisconnectDesc":"Синхронизация будет остановлена. Для повторного подключения потребуется логин и пароль.","settings.confirmResetKey":"Сбросить ключ синхронизации?","settings.confirmResetKeyDesc":"Текущий ключ устройства будет удалён. Потребуется переподключение.","settings.connected":"Подключено","settings.disconnected":"Не подключено","settings.notConfigured":"Не настроено","settings.error":"Ошибка","settings.revoked":"Отозвано","settings.status":"Статус","firstrun.title":"Добро пожаловать в Верстак","firstrun.desc":"Верстак хранит данные в локальном рабочем пространстве — vault.","firstrun.pathLabel":"Путь к vault","firstrun.defaultPath":"Путь по умолчанию","firstrun.browse":"Выбрать папку","firstrun.create":"Создать рабочее пространство","firstrun.quit":"Выйти","firstrun.pathExists":"Папка существует. Будет создан новый vault.","firstrun.pathHasVault":"Найден существующий vault. Будет подключён.","firstrun.pathNew":"Путь не существует. Будет создан новый vault.","firstrun.errorNoWrite":"Нет прав на запись в выбранную папку.","firstrun.creating":"Создание рабочего пространства...","firstrun.created":"Рабочее пространство создано!","recovery.title":"Рабочее пространство не найдено","recovery.expected":"Ожидался путь","recovery.choose":"Выбрать другой vault","recovery.create":"Создать новый vault","recovery.settings":"Открыть настройки","recovery.quit":"Выйти","recovery.createConfirm":"Будет создано новое пустое рабочее пространство. Старый путь в настройках будет заменён.","recovery.createConfirmTitle":"Создать новое рабочее пространство?","sync.status.connected":"Синхронизация доступна","sync.status.disconnected":"Сервер недоступен","sync.status.disabled":"Синхронизация не настроена","sync.status.syncing":"Синхронизация...","sync.status.error":"Ошибка синхронизации","sync.changes":"изменений","sync.details":"Подробнее","sync.configure":"Настроить","sync.retry":"Повторить","sync.run":"Синхронизировать","sync.running":"Синхронизация...","sync.conflictsCount":"Конфликты: {count}","sync.applyErrorsCount":"Ошибки применения: {count}","sync.pushedPulled":"Отправлено: {pushed}, получено: {pulled}","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},zf={"nav.today":"Today","nav.inbox":"Inbox","nav.trash":"Trash","nav.activity":"Activity","nav.journal":"Journal","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.sync":"Sync","nav.syncSettings":"Sync settings","nav.syncNow":"Sync now","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","inbox.subtitle":"Captured materials that still need to be assigned to cases","inbox.empty":"No unprocessed items","inbox.pasteClipboard":"Paste from clipboard","inbox.captured":"Added","inbox.clipboardEmpty":"Clipboard is empty","inbox.clipboardUnavailable":"Clipboard is unavailable","capture.kind.text":"Text","capture.kind.url":"Link","capture.kind.file":"File","capture.kind.folder":"Folder","capture.kind.image":"Image","capture.source.clipboard":"Clipboard","capture.source.drop":"Drop","capture.source.browser":"Browser","capture.source.manual":"Manual","trash.openFolder":"Open trash folder","trash.empty":"Trash is empty","trash.deletedNodes":"Deleted items","trash.physicalEntries":"Files in .verstak/trash","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.backLabel":"Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.copy":"Copy","common.cut":"Cut","common.paste":"Paste","common.duplicate":"Duplicate","common.run":"Run","common.test":"Test","common.all":"All","common.open":"Open","common.no":"No","common.date":"Date","common.search":"Search","common.testAgain":"Check","common.connect":"Connect","common.disconnect":"Disconnect","common.settings":"Settings","common.name":"Name","common.type":"Type","common.section":"Section","common.created":"Created","common.empty":"None","common.newName":"New name","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.createCase":"Or create a new case with the + button.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.folderAdded":"Folder added","event.folderDeleted":"Folder deleted","event.folderRenamed":"Folder renamed","event.caseCreated":"Case created","event.caseUpdated":"Case updated","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","action.addAction":"+ Add action","action.newAction":"New action","action.noActions":"No actions yet","action.run":"Run","action.dataUrl":"URL","action.dataPath":"Path","action.dataCommand":"Command","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"command","action.namePlaceholder":"Example: Open website","note.add":"+ Add note","note.new":"New note","note.title":"Note title","note.noNotes":"No notes","note.createFirst":"Create the first note for this case.","note.placeholder":"Start writing...","note.unsavedTitle":"Unsaved changes","note.unsavedMessage":"Close the editor? All unsaved changes will be lost.","note.unsavedClose":"Close","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.newFile":"+ New file","file.addFileSimple":"Add file","file.addFolderSimple":"Add folder","file.noFiles":"No files in this folder yet","file.noFilesCase":"No files in this project yet","file.hint":"Add a file or folder to store project materials.","file.root":"Files","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.more":"More","file.delete":"Delete","file.ariaFolder":"Folder","file.ariaFile":"File","file.scanning":"Scanning...","file.pickSingle":"Select file","file.pickMultiple":"Select files","file.pickDirectory":"Select folder","file.importTitle":"Add to","file.importFiles":"Files:","file.importFolders":"Folders:","file.importSize":"Size:","file.importCopy":"Copy","file.importLink":"Link","file.selectCaseFirst":"Select a case before adding files","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","worklog.acceptSuggestion":"Accept suggestion","worklog.editEntry":"Edit entry","worklog.deleteEntry":"Delete entry","worklog.deleteConfirm":"Delete this work entry? Related events stay in activity, but their link to this entry will be removed.","worklog.date":"Date","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"From suggestion","worklog.sourceSuggestionNoEvents":"From suggestion, but related events missing","worklog.sourceManual":"Manual entry","worklog.sourceUnknown":"Unknown source","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.deviceId":"Device ID","sync.unpushed":"Unpushed","sync.lastSync":"Last sync","sync.revoked":"Revoked","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","sync.serverUrl":"Server URL","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Username","sync.usernamePlaceholder":"username","sync.password":"Password","sync.passwordPlaceholder":"password","sync.interval":"Auto sync (min)","sync.saveInterval":"Save interval","sync.syncNow":"Sync now","sync.disconnect":"Disconnect","sync.connect":"Connect","sync.test":"Check","sync.settingsSaved":"interval saved","today.title":"Today","today.changedCases":"Changed today","today.timeline":"Timeline for today","today.empty":"Nothing happened today yet","today.emptyHint":"Cases, notes, files, and actions you worked with today will appear here.","today.plural.case_one":"case","today.plural.case_few":"cases","today.plural.case_many":"cases","today.plural.note_one":"note","today.plural.note_few":"notes","today.plural.note_many":"notes","today.plural.file_one":"file","today.plural.file_few":"files","today.plural.file_many":"files","today.plural.event_one":"event","today.plural.event_few":"events","today.plural.event_many":"events","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected","activity.title":"Activity","activity.empty":"No activity recorded yet","activity.perCaseEmpty":"No activity recorded yet","overview.type":"Type","overview.section":"Section","overview.created":"Created","overview.newNote":"New note","overview.addFile":"Add file","overview.addAction":"Add action","overview.logTime":"Log time","overview.recentNotes":"Recent notes","overview.recentEntries":"Recent entries","rename.title":"Rename","rename.emptyError":"Name cannot be empty","rename.invalidError":"Invalid name","delete.confirmTitle":"Delete","delete.confirmMessage":"Delete","delete.folder":"folder","delete.file":"file","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","mime.jpeg":"JPEG image","mime.png":"PNG image","mime.gif":"GIF image","mime.webp":"WebP image","mime.svg":"SVG image","mime.bmp":"BMP image","mime.tiff":"TIFF image","mime.avif":"AVIF image","mime.pdf":"PDF document","mime.word":"Word document","mime.excel":"Excel spreadsheet","mime.ppt":"PowerPoint presentation","mime.zip":"ZIP archive","mime.gzip":"GZIP archive","mime.tar":"TAR archive","mime.sevenz":"7z archive","mime.rar":"RAR archive","mime.text":"Text file","mime.html":"HTML file","mime.css":"CSS file","mime.js":"JavaScript file","mime.json":"JSON file","mime.xml":"XML file","mime.yaml":"YAML file","mime.binary":"Binary file","mime.executable":"Executable file","mime.folder":"Folder","mime.unknown":"Unknown","mime.file":"File","error.nameEmpty":"Name cannot be empty","error.nameInvalid":"Invalid name","error.selectCaseFirst":"Select a case first","error.vaultNotOpen":"Vault not open","delete.files":"files ({count})","file.namePrompt":"Enter file name:","file.pdfUnavailable":"PDF preview is unavailable.","file.previewUnavailable":"Preview is unavailable for this file type.","case.new":"New case","case.namePlaceholder":"Case name","settings.title":"Settings","settings.general":"General","settings.generalDesc":"Basic interface settings.","settings.workspace":"Workspace","settings.workspaceDesc":"Manage data storage.","settings.appearance":"Appearance","settings.localization":"Localization","settings.templates":"Templates","settings.plugins":"Plugins","settings.files":"Files","settings.activity":"Activity","settings.sync":"Sync","settings.backup":"Backups","settings.close":"Close settings","settings.noPlugins":"No plugins installed yet.","settings.openPluginsDir":"Open plugins folder","settings.activityStub":"Activity tracking settings will be here.","settings.backupStub":"Backup settings will be here.","settings.theme":"Interface theme","settings.themeSystem":"System","settings.themeLight":"Light","settings.themeDark":"Dark","settings.language":"Interface language","settings.langRu":"Russian","settings.langEn":"English","settings.langSoon":"coming soon","settings.save":"Save settings","settings.saved":"Settings saved","settings.vaultPath":"Workspace path","settings.noVaultInfo":"No workspace information.","settings.vaultInfo":"Workspace information","settings.openVault":"Open vault folder","settings.changeVault":"Change path","settings.checkIntegrity":"Check integrity","settings.templatesDesc":"Enable or disable templates for creating items.","settings.templateEnabled":"Enabled","settings.templateDisabled":"Disabled","settings.filesStub":"File storage settings will be here.","settings.syncEnabled":"Sync enabled","settings.syncDisabled":"Sync disabled","settings.syncDesc":"Configure connection to the sync server.","settings.serverUrl":"Server URL","settings.deviceName":"Device name","settings.deviceId":"Device ID","settings.lastSync":"Last sync","settings.lastError":"Last error","settings.pendingChanges":"Pending changes","settings.checkConnection":"Check connection","settings.syncNow":"Sync now","settings.reconnect":"Reconnect","settings.disconnect":"Disconnect device","settings.resetKey":"Reset key","settings.confirmDisconnect":"Are you sure you want to disconnect this device?","settings.confirmDisconnectDesc":"Sync will stop. Reconnecting will require username and password.","settings.confirmResetKey":"Reset sync key?","settings.confirmResetKeyDesc":"The current device key will be removed. Reconnection will be required.","settings.connected":"Connected","settings.disconnected":"Disconnected","settings.notConfigured":"Not configured","settings.error":"Error","settings.revoked":"Revoked","settings.status":"Status","firstrun.title":"Welcome to Verstak","firstrun.desc":"Verstak stores data in a local workspace called a vault.","firstrun.pathLabel":"Vault path","firstrun.defaultPath":"Default path","firstrun.browse":"Choose folder","firstrun.create":"Create workspace","firstrun.quit":"Quit","firstrun.pathExists":"The folder exists. A new vault will be created.","firstrun.pathHasVault":"Existing vault found. It will be connected.","firstrun.pathNew":"The path does not exist. A new vault will be created.","firstrun.errorNoWrite":"No write permission for the selected folder.","firstrun.creating":"Creating workspace...","firstrun.created":"Workspace created!","recovery.title":"Workspace not found","recovery.expected":"Expected path","recovery.choose":"Choose another vault","recovery.create":"Create new vault","recovery.settings":"Open settings","recovery.quit":"Quit","recovery.createConfirm":"A new empty workspace will be created. The old path in settings will be replaced.","recovery.createConfirmTitle":"Create a new workspace?","sync.status.connected":"Sync available","sync.status.disconnected":"Server unavailable","sync.status.disabled":"Sync is not configured","sync.status.syncing":"Syncing...","sync.status.error":"Sync error","sync.changes":"changes","sync.details":"Details","sync.configure":"Configure","sync.retry":"Retry","sync.run":"Sync","sync.running":"Syncing...","sync.conflictsCount":"Conflicts: {count}","sync.applyErrorsCount":"Apply errors: {count}","sync.pushedPulled":"Pushed: {pushed}, pulled: {pulled}","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","error.accountBlocked":"Account blocked","error.emailNotConfirmed":"Email not confirmed","error.tokenInvalid":"Invalid or expired token","error.tokenExpired":"Token expired"},Rn={ru:Rf,en:zf};let zn="ru";function m(l,e){var i;const t=Rn[zn];let n=t==null?void 0:t[l];if(n==null&&zn!=="ru"&&(n=(i=Rn.ru)==null?void 0:i[l]),n==null&&(n=l),e!=null)for(const[o,r]of Object.entries(e))n=n.replace(`{${o}}`,String(r));return n}function al(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const Bl={"image/jpeg":m("mime.jpeg"),"image/png":m("mime.png"),"image/gif":m("mime.gif"),"image/webp":m("mime.webp"),"image/svg+xml":m("mime.svg"),"image/bmp":m("mime.bmp"),"image/tiff":m("mime.tiff"),"image/avif":m("mime.avif"),"application/pdf":m("mime.pdf"),"application/msword":m("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":m("mime.word"),"application/vnd.ms-excel":m("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":m("mime.excel"),"application/vnd.ms-powerpoint":m("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":m("mime.ppt"),"application/zip":m("mime.zip"),"application/gzip":m("mime.gzip"),"application/x-tar":m("mime.tar"),"application/x-7z-compressed":m("mime.sevenz"),"application/x-rar-compressed":m("mime.rar"),"text/plain":m("mime.text"),"text/html":m("mime.html"),"text/css":m("mime.css"),"text/javascript":m("mime.js"),"application/json":m("mime.json"),"application/xml":m("mime.xml"),"application/x-yaml":m("mime.yaml"),"application/octet-stream":m("mime.binary"),"application/x-msdos-program":m("mime.executable"),"inode/directory":m("mime.folder")};function On(l){return l?Bl[l]||l:m("mime.unknown")}function Of(l){if(l.type==="folder")return m("mime.folder");const e=(l.mime||"").toLowerCase();if(Bl[e])return Bl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():m("mime.file")}function xo(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const Go=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Jo=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],qo=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Yo=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function Vf(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(Go.includes(e)||Yo.includes(n)||e.includes("pdf")||Jo.includes(e)||qo.includes(n))}function Qo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Go.includes(e)||Yo.includes(n)}function Xo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Jo.includes(e)||qo.includes(n)&&n!=="md"&&n!=="markdown"}function Zo(l){return(l.mime||"").toLowerCase().includes("pdf")}function $o(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function Wf(l){return Qo(l)||Zo(l)}function Bf(l){return Xo(l)||$o(l)}const{window:Hf}=Ul;function Uf(l){let e,t,n,i=al(l[0].size)+"",o;return{c(){e=u("span"),e.textContent="·",t=g(),n=u("span"),o=F(i),s(e,"class","meta-sep svelte-1skuef2")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),a(n,o)},p(r,f){f[0]&1&&i!==(i=al(r[0].size)+"")&&B(o,i)},d(r){r&&(C(e),C(t),C(n))}}}function Kf(l){let e,t,n,i,o;return{c(){e=u("button"),e.innerHTML='',t=g(),n=u("button"),n.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",m("file.openFolder")),s(e,"aria-label",m("file.openFolder")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",m("file.showInExplorer")),s(n,"aria-label",m("file.showInExplorer"))},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),i||(o=[I(e,"click",We(l[30])),I(n,"click",We(l[11]))],i=!0)},p:$,d(r){r&&(C(e),C(t),C(n)),i=!1,ve(o)}}}function xf(l){let e,t,n,i,o,r,f;return{c(){e=u("button"),e.innerHTML='',t=g(),n=u("button"),n.innerHTML='',i=g(),o=u("button"),o.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",m("file.preview")),s(e,"aria-label",m("file.preview")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",m("file.openExternal")),s(n,"aria-label",m("file.openExternal")),s(o,"class","action-btn svelte-1skuef2"),s(o,"title",m("file.showInExplorer")),s(o,"aria-label",m("file.showInExplorer"))},m(c,d){S(c,e,d),S(c,t,d),S(c,n,d),S(c,i,d),S(c,o,d),r||(f=[I(e,"click",We(l[29])),I(n,"click",We(l[10])),I(o,"click",We(l[11]))],r=!0)},p:$,d(c){c&&(C(e),C(t),C(n),C(i),C(o)),r=!1,ve(f)}}}function Vn(l){let e,t,n,i,o,r,f,c,d=m("common.open")+"",v,_,h,y,b,k,w,E,j=m("file.openExternal")+"",D,T,N,A,M,R,W=m("file.showInExplorer")+"",V,x,J,q,H,U,G,z,K,L=m("common.rename")+"",O,Z,re,ee,ne,le,oe,fe=m("common.duplicate")+"",ke,Be,Fe,Q,X,ue,we,me,je,qe=m("common.cut")+"",Ye,lt,He,Le,Ie,ye,Oe,Ce=m("common.copy")+"",Ve,be,Se,Te,Ee,Ae,Ue,Ne,_e,te=m("common.delete")+"",De,Je,ct;return{c(){e=u("div"),t=g(),n=u("div"),i=u("button"),o=Y("svg"),r=Y("path"),f=Y("circle"),c=g(),v=F(d),_=g(),h=u("button"),y=Y("svg"),b=Y("path"),k=Y("polyline"),w=Y("line"),E=g(),D=F(j),T=g(),N=u("button"),A=Y("svg"),M=Y("path"),R=g(),V=F(W),x=g(),J=u("div"),q=g(),H=u("button"),U=Y("svg"),G=Y("path"),z=Y("path"),K=g(),O=F(L),Z=g(),re=u("button"),ee=Y("svg"),ne=Y("rect"),le=Y("path"),oe=g(),ke=F(fe),Be=g(),Fe=u("button"),Q=Y("svg"),X=Y("circle"),ue=Y("circle"),we=Y("line"),me=Y("line"),je=g(),Ye=F(qe),lt=g(),He=u("button"),Le=Y("svg"),Ie=Y("rect"),ye=Y("path"),Oe=g(),Ve=F(Ce),be=g(),Se=u("div"),Te=g(),Ee=u("button"),Ae=Y("svg"),Ue=Y("polyline"),Ne=Y("path"),_e=g(),De=F(te),s(e,"class","menu-backdrop svelte-1skuef2"),s(e,"role","presentation"),s(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),s(f,"cx","12"),s(f,"cy","12"),s(f,"r","3"),s(o,"width","14"),s(o,"height","14"),s(o,"viewBox","0 0 24 24"),s(o,"fill","none"),s(o,"stroke","currentColor"),s(o,"stroke-width","2"),s(o,"stroke-linecap","round"),s(o,"stroke-linejoin","round"),s(i,"class","menu-item svelte-1skuef2"),s(i,"role","menuitem"),s(b,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),s(k,"points","15 3 21 3 21 9"),s(w,"x1","10"),s(w,"y1","14"),s(w,"x2","21"),s(w,"y2","3"),s(y,"width","14"),s(y,"height","14"),s(y,"viewBox","0 0 24 24"),s(y,"fill","none"),s(y,"stroke","currentColor"),s(y,"stroke-width","2"),s(y,"stroke-linecap","round"),s(y,"stroke-linejoin","round"),s(h,"class","menu-item svelte-1skuef2"),s(h,"role","menuitem"),s(M,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),s(A,"width","14"),s(A,"height","14"),s(A,"viewBox","0 0 24 24"),s(A,"fill","none"),s(A,"stroke","currentColor"),s(A,"stroke-width","2"),s(A,"stroke-linecap","round"),s(A,"stroke-linejoin","round"),s(N,"class","menu-item svelte-1skuef2"),s(N,"role","menuitem"),s(J,"class","menu-sep svelte-1skuef2"),s(G,"d","M12 20h9"),s(z,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(U,"width","14"),s(U,"height","14"),s(U,"viewBox","0 0 24 24"),s(U,"fill","none"),s(U,"stroke","currentColor"),s(U,"stroke-width","2"),s(U,"stroke-linecap","round"),s(U,"stroke-linejoin","round"),s(H,"class","menu-item svelte-1skuef2"),s(H,"role","menuitem"),s(ne,"x","9"),s(ne,"y","9"),s(ne,"width","13"),s(ne,"height","13"),s(ne,"rx","2"),s(ne,"ry","2"),s(le,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(ee,"width","14"),s(ee,"height","14"),s(ee,"viewBox","0 0 24 24"),s(ee,"fill","none"),s(ee,"stroke","currentColor"),s(ee,"stroke-width","2"),s(ee,"stroke-linecap","round"),s(ee,"stroke-linejoin","round"),s(re,"class","menu-item svelte-1skuef2"),s(re,"role","menuitem"),s(X,"cx","6"),s(X,"cy","6"),s(X,"r","3"),s(ue,"cx","6"),s(ue,"cy","18"),s(ue,"r","3"),s(we,"x1","20"),s(we,"y1","4"),s(we,"x2","8.12"),s(we,"y2","15.88"),s(me,"x1","8.12"),s(me,"y1","8.12"),s(me,"x2","20"),s(me,"y2","20"),s(Q,"width","14"),s(Q,"height","14"),s(Q,"viewBox","0 0 24 24"),s(Q,"fill","none"),s(Q,"stroke","currentColor"),s(Q,"stroke-width","2"),s(Q,"stroke-linecap","round"),s(Q,"stroke-linejoin","round"),s(Fe,"class","menu-item svelte-1skuef2"),s(Fe,"role","menuitem"),s(Ie,"x","9"),s(Ie,"y","9"),s(Ie,"width","13"),s(Ie,"height","13"),s(Ie,"rx","2"),s(Ie,"ry","2"),s(ye,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(Le,"width","14"),s(Le,"height","14"),s(Le,"viewBox","0 0 24 24"),s(Le,"fill","none"),s(Le,"stroke","currentColor"),s(Le,"stroke-width","2"),s(Le,"stroke-linecap","round"),s(Le,"stroke-linejoin","round"),s(He,"class","menu-item svelte-1skuef2"),s(He,"role","menuitem"),s(Se,"class","menu-sep svelte-1skuef2"),s(Ue,"points","3 6 5 6 21 6"),s(Ne,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),s(Ae,"width","14"),s(Ae,"height","14"),s(Ae,"viewBox","0 0 24 24"),s(Ae,"fill","none"),s(Ae,"stroke","currentColor"),s(Ae,"stroke-width","2"),s(Ae,"stroke-linecap","round"),s(Ae,"stroke-linejoin","round"),s(Ee,"class","menu-item menu-item-danger svelte-1skuef2"),s(Ee,"role","menuitem"),s(n,"class","menu svelte-1skuef2"),ft(n,"left",l[3]+"px"),ft(n,"top",l[4]+"px"),ft(n,"position","fixed"),s(n,"role","menu"),s(n,"tabindex","-1")},m(Re,Me){S(Re,e,Me),S(Re,t,Me),S(Re,n,Me),a(n,i),a(i,o),a(o,r),a(o,f),a(i,c),a(i,v),a(n,_),a(n,h),a(h,y),a(y,b),a(y,k),a(y,w),a(h,E),a(h,D),a(n,T),a(n,N),a(N,A),a(A,M),a(N,R),a(N,V),a(n,x),a(n,J),a(n,q),a(n,H),a(H,U),a(U,G),a(U,z),a(H,K),a(H,O),a(n,Z),a(n,re),a(re,ee),a(ee,ne),a(ee,le),a(re,oe),a(re,ke),a(n,Be),a(n,Fe),a(Fe,Q),a(Q,X),a(Q,ue),a(Q,we),a(Q,me),a(Fe,je),a(Fe,Ye),a(n,lt),a(n,He),a(He,Le),a(Le,Ie),a(Le,ye),a(He,Oe),a(He,Ve),a(n,be),a(n,Se),a(n,Te),a(n,Ee),a(Ee,Ae),a(Ae,Ue),a(Ae,Ne),a(Ee,_e),a(Ee,De),Je||(ct=[I(e,"click",We(l[19])),I(i,"click",l[17]),I(h,"click",l[10]),I(N,"click",l[11]),I(H,"click",l[13]),I(re,"click",l[14]),I(Fe,"click",l[15]),I(He,"click",l[16]),I(Ee,"click",l[12]),I(n,"click",We(l[28])),I(n,"keydown",l[31])],Je=!0)},p(Re,Me){Me[0]&8&&ft(n,"left",Re[3]+"px"),Me[0]&16&&ft(n,"top",Re[4]+"px")},d(Re){Re&&(C(e),C(t),C(n)),Je=!1,ve(ct)}}}function Gf(l){let e,t,n,i,o,r,f=l[0].name+"",c,d,v,_,h,y,b,k,w,E,j,D,T,N,A,M,R,W,V,x,J,q;n=new Ko({props:{kind:l[6],size:22}});let H=!l[7]&&Uf(l);function U(L,O){return L[7]?Kf:xf}let z=U(l)(l),K=l[2]&&Vn(l);return{c(){e=u("div"),t=u("div"),Ge(n.$$.fragment),i=g(),o=u("div"),r=u("div"),c=F(f),v=g(),_=u("div"),h=u("span"),h.textContent=`${l[8]}`,y=g(),H&&H.c(),b=g(),k=u("div"),z.c(),w=g(),E=u("button"),j=Y("svg"),D=Y("circle"),T=Y("circle"),N=Y("circle"),A=g(),M=u("button"),M.innerHTML='',W=g(),K&&K.c(),V=ot(),s(t,"class","file-row-icon svelte-1skuef2"),s(r,"class","file-row-name svelte-1skuef2"),s(r,"title",d=l[0].name),s(_,"class","file-row-meta svelte-1skuef2"),s(o,"class","file-row-body svelte-1skuef2"),s(D,"cx","12"),s(D,"cy","5"),s(D,"r","2"),s(T,"cx","12"),s(T,"cy","12"),s(T,"r","2"),s(N,"cx","12"),s(N,"cy","19"),s(N,"r","2"),s(j,"width","16"),s(j,"height","16"),s(j,"viewBox","0 0 24 24"),s(j,"fill","currentColor"),s(E,"class","action-btn svelte-1skuef2"),s(E,"title",m("file.more")),s(E,"aria-label",m("file.more")),s(E,"aria-expanded",l[2]),s(M,"class","action-btn action-btn-danger svelte-1skuef2"),s(M,"title",m("common.delete")),s(M,"aria-label",m("common.delete")),s(k,"class","file-row-actions svelte-1skuef2"),s(e,"class","file-row svelte-1skuef2"),s(e,"role","button"),s(e,"tabindex","0"),s(e,"draggable","true"),s(e,"aria-label",R=l[7]?m("file.ariaFolder")+" "+l[0].name:m("file.ariaFile")+" "+l[0].name),he(e,"file-row--selected",l[1])},m(L,O){S(L,e,O),a(e,t),Ke(n,t,null),a(e,i),a(e,o),a(o,r),a(r,c),a(o,v),a(o,_),a(_,h),a(_,y),H&&H.m(_,null),a(e,b),a(e,k),z.m(k,null),a(k,w),a(k,E),a(E,j),a(j,D),a(j,T),a(j,N),a(k,A),a(k,M),S(L,W,O),K&&K.m(L,O),S(L,V,O),x=!0,J||(q=[I(Hf,"click",l[19]),I(E,"click",We(l[18])),I(M,"click",We(l[12])),I(e,"click",l[9]),I(e,"keydown",l[24]),I(e,"contextmenu",l[23]),I(e,"dragstart",l[20]),I(e,"dragover",l[21]),I(e,"drop",l[22])],J=!0)},p(L,O){(!x||O[0]&1)&&f!==(f=L[0].name+"")&&B(c,f),(!x||O[0]&1&&d!==(d=L[0].name))&&s(r,"title",d),L[7]||H.p(L,O),z.p(L,O),(!x||O[0]&4)&&s(E,"aria-expanded",L[2]),(!x||O[0]&1&&R!==(R=L[7]?m("file.ariaFolder")+" "+L[0].name:m("file.ariaFile")+" "+L[0].name))&&s(e,"aria-label",R),(!x||O[0]&2)&&he(e,"file-row--selected",L[1]),L[2]?K?K.p(L,O):(K=Vn(L),K.c(),K.m(V.parentNode,V)):K&&(K.d(1),K=null)},i(L){x||(ae(n.$$.fragment,L),x=!0)},o(L){de(n.$$.fragment,L),x=!1},d(L){L&&(C(e),C(W),C(V)),xe(n),H&&H.d(),z.d(),K&&K.d(L),J=!1,ve(q)}}}function Jf(l,e,t){let{item:n}=e,{selected:i=!1}=e,{onDragStart:o}=e,{onDragOver:r}=e,{onDrop:f}=e;const c=fl(),d=xo(n),v=n.type==="folder",_=Of(n);let h=!1,y=0,b=0,k=null;function w(O){O.ctrlKey||O.metaKey?c("toggleSelect",n.id):O.shiftKey?c("rangeSelect",n.id):k?(clearTimeout(k),k=null,v?c("navigate",n.id):c("preview",n)):k=setTimeout(()=>{k=null,c("selectOne",n.id)},250)}function E(){c("openExternal",n.fileId)}function j(){t(2,h=!1),c("showInFolder",n.nodeId||n.id)}function D(){t(2,h=!1),c("delete",{id:n.id,type:n.type})}function T(){t(2,h=!1),c("rename",{id:n.id,name:n.name})}function N(){t(2,h=!1),c("duplicate",n.id)}function A(){t(2,h=!1),c("cut",n.id)}function M(){t(2,h=!1),c("copy",n.id)}function R(){t(2,h=!1),v?c("navigate",n.id):c("preview",n)}function W(){t(2,h=!h)}function V(){t(2,h=!1)}function x(O){o&&o(O,n.id)}function J(O){r&&v&&r(O,n.id)}function q(O){f&&v&&f(O,n.id)}function H(O){O.preventDefault(),t(3,y=Math.min(O.clientX,window.innerWidth-240)),t(4,b=Math.min(O.clientY,window.innerHeight-320)),t(2,h=!0)}function U(O){(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),w(O))}function G(O){Wo.call(this,l,O)}const z=()=>c("preview",n),K=()=>c("navigate",n.id),L=O=>{O.key==="Escape"&&(O.stopPropagation(),V())};return l.$$set=O=>{"item"in O&&t(0,n=O.item),"selected"in O&&t(1,i=O.selected),"onDragStart"in O&&t(25,o=O.onDragStart),"onDragOver"in O&&t(26,r=O.onDragOver),"onDrop"in O&&t(27,f=O.onDrop)},[n,i,h,y,b,c,d,v,_,w,E,j,D,T,N,A,M,R,W,V,x,J,q,H,U,o,r,f,G,z,K,L]}class qf extends $e{constructor(e){super(),Ze(this,e,Jf,Gf,Xe,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function Wn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function Yf(l){let e;return{c(){e=u("span"),e.textContent="/",s(e,"class","sep svelte-csi2lb")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Qf(l){let e,t=l[4].name+"",n,i,o;function r(){return l[2](l[6])}return{c(){e=u("button"),n=F(t),s(e,"class","crumb crumb--link svelte-csi2lb")},m(f,c){S(f,e,c),a(e,n),i||(o=I(e,"click",r),i=!0)},p(f,c){l=f,c&1&&t!==(t=l[4].name+"")&&B(n,t)},d(f){f&&C(e),i=!1,o()}}}function Xf(l){let e,t=l[4].name+"",n;return{c(){e=u("span"),n=F(t),s(e,"class","crumb crumb--current svelte-csi2lb")},m(i,o){S(i,e,o),a(e,n)},p(i,o){o&1&&t!==(t=i[4].name+"")&&B(n,t)},d(i){i&&C(e)}}}function Bn(l){let e,t,n=l[6]>0&&Yf();function i(f,c){return f[6]===f[0].length-1?Xf:Qf}let o=i(l),r=o(l);return{c(){n&&n.c(),e=g(),r.c(),t=ot()},m(f,c){n&&n.m(f,c),S(f,e,c),r.m(f,c),S(f,t,c)},p(f,c){o===(o=i(f))&&r?r.p(f,c):(r.d(1),r=o(f),r&&(r.c(),r.m(t.parentNode,t)))},d(f){f&&(C(e),C(t)),n&&n.d(f),r.d(f)}}}function Zf(l){let e,t=ce(l[0]),n=[];for(let i=0;io(f);return l.$$set=f=>{"crumbs"in f&&t(0,n=f.crumbs)},[n,o,r]}class er extends $e{constructor(e){super(),Ze(this,e,$f,Zf,Xe,{crumbs:0})}}function eu(l){let e,t,n,i,o,r;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.previewUnavailable")}`,n=g(),i=u("button"),i.textContent=`${m("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),o||(r=I(i,"click",l[9]),o=!0)},p:$,d(f){f&&C(e),o=!1,r()}}}function tu(l){let e,t;function n(r,f){return f&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?ru:ou}let i=n(l,-1),o=i(l);return{c(){o.c(),t=ot()},m(r,f){o.m(r,f),S(r,t,f)},p(r,f){i===(i=n(r,f))&&o?o.p(r,f):(o.d(1),o=i(r),o&&(o.c(),o.m(t.parentNode,t)))},d(r){r&&C(t),o.d(r)}}}function lu(l){let e,t,n;return{c(){e=u("pre"),t=u("code"),n=F(l[1]),s(e,"class","preview-text svelte-1cw3u0m")},m(i,o){S(i,e,o),a(e,t),a(t,n)},p(i,o){o&2&&B(n,i[1])},d(i){i&&C(e)}}}function nu(l){let e,t,n,i;return{c(){e=u("div"),t=u("img"),rl(t.src,n=l[1])||s(t,"src",n),s(t,"alt",i=l[0].name),s(t,"class","preview-image svelte-1cw3u0m"),s(e,"class","preview-image-container svelte-1cw3u0m")},m(o,r){S(o,e,r),a(e,t)},p(o,r){r&2&&!rl(t.src,n=o[1])&&s(t,"src",n),r&1&&i!==(i=o[0].name)&&s(t,"alt",i)},d(o){o&&C(e)}}}function iu(l){let e,t,n,i,o,r,f;return{c(){e=u("div"),t=u("p"),n=F(l[3]),i=g(),o=u("button"),o.textContent=`${m("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(c,d){S(c,e,d),a(e,t),a(t,n),a(e,i),a(e,o),r||(f=I(o,"click",l[9]),r=!0)},p(c,d){d&8&&B(n,c[3])},d(c){c&&C(e),r=!1,f()}}}function su(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("common.loading")}`,s(e,"class","preview-status svelte-1cw3u0m")},m(n,i){S(n,e,i),a(e,t)},p:$,d(n){n&&C(e)}}}function ou(l){let e,t,n,i,o,r;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.pdfUnavailable")}`,n=g(),i=u("button"),i.textContent=`${m("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),o||(r=I(i,"click",l[9]),o=!0)},p:$,d(f){f&&C(e),o=!1,r()}}}function ru(l){let e,t,n;return{c(){e=u("div"),t=u("embed"),rl(t.src,n=l[1])||s(t,"src",n),s(t,"type","application/pdf"),s(t,"class","preview-pdf svelte-1cw3u0m"),s(e,"class","preview-pdf-container svelte-1cw3u0m")},m(i,o){S(i,e,o),a(e,t)},p(i,o){o&2&&!rl(t.src,n=i[1])&&s(t,"src",n)},d(i){i&&C(e)}}}function au(l){let e,t,n,i,o,r,f,c=l[0].name+"",d,v,_,h,y=al(l[0].size)+"",b,k,w=On(l[0].mime)+"",E,j,D,T,N,A,M,R,W,V,x;o=new Ko({props:{kind:l[8],size:18}});function J(U,G){return U[2]?su:U[3]?iu:U[6]&&U[1]?nu:U[5]&&U[1]?lu:U[4]?tu:eu}let q=J(l),H=q(l);return{c(){e=u("div"),t=u("div"),n=u("header"),i=u("div"),Ge(o.$$.fragment),r=g(),f=u("span"),d=F(c),_=g(),h=u("div"),b=F(y),k=F(" · "),E=F(w),j=g(),D=u("div"),T=u("button"),T.innerHTML='',N=g(),A=u("button"),A.innerHTML='',M=g(),R=u("div"),H.c(),s(f,"class","preview-name svelte-1cw3u0m"),s(f,"title",v=l[0].name),s(i,"class","preview-title svelte-1cw3u0m"),s(h,"class","preview-meta svelte-1cw3u0m"),s(T,"class","action-btn svelte-1cw3u0m"),s(T,"title",m("file.openExternal")),s(T,"aria-label",m("file.openExternal")),s(A,"class","action-btn action-btn-close svelte-1cw3u0m"),s(A,"title","Close"),s(A,"aria-label","Close preview"),s(D,"class","preview-actions svelte-1cw3u0m"),s(n,"class","preview-header svelte-1cw3u0m"),s(R,"class","preview-body svelte-1cw3u0m"),s(t,"class","modal svelte-1cw3u0m"),s(e,"class","overlay svelte-1cw3u0m"),s(e,"role","presentation")},m(U,G){S(U,e,G),a(e,t),a(t,n),a(n,i),Ke(o,i,null),a(i,r),a(i,f),a(f,d),a(n,_),a(n,h),a(h,b),a(h,k),a(h,E),a(n,j),a(n,D),a(D,T),a(D,N),a(D,A),a(t,M),a(t,R),H.m(R,null),W=!0,V||(x=[I(T,"click",l[9]),I(A,"click",l[10]),I(e,"click",mt(l[11])),I(e,"keydown",l[12])],V=!0)},p(U,[G]){(!W||G&1)&&c!==(c=U[0].name+"")&&B(d,c),(!W||G&1&&v!==(v=U[0].name))&&s(f,"title",v),(!W||G&1)&&y!==(y=al(U[0].size)+"")&&B(b,y),(!W||G&1)&&w!==(w=On(U[0].mime)+"")&&B(E,w),q===(q=J(U))&&H?H.p(U,G):(H.d(1),H=q(U),H&&(H.c(),H.m(R,null)))},i(U){W||(ae(o.$$.fragment,U),W=!0)},o(U){de(o.$$.fragment,U),W=!1},d(U){U&&C(e),xe(o),H.d(),V=!1,ve(x)}}}function cu(l,e,t){let n,i,o,{item:r}=e,{content:f=""}=e,{loading:c=!1}=e,{error:d=""}=e;const v=fl(),_=xo(r);function h(E){E.key==="Escape"&&v("close")}function y(){v("openExternal",r.fileId)}Vo(()=>{window.addEventListener("keydown",h)}),Gl(()=>{window.removeEventListener("keydown",h)});const b=()=>v("close"),k=()=>v("close"),w=E=>{E.key==="Escape"&&(E.preventDefault(),v("close"))};return l.$$set=E=>{"item"in E&&t(0,r=E.item),"content"in E&&t(1,f=E.content),"loading"in E&&t(2,c=E.loading),"error"in E&&t(3,d=E.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Qo(r)&&f&&f.startsWith("data:")),l.$$.dirty&1&&t(5,i=Xo(r)||$o(r)),l.$$.dirty&1&&t(4,o=Zo(r))},[r,f,c,d,o,i,n,v,_,y,b,k,w]}class fu extends $e{constructor(e){super(),Ze(this,e,cu,au,Xe,{item:0,content:1,loading:2,error:3})}}function uu(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E;return{c(){e=u("div"),t=u("div"),n=u("h3"),i=F(l[0]),o=g(),r=u("p"),f=F(l[1]),c=g(),d=u("div"),v=u("button"),_=F(l[2]),y=g(),b=u("button"),k=F(l[3]),s(n,"class","svelte-1fv6yyk"),s(r,"class","message svelte-1fv6yyk"),s(v,"class",h="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),s(b,"class","btn svelte-1fv6yyk"),s(d,"class","actions svelte-1fv6yyk"),s(t,"class","modal svelte-1fv6yyk"),s(e,"class","overlay svelte-1fv6yyk"),s(e,"role","presentation")},m(j,D){S(j,e,D),a(e,t),a(t,n),a(n,i),a(t,o),a(t,r),a(r,f),a(t,c),a(t,d),a(d,v),a(v,_),a(d,y),a(d,b),a(b,k),w||(E=[I(v,"click",l[6]),I(b,"click",l[7]),I(e,"click",mt(l[8])),I(e,"keydown",l[9])],w=!0)},p(j,[D]){D&1&&B(i,j[0]),D&2&&B(f,j[1]),D&4&&B(_,j[2]),D&16&&h!==(h="btn "+(j[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&s(v,"class",h),D&8&&B(k,j[3])},i:$,o:$,d(j){j&&C(e),w=!1,ve(E)}}}function du(l,e,t){let{title:n=m("common.confirm")}=e,{message:i=""}=e,{confirmText:o=m("common.delete")}=e,{cancelText:r=m("common.cancel")}=e,{danger:f=!1}=e;const c=fl(),d=()=>c("confirm"),v=()=>c("cancel"),_=()=>c("cancel"),h=y=>{y.key==="Escape"&&(y.preventDefault(),c("cancel"))};return l.$$set=y=>{"title"in y&&t(0,n=y.title),"message"in y&&t(1,i=y.message),"confirmText"in y&&t(2,o=y.confirmText),"cancelText"in y&&t(3,r=y.cancelText),"danger"in y&&t(4,f=y.danger)},[n,i,o,r,f,c,d,v,_,h]}class pu extends $e{constructor(e){super(),Ze(this,e,du,uu,Xe,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function mu(l){let e,t,n;return{c(){e=Y("circle"),t=Y("line"),n=Y("line"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","10"),s(t,"x1","12"),s(t,"y1","16"),s(t,"x2","12"),s(t,"y2","12"),s(n,"x1","12"),s(n,"y1","8"),s(n,"x2","12.01"),s(n,"y2","8")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},d(i){i&&(C(e),C(t),C(n))}}}function _u(l){let e,t,n,i;return{c(){e=Y("rect"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"x","3"),s(e,"y","5"),s(e,"width","18"),s(e,"height","14"),s(e,"rx","2"),s(t,"points","3 10 21 10"),s(n,"x1","8"),s(n,"y1","5"),s(n,"x2","8"),s(n,"y2","19"),s(i,"x1","16"),s(i,"y1","5"),s(i,"x2","16"),s(i,"y2","19")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function vu(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),s(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),s(t,"points","13 2 13 9 20 9")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function hu(l){let e,t;return{c(){e=Y("path"),t=Y("path"),s(e,"d","M12 20h9"),s(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function gu(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("path"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),s(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),s(n,"x1","8"),s(n,"y1","7"),s(n,"x2","16"),s(n,"y2","7"),s(i,"x1","8"),s(i,"y1","11"),s(i,"x2","14"),s(i,"y2","11"),s(o,"x1","8"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","15")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),S(r,i,f),S(r,o,f)},d(r){r&&(C(e),C(t),C(n),C(i),C(o))}}}function yu(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function bu(l){let e,t;return{c(){e=Y("path"),t=Y("circle"),s(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),s(t,"cx","12"),s(t,"cy","7"),s(t,"r","4")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function ku(l){let e,t,n,i;return{c(){e=Y("rect"),t=Y("rect"),n=Y("rect"),i=Y("rect"),s(e,"x","3"),s(e,"y","3"),s(e,"width","7"),s(e,"height","7"),s(e,"rx","1"),s(t,"x","14"),s(t,"y","3"),s(t,"width","7"),s(t,"height","4"),s(t,"rx","1"),s(n,"x","14"),s(n,"y","10"),s(n,"width","7"),s(n,"height","11"),s(n,"rx","1"),s(i,"x","3"),s(i,"y","14"),s(i,"width","7"),s(i,"height","7"),s(i,"rx","1")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function wu(l){let e;return{c(){e=Y("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Cu(l){let e;function t(o,r){return o[0]==="folder"?wu:o[0]==="project"?ku:o[0]==="client"?bu:o[0]==="document"?yu:o[0]==="recipe"?gu:o[0]==="note"?hu:o[0]==="file"?vu:o[0]==="case"?_u:mu}let n=t(l),i=n(l);return{c(){e=Y("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,r){S(o,e,r),i.m(e,null)},p(o,[r]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),r&2&&s(e,"width",o[1]),r&2&&s(e,"height",o[1])},i:$,o:$,d(o){o&&C(e),i.d()}}}function Su(l,e,t){let{kind:n="generic"}=e,{size:i=18}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class ul extends $e{constructor(e){super(),Ze(this,e,Su,Cu,Xe,{kind:0,size:1})}}function Hn(l,e,t){const n=l.slice();return n[44]=e[t],n}function ju(l){let e;return{c(){e=u("span"),s(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){S(t,e,n)},p:$,d(t){t&&C(e)}}}function Eu(l){let e,t,n=l[1][l[44].id]?"▾":"▸",i,o,r;function f(){return l[25](l[44])}return{c(){e=u("button"),t=u("span"),i=F(n),s(t,"class","tree-arrow"),s(e,"class","tree-toggle svelte-zj71cl")},m(c,d){S(c,e,d),a(e,t),a(t,i),o||(r=I(e,"click",We(f)),o=!0)},p(c,d){l=c,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&B(i,n)},d(c){c&&C(e),o=!1,r()}}}function Un(l){let e,t;return e=new tr({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i[0]&1&&(o.nodes=n[44].children||[]),i[0]&2&&(o.expanded=n[1]),i[0]&4&&(o.selectedNodeId=n[2]),i[0]&8&&(o.level=n[3]+1),i[0]&16&&(o.onSelect=n[4]),i[0]&32&&(o.onToggle=n[5]),i[0]&64&&(o.onContextMenu=n[6]),i[0]&128&&(o.onDrop=n[7]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function Kn(l,e){let t,n,i,o,r,f,c,d=e[44].title+"",v,_,h=e[1][e[44].id]&&Hl(e[44]),y,b,k,w;function E(z,K){return K[0]&1&&(n=null),n==null&&(n=!!Ht(z[44])),n?Eu:ju}let j=E(e,[-1,-1]),D=j(e);r=new ul({props:{kind:xn(e[44]),size:16}});function T(...z){return e[26](e[44],...z)}function N(...z){return e[27](e[44],...z)}function A(){return e[28](e[44])}function M(...z){return e[29](e[44],...z)}function R(...z){return e[30](e[44],...z)}function W(...z){return e[31](e[44],...z)}function V(...z){return e[32](e[44],...z)}function x(...z){return e[33](e[44],...z)}function J(...z){return e[34](e[44],...z)}function q(...z){return e[35](e[44],...z)}function H(...z){return e[36](e[44],...z)}function U(...z){return e[37](e[44],...z)}let G=h&&Un(e);return{key:l,first:null,c(){t=u("div"),D.c(),i=g(),o=u("span"),Ge(r.$$.fragment),f=g(),c=u("span"),v=F(d),_=g(),G&&G.c(),y=ot(),s(o,"class","tree-icon svelte-zj71cl"),s(o,"role","button"),s(o,"tabindex","-1"),s(c,"class","tree-label svelte-zj71cl"),s(c,"role","button"),s(c,"tabindex","-1"),s(t,"class","tree-item svelte-zj71cl"),ft(t,"padding-left",e[3]*16+4+"px"),s(t,"draggable","true"),s(t,"role","button"),s(t,"tabindex","0"),he(t,"selected",e[2]===e[44].id),he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(z,K){S(z,t,K),D.m(t,null),a(t,i),a(t,o),Ke(r,o,null),a(t,f),a(t,c),a(c,v),S(z,_,K),G&&G.m(z,K),S(z,y,K),b=!0,k||(w=[I(o,"click",T),I(o,"keydown",N),I(o,"dblclick",We(e[24])),I(c,"click",We(A)),I(c,"keydown",M),I(t,"dragstart",R),I(t,"dragover",W),I(t,"dragleave",V),I(t,"drop",x),I(t,"click",J),I(t,"keydown",q),I(t,"dblclick",H),I(t,"contextmenu",Kl(U))],k=!0)},p(z,K){e=z,j===(j=E(e,K))&&D?D.p(e,K):(D.d(1),D=j(e),D&&(D.c(),D.m(t,i)));const L={};K[0]&1&&(L.kind=xn(e[44])),r.$set(L),(!b||K[0]&1)&&d!==(d=e[44].title+"")&&B(v,d),(!b||K[0]&8)&&ft(t,"padding-left",e[3]*16+4+"px"),(!b||K[0]&5)&&he(t,"selected",e[2]===e[44].id),(!b||K[0]&769)&&he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!b||K[0]&769)&&he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),K[0]&3&&(h=e[1][e[44].id]&&Hl(e[44])),h?G?(G.p(e,K),K[0]&3&&ae(G,1)):(G=Un(e),G.c(),ae(G,1),G.m(y.parentNode,y)):G&&(it(),de(G,1,1,()=>{G=null}),st())},i(z){b||(ae(r.$$.fragment,z),ae(G),b=!0)},o(z){de(r.$$.fragment,z),de(G),b=!1},d(z){z&&(C(t),C(_),C(y)),D.d(),xe(r),G&&G.d(z),k=!1,ve(w)}}}function Tu(l){let e=[],t=new Map,n,i,o,r,f=ce(l[0]);const c=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function Gn(l){const e={};function t(n,i){for(const o of n)e[o.id]=i,o.children&&t(o.children,o.id)}return t(l,""),e}function Jn(l){const e=[];function t(n){for(const i of n)e.push(i),i.children&&t(i.children)}return t(l),e}function Nu(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function Du(l,e,t){let n,i,o,{nodes:r=[]}=e,{expanded:f={}}=e,{selectedNodeId:c=""}=e,{level:d=0}=e,{onSelect:v=void 0}=e,{onToggle:_=void 0}=e,{onContextMenu:h=void 0}=e,{onDrop:y=void 0}=e,b={},k=null,w="",E="";const j=["folder","project","client","document","recipe","case"];Gl(()=>{for(const Q of Object.keys(b))clearTimeout(b[Q]);k&&clearInterval(k)});function D(Q){return j.includes(Q.type)}function T(Q,X,ue){if(!Q||!X||X===Q.id||!D(Q))return!1;let we=Q.id;for(;we;){if(we===X)return!1;we=ue[we]||""}return!0}function N(Q,X){Q.stopPropagation(),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.setData("text/plain",X.id),t(21,w=X.id)}function A(Q,X){Q.preventDefault(),Q.stopPropagation(),Q.dataTransfer.dropEffect="move",E!==X.id&&t(8,E=X.id),Ht(X)&&!f[X.id]&&!b[X.id]&&(b[X.id]=setTimeout(()=>{_&&_(X.id),delete b[X.id]},600));const ue=Q.currentTarget.closest(".workspace-tree-area");if(ue){const we=ue.getBoundingClientRect(),me=30;Q.clientY-we.top{ue.scrollTop-=10},50)):we.bottom-Q.clientY{ue.scrollTop+=10},50)):k&&(clearInterval(k),k=null)}}function M(Q,X){const ue=Q.relatedTarget;ue&&Q.currentTarget.contains(ue)||(E===X.id&&t(8,E=""),b[X.id]&&(clearTimeout(b[X.id]),delete b[X.id]),k&&(clearInterval(k),k=null))}function R(Q,X){Q.preventDefault(),Q.stopPropagation(),b[X.id]&&(clearTimeout(b[X.id]),delete b[X.id]),k&&(clearInterval(k),k=null);const ue=Jn(r),we=Gn(ue),me=Nu(Q);if(!T(X,me,we)){t(8,E=""),t(21,w="");return}y&&y(me,X.id),t(8,E=""),t(21,w="")}function W(){t(8,E=""),t(21,w="");for(const Q of Object.keys(b))clearTimeout(b[Q]),delete b[Q];k&&(clearInterval(k),k=null)}function V(Q,X){Q.target.closest(".tree-toggle")||Q.target.closest(".tree-icon")||v&&v(X)}function x(Q,X){Ht(X)&&_&&_(X.id)}function J(Q,X){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),v&&v(X))}function q(Q,X){Q.stopPropagation(),Ht(X)&&_&&_(X.id)}function H(Q,X){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),Ht(X)&&_&&_(X.id))}function U(Q,X){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),v&&v(X))}function G(Q,X,ue){const we={};function me(je){for(const qe of je)we[qe.id]=T(qe,X,ue),qe.children&&me(qe.children)}return me(Q),we}function z(Q){Wo.call(this,l,Q)}const K=Q=>_&&_(Q.id),L=(Q,X)=>q(X,Q),O=(Q,X)=>H(X,Q),Z=Q=>v&&v(Q),re=(Q,X)=>U(X,Q),ee=(Q,X)=>N(X,Q),ne=(Q,X)=>A(X,Q),le=(Q,X)=>M(X,Q),oe=(Q,X)=>R(X,Q),fe=(Q,X)=>V(X,Q),ke=(Q,X)=>J(X,Q),Be=(Q,X)=>x(X,Q),Fe=(Q,X)=>h&&h(X,Q);return l.$$set=Q=>{"nodes"in Q&&t(0,r=Q.nodes),"expanded"in Q&&t(1,f=Q.expanded),"selectedNodeId"in Q&&t(2,c=Q.selectedNodeId),"level"in Q&&t(3,d=Q.level),"onSelect"in Q&&t(4,v=Q.onSelect),"onToggle"in Q&&t(5,_=Q.onToggle),"onContextMenu"in Q&&t(6,h=Q.onContextMenu),"onDrop"in Q&&t(7,y=Q.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=Jn(r)),l.$$.dirty[0]&8388608&&t(22,i=Gn(n)),l.$$.dirty[0]&14680064&&t(9,o=G(n,w,i))},[r,f,c,d,v,_,h,y,E,o,N,A,M,R,W,V,x,J,q,H,U,w,i,n,z,K,L,O,Z,re,ee,ne,le,oe,fe,ke,Be,Fe]}class tr extends $e{constructor(e){super(),Ze(this,e,Du,Tu,Xe,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function qn(l){let e,t;return{c(){e=u("div"),t=F(l[4]),s(e,"class","path-info svelte-11u707d")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i&16&&B(t,n[4])},d(n){n&&C(e)}}}function Yn(l){let e,t;return{c(){e=u("div"),t=F(l[3]),s(e,"class","error-msg svelte-11u707d")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i&8&&B(t,n[3])},d(n){n&&C(e)}}}function Mu(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E=m("firstrun.browse")+"",j,D,T,N,A,M,R=(l[2]?m("firstrun.creating"):m("firstrun.create"))+"",W,V,x,J,q,H,U=l[4]&&qn(l),G=l[3]&&Yn(l);return{c(){e=u("div"),t=u("div"),n=u("div"),n.textContent="⚒",i=g(),o=u("h1"),o.textContent=`${m("firstrun.title")}`,r=g(),f=u("p"),f.textContent=`${m("firstrun.desc")}`,c=g(),d=u("div"),v=u("label"),v.textContent=`${m("firstrun.pathLabel")}`,_=g(),h=u("div"),y=u("input"),k=g(),w=u("button"),j=F(E),D=g(),U&&U.c(),T=g(),G&&G.c(),N=g(),A=u("div"),M=u("button"),W=F(R),x=g(),J=u("button"),J.textContent=`${m("firstrun.quit")}`,s(n,"class","first-run-logo svelte-11u707d"),s(o,"class","svelte-11u707d"),s(f,"class","first-run-desc svelte-11u707d"),s(v,"class","form-label svelte-11u707d"),s(v,"for","vault-path"),s(y,"id","vault-path"),s(y,"type","text"),s(y,"placeholder",b=l[1]||m("firstrun.defaultPath")),y.disabled=l[2],s(y,"class","svelte-11u707d"),s(w,"class","btn"),w.disabled=l[2],s(h,"class","input-row svelte-11u707d"),s(d,"class","form-group svelte-11u707d"),s(M,"class","btn btn-primary btn-lg svelte-11u707d"),M.disabled=V=!l[0].trim()||l[2],s(J,"class","btn btn-lg svelte-11u707d"),s(A,"class","first-run-actions svelte-11u707d"),s(t,"class","first-run-card svelte-11u707d"),s(e,"class","first-run-screen svelte-11u707d")},m(z,K){S(z,e,K),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,f),a(t,c),a(t,d),a(d,v),a(d,_),a(d,h),a(h,y),ge(y,l[0]),a(h,k),a(h,w),a(w,j),a(t,D),U&&U.m(t,null),a(t,T),G&&G.m(t,null),a(t,N),a(t,A),a(A,M),a(M,W),a(A,x),a(A,J),q||(H=[I(y,"input",l[12]),I(y,"input",l[6]),I(y,"keydown",l[9]),I(w,"click",l[5]),I(M,"click",l[7]),I(J,"click",l[8])],q=!0)},p(z,[K]){K&2&&b!==(b=z[1]||m("firstrun.defaultPath"))&&s(y,"placeholder",b),K&4&&(y.disabled=z[2]),K&1&&y.value!==z[0]&&ge(y,z[0]),K&4&&(w.disabled=z[2]),z[4]?U?U.p(z,K):(U=qn(z),U.c(),U.m(t,T)):U&&(U.d(1),U=null),z[3]?G?G.p(z,K):(G=Yn(z),G.c(),G.m(t,N)):G&&(G.d(1),G=null),K&4&&R!==(R=(z[2]?m("firstrun.creating"):m("firstrun.create"))+"")&&B(W,R),K&5&&V!==(V=!z[0].trim()||z[2])&&(M.disabled=V)},i:$,o:$,d(z){z&&C(e),U&&U.d(),G&&G.d(),q=!1,ve(H)}}}function nl(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Iu(l,e,t){let{onComplete:n=null}=e,{onQuit:i=null}=e,o="",r="",f=!1,c="",d="",v=null;async function _(){try{const j=await nl("GetDefaultVaultPath");t(1,r=j||""),t(0,o=r||""),o&&await y()}catch{t(1,r="")}}_();async function h(){try{const j=await nl("PickDirectory");j&&(t(0,o=j),await y())}catch(j){t(3,c=String(j))}}async function y(){if(!o||!o.trim()){t(4,d=""),v=null;return}try{v=await nl("CheckVaultPath",o.trim()),v&&t(4,d=v.description)}catch{t(4,d=""),v=null}}async function b(){if(!(!o||!o.trim())){if(t(2,f=!0),t(3,c=""),v&&!v.writable){t(3,c=m("firstrun.errorNoWrite")),t(2,f=!1);return}try{const j=await nl("CreateVault",o.trim());j&&j.status==="ready"&&n&&n(j)}catch(j){t(3,c=String(j))}t(2,f=!1)}}function k(){i&&i()}function w(j){j.key==="Enter"&&!f&&o.trim()&&b()}function E(){o=this.value,t(0,o)}return l.$$set=j=>{"onComplete"in j&&t(10,n=j.onComplete),"onQuit"in j&&t(11,i=j.onQuit)},[o,r,f,c,d,h,y,b,k,w,n,i,E]}class Au extends $e{constructor(e){super(),Ze(this,e,Iu,Mu,Xe,{onComplete:10,onQuit:11})}}function Qn(l){let e,t;return{c(){e=u("div"),t=F(l[2]),s(e,"class","error-msg svelte-s3o8c3")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i&4&&B(t,n[2])},d(n){n&&C(e)}}}function Xn(l){let e,t,n,i,o,r,f,c,d=m("common.yes")+"",v,_,h,y,b;return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${m("recovery.createConfirmTitle")}`,i=g(),o=u("p"),o.textContent=`${m("recovery.createConfirm")}`,r=g(),f=u("div"),c=u("button"),v=F(d),_=g(),h=u("button"),h.textContent=`${m("common.cancel")}`,s(n,"class","svelte-s3o8c3"),s(o,"class","modal-desc svelte-s3o8c3"),s(c,"class","btn btn-primary"),c.disabled=l[1],s(h,"class","btn"),s(f,"class","modal-actions svelte-s3o8c3"),s(t,"class","modal svelte-s3o8c3"),s(e,"class","modal-overlay svelte-s3o8c3"),s(e,"role","button"),s(e,"tabindex","0")},m(k,w){S(k,e,w),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,f),a(f,c),a(c,v),a(f,_),a(f,h),y||(b=[I(c,"click",l[6]),I(h,"click",l[7]),I(e,"click",mt(l[7])),I(e,"keydown",l[11])],y=!0)},p(k,w){w&2&&(c.disabled=k[1])},d(k){k&&C(e),y=!1,ve(b)}}}function Fu(l){let e,t,n,i,o,r,f,c,d,v=(l[0]||"—")+"",_,h,y,b,k,w=m("recovery.choose")+"",E,j,D,T=m("recovery.create")+"",N,A,M,R,W,V,x,J=l[2]&&Qn(l),q=l[3]&&Xn(l);return{c(){e=u("div"),t=u("div"),n=u("div"),n.textContent="⚠",i=g(),o=u("h1"),o.textContent=`${m("recovery.title")}`,r=g(),f=u("p"),f.textContent=`${m("recovery.expected")}:`,c=g(),d=u("code"),_=F(v),h=g(),J&&J.c(),y=g(),b=u("div"),k=u("button"),E=F(w),j=g(),D=u("button"),N=F(T),A=g(),M=u("button"),M.textContent=`${m("recovery.quit")}`,R=g(),q&&q.c(),W=ot(),s(n,"class","recovery-icon svelte-s3o8c3"),s(o,"class","svelte-s3o8c3"),s(f,"class","recovery-desc svelte-s3o8c3"),s(d,"class","recovery-path svelte-s3o8c3"),s(k,"class","btn btn-primary btn-lg svelte-s3o8c3"),k.disabled=l[1],s(D,"class","btn btn-lg svelte-s3o8c3"),D.disabled=l[1],s(M,"class","btn btn-lg svelte-s3o8c3"),s(b,"class","recovery-actions svelte-s3o8c3"),s(t,"class","recovery-card svelte-s3o8c3"),s(e,"class","recovery-screen svelte-s3o8c3")},m(H,U){S(H,e,U),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,f),a(t,c),a(t,d),a(d,_),a(t,h),J&&J.m(t,null),a(t,y),a(t,b),a(b,k),a(k,E),a(b,j),a(b,D),a(D,N),a(b,A),a(b,M),S(H,R,U),q&&q.m(H,U),S(H,W,U),V||(x=[I(k,"click",l[4]),I(D,"click",l[5]),I(M,"click",l[8])],V=!0)},p(H,[U]){U&1&&v!==(v=(H[0]||"—")+"")&&B(_,v),H[2]?J?J.p(H,U):(J=Qn(H),J.c(),J.m(t,y)):J&&(J.d(1),J=null),U&2&&(k.disabled=H[1]),U&2&&(D.disabled=H[1]),H[3]?q?q.p(H,U):(q=Xn(H),q.c(),q.m(W.parentNode,W)):q&&(q.d(1),q=null)},i:$,o:$,d(H){H&&(C(e),C(R),C(W)),J&&J.d(),q&&q.d(H),V=!1,ve(x)}}}function zl(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Pu(l,e,t){let{vaultPath:n=""}=e,{onComplete:i=null}=e,{onQuit:o=null}=e,r=!1,f="",c=!1;async function d(){try{const k=await zl("PickDirectory");if(!k)return;t(1,r=!0),t(2,f="");const w=await zl("OpenVault",k);w&&w.status==="ready"&&i&&i(w)}catch(k){t(2,f=String(k))}t(1,r=!1)}function v(){t(3,c=!0)}async function _(){t(3,c=!1),t(1,r=!0),t(2,f="");try{const k=await zl("CreateVault",n);k&&k.status==="ready"&&i&&i(k)}catch(k){t(2,f=String(k))}t(1,r=!1)}function h(){t(3,c=!1)}function y(){o&&o()}const b=k=>k.key==="Enter"&&h();return l.$$set=k=>{"vaultPath"in k&&t(0,n=k.vaultPath),"onComplete"in k&&t(9,i=k.onComplete),"onQuit"in k&&t(10,o=k.onQuit)},[n,r,f,c,d,v,_,h,y,i,o,b]}class Lu extends $e{constructor(e){super(),Ze(this,e,Pu,Fu,Xe,{vaultPath:0,onComplete:9,onQuit:10})}}function Zn(l,e,t){const n=l.slice();return n[5]=e[t],n}function Ru(l){let e,t,n;return{c(){e=Y("path"),t=Y("path"),n=Y("path"),s(e,"d","M5 4h12l2 2v14H5z"),s(t,"d","M8 4v6h8V4"),s(n,"d","M8 20v-6h8v6")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},d(i){i&&(C(e),C(t),C(n))}}}function zu(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("path"),n=Y("path"),i=Y("path"),s(e,"d","M20 11a8 8 0 0 0-14-4l-2 2"),s(t,"d","M4 5v4h4"),s(n,"d","M4 13a8 8 0 0 0 14 4l2-2"),s(i,"d","M20 19v-4h-4")},m(o,r){S(o,e,r),S(o,t,r),S(o,n,r),S(o,i,r)},d(o){o&&(C(e),C(t),C(n),C(i))}}}function Ou(l){let e;return{c(){e=Y("path"),s(e,"d","M4 19V9M10 19V5M16 19v-7M22 19H2")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Vu(l){let e;return{c(){e=Y("path"),s(e,"d","M3 6h6l2 2h10v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6z")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Wu(l){let e,t;return{c(){e=Y("path"),t=Y("path"),s(e,"d","M9 3v5M15 3v5M7 8h10v3a5 5 0 0 1-10 0V8z"),s(t,"d","M12 16v5")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function Bu(l){let e,t;return{c(){e=Y("rect"),t=Y("path"),s(e,"x","4"),s(e,"y","3"),s(e,"width","16"),s(e,"height","18"),s(e,"rx","2"),s(t,"d","M8 7h8M8 11h8M8 15h5")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function Hu(l){let e,t,n;return{c(){e=Y("path"),t=Y("path"),n=Y("path"),s(e,"d","M3 10.5 12 3l9 7.5"),s(t,"d","M5 9.5V21h14V9.5"),s(n,"d","M10 21v-6h4v6")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},d(i){i&&(C(e),C(t),C(n))}}}function Uu(l){let e,t;return{c(){e=Y("circle"),t=Y("path"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","3"),s(t,"d","M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V22h-4v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 0 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H2v-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 0 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V2h4v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 0 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1h.2v4h-.2a1.7 1.7 0 0 0-1.4 1z")},m(n,i){S(n,e,i),S(n,t,i)},d(n){n&&(C(e),C(t))}}}function $n(l){let e,t,n,i,o,r,f,c;function d(y,b){if(y[5].id==="general")return Uu;if(y[5].id==="workspace")return Hu;if(y[5].id==="templates")return Bu;if(y[5].id==="plugins")return Wu;if(y[5].id==="files")return Vu;if(y[5].id==="activity")return Ou;if(y[5].id==="sync")return zu;if(y[5].id==="backup")return Ru}let v=d(l),_=v&&v(l);function h(){return l[4](l[5])}return{c(){e=u("button"),t=u("span"),n=Y("svg"),_&&_.c(),i=g(),o=u("span"),o.textContent=`${l[5].label}`,r=g(),s(n,"width","16"),s(n,"height","16"),s(n,"viewBox","0 0 24 24"),s(n,"fill","none"),s(n,"stroke","currentColor"),s(n,"stroke-width","1.8"),s(n,"stroke-linecap","round"),s(n,"stroke-linejoin","round"),s(n,"aria-hidden","true"),s(t,"class","settings-nav-icon svelte-1uolm3f"),s(o,"class","settings-nav-label svelte-1uolm3f"),s(e,"class","settings-nav-item svelte-1uolm3f"),he(e,"active",l[0]===l[5].id),he(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(y,b){S(y,e,b),a(e,t),a(t,n),_&&_.m(n,null),a(e,i),a(e,o),a(e,r),f||(c=I(e,"click",h),f=!0)},p(y,b){l=y,b&3&&he(e,"active",l[0]===l[5].id)},d(y){y&&C(e),_&&_.d(),f=!1,c()}}}function Ku(l){let e,t=ce(l[1]),n=[];for(let i=0;ir(c.id);return l.$$set=c=>{"activeSection"in c&&t(0,n=c.activeSection),"onSelect"in c&&t(3,i=c.onSelect)},[n,o,r,i,f]}class Gu extends $e{constructor(e){super(),Ze(this,e,xu,Ku,Xe,{activeSection:0,onSelect:3})}}function ei(l){let e;return{c(){e=u("div"),e.textContent=`${m("settings.saved")}`,s(e,"class","save-notice svelte-1e2uhdh")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Ju(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E,j,D,T,N,A,M,R,W,V,x,J,q,H,U,G,z,K=l[1]&&ei();return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.general")}`,n=g(),i=u("p"),i.textContent=`${m("settings.generalDesc")}`,o=g(),r=u("div"),f=u("h3"),f.textContent=`${m("settings.appearance")}`,c=g(),d=u("div"),v=u("label"),_=u("span"),_.textContent=`${m("settings.theme")}`,h=g(),y=u("select"),b=u("option"),b.textContent=`${m("settings.themeSystem")}`,k=u("option"),k.textContent=`${m("settings.themeLight")} (${m("settings.langSoon")})`,w=u("option"),w.textContent=`${m("settings.themeDark")} (${m("settings.langSoon")})`,E=g(),j=u("div"),D=u("h3"),D.textContent=`${m("settings.localization")}`,T=g(),N=u("div"),A=u("label"),M=u("span"),M.textContent=`${m("settings.language")}`,R=g(),W=u("select"),V=u("option"),V.textContent=`${m("settings.langRu")}`,x=u("option"),x.textContent=`${m("settings.langEn")} (${m("settings.langSoon")})`,J=g(),q=u("div"),K&&K.c(),H=g(),U=u("button"),U.textContent=`${m("settings.save")}`,s(t,"class","svelte-1e2uhdh"),s(i,"class","section-desc svelte-1e2uhdh"),s(f,"class","card-title svelte-1e2uhdh"),s(_,"class","label-text svelte-1e2uhdh"),b.__value="system",ge(b,b.__value),k.__value="light",ge(k,k.__value),k.disabled=!0,w.__value="dark",ge(w,w.__value),w.disabled=!0,l[0]===void 0&&Et(()=>l[5].call(y)),s(d,"class","form-group svelte-1e2uhdh"),s(r,"class","settings-card svelte-1e2uhdh"),s(D,"class","card-title svelte-1e2uhdh"),s(M,"class","label-text svelte-1e2uhdh"),V.__value="ru",ge(V,V.__value),x.__value="en",ge(x,x.__value),W.disabled=!0,s(N,"class","form-group svelte-1e2uhdh"),s(j,"class","settings-card svelte-1e2uhdh"),s(U,"class","btn btn-primary"),s(q,"class","settings-actions svelte-1e2uhdh"),s(e,"class","settings-section svelte-1e2uhdh")},m(L,O){S(L,e,O),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),a(r,f),a(r,c),a(r,d),a(d,v),a(v,_),a(v,h),a(v,y),a(y,b),a(y,k),a(y,w),_t(y,l[0],!0),a(e,E),a(e,j),a(j,D),a(j,T),a(j,N),a(N,A),a(A,M),a(A,R),a(A,W),a(W,V),a(W,x),a(e,J),a(e,q),K&&K.m(q,null),a(q,H),a(q,U),G||(z=[I(y,"change",l[5]),I(U,"click",l[2])],G=!0)},p(L,[O]){O&1&&_t(y,L[0]),L[1]?K||(K=ei(),K.c(),K.m(q,H)):K&&(K.d(1),K=null)},i:$,o:$,d(L){L&&C(e),K&&K.d(),G=!1,ve(z)}}}function qu(l,e,t){let{appConfig:n=null}=e,{onSave:i=null}=e,o="system",r=!1;function f(){n&&t(0,o=n.theme||"system")}async function c(){n&&(t(3,n.theme=o,n),i&&await i(n),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function d(){o=sl(this),t(0,o)}return l.$$set=v=>{"appConfig"in v&&t(3,n=v.appConfig),"onSave"in v&&t(4,i=v.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&f()},[o,r,c,n,i,d]}class Yu extends $e{constructor(e){super(),Ze(this,e,qu,Ju,Xe,{appConfig:3,onSave:4})}}function ti(l){let e,t;return{c(){e=u("div"),t=F(l[1]),s(e,"class","notice svelte-1zbky3")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i&2&&B(t,n[1])},d(n){n&&C(e)}}}function Qu(l){let e;return{c(){e=u("p"),e.textContent=`${m("settings.noVaultInfo")}`,s(e,"class","no-data svelte-1zbky3")},m(t,n){S(t,e,n)},p:$,d(t){t&&C(e)}}}function Xu(l){let e,t,n,i,o,r=l[0].path+"",f,c,d,v,_,h,y=l[0].dbPath+"",b,k,w,E=l[0].nodeCount!==void 0&&li(l),j=l[0].fileCount!==void 0&&ni(l);return{c(){e=u("div"),t=u("div"),n=u("span"),n.textContent=`${m("settings.vaultPath")}`,i=g(),o=u("span"),f=F(r),c=g(),d=u("div"),v=u("span"),v.textContent="DB",_=g(),h=u("span"),b=F(y),k=g(),E&&E.c(),w=g(),j&&j.c(),s(n,"class","info-label svelte-1zbky3"),s(o,"class","info-value mono svelte-1zbky3"),s(t,"class","info-row svelte-1zbky3"),s(v,"class","info-label svelte-1zbky3"),s(h,"class","info-value mono small svelte-1zbky3"),s(d,"class","info-row svelte-1zbky3"),s(e,"class","vault-info svelte-1zbky3")},m(D,T){S(D,e,T),a(e,t),a(t,n),a(t,i),a(t,o),a(o,f),a(e,c),a(e,d),a(d,v),a(d,_),a(d,h),a(h,b),a(e,k),E&&E.m(e,null),a(e,w),j&&j.m(e,null)},p(D,T){T&1&&r!==(r=D[0].path+"")&&B(f,r),T&1&&y!==(y=D[0].dbPath+"")&&B(b,y),D[0].nodeCount!==void 0?E?E.p(D,T):(E=li(D),E.c(),E.m(e,w)):E&&(E.d(1),E=null),D[0].fileCount!==void 0?j?j.p(D,T):(j=ni(D),j.c(),j.m(e,null)):j&&(j.d(1),j=null)},d(D){D&&C(e),E&&E.d(),j&&j.d()}}}function li(l){let e,t,n,i,o=l[0].nodeCount+"",r;return{c(){e=u("div"),t=u("span"),t.textContent="Nodes",n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1zbky3"),s(i,"class","info-value svelte-1zbky3"),s(e,"class","info-row svelte-1zbky3")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c&1&&o!==(o=f[0].nodeCount+"")&&B(r,o)},d(f){f&&C(e)}}}function ni(l){let e,t,n,i,o=l[0].fileCount+"",r;return{c(){e=u("div"),t=u("span"),t.textContent="Files",n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1zbky3"),s(i,"class","info-value svelte-1zbky3"),s(e,"class","info-row svelte-1zbky3")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c&1&&o!==(o=f[0].fileCount+"")&&B(r,o)},d(f){f&&C(e)}}}function Zu(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E=l[1]&&ti(l);function j(N,A){return N[0]?Xu:Qu}let D=j(l),T=D(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.workspace")}`,n=g(),i=u("p"),i.textContent=`${m("settings.workspaceDesc")}`,o=g(),E&&E.c(),r=g(),f=u("div"),T.c(),c=g(),d=u("div"),v=u("button"),v.textContent=`${m("settings.openVault")}`,_=g(),h=u("button"),h.textContent=`${m("settings.changeVault")}`,y=g(),b=u("button"),b.textContent=`${m("settings.checkIntegrity")}`,s(t,"class","svelte-1zbky3"),s(i,"class","section-desc svelte-1zbky3"),s(f,"class","settings-card svelte-1zbky3"),s(v,"class","btn svelte-1zbky3"),s(h,"class","btn svelte-1zbky3"),s(b,"class","btn svelte-1zbky3"),s(d,"class","workspace-actions svelte-1zbky3"),s(e,"class","settings-section svelte-1zbky3")},m(N,A){S(N,e,A),a(e,t),a(e,n),a(e,i),a(e,o),E&&E.m(e,null),a(e,r),a(e,f),T.m(f,null),a(e,c),a(e,d),a(d,v),a(d,_),a(d,h),a(d,y),a(d,b),k||(w=[I(v,"click",l[2]),I(h,"click",l[4]),I(b,"click",l[3])],k=!0)},p(N,[A]){N[1]?E?E.p(N,A):(E=ti(N),E.c(),E.m(e,r)):E&&(E.d(1),E=null),D===(D=j(N))&&T?T.p(N,A):(T.d(1),T=D(N),T&&(T.c(),T.m(f,null)))},i:$,o:$,d(N){N&&C(e),E&&E.d(),T.d(),k=!1,ve(w)}}}function Lt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function $u(l,e,t){let{onRefresh:n=null}=e,i=null,o="";async function r(){try{t(0,i=await Lt("GetVaultInfo"))}catch{t(0,i=null)}}r();async function f(){try{await Lt("OpenVaultFolder")}catch(v){t(1,o=String(v))}}async function c(){try{const v=await Lt("VaultCheck");v.healthy?t(1,o="Vault healthy"):t(1,o="Issues found: "+(v.errors||[]).join("; "))}catch(v){t(1,o=String(v))}}async function d(){try{const v=await Lt("PickDirectory");if(!v)return;const _=await Lt("OpenVault",v);_&&_.status==="ready"&&(t(0,i=await Lt("GetVaultInfo")),n&&n())}catch(v){t(1,o=String(v))}}return l.$$set=v=>{"onRefresh"in v&&t(5,n=v.onRefresh)},[i,o,f,c,d,n]}class e1 extends $e{constructor(e){super(),Ze(this,e,$u,Zu,Xe,{onRefresh:5})}}function ii(l,e,t){const n=l.slice();return n[6]=e[t],n}function t1(l){let e,t=ce(l[0]),n=[];for(let i=0;if(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[i,o,f,n,c]}class o1 extends $e{constructor(e){super(),Ze(this,e,s1,i1,Xe,{onRefresh:3})}}function r1(l){let e,t,n,i,o,r,f,c;return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.plugins")}`,n=g(),i=u("p"),i.textContent=`${m("settings.noPlugins")}`,o=g(),r=u("button"),r.textContent=`${m("settings.openPluginsDir")}`,s(t,"class","svelte-8jch95"),s(i,"class","section-desc svelte-8jch95"),s(r,"class","btn"),s(e,"class","settings-section svelte-8jch95")},m(d,v){S(d,e,v),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),f||(c=I(r,"click",c1),f=!0)},p:$,i:$,o:$,d(d){d&&C(e),f=!1,c()}}}function a1(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}async function c1(){try{await a1("OpenPluginsFolder")}catch{}}class f1 extends $e{constructor(e){super(),Ze(this,e,null,r1,Xe,{})}}function u1(l){let e,t,n,i;return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.files")}`,n=g(),i=u("p"),i.textContent=`${m("settings.filesStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){S(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&C(e)}}}class d1 extends $e{constructor(e){super(),Ze(this,e,null,u1,Xe,{})}}function p1(l){let e,t,n,i;return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.activity")}`,n=g(),i=u("p"),i.textContent=`${m("settings.activityStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){S(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&C(e)}}}class m1 extends $e{constructor(e){super(),Ze(this,e,null,p1,Xe,{})}}function ri(l){let e,t;return{c(){e=u("div"),t=F(l[2]),s(e,"class","error-msg svelte-1fx1e1e")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i[0]&4&&B(t,n[2])},d(n){n&&C(e)}}}function ai(l){let e,t;return{c(){e=u("div"),t=F(l[3]),s(e,"class","result-msg svelte-1fx1e1e"),he(e,"warning",l[4]==="warning")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i[0]&8&&B(t,n[3]),i[0]&16&&he(e,"warning",n[4]==="warning")},d(n){n&&C(e)}}}function _1(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E,j,D,T,N,A,M=m("settings.checkConnection")+"",R,W,V,x,J=m("common.connect")+"",q,H,U,G,z,K=l[11]!==null&&ci(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("label"),o=u("span"),o.textContent=`${m("settings.serverUrl")}`,r=g(),f=u("input"),c=g(),d=u("div"),v=u("label"),_=u("span"),_.textContent=`${m("sync.username")}`,h=g(),y=u("input"),b=g(),k=u("div"),w=u("label"),E=u("span"),E.textContent=`${m("sync.password")}`,j=g(),D=u("input"),T=g(),N=u("div"),A=u("button"),R=F(M),V=g(),x=u("button"),q=F(J),U=g(),K&&K.c(),s(o,"class","label-text"),s(f,"type","text"),s(f,"placeholder","https://example.com"),s(n,"class","form-group svelte-1fx1e1e"),s(_,"class","label-text"),s(y,"type","text"),s(d,"class","form-group svelte-1fx1e1e"),s(E,"class","label-text"),s(D,"type","password"),s(k,"class","form-group svelte-1fx1e1e"),s(A,"class","btn"),A.disabled=W=l[1]||!l[5],s(x,"class","btn btn-primary"),x.disabled=H=l[1]||!l[5]||!l[6]||!l[7],s(N,"class","sync-setup-actions svelte-1fx1e1e"),s(t,"class","sync-setup svelte-1fx1e1e"),s(e,"class","settings-card svelte-1fx1e1e")},m(L,O){S(L,e,O),a(e,t),a(t,n),a(n,i),a(i,o),a(i,r),a(i,f),ge(f,l[5]),a(t,c),a(t,d),a(d,v),a(v,_),a(v,h),a(v,y),ge(y,l[6]),a(t,b),a(t,k),a(k,w),a(w,E),a(w,j),a(w,D),ge(D,l[7]),a(t,T),a(t,N),a(N,A),a(A,R),a(N,V),a(N,x),a(x,q),a(t,U),K&&K.m(t,null),G||(z=[I(f,"input",l[23]),I(y,"input",l[24]),I(D,"input",l[25]),I(A,"click",l[12]),I(x,"click",l[13])],G=!0)},p(L,O){O[0]&32&&f.value!==L[5]&&ge(f,L[5]),O[0]&64&&y.value!==L[6]&&ge(y,L[6]),O[0]&128&&D.value!==L[7]&&ge(D,L[7]),O[0]&34&&W!==(W=L[1]||!L[5])&&(A.disabled=W),O[0]&226&&H!==(H=L[1]||!L[5]||!L[6]||!L[7])&&(x.disabled=H),L[11]!==null?K?K.p(L,O):(K=ci(L),K.c(),K.m(t,null)):K&&(K.d(1),K=null)},d(L){L&&C(e),K&&K.d(),G=!1,ve(z)}}}function v1(l){let e,t,n,i,o,r,f=l[20](l[0].lastStatus)+"",c,d,v,_,h,y,b,k,w,E=m("settings.syncNow")+"",j,D,T,N=m("settings.disconnect")+"",A,M,R,W=m("settings.resetKey")+"",V,x,J,q,H,U,G,z,K,L,O,Z,re=l[0].serverUrl&&fi(l),ee=l[0].deviceName&&ui(l),ne=l[0].deviceId&&di(l),le=l[0].lastSyncAt&&pi(l),oe=l[0].lastError&&mi(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("span"),i.textContent=`${m("settings.status")}`,o=g(),r=u("span"),c=F(f),d=g(),re&&re.c(),v=g(),ee&&ee.c(),_=g(),ne&&ne.c(),h=g(),le&&le.c(),y=g(),oe&&oe.c(),b=g(),k=u("div"),w=u("button"),j=F(E),D=g(),T=u("button"),A=F(N),M=g(),R=u("button"),V=F(W),x=g(),J=u("div"),q=u("label"),H=u("span"),H.textContent=`${m("sync.interval")}`,U=g(),G=u("div"),z=u("input"),K=g(),L=u("button"),L.textContent=`${m("common.save")}`,s(i,"class","info-label svelte-1fx1e1e"),s(r,"class","info-value svelte-1fx1e1e"),he(r,"status-ok",l[0].lastStatus==="connected"),he(r,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),s(n,"class","info-row svelte-1fx1e1e"),s(t,"class","sync-info svelte-1fx1e1e"),s(e,"class","settings-card svelte-1fx1e1e"),s(w,"class","btn btn-primary"),w.disabled=l[1],s(T,"class","btn"),T.disabled=l[1],s(R,"class","btn"),R.disabled=l[1],s(k,"class","sync-actions svelte-1fx1e1e"),s(H,"class","label-text"),s(z,"type","number"),s(z,"min","0"),s(z,"placeholder","0"),s(z,"class","svelte-1fx1e1e"),s(L,"class","btn btn-sm"),s(G,"class","interval-row svelte-1fx1e1e"),s(J,"class","sync-interval svelte-1fx1e1e")},m(fe,ke){S(fe,e,ke),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(r,c),a(t,d),re&&re.m(t,null),a(t,v),ee&&ee.m(t,null),a(t,_),ne&&ne.m(t,null),a(t,h),le&&le.m(t,null),a(t,y),oe&&oe.m(t,null),S(fe,b,ke),S(fe,k,ke),a(k,w),a(w,j),a(k,D),a(k,T),a(T,A),a(k,M),a(k,R),a(R,V),S(fe,x,ke),S(fe,J,ke),a(J,q),a(q,H),a(q,U),a(q,G),a(G,z),ge(z,l[8]),a(G,K),a(G,L),O||(Z=[I(w,"click",l[14]),I(T,"click",l[16]),I(R,"click",l[18]),I(z,"input",l[22]),I(L,"click",l[15])],O=!0)},p(fe,ke){ke[0]&1&&f!==(f=fe[20](fe[0].lastStatus)+"")&&B(c,f),ke[0]&1&&he(r,"status-ok",fe[0].lastStatus==="connected"),ke[0]&1&&he(r,"status-err",fe[0].lastStatus==="error"||fe[0].lastStatus==="revoked"),fe[0].serverUrl?re?re.p(fe,ke):(re=fi(fe),re.c(),re.m(t,v)):re&&(re.d(1),re=null),fe[0].deviceName?ee?ee.p(fe,ke):(ee=ui(fe),ee.c(),ee.m(t,_)):ee&&(ee.d(1),ee=null),fe[0].deviceId?ne?ne.p(fe,ke):(ne=di(fe),ne.c(),ne.m(t,h)):ne&&(ne.d(1),ne=null),fe[0].lastSyncAt?le?le.p(fe,ke):(le=pi(fe),le.c(),le.m(t,y)):le&&(le.d(1),le=null),fe[0].lastError?oe?oe.p(fe,ke):(oe=mi(fe),oe.c(),oe.m(t,null)):oe&&(oe.d(1),oe=null),ke[0]&2&&(w.disabled=fe[1]),ke[0]&2&&(T.disabled=fe[1]),ke[0]&2&&(R.disabled=fe[1]),ke[0]&256&&cl(z.value)!==fe[8]&&ge(z,fe[8])},d(fe){fe&&(C(e),C(b),C(k),C(x),C(J)),re&&re.d(),ee&&ee.d(),ne&&ne.d(),le&&le.d(),oe&&oe.d(),O=!1,ve(Z)}}}function ci(l){let e,t=(l[11]?m("common.test")+" OK":m("error.generic"))+"",n;return{c(){e=u("div"),n=F(t),s(e,"class","connection-result svelte-1fx1e1e"),he(e,"ok",l[11]),he(e,"fail",!l[11])},m(i,o){S(i,e,o),a(e,n)},p(i,o){o[0]&2048&&t!==(t=(i[11]?m("common.test")+" OK":m("error.generic"))+"")&&B(n,t),o[0]&2048&&he(e,"ok",i[11]),o[0]&2048&&he(e,"fail",!i[11])},d(i){i&&C(e)}}}function fi(l){let e,t,n,i,o=l[0].serverUrl+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("settings.serverUrl")}`,n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value mono svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&1&&o!==(o=f[0].serverUrl+"")&&B(r,o)},d(f){f&&C(e)}}}function ui(l){let e,t,n,i,o=l[0].deviceName+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("settings.deviceName")}`,n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&1&&o!==(o=f[0].deviceName+"")&&B(r,o)},d(f){f&&C(e)}}}function di(l){let e,t,n,i,o=l[0].deviceId+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("settings.deviceId")}`,n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value mono svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&1&&o!==(o=f[0].deviceId+"")&&B(r,o)},d(f){f&&C(e)}}}function pi(l){let e,t,n,i,o=l[0].lastSyncAt+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("settings.lastSync")}`,n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&1&&o!==(o=f[0].lastSyncAt+"")&&B(r,o)},d(f){f&&C(e)}}}function mi(l){let e,t,n,i,o=l[0].lastError+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("settings.lastError")}`,n=g(),i=u("span"),r=F(o),s(t,"class","info-label svelte-1fx1e1e"),s(i,"class","info-value error svelte-1fx1e1e"),s(e,"class","info-row svelte-1fx1e1e")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&1&&o!==(o=f[0].lastError+"")&&B(r,o)},d(f){f&&C(e)}}}function _i(l){let e,t,n,i,o,r,f,c,d,v,_,h;return{c(){e=u("button"),t=u("div"),n=u("h3"),n.textContent=`${m("settings.confirmDisconnect")}`,i=g(),o=u("p"),o.textContent=`${m("settings.confirmDisconnectDesc")}`,r=g(),f=u("div"),c=u("button"),c.textContent=`${m("common.disconnect")}`,d=g(),v=u("button"),v.textContent=`${m("common.cancel")}`,s(n,"class","svelte-1fx1e1e"),s(o,"class","modal-desc svelte-1fx1e1e"),s(c,"class","btn btn-danger"),s(v,"class","btn"),s(f,"class","modal-actions svelte-1fx1e1e"),s(t,"class","modal svelte-1fx1e1e"),s(e,"class","modal-overlay svelte-1fx1e1e")},m(y,b){S(y,e,b),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,f),a(f,c),a(f,d),a(f,v),_||(h=[I(c,"click",l[17]),I(v,"click",l[26]),I(e,"click",l[27])],_=!0)},p:$,d(y){y&&C(e),_=!1,ve(h)}}}function vi(l){let e,t,n,i,o,r,f,c,d,v,_,h;return{c(){e=u("button"),t=u("div"),n=u("h3"),n.textContent=`${m("settings.confirmResetKey")}`,i=g(),o=u("p"),o.textContent=`${m("settings.confirmResetKeyDesc")}`,r=g(),f=u("div"),c=u("button"),c.textContent=`${m("settings.resetKey")}`,d=g(),v=u("button"),v.textContent=`${m("common.cancel")}`,s(n,"class","svelte-1fx1e1e"),s(o,"class","modal-desc svelte-1fx1e1e"),s(c,"class","btn btn-danger"),s(v,"class","btn"),s(f,"class","modal-actions svelte-1fx1e1e"),s(t,"class","modal svelte-1fx1e1e"),s(e,"class","modal-overlay svelte-1fx1e1e")},m(y,b){S(y,e,b),a(e,t),a(t,n),a(t,i),a(t,o),a(t,r),a(t,f),a(f,c),a(f,d),a(f,v),_||(h=[I(c,"click",l[19]),I(v,"click",l[28]),I(e,"click",l[29])],_=!0)},p:$,d(y){y&&C(e),_=!1,ve(h)}}}function h1(l){let e,t,n,i,o,r,f,c,d,v,_=l[2]&&ri(l),h=l[3]&&!l[2]&&ai(l);function y(j,D){return j[0]&&j[0].enabled?v1:_1}let b=y(l),k=b(l),w=l[9]&&_i(l),E=l[10]&&vi(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.sync")}`,n=g(),i=u("p"),i.textContent=`${m("settings.syncDesc")}`,o=g(),_&&_.c(),r=g(),h&&h.c(),f=g(),k.c(),c=g(),w&&w.c(),d=g(),E&&E.c(),v=ot(),s(t,"class","svelte-1fx1e1e"),s(i,"class","section-desc svelte-1fx1e1e"),s(e,"class","settings-section svelte-1fx1e1e")},m(j,D){S(j,e,D),a(e,t),a(e,n),a(e,i),a(e,o),_&&_.m(e,null),a(e,r),h&&h.m(e,null),a(e,f),k.m(e,null),S(j,c,D),w&&w.m(j,D),S(j,d,D),E&&E.m(j,D),S(j,v,D)},p(j,D){j[2]?_?_.p(j,D):(_=ri(j),_.c(),_.m(e,r)):_&&(_.d(1),_=null),j[3]&&!j[2]?h?h.p(j,D):(h=ai(j),h.c(),h.m(e,f)):h&&(h.d(1),h=null),b===(b=y(j))&&k?k.p(j,D):(k.d(1),k=b(j),k&&(k.c(),k.m(e,null))),j[9]?w?w.p(j,D):(w=_i(j),w.c(),w.m(d.parentNode,d)):w&&(w.d(1),w=null),j[10]?E?E.p(j,D):(E=vi(j),E.c(),E.m(v.parentNode,v)):E&&(E.d(1),E=null)},i:$,o:$,d(j){j&&(C(e),C(c),C(d),C(v)),_&&_.d(),h&&h.d(),k.d(),w&&w.d(j),E&&E.d(j)}}}function St(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function g1(l,e,t){let{onRefresh:n=null}=e,i=null,o=!1,r="",f="",c="",d="",v="",_="",h=0,y=!1,b=!1,k=null;async function w(){try{t(0,i=await St("GetSyncSettings")),i&&(t(5,d=i.serverUrl||""),t(8,h=i.syncInterval||0))}catch{t(0,i=null)}}w();async function E(){t(1,o=!0),t(2,r=""),t(4,c=""),t(11,k=null);try{await St("SyncTestConnection",d,v,_),t(11,k=!0),t(3,f="connection ok")}catch(L){t(11,k=!1),t(3,f="connection failed: "+String(L))}t(1,o=!1)}async function j(){t(1,o=!0),t(2,r=""),t(4,c="");try{await St("SyncConfigure",d,v,_),t(3,f="configured"),t(6,v=""),t(7,_=""),await w(),n&&n()}catch(L){t(2,r=String(L))}t(1,o=!1)}function D(L){const O=Array.isArray(L==null?void 0:L.conflicts)?L.conflicts:[],Z=Array.isArray(L==null?void 0:L.applyErrors)?L.applyErrors:[],re=[];return O.length>0&&re.push(m("sync.conflictsCount",{count:O.length})),Z.length>0&&re.push(m("sync.applyErrorsCount",{count:Z.length})),re.join(" · ")}async function T(){t(1,o=!0),t(2,r=""),t(4,c="");try{const L=await St("SyncNow"),O=m("sync.pushedPulled",{pushed:(L==null?void 0:L.pushed)||0,pulled:(L==null?void 0:L.pulled)||0}),Z=D(L);t(3,f=Z?O+" · "+Z:O),t(4,c=Z?"warning":""),await w(),n&&n()}catch(L){t(2,r=String(L))}t(1,o=!1)}async function N(){try{await St("SyncSetInterval",h),t(3,f=m("sync.settingsSaved")),t(4,c="")}catch(L){t(2,r=String(L))}}function A(){t(9,y=!0)}async function M(){t(9,y=!1),t(1,o=!0),t(4,c="");try{await St("SyncDisconnect"),t(3,f="disconnected"),await w(),n&&n()}catch(L){t(2,r=String(L))}t(1,o=!1)}function R(){t(10,b=!0)}async function W(){t(10,b=!1),t(1,o=!0),t(4,c="");try{await St("ResetSyncKey"),t(3,f="key reset"),await w(),n&&n()}catch(L){t(2,r=String(L))}t(1,o=!1)}function V(L){return L?{connected:m("settings.connected"),disconnected:m("settings.disconnected"),disabled:m("settings.notConfigured"),error:m("settings.error"),revoked:m("settings.revoked")}[L]||L:m("settings.notConfigured")}function x(){h=cl(this.value),t(8,h)}function J(){d=this.value,t(5,d)}function q(){v=this.value,t(6,v)}function H(){_=this.value,t(7,_)}const U=()=>t(9,y=!1),G=()=>t(9,y=!1),z=()=>t(10,b=!1),K=()=>t(10,b=!1);return l.$$set=L=>{"onRefresh"in L&&t(21,n=L.onRefresh)},[i,o,r,f,c,d,v,_,h,y,b,k,E,j,T,N,A,M,R,W,V,n,x,J,q,H,U,G,z,K]}class y1 extends $e{constructor(e){super(),Ze(this,e,g1,h1,Xe,{onRefresh:21},null,[-1,-1])}}function b1(l){let e,t,n,i;return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("settings.backup")}`,n=g(),i=u("p"),i.textContent=`${m("settings.backupStub")}`,s(t,"class","svelte-19bo7bn"),s(i,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(o,r){S(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,i:$,o:$,d(o){o&&C(e)}}}class k1 extends $e{constructor(e){super(),Ze(this,e,null,b1,Xe,{})}}const{window:w1}=Ul;function C1(l){let e,t;return e=new k1({}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function S1(l){let e,t;return e=new y1({props:{onRefresh:l[6]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function j1(l){let e,t;return e=new m1({}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function E1(l){let e,t;return e=new d1({}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function T1(l){let e,t;return e=new f1({}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function N1(l){let e,t;return e=new o1({props:{onRefresh:l[2]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function D1(l){let e,t;return e=new e1({props:{onRefresh:l[2]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function M1(l){let e,t;return e=new Yu({props:{appConfig:l[1],onSave:l[5]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i&2&&(o.appConfig=n[1]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function I1(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w;d=new Gu({props:{activeSection:l[0],onSelect:l[3]}});const E=[M1,D1,N1,T1,E1,j1,S1,C1],j=[];function D(T,N){return T[0]==="general"?0:T[0]==="workspace"?1:T[0]==="templates"?2:T[0]==="plugins"?3:T[0]==="files"?4:T[0]==="activity"?5:T[0]==="sync"?6:T[0]==="backup"?7:-1}return~(h=D(l))&&(y=j[h]=E[h](l)),{c(){e=u("button"),t=u("div"),n=u("div"),i=u("h2"),i.textContent=`${m("settings.title")}`,o=g(),r=u("button"),r.innerHTML='',f=g(),c=u("div"),Ge(d.$$.fragment),v=g(),_=u("div"),y&&y.c(),s(i,"class","svelte-zf2zsc"),s(r,"class","close-btn svelte-zf2zsc"),s(r,"title",m("settings.close")),s(n,"class","settings-header svelte-zf2zsc"),s(_,"class","settings-content svelte-zf2zsc"),s(c,"class","settings-body svelte-zf2zsc"),s(t,"class","settings-window svelte-zf2zsc"),s(e,"class","settings-overlay svelte-zf2zsc")},m(T,N){S(T,e,N),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,f),a(t,c),Ke(d,c,null),a(c,v),a(c,_),~h&&j[h].m(_,null),b=!0,k||(w=[I(w1,"keydown",l[7]),I(r,"click",l[4]),I(e,"click",mt(l[4]))],k=!0)},p(T,[N]){const A={};N&1&&(A.activeSection=T[0]),d.$set(A);let M=h;h=D(T),h===M?~h&&j[h].p(T,N):(y&&(it(),de(j[M],1,1,()=>{j[M]=null}),st()),~h?(y=j[h],y?y.p(T,N):(y=j[h]=E[h](T),y.c()),ae(y,1),y.m(_,null)):y=null)},i(T){b||(ae(d.$$.fragment,T),ae(y),b=!0)},o(T){de(d.$$.fragment,T),de(y),b=!1},d(T){T&&C(e),xe(d),~h&&j[h].d(),k=!1,ve(w)}}}function hi(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function A1(l,e,t){let{onClose:n=null}=e,{onSyncRefresh:i=null}=e,{initialSection:o="general"}=e,r=o,f=null;async function c(){try{t(1,f=await hi("GetAppConfig"))}catch{t(1,f=null)}}c();function d(b){t(0,r=b)}function v(){n&&n()}async function _(b){try{await hi("SaveAppConfig",b),t(1,f=b)}catch(k){console.error(k)}}function h(){i&&i()}function y(b){b.key==="Escape"&&v()}return l.$$set=b=>{"onClose"in b&&t(8,n=b.onClose),"onSyncRefresh"in b&&t(9,i=b.onSyncRefresh),"initialSection"in b&&t(10,o=b.initialSection)},[r,f,c,d,v,_,h,y,n,i,o]}class F1 extends $e{constructor(e){super(),Ze(this,e,A1,I1,Xe,{onClose:8,onSyncRefresh:9,initialSection:10})}}function P1(l){let e,t,n,i,o,r,f,c;return{c(){e=u("div"),t=u("span"),n=g(),i=u("span"),i.textContent=`${m("sync.status.disabled")}`,o=g(),r=u("button"),r.textContent=`${m("sync.configure")}`,s(t,"class","sync-dot dot-disabled svelte-1rxbx0"),s(i,"class","sync-label svelte-1rxbx0"),s(r,"class","btn btn-xs svelte-1rxbx0"),s(e,"class","sync-status-row svelte-1rxbx0")},m(d,v){S(d,e,v),a(e,t),a(e,n),a(e,i),a(e,o),a(e,r),f||(c=I(r,"click",function(){vt(l[5])&&l[5].apply(this,arguments)}),f=!0)},p(d,v){l=d},d(d){d&&C(e),f=!1,c()}}}function L1(l){let e,t,n,i,o,r=l[7](l[0])+"",f,c,d,v,_,h=(l[1]?m("sync.running"):m("sync.run"))+"",y,b,k,w,E,j,D,T=l[0].unpushedOps>0&&gi(l),N=l[2]&&yi(l);return{c(){e=u("div"),t=u("span"),i=g(),o=u("span"),f=F(r),c=g(),T&&T.c(),d=g(),v=u("div"),_=u("button"),y=F(h),b=g(),k=u("button"),k.textContent=`${m("sync.details")}`,w=g(),N&&N.c(),E=ot(),s(t,"class",n="sync-dot "+l[6](l[0])+" svelte-1rxbx0"),s(o,"class","sync-label svelte-1rxbx0"),s(_,"class","btn btn-xs svelte-1rxbx0"),_.disabled=l[1],s(k,"class","btn btn-xs btn-link svelte-1rxbx0"),s(v,"class","sync-actions-row svelte-1rxbx0"),s(e,"class","sync-status-row svelte-1rxbx0")},m(A,M){S(A,e,M),a(e,t),a(e,i),a(e,o),a(o,f),a(e,c),T&&T.m(e,null),a(e,d),a(e,v),a(v,_),a(_,y),a(v,b),a(v,k),S(A,w,M),N&&N.m(A,M),S(A,E,M),j||(D=[I(_,"click",function(){vt(l[4])&&l[4].apply(this,arguments)}),I(k,"click",function(){vt(l[5])&&l[5].apply(this,arguments)})],j=!0)},p(A,M){l=A,M&1&&n!==(n="sync-dot "+l[6](l[0])+" svelte-1rxbx0")&&s(t,"class",n),M&1&&r!==(r=l[7](l[0])+"")&&B(f,r),l[0].unpushedOps>0?T?T.p(l,M):(T=gi(l),T.c(),T.m(e,d)):T&&(T.d(1),T=null),M&2&&h!==(h=(l[1]?m("sync.running"):m("sync.run"))+"")&&B(y,h),M&2&&(_.disabled=l[1]),l[2]?N?N.p(l,M):(N=yi(l),N.c(),N.m(E.parentNode,E)):N&&(N.d(1),N=null)},d(A){A&&(C(e),C(w),C(E)),T&&T.d(),N&&N.d(A),j=!1,ve(D)}}}function gi(l){let e,t=l[0].unpushedOps+"",n,i,o=m("sync.changes")+"",r;return{c(){e=u("span"),n=F(t),i=g(),r=F(o),s(e,"class","sync-count svelte-1rxbx0")},m(f,c){S(f,e,c),a(e,n),a(e,i),a(e,r)},p(f,c){c&1&&t!==(t=f[0].unpushedOps+"")&&B(n,t)},d(f){f&&C(e)}}}function yi(l){let e,t,n;return{c(){e=u("div"),t=F(l[2]),s(e,"class",n=Fn(l[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")},m(i,o){S(i,e,o),a(e,t)},p(i,o){o&4&&B(t,i[2]),o&8&&n!==(n=Fn(i[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")&&s(e,"class",n)},d(i){i&&C(e)}}}function R1(l){let e;function t(o,r){var f;return(f=o[0])!=null&&f.configured?L1:P1}let n=t(l),i=n(l);return{c(){e=u("div"),i.c(),s(e,"class","sync-status-widget svelte-1rxbx0")},m(o,r){S(o,e,r),i.m(e,null)},p(o,[r]){n===(n=t(o))&&i?i.p(o,r):(i.d(1),i=n(o),i&&(i.c(),i.m(e,null)))},i:$,o:$,d(o){o&&C(e),i.d()}}}function z1(l,e,t){let{syncStatus:n=null}=e,{syncLoading:i=!1}=e,{syncMessage:o=""}=e,{syncMessageKind:r=""}=e,{onSync:f=null}=e,{onOpenSettings:c=null}=e;function d(_){return!_||!_.configured?"dot-disabled":i?"dot-syncing":_.revoked?"dot-disabled":_.connected?"dot-connected":_.configured?"dot-warning":"dot-disabled"}function v(_){return!_||!_.configured?m("sync.status.disabled"):i?m("sync.status.syncing"):_.revoked?m("sync.status.error"):_.connected?m("sync.status.connected"):m("sync.status.disconnected")}return l.$$set=_=>{"syncStatus"in _&&t(0,n=_.syncStatus),"syncLoading"in _&&t(1,i=_.syncLoading),"syncMessage"in _&&t(2,o=_.syncMessage),"syncMessageKind"in _&&t(3,r=_.syncMessageKind),"onSync"in _&&t(4,f=_.onSync),"onOpenSettings"in _&&t(5,c=_.onOpenSettings)},[n,i,o,r,f,c,d,v]}class O1 extends $e{constructor(e){super(),Ze(this,e,z1,R1,Xe,{syncStatus:0,syncLoading:1,syncMessage:2,syncMessageKind:3,onSync:4,onOpenSettings:5})}}const{Boolean:lr}=Ul;function bi(l,e,t){const n=l.slice();return n[335]=e[t],n}function ki(l,e,t){const n=l.slice();return n[338]=e[t],n}function wi(l,e,t){const n=l.slice();return n[338]=e[t],n}function Ci(l,e,t){const n=l.slice();return n[359]=e[t],n}function Si(l,e,t){const n=l.slice();return n[359]=e[t],n}function ji(l,e,t){const n=l.slice();return n[398]=e[t],n}function Ei(l,e,t){const n=l.slice();return n[359]=e[t],n}function Ti(l,e,t){const n=l.slice();return n[362]=e[t],n[403]=e,n[404]=t,n}function Ni(l,e,t){const n=l.slice();return n[359]=e[t],n}function Di(l,e,t){const n=l.slice();return n[380]=e[t],n}function Mi(l,e,t){const n=l.slice();return n[359]=e[t],n}function Ii(l,e,t){const n=l.slice();return n[385]=e[t],n}function Ai(l,e,t){const n=l.slice();return n[385]=e[t],n}function Fi(l,e,t){const n=l.slice();return n[362]=e[t],n[390]=e,n[391]=t,n}function Pi(l,e,t){const n=l.slice();return n[359]=e[t],n}function Li(l,e,t){const n=l.slice();return n[380]=e[t],n}function Ri(l,e,t){const n=l.slice();return n[374]=e[t],n}function zi(l,e,t){const n=l.slice();return n[377]=e[t],n}function Oi(l,e,t){const n=l.slice();return n[351]=e[t],n}function Vi(l,e,t){const n=l.slice();return n[359]=e[t],n}function Wi(l,e,t){const n=l.slice();return n[343]=e[t],n}function Bi(l,e,t){const n=l.slice();return n[359]=e[t],n}function Hi(l,e,t){const n=l.slice();return n[362]=e[t],n[363]=e,n[364]=t,n}function Ui(l,e,t){const n=l.slice();return n[359]=e[t],n}function Ki(l,e,t){const n=l.slice();return n[354]=e[t],n}function xi(l,e,t){const n=l.slice();return n[351]=e[t],n}function Gi(l,e,t){const n=l.slice();return n[346]=e[t],n}function Ji(l,e,t){const n=l.slice();return n[343]=e[t],n}function qi(l,e,t){const n=l.slice();return n[346]=e[t],n}function Yi(l,e,t){const n=l.slice();return n[369]=e[t],n}function Qi(l,e,t){const n=l.slice();return n[409]=e[t],n}function Xi(l,e,t){const n=l.slice();return n[412]=e[t],n}function V1(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E,j,D,T,N,A,M,R,W,V,x,J,q,H,U,G,z,K,L,O,Z,re,ee,ne,le,oe,fe,ke,Be,Fe,Q,X,ue,we,me=ce(l[4]),je=[];for(let te=0;te0?0:1}D=lt(l),T=Ye[D]=qe[D](l),M=new O1({props:{syncStatus:l[82],syncLoading:l[83],syncMessage:l[84],syncMessageKind:l[85],onSync:l[173],onOpenSettings:l[178]}});function He(te,De){return te[26]?G1:te[25]?x1:K1}let Le=He(l),Ie=Le(l),ye=l[24]&&ts(l);const Oe=[ed,$1,Z1,X1,Q1,Y1,q1,J1],Ce=[];function Ve(te,De){return te[29]?0:te[26]?1:te[25]==="inbox"?2:te[25]==="trash"?3:te[25]==="journal"?4:te[25]==="today"&&te[7]?5:te[25]==="activity"?6:7}re=Ve(l),ee=Ce[re]=Oe[re](l);let be=l[47]&&wo(l),Se=l[51].visible&&jo(l),Te=l[32]&&Do(l),Ee=l[54]&&Mo(l),Ae=l[61]&&l[60]&&Ao(l),Ue=l[79]&&Po(l),Ne=l[74]&&Ro(l),_e=l[3]&&zo(l);return{c(){e=u("div"),t=u("aside"),n=u("div"),i=u("span"),i.textContent="⚒",o=g(),r=u("span"),r.textContent=`${m("nav.brand")}`,f=g(),c=u("nav"),d=u("div"),v=u("div"),v.textContent=`${m("nav.system")}`,_=g();for(let te=0;te',x=g(),J=u("span"),q=F(l[23]),H=g(),U=u("main"),G=u("header"),z=u("div"),Ie.c(),K=g(),L=u("div"),L.innerHTML="",O=g(),ye&&ye.c(),Z=g(),ee.c(),ne=g(),be&&be.c(),le=g(),Se&&Se.c(),oe=g(),Te&&Te.c(),fe=g(),Ee&&Ee.c(),ke=g(),Ae&&Ae.c(),Be=g(),Ue&&Ue.c(),Fe=g(),Ne&&Ne.c(),Q=g(),_e&&_e.c(),s(i,"class","logo svelte-11f6xyi"),s(r,"class","brand-name svelte-11f6xyi"),s(n,"class","sidebar-brand svelte-11f6xyi"),s(v,"class","nav-label svelte-11f6xyi"),s(d,"class","nav-group svelte-11f6xyi"),s(k,"class","svelte-11f6xyi"),s(E,"class","nav-add-btn svelte-11f6xyi"),s(E,"title",m("common.create")),s(b,"class","nav-label-row svelte-11f6xyi"),s(y,"class","nav-group svelte-11f6xyi"),s(c,"class","sidebar-nav svelte-11f6xyi"),s(V,"class","sidebar-settings-btn svelte-11f6xyi"),s(V,"title",m("common.settings")),s(J,"class","version svelte-11f6xyi"),s(W,"class","sidebar-footer-row svelte-11f6xyi"),s(A,"class","sidebar-footer svelte-11f6xyi"),s(t,"class","sidebar svelte-11f6xyi"),s(z,"class","header-left svelte-11f6xyi"),s(L,"class","header-right svelte-11f6xyi"),s(G,"class","header svelte-11f6xyi"),s(U,"class","main svelte-11f6xyi"),s(e,"class","app svelte-11f6xyi")},m(te,De){S(te,e,De),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,f),a(t,c),a(c,d),a(d,v),a(d,_);for(let Je=0;Je{Ye[Je]=null}),st(),T=Ye[D],T?T.p(te,De):(T=Ye[D]=qe[D](te),T.c()),ae(T,1),T.m(y,null));const ct={};De[2]&1048576&&(ct.syncStatus=te[82]),De[2]&2097152&&(ct.syncLoading=te[83]),De[2]&4194304&&(ct.syncMessage=te[84]),De[2]&8388608&&(ct.syncMessageKind=te[85]),M.$set(ct),(!X||De[0]&8388608)&&B(q,te[23]),Le===(Le=He(te))&&Ie?Ie.p(te,De):(Ie.d(1),Ie=Le(te),Ie&&(Ie.c(),Ie.m(z,null))),te[24]?ye?ye.p(te,De):(ye=ts(te),ye.c(),ye.m(U,Z)):ye&&(ye.d(1),ye=null);let Re=re;re=Ve(te),re===Re?Ce[re].p(te,De):(it(),de(Ce[Re],1,1,()=>{Ce[Re]=null}),st(),ee=Ce[re],ee?ee.p(te,De):(ee=Ce[re]=Oe[re](te),ee.c()),ae(ee,1),ee.m(U,ne)),te[47]?be?(be.p(te,De),De[1]&65536&&ae(be,1)):(be=wo(te),be.c(),ae(be,1),be.m(U,le)):be&&(it(),de(be,1,1,()=>{be=null}),st()),te[51].visible?Se?(Se.p(te,De),De[1]&1048576&&ae(Se,1)):(Se=jo(te),Se.c(),ae(Se,1),Se.m(U,oe)):Se&&(it(),de(Se,1,1,()=>{Se=null}),st()),te[32]?Te?Te.p(te,De):(Te=Do(te),Te.c(),Te.m(U,fe)):Te&&(Te.d(1),Te=null),te[54]?Ee?Ee.p(te,De):(Ee=Mo(te),Ee.c(),Ee.m(U,ke)):Ee&&(Ee.d(1),Ee=null),te[61]&&te[60]?Ae?Ae.p(te,De):(Ae=Ao(te),Ae.c(),Ae.m(U,Be)):Ae&&(Ae.d(1),Ae=null),te[79]?Ue?Ue.p(te,De):(Ue=Po(te),Ue.c(),Ue.m(U,Fe)):Ue&&(Ue.d(1),Ue=null),te[74]?Ne?(Ne.p(te,De),De[2]&4096&&ae(Ne,1)):(Ne=Ro(te),Ne.c(),ae(Ne,1),Ne.m(U,Q)):Ne&&(it(),de(Ne,1,1,()=>{Ne=null}),st()),te[3]?_e?(_e.p(te,De),De[0]&8&&ae(_e,1)):(_e=zo(te),_e.c(),ae(_e,1),_e.m(U,null)):_e&&(it(),de(_e,1,1,()=>{_e=null}),st())},i(te){X||(ae(T),ae(M.$$.fragment,te),ae(ee),ae(be),ae(Se),ae(Ne),ae(_e),X=!0)},o(te){de(T),de(M.$$.fragment,te),de(ee),de(be),de(Se),de(Ne),de(_e),X=!1},d(te){te&&C(e),Pe(je,te),Ye[D].d(),xe(M),Ie.d(),ye&&ye.d(),Ce[re].d(),be&&be.d(),Se&&Se.d(),Te&&Te.d(),Ee&&Ee.d(),Ae&&Ae.d(),Ue&&Ue.d(),Ne&&Ne.d(),_e&&_e.d(),ue=!1,ve(we)}}}function W1(l){var n;let e,t;return e=new Lu({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[175]}}),{c(){Ge(e.$$.fragment)},m(i,o){Ke(e,i,o),t=!0},p(i,o){var f;const r={};o[0]&1&&(r.vaultPath=((f=i[0])==null?void 0:f.vaultPath)||""),e.$set(r)},i(i){t||(ae(e.$$.fragment,i),t=!0)},o(i){de(e.$$.fragment,i),t=!1},d(i){xe(e,i)}}}function B1(l){let e,t;return e=new Au({props:{onComplete:l[174]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function Zi(l){let e,t;return{c(){e=u("span"),t=F(l[42]),s(e,"class","nav-badge svelte-11f6xyi")},m(n,i){S(n,e,i),a(e,t)},p(n,i){i[1]&2048&&B(t,n[42])},d(n){n&&C(e)}}}function $i(l){let e,t=l[412].label+"",n,i,o,r,f,c,d=l[412].id==="journal"&&l[42]>0&&Zi(l);function v(){return l[177](l[412])}return{c(){e=u("button"),n=F(t),i=g(),d&&d.c(),o=g(),s(e,"class",r="nav-item "+(l[25]===l[412].id?"selected":"")+" svelte-11f6xyi")},m(_,h){S(_,e,h),a(e,n),a(e,i),d&&d.m(e,null),a(e,o),f||(c=I(e,"click",v),f=!0)},p(_,h){l=_,h[0]&16&&t!==(t=l[412].label+"")&&B(n,t),l[412].id==="journal"&&l[42]>0?d?d.p(l,h):(d=Zi(l),d.c(),d.m(e,o)):d&&(d.d(1),d=null),h[0]&33554448&&r!==(r="nav-item "+(l[25]===l[412].id?"selected":"")+" svelte-11f6xyi")&&s(e,"class",r)},d(_){_&&C(e),d&&d.d(),f=!1,c()}}}function H1(l){let e;return{c(){e=u("div"),e.textContent=`${m("nav.noNodes")}`,s(e,"class","nav-empty svelte-11f6xyi")},m(t,n){S(t,e,n)},p:$,i:$,o:$,d(t){t&&C(e)}}}function U1(l){var r;let e,t,n,i,o;return t=new tr({props:{nodes:l[5],expanded:l[62],selectedNodeId:((r=l[26])==null?void 0:r.id)||"",onSelect:l[91],onToggle:l[121],onContextMenu:l[119],onDrop:l[122]}}),{c(){e=u("div"),Ge(t.$$.fragment),s(e,"class","workspace-tree-area svelte-11f6xyi"),s(e,"role","region"),s(e,"aria-label",m("nav.workspace")),he(e,"drop-valid",l[73])},m(f,c){S(f,e,c),Ke(t,e,null),n=!0,i||(o=[I(e,"dragover",Kl(l[124])),I(e,"dragleave",l[125]),I(e,"drop",l[123])],i=!0)},p(f,c){var v;const d={};c[0]&32&&(d.nodes=f[5]),c[2]&1&&(d.expanded=f[62]),c[0]&67108864&&(d.selectedNodeId=((v=f[26])==null?void 0:v.id)||""),t.$set(d),(!n||c[2]&2048)&&he(e,"drop-valid",f[73])},i(f){n||(ae(t.$$.fragment,f),n=!0)},o(f){de(t.$$.fragment,f),n=!1},d(f){f&&C(e),xe(t),i=!1,ve(o)}}}function K1(l){let e;return{c(){e=u("span"),e.textContent=`${m("nav.selectPrompt")}`,s(e,"class","crumb placeholder svelte-11f6xyi")},m(t,n){S(t,e,n)},p:$,d(t){t&&C(e)}}}function x1(l){let e,t=ce(l[4]),n=[];for(let i=0;i',s(o,"class","dismiss-btn svelte-11f6xyi"),s(o,"aria-label","Dismiss"),s(e,"class","error-banner svelte-11f6xyi"),s(e,"role","button"),s(e,"tabindex","0")},m(c,d){S(c,e,d),a(e,n),a(e,i),a(e,o),r||(f=[I(o,"click",We(l[180])),I(e,"click",l[181]),I(e,"keydown",function(){vt(ut(l[182]))&&ut(l[182]).apply(this,arguments)})],r=!0)},p(c,d){l=c,d[0]&16777216&&t!==(t=l[87](l[24])+"")&&B(n,t)},d(c){c&&C(e),r=!1,ve(f)}}}function J1(l){let e,t,n;function i(f,c){if(f[58])return nd;if(f[4].length>0)return ld;if(f[24])return td}let o=i(l),r=o&&o(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("welcome.title")}`,n=g(),r&&r.c(),s(t,"class","svelte-11f6xyi"),s(e,"class","welcome svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,t),a(e,n),r&&r.m(e,null)},p(f,c){o===(o=i(f))&&r?r.p(f,c):(r&&r.d(1),r=o&&o(f),r&&(r.c(),r.m(e,null)))},i:$,o:$,d(f){f&&C(e),r&&r.d()}}}function q1(l){let e,t,n,i;function o(c,d){return c[8].length===0?sd:id}let r=o(l),f=r(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("activity.title")}`,i=g(),f.c(),s(n,"class","svelte-11f6xyi"),s(t,"class","activity-feed-header svelte-11f6xyi"),s(e,"class","activity-feed svelte-11f6xyi")},m(c,d){S(c,e,d),a(e,t),a(t,n),a(e,i),f.m(e,null)},p(c,d){r===(r=o(c))&&f?f.p(c,d):(f.d(1),f=r(c),f&&(f.c(),f.m(e,null)))},i:$,o:$,d(c){c&&C(e),f.d()}}}function Y1(l){let e,t,n,i,o,r=l[7].date+"",f,c,d,v,_=l[7].summary&&is(l),h=l[41].length>0&&as(l);function y(w,E){return w[7].groups&&w[7].groups.length>0?rd:od}let b=y(l),k=b(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("today.title")}`,i=g(),o=u("span"),f=F(r),c=g(),_&&_.c(),d=g(),h&&h.c(),v=g(),k.c(),s(n,"class","svelte-11f6xyi"),s(o,"class","today-date svelte-11f6xyi"),s(t,"class","today-header svelte-11f6xyi"),s(e,"class","today-dashboard svelte-11f6xyi")},m(w,E){S(w,e,E),a(e,t),a(t,n),a(t,i),a(t,o),a(o,f),a(e,c),_&&_.m(e,null),a(e,d),h&&h.m(e,null),a(e,v),k.m(e,null)},p(w,E){E[0]&128&&r!==(r=w[7].date+"")&&B(f,r),w[7].summary?_?_.p(w,E):(_=is(w),_.c(),_.m(e,d)):_&&(_.d(1),_=null),w[41].length>0?h?h.p(w,E):(h=as(w),h.c(),h.m(e,v)):h&&(h.d(1),h=null),b===(b=y(w))&&k?k.p(w,E):(k.d(1),k=b(w),k&&(k.c(),k.m(e,null)))},i:$,o:$,d(w){w&&C(e),_&&_.d(),h&&h.d(),k.d()}}}function Q1(l){let e,t,n,i,o,r,f,c,d,v,_,h,y,b,k,w,E,j,D,T,N,A,M,R,W,V,x,J,q,H,U,G,z,K,L,O,Z,re,ee,ne,le,oe,fe,ke,Be,Fe,Q,X,ue,we,me,je,qe,Ye,lt,He,Le,Ie,ye;function Oe(_e,te){return _e[17]?ud:fd}let Ce=Oe(l),Ve=Ce(l),be=l[14]&&ks(l),Se=l[18]&&ws(l),Te=l[41].length>0&&Cs(l),Ee=l[10]&&Ns(l);function Ae(_e,te){return _e[9].length===0?pd:dd}let Ue=Ae(l),Ne=Ue(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("journal.title")}`,i=g(),o=u("div"),r=u("div"),r.textContent=`${m("journal.filterHeading")}`,f=g(),c=u("div"),d=u("label"),v=u("span"),v.textContent=`${m("journal.dateFrom")}`,_=g(),h=u("input"),y=g(),b=u("label"),k=u("span"),k.textContent=`${m("journal.dateTo")}`,w=g(),E=u("input"),j=g(),D=u("label"),T=u("span"),T.textContent=`${m("journal.node")}`,N=g(),A=u("div"),Ve.c(),M=g(),be&&be.c(),R=g(),W=u("label"),V=u("span"),V.textContent=`${m("journal.billable")}`,x=g(),J=u("select"),q=u("option"),q.textContent=`${m("common.all")}`,H=u("option"),H.textContent=`${m("journal.billableYes")}`,U=u("option"),U.textContent=`${m("journal.billableNo")}`,G=g(),z=u("label"),K=u("span"),K.textContent=`${m("journal.approx")}`,L=g(),O=u("select"),Z=u("option"),Z.textContent=`${m("common.all")}`,re=u("option"),re.textContent=`${m("journal.approxExact")}`,ee=u("option"),ee.textContent=`${m("journal.approxEstimated")}`,ne=g(),le=u("button"),le.textContent=`${m("journal.filter")}`,oe=g(),fe=u("button"),fe.textContent=`${m("journal.reset")}`,ke=g(),Be=u("div"),Fe=u("div"),Fe.textContent=`${m("journal.exportHeading")}`,Q=g(),X=u("div"),ue=u("button"),ue.textContent=`${m("journal.exportCSV")}`,we=g(),me=u("button"),me.textContent=`${m("journal.exportMarkdown")}`,je=g(),qe=u("button"),qe.textContent="PDF",Ye=g(),Se&&Se.c(),lt=g(),Te&&Te.c(),He=g(),Ee&&Ee.c(),Le=g(),Ne.c(),s(n,"class","svelte-11f6xyi"),s(r,"class","journal-filter-heading svelte-11f6xyi"),s(v,"class","label-text svelte-11f6xyi"),s(h,"type","date"),s(h,"class","svelte-11f6xyi"),s(d,"class","svelte-11f6xyi"),s(k,"class","label-text svelte-11f6xyi"),s(E,"type","date"),s(E,"class","svelte-11f6xyi"),s(b,"class","svelte-11f6xyi"),s(T,"class","label-text svelte-11f6xyi"),s(A,"class","journal-node-picker svelte-11f6xyi"),ft(A,"position","relative"),s(D,"class","svelte-11f6xyi"),s(V,"class","label-text svelte-11f6xyi"),q.__value="all",ge(q,q.__value),s(q,"class","svelte-11f6xyi"),H.__value="yes",ge(H,H.__value),s(H,"class","svelte-11f6xyi"),U.__value="no",ge(U,U.__value),s(U,"class","svelte-11f6xyi"),s(J,"class","svelte-11f6xyi"),l[15]===void 0&&Et(()=>l[238].call(J)),s(W,"title",m("journal.billableHint")),s(W,"class","svelte-11f6xyi"),s(K,"class","label-text svelte-11f6xyi"),Z.__value="all",ge(Z,Z.__value),s(Z,"class","svelte-11f6xyi"),re.__value="no",ge(re,re.__value),s(re,"class","svelte-11f6xyi"),ee.__value="yes",ge(ee,ee.__value),s(ee,"class","svelte-11f6xyi"),s(O,"class","svelte-11f6xyi"),l[16]===void 0&&Et(()=>l[239].call(O)),s(z,"title",m("journal.approxHint")),s(z,"class","svelte-11f6xyi"),s(le,"class","btn btn-sm svelte-11f6xyi"),s(fe,"class","btn btn-sm svelte-11f6xyi"),s(c,"class","journal-filters-row svelte-11f6xyi"),s(o,"class","journal-filter-section svelte-11f6xyi"),s(Fe,"class","journal-export-heading svelte-11f6xyi"),s(ue,"class","btn btn-sm svelte-11f6xyi"),s(me,"class","btn btn-sm svelte-11f6xyi"),s(qe,"class","btn btn-sm svelte-11f6xyi"),s(X,"class","journal-export-row svelte-11f6xyi"),s(Be,"class","journal-export-section svelte-11f6xyi"),s(t,"class","journal-header svelte-11f6xyi"),s(e,"class","journal-screen svelte-11f6xyi")},m(_e,te){S(_e,e,te),a(e,t),a(t,n),a(t,i),a(t,o),a(o,r),a(o,f),a(o,c),a(c,d),a(d,v),a(d,_),a(d,h),ge(h,l[11]),a(c,y),a(c,b),a(b,k),a(b,w),a(b,E),ge(E,l[12]),a(c,j),a(c,D),a(D,T),a(D,N),a(D,A),Ve.m(A,null),a(c,M),be&&be.m(c,null),a(c,R),a(c,W),a(W,V),a(W,x),a(W,J),a(J,q),a(J,H),a(J,U),_t(J,l[15],!0),a(c,G),a(c,z),a(z,K),a(z,L),a(z,O),a(O,Z),a(O,re),a(O,ee),_t(O,l[16],!0),a(c,ne),a(c,le),a(c,oe),a(c,fe),a(t,ke),a(t,Be),a(Be,Fe),a(Be,Q),a(Be,X),a(X,ue),a(X,we),a(X,me),a(X,je),a(X,qe),a(X,Ye),Se&&Se.m(X,null),a(e,lt),Te&&Te.m(e,null),a(e,He),Ee&&Ee.m(e,null),a(e,Le),Ne.m(e,null),Ie||(ye=[I(h,"input",l[231]),I(E,"input",l[232]),I(J,"change",l[238]),I(O,"change",l[239]),I(le,"click",l[144]),I(fe,"click",l[151]),I(ue,"click",l[240]),I(me,"click",l[241]),I(qe,"click",l[242])],Ie=!0)},p(_e,te){te[0]&2048&&ge(h,_e[11]),te[0]&4096&&ge(E,_e[12]),Ce===(Ce=Oe(_e))&&Ve?Ve.p(_e,te):(Ve.d(1),Ve=Ce(_e),Ve&&(Ve.c(),Ve.m(A,null))),_e[14]?be?be.p(_e,te):(be=ks(_e),be.c(),be.m(c,R)):be&&(be.d(1),be=null),te[0]&32768&&_t(J,_e[15]),te[0]&65536&&_t(O,_e[16]),_e[18]?Se?Se.p(_e,te):(Se=ws(_e),Se.c(),Se.m(X,null)):Se&&(Se.d(1),Se=null),_e[41].length>0?Te?Te.p(_e,te):(Te=Cs(_e),Te.c(),Te.m(e,He)):Te&&(Te.d(1),Te=null),_e[10]?Ee?Ee.p(_e,te):(Ee=Ns(_e),Ee.c(),Ee.m(e,Le)):Ee&&(Ee.d(1),Ee=null),Ue===(Ue=Ae(_e))&&Ne?Ne.p(_e,te):(Ne.d(1),Ne=Ue(_e),Ne&&(Ne.c(),Ne.m(e,null)))},i:$,o:$,d(_e){_e&&C(e),Ve.d(),be&&be.d(),Se&&Se.d(),Te&&Te.d(),Ee&&Ee.d(),Ne.d(),Ie=!1,ve(ye)}}}function X1(l){var E;let e,t,n,i,o,r,f=(((E=l[46])==null?void 0:E.trashPath)||"")+"",c,d,v,_,h,y;function b(j,D){return!j[46]||(j[46].nodes||[]).length===0&&(j[46].entries||[]).length===0?kd:bd}let k=b(l),w=k(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("h2"),i.textContent=`${m("nav.trash")}`,o=g(),r=u("p"),c=F(f),d=g(),v=u("button"),v.textContent=`${m("trash.openFolder")}`,_=g(),w.c(),s(i,"class","svelte-11f6xyi"),s(r,"class","svelte-11f6xyi"),s(n,"class","svelte-11f6xyi"),s(v,"class","btn btn-sm svelte-11f6xyi"),s(t,"class","trash-header svelte-11f6xyi"),s(e,"class","trash-screen svelte-11f6xyi")},m(j,D){S(j,e,D),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(r,c),a(t,d),a(t,v),a(e,_),w.m(e,null),h||(y=I(v,"click",l[230]),h=!0)},p(j,D){var T;D[1]&32768&&f!==(f=(((T=j[46])==null?void 0:T.trashPath)||"")+"")&&B(c,f),k===(k=b(j))&&w?w.p(j,D):(w.d(1),w=k(j),w&&(w.c(),w.m(e,null)))},i:$,o:$,d(j){j&&C(e),w.d(),h=!1,y()}}}function Z1(l){let e,t,n,i,o,r,f,c,d,v=(l[44]?m("common.loading"):m("inbox.pasteClipboard"))+"",_,h,y,b,k,w=l[45]&&Us(l);function E(T,N){return T[43].length===0?Td:Ed}let j=E(l),D=j(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("h2"),i.textContent=`${m("nav.inbox")}`,o=g(),r=u("p"),r.textContent=`${m("inbox.subtitle")}`,f=g(),c=u("div"),d=u("button"),_=F(v),h=g(),w&&w.c(),y=g(),D.c(),s(i,"class","svelte-11f6xyi"),s(r,"class","svelte-11f6xyi"),s(n,"class","svelte-11f6xyi"),s(d,"class","btn btn-primary svelte-11f6xyi"),d.disabled=l[44],s(c,"class","inbox-header-actions svelte-11f6xyi"),s(t,"class","inbox-header svelte-11f6xyi"),s(e,"class","inbox-screen svelte-11f6xyi")},m(T,N){S(T,e,N),a(e,t),a(t,n),a(n,i),a(n,o),a(n,r),a(t,f),a(t,c),a(c,d),a(d,_),a(c,h),w&&w.m(c,null),a(e,y),D.m(e,null),b||(k=I(d,"click",l[161]),b=!0)},p(T,N){N[1]&8192&&v!==(v=(T[44]?m("common.loading"):m("inbox.pasteClipboard"))+"")&&B(_,v),N[1]&8192&&(d.disabled=T[44]),T[45]?w?w.p(T,N):(w=Us(T),w.c(),w.m(c,null)):w&&(w.d(1),w=null),j===(j=E(T))&&D?D.p(T,N):(D.d(1),D=j(T),D&&(D.c(),D.m(e,null)))},i:$,o:$,d(T){T&&C(e),w&&w.d(),D.d(),b=!1,k()}}}function $1(l){let e,t,n,i,o,r,f=ce(l[89]),c=[];for(let h=0;h{v[b]=null}),st()),~i?(o=v[i],o?o.p(h,y):(o=v[i]=d[i](h),o.c()),ae(o,1),o.m(n,null)):o=null)},i(h){r||(ae(o),r=!0)},o(h){de(o),r=!1},d(h){h&&(C(e),C(t),C(n)),Pe(c,h),~i&&v[i].d()}}}function ed(l){let e,t,n,i=l[29].title+"",o,r,f,c,d,v,_,h,y,b,k,w=l[29].dirty&&ko();return{c(){e=u("div"),t=u("div"),n=u("span"),o=F(i),r=g(),w&&w.c(),f=g(),c=u("div"),d=u("button"),d.textContent=`${m("common.save")}`,v=g(),_=u("button"),_.textContent=`${m("common.close")}`,h=g(),y=u("textarea"),s(n,"class","note-title svelte-11f6xyi"),s(d,"class","btn btn-primary svelte-11f6xyi"),s(_,"class","btn svelte-11f6xyi"),s(c,"class","note-editor-actions svelte-11f6xyi"),s(t,"class","note-editor-header svelte-11f6xyi"),s(y,"class","note-textarea svelte-11f6xyi"),s(y,"placeholder",m("note.placeholder")),s(e,"class","note-editor svelte-11f6xyi")},m(E,j){S(E,e,j),a(e,t),a(t,n),a(n,o),a(t,r),w&&w.m(t,null),a(t,f),a(t,c),a(c,d),a(c,v),a(c,_),a(e,h),a(e,y),ge(y,l[29].content),b||(k=[I(d,"click",l[136]),I(_,"click",l[134]),I(y,"input",l[183]),I(y,"input",l[135])],b=!0)},p(E,j){j[0]&536870912&&i!==(i=E[29].title+"")&&B(o,i),E[29].dirty?w||(w=ko(),w.c(),w.m(t,f)):w&&(w.d(1),w=null),j[0]&536870912&&ge(y,E[29].content)},i:$,o:$,d(E){E&&C(e),w&&w.d(),b=!1,ve(k)}}}function td(l){let e,t=m("common.error")+"",n,i,o;return{c(){e=u("p"),n=F(t),i=g(),o=F(l[24]),s(e,"class","error-text svelte-11f6xyi")},m(r,f){S(r,e,f),a(e,n),a(e,i),a(e,o)},p(r,f){f[0]&16777216&&B(o,r[24])},d(r){r&&C(e)}}}function ld(l){let e,t,n;return{c(){e=u("p"),e.textContent=`${m("welcome.selectSection")}`,t=g(),n=u("p"),n.textContent=`${m("welcome.createCase")}`,s(e,"class","svelte-11f6xyi"),s(n,"class","hint svelte-11f6xyi")},m(i,o){S(i,e,o),S(i,t,o),S(i,n,o)},p:$,d(i){i&&(C(e),C(t),C(n))}}}function nd(l){let e;return{c(){e=u("p"),e.textContent=`${m("common.loading")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},p:$,d(t){t&&C(e)}}}function id(l){let e,t=ce(l[8]),n=[];for(let i=0;i0&&ss(l),o=l[7].summary.notes>0&&os(l),r=l[7].summary.files>0&&rs(l);return{c(){e=u("div"),i&&i.c(),t=g(),o&&o.c(),n=g(),r&&r.c(),s(e,"class","today-summary svelte-11f6xyi")},m(f,c){S(f,e,c),i&&i.m(e,null),a(e,t),o&&o.m(e,null),a(e,n),r&&r.m(e,null)},p(f,c){f[7].summary.changedCases>0?i?i.p(f,c):(i=ss(f),i.c(),i.m(e,t)):i&&(i.d(1),i=null),f[7].summary.notes>0?o?o.p(f,c):(o=os(f),o.c(),o.m(e,n)):o&&(o.d(1),o=null),f[7].summary.files>0?r?r.p(f,c):(r=rs(f),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(f){f&&C(e),i&&i.d(),o&&o.d(),r&&r.d()}}}function ss(l){let e,t=l[7].summary.changedCases+"",n,i,o=ht(l[7].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"",r;return{c(){e=u("span"),n=F(t),i=g(),r=F(o),s(e,"class","summary-chip svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,n),a(e,i),a(e,r)},p(f,c){c[0]&128&&t!==(t=f[7].summary.changedCases+"")&&B(n,t),c[0]&128&&o!==(o=ht(f[7].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"")&&B(r,o)},d(f){f&&C(e)}}}function os(l){let e,t=l[7].summary.notes+"",n,i,o=ht(l[7].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"",r;return{c(){e=u("span"),n=F(t),i=g(),r=F(o),s(e,"class","summary-chip svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,n),a(e,i),a(e,r)},p(f,c){c[0]&128&&t!==(t=f[7].summary.notes+"")&&B(n,t),c[0]&128&&o!==(o=ht(f[7].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"")&&B(r,o)},d(f){f&&C(e)}}}function rs(l){let e,t=l[7].summary.files+"",n,i,o=ht(l[7].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"",r;return{c(){e=u("span"),n=F(t),i=g(),r=F(o),s(e,"class","summary-chip svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,n),a(e,i),a(e,r)},p(f,c){c[0]&128&&t!==(t=f[7].summary.files+"")&&B(n,t),c[0]&128&&o!==(o=ht(f[7].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"")&&B(r,o)},d(f){f&&C(e)}}}function as(l){let e,t,n,i=ce(l[41]),o=[];for(let r=0;r0&&cs(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("button"),r=F(o),f=g(),c=u("span"),v=F(d),_=g(),h=u("span"),b=F(y),k=g(),w=u("div"),E=u("input"),D=g(),T=u("span"),T.textContent=`${m("suggest.minutes")}`,N=g(),A=u("button"),A.textContent=`${m("suggest.edit")}`,M=g(),R=u("button"),R.textContent=`${m("suggest.apply")}`,W=g(),L&&L.c(),V=g(),s(i,"class","suggestion-node link-btn svelte-11f6xyi"),s(c,"class","suggestion-summary svelte-11f6xyi"),s(h,"class","suggestion-confidence svelte-11f6xyi"),he(h,"low",l[362].confidence==="low"),he(h,"medium",l[362].confidence==="medium"),he(h,"high",l[362].confidence==="high"),s(n,"class","suggestion-info svelte-11f6xyi"),s(E,"type","number"),s(E,"class","suggestion-min-input svelte-11f6xyi"),E.value=j=l[362].suggestedMin,s(E,"min","1"),s(E,"max","480"),s(T,"class","suggestion-min-label svelte-11f6xyi"),s(A,"class","btn btn-sm svelte-11f6xyi"),s(R,"class","btn btn-sm btn-primary svelte-11f6xyi"),s(w,"class","suggestion-actions svelte-11f6xyi"),s(t,"class","suggestion-main svelte-11f6xyi"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-11f6xyi"),he(e,"expanded",l[362]._expanded)},m(O,Z){S(O,e,Z),a(e,t),a(t,n),a(n,i),a(i,r),a(n,f),a(n,c),a(c,v),a(n,_),a(n,h),a(h,b),a(t,k),a(t,w),a(w,E),a(w,D),a(w,T),a(w,N),a(w,A),a(w,M),a(w,R),a(e,W),L&&L.m(e,null),a(e,V),x||(J=[I(i,"click",We(q)),I(E,"change",We(H)),I(A,"click",We(U)),I(R,"click",We(G)),I(t,"click",z),I(t,"keydown",K)],x=!0)},p(O,Z){l=O,Z[1]&1024&&o!==(o=l[362].nodeTitle+"")&&B(r,o),Z[1]&1024&&d!==(d=l[362].summary+"")&&B(v,d),Z[1]&1024&&y!==(y=m("suggest.confidence."+l[362].confidence)+"")&&B(b,y),Z[1]&1024&&he(h,"low",l[362].confidence==="low"),Z[1]&1024&&he(h,"medium",l[362].confidence==="medium"),Z[1]&1024&&he(h,"high",l[362].confidence==="high"),Z[1]&1024&&j!==(j=l[362].suggestedMin)&&E.value!==j&&(E.value=j),l[362]._expanded&&l[362].events&&l[362].events.length>0?L?L.p(l,Z):(L=cs(l),L.c(),L.m(e,V)):L&&(L.d(1),L=null),Z[1]&1024&&he(e,"expanded",l[362]._expanded)},d(O){O&&C(e),L&&L.d(),x=!1,ve(J)}}}function od(l){let e,t,n,i;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("today.empty")}`,n=g(),i=u("p"),i.textContent=`${m("today.emptyHint")}`,s(t,"class","svelte-11f6xyi"),s(i,"class","hint svelte-11f6xyi"),s(e,"class","today-empty svelte-11f6xyi")},m(o,r){S(o,e,r),a(e,t),a(e,n),a(e,i)},p:$,d(o){o&&C(e)}}}function rd(l){let e,t,n=ce(l[7].groups),i=[];for(let r=0;r0&&hs(l);return{c(){for(let r=0;r0?o?o.p(r,f):(o=hs(r),o.c(),o.m(t.parentNode,t)):o&&(o.d(1),o=null)},d(r){r&&(C(e),C(t)),Pe(i,r),o&&o.d(r)}}}function ps(l){let e,t=l[398].events.length+"",n,i,o=ht(l[398].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"",r;return{c(){e=u("span"),n=F(t),i=g(),r=F(o),s(e,"class","today-case-count svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,n),a(e,i),a(e,r)},p(f,c){c[0]&128&&t!==(t=f[398].events.length+"")&&B(n,t),c[0]&128&&o!==(o=ht(f[398].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"")&&B(r,o)},d(f){f&&C(e)}}}function ad(l){let e;return{c(){e=u("div"),e.textContent=`${m("today.changedCases")}`,s(e,"class","today-events-empty svelte-11f6xyi")},m(t,n){S(t,e,n)},p:$,d(t){t&&C(e)}}}function cd(l){let e,t=ce(l[398].events),n=[];for(let i=0;i0?cd:ad}let A=N(l),M=A(l);return{c(){e=u("div"),t=u("div"),n=u("span"),o=F(i),r=g(),f=u("span"),d=F(c),v=g(),j&&j.c(),_=g(),h=u("span"),b=F(y),k=g(),M.c(),s(n,"class","today-case-title svelte-11f6xyi"),s(f,"class","today-case-type svelte-11f6xyi"),s(h,"class","today-case-time svelte-11f6xyi"),s(t,"class","today-case-header svelte-11f6xyi"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","today-case svelte-11f6xyi")},m(R,W){S(R,e,W),a(e,t),a(t,n),a(n,o),a(t,r),a(t,f),a(f,d),a(t,v),j&&j.m(t,null),a(t,_),a(t,h),a(h,b),a(e,k),M.m(e,null),w||(E=[I(t,"click",D),I(t,"keydown",T)],w=!0)},p(R,W){l=R,W[0]&128&&i!==(i=l[398].nodeTitle+"")&&B(o,i),W[0]&128&&c!==(c=l[158](l[398].nodeKind)+"")&&B(d,c),l[398].events?j?j.p(l,W):(j=ps(l),j.c(),j.m(t,_)):j&&(j.d(1),j=null),W[0]&128&&y!==(y=tt(l[398].lastActivityAt)+"")&&B(b,y),A===(A=N(l))&&M?M.p(l,W):(M.d(1),M=A(l),M&&(M.c(),M.m(e,null)))},d(R){R&&C(e),j&&j.d(),M.d(),w=!1,ve(E)}}}function hs(l){let e,t,n,i=ce(l[7].events),o=[];for(let r=0;r0&&Ss(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("button"),r=F(o),f=g(),c=u("span"),v=F(d),_=g(),h=u("span"),b=F(y),k=g(),w=u("div"),E=u("input"),D=g(),T=u("span"),T.textContent=`${m("suggest.minutes")}`,N=g(),A=u("button"),A.textContent=`${m("suggest.edit")}`,M=g(),R=u("button"),R.textContent=`${m("suggest.apply")}`,W=g(),L&&L.c(),V=g(),s(i,"class","suggestion-node link-btn svelte-11f6xyi"),s(c,"class","suggestion-summary svelte-11f6xyi"),s(h,"class","suggestion-confidence svelte-11f6xyi"),he(h,"low",l[362].confidence==="low"),he(h,"medium",l[362].confidence==="medium"),he(h,"high",l[362].confidence==="high"),s(n,"class","suggestion-info svelte-11f6xyi"),s(E,"type","number"),s(E,"class","suggestion-min-input svelte-11f6xyi"),E.value=j=l[362].suggestedMin,s(E,"min","1"),s(E,"max","480"),s(T,"class","suggestion-min-label svelte-11f6xyi"),s(A,"class","btn btn-sm svelte-11f6xyi"),s(R,"class","btn btn-sm btn-primary svelte-11f6xyi"),s(w,"class","suggestion-actions svelte-11f6xyi"),s(t,"class","suggestion-main svelte-11f6xyi"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-11f6xyi"),he(e,"expanded",l[362]._expanded)},m(O,Z){S(O,e,Z),a(e,t),a(t,n),a(n,i),a(i,r),a(n,f),a(n,c),a(c,v),a(n,_),a(n,h),a(h,b),a(t,k),a(t,w),a(w,E),a(w,D),a(w,T),a(w,N),a(w,A),a(w,M),a(w,R),a(e,W),L&&L.m(e,null),a(e,V),x||(J=[I(i,"click",We(q)),I(E,"change",We(H)),I(A,"click",We(U)),I(R,"click",We(G)),I(t,"click",z),I(t,"keydown",K)],x=!0)},p(O,Z){l=O,Z[1]&1024&&o!==(o=l[362].nodeTitle+"")&&B(r,o),Z[1]&1024&&d!==(d=l[362].summary+"")&&B(v,d),Z[1]&1024&&y!==(y=m("suggest.confidence."+l[362].confidence)+"")&&B(b,y),Z[1]&1024&&he(h,"low",l[362].confidence==="low"),Z[1]&1024&&he(h,"medium",l[362].confidence==="medium"),Z[1]&1024&&he(h,"high",l[362].confidence==="high"),Z[1]&1024&&j!==(j=l[362].suggestedMin)&&E.value!==j&&(E.value=j),l[362]._expanded&&l[362].events&&l[362].events.length>0?L?L.p(l,Z):(L=Ss(l),L.c(),L.m(e,V)):L&&(L.d(1),L=null),Z[1]&1024&&he(e,"expanded",l[362]._expanded)},d(O){O&&C(e),L&&L.d(),x=!1,ve(J)}}}function Ns(l){let e,t,n=m("journal.total")+"",i,o,r=Math.floor(l[10].totalMinutes/60)+"",f,c,d=l[10].totalMinutes%60+"",v,_,h=l[10].totalEntries+"",y,b,k=m("worklog.min")+"",w,E,j,D,T=l[10].byDay&&l[10].byDay.length>0&&Ds(l),N=l[10].byNode&&l[10].byNode.length>0&&Is(l);return{c(){e=u("div"),t=u("div"),i=F(n),o=F(": "),f=F(r),c=F("ч "),v=F(d),_=F("м ("),y=F(h),b=g(),w=F(k),E=F(")"),j=g(),T&&T.c(),D=g(),N&&N.c(),s(t,"class","summary-total svelte-11f6xyi"),s(e,"class","journal-summary svelte-11f6xyi")},m(A,M){S(A,e,M),a(e,t),a(t,i),a(t,o),a(t,f),a(t,c),a(t,v),a(t,_),a(t,y),a(t,b),a(t,w),a(t,E),a(e,j),T&&T.m(e,null),a(e,D),N&&N.m(e,null)},p(A,M){M[0]&1024&&r!==(r=Math.floor(A[10].totalMinutes/60)+"")&&B(f,r),M[0]&1024&&d!==(d=A[10].totalMinutes%60+"")&&B(v,d),M[0]&1024&&h!==(h=A[10].totalEntries+"")&&B(y,h),A[10].byDay&&A[10].byDay.length>0?T?T.p(A,M):(T=Ds(A),T.c(),T.m(e,D)):T&&(T.d(1),T=null),A[10].byNode&&A[10].byNode.length>0?N?N.p(A,M):(N=Is(A),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(A){A&&C(e),T&&T.d(),N&&N.d()}}}function Ds(l){let e,t,n,i=ce(l[10].byDay),o=[];for(let r=0;r0?gd:R[380].source==="suggestion"?hd:R[380].source==="unknown"||R[380].source==="imported"?vd:R[380]._hasEvents?_d:md}let N=T(l),A=N(l),M=l[380]._events&&zs(l);return{c(){e=u("tr"),t=u("td"),n=u("div"),i=u("div"),o=u("button"),o.textContent=`${m("worklog.editEntry")}`,r=g(),f=u("button"),f.textContent=`${m("worklog.deleteEntry")}`,c=g(),D&&D.c(),d=g(),v=u("div"),_=u("span"),_.textContent=`${m("worklog.source")}`,h=g(),A.c(),y=g(),M&&M.c(),b=g(),s(o,"class","btn btn-sm svelte-11f6xyi"),s(f,"class","btn btn-sm btn-danger svelte-11f6xyi"),s(i,"class","journal-detail-actions svelte-11f6xyi"),s(_,"class","journal-detail-label svelte-11f6xyi"),s(v,"class","journal-detail-section svelte-11f6xyi"),s(n,"class","journal-detail-body svelte-11f6xyi"),s(t,"colspan","8"),s(t,"class","svelte-11f6xyi"),s(e,"class","journal-row-detail svelte-11f6xyi")},m(R,W){S(R,e,W),a(e,t),a(t,n),a(n,i),a(i,o),a(i,r),a(i,f),a(n,c),D&&D.m(n,null),a(n,d),a(n,v),a(v,_),a(v,h),A.m(v,null),a(n,y),M&&M.m(n,null),a(e,b),k||(w=[I(o,"click",We(E)),I(f,"click",We(j))],k=!0)},p(R,W){l=R,l[380].details?D?D.p(l,W):(D=Rs(l),D.c(),D.m(n,d)):D&&(D.d(1),D=null),N!==(N=T(l))&&(A.d(1),A=N(l),A&&(A.c(),A.m(v,null))),l[380]._events?M?M.p(l,W):(M=zs(l),M.c(),M.m(n,null)):M&&(M.d(1),M=null)},d(R){R&&C(e),D&&D.d(),A.d(),M&&M.d(),k=!1,ve(w)}}}function Rs(l){let e,t,n,i,o=l[380].details+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("worklog.details")}`,n=g(),i=u("p"),r=F(o),s(t,"class","journal-detail-label svelte-11f6xyi"),s(i,"class","svelte-11f6xyi"),s(e,"class","journal-detail-section svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[0]&512&&o!==(o=f[380].details+"")&&B(r,o)},d(f){f&&C(e)}}}function md(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceUnknown")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function _d(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function vd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceUnknown")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function hd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function gd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function yd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceManual")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function zs(l){let e,t,n,i=ce(l[380]._events),o=[];for(let r=0;r0,r,f,c,d=o&&Qs(l);function v(y,b){return y[31].length===0?zd:Rd}let _=v(l),h=_(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`+ ${m("worklog.addEntry")}`,i=g(),d&&d.c(),r=g(),h.c(),s(n,"class","btn btn-primary btn-sm svelte-11f6xyi"),s(t,"class","worklog-toolbar svelte-11f6xyi"),s(e,"class","worklog-tab svelte-11f6xyi")},m(y,b){S(y,e,b),a(e,t),a(t,n),a(e,i),d&&d.m(e,null),a(e,r),h.m(e,null),f||(c=I(n,"click",l[210]),f=!0)},p(y,b){b[0]&67108864|b[1]&1024&&(o=y[26]&&y[41].filter(y[176]).length>0),o?d?d.p(y,b):(d=Qs(y),d.c(),d.m(e,r)):d&&(d.d(1),d=null),_===(_=v(y))&&h?h.p(y,b):(h.d(1),h=_(y),h&&(h.c(),h.m(e,null)))},i:$,o:$,d(y){y&&C(e),d&&d.d(),h.d(),f=!1,c()}}}function Md(l){let e,t,n,i,o,r;function f(v,_){return v[30].length===0?Kd:Ud}let c=f(l),d=c(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${m("action.addAction")}`,i=g(),d.c(),s(n,"class","btn btn-primary svelte-11f6xyi"),s(t,"class","tab-toolbar svelte-11f6xyi"),s(e,"class","actions-tab svelte-11f6xyi")},m(v,_){S(v,e,_),a(e,t),a(t,n),a(e,i),d.m(e,null),o||(r=I(n,"click",l[162]),o=!0)},p(v,_){c===(c=f(v))&&d?d.p(v,_):(d.d(1),d=c(v),d&&(d.c(),d.m(e,null)))},i:$,o:$,d(v){v&&C(e),d.d(),o=!1,r()}}}function Id(l){let e,t,n,i=m("file.addFile")+"",o,r,f,c=m("file.addFolder")+"",d,v,_,h,y,b,k,w,E,j,D,T,N,A=l[71].items.length>0&&fo(l);const M=[Gd,xd],R=[];function W(J,q){return J[63]?0:1}b=W(l),k=R[b]=M[b](l);let V=l[59]&&!l[61]&&po(),x=l[67]&&mo(l);return{c(){e=u("div"),t=u("div"),n=u("button"),o=F(i),r=g(),f=u("button"),d=F(c),v=g(),_=u("button"),_.textContent=`${m("file.newFile")}`,h=g(),A&&A.c(),y=g(),k.c(),w=g(),V&&V.c(),E=g(),x&&x.c(),j=ot(),s(n,"class","btn btn-primary svelte-11f6xyi"),n.disabled=l[59],s(f,"class","btn svelte-11f6xyi"),f.disabled=l[59],s(_,"class","btn svelte-11f6xyi"),s(t,"class","tab-toolbar svelte-11f6xyi"),s(e,"class","files-tab svelte-11f6xyi")},m(J,q){S(J,e,q),a(e,t),a(t,n),a(n,o),a(t,r),a(t,f),a(f,d),a(t,v),a(t,_),a(t,h),A&&A.m(t,null),a(e,y),R[b].m(e,null),a(e,w),V&&V.m(e,null),S(J,E,q),x&&x.m(J,q),S(J,j,q),D=!0,T||(N=[I(n,"click",l[152]),I(f,"click",l[153]),I(_,"click",l[98])],T=!0)},p(J,q){(!D||q[1]&268435456)&&(n.disabled=J[59]),(!D||q[1]&268435456)&&(f.disabled=J[59]),J[71].items.length>0?A?A.p(J,q):(A=fo(J),A.c(),A.m(t,null)):A&&(A.d(1),A=null);let H=b;b=W(J),b===H?R[b].p(J,q):(it(),de(R[H],1,1,()=>{R[H]=null}),st(),k=R[b],k?k.p(J,q):(k=R[b]=M[b](J),k.c()),ae(k,1),k.m(e,w)),J[59]&&!J[61]?V||(V=po(),V.c(),V.m(e,null)):V&&(V.d(1),V=null),J[67]?x?(x.p(J,q),q[2]&32&&ae(x,1)):(x=mo(J),x.c(),ae(x,1),x.m(j.parentNode,j)):x&&(it(),de(x,1,1,()=>{x=null}),st())},i(J){D||(ae(k),ae(x),D=!0)},o(J){de(k),de(x),D=!1},d(J){J&&(C(e),C(E),C(j)),A&&A.d(),R[b].d(),V&&V.d(),x&&x.d(J),T=!1,ve(N)}}}function Ad(l){let e,t,n,i,o,r,f,c=l[52]&&_o(l);function d(h,y){return h[28].length===0&&!h[52]?Zd:Xd}let v=d(l),_=v(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${m("note.add")}`,i=g(),c&&c.c(),o=g(),_.c(),s(n,"class","btn btn-primary svelte-11f6xyi"),s(t,"class","tab-toolbar svelte-11f6xyi"),s(e,"class","notes-tab svelte-11f6xyi")},m(h,y){S(h,e,y),a(e,t),a(t,n),a(e,i),c&&c.m(e,null),a(e,o),_.m(e,null),r||(f=I(n,"click",l[130]),r=!0)},p(h,y){h[52]?c?c.p(h,y):(c=_o(h),c.c(),c.m(e,o)):c&&(c.d(1),c=null),v===(v=d(h))&&_?_.p(h,y):(_.d(1),_=v(h),_&&(_.c(),_.m(e,null)))},i:$,o:$,d(h){h&&C(e),c&&c.d(),_.d(),r=!1,f()}}}function Fd(l){let e,t,n=l[26].title+"",i,o,r,f,c,d,v=l[158](l[26].type)+"",_,h,y,b,k,w=(l[26].section||"—")+"",E,j,D,T,N,A=rt(l[26].createdAt)+"",M,R,W,V,x,J,q,H,U=m("overview.newNote")+"",G,z,K,L,O,Z,re=m("overview.addFile")+"",ee,ne,le,oe,fe,ke,Be=m("overview.addAction")+"",Fe,Q,X,ue,we,me,je,qe=m("overview.logTime")+"",Ye,lt,He,Le,Ie,ye=l[28].length>0&&ho(l),Oe=l[31].length>0&&yo(l);return{c(){e=u("div"),t=u("h2"),i=F(n),o=g(),r=u("div"),f=u("div"),c=u("span"),c.textContent=`${m("overview.type")}`,d=u("span"),_=F(v),h=g(),y=u("div"),b=u("span"),b.textContent=`${m("overview.section")}`,k=u("span"),E=F(w),j=g(),D=u("div"),T=u("span"),T.textContent=`${m("overview.created")}`,N=u("span"),M=F(A),R=g(),W=u("div"),V=u("button"),x=Y("svg"),J=Y("path"),q=Y("path"),H=g(),G=F(U),z=g(),K=u("button"),L=Y("svg"),O=Y("path"),Z=g(),ee=F(re),ne=g(),le=u("button"),oe=Y("svg"),fe=Y("polygon"),ke=g(),Fe=F(Be),Q=g(),X=u("button"),ue=Y("svg"),we=Y("circle"),me=Y("polyline"),je=g(),Ye=F(qe),lt=g(),ye&&ye.c(),He=g(),Oe&&Oe.c(),s(t,"class","svelte-11f6xyi"),s(c,"class","meta-label svelte-11f6xyi"),s(d,"class","svelte-11f6xyi"),s(f,"class","meta-item svelte-11f6xyi"),s(b,"class","meta-label svelte-11f6xyi"),s(k,"class","svelte-11f6xyi"),s(y,"class","meta-item svelte-11f6xyi"),s(T,"class","meta-label svelte-11f6xyi"),s(N,"class","svelte-11f6xyi"),s(D,"class","meta-item svelte-11f6xyi"),s(r,"class","meta-grid svelte-11f6xyi"),s(J,"d","M12 20h9"),s(J,"class","svelte-11f6xyi"),s(q,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(q,"class","svelte-11f6xyi"),s(x,"width","16"),s(x,"height","16"),s(x,"viewBox","0 0 24 24"),s(x,"fill","none"),s(x,"stroke","currentColor"),s(x,"stroke-width","2"),s(x,"stroke-linecap","round"),s(x,"stroke-linejoin","round"),s(x,"class","svelte-11f6xyi"),s(V,"class","qa-btn svelte-11f6xyi"),s(O,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),s(O,"class","svelte-11f6xyi"),s(L,"width","16"),s(L,"height","16"),s(L,"viewBox","0 0 24 24"),s(L,"fill","none"),s(L,"stroke","currentColor"),s(L,"stroke-width","2"),s(L,"stroke-linecap","round"),s(L,"stroke-linejoin","round"),s(L,"class","svelte-11f6xyi"),s(K,"class","qa-btn svelte-11f6xyi"),s(fe,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),s(fe,"class","svelte-11f6xyi"),s(oe,"width","16"),s(oe,"height","16"),s(oe,"viewBox","0 0 24 24"),s(oe,"fill","none"),s(oe,"stroke","currentColor"),s(oe,"stroke-width","2"),s(oe,"stroke-linecap","round"),s(oe,"stroke-linejoin","round"),s(oe,"class","svelte-11f6xyi"),s(le,"class","qa-btn svelte-11f6xyi"),s(we,"cx","12"),s(we,"cy","12"),s(we,"r","10"),s(we,"class","svelte-11f6xyi"),s(me,"points","12 6 12 12 16 14"),s(me,"class","svelte-11f6xyi"),s(ue,"width","16"),s(ue,"height","16"),s(ue,"viewBox","0 0 24 24"),s(ue,"fill","none"),s(ue,"stroke","currentColor"),s(ue,"stroke-width","2"),s(ue,"stroke-linecap","round"),s(ue,"stroke-linejoin","round"),s(ue,"class","svelte-11f6xyi"),s(X,"class","qa-btn svelte-11f6xyi"),s(W,"class","quick-actions svelte-11f6xyi"),s(e,"class","overview svelte-11f6xyi")},m(Ce,Ve){S(Ce,e,Ve),a(e,t),a(t,i),a(e,o),a(e,r),a(r,f),a(f,c),a(f,d),a(d,_),a(r,h),a(r,y),a(y,b),a(y,k),a(k,E),a(r,j),a(r,D),a(D,T),a(D,N),a(N,M),a(e,R),a(e,W),a(W,V),a(V,x),a(x,J),a(x,q),a(V,H),a(V,G),a(W,z),a(W,K),a(K,L),a(L,O),a(K,Z),a(K,ee),a(W,ne),a(W,le),a(le,oe),a(oe,fe),a(le,ke),a(le,Fe),a(W,Q),a(W,X),a(X,ue),a(ue,we),a(ue,me),a(X,je),a(X,Ye),a(e,lt),ye&&ye.m(e,null),a(e,He),Oe&&Oe.m(e,null),Le||(Ie=[I(V,"click",l[185]),I(K,"click",l[186]),I(le,"click",l[162]),I(X,"click",l[187])],Le=!0)},p(Ce,Ve){Ve[0]&67108864&&n!==(n=Ce[26].title+"")&&B(i,n),Ve[0]&67108864&&v!==(v=Ce[158](Ce[26].type)+"")&&B(_,v),Ve[0]&67108864&&w!==(w=(Ce[26].section||"—")+"")&&B(E,w),Ve[0]&67108864&&A!==(A=rt(Ce[26].createdAt)+"")&&B(M,A),Ce[28].length>0?ye?ye.p(Ce,Ve):(ye=ho(Ce),ye.c(),ye.m(e,He)):ye&&(ye.d(1),ye=null),Ce[31].length>0?Oe?Oe.p(Ce,Ve):(Oe=yo(Ce),Oe.c(),Oe.m(e,null)):Oe&&(Oe.d(1),Oe=null)},i:$,o:$,d(Ce){Ce&&C(e),ye&&ye.d(),Oe&&Oe.d(),Le=!1,ve(Ie)}}}function Pd(l){let e,t=ce(l[22]),n=[];for(let i=0;i0&&Xs(l);return{c(){e=u("div"),t=u("div"),n=u("div"),i=u("span"),r=F(o),f=g(),c=u("span"),v=F(d),_=g(),y=F(h),b=F(" · "),w=F(k),E=g(),j=u("div"),D=u("button"),D.textContent=`${m("suggest.edit")}`,T=g(),N=u("button"),N.textContent=`${m("worklog.apply")}`,A=g(),H&&H.c(),M=g(),s(i,"class","suggestion-summary svelte-11f6xyi"),s(c,"class","suggestion-meta svelte-11f6xyi"),s(n,"class","suggestion-info svelte-11f6xyi"),s(D,"class","btn btn-sm svelte-11f6xyi"),s(N,"class","btn btn-sm btn-primary svelte-11f6xyi"),s(j,"class","suggestion-actions svelte-11f6xyi"),s(t,"class","suggestion-main svelte-11f6xyi"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-11f6xyi"),he(e,"expanded",l[362]._expanded)},m(U,G){S(U,e,G),a(e,t),a(t,n),a(n,i),a(i,r),a(n,f),a(n,c),a(c,v),a(c,_),a(c,y),a(c,b),a(c,w),a(t,E),a(t,j),a(j,D),a(j,T),a(j,N),a(e,A),H&&H.m(e,null),a(e,M),R||(W=[I(D,"click",We(V)),I(N,"click",We(x)),I(t,"click",J),I(t,"keydown",q)],R=!0)},p(U,G){l=U,G[0]&67108864|G[1]&1024&&o!==(o=l[362].summary+"")&&B(r,o),G[0]&67108864|G[1]&1024&&d!==(d=l[362].suggestedMin+"")&&B(v,d),G[0]&67108864|G[1]&1024&&k!==(k=m("suggest.confidence."+l[362].confidence)+"")&&B(w,k),l[362]._expanded&&l[362].events&&l[362].events.length>0?H?H.p(l,G):(H=Xs(l),H.c(),H.m(e,M)):H&&(H.d(1),H=null),G[0]&67108864|G[1]&1024&&he(e,"expanded",l[362]._expanded)},d(U){U&&C(e),H&&H.d(),R=!1,ve(W)}}}function Rd(l){let e,t=ce(l[31]),n=[];for(let i=0;i0?Bd:N[343].source==="suggestion"?Wd:N[343].source==="unknown"||N[343].source==="imported"?Vd:Od}let j=E(l),D=j(l),T=l[343].source==="suggestion"&&l[343]._events&&l[343]._events.length>0&&so(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${m("worklog.editEntry")}`,i=g(),o=u("button"),o.textContent=`${m("worklog.deleteEntry")}`,r=g(),w&&w.c(),f=g(),c=u("div"),d=u("span"),d.textContent=`${m("worklog.source")}`,v=g(),D.c(),_=g(),T&&T.c(),s(n,"class","btn btn-sm svelte-11f6xyi"),s(o,"class","btn btn-sm btn-danger svelte-11f6xyi"),s(t,"class","worklog-entry-actions svelte-11f6xyi"),s(d,"class","wl-detail-label svelte-11f6xyi"),s(c,"class","wl-detail-section svelte-11f6xyi"),s(e,"class","worklog-entry-detail svelte-11f6xyi")},m(N,A){S(N,e,A),a(e,t),a(t,n),a(t,i),a(t,o),a(e,r),w&&w.m(e,null),a(e,f),a(e,c),a(c,d),a(c,v),D.m(c,null),a(e,_),T&&T.m(e,null),h||(y=[I(n,"click",We(b)),I(o,"click",We(k))],h=!0)},p(N,A){l=N,l[343].details?w?w.p(l,A):(w=io(l),w.c(),w.m(e,f)):w&&(w.d(1),w=null),j!==(j=E(l))&&(D.d(1),D=j(l),D&&(D.c(),D.m(c,null))),l[343].source==="suggestion"&&l[343]._events&&l[343]._events.length>0?T?T.p(l,A):(T=so(l),T.c(),T.m(e,null)):T&&(T.d(1),T=null)},d(N){N&&C(e),w&&w.d(),D.d(),T&&T.d(),h=!1,ve(y)}}}function io(l){let e,t,n,i,o=l[343].details+"",r;return{c(){e=u("div"),t=u("span"),t.textContent=`${m("worklog.details")}`,n=g(),i=u("p"),r=F(o),s(t,"class","wl-detail-label svelte-11f6xyi"),s(i,"class","svelte-11f6xyi"),s(e,"class","wl-detail-section svelte-11f6xyi")},m(f,c){S(f,e,c),a(e,t),a(e,n),a(e,i),a(i,r)},p(f,c){c[1]&1&&o!==(o=f[343].details+"")&&B(r,o)},d(f){f&&C(e)}}}function Od(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceUnknown")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Vd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceUnknown")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Wd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Bd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function Hd(l){let e;return{c(){e=u("p"),e.textContent=`${m("worklog.sourceManual")}`,s(e,"class","svelte-11f6xyi")},m(t,n){S(t,e,n)},d(t){t&&C(e)}}}function so(l){let e,t,n,i=ce(l[343]._events),o=[];for(let r=0;r',D=g(),s(n,"class","action-title svelte-11f6xyi"),s(f,"class","action-type svelte-11f6xyi"),s(_,"class","action-data svelte-11f6xyi"),s(t,"class","action-info svelte-11f6xyi"),s(w,"class","btn btn-sm svelte-11f6xyi"),s(j,"class","btn btn-sm btn-danger svelte-11f6xyi"),s(k,"class","action-btns svelte-11f6xyi"),s(e,"class","action-card svelte-11f6xyi")},m(R,W){S(R,e,W),a(e,t),a(t,n),a(n,o),a(t,r),a(t,f),a(f,d),a(t,v),a(t,_),a(_,y),a(e,b),a(e,k),a(k,w),a(k,E),a(k,j),a(e,D),T||(N=[I(w,"click",A),I(j,"click",M)],T=!0)},p(R,W){l=R,W[0]&1073741824&&i!==(i=l[354].title+"")&&B(o,i),W[0]&1073741824&&c!==(c=l[166](l[354].type)+"")&&B(d,c),W[0]&1073741824&&h!==(h=l[354].data+"")&&B(y,h)},d(R){R&&C(e),T=!1,ve(N)}}}function fo(l){let e,t=m("common.paste")+"",n,i,o=l[71].items.length+"",r,f,c;return{c(){e=u("button"),n=F(t),i=g(),r=F(o),s(e,"class","btn svelte-11f6xyi")},m(d,v){S(d,e,v),a(e,n),a(e,i),a(e,r),f||(c=I(e,"click",l[103]),f=!0)},p(d,v){v[2]&512&&o!==(o=d[71].items.length+"")&&B(r,o)},d(d){d&&C(e),f=!1,c()}}}function xd(l){let e,t,n,i,o,r,f;const c=[qd,Jd],d=[];function v(b,k){return b[65].length>0?0:1}e=v(l),t=d[e]=c[e](l);const _=[Qd,Yd],h=[];function y(b,k){return b[66].length===0?0:1}return i=y(l),o=h[i]=_[i](l),{c(){t.c(),n=g(),o.c(),r=ot()},m(b,k){d[e].m(b,k),S(b,n,k),h[i].m(b,k),S(b,r,k),f=!0},p(b,k){let w=e;e=v(b),e===w?d[e].p(b,k):(it(),de(d[w],1,1,()=>{d[w]=null}),st(),t=d[e],t?t.p(b,k):(t=d[e]=c[e](b),t.c()),ae(t,1),t.m(n.parentNode,n));let E=i;i=y(b),i===E?h[i].p(b,k):(it(),de(h[E],1,1,()=>{h[E]=null}),st(),o=h[i],o?o.p(b,k):(o=h[i]=_[i](b),o.c()),ae(o,1),o.m(r.parentNode,r))},i(b){f||(ae(t),ae(o),f=!0)},o(b){de(t),de(o),f=!1},d(b){b&&(C(n),C(r)),d[e].d(b),h[i].d(b)}}}function Gd(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("common.loading")}`,s(t,"class","svelte-11f6xyi"),s(e,"class","empty-state svelte-11f6xyi")},m(n,i){S(n,e,i),a(e,t)},p:$,i:$,o:$,d(n){n&&C(e)}}}function Jd(l){let e,t;return e=new er({props:{crumbs:[{name:m("file.root")}]}}),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p:$,i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function qd(l){let e,t,n,i,o,r,f,c=m("common.backLabel")+"",d,v,_,h;return e=new er({props:{crumbs:[{name:m("file.root")},...l[65]]}}),e.$on("navigate",l[194]),{c(){Ge(e.$$.fragment),t=g(),n=u("button"),i=Y("svg"),o=Y("line"),r=Y("polyline"),f=g(),d=F(c),s(o,"x1","19"),s(o,"y1","12"),s(o,"x2","5"),s(o,"y2","12"),s(o,"class","svelte-11f6xyi"),s(r,"points","12 19 5 12 12 5"),s(r,"class","svelte-11f6xyi"),s(i,"width","14"),s(i,"height","14"),s(i,"viewBox","0 0 24 24"),s(i,"fill","none"),s(i,"stroke","currentColor"),s(i,"stroke-width","2"),s(i,"stroke-linecap","round"),s(i,"stroke-linejoin","round"),s(i,"class","svelte-11f6xyi"),s(n,"class","btn btn-sm back-btn svelte-11f6xyi")},m(y,b){Ke(e,y,b),S(y,t,b),S(y,n,b),a(n,i),a(i,o),a(i,r),a(n,f),a(n,d),v=!0,_||(h=I(n,"click",l[94]),_=!0)},p(y,b){const k={};b[2]&8&&(k.crumbs=[{name:m("file.root")},...y[65]]),e.$set(k)},i(y){v||(ae(e.$$.fragment,y),v=!0)},o(y){de(e.$$.fragment,y),v=!1},d(y){y&&(C(t),C(n)),xe(e,y),_=!1,h()}}}function Yd(l){let e,t=[],n=new Map,i,o=ce(l[66]);const r=f=>f[351].id;for(let f=0;f0?m("file.noFiles"):m("file.noFilesCase"))+"",r,f,c,d,v,_,h,y,b,k;return{c(){e=u("div"),t=u("div"),t.innerHTML='',n=g(),i=u("p"),r=F(o),f=g(),c=u("p"),c.textContent=`${m("file.hint")}`,d=g(),v=u("div"),_=u("button"),_.textContent=`${m("file.addFileSimple")}`,h=g(),y=u("button"),y.textContent=`${m("file.addFolderSimple")}`,s(t,"class","empty-icon svelte-11f6xyi"),s(i,"class","svelte-11f6xyi"),s(c,"class","hint svelte-11f6xyi"),s(_,"class","btn btn-primary svelte-11f6xyi"),s(y,"class","btn svelte-11f6xyi"),s(v,"class","empty-actions svelte-11f6xyi"),s(e,"class","empty-state svelte-11f6xyi")},m(w,E){S(w,e,E),a(e,t),a(e,n),a(e,i),a(i,r),a(e,f),a(e,c),a(e,d),a(e,v),a(v,_),a(v,h),a(v,y),b||(k=[I(_,"click",l[152]),I(y,"click",l[153])],b=!0)},p(w,E){E[2]&8&&o!==(o=(w[65].length>0?m("file.noFiles"):m("file.noFilesCase"))+"")&&B(r,o)},i:$,o:$,d(w){w&&C(e),b=!1,ve(k)}}}function uo(l,e){let t,n,i;return n=new qf({props:{item:e[351],selected:e[72].includes(e[351].id),onDragStart:e[107],onDragOver:e[108],onDrop:e[109]}}),n.$on("navigate",e[195]),n.$on("preview",e[196]),n.$on("openExternal",e[197]),n.$on("showInFolder",e[198]),n.$on("delete",e[199]),n.$on("rename",e[200]),n.$on("duplicate",e[201]),n.$on("cut",e[202]),n.$on("copy",e[203]),n.$on("selectOne",e[204]),n.$on("toggleSelect",e[205]),n.$on("rangeSelect",e[206]),{key:l,first:null,c(){t=ot(),Ge(n.$$.fragment),this.first=t},m(o,r){S(o,t,r),Ke(n,o,r),i=!0},p(o,r){e=o;const f={};r[2]&16&&(f.item=e[351]),r[2]&1040&&(f.selected=e[72].includes(e[351].id)),n.$set(f)},i(o){i||(ae(n.$$.fragment,o),i=!0)},o(o){de(n.$$.fragment,o),i=!1},d(o){o&&C(t),xe(n,o)}}}function po(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.scanning")}`,s(t,"class","svelte-11f6xyi"),s(e,"class","empty-state svelte-11f6xyi")},m(n,i){S(n,e,i),a(e,t)},d(n){n&&C(e)}}}function mo(l){let e,t;return e=new fu({props:{item:l[67],content:l[68],loading:l[69],error:l[70]}}),e.$on("close",l[97]),e.$on("openExternal",l[207]),{c(){Ge(e.$$.fragment)},m(n,i){Ke(e,n,i),t=!0},p(n,i){const o={};i[2]&32&&(o.item=n[67]),i[2]&64&&(o.content=n[68]),i[2]&128&&(o.loading=n[69]),i[2]&256&&(o.error=n[70]),e.$set(o)},i(n){t||(ae(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){xe(e,n)}}}function _o(l){let e,t,n,i,o,r,f,c,d;return{c(){e=u("div"),t=u("input"),n=g(),i=u("div"),o=u("button"),o.textContent=`${m("common.create")}`,r=g(),f=u("button"),f.textContent=`${m("common.cancel")}`,s(t,"type","text"),s(t,"placeholder",m("note.title")),s(t,"class","svelte-11f6xyi"),s(o,"class","btn btn-primary svelte-11f6xyi"),s(f,"class","btn svelte-11f6xyi"),s(i,"class","form-actions svelte-11f6xyi"),s(e,"class","create-form svelte-11f6xyi")},m(v,_){S(v,e,_),a(e,t),ge(t,l[53]),a(e,n),a(e,i),a(i,o),a(i,r),a(i,f),c||(d=[I(t,"input",l[190]),I(t,"keydown",l[191]),I(o,"click",l[132]),I(f,"click",l[131])],c=!0)},p(v,_){_[1]&4194304&&t.value!==v[53]&&ge(t,v[53])},d(v){v&&C(e),c=!1,ve(d)}}}function Xd(l){let e,t=ce(l[28]),n=[];for(let i=0;ide(Z[ee],1,1,()=>{Z[ee]=null});return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${m("nav.createNode")}`,i=g(),L&&L.c(),o=g(),r=u("div"),f=u("span"),f.textContent=`${m("template.select")}`,c=g(),d=u("div"),v=u("button"),Ge(_.$$.fragment),h=g(),y=u("div"),b=u("span"),b.textContent=`${m("template.optionNone")}`,k=g(),w=u("span"),w.textContent=`${m("template.none.desc")}`,E=g();for(let ee=0;ee{b=null}),st()),w[51].node&&w[51].node.parent_id?k?k.p(w,E):(k=No(w),k.c(),k.m(t,o)):k&&(k.d(1),k=null),(!_||E[1]&1048576)&&ft(t,"left",w[51].x+"px"),(!_||E[1]&1048576)&&ft(t,"top",w[51].y+"px")},i(w){_||(ae(b),_=!0)},o(w){de(b),_=!1},d(w){w&&C(e),b&&b.d(),k&&k.d(),h=!1,ve(y)}}}function Eo(l){let e,t,n,i,o,r=ce(l[6].length>0?l[6]:[{id:"",title:"template.optionNone",icon:"folder"}]),f=[];for(let d=0;dde(f[d],1,1,()=>{f[d]=null});return{c(){e=u("div"),e.textContent=`${m("common.create")}`,t=g();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let _;for(_=0;_l[290].call(k)),s(h,"class","svelte-11f6xyi"),s(_,"class","form-group svelte-11f6xyi"),s(D,"class","label-text svelte-11f6xyi"),s(M,"type","text"),s(M,"placeholder",R=l[56]==="open_url"?m("action.urlPlaceholder"):l[56]==="open_folder"||l[56]==="open_file"?m("action.pathPlaceholder"):m("action.commandPlaceholder")),s(M,"class","svelte-11f6xyi"),s(j,"class","svelte-11f6xyi"),s(E,"class","form-group svelte-11f6xyi"),s(x,"class","btn btn-primary svelte-11f6xyi"),s(q,"class","btn svelte-11f6xyi"),s(V,"class","modal-actions svelte-11f6xyi"),s(t,"class","modal svelte-11f6xyi"),s(e,"class","modal-overlay svelte-11f6xyi"),s(e,"role","button"),s(e,"tabindex","0")},m(K,L){S(K,e,L),a(e,t),a(t,n),a(t,i),a(t,o),a(o,r),a(r,f),a(r,c),a(r,d),ge(d,l[55]),a(t,v),a(t,_),a(_,h),a(h,y),a(h,b),a(h,k);for(let O=0;O{r[v]=null}),st(),t=r[e],t?t.p(c,d):(t=r[e]=o[e](c),t.c()),ae(t,1),t.m(n.parentNode,n))},i(c){i||(ae(t),i=!0)},o(c){de(t),i=!1},d(c){c&&C(n),r[e].d(c)}}}function se(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Ut(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Ut(n.children,e,t))return!0}return!1}function nr(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&nr(n.children,e,t))return!0}return!1}function Ol(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function il(l){try{se("WriteDebugLog",l)}catch{}}function Vl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function tt(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ot(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function rt(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function ep(l){try{const e=new URL(l);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}function ht(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function tp(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function ut(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function lp(l,e,t){let n=null,i=!1,o=!1,r=!1,f=!1,c=[],d=[],v=[],_=null,h=[],y=0,b=!0,k=[],w=null,E="",j="",D=!1,T="",N="all",A="all",M="",R="",W="",V=[],x=!1,J=[],q="",H="";function U(p){return{"vault not open":m("error.vaultNotOpen")}[p]||p}let G="",z=null,K="overview",L=[],O=null,Z=[],re=[],ee=[],ne=!1,le="",oe="",fe="",ke="",Be=!1,Fe=!1,Q=null,X=null,ue=[],we=0,me=[],je=!1,qe="",Ye=null,lt=!1,He="",Le=null,Ie=null,ye={visible:!1,x:0,y:0,node:null},Oe=!1,Ce="",Ve=!1,be="",Se="open_url",Te="",Ee=[{id:"open_url",label:m("action.openUrl")},{id:"open_file",label:m("action.openFile")},{id:"open_folder",label:m("action.openFolder")},{id:"run_command",label:m("action.runCommand")},{id:"run_script",label:m("action.runScript")},{id:"open_terminal",label:m("action.openTerminal")},{id:"launch_app",label:m("action.launchApp")}],Ae=!0,Ue=!1,Ne=null,_e=!1,te="",De="",Je={},ct=!1,Re=null,Me=[],Qe=[],Tt=null,Nt="",dl=!1,Gt="",pt={items:[],mode:"copy"},ze=[],Vt=[],pl=!1,ml=!1,Jl="",ql="",Yl=!1,Ql=m("common.delete"),Jt=null,qt=null,Yt=!1,Qt="",Dt="",Mt="",_l=null,vl=!1,Wt="",Xt="";const ir=[{id:"overview",label:m("tab.overview")},{id:"notes",label:m("tab.notes")},{id:"files",label:m("tab.files")},{id:"actions",label:m("tab.actions")},{id:"worklog",label:m("tab.worklog")},{id:"activity",label:m("tab.activity")}];let hl=null;Vo(async()=>{try{if(t(0,n=await se("GetStartupStatus")),i=!0,n.status==="first_run"){t(1,o=!0),t(58,Ae=!1);return}if(n.status==="recovery"){t(2,r=!0),t(58,Ae=!1);return}}catch(p){t(24,H=String(p))}try{t(23,q=await se("VerstakVersion")||"verstak-gui/v2"),t(4,c=await se("ListSystemViews")||[]),t(5,d=await se("ListWorkspaceTree")||[]),t(6,v=await se("ListEnabledTemplates")||[])}catch(p){t(24,H=String(p)),t(4,c=[{id:"today",label:m("nav.today")},{id:"inbox",label:m("nav.inbox")},{id:"activity",label:m("nav.activity")}]),t(5,d=[]),t(6,v=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Vr),hl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",fn),t(58,Ae=!1),Al()}),Gl(()=>{hl&&hl(),window.removeEventListener("keydown",fn)});async function Xl(p){t(25,G=p),t(26,z=null),t(27,K="overview"),t(28,L=[]),Z=[],t(30,re=[]),t(31,ee=[]),t(41,ue=[]),t(43,me=[]),t(46,Ye=null),t(47,lt=!1),t(24,H=""),t(7,_=null),t(8,h=[]),y=0,b=!0,t(9,k=[]),t(10,w=null);try{p==="today"?(t(7,_=await se("ListTodayView")||{cases:[]}),t(41,ue=await se("GetSuggestions")||[]),t(42,we=ue.length)):p==="inbox"?t(43,me=await se("ListInboxNodes")||[]):p==="trash"?t(46,Ye=await se("ListTrash")||{nodes:[],entries:[],trashPath:""}):p==="journal"?await bt():p==="activity"&&(t(8,h=await se("ListActivityFeed",50,0)||[]),y=h.length,b=h.length===50)}catch(P){t(24,H=String(P)),t(7,_={cases:[]}),t(43,me=[]),t(46,Ye=null),t(8,h=[])}}async function gt(p){t(26,z=p),t(27,K="overview"),t(28,L=[]),Z=[],t(30,re=[]),t(31,ee=[]),t(41,ue=[]),t(66,Qe=[]),t(65,Me=[]),t(64,Re=null),t(67,Tt=null),t(68,Nt=""),t(72,ze=[]),Vt=[],t(29,O=null),t(47,lt=!1),t(52,Oe=!1),t(24,H=""),t(22,J=[]),await Zl(p.id)}async function Zl(p){try{t(28,L=await se("ListNotes",p)||[])}catch{}try{Z=await se("ListFiles",p)||[]}catch{}try{t(30,re=await se("ListActions",p)||[])}catch{}try{t(31,ee=Vl(await se("ListWorklog",p)))}catch{}try{t(41,ue=await se("GetSuggestions")||[]),t(42,we=ue.length)}catch{t(41,ue=[]),t(42,we=0)}try{t(22,J=await se("ListActivityByNode",p,50,0)||[])}catch{}}async function nt(p){t(63,ct=!0);try{let P=await se("ListItems",p)||[];P.sort((ie,pe)=>ie.type!==pe.type?ie.type==="folder"?-1:1:(ie.name||"").localeCompare(pe.name||"")),t(66,Qe=P)}catch{t(66,Qe=[])}t(63,ct=!1)}async function gl(p){if(!z)return;try{const ie=await se("GetNodeDetail",p);ie&&t(65,Me=[...Me,{id:p,name:ie.title}])}catch{t(65,Me=[...Me,{id:p,name:"..."}])}t(64,Re=p),t(62,Je={...Je,[p]:!0});const P=await se("ListWorkspaceChildren",p)||[];Ut(d,p,P),t(5,d=[...d]),await nt(p)}function $l(){if(Me.length<2)t(65,Me=[]),t(64,Re=null),nt(z.id);else{const p=Me[Me.length-2];t(65,Me=Me.slice(0,-1)),t(64,Re=p.id),nt(p.id)}}function en(p){const P=Me[p];t(65,Me=Me.slice(0,p+1)),t(64,Re=P.id),nt(P.id)}async function Zt(p){t(67,Tt=p),t(68,Nt=""),t(70,Gt=""),t(69,dl=!0);try{Wf(p)?t(68,Nt=await se("GetFileBase64",p.fileId)||""):Bf(p)&&t(68,Nt=await se("ReadFileText",p.fileId)||"")}catch(P){t(70,Gt=String(P))}t(69,dl=!1)}function yl(){t(67,Tt=null),t(68,Nt=""),t(70,Gt="")}async function sr(){const p=prompt(m("file.namePrompt"));if(!(!p||!p.trim()))try{const P=Re||z.id;await se("CreateEmptyFile",P,p.trim()),await nt(P),await wl(P)}catch(P){t(24,H=String(P))}}async function tn(p){try{await se("DuplicateNode",p);const P=Re||z.id;await nt(P),await wl(P)}catch(P){t(24,H=String(P))}}function ln(p){const P=Qe.find(ie=>ie.id===p);P&&kl(P.id,P.name)}function nn(p){t(71,pt={items:[p],mode:"cut"})}function sn(p){t(71,pt={items:[p],mode:"copy"})}async function on(){if(pt.items.length===0)return;const p=Re||z.id;try{if(pt.mode==="copy")for(const P of pt.items)await se("DuplicateNode",P);else for(const P of pt.items)await se("MoveNode",P,p);t(71,pt={items:[],mode:"copy"}),await nt(p)}catch(P){t(24,H=String(P))}}function rn(p){ze.includes(p)?t(72,ze=ze.filter(P=>P!==p)):t(72,ze=[...ze,p])}function an(p){t(72,ze=[p])}function or(){t(72,ze=Qe.map(p=>p.id))}function cn(p){if(Qe.length===0)return;const P=ze.length>0?ze[ze.length-1]:Qe[0].id,ie=Qe.findIndex(Ct=>Ct.id===P),pe=Qe.findIndex(Ct=>Ct.id===p);if(ie===-1||pe===-1)return;const et=Math.min(ie,pe),at=Math.max(ie,pe),Pl=Qe.slice(et,at+1).map(Ct=>Ct.id),In=new Set(ze);Pl.forEach(Ct=>In.add(Ct)),t(72,ze=[...In])}function rr(){t(72,ze=[])}function bl(p){return p.length>0?p:Qe.map(P=>P.id)}async function ar(){const p=bl(ze),P=Qe.find(pe=>pe.id===p[0]);let ie;p.length===1&&(P==null?void 0:P.type)==="folder"?ie=m("delete.folder"):p.length===1?ie=m("delete.file"):ie=m("delete.files",{count:p.length}),It({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ie+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{for(const et of p)try{await se("DeleteFileOrFolder",et)}catch(at){t(24,H=String(at))}t(72,ze=[]);const pe=Re||z.id;await nt(pe)}})}function cr(){const p=bl(ze);t(71,pt={items:p,mode:"cut"}),t(72,ze=[])}function fr(){const p=bl(ze);t(71,pt={items:p,mode:"copy"}),t(72,ze=[])}function ur(p,P){const ie=ze.includes(P)?ze:[P];Vt=ie,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",ie.join(","))}function dr(p,P){const ie=Qe.find(pe=>pe.id===P);ie&&ie.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function pr(p,P){if(p.preventDefault(),Vt.length!==0){for(const ie of Vt)try{await se("MoveNode",ie,P)}catch(pe){t(24,H=String(pe))}Vt=[],t(72,ze=[]),await nt(Re||z.id)}}function fn(p){if(!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA")){if(G==="inbox"&&(p.ctrlKey||p.metaKey)&&(p.key==="v"||p.key==="V")){p.preventDefault(),Nn();return}if(K==="files")if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),fr()):p.key==="x"||p.key==="X"?(p.preventDefault(),cr()):p.key==="v"||p.key==="V"?(p.preventDefault(),on()):p.key==="a"||p.key==="A"?(p.preventDefault(),or()):p.key==="o"||p.key==="O"?(p.preventDefault(),mr()):p.key==="Enter"&&(p.preventDefault(),un());else if(p.key==="Enter")p.preventDefault(),un();else if(p.key==="Delete"||p.key==="Backspace"){if(Tt){p.preventDefault(),yl();return}if(ze.length>0){p.preventDefault(),ar();return}if(p.key==="Backspace"&&Me.length>0){p.preventDefault(),$l();return}}else if(p.key==="Escape"){if(Tt){yl();return}if(ze.length>0){rr();return}}else p.key==="F2"&&(p.preventDefault(),_r())}}function un(){if(ze.length===1){const p=Qe.find(P=>P.id===ze[0]);p&&(p.type==="folder"?gl(p.id):Zt(p))}}function mr(){if(ze.length===1){const p=Qe.find(P=>P.id===ze[0]);p&&p.fileId&&se("OpenFile",p.fileId)}}function kl(p,P){Qt=p,t(80,Dt=P),t(81,Mt=""),t(79,Yt=!0)}function _r(){if(ze.length===1){const p=Qe.find(P=>P.id===ze[0]);p&&kl(p.id,p.name)}}async function dn(){const p=Dt.trim();if(!p){t(81,Mt=m("rename.emptyError"));return}try{await se("ValidateName",p)}catch{t(81,Mt=m("rename.invalidError"));return}t(79,Yt=!1);const P=Qt;Qt="";try{await se("RenameNode",P,p),z&&z.id===P&&t(26,z={...z,title:p}),await Bt(),Re&&await nt(Re)}catch(ie){t(24,H=String(ie))}}function vr(){t(79,Yt=!1),Qt="",t(80,Dt=""),t(81,Mt="")}function hr(p){p.key==="Enter"?dn():t(81,Mt="")}function It(p){t(75,Jl=p.title||m("common.confirm")),t(76,ql=p.message||""),t(77,Yl=p.danger!==void 0?p.danger:!0),t(78,Ql=p.confirmText||m("common.delete")),Jt=p.onConfirm||null,qt=p.onCancel||null,t(74,ml=!0)}function pn(){t(74,ml=!1),Jt=null,qt=null}function gr(){Jt&&Jt(),pn()}function yr(){qt&&qt(),pn()}function mn(p){t(49,Le=ye.node),t(50,Ie=p),t(48,He=""),t(47,lt=!0),At()}function br(){t(49,Le=null),t(50,Ie=void 0),t(48,He=""),t(47,lt=!0)}function kr(){t(47,lt=!1),t(48,He=""),t(49,Le=null),t(50,Ie=void 0)}async function _n(){if(!(!He.trim()||Ie===void 0))try{const p=Le?Le.id:"",P=Ie?Ie.id:"",ie=await se("CreateNodeFromTemplate",p,He.trim(),P);t(47,lt=!1),t(48,He="");const pe=ie?ie.id:null;if(t(49,Le=null),t(50,Ie=void 0),p){t(62,Je={...Je,[p]:!0});const et=await se("ListWorkspaceChildren",p)||[];Ut(d,p,et),t(5,d=[...d])}else t(5,d=await se("ListWorkspaceTree")||d);if(pe){const et=await se("GetNodeDetail",pe);et&&(t(25,G=""),gt(et))}}catch(p){t(24,H=String(p))}}function wr(p,P){t(51,ye={visible:!0,x:p.clientX,y:p.clientY,node:P})}function At(){t(51,ye={visible:!1,x:0,y:0,node:null})}async function Cr(p){const P=!Je[p];if(t(62,Je={...Je,[p]:P}),!P)return;const ie=await se("ListWorkspaceChildren",p)||[];Ut(d,p,ie),t(5,d=[...d])}async function Sr(p,P){if(!(!p||!P||p===P))try{const ie=await se("MoveNode",p,P);await Bt();const pe=await se("GetNodeDetail",p);pe&&(t(25,G=""),gt(pe))}catch(ie){t(24,H=String(ie))}}async function jr(p){p.preventDefault();try{const P=p.dataTransfer.getData("text/plain");if(!P)return;const ie=await se("GetNodeDetail",P);if(!ie||!ie.parent_id)return;await se("MoveNode",P,""),await Bt();const pe=await se("GetNodeDetail",P);pe&&(t(25,G=""),gt(pe))}catch(P){t(24,H=String(P))}}function Er(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(73,pl=!0)}function Tr(p){t(73,pl=!1)}function vn(p){kl(p.id,p.title),At()}function hn(p){At(),It({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+p.title+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteNode",p.id),await Bt(),z&&z.id===p.id&&t(26,z=null)}catch(P){t(24,H=String(P))}}})}async function yt(p){At();const P=typeof p=="string"?p:p.id;try{await se("OpenFolder",P)}catch(ie){t(24,H=String(ie))}}async function gn(p){At();try{await se("MoveNode",p.id,""),await Bt();const P=await se("GetNodeDetail",p.id);P&&(t(25,G=""),gt(P))}catch(P){t(24,H=String(P))}}async function Bt(){const p=Object.keys(Je).filter(ie=>Je[ie]),P=await se("ListWorkspaceTree")||[];for(const ie of p){const et=(await se("ListWorkspaceChildren",ie)||[]).map(at=>({...at}));nr(P,ie,et)}t(5,d=P)}async function wl(p){const P=await se("ListWorkspaceChildren",p)||[];Ut(d,p,P),t(5,d=[...d])}function yn(){t(52,Oe=!0),t(53,Ce="")}function Nr(){t(52,Oe=!1),t(53,Ce="")}async function bn(){if(!(!Ce.trim()||!z))try{const p=await se("CreateNote",z.id,Ce.trim());t(28,L=[...L,p&&p.id?p:{id:Date.now().toString(),title:Ce.trim(),createdAt:new Date().toISOString()}]),t(52,Oe=!1),t(53,Ce="")}catch{const P={id:Date.now().toString(),title:Ce.trim(),createdAt:new Date().toISOString()};t(28,L=[...L,P]),t(52,Oe=!1),t(53,Ce="")}}async function Ft(p){if(O&&O.dirty){It({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:async()=>{await kn(p)}});return}await kn(p)}async function kn(p){try{const P=await se("ReadNote",p.id);t(29,O={id:p.id,title:p.title,content:P||"",dirty:!1})}catch{t(29,O={id:p.id,title:p.title,content:"# "+p.title+` - -`,dirty:!1})}}function Dr(){if(O&&O.dirty){It({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,O=null)}});return}t(29,O=null)}function Mr(p){O&&(t(29,O.content=p.target.value,O),t(29,O.dirty=!0,O))}async function Ir(){if(O)try{await se("SaveNote",O.id,O.content),t(29,O.dirty=!1,O)}catch{t(29,O.dirty=!1,O)}}function $t(p=null){t(39,Q=p),t(40,X=null),t(33,le=p?p.summary:""),t(34,oe=p?String(p.minutes||""):""),t(35,fe=p&&p.date||""),t(36,ke=p&&p.details||""),t(37,Be=p?!!p.billable:!1),t(38,Fe=p?!!p.approximate:!1),t(32,ne=!0)}function Ar(){t(32,ne=!1),t(39,Q=null),t(40,X=null)}async function Cl(p=""){const P=p||(z?z.id:"");z&&z.id===P&&t(31,ee=Vl(await se("ListWorklog",z.id))||ee),G==="journal"&&await bt()}async function Fr(){const p=parseInt(oe,10);if(!(!le.trim()||isNaN(p)||p<=0)&&!(!X&&!Q&&!z)){try{if(X){const P=JSON.stringify(Ol(X));await se("AcceptSuggestionFull",X.nodeId,le.trim(),ke,fe,p,Fe,Be,P),await jl()}else Q?(await se("UpdateWorklogEntry",Q.id,le.trim(),ke,fe,p,Fe,Be),await Cl(Q.nodeId)):(await se("CreateWorklogFull",z.id,le.trim(),ke,fe,p,Fe,Be),await Cl(z.id))}catch(P){t(24,H=String(P));return}t(32,ne=!1),t(39,Q=null),t(40,X=null)}}function Sl(p){It({title:m("worklog.deleteEntry"),message:m("worklog.deleteConfirm"),confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteWorklogEntry",p.id),await Cl(p.nodeId)}catch(P){t(24,H=String(P))}}})}async function jl(){t(41,ue=await se("GetSuggestions")||[]),t(42,we=ue.length),z&&t(31,ee=Vl(await se("ListWorklog",z.id))),G==="journal"&&await bt()}function el(p){t(40,X=p),t(39,Q=null),t(33,le=p.summary||""),t(34,oe=String(p.suggestedMin||"")),t(35,fe=""),t(36,ke=""),t(37,Be=!1),t(38,Fe=!0),t(32,ne=!0)}async function El(p){try{const P=Ol(p),ie=JSON.stringify(P);il("acceptTodaySuggestion: nodeId="+p.nodeId+" eventIds="+ie+" events="+JSON.stringify((p.events||[]).map(pe=>({id:pe.id,type:pe.eventType,title:pe.title})))),await se("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",ie),await jl()}catch(P){il("acceptTodaySuggestion error: "+P)}}async function wn(p){try{const P=Ol(p),ie=JSON.stringify(P);il("acceptJournalSuggestion: nodeId="+p.nodeId+" eventIds="+ie+" events="+JSON.stringify((p.events||[]).map(pe=>({id:pe.id,type:pe.eventType,title:pe.title})))),await se("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",ie),await jl()}catch(P){il("acceptJournalSuggestion error: "+P)}}async function bt(){try{const[p,P,ie]=await Promise.all([se("ListWorklogReport",E,j,T,D,N,A),se("WorklogReportSummary",E,j,T,D,N,A),se("GetSuggestions")]);if(t(9,k=(p||[]).map(pe=>(pe._expanded===void 0&&(pe._expanded=!1),pe))),t(10,w=P||null),t(41,ue=ie||[]),t(42,we=ue.length),T&&!M)if(p&&p.length>0&&p[0].nodePath)t(17,M=p[0].nodePath);else try{t(17,M=await se("GetNodeTitle",T))}catch{t(17,M="")}}catch{t(9,k=[]),t(10,w=null),t(41,ue=[]),t(42,we=0)}}async function tl(p){try{const P=await se("SaveWorklogReport",p,E,j,T,D,N,A);t(18,R=P),setTimeout(()=>t(18,R=""),4e3)}catch(P){if(String(P).includes("отменено"))return;t(18,R="Ошибка: "+String(P)),setTimeout(()=>t(18,R=""),6e3)}}let Cn;async function Tl(p){if(p._expanded=!p._expanded,t(9,k),p._expanded&&!p._events&&p._hasEvents===void 0)try{p._events=await se("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0,t(9,k)}catch{p._events=[],p._hasEvents=!1,t(9,k)}}async function Nl(p){if(p._expanded=!p._expanded,p._expanded&&p.source==="suggestion"&&!p._events&&p._hasEvents===void 0)try{p._events=await se("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0}catch(P){P._events=[],P._hasEvents=!1}t(31,ee)}async function Pr(){const p=W.trim();if(!p||p.length<2){t(20,V=[]),t(21,x=!1);return}try{t(20,V=await se("SearchNodes",p)||[]),t(21,x=V.length>0)}catch{t(20,V=[]),t(21,x=!1)}}function Lr(){clearTimeout(Cn),Cn=setTimeout(Pr,200)}function Sn(p){t(14,T=p.id),t(17,M=p.path||p.title),t(13,D=!0),t(19,W=""),t(20,V=[]),t(21,x=!1),bt()}function jn(){t(14,T=""),t(13,D=!1),t(17,M=""),t(19,W=""),t(20,V=[]),t(21,x=!1),bt()}function Rr(){t(11,E=""),t(12,j=""),t(14,T=""),t(13,D=!1),t(15,N="all"),t(16,A="all"),t(17,M=""),t(19,W=""),t(20,V=[]),t(21,x=!1),bt()}async function En(){const p=await se("PickFile");if(!p)return;const P=Re||z.id;await Dl(P,p)}async function zr(){const p=await se("PickDirectory");if(!p)return;const P=Re||z.id;await Dl(P,p)}async function Dl(p,P){t(59,Ue=!0);try{const ie=await se("PreviewImport",P);t(60,Ne=ie),te=P,De=p,t(61,_e=!0)}catch(ie){t(24,H=String(ie))}t(59,Ue=!1)}async function Ml(p){try{const P=De||z.id,ie=p==="copy"?await se("AddPathCopy",P,te):await se("AddPathLink",P,te);t(61,_e=!1),t(60,Ne=null),t(65,Me=[]),t(64,Re=null),await Promise.all([Zl(P),nt(P),wl(P)])}catch(P){t(24,H=String(P))}}function Or(){t(61,_e=!1),t(60,Ne=null)}async function Tn({id:p,type:P}){const ie=m(P==="folder"?"delete.folder":"delete.file");It({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ie+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await se("DeleteFileOrFolder",p),Z=Z.filter(et=>et.nodeId!==p);const pe=Re||z.id;await nt(pe)}catch(pe){t(24,H=String(pe))}}})}async function Vr(p){if(!p||p.length===0)return;if(!z){t(24,H=m("error.selectCaseFirst"));return}const P=p[0];await Dl(z.id,P)}function Wr(p){return{note_created:m("event.noteCreated"),note_updated:m("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:m("event.fileAdded"),file_deleted:m("event.fileDeleted"),file_renamed:m("event.fileRenamed"),file_copied:m("event.fileCopied"),file_moved:m("event.fileMoved"),folder_added:m("event.folderAdded"),folder_deleted:m("event.folderDeleted"),folder_renamed:m("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:m("event.caseCreated"),node_updated:m("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[p]||p}function Br(p){return{project:m("kind.project"),client:m("kind.client"),document:m("kind.document"),recipe:m("kind.recipe"),folder:m("kind.folder"),note:m("kind.note"),file:m("kind.file"),archive:m("kind.archive"),case:m("kind.case")}[p]||p||m("kind.case")}function Hr(p){return p?m("capture.kind."+p):""}function Ur(p){return p?m("capture.source."+p):""}async function Nn(){if(!je){if(t(45,qe=""),!navigator.clipboard||typeof navigator.clipboard.readText!="function"){t(24,H=m("inbox.clipboardUnavailable"));return}t(44,je=!0);try{const p=(await navigator.clipboard.readText()).trim();if(!p){t(45,qe=m("inbox.clipboardEmpty"));return}const P=ep(p)?await se("CaptureURL",p,""):await se("CaptureText",p);t(43,me=[P,...me.filter(ie=>ie.id!==P.id)]),t(45,qe=m("inbox.captured"))}catch(p){t(24,H=String(p))}finally{t(44,je=!1)}}}function Kr(){t(54,Ve=!0),t(55,be=""),t(56,Se="open_url"),t(57,Te="")}function xr(){t(54,Ve=!1),t(55,be=""),t(57,Te="")}async function Il(){if(!(!be.trim()||!Te.trim()||!z))try{const p=await se("CreateAction",z.id,Se,be.trim(),Te.trim());p&&p.id&&t(30,re=[...re,p]),t(54,Ve=!1),t(55,be=""),t(57,Te="")}catch(p){t(24,H=String(p))}}async function Dn(p){try{await se("DeleteAction",p),t(30,re=re.filter(P=>P.id!==p))}catch(P){t(24,H=String(P))}}function Gr(p){const P=Ee.find(ie=>ie.id===p);return P?P.label:p}async function dt(p){try{const P=await se("GetNodeDetail",p);P&>(P)}catch(P){t(24,H=String(P))}}async function kt(p){const P=tp(p),ie=P.nodeId;if(ie)try{const pe=await se("GetNodeDetail",ie);if(!pe)return;if(gt(pe),P.tab==="notes"){if(t(27,K="notes"),P.targetId){try{t(28,L=await se("ListNotes",ie)||[])}catch{}const et=L.find(at=>at.id===P.targetId);et&&setTimeout(()=>Ft(et),100)}}else if(P.tab==="files")if(t(27,K="files"),P.targetId)try{const et=await se("GetNodeDetail",P.targetId);if(et&&et.parent_id){await nt(et.parent_id);const at=Qe.find(Pl=>Pl.id===P.targetId);at&&at.type==="file"&&Vf(at)&&setTimeout(()=>Zt(at),150)}else await nt(ie)}catch{await nt(ie)}else await nt(ie)}catch(pe){t(24,H=String(pe))}}async function wt(p){return kt(p)}async function Al(){try{t(82,_l=await se("SyncStatus"))}catch{t(82,_l={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let Mn="general";function Fl(p){t(86,Mn=p||"general"),t(3,f=!0)}function Jr(){t(3,f=!1)}function qr(p){const P=Array.isArray(p==null?void 0:p.conflicts)?p.conflicts:[],ie=Array.isArray(p==null?void 0:p.applyErrors)?p.applyErrors:[],pe=[];return P.length>0&&pe.push(m("sync.conflictsCount",{count:P.length})),ie.length>0&&pe.push(m("sync.applyErrorsCount",{count:ie.length})),pe.join(" · ")}async function Yr(){t(83,vl=!0),t(84,Wt=""),t(85,Xt="");try{const p=await se("SyncNow");await Al(),t(84,Wt=qr(p)),t(85,Xt=Wt?"warning":"")}catch(p){console.error("sync error:",p),t(84,Wt=`${m("sync.status.error")}: ${(p==null?void 0:p.message)||p}`),t(85,Xt="warning")}finally{t(83,vl=!1)}}function Qr(p){t(1,o=!1),t(0,n=p),t(58,Ae=!1),window.location.reload()}function Xr(p){t(2,r=!1),t(0,n=p),t(58,Ae=!1),window.location.reload()}const Zr=p=>p.nodeId===z.id,$r=p=>Xl(p.id),ea=()=>Fl("sync"),ta=()=>Fl(),la=()=>t(24,H=""),na=()=>t(24,H=""),ia=()=>t(24,H="");function sa(){O.content=this.value,t(29,O)}const oa=p=>{t(27,K=p.id),p.id==="files"&&z&&Qe.length===0&&!Re&&nt(z.id)},ra=()=>{t(27,K="notes"),yn()},aa=()=>{t(27,K="files"),En()},ca=()=>t(27,K="worklog"),fa=p=>Ft(p),ua=p=>Ft(p);function da(){Ce=this.value,t(53,Ce)}const pa=p=>p.key==="Enter"&&bn(),ma=p=>Ft(p),_a=p=>Ft(p),va=p=>{const P=p.detail;P===0?(t(65,Me=[]),t(64,Re=null),nt(z.id)):en(P-1)},ha=p=>gl(p.detail),ga=p=>Zt(p.detail),ya=p=>se("OpenFile",p.detail),ba=p=>se("OpenFolder",p.detail),ka=p=>Tn(p.detail),wa=p=>ln(p.detail.id),Ca=p=>tn(p.detail),Sa=p=>nn(p.detail),ja=p=>sn(p.detail),Ea=p=>an(p.detail),Ta=p=>rn(p.detail),Na=p=>cn(p.detail),Da=p=>se("OpenFile",p.detail),Ma=p=>se("RunAction",p.id),Ia=p=>Dn(p.id),Aa=()=>$t(),Fa=p=>p.nodeId===z.id,Pa=p=>el(p),La=p=>El(p),Ra=(p,P,ie)=>t(41,P[ie]._expanded=!p._expanded,ue,t(26,z)),za=(p,P,ie,pe)=>pe.key==="Enter"&&t(41,P[ie]._expanded=!p._expanded,ue,t(26,z)),Oa=p=>kt(p),Va=p=>yt(p.nodeId),Wa=p=>$t(p),Ba=p=>Sl(p),Ha=p=>kt(p),Ua=p=>yt(p.nodeId),Ka=p=>Nl(p),xa=(p,P)=>P.key==="Enter"&&Nl(p),Ga=p=>wt(p),Ja=(p,P)=>P.key==="Enter"&&wt(p),qa=p=>dt(p.id),Ya=p=>yt(p),Qa=p=>dt(p.id),Xa=(p,P)=>P.key==="Enter"&&dt(p.id),Za=()=>se("OpenTrashFolder");function $a(){E=this.value,t(11,E)}function ec(){j=this.value,t(12,j)}const tc=()=>{t(19,W=""),t(17,M=""),jn()};function lc(){W=this.value,t(19,W)}const nc=()=>setTimeout(()=>t(21,x=!1),200),ic=p=>Sn(p);function sc(){D=this.checked,t(13,D)}function oc(){N=sl(this),t(15,N)}function rc(){A=sl(this),t(16,A)}const ac=()=>tl("csv"),cc=()=>tl("markdown"),fc=()=>tl("pdf"),uc=p=>dt(p.nodeId),dc=(p,P,ie,pe)=>t(41,P[ie].suggestedMin=parseInt(pe.target.value),ue),pc=p=>el(p),mc=p=>wn(p),_c=(p,P,ie)=>t(41,P[ie]._expanded=!p._expanded,ue),vc=(p,P,ie,pe)=>pe.key==="Enter"&&t(41,P[ie]._expanded=!p._expanded,ue),hc=p=>kt(p),gc=p=>yt(p.nodeId),yc=p=>dt(p.nodeId),bc=p=>Tl(p),kc=(p,P)=>P.key==="Enter"&&Tl(p),wc=p=>$t(p),Cc=p=>Sl(p),Sc=p=>kt(p),jc=p=>dt(p.nodeId),Ec=(p,P,ie,pe)=>t(41,P[ie].suggestedMin=parseInt(pe.target.value),ue),Tc=p=>el(p),Nc=p=>El(p),Dc=(p,P,ie)=>t(41,P[ie]._expanded=!p._expanded,ue),Mc=(p,P,ie,pe)=>pe.key==="Enter"&&t(41,P[ie]._expanded=!p._expanded,ue),Ic=p=>kt(p),Ac=p=>yt(p.nodeId),Fc=p=>dt(p.nodeId),Pc=(p,P)=>P.key==="Enter"&&dt(p.nodeId),Lc=p=>dt(p.nodeId),Rc=(p,P)=>P.key==="Enter"&&dt(p.nodeId),zc=p=>wt(p),Oc=(p,P)=>P.key==="Enter"&&wt(p),Vc=p=>wt(p),Wc=(p,P)=>P.key==="Enter"&&wt(p),Bc=()=>t(50,Ie=null),Hc=p=>t(50,Ie=p);function Uc(){He=this.value,t(48,He)}const Kc=p=>p.key==="Enter"&&_n(),xc=p=>mn(p),Gc=()=>gn(ye.node),Jc=()=>vn(ye.node),qc=()=>hn(ye.node),Yc=()=>yt(ye.node);function Qc(){fe=this.value,t(35,fe)}function Xc(){le=this.value,t(33,le)}function Zc(){oe=cl(this.value),t(34,oe)}function $c(){ke=this.value,t(36,ke)}function ef(){Be=this.checked,t(37,Be)}function tf(){Fe=this.checked,t(38,Fe)}function lf(){be=this.value,t(55,be)}const nf=p=>p.key==="Enter"&&Il();function sf(){Se=sl(this),t(56,Se),t(88,Ee)}function of(){Te=this.value,t(57,Te)}const rf=p=>p.key==="Enter"&&Il(),af=()=>Ml("copy"),cf=()=>Ml("link");function ff(){Dt=this.value,t(80,Dt)}return[n,o,r,f,c,d,v,_,h,k,w,E,j,D,T,N,A,M,R,W,V,x,J,q,H,G,z,K,L,O,re,ee,ne,le,oe,fe,ke,Be,Fe,Q,X,ue,we,me,je,qe,Ye,lt,He,Le,Ie,ye,Oe,Ce,Ve,be,Se,Te,Ae,Ue,Ne,_e,Je,ct,Re,Me,Qe,Tt,Nt,dl,Gt,pt,ze,pl,ml,Jl,ql,Yl,Ql,Yt,Dt,Mt,_l,vl,Wt,Xt,Mn,U,Ee,ir,Xl,gt,nt,gl,$l,en,Zt,yl,sr,tn,ln,nn,sn,on,rn,an,cn,ur,dr,pr,dn,vr,hr,gr,yr,mn,br,kr,_n,wr,At,Cr,Sr,jr,Er,Tr,vn,hn,yt,gn,yn,Nr,bn,Ft,Dr,Mr,Ir,$t,Ar,Fr,Sl,el,El,wn,bt,tl,Tl,Nl,Lr,Sn,jn,Rr,En,zr,Ml,Or,Tn,Wr,Br,Hr,Ur,Nn,Kr,xr,Il,Dn,Gr,dt,kt,wt,Al,Fl,Jr,Yr,Qr,Xr,Zr,$r,ea,ta,la,na,ia,sa,oa,ra,aa,ca,fa,ua,da,pa,ma,_a,va,ha,ga,ya,ba,ka,wa,Ca,Sa,ja,Ea,Ta,Na,Da,Ma,Ia,Aa,Fa,Pa,La,Ra,za,Oa,Va,Wa,Ba,Ha,Ua,Ka,xa,Ga,Ja,qa,Ya,Qa,Xa,Za,$a,ec,tc,lc,nc,ic,sc,oc,rc,ac,cc,fc,uc,dc,pc,mc,_c,vc,hc,gc,yc,bc,kc,wc,Cc,Sc,jc,Ec,Tc,Nc,Dc,Mc,Ic,Ac,Fc,Pc,Lc,Rc,zc,Oc,Vc,Wc,Bc,Hc,Uc,Kc,xc,Gc,Jc,qc,Yc,Qc,Xc,Zc,$c,ef,tf,lf,nf,sf,of,rf,af,cf,ff]}class np extends $e{constructor(e){super(),Ze(this,e,lp,$d,Xe,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new np({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index 063992c..eaafd19 100644 --- a/cmd/verstak-gui/frontend-dist/index.html +++ b/cmd/verstak-gui/frontend-dist/index.html @@ -16,8 +16,8 @@ background: #13131f; } - - + +
diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index f9dae35..53547fa 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -137,6 +137,7 @@ let selectedIds = [] let dragIds = [] let dropRootValid = false + let inboxDropValid = false let showConfirm = false let confirmTitle = '' @@ -1335,6 +1336,10 @@ // ===== Drag-and-drop ===== async function onFilesDropped(paths) { if (!paths || paths.length === 0) return + if (selectedSection === 'inbox') { + await captureDroppedPaths(paths) + return + } if (!selectedNode) { error = t('error.selectCaseFirst') return @@ -1391,6 +1396,10 @@ if (!source) return '' return t('capture.source.' + source) } + function addInboxCapture(item) { + if (!item || !item.id) return + inboxNodes = [item, ...inboxNodes.filter(existing => existing.id !== item.id)] + } function looksLikeURL(value) { try { const parsed = new URL(value) @@ -1399,6 +1408,43 @@ return false } } + function extensionForMime(type) { + const map = { + 'image/png': 'png', + 'image/jpeg': 'jpg', + 'image/gif': 'gif', + 'image/webp': 'webp', + } + return map[type] || 'bin' + } + function blobToBase64(blob) { + return new Promise((resolve, reject) => { + const reader = new FileReader() + reader.onload = () => { + const value = String(reader.result || '') + const comma = value.indexOf(',') + resolve(comma >= 0 ? value.slice(comma + 1) : value) + } + reader.onerror = () => reject(reader.error) + reader.readAsDataURL(blob) + }) + } + async function captureClipboardFile() { + if (!navigator.clipboard || typeof navigator.clipboard.read !== 'function') return false + const items = await navigator.clipboard.read() + for (const item of items || []) { + const type = (item.types || []).find(value => value.startsWith('image/')) + if (!type) continue + const blob = await item.getType(type) + const filename = blob.name || `clipboard.${extensionForMime(type)}` + const data = await blobToBase64(blob) + const captured = await wailsCall('CaptureFileData', filename, data) + addInboxCapture(captured) + inboxCaptureStatus = t('inbox.captured') + return true + } + return false + } async function captureClipboard() { if (inboxCaptureBusy) return inboxCaptureStatus = '' @@ -1408,6 +1454,7 @@ } inboxCaptureBusy = true try { + if (await captureClipboardFile()) return const text = (await navigator.clipboard.readText()).trim() if (!text) { inboxCaptureStatus = t('inbox.clipboardEmpty') @@ -1416,7 +1463,7 @@ const item = looksLikeURL(text) ? await wailsCall('CaptureURL', text, '') : await wailsCall('CaptureText', text) - inboxNodes = [item, ...inboxNodes.filter(existing => existing.id !== item.id)] + addInboxCapture(item) inboxCaptureStatus = t('inbox.captured') } catch (e) { error = String(e) @@ -1424,6 +1471,39 @@ inboxCaptureBusy = false } } + async function captureDroppedPaths(paths) { + if (inboxCaptureBusy) return + inboxCaptureBusy = true + inboxCaptureStatus = '' + try { + for (const path of paths) { + const item = await wailsCall('CapturePath', path) + addInboxCapture(item) + } + inboxCaptureStatus = t('inbox.captured') + } catch (e) { + error = String(e) + } finally { + inboxCaptureBusy = false + inboxDropValid = false + } + } + function handleInboxDragOver(e) { + e.preventDefault() + e.dataTransfer.dropEffect = 'copy' + inboxDropValid = true + } + function handleInboxDragLeave() { + inboxDropValid = false + } + async function handleInboxDrop(e) { + e.preventDefault() + inboxDropValid = false + const paths = Array.from(e.dataTransfer?.files || []) + .map(file => file.path || file.webkitRelativePath || '') + .filter(Boolean) + if (paths.length > 0) await captureDroppedPaths(paths) + } function pluralize(n, one, few, many) { n = Math.abs(n) % 100 if (n >= 5 && n <= 20) return many @@ -2048,7 +2128,13 @@ {:else if selectedSection === 'inbox'} -
+

{t('nav.inbox')}

@@ -2848,6 +2934,7 @@ /* Inbox screen */ .inbox-screen { padding: 24px; overflow-y: auto; flex: 1; } +.inbox-screen.drop-valid { outline: 2px dashed #4ade80; outline-offset: -4px; background: rgba(74, 222, 128, 0.04); } .inbox-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 20px; } .inbox-header h2 { margin: 0 0 6px; } .inbox-header p { margin: 0; color: #a0a0b8; font-size: 13px; } diff --git a/frontend/src/wailsjs/go/main/App.js b/frontend/src/wailsjs/go/main/App.js index e8da691..ccbe7c0 100644 --- a/frontend/src/wailsjs/go/main/App.js +++ b/frontend/src/wailsjs/go/main/App.js @@ -90,6 +90,14 @@ export function CaptureURL(arg1, arg2) { return window['go']['main']['App']['CaptureURL'](arg1, arg2); } +export function CapturePath(arg1) { + return window['go']['main']['App']['CapturePath'](arg1); +} + +export function CaptureFileData(arg1, arg2) { + return window['go']['main']['App']['CaptureFileData'](arg1, arg2); +} + export function ListTrash() { return window['go']['main']['App']['ListTrash'](); } diff --git a/scripts/check-gui-render.mjs b/scripts/check-gui-render.mjs index 45e7ab8..a26da13 100755 --- a/scripts/check-gui-render.mjs +++ b/scripts/check-gui-render.mjs @@ -144,6 +144,13 @@ async function runReadyScenario(cdp, url) { await clickText(cdp, '.inbox-header .btn', 'Вставить из буфера') await assertText(cdp, 'https://example.test/from-clipboard', 'inbox: clipboard URL captured') await assertText(cdp, 'Ссылка', 'inbox: clipboard URL kind visible') + await emitDroppedFiles(cdp, ['/tmp/smoke-drop-folder']) + await assertText(cdp, 'smoke-drop-folder', 'inbox: dropped folder captured') + await assertText(cdp, 'Перетаскивание', 'inbox: dropped source visible') + await setClipboardImage(cdp, 'pasted-smoke.png', 'image/png', 'c21va2UtaW1hZ2U=') + await clickText(cdp, '.inbox-header .btn', 'Вставить из буфера') + await assertText(cdp, 'pasted-smoke.png', 'inbox: clipboard image captured') + await assertText(cdp, 'Изображение', 'inbox: clipboard image kind visible') await screenshot(cdp, 'inbox.png') await clickText(cdp, '.inbox-item', 'Inbox Smoke Item') await assertText(cdp, 'Inbox Smoke Item', 'inbox: item opens from list') @@ -346,6 +353,29 @@ async function setClipboardText(cdp, value) { }) } +async function setClipboardImage(cdp, name, type, base64) { + await cdp.send('Runtime.evaluate', { + expression: ` + window.__VERSTAK_GUI_SMOKE_CLIPBOARD__ = ''; + window.__VERSTAK_GUI_SMOKE_CLIPBOARD_ITEMS__ = [{ + types: [${JSON.stringify(type)}], + getType: async () => new File([Uint8Array.from(atob(${JSON.stringify(base64)}), c => c.charCodeAt(0))], ${JSON.stringify(name)}, { type: ${JSON.stringify(type)} }), + }]; + `, + awaitPromise: true, + returnByValue: true, + }) +} + +async function emitDroppedFiles(cdp, paths) { + await cdp.send('Runtime.evaluate', { + expression: `window.__VERSTAK_GUI_SMOKE__.dropFiles(${JSON.stringify(paths)})`, + awaitPromise: true, + returnByValue: true, + }) + await sleep(300) +} + async function clickFolderOpenButton(cdp, name) { const ok = await evalValue(cdp, ` (() => { @@ -574,6 +604,7 @@ function wailsMockSource() { configurable: true, value: { readText: async () => window.__VERSTAK_GUI_SMOKE_CLIPBOARD__ || '', + read: async () => window.__VERSTAK_GUI_SMOKE_CLIPBOARD_ITEMS__ || [], }, }); @@ -719,6 +750,18 @@ function wailsMockSource() { state.nodes.push(node); return clone({ ...node, captureKind: node.captureKind, captureSource: node.captureSource }); }, + CapturePath: async (sourcePath) => { + const title = String(sourcePath || '').split('/').filter(Boolean).pop() || 'Dropped file'; + const kind = title.includes('folder') ? 'folder' : 'file'; + const node = { id: 'node-capture-path-' + Date.now(), title, type: kind === 'folder' ? 'folder' : 'file', section: '', captureInbox: true, captureKind: kind, captureSource: 'drop', createdAt: now, has_children: false, children: [] }; + state.nodes.push(node); + return clone({ ...node, captureKind: node.captureKind, captureSource: node.captureSource }); + }, + CaptureFileData: async (filename) => { + const node = { id: 'node-capture-data-' + Date.now(), title: filename, type: 'file', section: '', captureInbox: true, captureKind: filename.endsWith('.png') ? 'image' : 'file', captureSource: 'clipboard', createdAt: now, has_children: false, children: [] }; + state.nodes.push(node); + return clone({ ...node, captureKind: node.captureKind, captureSource: node.captureSource }); + }, ListTrash: async () => clone({ trashPath: '/tmp/verstak-smoke-vault/.verstak/trash', nodes: [{ id: 'node-trash', title: 'Trash Smoke Folder', type: 'folder', fsPath: 'Trash Smoke Folder', deletedAt: now }], @@ -854,11 +897,19 @@ function wailsMockSource() { }; window.go = { main: { App } }; + const runtimeHandlers = {}; window.runtime = { - EventsOn: () => {}, - EventsOff: () => {}, + EventsOn: (name, handler) => { runtimeHandlers[name] = handler; }, + EventsOff: (name) => { delete runtimeHandlers[name]; }, + }; + window.__VERSTAK_GUI_SMOKE__ = { + mode, + state, + events, + dropFiles: async (paths) => { + if (runtimeHandlers['files-dropped']) await runtimeHandlers['files-dropped'](paths); + }, }; - window.__VERSTAK_GUI_SMOKE__ = { mode, state, events }; })(); ` }