diff --git a/cmd/verstak-gui/bindings_activity.go b/cmd/verstak-gui/bindings_activity.go index 72a50f8..4518a28 100644 --- a/cmd/verstak-gui/bindings_activity.go +++ b/cmd/verstak-gui/bindings_activity.go @@ -220,3 +220,43 @@ func (a *App) eventDTOWithPath(e activity.Event) EventDTO { dto.NodePath = a.nodes.Path(e.NodeID) return dto } + +// ListTodayInProgress returns today's modification events — items the user worked on. +func (a *App) ListTodayInProgress() ([]EventDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } + events, err := a.activity.ListTodayEvents() + if err != nil { + return nil, err + } + modTypes := map[string]bool{ + activity.TypeNoteCreated: true, + activity.TypeNoteUpdated: true, + activity.TypeNoteDeleted: true, + activity.TypeFileAdded: true, + activity.TypeFileDeleted: true, + activity.TypeFileRenamed: true, + activity.TypeFileCopied: true, + activity.TypeFileMoved: true, + activity.TypeFolderAdded: true, + activity.TypeFolderDeleted: true, + activity.TypeFolderRenamed: true, + activity.TypeFolderMoved: true, + activity.TypeNodeCreated: true, + activity.TypeNodeUpdated: true, + activity.TypeNodeDeleted: true, + activity.TypeActionCreated: true, + activity.TypeActionDone: true, + } + result := make([]EventDTO, 0, len(events)) + for _, e := range events { + if modTypes[e.EventType] { + result = append(result, a.eventDTOWithPath(e)) + } + } + sort.Slice(result, func(i, j int) bool { + return result[i].CreatedAt > result[j].CreatedAt + }) + return result, nil +} diff --git a/cmd/verstak-gui/bindings_inbox.go b/cmd/verstak-gui/bindings_inbox.go index c607c69..6ccf2de 100644 --- a/cmd/verstak-gui/bindings_inbox.go +++ b/cmd/verstak-gui/bindings_inbox.go @@ -1,6 +1,11 @@ package main -import "fmt" +import ( + "fmt" + "time" + + "verstak/internal/core/activity" +) type InboxNodeDTO struct { NodeDTO @@ -189,6 +194,34 @@ func (a *App) clearCaptureMeta(nodeID string) error { return err } +// ListTodayCaptures returns inbox nodes captured today. +func (a *App) ListTodayCaptures() ([]InboxNodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } + all, err := a.ListInboxNodes() + if err != nil { + return nil, err + } + start, end := activity.TodayBoundaries() + startTime, _ := time.Parse(time.RFC3339, start) + endTime, _ := time.Parse(time.RFC3339, end) + result := make([]InboxNodeDTO, 0, len(all)) + for _, item := range all { + if item.CapturedAt == "" { + continue + } + t, err := time.Parse(time.RFC3339, item.CapturedAt) + if err != nil { + continue + } + if (t.Equal(startTime) || t.After(startTime)) && t.Before(endTime) { + result = append(result, item) + } + } + return result, nil +} + func (a *App) captureMeta(nodeID, key string) string { v, ok, err := a.nodes.MetaGet(nodeID, key) if err != nil || !ok { diff --git a/cmd/verstak-gui/frontend-dist/assets/main-CXWRKHDk.css b/cmd/verstak-gui/frontend-dist/assets/main-CXWRKHDk.css new file mode 100644 index 0000000..a0c54d1 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-CXWRKHDk.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-a9f1pd.svelte-a9f1pd{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-a9f1pd.svelte-a9f1pd{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-a9f1pd.svelte-a9f1pd{display:block;width:64px;height:64px;margin:0 auto .5rem}.first-run-card.svelte-a9f1pd h1.svelte-a9f1pd{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-a9f1pd.svelte-a9f1pd{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-a9f1pd.svelte-a9f1pd{display:flex;gap:.5rem}.input-row.svelte-a9f1pd input.svelte-a9f1pd{flex:1}.path-info.svelte-a9f1pd.svelte-a9f1pd{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-a9f1pd.svelte-a9f1pd{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-a9f1pd.svelte-a9f1pd{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-a9f1pd.svelte-a9f1pd{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-a9f1pd.svelte-a9f1pd{margin-bottom:1rem;text-align:left}.form-label.svelte-a9f1pd.svelte-a9f1pd{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}.today-screen.svelte-9xe4sr.svelte-9xe4sr{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-9xe4sr h2.svelte-9xe4sr{font-size:24px;margin:0}.today-date.svelte-9xe4sr.svelte-9xe4sr{font-size:13px;color:#666}.today-tabs.svelte-9xe4sr.svelte-9xe4sr{display:flex;gap:0;border-bottom:1px solid #2a2a3c;margin-bottom:16px}.today-tab.svelte-9xe4sr.svelte-9xe4sr{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit;position:relative}.today-tab.svelte-9xe4sr.svelte-9xe4sr:hover{color:#a5b4fc}.today-tab.active.svelte-9xe4sr.svelte-9xe4sr{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-badge.svelte-9xe4sr.svelte-9xe4sr{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4;vertical-align:middle}.today-tab-content.svelte-9xe4sr.svelte-9xe4sr{flex:1}.today-empty.svelte-9xe4sr.svelte-9xe4sr{padding:48px 24px;text-align:center}.today-empty.svelte-9xe4sr p.svelte-9xe4sr{color:#666;font-size:14px;margin:0}.today-empty.svelte-9xe4sr .hint.svelte-9xe4sr{font-size:12px;color:#555;margin-top:8px}.tab-controls.svelte-9xe4sr.svelte-9xe4sr{margin-bottom:12px}.sort-controls.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:6px}.sort-btn.svelte-9xe4sr.svelte-9xe4sr{padding:4px 10px;border:1px solid #2a2a3c;background:#13131f;color:#888;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit}.sort-btn.svelte-9xe4sr.svelte-9xe4sr:hover{border-color:#3a3a5c;color:#ccc}.sort-btn.active.svelte-9xe4sr.svelte-9xe4sr{border-color:#6366f1;color:#a5b4fc;background:#6366f114}.sort-dir.svelte-9xe4sr.svelte-9xe4sr{font-size:12px;color:#8888a0;margin-left:4px}.feed-list.svelte-9xe4sr.svelte-9xe4sr{display:flex;flex-direction:column;gap:2px}.feed-item.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.feed-item.svelte-9xe4sr.svelte-9xe4sr:hover{background:#1a1a28}.feed-icon.svelte-9xe4sr.svelte-9xe4sr{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:2px}.feed-body.svelte-9xe4sr.svelte-9xe4sr{flex:1;min-width:0}.feed-title-line.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.feed-type.svelte-9xe4sr.svelte-9xe4sr{font-size:13px;color:#8888a0}.feed-colon.svelte-9xe4sr.svelte-9xe4sr{color:#555}.feed-title.svelte-9xe4sr.svelte-9xe4sr{font-size:14px;color:#e4e4ef;font-weight:500}.feed-title.svelte-9xe4sr.svelte-9xe4sr:hover{text-decoration:underline}.feed-meta-line.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:8px;margin-top:2px}.feed-path.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#8ea0d8;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-event-type.svelte-9xe4sr.svelte-9xe4sr{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.feed-time.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#555;margin-left:auto;flex-shrink:0}.feed-nav-btn.svelte-9xe4sr.svelte-9xe4sr{background:none;border:none;color:#555;cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;margin-top:2px}.feed-nav-btn.svelte-9xe4sr.svelte-9xe4sr:hover{color:#a5b4fc;background:#1e1e30}.link-btn.svelte-9xe4sr.svelte-9xe4sr{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-9xe4sr.svelte-9xe4sr:hover{text-decoration:underline}.suggestions-list.svelte-9xe4sr.svelte-9xe4sr{display:flex;flex-direction:column;gap:6px}.suggestion-card.svelte-9xe4sr.svelte-9xe4sr{display:flex;flex-direction:column;align-items:stretch;padding:0;background:#1e1e32;border-radius:6px;margin-bottom:6px;gap:0;border:1px solid transparent}.suggestion-card.svelte-9xe4sr.svelte-9xe4sr:last-child{margin-bottom:0}.suggestion-card.expanded.svelte-9xe4sr.svelte-9xe4sr{border-color:#3a3a5c}.suggestion-main.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;cursor:pointer;gap:10px;min-height:38px}.suggestion-info.svelte-9xe4sr.svelte-9xe4sr{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-9xe4sr.svelte-9xe4sr{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-9xe4sr.svelte-9xe4sr:hover{text-decoration:underline}.suggestion-summary.svelte-9xe4sr.svelte-9xe4sr{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-9xe4sr.svelte-9xe4sr{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-actions.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-9xe4sr.svelte-9xe4sr{width:54px;padding:3px 7px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;text-align:center}.suggestion-min-label.svelte-9xe4sr.svelte-9xe4sr{font-size:12px;color:#8888a0}.suggestion-confidence-dot.svelte-9xe4sr.svelte-9xe4sr{width:9px;height:9px;border-radius:999px;background:#77798a;box-shadow:0 0 0 3px #77798a1f;flex:0 0 auto}.suggestion-confidence-dot.low.svelte-9xe4sr.svelte-9xe4sr{background:#ef4444;box-shadow:0 0 0 3px #ef44441f}.suggestion-confidence-dot.medium.svelte-9xe4sr.svelte-9xe4sr{background:#fbbf24;box-shadow:0 0 0 3px #fbbf241f}.suggestion-confidence-dot.high.svelte-9xe4sr.svelte-9xe4sr{background:#34d399;box-shadow:0 0 0 3px #34d3991f}.suggestion-detail.svelte-9xe4sr.svelte-9xe4sr{width:100%;padding:6px 10px 8px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-9xe4sr.svelte-9xe4sr{font-size:10px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:4px 0}.suggestion-detail-event.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:7px;padding:2px 0;font-size:12px;color:#b0b0c0}.suggestion-event-time.svelte-9xe4sr.svelte-9xe4sr{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-9xe4sr.svelte-9xe4sr{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-9xe4sr.svelte-9xe4sr{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-event-path.svelte-9xe4sr.svelte-9xe4sr{max-width:220px;color:#8ea0d8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.svelte-9xe4sr.svelte-9xe4sr{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn.svelte-9xe4sr.svelte-9xe4sr:hover{background:#223}.btn-primary.svelte-9xe4sr.svelte-9xe4sr{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-9xe4sr.svelte-9xe4sr:hover{background:#4f46e5}.btn-sm.svelte-9xe4sr.svelte-9xe4sr{padding:4px 10px;font-size:12px}.btn-danger.svelte-9xe4sr.svelte-9xe4sr{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-9xe4sr.svelte-9xe4sr:hover{background:#3a2222}.ip-list.svelte-9xe4sr.svelte-9xe4sr{display:flex;flex-direction:column;gap:2px}.ip-item.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.ip-item.svelte-9xe4sr.svelte-9xe4sr:hover{background:#1a1a28}.ip-icon.svelte-9xe4sr.svelte-9xe4sr{width:20px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.ip-body.svelte-9xe4sr.svelte-9xe4sr{flex:1;min-width:0}.ip-title.svelte-9xe4sr.svelte-9xe4sr{font-size:14px;color:#e4e4ef;display:block}.ip-path.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#8ea0d8;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ip-type.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#666;flex-shrink:0}.ip-time.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#555;flex-shrink:0;margin-left:8px}.capture-list.svelte-9xe4sr.svelte-9xe4sr{display:flex;flex-direction:column;gap:6px}.capture-item.svelte-9xe4sr.svelte-9xe4sr{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;cursor:pointer}.capture-item.svelte-9xe4sr.svelte-9xe4sr:hover{border-color:#3a3a5c;background:#1e1e32}.capture-icon.svelte-9xe4sr.svelte-9xe4sr{font-size:18px;width:28px;text-align:center;flex-shrink:0}.capture-body.svelte-9xe4sr.svelte-9xe4sr{flex:1;min-width:0}.capture-title.svelte-9xe4sr.svelte-9xe4sr{font-size:14px;color:#e4e4ef;font-weight:500;display:block}.capture-meta.svelte-9xe4sr.svelte-9xe4sr{font-size:12px;color:#8888a0;display:block;margin-top:2px}.capture-time.svelte-9xe4sr.svelte-9xe4sr{font-size:11px;color:#555;flex-shrink:0}.svelte-1iuenvo.svelte-1iuenvo,.svelte-1iuenvo.svelte-1iuenvo:before,.svelte-1iuenvo.svelte-1iuenvo:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1iuenvo.svelte-1iuenvo{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}.capture-drop-overlay.svelte-1iuenvo.svelte-1iuenvo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#13131f6b;border:2px dashed #818cf8}.capture-drop-box.svelte-1iuenvo.svelte-1iuenvo{max-width:min(520px,calc(100vw - 48px));padding:14px 18px;border:1px solid #3a3a5c;border-radius:8px;background:#1a1a28;color:#e4e4ef;font-size:14px;font-weight:600;box-shadow:0 12px 32px #00000059;text-align:center}.sidebar.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1iuenvo.svelte-1iuenvo{display:block;width:20px;height:20px;flex-shrink:0}.brand-name.svelte-1iuenvo.svelte-1iuenvo{font-size:16px;font-weight:600}.sidebar-nav.svelte-1iuenvo.svelte-1iuenvo{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:16px}.nav-label.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#223}.nav-item.selected.svelte-1iuenvo.svelte-1iuenvo{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1iuenvo.svelte-1iuenvo{min-height:32px}.workspace-tree-area.drop-valid.svelte-1iuenvo.svelte-1iuenvo{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-1iuenvo.svelte-1iuenvo{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1iuenvo.svelte-1iuenvo:hover{color:#ccc}.context-menu-backdrop.svelte-1iuenvo.svelte-1iuenvo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1iuenvo.svelte-1iuenvo{color:#ff6b6b}.context-menu-item.danger.svelte-1iuenvo.svelte-1iuenvo:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1iuenvo.svelte-1iuenvo{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1iuenvo.svelte-1iuenvo{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;justify-content:space-between}.version.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555;text-align:center}.main.svelte-1iuenvo.svelte-1iuenvo{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1iuenvo.svelte-1iuenvo{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-1iuenvo.svelte-1iuenvo:active{background:#252545;color:#818cf8}.crumb.svelte-1iuenvo.svelte-1iuenvo{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1iuenvo.svelte-1iuenvo{color:#666}.crumb-type.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1iuenvo.svelte-1iuenvo:hover{color:#f44}.tabs.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:stretch;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1iuenvo.svelte-1iuenvo{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1iuenvo.svelte-1iuenvo:hover{color:#a5b4fc}.tab.active.svelte-1iuenvo.svelte-1iuenvo{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-separator.svelte-1iuenvo.svelte-1iuenvo{width:1px;height:22px;margin:8px 10px 0;background:#2a2a3c;flex-shrink:0}.tab-content.svelte-1iuenvo.svelte-1iuenvo{flex:1;overflow-y:auto}.note-editor.svelte-1iuenvo.svelte-1iuenvo{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1iuenvo.svelte-1iuenvo{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1iuenvo.svelte-1iuenvo{font-size:16px;font-weight:500}.dirty-mark.svelte-1iuenvo.svelte-1iuenvo{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1iuenvo.svelte-1iuenvo{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{padding:24px}.overview.svelte-1iuenvo h2.svelte-1iuenvo{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1iuenvo.svelte-1iuenvo{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1iuenvo.svelte-1iuenvo{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1iuenvo.svelte-1iuenvo{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#223}.qa-btn.svelte-1iuenvo.svelte-1iuenvo:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:24px}.recent-section.svelte-1iuenvo h3.svelte-1iuenvo{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1iuenvo.svelte-1iuenvo{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1iuenvo.svelte-1iuenvo:hover{background:#1a1a28}.recent-date.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555}.recent-entry.svelte-1iuenvo.svelte-1iuenvo{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1iuenvo.svelte-1iuenvo{padding:24px}.tab-toolbar.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:16px}.create-form.svelte-1iuenvo.svelte-1iuenvo{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1iuenvo input.svelte-1iuenvo{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-1iuenvo input.svelte-1iuenvo:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px}.notes-list.svelte-1iuenvo.svelte-1iuenvo{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1iuenvo.svelte-1iuenvo{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1iuenvo.svelte-1iuenvo:hover{border-color:#3a3a5c}.note-card-title.svelte-1iuenvo.svelte-1iuenvo{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555}.worklog-tab.svelte-1iuenvo.svelte-1iuenvo{padding:24px}.worklog-toolbar.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:16px}.worklog-entry.svelte-1iuenvo.svelte-1iuenvo{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-1iuenvo.svelte-1iuenvo{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-1iuenvo.svelte-1iuenvo{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;cursor:pointer;gap:10px;min-height:38px}.suggestion-card.expanded.svelte-1iuenvo.svelte-1iuenvo{border-color:#3a3a5c}.suggestion-detail.svelte-1iuenvo.svelte-1iuenvo{width:100%;padding:6px 10px 8px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:4px 0}.suggestion-detail-event.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:7px;padding:2px 0;font-size:12px;color:#b0b0c0}.suggestion-event-time.svelte-1iuenvo.svelte-1iuenvo{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-event-path.svelte-1iuenvo.svelte-1iuenvo{max-width:220px;color:#8ea0d8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;align-items:stretch;padding:0;background:#1e1e32;border-radius:6px;margin-bottom:6px;gap:0;border:1px solid transparent}.suggestion-card.svelte-1iuenvo.svelte-1iuenvo:last-child{margin-bottom:0}.suggestion-info.svelte-1iuenvo.svelte-1iuenvo{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-1iuenvo.svelte-1iuenvo{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-1iuenvo.svelte-1iuenvo:hover{text-decoration:underline}.suggestion-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-1iuenvo.svelte-1iuenvo{width:54px;padding:3px 7px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;text-align:center}.suggestion-min-label.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;color:#8888a0}.suggestion-confidence-dot.svelte-1iuenvo.svelte-1iuenvo{width:9px;height:9px;border-radius:999px;background:#77798a;box-shadow:0 0 0 3px #77798a1f;flex:0 0 auto}.suggestion-confidence-dot.low.svelte-1iuenvo.svelte-1iuenvo{background:#ef4444;box-shadow:0 0 0 3px #ef44441f}.suggestion-confidence-dot.medium.svelte-1iuenvo.svelte-1iuenvo{background:#fbbf24;box-shadow:0 0 0 3px #fbbf241f}.suggestion-confidence-dot.high.svelte-1iuenvo.svelte-1iuenvo{background:#34d399;box-shadow:0 0 0 3px #34d3991f}.inbox-screen.svelte-1iuenvo.svelte-1iuenvo{padding:24px;overflow-y:auto;flex:1}.inbox-screen.drop-valid.svelte-1iuenvo.svelte-1iuenvo{outline:2px dashed #4ade80;outline-offset:-4px;background:#4ade800a}.inbox-header.svelte-1iuenvo.svelte-1iuenvo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.inbox-header.svelte-1iuenvo h2.svelte-1iuenvo{margin:0 0 6px}.inbox-header.svelte-1iuenvo p.svelte-1iuenvo{margin:0;color:#a0a0b8;font-size:13px}.inbox-header-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.inbox-capture-status.svelte-1iuenvo.svelte-1iuenvo{color:#8ee6b1;font-size:12px}.inbox-list.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:8px}.inbox-item.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;cursor:pointer}.inbox-item.svelte-1iuenvo.svelte-1iuenvo:hover{border-color:#3a3a5c;background:#1e1e32}.inbox-item-main.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inbox-item-title.svelte-1iuenvo.svelte-1iuenvo{color:#e4e4ef;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-item-meta.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:12px}.inbox-item-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:6px;flex-shrink:0;align-items:center}.inbox-icon-btn.svelte-1iuenvo.svelte-1iuenvo{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #2a2a3c;border-radius:6px;background:#13131f;color:#a0a0b8;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.inbox-icon-slot.svelte-1iuenvo.svelte-1iuenvo{width:30px;height:30px;display:inline-block;flex:0 0 30px}.inbox-icon-btn.svelte-1iuenvo.svelte-1iuenvo:hover{color:#e4e4ef;border-color:#3a3a5c;background:#222238}.inbox-icon-btn-primary.svelte-1iuenvo.svelte-1iuenvo{color:#a5b4fc;border-color:#34346a}.inbox-icon-btn-primary.svelte-1iuenvo.svelte-1iuenvo:hover{color:#fff;border-color:#6366f1;background:#272750}.inbox-icon-btn-danger.svelte-1iuenvo.svelte-1iuenvo{color:#f87171;border-color:#4a252c}.inbox-icon-btn-danger.svelte-1iuenvo.svelte-1iuenvo:hover{color:#fff;border-color:#dc2626;background:#3a1f24}.inbox-tab.svelte-1iuenvo.svelte-1iuenvo{padding:24px}.inbox-controls.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:12px}.inbox-sort-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sort-btn.svelte-1iuenvo.svelte-1iuenvo{padding:4px 10px;border:1px solid #2a2a3c;background:#13131f;color:#888;border-radius:4px;font-size:12px;cursor:pointer;font-family:inherit}.sort-btn.svelte-1iuenvo.svelte-1iuenvo:hover{border-color:#3a3a5c;color:#ccc}.sort-btn.active.svelte-1iuenvo.svelte-1iuenvo{border-color:#6366f1;color:#a5b4fc;background:#6366f114}.sort-dir.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;color:#8888a0;margin-left:2px}.inbox-controls-divider.svelte-1iuenvo.svelte-1iuenvo{width:1px;height:20px;background:#2a2a3c;margin:0 4px}.inbox-group.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:16px}.inbox-group-header.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;padding:8px 0 6px;margin-bottom:6px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:8px}.inbox-group-count.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;color:#8888a0;background:#1e1e30;padding:1px 6px;border-radius:8px}.links-tab.svelte-1iuenvo.svelte-1iuenvo{padding:24px}.links-list.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:8px}.link-card.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28}.link-card.svelte-1iuenvo.svelte-1iuenvo:hover{border-color:#3a3a5c;background:#1e1e32}.link-main.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,220px) auto;gap:8px 12px;align-items:baseline}.link-title.svelte-1iuenvo.svelte-1iuenvo{color:#e4e4ef;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-url.svelte-1iuenvo.svelte-1iuenvo{color:#a5b4fc;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-date.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:12px;white-space:nowrap}.link-note.svelte-1iuenvo.svelte-1iuenvo{grid-column:1 / -1;color:#8888a0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;flex-shrink:0}.link-status.svelte-1iuenvo.svelte-1iuenvo{margin-top:12px;color:#8ee6b1;font-size:12px}.trash-screen.svelte-1iuenvo.svelte-1iuenvo{padding:24px;overflow-y:auto;flex:1}.trash-header.svelte-1iuenvo.svelte-1iuenvo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.trash-header.svelte-1iuenvo h2.svelte-1iuenvo{margin:0 0 6px}.trash-header.svelte-1iuenvo p.svelte-1iuenvo{margin:0;color:#8888a0;font-size:12px}.trash-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.trash-browser.svelte-1iuenvo.svelte-1iuenvo{max-width:980px}.trash-section.svelte-1iuenvo.svelte-1iuenvo{min-width:0}.trash-section.svelte-1iuenvo h3.svelte-1iuenvo{margin:0 0 10px;font-size:13px;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px}.trash-section-head.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:36px}.trash-section-head.svelte-1iuenvo h3.svelte-1iuenvo{margin:0 0 2px}.trash-section-head.svelte-1iuenvo p.svelte-1iuenvo{margin:0;color:#8888a0;font-size:12px}.trash-row.svelte-1iuenvo.svelte-1iuenvo{display:grid;grid-template-columns:auto auto minmax(0,1fr) minmax(120px,220px) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #2a2a3c;border-radius:8px;background:#1a1a28;margin-bottom:8px}.trash-row.folder.svelte-1iuenvo.svelte-1iuenvo{background:#1b2132;border-color:#303856}.trash-row.selected.svelte-1iuenvo.svelte-1iuenvo{border-color:#6366f1;background:#20203a}.trash-row-icon.svelte-1iuenvo.svelte-1iuenvo{color:#a5b4fc;display:inline-flex;align-items:center;justify-content:center}.trash-row-main.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:2px;min-width:0}.trash-row-title.svelte-1iuenvo.svelte-1iuenvo{min-width:0;color:#e4e4ef;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-meta.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-path.svelte-1iuenvo.svelte-1iuenvo{color:#6f7390;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-row-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:6px}.trash-empty-line.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:13px;margin:0}.journal-screen.svelte-1iuenvo.svelte-1iuenvo{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:24px}.journal-header.svelte-1iuenvo h2.svelte-1iuenvo{margin:0 0 16px}.journal-summary.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-1iuenvo.svelte-1iuenvo{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:200px}.summary-label.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-1iuenvo span.svelte-1iuenvo:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0}.journal-table-wrap.svelte-1iuenvo.svelte-1iuenvo{overflow-x:auto}.journal-table.svelte-1iuenvo.svelte-1iuenvo{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-1iuenvo th.svelte-1iuenvo{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-1iuenvo td.svelte-1iuenvo{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-1iuenvo tr:hover td.svelte-1iuenvo{background:#1e1e32}.journal-table.svelte-1iuenvo .link-btn.svelte-1iuenvo{color:#a5b4fc}.journal-path-cell.svelte-1iuenvo.svelte-1iuenvo{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-1iuenvo.svelte-1iuenvo{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-1iuenvo.svelte-1iuenvo{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-1iuenvo.svelte-1iuenvo{text-align:center;color:#a0a0b8}.journal-row.svelte-1iuenvo.svelte-1iuenvo{cursor:pointer}.journal-row.svelte-1iuenvo:hover td.svelte-1iuenvo{background:#1e1e32}.journal-row.expanded.svelte-1iuenvo td.svelte-1iuenvo{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-1iuenvo.svelte-1iuenvo{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-1iuenvo td.svelte-1iuenvo{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;justify-content:flex-end}.journal-detail-section.svelte-1iuenvo.svelte-1iuenvo{font-size:13px}.journal-detail-label.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-1iuenvo p.svelte-1iuenvo{margin:0;color:#c0c0d0}.journal-event-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-1iuenvo.svelte-1iuenvo{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-1iuenvo input[type=text].svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#2a2a4a}.journal-search-title.svelte-1iuenvo.svelte-1iuenvo{display:block;font-weight:500}.journal-search-path.svelte-1iuenvo.svelte-1iuenvo{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#2a2a4a}.journal-node-clear.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-1iuenvo.svelte-1iuenvo{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-1iuenvo.svelte-1iuenvo{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.link-btn.svelte-1iuenvo.svelte-1iuenvo{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-1iuenvo.svelte-1iuenvo:hover{text-decoration:underline}.nav-badge.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{padding:24px}.action-card.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1iuenvo.svelte-1iuenvo{font-weight:500}.action-type.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1iuenvo .btn-danger.svelte-1iuenvo{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1iuenvo .btn-danger.svelte-1iuenvo:hover{background:#3a2222}.empty-state.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1iuenvo p.svelte-1iuenvo{margin:0;font-size:14px;color:#666}.empty-state.svelte-1iuenvo .empty-icon.svelte-1iuenvo{margin-bottom:12px;color:#444}.empty-state.svelte-1iuenvo .hint.svelte-1iuenvo{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1iuenvo .empty-actions.svelte-1iuenvo{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-1iuenvo.svelte-1iuenvo{padding:48px 24px;text-align:center}.welcome.svelte-1iuenvo h2.svelte-1iuenvo{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1iuenvo p.svelte-1iuenvo{color:#666;font-size:14px}.error-text.svelte-1iuenvo.svelte-1iuenvo{color:#f88}.modal-overlay.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1iuenvo h3.svelte-1iuenvo{font-size:18px;margin-bottom:16px}.modal.svelte-1iuenvo textarea.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo{width:460px}.form-group.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:12px}.form-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-1iuenvo label.svelte-1iuenvo{display:block}.form-group.svelte-1iuenvo .label-text.svelte-1iuenvo,.form-group.svelte-1iuenvo .form-label.svelte-1iuenvo{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1iuenvo input.svelte-1iuenvo,.form-group.svelte-1iuenvo select.svelte-1iuenvo{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-1iuenvo select.svelte-1iuenvo{-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-1iuenvo input.svelte-1iuenvo:focus,.form-group.svelte-1iuenvo select.svelte-1iuenvo:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.assign-search.svelte-1iuenvo.svelte-1iuenvo{position:relative}.assign-search-results.svelte-1iuenvo.svelte-1iuenvo{position:absolute;left:0;right:0;top:100%;z-index:110;margin-top:4px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;max-height:220px;overflow-y:auto}.assign-search-result.svelte-1iuenvo.svelte-1iuenvo{width:100%;display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:0;border-bottom:1px solid #24243a;background:transparent;color:#e4e4ef;text-align:left;cursor:pointer;font-family:inherit}.assign-search-result.svelte-1iuenvo.svelte-1iuenvo:hover{background:#222238}.assign-search-result.svelte-1iuenvo span.svelte-1iuenvo:last-child{color:#8888a0;font-size:12px;flex-shrink:0}.assign-status.svelte-1iuenvo.svelte-1iuenvo{color:#8888a0;font-size:12px}.btn.svelte-1iuenvo.svelte-1iuenvo{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn.svelte-1iuenvo svg,.inbox-icon-btn.svelte-1iuenvo svg{flex-shrink:0}.btn.svelte-1iuenvo.svelte-1iuenvo:hover{background:#223}.btn-primary.svelte-1iuenvo.svelte-1iuenvo{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1iuenvo.svelte-1iuenvo:hover{background:#4f46e5}.btn.svelte-1iuenvo.svelte-1iuenvo:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1iuenvo.svelte-1iuenvo{padding:4px 10px;font-size:12px}.btn-danger.svelte-1iuenvo.svelte-1iuenvo{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1iuenvo.svelte-1iuenvo: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-1iuenvo.svelte-1iuenvo{padding:20px}.files-tab.svelte-1iuenvo .tab-toolbar.svelte-1iuenvo{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column}.back-btn.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:16px}.summary-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1iuenvo.svelte-1iuenvo{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1iuenvo.svelte-1iuenvo{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1iuenvo.svelte-1iuenvo{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-1iuenvo.svelte-1iuenvo:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1iuenvo.svelte-1iuenvo{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1iuenvo.svelte-1iuenvo{font-weight:500}.template-card-desc.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#888}.today-empty.svelte-1iuenvo.svelte-1iuenvo{padding:48px 24px;text-align:center}.today-empty.svelte-1iuenvo p.svelte-1iuenvo{color:#666;font-size:14px;margin:0}.today-empty.svelte-1iuenvo .hint.svelte-1iuenvo{font-size:12px;color:#555;margin-top:8px}.activity-tab.svelte-1iuenvo.svelte-1iuenvo{padding:24px}.activity-events.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1iuenvo.svelte-1iuenvo:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1iuenvo.svelte-1iuenvo{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-path.svelte-1iuenvo.svelte-1iuenvo{max-width:240px;color:#8ea0d8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1iuenvo.svelte-1iuenvo{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:20px}.activity-feed-header.svelte-1iuenvo h2.svelte-1iuenvo{font-size:24px}.activity-feed-events.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1iuenvo.svelte-1iuenvo:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1iuenvo.svelte-1iuenvo{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0}.activity-feed-title.svelte-1iuenvo.svelte-1iuenvo{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#666}.activity-feed-target.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;color:#555}.journal-filter-section.svelte-1iuenvo.svelte-1iuenvo{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-1iuenvo label.svelte-1iuenvo{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-1iuenvo input[type=date].svelte-1iuenvo{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-1iuenvo .checkbox-label.svelte-1iuenvo{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-1iuenvo .checkbox-label input.svelte-1iuenvo{width:auto}.journal-export-section.svelte-1iuenvo.svelte-1iuenvo{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-1iuenvo.svelte-1iuenvo{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-1iuenvo.svelte-1iuenvo{color:#6366f1;font-size:12px}.worklog-entry.svelte-1iuenvo.svelte-1iuenvo{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-1iuenvo.svelte-1iuenvo:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-1iuenvo.svelte-1iuenvo{border-color:#6366f1}.worklog-entry-head.svelte-1iuenvo.svelte-1iuenvo{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-1iuenvo.svelte-1iuenvo{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-1iuenvo.svelte-1iuenvo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-path.svelte-1iuenvo.svelte-1iuenvo{max-width:240px;color:#8ea0d8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-1iuenvo.svelte-1iuenvo{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-1iuenvo.svelte-1iuenvo{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-1iuenvo.svelte-1iuenvo{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.worklog-entry-actions.svelte-1iuenvo.svelte-1iuenvo{display:flex;gap:8px;justify-content:flex-end}.wl-detail-section.svelte-1iuenvo.svelte-1iuenvo{font-size:13px}.wl-detail-label.svelte-1iuenvo.svelte-1iuenvo{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-1iuenvo p.svelte-1iuenvo{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-1iuenvo.svelte-1iuenvo{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-1iuenvo.svelte-1iuenvo{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-1iuenvo input.svelte-1iuenvo{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-DNvOo-CH.js b/cmd/verstak-gui/frontend-dist/assets/main-DNvOo-CH.js new file mode 100644 index 0000000..bc1d081 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-DNvOo-CH.js @@ -0,0 +1,3 @@ +var s1=Object.defineProperty;var r1=(n,e,t)=>e in n?s1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Ht=(n,e,t)=>r1(n,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"]'))l(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const r of a.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function t(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function l(i){if(i.ep)return;i.ep=!0;const a=t(i);fetch(i.href,a)}})();function ie(){}function Ha(n){return n()}function so(){return Object.create(null)}function ve(n){n.forEach(Ha)}function Wt(n){return typeof n=="function"}function nt(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}let Yn;function pn(n,e){return n===e?!0:(Yn||(Yn=document.createElement("a")),Yn.href=e,n===Yn.href)}function a1(n){return Object.keys(n).length===0}function ro(n){return n??""}const Jl=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function s(n,e){n.appendChild(e)}function C(n,e,t){n.insertBefore(e,t||null)}function w(n){n.parentNode&&n.parentNode.removeChild(n)}function Re(n,e){for(let t=0;tn.removeEventListener(e,t,l)}function ql(n){return function(e){return e.preventDefault(),n.call(this,e)}}function Te(n){return function(e){return e.stopPropagation(),n.call(this,e)}}function Et(n){return function(e){e.target===this&&n.call(this,e)}}function o(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function ll(n){return n===""?null:+n}function c1(n){return Array.from(n.childNodes)}function K(n,e){e=""+e,n.data!==e&&(n.data=e)}function ke(n,e){n.value=e??""}function Ct(n,e,t,l){t==null?n.style.removeProperty(e):n.style.setProperty(e,t,"")}function Bt(n,e,t){for(let l=0;l{const i=n.$$.callbacks[e];if(i){const a=u1(e,t,{cancelable:l});return i.slice().forEach(r=>{r.call(n,a)}),!a.defaultPrevented}return!0}}function Wa(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(l=>l.call(this,e))}const fn=[],ao=[];let dn=[];const co=[],f1=Promise.resolve();let Ul=!1;function d1(){Ul||(Ul=!0,f1.then(Va))}function xt(n){dn.push(n)}const Ol=new Set;let cn=0;function Va(){if(cn!==0)return;const n=In;do{try{for(;cnn.indexOf(l)===-1?e.push(l):t.push(l)),t.forEach(l=>l()),dn=e}const $n=new Set;let Zt;function ut(){Zt={r:0,c:[],p:Zt}}function ft(){Zt.r||ve(Zt.c),Zt=Zt.p}function pe(n,e){n&&n.i&&($n.delete(n),n.i(e))}function ge(n,e,t,l){if(n&&n.o){if($n.has(n))return;$n.add(n),Zt.c.push(()=>{$n.delete(n),l&&(t&&n.d(1),l())}),n.o(e)}else l&&l()}function ue(n){return(n==null?void 0:n.length)!==void 0?n:Array.from(n)}function Ua(n,e){ge(n,1,1,()=>{e.delete(n.key)})}function Ka(n,e,t,l,i,a,r,c,u,p,h,m){let g=n.length,b=a.length,k=g;const y={};for(;k--;)y[n[k].key]=k;const S=[],T=new Map,E=new Map,I=[];for(k=b;k--;){const j=m(i,a,k),R=t(j);let O=r.get(R);O?I.push(()=>O.p(j,e)):(O=p(R,j),O.c()),T.set(R,S[k]=O),R in y&&E.set(R,Math.abs(k-y[R]))}const D=new Set,N=new Set;function M(j){pe(j,1),j.m(c,h),r.set(j.key,j),h=j.first,b--}for(;g&&b;){const j=S[b-1],R=n[g-1],O=j.key,H=R.key;j===R?(h=j.first,g--,b--):T.has(H)?!r.has(O)||D.has(O)?M(j):N.has(H)?g--:E.get(O)>E.get(H)?(N.add(O),M(j)):(D.add(H),g--):(u(R,r),g--)}for(;g--;){const j=n[g];T.has(j.key)||u(j,r)}for(;b;)M(S[b-1]);return ve(I),S}function Xe(n){n&&n.c()}function Je(n,e,t){const{fragment:l,after_update:i}=n.$$;l&&l.m(e,t),xt(()=>{const a=n.$$.on_mount.map(Ha).filter(Wt);n.$$.on_destroy?n.$$.on_destroy.push(...a):ve(a),n.$$.on_mount=[]}),i.forEach(xt)}function qe(n,e){const t=n.$$;t.fragment!==null&&(v1(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function m1(n,e){n.$$.dirty[0]===-1&&(fn.push(n),d1(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{const k=b.length?b[0]:g;return p.ctx&&i(p.ctx[m],p.ctx[m]=k)&&(!p.skip_bound&&p.bound[m]&&p.bound[m](k),h&&m1(n,m)),g}):[],p.update(),h=!0,ve(p.before_update),p.fragment=l?l(p.ctx):!1,e.target){if(e.hydrate){const m=c1(e.target);p.fragment&&p.fragment.l(m),m.forEach(w)}else p.fragment&&p.fragment.c();e.intro&&pe(n.$$.fragment),Je(n,e.target,e.anchor),Va()}En(u)}class it{constructor(){Ht(this,"$$");Ht(this,"$$set")}$destroy(){qe(this,1),this.$destroy=ie}$on(e,t){if(!Wt(t))return ie;const l=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return l.push(t),()=>{const i=l.indexOf(t);i!==-1&&l.splice(i,1)}}$set(e){this.$$set&&!a1(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const _1="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(_1);function h1(n){let e,t;return{c(){e=$("path"),t=$("polyline"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function g1(n){let e,t,l,i,a;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),a=$("polyline"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","16"),o(l,"y1","13"),o(l,"x2","8"),o(l,"y2","13"),o(i,"x1","16"),o(i,"y1","17"),o(i,"x2","8"),o(i,"y2","17"),o(a,"points","10 9 9 9 8 9")},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),C(r,i,c),C(r,a,c)},d(r){r&&(w(e),w(t),w(l),w(i),w(a))}}}function b1(n){let e,t;return{c(){e=$("polyline"),t=$("polyline"),o(e,"points","16 18 22 12 16 6"),o(t,"points","8 6 2 12 8 18")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function k1(n){let e,t,l,i;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("rect"),o(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),o(t,"points","7 3 12 8 17 3"),o(l,"x1","3"),o(l,"y1","8"),o(l,"x2","21"),o(l,"y2","8"),o(i,"x","10"),o(i,"y","12"),o(i,"width","4"),o(i,"height","4"),o(i,"rx","1")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function y1(n){let e,t,l,i,a;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),a=$("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","9"),o(l,"y1","12"),o(l,"x2","15"),o(l,"y2","12"),o(i,"x1","9"),o(i,"y1","15"),o(i,"x2","13"),o(i,"y2","15"),o(a,"x1","12"),o(a,"y1","15"),o(a,"x2","12"),o(a,"y2","18")},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),C(r,i,c),C(r,a,c)},d(r){r&&(w(e),w(t),w(l),w(i),w(a))}}}function w1(n){let e,t,l,i,a,r;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),a=$("line"),r=$("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","8"),o(l,"y1","12"),o(l,"x2","16"),o(l,"y2","12"),o(i,"x1","8"),o(i,"y1","16"),o(i,"x2","16"),o(i,"y2","16"),o(a,"x1","8"),o(a,"y1","14"),o(a,"x2","12"),o(a,"y2","14"),o(r,"x1","12"),o(r,"y1","12"),o(r,"x2","12"),o(r,"y2","18")},m(c,u){C(c,e,u),C(c,t,u),C(c,l,u),C(c,i,u),C(c,a,u),C(c,r,u)},d(c){c&&(w(e),w(t),w(l),w(i),w(a),w(r))}}}function C1(n){let e,t,l,i;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","16"),o(l,"y1","13"),o(l,"x2","8"),o(l,"y2","13"),o(i,"x1","16"),o(i,"y1","17"),o(i,"x2","8"),o(i,"y2","17")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function S1(n){let e,t,l,i,a;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),a=$("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","8"),o(l,"y1","12"),o(l,"x2","16"),o(l,"y2","12"),o(i,"x1","8"),o(i,"y1","16"),o(i,"x2","16"),o(i,"y2","16"),o(a,"x1","8"),o(a,"y1","14"),o(a,"x2","12"),o(a,"y2","14")},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),C(r,i,c),C(r,a,c)},d(r){r&&(w(e),w(t),w(l),w(i),w(a))}}}function T1(n){let e,t,l;return{c(){e=$("path"),t=$("circle"),l=$("circle"),o(e,"d","M9 18V5l12-2v13"),o(t,"cx","6"),o(t,"cy","18"),o(t,"r","3"),o(l,"cx","18"),o(l,"cy","16"),o(l,"r","3")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},d(i){i&&(w(e),w(t),w(l))}}}function E1(n){let e,t;return{c(){e=$("rect"),t=$("polyline"),o(e,"x","2"),o(e,"y","4"),o(e,"width","20"),o(e,"height","16"),o(e,"rx","2"),o(t,"points","10 9 16 12 10 15 10 9")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function I1(n){let e,t,l;return{c(){e=$("rect"),t=$("circle"),l=$("polyline"),o(e,"x","3"),o(e,"y","3"),o(e,"width","18"),o(e,"height","18"),o(e,"rx","2"),o(e,"ry","2"),o(t,"cx","8.5"),o(t,"cy","8.5"),o(t,"r","1.5"),o(l,"points","21 15 16 10 5 21")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},d(i){i&&(w(e),w(t),w(l))}}}function N1(n){let e;return{c(){e=$("path"),o(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,l){C(t,e,l)},d(t){t&&w(e)}}}function D1(n){let e;function t(a,r){return a[0]==="folder"?N1:a[0]==="image"?I1:a[0]==="video"?E1:a[0]==="audio"?T1:a[0]==="pdf"?S1:a[0]==="document"?C1:a[0]==="spreadsheet"?w1:a[0]==="presentation"?y1:a[0]==="archive"?k1:a[0]==="code"?b1:a[0]==="text"?g1:h1}let l=t(n),i=l(n);return{c(){e=$("svg"),i.c(),o(e,"width",n[1]),o(e,"height",n[1]),o(e,"viewBox","0 0 24 24"),o(e,"fill","none"),o(e,"stroke","currentColor"),o(e,"stroke-width","1.5"),o(e,"stroke-linecap","round"),o(e,"stroke-linejoin","round"),o(e,"xmlns","http://www.w3.org/2000/svg")},m(a,r){C(a,e,r),i.m(e,null)},p(a,[r]){l!==(l=t(a))&&(i.d(1),i=l(a),i&&(i.c(),i.m(e,null))),r&2&&o(e,"width",a[1]),r&2&&o(e,"height",a[1])},i:ie,o:ie,d(a){a&&w(e),i.d()}}}function M1(n,e,t){let{kind:l="generic"}=e,{size:i=20}=e;return n.$$set=a=>{"kind"in a&&t(0,l=a.kind),"size"in a&&t(1,i=a.size)},[l,i]}class Ga extends it{constructor(e){super(),lt(this,e,M1,D1,nt,{kind:0,size:1})}}const j1={"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.sortByDate":"по дате","inbox.sortByName":"по имени","inbox.sortByType":"по типу","inbox.sortAsc":"по возрастанию","inbox.sortDesc":"по убыванию","inbox.groupByContext":"Группировать по месту захвата","inbox.noContext":"Без места захвата","inbox.empty":"Неразобранных элементов нет","inbox.pasteClipboard":"Вставить из буфера","inbox.captured":"Добавлено","inbox.clipboardEmpty":"Буфер обмена пуст","inbox.clipboardUnavailable":"Буфер обмена недоступен","inbox.assign":"Разложить","inbox.keepHere":"Прикрепить в захваченном месте","inbox.localEmpty":"Для этого дела неразобранных материалов нет","inbox.capturedIn":"Захвачено в","inbox.suggestedTarget":"Цель","inbox.assignTitle":"Разложить материал","inbox.assignTarget":"Дело","inbox.assignSearchPlaceholder":"Найти дело","inbox.deleteTitle":"Удалить материал","inbox.deleteConfirm":"Удалить «{title}» из неразобранного?","capture.kind.text":"Текст","capture.kind.url":"Ссылка","capture.kind.file":"Файл","capture.kind.folder":"Папка","capture.kind.image":"Изображение","capture.source.clipboard":"Буфер обмена","capture.source.clipboard_button":"Кнопка буфера","capture.source.drop":"Перетаскивание","capture.source.paste":"Вставка","capture.source.browser":"Браузер","capture.source.manual":"Вручную","capture.dropOverlayNode":"Будет добавлено в Неразобранное для: {title}","capture.dropOverlayGlobal":"Будет добавлено в глобальное Неразобранное","trash.openFolder":"Открыть папку корзины","trash.empty":"Корзина пуста","trash.emptyTrash":"Очистить корзину","trash.restore":"Восстановить","trash.deletedNodes":"Удаленные элементы","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.inbox":"Неразобранное","tab.links":"Ссылки","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":"Дело","kind.link":"Ссылка","links.empty":"Ссылок пока нет","links.editTitle":"Редактировать ссылку","links.note":"Заметка","links.copyUrl":"Копировать URL","links.copied":"URL скопирован","links.copyUnavailable":"Не удалось скопировать URL","links.deleteTitle":"Удалить ссылку","links.deleteConfirm":"Удалить ссылку «{title}»?","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":"событий","today.feed":"Лента","today.suggestionsTab":"Предложения","today.inProgress":"В работе","today.captured":"Захвачено","today.feedEmpty":"Сегодня событий нет","today.inProgressEmpty":"Сегодня ничего не изменяли","today.capturedEmpty":"Сегодня ничего не захвачено","today.feedHint":"События за сегодня: изменения файлов, заметок, действий и другие события.","today.sortByTime":"по времени","today.sortByName":"по имени","today.sortByType":"по типу","today.sortAsc":"по возрастанию","today.sortDesc":"по убыванию","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":"Срок действия токена истёк"},A1={"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.sortByDate":"by date","inbox.sortByName":"by name","inbox.sortByType":"by type","inbox.sortAsc":"ascending","inbox.sortDesc":"descending","inbox.groupByContext":"Group by capture location","inbox.noContext":"No capture location","inbox.empty":"No unprocessed items","inbox.pasteClipboard":"Paste from clipboard","inbox.captured":"Added","inbox.clipboardEmpty":"Clipboard is empty","inbox.clipboardUnavailable":"Clipboard is unavailable","inbox.assign":"Assign","inbox.keepHere":"Attach at captured location","inbox.localEmpty":"No unprocessed materials for this case","inbox.capturedIn":"Captured in","inbox.suggestedTarget":"Target","inbox.assignTitle":"Assign material","inbox.assignTarget":"Case","inbox.assignSearchPlaceholder":"Find case","inbox.deleteTitle":"Delete material","inbox.deleteConfirm":'Delete "{title}" from inbox?',"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.clipboard_button":"Clipboard button","capture.source.drop":"Drop","capture.source.paste":"Paste","capture.source.browser":"Browser","capture.source.manual":"Manual","capture.dropOverlayNode":"Will be added to Inbox for: {title}","capture.dropOverlayGlobal":"Will be added to global Inbox","trash.openFolder":"Open trash folder","trash.empty":"Trash is empty","trash.emptyTrash":"Empty trash","trash.restore":"Restore","trash.deletedNodes":"Deleted items","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.inbox":"Inbox","tab.links":"Links","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","kind.link":"Link","links.empty":"No links yet","links.editTitle":"Edit link","links.note":"Note","links.copyUrl":"Copy URL","links.copied":"URL copied","links.copyUnavailable":"Could not copy URL","links.deleteTitle":"Delete link","links.deleteConfirm":'Delete link "{title}"?',"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","today.feed":"Feed","today.suggestionsTab":"Suggestions","today.inProgress":"In Progress","today.captured":"Captured","today.feedEmpty":"No events today","today.inProgressEmpty":"Nothing modified today","today.capturedEmpty":"Nothing captured today","today.feedHint":"Today's events: file changes, notes, actions and other events.","today.sortByTime":"by time","today.sortByName":"by name","today.sortByType":"by type","today.sortAsc":"ascending","today.sortDesc":"descending","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"},uo={ru:j1,en:A1};let fo="ru";function v(n,e){var i;const t=uo[fo];let l=t==null?void 0:t[n];if(l==null&&fo!=="ru"&&(l=(i=uo.ru)==null?void 0:i[n]),l==null&&(l=n),e!=null)for(const[a,r]of Object.entries(e))l=l.replace(`{${a}}`,String(r));return l}function tl(n){if(n==null||n<0)return"—";if(n===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(n)/Math.log(1024)),e.length-1),l=n/Math.pow(1024,t);return(t===0?l.toFixed(0):l.toFixed(1))+" "+e[t]}const Kl={"image/jpeg":v("mime.jpeg"),"image/png":v("mime.png"),"image/gif":v("mime.gif"),"image/webp":v("mime.webp"),"image/svg+xml":v("mime.svg"),"image/bmp":v("mime.bmp"),"image/tiff":v("mime.tiff"),"image/avif":v("mime.avif"),"application/pdf":v("mime.pdf"),"application/msword":v("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":v("mime.word"),"application/vnd.ms-excel":v("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":v("mime.excel"),"application/vnd.ms-powerpoint":v("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":v("mime.ppt"),"application/zip":v("mime.zip"),"application/gzip":v("mime.gzip"),"application/x-tar":v("mime.tar"),"application/x-7z-compressed":v("mime.sevenz"),"application/x-rar-compressed":v("mime.rar"),"text/plain":v("mime.text"),"text/html":v("mime.html"),"text/css":v("mime.css"),"text/javascript":v("mime.js"),"application/json":v("mime.json"),"application/xml":v("mime.xml"),"application/x-yaml":v("mime.yaml"),"application/octet-stream":v("mime.binary"),"application/x-msdos-program":v("mime.executable"),"inode/directory":v("mime.folder")};function po(n){return n?Kl[n]||n:v("mime.unknown")}function L1(n){if(n.type==="folder")return v("mime.folder");const e=(n.mime||"").toLowerCase();if(Kl[e])return Kl[e];const l=(n.name||"").toLowerCase().split(".").pop();return l?l.toUpperCase():v("mime.file")}function Ja(n){if(n.type==="folder")return"folder";const e=(n.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 l=(n.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(l)?"code":"generic"}const qa=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Ya=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Qa=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Xa=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function vo(n){if(n.type==="folder")return!1;const e=(n.mime||"").toLowerCase(),l=(n.name||"").toLowerCase().split(".").pop();return!!(qa.includes(e)||Xa.includes(l)||e.includes("pdf")||Ya.includes(e)||Qa.includes(l))}function Za(n){const e=(n.mime||"").toLowerCase(),l=(n.name||"").toLowerCase().split(".").pop();return qa.includes(e)||Xa.includes(l)}function xa(n){const e=(n.mime||"").toLowerCase(),l=(n.name||"").toLowerCase().split(".").pop();return Ya.includes(e)||Qa.includes(l)&&l!=="md"&&l!=="markdown"}function $a(n){return(n.mime||"").toLowerCase().includes("pdf")}function ec(n){const e=(n.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function P1(n){return Za(n)||$a(n)}function F1(n){return xa(n)||ec(n)}const{window:R1}=Jl;function O1(n){let e,t,l,i=tl(n[0].size)+"",a;return{c(){e=f("span"),e.textContent="·",t=_(),l=f("span"),a=z(i),o(e,"class","meta-sep svelte-1skuef2")},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),s(l,a)},p(r,c){c[0]&1&&i!==(i=tl(r[0].size)+"")&&K(a,i)},d(r){r&&(w(e),w(t),w(l))}}}function z1(n){let e,t,l,i,a;return{c(){e=f("button"),e.innerHTML='',t=_(),l=f("button"),l.innerHTML='',o(e,"class","action-btn svelte-1skuef2"),o(e,"title",v("file.openFolder")),o(e,"aria-label",v("file.openFolder")),o(l,"class","action-btn svelte-1skuef2"),o(l,"title",v("file.showInExplorer")),o(l,"aria-label",v("file.showInExplorer"))},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),i||(a=[A(e,"click",Te(n[30])),A(l,"click",Te(n[11]))],i=!0)},p:ie,d(r){r&&(w(e),w(t),w(l)),i=!1,ve(a)}}}function H1(n){let e,t,l,i,a,r,c;return{c(){e=f("button"),e.innerHTML='',t=_(),l=f("button"),l.innerHTML='',i=_(),a=f("button"),a.innerHTML='',o(e,"class","action-btn svelte-1skuef2"),o(e,"title",v("file.preview")),o(e,"aria-label",v("file.preview")),o(l,"class","action-btn svelte-1skuef2"),o(l,"title",v("file.openExternal")),o(l,"aria-label",v("file.openExternal")),o(a,"class","action-btn svelte-1skuef2"),o(a,"title",v("file.showInExplorer")),o(a,"aria-label",v("file.showInExplorer"))},m(u,p){C(u,e,p),C(u,t,p),C(u,l,p),C(u,i,p),C(u,a,p),r||(c=[A(e,"click",Te(n[29])),A(l,"click",Te(n[10])),A(a,"click",Te(n[11]))],r=!0)},p:ie,d(u){u&&(w(e),w(t),w(l),w(i),w(a)),r=!1,ve(c)}}}function mo(n){let e,t,l,i,a,r,c,u,p=v("common.open")+"",h,m,g,b,k,y,S,T,E=v("file.openExternal")+"",I,D,N,M,j,R,O=v("file.showInExplorer")+"",H,V,G,U,q,Y,B,F,W,P=v("common.rename")+"",J,Q,ee,te,le,se,ce,de=v("common.duplicate")+"",we,ze,me,X,x,be,Ce,_e,He,Ze=v("common.cut")+"",pt,Ye,Ie,Oe,Me,Z,ye,Pe=v("common.copy")+"",je,Be,Ae,Ee,We,Ue,$e,Fe,he,Ne=v("common.delete")+"",Le,ot,rt;return{c(){e=f("div"),t=_(),l=f("div"),i=f("button"),a=$("svg"),r=$("path"),c=$("circle"),u=_(),h=z(p),m=_(),g=f("button"),b=$("svg"),k=$("path"),y=$("polyline"),S=$("line"),T=_(),I=z(E),D=_(),N=f("button"),M=$("svg"),j=$("path"),R=_(),H=z(O),V=_(),G=f("div"),U=_(),q=f("button"),Y=$("svg"),B=$("path"),F=$("path"),W=_(),J=z(P),Q=_(),ee=f("button"),te=$("svg"),le=$("rect"),se=$("path"),ce=_(),we=z(de),ze=_(),me=f("button"),X=$("svg"),x=$("circle"),be=$("circle"),Ce=$("line"),_e=$("line"),He=_(),pt=z(Ze),Ye=_(),Ie=f("button"),Oe=$("svg"),Me=$("rect"),Z=$("path"),ye=_(),je=z(Pe),Be=_(),Ae=f("div"),Ee=_(),We=f("button"),Ue=$("svg"),$e=$("polyline"),Fe=$("path"),he=_(),Le=z(Ne),o(e,"class","menu-backdrop svelte-1skuef2"),o(e,"role","presentation"),o(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),o(c,"cx","12"),o(c,"cy","12"),o(c,"r","3"),o(a,"width","14"),o(a,"height","14"),o(a,"viewBox","0 0 24 24"),o(a,"fill","none"),o(a,"stroke","currentColor"),o(a,"stroke-width","2"),o(a,"stroke-linecap","round"),o(a,"stroke-linejoin","round"),o(i,"class","menu-item svelte-1skuef2"),o(i,"role","menuitem"),o(k,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),o(y,"points","15 3 21 3 21 9"),o(S,"x1","10"),o(S,"y1","14"),o(S,"x2","21"),o(S,"y2","3"),o(b,"width","14"),o(b,"height","14"),o(b,"viewBox","0 0 24 24"),o(b,"fill","none"),o(b,"stroke","currentColor"),o(b,"stroke-width","2"),o(b,"stroke-linecap","round"),o(b,"stroke-linejoin","round"),o(g,"class","menu-item svelte-1skuef2"),o(g,"role","menuitem"),o(j,"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"),o(M,"width","14"),o(M,"height","14"),o(M,"viewBox","0 0 24 24"),o(M,"fill","none"),o(M,"stroke","currentColor"),o(M,"stroke-width","2"),o(M,"stroke-linecap","round"),o(M,"stroke-linejoin","round"),o(N,"class","menu-item svelte-1skuef2"),o(N,"role","menuitem"),o(G,"class","menu-sep svelte-1skuef2"),o(B,"d","M12 20h9"),o(F,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),o(Y,"width","14"),o(Y,"height","14"),o(Y,"viewBox","0 0 24 24"),o(Y,"fill","none"),o(Y,"stroke","currentColor"),o(Y,"stroke-width","2"),o(Y,"stroke-linecap","round"),o(Y,"stroke-linejoin","round"),o(q,"class","menu-item svelte-1skuef2"),o(q,"role","menuitem"),o(le,"x","9"),o(le,"y","9"),o(le,"width","13"),o(le,"height","13"),o(le,"rx","2"),o(le,"ry","2"),o(se,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),o(te,"width","14"),o(te,"height","14"),o(te,"viewBox","0 0 24 24"),o(te,"fill","none"),o(te,"stroke","currentColor"),o(te,"stroke-width","2"),o(te,"stroke-linecap","round"),o(te,"stroke-linejoin","round"),o(ee,"class","menu-item svelte-1skuef2"),o(ee,"role","menuitem"),o(x,"cx","6"),o(x,"cy","6"),o(x,"r","3"),o(be,"cx","6"),o(be,"cy","18"),o(be,"r","3"),o(Ce,"x1","20"),o(Ce,"y1","4"),o(Ce,"x2","8.12"),o(Ce,"y2","15.88"),o(_e,"x1","8.12"),o(_e,"y1","8.12"),o(_e,"x2","20"),o(_e,"y2","20"),o(X,"width","14"),o(X,"height","14"),o(X,"viewBox","0 0 24 24"),o(X,"fill","none"),o(X,"stroke","currentColor"),o(X,"stroke-width","2"),o(X,"stroke-linecap","round"),o(X,"stroke-linejoin","round"),o(me,"class","menu-item svelte-1skuef2"),o(me,"role","menuitem"),o(Me,"x","9"),o(Me,"y","9"),o(Me,"width","13"),o(Me,"height","13"),o(Me,"rx","2"),o(Me,"ry","2"),o(Z,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),o(Oe,"width","14"),o(Oe,"height","14"),o(Oe,"viewBox","0 0 24 24"),o(Oe,"fill","none"),o(Oe,"stroke","currentColor"),o(Oe,"stroke-width","2"),o(Oe,"stroke-linecap","round"),o(Oe,"stroke-linejoin","round"),o(Ie,"class","menu-item svelte-1skuef2"),o(Ie,"role","menuitem"),o(Ae,"class","menu-sep svelte-1skuef2"),o($e,"points","3 6 5 6 21 6"),o(Fe,"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"),o(Ue,"width","14"),o(Ue,"height","14"),o(Ue,"viewBox","0 0 24 24"),o(Ue,"fill","none"),o(Ue,"stroke","currentColor"),o(Ue,"stroke-width","2"),o(Ue,"stroke-linecap","round"),o(Ue,"stroke-linejoin","round"),o(We,"class","menu-item menu-item-danger svelte-1skuef2"),o(We,"role","menuitem"),o(l,"class","menu svelte-1skuef2"),Ct(l,"left",n[3]+"px"),Ct(l,"top",n[4]+"px"),Ct(l,"position","fixed"),o(l,"role","menu"),o(l,"tabindex","-1")},m(xe,Ke){C(xe,e,Ke),C(xe,t,Ke),C(xe,l,Ke),s(l,i),s(i,a),s(a,r),s(a,c),s(i,u),s(i,h),s(l,m),s(l,g),s(g,b),s(b,k),s(b,y),s(b,S),s(g,T),s(g,I),s(l,D),s(l,N),s(N,M),s(M,j),s(N,R),s(N,H),s(l,V),s(l,G),s(l,U),s(l,q),s(q,Y),s(Y,B),s(Y,F),s(q,W),s(q,J),s(l,Q),s(l,ee),s(ee,te),s(te,le),s(te,se),s(ee,ce),s(ee,we),s(l,ze),s(l,me),s(me,X),s(X,x),s(X,be),s(X,Ce),s(X,_e),s(me,He),s(me,pt),s(l,Ye),s(l,Ie),s(Ie,Oe),s(Oe,Me),s(Oe,Z),s(Ie,ye),s(Ie,je),s(l,Be),s(l,Ae),s(l,Ee),s(l,We),s(We,Ue),s(Ue,$e),s(Ue,Fe),s(We,he),s(We,Le),ot||(rt=[A(e,"click",Te(n[19])),A(i,"click",n[17]),A(g,"click",n[10]),A(N,"click",n[11]),A(q,"click",n[13]),A(ee,"click",n[14]),A(me,"click",n[15]),A(Ie,"click",n[16]),A(We,"click",n[12]),A(l,"click",Te(n[28])),A(l,"keydown",n[31])],ot=!0)},p(xe,Ke){Ke[0]&8&&Ct(l,"left",xe[3]+"px"),Ke[0]&16&&Ct(l,"top",xe[4]+"px")},d(xe){xe&&(w(e),w(t),w(l)),ot=!1,ve(rt)}}}function B1(n){let e,t,l,i,a,r,c=n[0].name+"",u,p,h,m,g,b,k,y,S,T,E,I,D,N,M,j,R,O,H,V,G,U;l=new Ga({props:{kind:n[6],size:22}});let q=!n[7]&&O1(n);function Y(P,J){return P[7]?z1:H1}let F=Y(n)(n),W=n[2]&&mo(n);return{c(){e=f("div"),t=f("div"),Xe(l.$$.fragment),i=_(),a=f("div"),r=f("div"),u=z(c),h=_(),m=f("div"),g=f("span"),g.textContent=`${n[8]}`,b=_(),q&&q.c(),k=_(),y=f("div"),F.c(),S=_(),T=f("button"),E=$("svg"),I=$("circle"),D=$("circle"),N=$("circle"),M=_(),j=f("button"),j.innerHTML='',O=_(),W&&W.c(),H=ht(),o(t,"class","file-row-icon svelte-1skuef2"),o(r,"class","file-row-name svelte-1skuef2"),o(r,"title",p=n[0].name),o(m,"class","file-row-meta svelte-1skuef2"),o(a,"class","file-row-body svelte-1skuef2"),o(I,"cx","12"),o(I,"cy","5"),o(I,"r","2"),o(D,"cx","12"),o(D,"cy","12"),o(D,"r","2"),o(N,"cx","12"),o(N,"cy","19"),o(N,"r","2"),o(E,"width","16"),o(E,"height","16"),o(E,"viewBox","0 0 24 24"),o(E,"fill","currentColor"),o(T,"class","action-btn svelte-1skuef2"),o(T,"title",v("file.more")),o(T,"aria-label",v("file.more")),o(T,"aria-expanded",n[2]),o(j,"class","action-btn action-btn-danger svelte-1skuef2"),o(j,"title",v("common.delete")),o(j,"aria-label",v("common.delete")),o(y,"class","file-row-actions svelte-1skuef2"),o(e,"class","file-row svelte-1skuef2"),o(e,"role","button"),o(e,"tabindex","0"),o(e,"draggable","true"),o(e,"aria-label",R=n[7]?v("file.ariaFolder")+" "+n[0].name:v("file.ariaFile")+" "+n[0].name),ae(e,"file-row--selected",n[1])},m(P,J){C(P,e,J),s(e,t),Je(l,t,null),s(e,i),s(e,a),s(a,r),s(r,u),s(a,h),s(a,m),s(m,g),s(m,b),q&&q.m(m,null),s(e,k),s(e,y),F.m(y,null),s(y,S),s(y,T),s(T,E),s(E,I),s(E,D),s(E,N),s(y,M),s(y,j),C(P,O,J),W&&W.m(P,J),C(P,H,J),V=!0,G||(U=[A(R1,"click",n[19]),A(T,"click",Te(n[18])),A(j,"click",Te(n[12])),A(e,"click",n[9]),A(e,"keydown",n[24]),A(e,"contextmenu",n[23]),A(e,"dragstart",n[20]),A(e,"dragover",n[21]),A(e,"drop",n[22])],G=!0)},p(P,J){(!V||J[0]&1)&&c!==(c=P[0].name+"")&&K(u,c),(!V||J[0]&1&&p!==(p=P[0].name))&&o(r,"title",p),P[7]||q.p(P,J),F.p(P,J),(!V||J[0]&4)&&o(T,"aria-expanded",P[2]),(!V||J[0]&1&&R!==(R=P[7]?v("file.ariaFolder")+" "+P[0].name:v("file.ariaFile")+" "+P[0].name))&&o(e,"aria-label",R),(!V||J[0]&2)&&ae(e,"file-row--selected",P[1]),P[2]?W?W.p(P,J):(W=mo(P),W.c(),W.m(H.parentNode,H)):W&&(W.d(1),W=null)},i(P){V||(pe(l.$$.fragment,P),V=!0)},o(P){ge(l.$$.fragment,P),V=!1},d(P){P&&(w(e),w(O),w(H)),qe(l),q&&q.d(),F.d(),W&&W.d(P),G=!1,ve(U)}}}function W1(n,e,t){let{item:l}=e,{selected:i=!1}=e,{onDragStart:a}=e,{onDragOver:r}=e,{onDrop:c}=e;const u=il(),p=Ja(l),h=l.type==="folder",m=L1(l);let g=!1,b=0,k=0,y=null;function S(J){J.ctrlKey||J.metaKey?u("toggleSelect",l.id):J.shiftKey?u("rangeSelect",l.id):y?(clearTimeout(y),y=null,h?u("navigate",l.id):u("preview",l)):y=setTimeout(()=>{y=null,u("selectOne",l.id)},250)}function T(){u("openExternal",l.fileId)}function E(){t(2,g=!1),u("showInFolder",l.nodeId||l.id)}function I(){t(2,g=!1),u("delete",{id:l.id,type:l.type})}function D(){t(2,g=!1),u("rename",{id:l.id,name:l.name})}function N(){t(2,g=!1),u("duplicate",l.id)}function M(){t(2,g=!1),u("cut",l.id)}function j(){t(2,g=!1),u("copy",l.id)}function R(){t(2,g=!1),h?u("navigate",l.id):u("preview",l)}function O(){t(2,g=!g)}function H(){t(2,g=!1)}function V(J){a&&a(J,l.id)}function G(J){r&&h&&r(J,l.id)}function U(J){c&&h&&c(J,l.id)}function q(J){J.preventDefault(),t(3,b=Math.min(J.clientX,window.innerWidth-240)),t(4,k=Math.min(J.clientY,window.innerHeight-320)),t(2,g=!0)}function Y(J){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),S(J))}function B(J){Wa.call(this,n,J)}const F=()=>u("preview",l),W=()=>u("navigate",l.id),P=J=>{J.key==="Escape"&&(J.stopPropagation(),H())};return n.$$set=J=>{"item"in J&&t(0,l=J.item),"selected"in J&&t(1,i=J.selected),"onDragStart"in J&&t(25,a=J.onDragStart),"onDragOver"in J&&t(26,r=J.onDragOver),"onDrop"in J&&t(27,c=J.onDrop)},[l,i,g,b,k,u,p,h,m,S,T,E,I,D,N,M,j,R,O,H,V,G,U,q,Y,a,r,c,B,F,W,P]}class V1 extends it{constructor(e){super(),lt(this,e,W1,B1,nt,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function _o(n,e,t){const l=n.slice();return l[4]=e[t],l[6]=t,l}function U1(n){let e;return{c(){e=f("span"),e.textContent="/",o(e,"class","sep svelte-csi2lb")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function K1(n){let e,t=n[4].name+"",l,i,a;function r(){return n[2](n[6])}return{c(){e=f("button"),l=z(t),o(e,"class","crumb crumb--link svelte-csi2lb")},m(c,u){C(c,e,u),s(e,l),i||(a=A(e,"click",r),i=!0)},p(c,u){n=c,u&1&&t!==(t=n[4].name+"")&&K(l,t)},d(c){c&&w(e),i=!1,a()}}}function G1(n){let e,t=n[4].name+"",l;return{c(){e=f("span"),l=z(t),o(e,"class","crumb crumb--current svelte-csi2lb")},m(i,a){C(i,e,a),s(e,l)},p(i,a){a&1&&t!==(t=i[4].name+"")&&K(l,t)},d(i){i&&w(e)}}}function ho(n){let e,t,l=n[6]>0&&U1();function i(c,u){return c[6]===c[0].length-1?G1:K1}let a=i(n),r=a(n);return{c(){l&&l.c(),e=_(),r.c(),t=ht()},m(c,u){l&&l.m(c,u),C(c,e,u),r.m(c,u),C(c,t,u)},p(c,u){a===(a=i(c))&&r?r.p(c,u):(r.d(1),r=a(c),r&&(r.c(),r.m(t.parentNode,t)))},d(c){c&&(w(e),w(t)),l&&l.d(c),r.d(c)}}}function J1(n){let e,t=ue(n[0]),l=[];for(let i=0;ia(c);return n.$$set=c=>{"crumbs"in c&&t(0,l=c.crumbs)},[l,a,r]}class tc extends it{constructor(e){super(),lt(this,e,q1,J1,nt,{crumbs:0})}}function Y1(n){let e,t,l,i,a,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${v("file.previewUnavailable")}`,l=_(),i=f("button"),i.textContent=`${v("file.openExternal")}`,o(i,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),a||(r=A(i,"click",n[9]),a=!0)},p:ie,d(c){c&&w(e),a=!1,r()}}}function Q1(n){let e,t;function l(r,c){return c&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?tp:ep}let i=l(n,-1),a=i(n);return{c(){a.c(),t=ht()},m(r,c){a.m(r,c),C(r,t,c)},p(r,c){i===(i=l(r,c))&&a?a.p(r,c):(a.d(1),a=i(r),a&&(a.c(),a.m(t.parentNode,t)))},d(r){r&&w(t),a.d(r)}}}function X1(n){let e,t,l;return{c(){e=f("pre"),t=f("code"),l=z(n[1]),o(e,"class","preview-text svelte-1cw3u0m")},m(i,a){C(i,e,a),s(e,t),s(t,l)},p(i,a){a&2&&K(l,i[1])},d(i){i&&w(e)}}}function Z1(n){let e,t,l,i;return{c(){e=f("div"),t=f("img"),pn(t.src,l=n[1])||o(t,"src",l),o(t,"alt",i=n[0].name),o(t,"class","preview-image svelte-1cw3u0m"),o(e,"class","preview-image-container svelte-1cw3u0m")},m(a,r){C(a,e,r),s(e,t)},p(a,r){r&2&&!pn(t.src,l=a[1])&&o(t,"src",l),r&1&&i!==(i=a[0].name)&&o(t,"alt",i)},d(a){a&&w(e)}}}function x1(n){let e,t,l,i,a,r,c;return{c(){e=f("div"),t=f("p"),l=z(n[3]),i=_(),a=f("button"),a.textContent=`${v("file.openExternal")}`,o(a,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(u,p){C(u,e,p),s(e,t),s(t,l),s(e,i),s(e,a),r||(c=A(a,"click",n[9]),r=!0)},p(u,p){p&8&&K(l,u[3])},d(u){u&&w(e),r=!1,c()}}}function $1(n){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${v("common.loading")}`,o(e,"class","preview-status svelte-1cw3u0m")},m(l,i){C(l,e,i),s(e,t)},p:ie,d(l){l&&w(e)}}}function ep(n){let e,t,l,i,a,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${v("file.pdfUnavailable")}`,l=_(),i=f("button"),i.textContent=`${v("file.openExternal")}`,o(i,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),a||(r=A(i,"click",n[9]),a=!0)},p:ie,d(c){c&&w(e),a=!1,r()}}}function tp(n){let e,t,l;return{c(){e=f("div"),t=f("embed"),pn(t.src,l=n[1])||o(t,"src",l),o(t,"type","application/pdf"),o(t,"class","preview-pdf svelte-1cw3u0m"),o(e,"class","preview-pdf-container svelte-1cw3u0m")},m(i,a){C(i,e,a),s(e,t)},p(i,a){a&2&&!pn(t.src,l=i[1])&&o(t,"src",l)},d(i){i&&w(e)}}}function np(n){let e,t,l,i,a,r,c,u=n[0].name+"",p,h,m,g,b=tl(n[0].size)+"",k,y,S=po(n[0].mime)+"",T,E,I,D,N,M,j,R,O,H,V;a=new Ga({props:{kind:n[8],size:18}});function G(Y,B){return Y[2]?$1:Y[3]?x1:Y[6]&&Y[1]?Z1:Y[5]&&Y[1]?X1:Y[4]?Q1:Y1}let U=G(n),q=U(n);return{c(){e=f("div"),t=f("div"),l=f("header"),i=f("div"),Xe(a.$$.fragment),r=_(),c=f("span"),p=z(u),m=_(),g=f("div"),k=z(b),y=z(" · "),T=z(S),E=_(),I=f("div"),D=f("button"),D.innerHTML='',N=_(),M=f("button"),M.innerHTML='',j=_(),R=f("div"),q.c(),o(c,"class","preview-name svelte-1cw3u0m"),o(c,"title",h=n[0].name),o(i,"class","preview-title svelte-1cw3u0m"),o(g,"class","preview-meta svelte-1cw3u0m"),o(D,"class","action-btn svelte-1cw3u0m"),o(D,"title",v("file.openExternal")),o(D,"aria-label",v("file.openExternal")),o(M,"class","action-btn action-btn-close svelte-1cw3u0m"),o(M,"title","Close"),o(M,"aria-label","Close preview"),o(I,"class","preview-actions svelte-1cw3u0m"),o(l,"class","preview-header svelte-1cw3u0m"),o(R,"class","preview-body svelte-1cw3u0m"),o(t,"class","modal svelte-1cw3u0m"),o(e,"class","overlay svelte-1cw3u0m"),o(e,"role","presentation")},m(Y,B){C(Y,e,B),s(e,t),s(t,l),s(l,i),Je(a,i,null),s(i,r),s(i,c),s(c,p),s(l,m),s(l,g),s(g,k),s(g,y),s(g,T),s(l,E),s(l,I),s(I,D),s(I,N),s(I,M),s(t,j),s(t,R),q.m(R,null),O=!0,H||(V=[A(D,"click",n[9]),A(M,"click",n[10]),A(e,"click",Et(n[11])),A(e,"keydown",n[12])],H=!0)},p(Y,[B]){(!O||B&1)&&u!==(u=Y[0].name+"")&&K(p,u),(!O||B&1&&h!==(h=Y[0].name))&&o(c,"title",h),(!O||B&1)&&b!==(b=tl(Y[0].size)+"")&&K(k,b),(!O||B&1)&&S!==(S=po(Y[0].mime)+"")&&K(T,S),U===(U=G(Y))&&q?q.p(Y,B):(q.d(1),q=U(Y),q&&(q.c(),q.m(R,null)))},i(Y){O||(pe(a.$$.fragment,Y),O=!0)},o(Y){ge(a.$$.fragment,Y),O=!1},d(Y){Y&&w(e),qe(a),q.d(),H=!1,ve(V)}}}function lp(n,e,t){let l,i,a,{item:r}=e,{content:c=""}=e,{loading:u=!1}=e,{error:p=""}=e;const h=il(),m=Ja(r);function g(T){T.key==="Escape"&&h("close")}function b(){h("openExternal",r.fileId)}Ba(()=>{window.addEventListener("keydown",g)}),Ql(()=>{window.removeEventListener("keydown",g)});const k=()=>h("close"),y=()=>h("close"),S=T=>{T.key==="Escape"&&(T.preventDefault(),h("close"))};return n.$$set=T=>{"item"in T&&t(0,r=T.item),"content"in T&&t(1,c=T.content),"loading"in T&&t(2,u=T.loading),"error"in T&&t(3,p=T.error)},n.$$.update=()=>{n.$$.dirty&3&&t(6,l=Za(r)&&c&&c.startsWith("data:")),n.$$.dirty&1&&t(5,i=xa(r)||ec(r)),n.$$.dirty&1&&t(4,a=$a(r))},[r,c,u,p,a,i,l,h,m,b,k,y,S]}class ip extends it{constructor(e){super(),lt(this,e,lp,np,nt,{item:0,content:1,loading:2,error:3})}}function op(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T;return{c(){e=f("div"),t=f("div"),l=f("h3"),i=z(n[0]),a=_(),r=f("p"),c=z(n[1]),u=_(),p=f("div"),h=f("button"),m=z(n[2]),b=_(),k=f("button"),y=z(n[3]),o(l,"class","svelte-1fv6yyk"),o(r,"class","message svelte-1fv6yyk"),o(h,"class",g="btn "+(n[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),o(k,"class","btn svelte-1fv6yyk"),o(p,"class","actions svelte-1fv6yyk"),o(t,"class","modal svelte-1fv6yyk"),o(e,"class","overlay svelte-1fv6yyk"),o(e,"role","presentation")},m(E,I){C(E,e,I),s(e,t),s(t,l),s(l,i),s(t,a),s(t,r),s(r,c),s(t,u),s(t,p),s(p,h),s(h,m),s(p,b),s(p,k),s(k,y),S||(T=[A(h,"click",n[6]),A(k,"click",n[7]),A(e,"click",Et(n[8])),A(e,"keydown",n[9])],S=!0)},p(E,[I]){I&1&&K(i,E[0]),I&2&&K(c,E[1]),I&4&&K(m,E[2]),I&16&&g!==(g="btn "+(E[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&o(h,"class",g),I&8&&K(y,E[3])},i:ie,o:ie,d(E){E&&w(e),S=!1,ve(T)}}}function sp(n,e,t){let{title:l=v("common.confirm")}=e,{message:i=""}=e,{confirmText:a=v("common.delete")}=e,{cancelText:r=v("common.cancel")}=e,{danger:c=!1}=e;const u=il(),p=()=>u("confirm"),h=()=>u("cancel"),m=()=>u("cancel"),g=b=>{b.key==="Escape"&&(b.preventDefault(),u("cancel"))};return n.$$set=b=>{"title"in b&&t(0,l=b.title),"message"in b&&t(1,i=b.message),"confirmText"in b&&t(2,a=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,c=b.danger)},[l,i,a,r,c,u,p,h,m,g]}class rp extends it{constructor(e){super(),lt(this,e,sp,op,nt,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function ap(n){let e,t,l;return{c(){e=$("circle"),t=$("line"),l=$("line"),o(e,"cx","12"),o(e,"cy","12"),o(e,"r","10"),o(t,"x1","12"),o(t,"y1","16"),o(t,"x2","12"),o(t,"y2","12"),o(l,"x1","12"),o(l,"y1","8"),o(l,"x2","12.01"),o(l,"y2","8")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},d(i){i&&(w(e),w(t),w(l))}}}function cp(n){let e,t,l,i;return{c(){e=$("rect"),t=$("polyline"),l=$("line"),i=$("line"),o(e,"x","3"),o(e,"y","5"),o(e,"width","18"),o(e,"height","14"),o(e,"rx","2"),o(t,"points","3 10 21 10"),o(l,"x1","8"),o(l,"y1","5"),o(l,"x2","8"),o(l,"y2","19"),o(i,"x1","16"),o(i,"y1","5"),o(i,"x2","16"),o(i,"y2","19")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function up(n){let e,t;return{c(){e=$("path"),t=$("polyline"),o(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),o(t,"points","13 2 13 9 20 9")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function fp(n){let e,t;return{c(){e=$("path"),t=$("path"),o(e,"d","M12 20h9"),o(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function dp(n){let e,t,l,i,a;return{c(){e=$("path"),t=$("path"),l=$("line"),i=$("line"),a=$("line"),o(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),o(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"),o(l,"x1","8"),o(l,"y1","7"),o(l,"x2","16"),o(l,"y2","7"),o(i,"x1","8"),o(i,"y1","11"),o(i,"x2","14"),o(i,"y2","11"),o(a,"x1","8"),o(a,"y1","15"),o(a,"x2","12"),o(a,"y2","15")},m(r,c){C(r,e,c),C(r,t,c),C(r,l,c),C(r,i,c),C(r,a,c)},d(r){r&&(w(e),w(t),w(l),w(i),w(a))}}}function pp(n){let e,t,l,i;return{c(){e=$("path"),t=$("polyline"),l=$("line"),i=$("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(l,"x1","16"),o(l,"y1","13"),o(l,"x2","8"),o(l,"y2","13"),o(i,"x1","16"),o(i,"y1","17"),o(i,"x2","8"),o(i,"y2","17")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function vp(n){let e,t;return{c(){e=$("path"),t=$("circle"),o(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),o(t,"cx","12"),o(t,"cy","7"),o(t,"r","4")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function mp(n){let e,t,l,i;return{c(){e=$("rect"),t=$("rect"),l=$("rect"),i=$("rect"),o(e,"x","3"),o(e,"y","3"),o(e,"width","7"),o(e,"height","7"),o(e,"rx","1"),o(t,"x","14"),o(t,"y","3"),o(t,"width","7"),o(t,"height","4"),o(t,"rx","1"),o(l,"x","14"),o(l,"y","10"),o(l,"width","7"),o(l,"height","11"),o(l,"rx","1"),o(i,"x","3"),o(i,"y","14"),o(i,"width","7"),o(i,"height","7"),o(i,"rx","1")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function _p(n){let e;return{c(){e=$("path"),o(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,l){C(t,e,l)},d(t){t&&w(e)}}}function hp(n){let e;function t(a,r){return a[0]==="folder"?_p:a[0]==="project"?mp:a[0]==="client"?vp:a[0]==="document"?pp:a[0]==="recipe"?dp:a[0]==="note"?fp:a[0]==="file"?up:a[0]==="case"?cp:ap}let l=t(n),i=l(n);return{c(){e=$("svg"),i.c(),o(e,"width",n[1]),o(e,"height",n[1]),o(e,"viewBox","0 0 24 24"),o(e,"fill","none"),o(e,"stroke","currentColor"),o(e,"stroke-width","1.5"),o(e,"stroke-linecap","round"),o(e,"stroke-linejoin","round"),o(e,"xmlns","http://www.w3.org/2000/svg")},m(a,r){C(a,e,r),i.m(e,null)},p(a,[r]){l!==(l=t(a))&&(i.d(1),i=l(a),i&&(i.c(),i.m(e,null))),r&2&&o(e,"width",a[1]),r&2&&o(e,"height",a[1])},i:ie,o:ie,d(a){a&&w(e),i.d()}}}function gp(n,e,t){let{kind:l="generic"}=e,{size:i=18}=e;return n.$$set=a=>{"kind"in a&&t(0,l=a.kind),"size"in a&&t(1,i=a.size)},[l,i]}class ol extends it{constructor(e){super(),lt(this,e,gp,hp,nt,{kind:0,size:1})}}function go(n,e,t){const l=n.slice();return l[44]=e[t],l}function bp(n){let e;return{c(){e=f("span"),o(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,l){C(t,e,l)},p:ie,d(t){t&&w(e)}}}function kp(n){let e,t,l=n[1][n[44].id]?"▾":"▸",i,a,r;function c(){return n[25](n[44])}return{c(){e=f("button"),t=f("span"),i=z(l),o(t,"class","tree-arrow"),o(e,"class","tree-toggle svelte-zj71cl")},m(u,p){C(u,e,p),s(e,t),s(t,i),a||(r=A(e,"click",Te(c)),a=!0)},p(u,p){n=u,p[0]&3&&l!==(l=n[1][n[44].id]?"▾":"▸")&&K(i,l)},d(u){u&&w(e),a=!1,r()}}}function bo(n){let e,t;return e=new nc({props:{nodes:n[44].children||[],expanded:n[1],selectedNodeId:n[2],level:n[3]+1,onSelect:n[4],onToggle:n[5],onContextMenu:n[6],onDrop:n[7]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p(l,i){const a={};i[0]&1&&(a.nodes=l[44].children||[]),i[0]&2&&(a.expanded=l[1]),i[0]&4&&(a.selectedNodeId=l[2]),i[0]&8&&(a.level=l[3]+1),i[0]&16&&(a.onSelect=l[4]),i[0]&32&&(a.onToggle=l[5]),i[0]&64&&(a.onContextMenu=l[6]),i[0]&128&&(a.onDrop=l[7]),e.$set(a)},i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function ko(n,e){let t,l,i,a,r,c,u,p=e[44].title+"",h,m,g=e[1][e[44].id]&&Gl(e[44]),b,k,y,S;function T(F,W){return W[0]&1&&(l=null),l==null&&(l=!!Sn(F[44])),l?kp:bp}let E=T(e,[-1,-1]),I=E(e);r=new ol({props:{kind:yo(e[44]),size:16}});function D(...F){return e[26](e[44],...F)}function N(...F){return e[27](e[44],...F)}function M(){return e[28](e[44])}function j(...F){return e[29](e[44],...F)}function R(...F){return e[30](e[44],...F)}function O(...F){return e[31](e[44],...F)}function H(...F){return e[32](e[44],...F)}function V(...F){return e[33](e[44],...F)}function G(...F){return e[34](e[44],...F)}function U(...F){return e[35](e[44],...F)}function q(...F){return e[36](e[44],...F)}function Y(...F){return e[37](e[44],...F)}let B=g&&bo(e);return{key:n,first:null,c(){t=f("div"),I.c(),i=_(),a=f("span"),Xe(r.$$.fragment),c=_(),u=f("span"),h=z(p),m=_(),B&&B.c(),b=ht(),o(a,"class","tree-icon svelte-zj71cl"),o(a,"role","button"),o(a,"tabindex","-1"),o(u,"class","tree-label svelte-zj71cl"),o(u,"role","button"),o(u,"tabindex","-1"),o(t,"class","tree-item svelte-zj71cl"),Ct(t,"padding-left",e[3]*16+4+"px"),o(t,"draggable","true"),o(t,"role","button"),o(t,"tabindex","0"),ae(t,"selected",e[2]===e[44].id),ae(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),ae(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(F,W){C(F,t,W),I.m(t,null),s(t,i),s(t,a),Je(r,a,null),s(t,c),s(t,u),s(u,h),C(F,m,W),B&&B.m(F,W),C(F,b,W),k=!0,y||(S=[A(a,"click",D),A(a,"keydown",N),A(a,"dblclick",Te(e[24])),A(u,"click",Te(M)),A(u,"keydown",j),A(t,"dragstart",R),A(t,"dragover",O),A(t,"dragleave",H),A(t,"drop",V),A(t,"click",G),A(t,"keydown",U),A(t,"dblclick",q),A(t,"contextmenu",ql(Y))],y=!0)},p(F,W){e=F,E===(E=T(e,W))&&I?I.p(e,W):(I.d(1),I=E(e),I&&(I.c(),I.m(t,i)));const P={};W[0]&1&&(P.kind=yo(e[44])),r.$set(P),(!k||W[0]&1)&&p!==(p=e[44].title+"")&&K(h,p),(!k||W[0]&8)&&Ct(t,"padding-left",e[3]*16+4+"px"),(!k||W[0]&5)&&ae(t,"selected",e[2]===e[44].id),(!k||W[0]&769)&&ae(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!k||W[0]&769)&&ae(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),W[0]&3&&(g=e[1][e[44].id]&&Gl(e[44])),g?B?(B.p(e,W),W[0]&3&&pe(B,1)):(B=bo(e),B.c(),pe(B,1),B.m(b.parentNode,b)):B&&(ut(),ge(B,1,1,()=>{B=null}),ft())},i(F){k||(pe(r.$$.fragment,F),pe(B),k=!0)},o(F){ge(r.$$.fragment,F),ge(B),k=!1},d(F){F&&(w(t),w(m),w(b)),I.d(),qe(r),B&&B.d(F),y=!1,ve(S)}}}function yp(n){let e=[],t=new Map,l,i,a,r,c=ue(n[0]);const u=p=>p[44].id;for(let p=0;p0:n.has_children===!0}function wo(n){const e={};function t(l,i){for(const a of l)e[a.id]=i,a.children&&t(a.children,a.id)}return t(n,""),e}function Co(n){const e=[];function t(l){for(const i of l)e.push(i),i.children&&t(i.children)}return t(n),e}function wp(n){try{return n.dataTransfer.getData("text/plain")}catch{return""}}function Cp(n,e,t){let l,i,a,{nodes:r=[]}=e,{expanded:c={}}=e,{selectedNodeId:u=""}=e,{level:p=0}=e,{onSelect:h=void 0}=e,{onToggle:m=void 0}=e,{onContextMenu:g=void 0}=e,{onDrop:b=void 0}=e,k={},y=null,S="",T="";const E=["folder","project","client","document","recipe","case"];Ql(()=>{for(const X of Object.keys(k))clearTimeout(k[X]);y&&clearInterval(y)});function I(X){return E.includes(X.type)}function D(X,x,be){if(!X||!x||x===X.id||!I(X))return!1;let Ce=X.id;for(;Ce;){if(Ce===x)return!1;Ce=be[Ce]||""}return!0}function N(X,x){X.stopPropagation(),X.dataTransfer.effectAllowed="move",X.dataTransfer.setData("text/plain",x.id),t(21,S=x.id)}function M(X,x){X.preventDefault(),X.stopPropagation(),X.dataTransfer.dropEffect="move",T!==x.id&&t(8,T=x.id),Sn(x)&&!c[x.id]&&!k[x.id]&&(k[x.id]=setTimeout(()=>{m&&m(x.id),delete k[x.id]},600));const be=X.currentTarget.closest(".workspace-tree-area");if(be){const Ce=be.getBoundingClientRect(),_e=30;X.clientY-Ce.top<_e?y||(y=setInterval(()=>{be.scrollTop-=10},50)):Ce.bottom-X.clientY<_e?y||(y=setInterval(()=>{be.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function j(X,x){const be=X.relatedTarget;be&&X.currentTarget.contains(be)||(T===x.id&&t(8,T=""),k[x.id]&&(clearTimeout(k[x.id]),delete k[x.id]),y&&(clearInterval(y),y=null))}function R(X,x){X.preventDefault(),X.stopPropagation(),k[x.id]&&(clearTimeout(k[x.id]),delete k[x.id]),y&&(clearInterval(y),y=null);const be=Co(r),Ce=wo(be),_e=wp(X);if(!D(x,_e,Ce)){t(8,T=""),t(21,S="");return}b&&b(_e,x.id),t(8,T=""),t(21,S="")}function O(){t(8,T=""),t(21,S="");for(const X of Object.keys(k))clearTimeout(k[X]),delete k[X];y&&(clearInterval(y),y=null)}function H(X,x){X.target.closest(".tree-toggle")||X.target.closest(".tree-icon")||h&&h(x)}function V(X,x){Sn(x)&&m&&m(x.id)}function G(X,x){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),h&&h(x))}function U(X,x){X.stopPropagation(),Sn(x)&&m&&m(x.id)}function q(X,x){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),X.stopPropagation(),Sn(x)&&m&&m(x.id))}function Y(X,x){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),h&&h(x))}function B(X,x,be){const Ce={};function _e(He){for(const Ze of He)Ce[Ze.id]=D(Ze,x,be),Ze.children&&_e(Ze.children)}return _e(X),Ce}function F(X){Wa.call(this,n,X)}const W=X=>m&&m(X.id),P=(X,x)=>U(x,X),J=(X,x)=>q(x,X),Q=X=>h&&h(X),ee=(X,x)=>Y(x,X),te=(X,x)=>N(x,X),le=(X,x)=>M(x,X),se=(X,x)=>j(x,X),ce=(X,x)=>R(x,X),de=(X,x)=>H(x,X),we=(X,x)=>G(x,X),ze=(X,x)=>V(x,X),me=(X,x)=>g&&g(x,X);return n.$$set=X=>{"nodes"in X&&t(0,r=X.nodes),"expanded"in X&&t(1,c=X.expanded),"selectedNodeId"in X&&t(2,u=X.selectedNodeId),"level"in X&&t(3,p=X.level),"onSelect"in X&&t(4,h=X.onSelect),"onToggle"in X&&t(5,m=X.onToggle),"onContextMenu"in X&&t(6,g=X.onContextMenu),"onDrop"in X&&t(7,b=X.onDrop)},n.$$.update=()=>{n.$$.dirty[0]&1&&t(23,l=Co(r)),n.$$.dirty[0]&8388608&&t(22,i=wo(l)),n.$$.dirty[0]&14680064&&t(9,a=B(l,S,i))},[r,c,u,p,h,m,g,b,T,a,N,M,j,R,O,H,V,G,U,q,Y,S,i,l,F,W,P,J,Q,ee,te,le,se,ce,de,we,ze,me]}class nc extends it{constructor(e){super(),lt(this,e,Cp,yp,nt,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function So(n){let e,t;return{c(){e=f("div"),t=z(n[4]),o(e,"class","path-info svelte-a9f1pd")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i&16&&K(t,l[4])},d(l){l&&w(e)}}}function To(n){let e,t;return{c(){e=f("div"),t=z(n[3]),o(e,"class","error-msg svelte-a9f1pd")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i&8&&K(t,l[3])},d(l){l&&w(e)}}}function Sp(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T,E=v("firstrun.browse")+"",I,D,N,M,j,R,O=(n[2]?v("firstrun.creating"):v("firstrun.create"))+"",H,V,G,U,q,Y,B=n[4]&&So(n),F=n[3]&&To(n);return{c(){e=f("div"),t=f("div"),l=f("img"),a=_(),r=f("h1"),r.textContent=`${v("firstrun.title")}`,c=_(),u=f("p"),u.textContent=`${v("firstrun.desc")}`,p=_(),h=f("div"),m=f("label"),m.textContent=`${v("firstrun.pathLabel")}`,g=_(),b=f("div"),k=f("input"),S=_(),T=f("button"),I=z(E),D=_(),B&&B.c(),N=_(),F&&F.c(),M=_(),j=f("div"),R=f("button"),H=z(O),G=_(),U=f("button"),U.textContent=`${v("firstrun.quit")}`,o(l,"class","first-run-logo svelte-a9f1pd"),pn(l.src,i="/assets/app-icons/icon_64x64.png")||o(l,"src",i),o(l,"width","64"),o(l,"height","64"),o(l,"alt",""),o(r,"class","svelte-a9f1pd"),o(u,"class","first-run-desc svelte-a9f1pd"),o(m,"class","form-label svelte-a9f1pd"),o(m,"for","vault-path"),o(k,"id","vault-path"),o(k,"type","text"),o(k,"placeholder",y=n[1]||v("firstrun.defaultPath")),k.disabled=n[2],o(k,"class","svelte-a9f1pd"),o(T,"class","btn"),T.disabled=n[2],o(b,"class","input-row svelte-a9f1pd"),o(h,"class","form-group svelte-a9f1pd"),o(R,"class","btn btn-primary btn-lg svelte-a9f1pd"),R.disabled=V=!n[0].trim()||n[2],o(U,"class","btn btn-lg svelte-a9f1pd"),o(j,"class","first-run-actions svelte-a9f1pd"),o(t,"class","first-run-card svelte-a9f1pd"),o(e,"class","first-run-screen svelte-a9f1pd")},m(W,P){C(W,e,P),s(e,t),s(t,l),s(t,a),s(t,r),s(t,c),s(t,u),s(t,p),s(t,h),s(h,m),s(h,g),s(h,b),s(b,k),ke(k,n[0]),s(b,S),s(b,T),s(T,I),s(t,D),B&&B.m(t,null),s(t,N),F&&F.m(t,null),s(t,M),s(t,j),s(j,R),s(R,H),s(j,G),s(j,U),q||(Y=[A(k,"input",n[12]),A(k,"input",n[6]),A(k,"keydown",n[9]),A(T,"click",n[5]),A(R,"click",n[7]),A(U,"click",n[8])],q=!0)},p(W,[P]){P&2&&y!==(y=W[1]||v("firstrun.defaultPath"))&&o(k,"placeholder",y),P&4&&(k.disabled=W[2]),P&1&&k.value!==W[0]&&ke(k,W[0]),P&4&&(T.disabled=W[2]),W[4]?B?B.p(W,P):(B=So(W),B.c(),B.m(t,N)):B&&(B.d(1),B=null),W[3]?F?F.p(W,P):(F=To(W),F.c(),F.m(t,M)):F&&(F.d(1),F=null),P&4&&O!==(O=(W[2]?v("firstrun.creating"):v("firstrun.create"))+"")&&K(H,O),P&5&&V!==(V=!W[0].trim()||W[2])&&(R.disabled=V)},i:ie,o:ie,d(W){W&&w(e),B&&B.d(),F&&F.d(),q=!1,ve(Y)}}}function Qn(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function Tp(n,e,t){let{onComplete:l=null}=e,{onQuit:i=null}=e,a="",r="",c=!1,u="",p="",h=null;async function m(){try{const E=await Qn("GetDefaultVaultPath");t(1,r=E||""),t(0,a=r||""),a&&await b()}catch{t(1,r="")}}m();async function g(){try{const E=await Qn("PickDirectory");E&&(t(0,a=E),await b())}catch(E){t(3,u=String(E))}}async function b(){if(!a||!a.trim()){t(4,p=""),h=null;return}try{h=await Qn("CheckVaultPath",a.trim()),h&&t(4,p=h.description)}catch{t(4,p=""),h=null}}async function k(){if(!(!a||!a.trim())){if(t(2,c=!0),t(3,u=""),h&&!h.writable){t(3,u=v("firstrun.errorNoWrite")),t(2,c=!1);return}try{const E=await Qn("CreateVault",a.trim());E&&E.status==="ready"&&l&&l(E)}catch(E){t(3,u=String(E))}t(2,c=!1)}}function y(){i&&i()}function S(E){E.key==="Enter"&&!c&&a.trim()&&k()}function T(){a=this.value,t(0,a)}return n.$$set=E=>{"onComplete"in E&&t(10,l=E.onComplete),"onQuit"in E&&t(11,i=E.onQuit)},[a,r,c,u,p,g,b,k,y,S,l,i,T]}class Ep extends it{constructor(e){super(),lt(this,e,Tp,Sp,nt,{onComplete:10,onQuit:11})}}function Eo(n){let e,t;return{c(){e=f("div"),t=z(n[2]),o(e,"class","error-msg svelte-s3o8c3")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i&4&&K(t,l[2])},d(l){l&&w(e)}}}function Io(n){let e,t,l,i,a,r,c,u,p=v("common.yes")+"",h,m,g,b,k;return{c(){e=f("div"),t=f("div"),l=f("h3"),l.textContent=`${v("recovery.createConfirmTitle")}`,i=_(),a=f("p"),a.textContent=`${v("recovery.createConfirm")}`,r=_(),c=f("div"),u=f("button"),h=z(p),m=_(),g=f("button"),g.textContent=`${v("common.cancel")}`,o(l,"class","svelte-s3o8c3"),o(a,"class","modal-desc svelte-s3o8c3"),o(u,"class","btn btn-primary"),u.disabled=n[1],o(g,"class","btn"),o(c,"class","modal-actions svelte-s3o8c3"),o(t,"class","modal svelte-s3o8c3"),o(e,"class","modal-overlay svelte-s3o8c3"),o(e,"role","button"),o(e,"tabindex","0")},m(y,S){C(y,e,S),s(e,t),s(t,l),s(t,i),s(t,a),s(t,r),s(t,c),s(c,u),s(u,h),s(c,m),s(c,g),b||(k=[A(u,"click",n[6]),A(g,"click",n[7]),A(e,"click",Et(n[7])),A(e,"keydown",n[11])],b=!0)},p(y,S){S&2&&(u.disabled=y[1])},d(y){y&&w(e),b=!1,ve(k)}}}function Ip(n){let e,t,l,i,a,r,c,u,p,h=(n[0]||"—")+"",m,g,b,k,y,S=v("recovery.choose")+"",T,E,I,D=v("recovery.create")+"",N,M,j,R,O,H,V,G=n[2]&&Eo(n),U=n[3]&&Io(n);return{c(){e=f("div"),t=f("div"),l=f("div"),l.textContent="⚠",i=_(),a=f("h1"),a.textContent=`${v("recovery.title")}`,r=_(),c=f("p"),c.textContent=`${v("recovery.expected")}:`,u=_(),p=f("code"),m=z(h),g=_(),G&&G.c(),b=_(),k=f("div"),y=f("button"),T=z(S),E=_(),I=f("button"),N=z(D),M=_(),j=f("button"),j.textContent=`${v("recovery.quit")}`,R=_(),U&&U.c(),O=ht(),o(l,"class","recovery-icon svelte-s3o8c3"),o(a,"class","svelte-s3o8c3"),o(c,"class","recovery-desc svelte-s3o8c3"),o(p,"class","recovery-path svelte-s3o8c3"),o(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=n[1],o(I,"class","btn btn-lg svelte-s3o8c3"),I.disabled=n[1],o(j,"class","btn btn-lg svelte-s3o8c3"),o(k,"class","recovery-actions svelte-s3o8c3"),o(t,"class","recovery-card svelte-s3o8c3"),o(e,"class","recovery-screen svelte-s3o8c3")},m(q,Y){C(q,e,Y),s(e,t),s(t,l),s(t,i),s(t,a),s(t,r),s(t,c),s(t,u),s(t,p),s(p,m),s(t,g),G&&G.m(t,null),s(t,b),s(t,k),s(k,y),s(y,T),s(k,E),s(k,I),s(I,N),s(k,M),s(k,j),C(q,R,Y),U&&U.m(q,Y),C(q,O,Y),H||(V=[A(y,"click",n[4]),A(I,"click",n[5]),A(j,"click",n[8])],H=!0)},p(q,[Y]){Y&1&&h!==(h=(q[0]||"—")+"")&&K(m,h),q[2]?G?G.p(q,Y):(G=Eo(q),G.c(),G.m(t,b)):G&&(G.d(1),G=null),Y&2&&(y.disabled=q[1]),Y&2&&(I.disabled=q[1]),q[3]?U?U.p(q,Y):(U=Io(q),U.c(),U.m(O.parentNode,O)):U&&(U.d(1),U=null)},i:ie,o:ie,d(q){q&&(w(e),w(R),w(O)),G&&G.d(),U&&U.d(q),H=!1,ve(V)}}}function zl(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function Np(n,e,t){let{vaultPath:l=""}=e,{onComplete:i=null}=e,{onQuit:a=null}=e,r=!1,c="",u=!1;async function p(){try{const y=await zl("PickDirectory");if(!y)return;t(1,r=!0),t(2,c="");const S=await zl("OpenVault",y);S&&S.status==="ready"&&i&&i(S)}catch(y){t(2,c=String(y))}t(1,r=!1)}function h(){t(3,u=!0)}async function m(){t(3,u=!1),t(1,r=!0),t(2,c="");try{const y=await zl("CreateVault",l);y&&y.status==="ready"&&i&&i(y)}catch(y){t(2,c=String(y))}t(1,r=!1)}function g(){t(3,u=!1)}function b(){a&&a()}const k=y=>y.key==="Enter"&&g();return n.$$set=y=>{"vaultPath"in y&&t(0,l=y.vaultPath),"onComplete"in y&&t(9,i=y.onComplete),"onQuit"in y&&t(10,a=y.onQuit)},[l,r,c,u,p,h,m,g,b,i,a,k]}class Dp extends it{constructor(e){super(),lt(this,e,Np,Ip,nt,{vaultPath:0,onComplete:9,onQuit:10})}}function No(n,e,t){const l=n.slice();return l[5]=e[t],l}function Mp(n){let e,t,l;return{c(){e=$("path"),t=$("path"),l=$("path"),o(e,"d","M5 4h12l2 2v14H5z"),o(t,"d","M8 4v6h8V4"),o(l,"d","M8 20v-6h8v6")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},d(i){i&&(w(e),w(t),w(l))}}}function jp(n){let e,t,l,i;return{c(){e=$("path"),t=$("path"),l=$("path"),i=$("path"),o(e,"d","M20 11a8 8 0 0 0-14-4l-2 2"),o(t,"d","M4 5v4h4"),o(l,"d","M4 13a8 8 0 0 0 14 4l2-2"),o(i,"d","M20 19v-4h-4")},m(a,r){C(a,e,r),C(a,t,r),C(a,l,r),C(a,i,r)},d(a){a&&(w(e),w(t),w(l),w(i))}}}function Ap(n){let e;return{c(){e=$("path"),o(e,"d","M4 19V9M10 19V5M16 19v-7M22 19H2")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Lp(n){let e;return{c(){e=$("path"),o(e,"d","M3 6h6l2 2h10v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6z")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Pp(n){let e,t;return{c(){e=$("path"),t=$("path"),o(e,"d","M9 3v5M15 3v5M7 8h10v3a5 5 0 0 1-10 0V8z"),o(t,"d","M12 16v5")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function Fp(n){let e,t;return{c(){e=$("rect"),t=$("path"),o(e,"x","4"),o(e,"y","3"),o(e,"width","16"),o(e,"height","18"),o(e,"rx","2"),o(t,"d","M8 7h8M8 11h8M8 15h5")},m(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function Rp(n){let e,t,l;return{c(){e=$("path"),t=$("path"),l=$("path"),o(e,"d","M3 10.5 12 3l9 7.5"),o(t,"d","M5 9.5V21h14V9.5"),o(l,"d","M10 21v-6h4v6")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},d(i){i&&(w(e),w(t),w(l))}}}function Op(n){let e,t;return{c(){e=$("circle"),t=$("path"),o(e,"cx","12"),o(e,"cy","12"),o(e,"r","3"),o(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(l,i){C(l,e,i),C(l,t,i)},d(l){l&&(w(e),w(t))}}}function Do(n){let e,t,l,i,a,r,c,u;function p(b,k){if(b[5].id==="general")return Op;if(b[5].id==="workspace")return Rp;if(b[5].id==="templates")return Fp;if(b[5].id==="plugins")return Pp;if(b[5].id==="files")return Lp;if(b[5].id==="activity")return Ap;if(b[5].id==="sync")return jp;if(b[5].id==="backup")return Mp}let h=p(n),m=h&&h(n);function g(){return n[4](n[5])}return{c(){e=f("button"),t=f("span"),l=$("svg"),m&&m.c(),i=_(),a=f("span"),a.textContent=`${n[5].label}`,r=_(),o(l,"width","16"),o(l,"height","16"),o(l,"viewBox","0 0 24 24"),o(l,"fill","none"),o(l,"stroke","currentColor"),o(l,"stroke-width","1.8"),o(l,"stroke-linecap","round"),o(l,"stroke-linejoin","round"),o(l,"aria-hidden","true"),o(t,"class","settings-nav-icon svelte-1uolm3f"),o(a,"class","settings-nav-label svelte-1uolm3f"),o(e,"class","settings-nav-item svelte-1uolm3f"),ae(e,"active",n[0]===n[5].id),ae(e,"disabled",n[5].id==="plugins"||n[5].id==="files"||n[5].id==="activity"||n[5].id==="backup")},m(b,k){C(b,e,k),s(e,t),s(t,l),m&&m.m(l,null),s(e,i),s(e,a),s(e,r),c||(u=A(e,"click",g),c=!0)},p(b,k){n=b,k&3&&ae(e,"active",n[0]===n[5].id)},d(b){b&&w(e),m&&m.d(),c=!1,u()}}}function zp(n){let e,t=ue(n[1]),l=[];for(let i=0;ir(u.id);return n.$$set=u=>{"activeSection"in u&&t(0,l=u.activeSection),"onSelect"in u&&t(3,i=u.onSelect)},[l,a,r,i,c]}class Bp extends it{constructor(e){super(),lt(this,e,Hp,zp,nt,{activeSection:0,onSelect:3})}}function Mo(n){let e;return{c(){e=f("div"),e.textContent=`${v("settings.saved")}`,o(e,"class","save-notice svelte-1e2uhdh")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Wp(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T,E,I,D,N,M,j,R,O,H,V,G,U,q,Y,B,F,W=n[1]&&Mo();return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.general")}`,l=_(),i=f("p"),i.textContent=`${v("settings.generalDesc")}`,a=_(),r=f("div"),c=f("h3"),c.textContent=`${v("settings.appearance")}`,u=_(),p=f("div"),h=f("label"),m=f("span"),m.textContent=`${v("settings.theme")}`,g=_(),b=f("select"),k=f("option"),k.textContent=`${v("settings.themeSystem")}`,y=f("option"),y.textContent=`${v("settings.themeLight")} (${v("settings.langSoon")})`,S=f("option"),S.textContent=`${v("settings.themeDark")} (${v("settings.langSoon")})`,T=_(),E=f("div"),I=f("h3"),I.textContent=`${v("settings.localization")}`,D=_(),N=f("div"),M=f("label"),j=f("span"),j.textContent=`${v("settings.language")}`,R=_(),O=f("select"),H=f("option"),H.textContent=`${v("settings.langRu")}`,V=f("option"),V.textContent=`${v("settings.langEn")} (${v("settings.langSoon")})`,G=_(),U=f("div"),W&&W.c(),q=_(),Y=f("button"),Y.textContent=`${v("settings.save")}`,o(t,"class","svelte-1e2uhdh"),o(i,"class","section-desc svelte-1e2uhdh"),o(c,"class","card-title svelte-1e2uhdh"),o(m,"class","label-text svelte-1e2uhdh"),k.__value="system",ke(k,k.__value),y.__value="light",ke(y,y.__value),y.disabled=!0,S.__value="dark",ke(S,S.__value),S.disabled=!0,n[0]===void 0&&xt(()=>n[5].call(b)),o(p,"class","form-group svelte-1e2uhdh"),o(r,"class","settings-card svelte-1e2uhdh"),o(I,"class","card-title svelte-1e2uhdh"),o(j,"class","label-text svelte-1e2uhdh"),H.__value="ru",ke(H,H.__value),V.__value="en",ke(V,V.__value),O.disabled=!0,o(N,"class","form-group svelte-1e2uhdh"),o(E,"class","settings-card svelte-1e2uhdh"),o(Y,"class","btn btn-primary"),o(U,"class","settings-actions svelte-1e2uhdh"),o(e,"class","settings-section svelte-1e2uhdh")},m(P,J){C(P,e,J),s(e,t),s(e,l),s(e,i),s(e,a),s(e,r),s(r,c),s(r,u),s(r,p),s(p,h),s(h,m),s(h,g),s(h,b),s(b,k),s(b,y),s(b,S),Bt(b,n[0],!0),s(e,T),s(e,E),s(E,I),s(E,D),s(E,N),s(N,M),s(M,j),s(M,R),s(M,O),s(O,H),s(O,V),s(e,G),s(e,U),W&&W.m(U,null),s(U,q),s(U,Y),B||(F=[A(b,"change",n[5]),A(Y,"click",n[2])],B=!0)},p(P,[J]){J&1&&Bt(b,P[0]),P[1]?W||(W=Mo(),W.c(),W.m(U,q)):W&&(W.d(1),W=null)},i:ie,o:ie,d(P){P&&w(e),W&&W.d(),B=!1,ve(F)}}}function Vp(n,e,t){let{appConfig:l=null}=e,{onSave:i=null}=e,a="system",r=!1;function c(){l&&t(0,a=l.theme||"system")}async function u(){l&&(t(3,l.theme=a,l),i&&await i(l),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function p(){a=xn(this),t(0,a)}return n.$$set=h=>{"appConfig"in h&&t(3,l=h.appConfig),"onSave"in h&&t(4,i=h.onSave)},n.$$.update=()=>{n.$$.dirty&8&&l&&c()},[a,r,u,l,i,p]}class Up extends it{constructor(e){super(),lt(this,e,Vp,Wp,nt,{appConfig:3,onSave:4})}}function jo(n){let e,t;return{c(){e=f("div"),t=z(n[1]),o(e,"class","notice svelte-1zbky3")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i&2&&K(t,l[1])},d(l){l&&w(e)}}}function Kp(n){let e;return{c(){e=f("p"),e.textContent=`${v("settings.noVaultInfo")}`,o(e,"class","no-data svelte-1zbky3")},m(t,l){C(t,e,l)},p:ie,d(t){t&&w(e)}}}function Gp(n){let e,t,l,i,a,r=n[0].path+"",c,u,p,h,m,g,b=n[0].dbPath+"",k,y,S,T=n[0].nodeCount!==void 0&&Ao(n),E=n[0].fileCount!==void 0&&Lo(n);return{c(){e=f("div"),t=f("div"),l=f("span"),l.textContent=`${v("settings.vaultPath")}`,i=_(),a=f("span"),c=z(r),u=_(),p=f("div"),h=f("span"),h.textContent="DB",m=_(),g=f("span"),k=z(b),y=_(),T&&T.c(),S=_(),E&&E.c(),o(l,"class","info-label svelte-1zbky3"),o(a,"class","info-value mono svelte-1zbky3"),o(t,"class","info-row svelte-1zbky3"),o(h,"class","info-label svelte-1zbky3"),o(g,"class","info-value mono small svelte-1zbky3"),o(p,"class","info-row svelte-1zbky3"),o(e,"class","vault-info svelte-1zbky3")},m(I,D){C(I,e,D),s(e,t),s(t,l),s(t,i),s(t,a),s(a,c),s(e,u),s(e,p),s(p,h),s(p,m),s(p,g),s(g,k),s(e,y),T&&T.m(e,null),s(e,S),E&&E.m(e,null)},p(I,D){D&1&&r!==(r=I[0].path+"")&&K(c,r),D&1&&b!==(b=I[0].dbPath+"")&&K(k,b),I[0].nodeCount!==void 0?T?T.p(I,D):(T=Ao(I),T.c(),T.m(e,S)):T&&(T.d(1),T=null),I[0].fileCount!==void 0?E?E.p(I,D):(E=Lo(I),E.c(),E.m(e,null)):E&&(E.d(1),E=null)},d(I){I&&w(e),T&&T.d(),E&&E.d()}}}function Ao(n){let e,t,l,i,a=n[0].nodeCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Nodes",l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1zbky3"),o(i,"class","info-value svelte-1zbky3"),o(e,"class","info-row svelte-1zbky3")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u&1&&a!==(a=c[0].nodeCount+"")&&K(r,a)},d(c){c&&w(e)}}}function Lo(n){let e,t,l,i,a=n[0].fileCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Files",l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1zbky3"),o(i,"class","info-value svelte-1zbky3"),o(e,"class","info-row svelte-1zbky3")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u&1&&a!==(a=c[0].fileCount+"")&&K(r,a)},d(c){c&&w(e)}}}function Jp(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T=n[1]&&jo(n);function E(N,M){return N[0]?Gp:Kp}let I=E(n),D=I(n);return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.workspace")}`,l=_(),i=f("p"),i.textContent=`${v("settings.workspaceDesc")}`,a=_(),T&&T.c(),r=_(),c=f("div"),D.c(),u=_(),p=f("div"),h=f("button"),h.textContent=`${v("settings.openVault")}`,m=_(),g=f("button"),g.textContent=`${v("settings.changeVault")}`,b=_(),k=f("button"),k.textContent=`${v("settings.checkIntegrity")}`,o(t,"class","svelte-1zbky3"),o(i,"class","section-desc svelte-1zbky3"),o(c,"class","settings-card svelte-1zbky3"),o(h,"class","btn svelte-1zbky3"),o(g,"class","btn svelte-1zbky3"),o(k,"class","btn svelte-1zbky3"),o(p,"class","workspace-actions svelte-1zbky3"),o(e,"class","settings-section svelte-1zbky3")},m(N,M){C(N,e,M),s(e,t),s(e,l),s(e,i),s(e,a),T&&T.m(e,null),s(e,r),s(e,c),D.m(c,null),s(e,u),s(e,p),s(p,h),s(p,m),s(p,g),s(p,b),s(p,k),y||(S=[A(h,"click",n[2]),A(g,"click",n[4]),A(k,"click",n[3])],y=!0)},p(N,[M]){N[1]?T?T.p(N,M):(T=jo(N),T.c(),T.m(e,r)):T&&(T.d(1),T=null),I===(I=E(N))&&D?D.p(N,M):(D.d(1),D=I(N),D&&(D.c(),D.m(c,null)))},i:ie,o:ie,d(N){N&&w(e),T&&T.d(),D.d(),y=!1,ve(S)}}}function un(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function qp(n,e,t){let{onRefresh:l=null}=e,i=null,a="";async function r(){try{t(0,i=await un("GetVaultInfo"))}catch{t(0,i=null)}}r();async function c(){try{await un("OpenVaultFolder")}catch(h){t(1,a=String(h))}}async function u(){try{const h=await un("VaultCheck");h.healthy?t(1,a="Vault healthy"):t(1,a="Issues found: "+(h.errors||[]).join("; "))}catch(h){t(1,a=String(h))}}async function p(){try{const h=await un("PickDirectory");if(!h)return;const m=await un("OpenVault",h);m&&m.status==="ready"&&(t(0,i=await un("GetVaultInfo")),l&&l())}catch(h){t(1,a=String(h))}}return n.$$set=h=>{"onRefresh"in h&&t(5,l=h.onRefresh)},[i,a,c,u,p,l]}class Yp extends it{constructor(e){super(),lt(this,e,qp,Jp,nt,{onRefresh:5})}}function Po(n,e,t){const l=n.slice();return l[6]=e[t],l}function Qp(n){let e,t=ue(n[0]),l=[];for(let i=0;ic(p);return n.$$set=p=>{"onRefresh"in p&&t(3,l=p.onRefresh)},[i,a,c,l,u]}class ev extends it{constructor(e){super(),lt(this,e,$p,xp,nt,{onRefresh:3})}}function tv(n){let e,t,l,i,a,r,c,u;return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.plugins")}`,l=_(),i=f("p"),i.textContent=`${v("settings.noPlugins")}`,a=_(),r=f("button"),r.textContent=`${v("settings.openPluginsDir")}`,o(t,"class","svelte-8jch95"),o(i,"class","section-desc svelte-8jch95"),o(r,"class","btn"),o(e,"class","settings-section svelte-8jch95")},m(p,h){C(p,e,h),s(e,t),s(e,l),s(e,i),s(e,a),s(e,r),c||(u=A(r,"click",lv),c=!0)},p:ie,i:ie,o:ie,d(p){p&&w(e),c=!1,u()}}}function nv(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}async function lv(){try{await nv("OpenPluginsFolder")}catch{}}class iv extends it{constructor(e){super(),lt(this,e,null,tv,nt,{})}}function ov(n){let e,t,l,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.files")}`,l=_(),i=f("p"),i.textContent=`${v("settings.filesStub")}`,o(t,"class","svelte-19bo7bn"),o(i,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(a,r){C(a,e,r),s(e,t),s(e,l),s(e,i)},p:ie,i:ie,o:ie,d(a){a&&w(e)}}}class sv extends it{constructor(e){super(),lt(this,e,null,ov,nt,{})}}function rv(n){let e,t,l,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.activity")}`,l=_(),i=f("p"),i.textContent=`${v("settings.activityStub")}`,o(t,"class","svelte-19bo7bn"),o(i,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(a,r){C(a,e,r),s(e,t),s(e,l),s(e,i)},p:ie,i:ie,o:ie,d(a){a&&w(e)}}}class av extends it{constructor(e){super(),lt(this,e,null,rv,nt,{})}}function Oo(n){let e,t;return{c(){e=f("div"),t=z(n[2]),o(e,"class","error-msg svelte-1fx1e1e")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i[0]&4&&K(t,l[2])},d(l){l&&w(e)}}}function zo(n){let e,t;return{c(){e=f("div"),t=z(n[3]),o(e,"class","result-msg svelte-1fx1e1e"),ae(e,"warning",n[4]==="warning")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i[0]&8&&K(t,l[3]),i[0]&16&&ae(e,"warning",l[4]==="warning")},d(l){l&&w(e)}}}function cv(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T,E,I,D,N,M,j=v("settings.checkConnection")+"",R,O,H,V,G=v("common.connect")+"",U,q,Y,B,F,W=n[11]!==null&&Ho(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("label"),a=f("span"),a.textContent=`${v("settings.serverUrl")}`,r=_(),c=f("input"),u=_(),p=f("div"),h=f("label"),m=f("span"),m.textContent=`${v("sync.username")}`,g=_(),b=f("input"),k=_(),y=f("div"),S=f("label"),T=f("span"),T.textContent=`${v("sync.password")}`,E=_(),I=f("input"),D=_(),N=f("div"),M=f("button"),R=z(j),H=_(),V=f("button"),U=z(G),Y=_(),W&&W.c(),o(a,"class","label-text"),o(c,"type","text"),o(c,"placeholder","https://example.com"),o(l,"class","form-group svelte-1fx1e1e"),o(m,"class","label-text"),o(b,"type","text"),o(p,"class","form-group svelte-1fx1e1e"),o(T,"class","label-text"),o(I,"type","password"),o(y,"class","form-group svelte-1fx1e1e"),o(M,"class","btn"),M.disabled=O=n[1]||!n[5],o(V,"class","btn btn-primary"),V.disabled=q=n[1]||!n[5]||!n[6]||!n[7],o(N,"class","sync-setup-actions svelte-1fx1e1e"),o(t,"class","sync-setup svelte-1fx1e1e"),o(e,"class","settings-card svelte-1fx1e1e")},m(P,J){C(P,e,J),s(e,t),s(t,l),s(l,i),s(i,a),s(i,r),s(i,c),ke(c,n[5]),s(t,u),s(t,p),s(p,h),s(h,m),s(h,g),s(h,b),ke(b,n[6]),s(t,k),s(t,y),s(y,S),s(S,T),s(S,E),s(S,I),ke(I,n[7]),s(t,D),s(t,N),s(N,M),s(M,R),s(N,H),s(N,V),s(V,U),s(t,Y),W&&W.m(t,null),B||(F=[A(c,"input",n[23]),A(b,"input",n[24]),A(I,"input",n[25]),A(M,"click",n[12]),A(V,"click",n[13])],B=!0)},p(P,J){J[0]&32&&c.value!==P[5]&&ke(c,P[5]),J[0]&64&&b.value!==P[6]&&ke(b,P[6]),J[0]&128&&I.value!==P[7]&&ke(I,P[7]),J[0]&34&&O!==(O=P[1]||!P[5])&&(M.disabled=O),J[0]&226&&q!==(q=P[1]||!P[5]||!P[6]||!P[7])&&(V.disabled=q),P[11]!==null?W?W.p(P,J):(W=Ho(P),W.c(),W.m(t,null)):W&&(W.d(1),W=null)},d(P){P&&w(e),W&&W.d(),B=!1,ve(F)}}}function uv(n){let e,t,l,i,a,r,c=n[20](n[0].lastStatus)+"",u,p,h,m,g,b,k,y,S,T=v("settings.syncNow")+"",E,I,D,N=v("settings.disconnect")+"",M,j,R,O=v("settings.resetKey")+"",H,V,G,U,q,Y,B,F,W,P,J,Q,ee=n[0].serverUrl&&Bo(n),te=n[0].deviceName&&Wo(n),le=n[0].deviceId&&Vo(n),se=n[0].lastSyncAt&&Uo(n),ce=n[0].lastError&&Ko(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("span"),i.textContent=`${v("settings.status")}`,a=_(),r=f("span"),u=z(c),p=_(),ee&&ee.c(),h=_(),te&&te.c(),m=_(),le&&le.c(),g=_(),se&&se.c(),b=_(),ce&&ce.c(),k=_(),y=f("div"),S=f("button"),E=z(T),I=_(),D=f("button"),M=z(N),j=_(),R=f("button"),H=z(O),V=_(),G=f("div"),U=f("label"),q=f("span"),q.textContent=`${v("sync.interval")}`,Y=_(),B=f("div"),F=f("input"),W=_(),P=f("button"),P.textContent=`${v("common.save")}`,o(i,"class","info-label svelte-1fx1e1e"),o(r,"class","info-value svelte-1fx1e1e"),ae(r,"status-ok",n[0].lastStatus==="connected"),ae(r,"status-err",n[0].lastStatus==="error"||n[0].lastStatus==="revoked"),o(l,"class","info-row svelte-1fx1e1e"),o(t,"class","sync-info svelte-1fx1e1e"),o(e,"class","settings-card svelte-1fx1e1e"),o(S,"class","btn btn-primary"),S.disabled=n[1],o(D,"class","btn"),D.disabled=n[1],o(R,"class","btn"),R.disabled=n[1],o(y,"class","sync-actions svelte-1fx1e1e"),o(q,"class","label-text"),o(F,"type","number"),o(F,"min","0"),o(F,"placeholder","0"),o(F,"class","svelte-1fx1e1e"),o(P,"class","btn btn-sm"),o(B,"class","interval-row svelte-1fx1e1e"),o(G,"class","sync-interval svelte-1fx1e1e")},m(de,we){C(de,e,we),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(r,u),s(t,p),ee&&ee.m(t,null),s(t,h),te&&te.m(t,null),s(t,m),le&&le.m(t,null),s(t,g),se&&se.m(t,null),s(t,b),ce&&ce.m(t,null),C(de,k,we),C(de,y,we),s(y,S),s(S,E),s(y,I),s(y,D),s(D,M),s(y,j),s(y,R),s(R,H),C(de,V,we),C(de,G,we),s(G,U),s(U,q),s(U,Y),s(U,B),s(B,F),ke(F,n[8]),s(B,W),s(B,P),J||(Q=[A(S,"click",n[14]),A(D,"click",n[16]),A(R,"click",n[18]),A(F,"input",n[22]),A(P,"click",n[15])],J=!0)},p(de,we){we[0]&1&&c!==(c=de[20](de[0].lastStatus)+"")&&K(u,c),we[0]&1&&ae(r,"status-ok",de[0].lastStatus==="connected"),we[0]&1&&ae(r,"status-err",de[0].lastStatus==="error"||de[0].lastStatus==="revoked"),de[0].serverUrl?ee?ee.p(de,we):(ee=Bo(de),ee.c(),ee.m(t,h)):ee&&(ee.d(1),ee=null),de[0].deviceName?te?te.p(de,we):(te=Wo(de),te.c(),te.m(t,m)):te&&(te.d(1),te=null),de[0].deviceId?le?le.p(de,we):(le=Vo(de),le.c(),le.m(t,g)):le&&(le.d(1),le=null),de[0].lastSyncAt?se?se.p(de,we):(se=Uo(de),se.c(),se.m(t,b)):se&&(se.d(1),se=null),de[0].lastError?ce?ce.p(de,we):(ce=Ko(de),ce.c(),ce.m(t,null)):ce&&(ce.d(1),ce=null),we[0]&2&&(S.disabled=de[1]),we[0]&2&&(D.disabled=de[1]),we[0]&2&&(R.disabled=de[1]),we[0]&256&&ll(F.value)!==de[8]&&ke(F,de[8])},d(de){de&&(w(e),w(k),w(y),w(V),w(G)),ee&&ee.d(),te&&te.d(),le&&le.d(),se&&se.d(),ce&&ce.d(),J=!1,ve(Q)}}}function Ho(n){let e,t=(n[11]?v("common.test")+" OK":v("error.generic"))+"",l;return{c(){e=f("div"),l=z(t),o(e,"class","connection-result svelte-1fx1e1e"),ae(e,"ok",n[11]),ae(e,"fail",!n[11])},m(i,a){C(i,e,a),s(e,l)},p(i,a){a[0]&2048&&t!==(t=(i[11]?v("common.test")+" OK":v("error.generic"))+"")&&K(l,t),a[0]&2048&&ae(e,"ok",i[11]),a[0]&2048&&ae(e,"fail",!i[11])},d(i){i&&w(e)}}}function Bo(n){let e,t,l,i,a=n[0].serverUrl+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("settings.serverUrl")}`,l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1fx1e1e"),o(i,"class","info-value mono svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&1&&a!==(a=c[0].serverUrl+"")&&K(r,a)},d(c){c&&w(e)}}}function Wo(n){let e,t,l,i,a=n[0].deviceName+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("settings.deviceName")}`,l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1fx1e1e"),o(i,"class","info-value svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&1&&a!==(a=c[0].deviceName+"")&&K(r,a)},d(c){c&&w(e)}}}function Vo(n){let e,t,l,i,a=n[0].deviceId+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("settings.deviceId")}`,l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1fx1e1e"),o(i,"class","info-value mono svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&1&&a!==(a=c[0].deviceId+"")&&K(r,a)},d(c){c&&w(e)}}}function Uo(n){let e,t,l,i,a=n[0].lastSyncAt+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("settings.lastSync")}`,l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1fx1e1e"),o(i,"class","info-value svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&1&&a!==(a=c[0].lastSyncAt+"")&&K(r,a)},d(c){c&&w(e)}}}function Ko(n){let e,t,l,i,a=n[0].lastError+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("settings.lastError")}`,l=_(),i=f("span"),r=z(a),o(t,"class","info-label svelte-1fx1e1e"),o(i,"class","info-value error svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&1&&a!==(a=c[0].lastError+"")&&K(r,a)},d(c){c&&w(e)}}}function Go(n){let e,t,l,i,a,r,c,u,p,h,m,g;return{c(){e=f("button"),t=f("div"),l=f("h3"),l.textContent=`${v("settings.confirmDisconnect")}`,i=_(),a=f("p"),a.textContent=`${v("settings.confirmDisconnectDesc")}`,r=_(),c=f("div"),u=f("button"),u.textContent=`${v("common.disconnect")}`,p=_(),h=f("button"),h.textContent=`${v("common.cancel")}`,o(l,"class","svelte-1fx1e1e"),o(a,"class","modal-desc svelte-1fx1e1e"),o(u,"class","btn btn-danger"),o(h,"class","btn"),o(c,"class","modal-actions svelte-1fx1e1e"),o(t,"class","modal svelte-1fx1e1e"),o(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),s(e,t),s(t,l),s(t,i),s(t,a),s(t,r),s(t,c),s(c,u),s(c,p),s(c,h),m||(g=[A(u,"click",n[17]),A(h,"click",n[26]),A(e,"click",n[27])],m=!0)},p:ie,d(b){b&&w(e),m=!1,ve(g)}}}function Jo(n){let e,t,l,i,a,r,c,u,p,h,m,g;return{c(){e=f("button"),t=f("div"),l=f("h3"),l.textContent=`${v("settings.confirmResetKey")}`,i=_(),a=f("p"),a.textContent=`${v("settings.confirmResetKeyDesc")}`,r=_(),c=f("div"),u=f("button"),u.textContent=`${v("settings.resetKey")}`,p=_(),h=f("button"),h.textContent=`${v("common.cancel")}`,o(l,"class","svelte-1fx1e1e"),o(a,"class","modal-desc svelte-1fx1e1e"),o(u,"class","btn btn-danger"),o(h,"class","btn"),o(c,"class","modal-actions svelte-1fx1e1e"),o(t,"class","modal svelte-1fx1e1e"),o(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),s(e,t),s(t,l),s(t,i),s(t,a),s(t,r),s(t,c),s(c,u),s(c,p),s(c,h),m||(g=[A(u,"click",n[19]),A(h,"click",n[28]),A(e,"click",n[29])],m=!0)},p:ie,d(b){b&&w(e),m=!1,ve(g)}}}function fv(n){let e,t,l,i,a,r,c,u,p,h,m=n[2]&&Oo(n),g=n[3]&&!n[2]&&zo(n);function b(E,I){return E[0]&&E[0].enabled?uv:cv}let k=b(n),y=k(n),S=n[9]&&Go(n),T=n[10]&&Jo(n);return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.sync")}`,l=_(),i=f("p"),i.textContent=`${v("settings.syncDesc")}`,a=_(),m&&m.c(),r=_(),g&&g.c(),c=_(),y.c(),u=_(),S&&S.c(),p=_(),T&&T.c(),h=ht(),o(t,"class","svelte-1fx1e1e"),o(i,"class","section-desc svelte-1fx1e1e"),o(e,"class","settings-section svelte-1fx1e1e")},m(E,I){C(E,e,I),s(e,t),s(e,l),s(e,i),s(e,a),m&&m.m(e,null),s(e,r),g&&g.m(e,null),s(e,c),y.m(e,null),C(E,u,I),S&&S.m(E,I),C(E,p,I),T&&T.m(E,I),C(E,h,I)},p(E,I){E[2]?m?m.p(E,I):(m=Oo(E),m.c(),m.m(e,r)):m&&(m.d(1),m=null),E[3]&&!E[2]?g?g.p(E,I):(g=zo(E),g.c(),g.m(e,c)):g&&(g.d(1),g=null),k===(k=b(E))&&y?y.p(E,I):(y.d(1),y=k(E),y&&(y.c(),y.m(e,null))),E[9]?S?S.p(E,I):(S=Go(E),S.c(),S.m(p.parentNode,p)):S&&(S.d(1),S=null),E[10]?T?T.p(E,I):(T=Jo(E),T.c(),T.m(h.parentNode,h)):T&&(T.d(1),T=null)},i:ie,o:ie,d(E){E&&(w(e),w(u),w(p),w(h)),m&&m.d(),g&&g.d(),y.d(),S&&S.d(E),T&&T.d(E)}}}function Xt(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function dv(n,e,t){let{onRefresh:l=null}=e,i=null,a=!1,r="",c="",u="",p="",h="",m="",g=0,b=!1,k=!1,y=null;async function S(){try{t(0,i=await Xt("GetSyncSettings")),i&&(t(5,p=i.serverUrl||""),t(8,g=i.syncInterval||0))}catch{t(0,i=null)}}S();async function T(){t(1,a=!0),t(2,r=""),t(4,u=""),t(11,y=null);try{await Xt("SyncTestConnection",p,h,m),t(11,y=!0),t(3,c="connection ok")}catch(P){t(11,y=!1),t(3,c="connection failed: "+String(P))}t(1,a=!1)}async function E(){t(1,a=!0),t(2,r=""),t(4,u="");try{await Xt("SyncConfigure",p,h,m),t(3,c="configured"),t(6,h=""),t(7,m=""),await S(),l&&l()}catch(P){t(2,r=String(P))}t(1,a=!1)}function I(P){const J=Array.isArray(P==null?void 0:P.conflicts)?P.conflicts:[],Q=Array.isArray(P==null?void 0:P.applyErrors)?P.applyErrors:[],ee=[];return J.length>0&&ee.push(v("sync.conflictsCount",{count:J.length})),Q.length>0&&ee.push(v("sync.applyErrorsCount",{count:Q.length})),ee.join(" · ")}async function D(){t(1,a=!0),t(2,r=""),t(4,u="");try{const P=await Xt("SyncNow"),J=v("sync.pushedPulled",{pushed:(P==null?void 0:P.pushed)||0,pulled:(P==null?void 0:P.pulled)||0}),Q=I(P);t(3,c=Q?J+" · "+Q:J),t(4,u=Q?"warning":""),await S(),l&&l()}catch(P){t(2,r=String(P))}t(1,a=!1)}async function N(){try{await Xt("SyncSetInterval",g),t(3,c=v("sync.settingsSaved")),t(4,u="")}catch(P){t(2,r=String(P))}}function M(){t(9,b=!0)}async function j(){t(9,b=!1),t(1,a=!0),t(4,u="");try{await Xt("SyncDisconnect"),t(3,c="disconnected"),await S(),l&&l()}catch(P){t(2,r=String(P))}t(1,a=!1)}function R(){t(10,k=!0)}async function O(){t(10,k=!1),t(1,a=!0),t(4,u="");try{await Xt("ResetSyncKey"),t(3,c="key reset"),await S(),l&&l()}catch(P){t(2,r=String(P))}t(1,a=!1)}function H(P){return P?{connected:v("settings.connected"),disconnected:v("settings.disconnected"),disabled:v("settings.notConfigured"),error:v("settings.error"),revoked:v("settings.revoked")}[P]||P:v("settings.notConfigured")}function V(){g=ll(this.value),t(8,g)}function G(){p=this.value,t(5,p)}function U(){h=this.value,t(6,h)}function q(){m=this.value,t(7,m)}const Y=()=>t(9,b=!1),B=()=>t(9,b=!1),F=()=>t(10,k=!1),W=()=>t(10,k=!1);return n.$$set=P=>{"onRefresh"in P&&t(21,l=P.onRefresh)},[i,a,r,c,u,p,h,m,g,b,k,y,T,E,D,N,M,j,R,O,H,l,V,G,U,q,Y,B,F,W]}class pv extends it{constructor(e){super(),lt(this,e,dv,fv,nt,{onRefresh:21},null,[-1,-1])}}function vv(n){let e,t,l,i;return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("settings.backup")}`,l=_(),i=f("p"),i.textContent=`${v("settings.backupStub")}`,o(t,"class","svelte-19bo7bn"),o(i,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(a,r){C(a,e,r),s(e,t),s(e,l),s(e,i)},p:ie,i:ie,o:ie,d(a){a&&w(e)}}}class mv extends it{constructor(e){super(),lt(this,e,null,vv,nt,{})}}const{window:_v}=Jl;function hv(n){let e,t;return e=new mv({}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function gv(n){let e,t;return e=new pv({props:{onRefresh:n[6]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function bv(n){let e,t;return e=new av({}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function kv(n){let e,t;return e=new sv({}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function yv(n){let e,t;return e=new iv({}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function wv(n){let e,t;return e=new ev({props:{onRefresh:n[2]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function Cv(n){let e,t;return e=new Yp({props:{onRefresh:n[2]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function Sv(n){let e,t;return e=new Up({props:{appConfig:n[1],onSave:n[5]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p(l,i){const a={};i&2&&(a.appConfig=l[1]),e.$set(a)},i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function Tv(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S;p=new Bp({props:{activeSection:n[0],onSelect:n[3]}});const T=[Sv,Cv,wv,yv,kv,bv,gv,hv],E=[];function I(D,N){return D[0]==="general"?0:D[0]==="workspace"?1:D[0]==="templates"?2:D[0]==="plugins"?3:D[0]==="files"?4:D[0]==="activity"?5:D[0]==="sync"?6:D[0]==="backup"?7:-1}return~(g=I(n))&&(b=E[g]=T[g](n)),{c(){e=f("button"),t=f("div"),l=f("div"),i=f("h2"),i.textContent=`${v("settings.title")}`,a=_(),r=f("button"),r.innerHTML='',c=_(),u=f("div"),Xe(p.$$.fragment),h=_(),m=f("div"),b&&b.c(),o(i,"class","svelte-zf2zsc"),o(r,"class","close-btn svelte-zf2zsc"),o(r,"title",v("settings.close")),o(l,"class","settings-header svelte-zf2zsc"),o(m,"class","settings-content svelte-zf2zsc"),o(u,"class","settings-body svelte-zf2zsc"),o(t,"class","settings-window svelte-zf2zsc"),o(e,"class","settings-overlay svelte-zf2zsc")},m(D,N){C(D,e,N),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(t,c),s(t,u),Je(p,u,null),s(u,h),s(u,m),~g&&E[g].m(m,null),k=!0,y||(S=[A(_v,"keydown",n[7]),A(r,"click",n[4]),A(e,"click",Et(n[4]))],y=!0)},p(D,[N]){const M={};N&1&&(M.activeSection=D[0]),p.$set(M);let j=g;g=I(D),g===j?~g&&E[g].p(D,N):(b&&(ut(),ge(E[j],1,1,()=>{E[j]=null}),ft()),~g?(b=E[g],b?b.p(D,N):(b=E[g]=T[g](D),b.c()),pe(b,1),b.m(m,null)):b=null)},i(D){k||(pe(p.$$.fragment,D),pe(b),k=!0)},o(D){ge(p.$$.fragment,D),ge(b),k=!1},d(D){D&&w(e),qe(p),~g&&E[g].d(),y=!1,ve(S)}}}function qo(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function Ev(n,e,t){let{onClose:l=null}=e,{onSyncRefresh:i=null}=e,{initialSection:a="general"}=e,r=a,c=null;async function u(){try{t(1,c=await qo("GetAppConfig"))}catch{t(1,c=null)}}u();function p(k){t(0,r=k)}function h(){l&&l()}async function m(k){try{await qo("SaveAppConfig",k),t(1,c=k)}catch(y){console.error(y)}}function g(){i&&i()}function b(k){k.key==="Escape"&&h()}return n.$$set=k=>{"onClose"in k&&t(8,l=k.onClose),"onSyncRefresh"in k&&t(9,i=k.onSyncRefresh),"initialSection"in k&&t(10,a=k.initialSection)},[r,c,u,p,h,m,g,b,l,i,a]}class Iv extends it{constructor(e){super(),lt(this,e,Ev,Tv,nt,{onClose:8,onSyncRefresh:9,initialSection:10})}}function Nv(n){let e,t,l,i,a,r,c,u;return{c(){e=f("div"),t=f("span"),l=_(),i=f("span"),i.textContent=`${v("sync.status.disabled")}`,a=_(),r=f("button"),r.textContent=`${v("sync.configure")}`,o(t,"class","sync-dot dot-disabled svelte-1rxbx0"),o(i,"class","sync-label svelte-1rxbx0"),o(r,"class","btn btn-xs svelte-1rxbx0"),o(e,"class","sync-status-row svelte-1rxbx0")},m(p,h){C(p,e,h),s(e,t),s(e,l),s(e,i),s(e,a),s(e,r),c||(u=A(r,"click",function(){Wt(n[5])&&n[5].apply(this,arguments)}),c=!0)},p(p,h){n=p},d(p){p&&w(e),c=!1,u()}}}function Dv(n){let e,t,l,i,a,r=n[7](n[0])+"",c,u,p,h,m,g=(n[1]?v("sync.running"):v("sync.run"))+"",b,k,y,S,T,E,I,D=n[0].unpushedOps>0&&Yo(n),N=n[2]&&Qo(n);return{c(){e=f("div"),t=f("span"),i=_(),a=f("span"),c=z(r),u=_(),D&&D.c(),p=_(),h=f("div"),m=f("button"),b=z(g),k=_(),y=f("button"),y.textContent=`${v("sync.details")}`,S=_(),N&&N.c(),T=ht(),o(t,"class",l="sync-dot "+n[6](n[0])+" svelte-1rxbx0"),o(a,"class","sync-label svelte-1rxbx0"),o(m,"class","btn btn-xs svelte-1rxbx0"),m.disabled=n[1],o(y,"class","btn btn-xs btn-link svelte-1rxbx0"),o(h,"class","sync-actions-row svelte-1rxbx0"),o(e,"class","sync-status-row svelte-1rxbx0")},m(M,j){C(M,e,j),s(e,t),s(e,i),s(e,a),s(a,c),s(e,u),D&&D.m(e,null),s(e,p),s(e,h),s(h,m),s(m,b),s(h,k),s(h,y),C(M,S,j),N&&N.m(M,j),C(M,T,j),E||(I=[A(m,"click",function(){Wt(n[4])&&n[4].apply(this,arguments)}),A(y,"click",function(){Wt(n[5])&&n[5].apply(this,arguments)})],E=!0)},p(M,j){n=M,j&1&&l!==(l="sync-dot "+n[6](n[0])+" svelte-1rxbx0")&&o(t,"class",l),j&1&&r!==(r=n[7](n[0])+"")&&K(c,r),n[0].unpushedOps>0?D?D.p(n,j):(D=Yo(n),D.c(),D.m(e,p)):D&&(D.d(1),D=null),j&2&&g!==(g=(n[1]?v("sync.running"):v("sync.run"))+"")&&K(b,g),j&2&&(m.disabled=n[1]),n[2]?N?N.p(n,j):(N=Qo(n),N.c(),N.m(T.parentNode,T)):N&&(N.d(1),N=null)},d(M){M&&(w(e),w(S),w(T)),D&&D.d(),N&&N.d(M),E=!1,ve(I)}}}function Yo(n){let e,t=n[0].unpushedOps+"",l,i,a=v("sync.changes")+"",r;return{c(){e=f("span"),l=z(t),i=_(),r=z(a),o(e,"class","sync-count svelte-1rxbx0")},m(c,u){C(c,e,u),s(e,l),s(e,i),s(e,r)},p(c,u){u&1&&t!==(t=c[0].unpushedOps+"")&&K(l,t)},d(c){c&&w(e)}}}function Qo(n){let e,t,l;return{c(){e=f("div"),t=z(n[2]),o(e,"class",l=ro(n[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")},m(i,a){C(i,e,a),s(e,t)},p(i,a){a&4&&K(t,i[2]),a&8&&l!==(l=ro(i[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")&&o(e,"class",l)},d(i){i&&w(e)}}}function Mv(n){let e;function t(a,r){var c;return(c=a[0])!=null&&c.configured?Dv:Nv}let l=t(n),i=l(n);return{c(){e=f("div"),i.c(),o(e,"class","sync-status-widget svelte-1rxbx0")},m(a,r){C(a,e,r),i.m(e,null)},p(a,[r]){l===(l=t(a))&&i?i.p(a,r):(i.d(1),i=l(a),i&&(i.c(),i.m(e,null)))},i:ie,o:ie,d(a){a&&w(e),i.d()}}}function jv(n,e,t){let{syncStatus:l=null}=e,{syncLoading:i=!1}=e,{syncMessage:a=""}=e,{syncMessageKind:r=""}=e,{onSync:c=null}=e,{onOpenSettings:u=null}=e;function p(m){return!m||!m.configured?"dot-disabled":i?"dot-syncing":m.revoked?"dot-disabled":m.connected?"dot-connected":m.configured?"dot-warning":"dot-disabled"}function h(m){return!m||!m.configured?v("sync.status.disabled"):i?v("sync.status.syncing"):m.revoked?v("sync.status.error"):m.connected?v("sync.status.connected"):v("sync.status.disconnected")}return n.$$set=m=>{"syncStatus"in m&&t(0,l=m.syncStatus),"syncLoading"in m&&t(1,i=m.syncLoading),"syncMessage"in m&&t(2,a=m.syncMessage),"syncMessageKind"in m&&t(3,r=m.syncMessageKind),"onSync"in m&&t(4,c=m.onSync),"onOpenSettings"in m&&t(5,u=m.onOpenSettings)},[l,i,a,r,c,u,p,h]}class Av extends it{constructor(e){super(),lt(this,e,jv,Mv,nt,{syncStatus:0,syncLoading:1,syncMessage:2,syncMessageKind:3,onSync:4,onOpenSettings:5})}}function Xo(n,e,t){const l=n.slice();return l[64]=e[t],l}function Zo(n,e,t){const l=n.slice();return l[64]=e[t],l}function xo(n,e,t){const l=n.slice();return l[59]=e[t],l[60]=e,l[61]=t,l}function $o(n,e,t){const l=n.slice();return l[56]=e[t],l}function es(n,e,t){const l=n.slice();return l[56]=e[t],l}function ts(n){let e,t;return{c(){e=f("span"),t=z(n[4]),o(e,"class","tab-badge svelte-9xe4sr")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i[0]&16&&K(t,l[4])},d(l){l&&w(e)}}}function ns(n){let e,t=n[3].length+"",l;return{c(){e=f("span"),l=z(t),o(e,"class","tab-badge svelte-9xe4sr")},m(i,a){C(i,e,a),s(e,l)},p(i,a){a[0]&8&&t!==(t=i[3].length+"")&&K(l,t)},d(i){i&&w(e)}}}function Lv(n){let e,t,l,i,a,r,c,u,p,h,m=n[19]==="asc"?"↑":"↓",g,b,k,y;function S(I,D){return I[3].length===0?zv:Ov}let T=S(n),E=T(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("button"),i.textContent=`${v("today.sortByTime")}`,a=_(),r=f("button"),r.textContent=`${v("today.sortByName")}`,c=_(),u=f("button"),u.textContent=`${v("today.sortByType")}`,p=_(),h=f("span"),g=z(m),b=_(),E.c(),o(i,"class","sort-btn svelte-9xe4sr"),ae(i,"active",n[18]==="time"),o(r,"class","sort-btn svelte-9xe4sr"),ae(r,"active",n[18]==="name"),o(u,"class","sort-btn svelte-9xe4sr"),ae(u,"active",n[18]==="type"),o(h,"class","sort-dir svelte-9xe4sr"),o(l,"class","sort-controls svelte-9xe4sr"),o(t,"class","tab-controls svelte-9xe4sr"),o(e,"class","today-tab-content svelte-9xe4sr")},m(I,D){C(I,e,D),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(l,c),s(l,u),s(l,p),s(l,h),s(h,g),s(e,b),E.m(e,null),k||(y=[A(i,"click",n[51]),A(r,"click",n[52]),A(u,"click",n[53])],k=!0)},p(I,D){D[0]&262144&&ae(i,"active",I[18]==="time"),D[0]&262144&&ae(r,"active",I[18]==="name"),D[0]&262144&&ae(u,"active",I[18]==="type"),D[0]&524288&&m!==(m=I[19]==="asc"?"↑":"↓")&&K(g,m),T===(T=S(I))&&E?E.p(I,D):(E.d(1),E=T(I),E&&(E.c(),E.m(e,null)))},d(I){I&&w(e),E.d(),k=!1,ve(y)}}}function Pv(n){let e,t,l,i,a,r,c,u,p,h,m=n[17]==="asc"?"↑":"↓",g,b,k,y;function S(I,D){return I[2].length===0?Bv:Hv}let T=S(n),E=T(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("button"),i.textContent=`${v("today.sortByTime")}`,a=_(),r=f("button"),r.textContent=`${v("today.sortByName")}`,c=_(),u=f("button"),u.textContent=`${v("today.sortByType")}`,p=_(),h=f("span"),g=z(m),b=_(),E.c(),o(i,"class","sort-btn svelte-9xe4sr"),ae(i,"active",n[16]==="time"),o(r,"class","sort-btn svelte-9xe4sr"),ae(r,"active",n[16]==="name"),o(u,"class","sort-btn svelte-9xe4sr"),ae(u,"active",n[16]==="type"),o(h,"class","sort-dir svelte-9xe4sr"),o(l,"class","sort-controls svelte-9xe4sr"),o(t,"class","tab-controls svelte-9xe4sr"),o(e,"class","today-tab-content svelte-9xe4sr")},m(I,D){C(I,e,D),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(l,c),s(l,u),s(l,p),s(l,h),s(h,g),s(e,b),E.m(e,null),k||(y=[A(i,"click",n[46]),A(r,"click",n[47]),A(u,"click",n[48])],k=!0)},p(I,D){D[0]&65536&&ae(i,"active",I[16]==="time"),D[0]&65536&&ae(r,"active",I[16]==="name"),D[0]&65536&&ae(u,"active",I[16]==="type"),D[0]&131072&&m!==(m=I[17]==="asc"?"↑":"↓")&&K(g,m),T===(T=S(I))&&E?E.p(I,D):(E.d(1),E=T(I),E&&(E.c(),E.m(e,null)))},d(I){I&&w(e),E.d(),k=!1,ve(y)}}}function Fv(n){let e;function t(a,r){return a[0].length===0?Vv:Wv}let l=t(n),i=l(n);return{c(){e=f("div"),i.c(),o(e,"class","today-tab-content svelte-9xe4sr")},m(a,r){C(a,e,r),i.m(e,null)},p(a,r){l===(l=t(a))&&i?i.p(a,r):(i.d(1),i=l(a),i&&(i.c(),i.m(e,null)))},d(a){a&&w(e),i.d()}}}function Rv(n){let e;function t(a,r){return!a[1]||!a[1].events||a[1].events.length===0?Kv:Uv}let l=t(n),i=l(n);return{c(){e=f("div"),i.c(),o(e,"class","today-tab-content svelte-9xe4sr")},m(a,r){C(a,e,r),i.m(e,null)},p(a,r){l===(l=t(a))&&i?i.p(a,r):(i.d(1),i=l(a),i&&(i.c(),i.m(e,null)))},d(a){a&&w(e),i.d()}}}function Ov(n){let e,t=ue(ms(n[3],n[18],n[19])),l=[];for(let i=0;i0&&ss(n);function le(...X){return n[38](n[59],n[60],n[61],...X)}function se(){return n[39](n[59])}function ce(){return n[40](n[59])}function de(){return n[41](n[59])}function we(){return n[42](n[59],n[60],n[61])}function ze(...X){return n[43](n[59],n[60],n[61],...X)}let me=n[59]._expanded&&n[59].events&&n[59].events.length>0&&rs(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("button"),r=z(a),c=_(),u=f("span"),h=z(p),m=_(),g=f("span"),k=z(b),y=_(),T=z(S),te&&te.c(),E=_(),I=f("div"),D=f("span"),j=_(),R=f("input"),H=_(),V=f("span"),V.textContent=`${v("suggest.minutes")}`,G=_(),U=f("button"),U.textContent=`${v("suggest.edit")}`,q=_(),Y=f("button"),Y.textContent=`${v("suggest.apply")}`,B=_(),F=f("button"),F.textContent=`${v("common.delete")}`,W=_(),me&&me.c(),P=_(),o(i,"class","suggestion-node link-btn svelte-9xe4sr"),o(u,"class","suggestion-summary svelte-9xe4sr"),o(g,"class","suggestion-meta svelte-9xe4sr"),o(l,"class","suggestion-info svelte-9xe4sr"),o(D,"class","suggestion-confidence-dot svelte-9xe4sr"),o(D,"title",N=v("suggest.confidence."+n[59].confidence)),o(D,"aria-label",M=v("suggest.confidence."+n[59].confidence)),ae(D,"low",n[59].confidence==="low"),ae(D,"medium",n[59].confidence==="medium"),ae(D,"high",n[59].confidence==="high"),o(R,"type","number"),o(R,"class","suggestion-min-input svelte-9xe4sr"),R.value=O=n[59].suggestedMin,o(R,"min","1"),o(R,"max","480"),o(V,"class","suggestion-min-label svelte-9xe4sr"),o(U,"class","btn btn-sm svelte-9xe4sr"),o(Y,"class","btn btn-sm btn-primary svelte-9xe4sr"),o(F,"class","btn btn-sm btn-danger svelte-9xe4sr"),o(I,"class","suggestion-actions svelte-9xe4sr"),o(t,"class","suggestion-main svelte-9xe4sr"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-9xe4sr"),ae(e,"expanded",n[59]._expanded)},m(X,x){C(X,e,x),s(e,t),s(t,l),s(l,i),s(i,r),s(l,c),s(l,u),s(u,h),s(l,m),s(l,g),s(g,k),s(g,y),s(g,T),te&&te.m(g,null),s(t,E),s(t,I),s(I,D),s(I,j),s(I,R),s(I,H),s(I,V),s(I,G),s(I,U),s(I,q),s(I,Y),s(I,B),s(I,F),s(e,W),me&&me.m(e,null),s(e,P),J||(Q=[A(i,"click",Te(ee)),A(R,"change",Te(le)),A(U,"click",Te(se)),A(Y,"click",Te(ce)),A(F,"click",Te(de)),A(t,"click",we),A(t,"keydown",ze)],J=!0)},p(X,x){n=X,x[0]&1&&a!==(a=n[59].nodeTitle+"")&&K(r,a),x[0]&1&&p!==(p=n[59].summary+"")&&K(h,p),x[0]&1&&b!==(b=n[59].suggestedMin+"")&&K(k,b),n[59].events&&n[59].events.length>0?te?te.p(n,x):(te=ss(n),te.c(),te.m(g,null)):te&&(te.d(1),te=null),x[0]&1&&N!==(N=v("suggest.confidence."+n[59].confidence))&&o(D,"title",N),x[0]&1&&M!==(M=v("suggest.confidence."+n[59].confidence))&&o(D,"aria-label",M),x[0]&1&&ae(D,"low",n[59].confidence==="low"),x[0]&1&&ae(D,"medium",n[59].confidence==="medium"),x[0]&1&&ae(D,"high",n[59].confidence==="high"),x[0]&1&&O!==(O=n[59].suggestedMin)&&R.value!==O&&(R.value=O),n[59]._expanded&&n[59].events&&n[59].events.length>0?me?me.p(n,x):(me=rs(n),me.c(),me.m(e,P)):me&&(me.d(1),me=null),x[0]&1&&ae(e,"expanded",n[59]._expanded)},d(X){X&&w(e),te&&te.d(),me&&me.d(),J=!1,ve(Q)}}}function Uv(n){let e,t=ue(n[1].events),l=[];for(let i=0;i',q=_(),o(t,"class","feed-icon svelte-9xe4sr"),o(u,"class","feed-type svelte-9xe4sr"),o(g,"class","feed-colon svelte-9xe4sr"),o(k,"class","feed-title link-btn svelte-9xe4sr"),o(c,"class","feed-title-line svelte-9xe4sr"),o(N,"class","feed-event-type svelte-9xe4sr"),o(O,"class","feed-time svelte-9xe4sr"),o(E,"class","feed-meta-line svelte-9xe4sr"),o(r,"class","feed-body svelte-9xe4sr"),o(U,"class","feed-nav-btn svelte-9xe4sr"),o(U,"title","Открыть"),o(e,"class","feed-item svelte-9xe4sr"),o(e,"role","button"),o(e,"tabindex","0")},m(Q,ee){C(Q,e,ee),s(e,t),s(t,i),s(e,a),s(e,r),s(r,c),s(c,u),s(u,h),s(c,m),s(c,g),s(c,b),s(c,k),s(k,S),s(r,T),s(r,E),F&&F.m(E,null),s(E,D),s(E,N),s(N,j),s(E,R),s(E,O),s(O,V),s(e,G),s(e,U),s(e,q),Y||(B=[A(U,"click",Te(W)),A(e,"click",P),A(e,"keydown",J)],Y=!0)},p(Q,ee){n=Q,ee[0]&2&&l!==(l=vs(n[56].eventType)+"")&&K(i,l),ee[0]&2&&p!==(p=n[22](n[56].eventType)+"")&&K(h,p),ee[0]&2&&y!==(y=n[56].title+"")&&K(S,y),ee[0]&2&&(I=nl(n[56])),I?F?F.p(n,ee):(F=ds(n),F.c(),F.m(E,D)):F&&(F.d(1),F=null),ee[0]&66&&M!==(M=n[6](n[56].eventType)+"")&&K(j,M),ee[0]&34&&H!==(H=n[5](n[56].createdAt)+"")&&K(V,H)},d(Q){Q&&w(e),F&&F.d(),Y=!1,ve(B)}}}function Gv(n){var Y;let e,t,l,i,a,r=(((Y=n[1])==null?void 0:Y.date)||"")+"",c,u,p,h,m,g,b=v("today.suggestionsTab")+"",k,y,S,T,E,I,D=v("today.captured")+"",N,M,j,R,O,H=n[4]>0&&ts(n),V=n[3].length>0&&ns(n);function G(B,F){if(B[15]==="feed")return Rv;if(B[15]==="suggestions")return Fv;if(B[15]==="inprogress")return Pv;if(B[15]==="captured")return Lv}let U=G(n),q=U&&U(n);return{c(){e=f("div"),t=f("div"),l=f("h2"),l.textContent=`${v("today.title")}`,i=_(),a=f("span"),c=z(r),u=_(),p=f("div"),h=f("button"),h.textContent=`${v("today.feed")}`,m=_(),g=f("button"),k=z(b),y=_(),H&&H.c(),S=_(),T=f("button"),T.textContent=`${v("today.inProgress")}`,E=_(),I=f("button"),N=z(D),M=_(),V&&V.c(),j=_(),q&&q.c(),o(l,"class","svelte-9xe4sr"),o(a,"class","today-date svelte-9xe4sr"),o(t,"class","today-header svelte-9xe4sr"),o(h,"class","today-tab svelte-9xe4sr"),ae(h,"active",n[15]==="feed"),o(g,"class","today-tab svelte-9xe4sr"),ae(g,"active",n[15]==="suggestions"),o(T,"class","today-tab svelte-9xe4sr"),ae(T,"active",n[15]==="inprogress"),o(I,"class","today-tab svelte-9xe4sr"),ae(I,"active",n[15]==="captured"),o(p,"class","today-tabs svelte-9xe4sr"),o(e,"class","today-screen svelte-9xe4sr")},m(B,F){C(B,e,F),s(e,t),s(t,l),s(t,i),s(t,a),s(a,c),s(e,u),s(e,p),s(p,h),s(p,m),s(p,g),s(g,k),s(g,y),H&&H.m(g,null),s(p,S),s(p,T),s(p,E),s(p,I),s(I,N),s(I,M),V&&V.m(I,null),s(e,j),q&&q.m(e,null),R||(O=[A(h,"click",n[30]),A(g,"click",n[31]),A(T,"click",n[32]),A(I,"click",n[33])],R=!0)},p(B,F){var W;F[0]&2&&r!==(r=(((W=B[1])==null?void 0:W.date)||"")+"")&&K(c,r),F[0]&32768&&ae(h,"active",B[15]==="feed"),B[4]>0?H?H.p(B,F):(H=ts(B),H.c(),H.m(g,null)):H&&(H.d(1),H=null),F[0]&32768&&ae(g,"active",B[15]==="suggestions"),F[0]&32768&&ae(T,"active",B[15]==="inprogress"),B[3].length>0?V?V.p(B,F):(V=ns(B),V.c(),V.m(I,null)):V&&(V.d(1),V=null),F[0]&32768&&ae(I,"active",B[15]==="captured"),U===(U=G(B))&&q?q.p(B,F):(q&&q.d(1),q=U&&U(B),q&&(q.c(),q.m(e,null)))},i:ie,o:ie,d(B){B&&w(e),H&&H.d(),V&&V.d(),q&&q.d(),R=!1,ve(O)}}}function vs(n){return n==="note_created"||n==="file_added"||n==="folder_added"||n==="node_created"?"+":n==="file_deleted"||n==="folder_deleted"?"×":n==="file_renamed"||n==="folder_renamed"||n==="node_updated"?"~":n==="file_copied"?"⧉":n==="file_moved"||n==="folder_moved"?"→":n==="note_updated"?"✎":n==="action_created"?"▶":n==="action_done"?"✓":n==="worklog_added"?"⏱":"•"}function nl(n){const e=[];return n.nodePath&&e.push(n.nodePath),e.length>0?e.join(" → "):""}function ms(n,e,t){const l=[...n];return l.sort((i,a)=>{let r=0;if(e==="name")r=(i.title||"").localeCompare(a.title||"");else if(e==="type"){const c=i.captureKind||i.sourceKind||"",u=a.captureKind||a.sourceKind||"";r=c.localeCompare(u)}else r=(i.capturedAt||i.createdAt||"").localeCompare(a.capturedAt||a.createdAt||"");return t==="asc"?r:-r}),l}function _s(n){return{text:"📝",url:"🔗",file:"📄",image:"🖼",folder:"📁"}[n]||"📦"}function Jv(n,e,t){let{todayDashboard:l=null}=e,{suggestions:i=[]}=e,{inProgressItems:a=[]}=e,{todayCaptures:r=[]}=e,{suggestionCount:c=0}=e,{formatTime:u=Z=>""}=e,{formatDate:p=Z=>""}=e,{eventLabel:h=Z=>Z}=e,{eventIcon:m=Z=>""}=e,{nodeKindLabel:g=Z=>Z}=e,{captureKindLabel:b=Z=>Z}=e,{inboxMetaText:k=Z=>""}=e,{onOpenNodeById:y=Z=>{}}=e,{onOpenActivityEvent:S=Z=>{}}=e,{onOpenActivityTarget:T=Z=>{}}=e,{onOpenSuggestionWorklog:E=Z=>{}}=e,{onAcceptSuggestion:I=Z=>{}}=e,{onDeleteSuggestion:D=Z=>{}}=e,{onOpenNodeFolder:N=Z=>{}}=e,{onOpenInboxArtifact:M=Z=>{}}=e,j="feed";function R(Z){I(Z)}function O(Z){D(Z)}function H(Z){return{note_created:v("event.noteCreated"),note_updated:v("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:v("event.fileAdded"),file_deleted:v("event.fileDeleted"),file_renamed:v("event.fileRenamed"),file_copied:v("event.fileCopied"),file_moved:v("event.fileMoved"),folder_added:v("event.folderAdded"),folder_deleted:v("event.folderDeleted"),folder_renamed:v("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:v("event.caseCreated"),node_updated:v("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[Z.eventType]||Z.eventType}function V(Z){if(Z.eventType==="folder_deleted"){y(Z.nodeId);return}if(["file_added","file_deleted","file_renamed","file_copied","file_moved","folder_added","folder_renamed","folder_moved"].includes(Z.eventType)){Z.targetId?T(Z):y(Z.nodeId);return}if(["note_created","note_updated","note_deleted"].includes(Z.eventType)){Z.targetType==="note"&&Z.targetId?T(Z):y(Z.nodeId);return}if(Z.eventType==="worklog_added"){y(Z.nodeId);return}if(["action_created","action_done"].includes(Z.eventType)){y(Z.nodeId);return}S(Z)}function G(Z,ye,Pe){const je=[...Z];return je.sort((Be,Ae)=>{let Ee=0;return ye==="name"?Ee=(Be.title||"").localeCompare(Ae.title||""):ye==="type"?Ee=(h(Be.eventType)||"").localeCompare(h(Ae.eventType)||""):Ee=(Be.createdAt||"").localeCompare(Ae.createdAt||""),Pe==="asc"?Ee:-Ee}),je}let U="time",q="desc",Y="time",B="desc";const F=()=>t(15,j="feed"),W=()=>t(15,j="suggestions"),P=()=>t(15,j="inprogress"),J=()=>t(15,j="captured"),Q=Z=>V(Z),ee=Z=>V(Z),te=(Z,ye)=>ye.key==="Enter"&&V(Z),le=Z=>y(Z.nodeId),se=(Z,ye,Pe,je)=>t(0,ye[Pe].suggestedMin=parseInt(je.target.value),i),ce=Z=>E(Z),de=Z=>R(Z),we=Z=>O(Z),ze=(Z,ye,Pe)=>t(0,ye[Pe]._expanded=!Z._expanded,i),me=(Z,ye,Pe,je)=>je.key==="Enter"&&t(0,ye[Pe]._expanded=!Z._expanded,i),X=Z=>T(Z),x=Z=>N(Z.nodeId),be=()=>{t(16,U="time"),t(17,q=U==="time"&&q==="desc"?"asc":"desc")},Ce=()=>{t(16,U="name"),t(17,q=U==="name"&&q==="desc"?"asc":"desc")},_e=()=>{t(16,U="type"),t(17,q=U==="type"&&q==="desc"?"asc":"desc")},He=Z=>S(Z),Ze=(Z,ye)=>ye.key==="Enter"&&S(Z),pt=()=>{t(18,Y="time"),t(19,B=Y==="time"&&B==="desc"?"asc":"desc")},Ye=()=>{t(18,Y="name"),t(19,B=Y==="name"&&B==="desc"?"asc":"desc")},Ie=()=>{t(18,Y="type"),t(19,B=Y==="type"&&B==="desc"?"asc":"desc")},Oe=Z=>M(Z),Me=(Z,ye)=>ye.key==="Enter"&&M(Z);return n.$$set=Z=>{"todayDashboard"in Z&&t(1,l=Z.todayDashboard),"suggestions"in Z&&t(0,i=Z.suggestions),"inProgressItems"in Z&&t(2,a=Z.inProgressItems),"todayCaptures"in Z&&t(3,r=Z.todayCaptures),"suggestionCount"in Z&&t(4,c=Z.suggestionCount),"formatTime"in Z&&t(5,u=Z.formatTime),"formatDate"in Z&&t(25,p=Z.formatDate),"eventLabel"in Z&&t(6,h=Z.eventLabel),"eventIcon"in Z&&t(7,m=Z.eventIcon),"nodeKindLabel"in Z&&t(26,g=Z.nodeKindLabel),"captureKindLabel"in Z&&t(27,b=Z.captureKindLabel),"inboxMetaText"in Z&&t(8,k=Z.inboxMetaText),"onOpenNodeById"in Z&&t(9,y=Z.onOpenNodeById),"onOpenActivityEvent"in Z&&t(10,S=Z.onOpenActivityEvent),"onOpenActivityTarget"in Z&&t(11,T=Z.onOpenActivityTarget),"onOpenSuggestionWorklog"in Z&&t(12,E=Z.onOpenSuggestionWorklog),"onAcceptSuggestion"in Z&&t(28,I=Z.onAcceptSuggestion),"onDeleteSuggestion"in Z&&t(29,D=Z.onDeleteSuggestion),"onOpenNodeFolder"in Z&&t(13,N=Z.onOpenNodeFolder),"onOpenInboxArtifact"in Z&&t(14,M=Z.onOpenInboxArtifact)},[i,l,a,r,c,u,h,m,k,y,S,T,E,N,M,j,U,q,Y,B,R,O,H,V,G,p,g,b,I,D,F,W,P,J,Q,ee,te,le,se,ce,de,we,ze,me,X,x,be,Ce,_e,He,Ze,pt,Ye,Ie,Oe,Me]}class qv extends it{constructor(e){super(),lt(this,e,Jv,Gv,nt,{todayDashboard:1,suggestions:0,inProgressItems:2,todayCaptures:3,suggestionCount:4,formatTime:5,formatDate:25,eventLabel:6,eventIcon:7,nodeKindLabel:26,captureKindLabel:27,inboxMetaText:8,onOpenNodeById:9,onOpenActivityEvent:10,onOpenActivityTarget:11,onOpenSuggestionWorklog:12,onAcceptSuggestion:28,onDeleteSuggestion:29,onOpenNodeFolder:13,onOpenInboxArtifact:14},null,[-1,-1,-1])}}const Yv={open:'',showInExplorer:'',delete:'',restore:'',purge:'',move:'',attach:'',back:'',emptyTrash:'',folder:''};function et(n,e=16){return`${Yv[n]||""}`}const{Boolean:lc}=Jl;function hs(n,e,t){const l=n.slice();return l[454]=e[t],l}function gs(n,e,t){const l=n.slice();return l[457]=e[t],l}function bs(n,e,t){const l=n.slice();return l[460]=e[t],l}function ks(n,e,t){const l=n.slice();return l[460]=e[t],l}function ys(n,e,t){const l=n.slice();return l[486]=e[t],l}function ws(n,e,t){const l=n.slice();return l[509]=e[t],l}function Cs(n,e,t){const l=n.slice();return l[486]=e[t],l}function Ss(n,e,t){const l=n.slice();return l[514]=e[t],l}function Ts(n,e,t){const l=n.slice();return l[514]=e[t],l}function Es(n,e,t){const l=n.slice();return l[489]=e[t],l[519]=e,l[520]=t,l}function Is(n,e,t){const l=n.slice();return l[486]=e[t],l}function Ns(n,e,t){const l=n.slice();return l[509]=e[t],l}function Ds(n,e,t){const l=n.slice();return l[506]=e[t],l}function Ms(n,e,t){const l=n.slice();return l[473]=e[t],l}function js(n,e,t){const l=n.slice();return l[499]=e[t],l}function As(n,e,t){const l=n.slice();return l[473]=e[t],l}function Ls(n,e,t){const l=n.slice();return l[486]=e[t],l}function Ps(n,e,t){const l=n.slice();return l[465]=e[t],l}function Fs(n,e,t){const l=n.slice();return l[486]=e[t],l}function Rs(n,e,t){const l=n.slice();return l[489]=e[t],l[490]=e,l[491]=t,l}function Os(n,e,t){const l=n.slice();return l[486]=e[t],l}function zs(n,e,t){const l=n.slice();return l[481]=e[t],l}function Hs(n,e,t){const l=n.slice();return l[478]=e[t],l}function Bs(n,e,t){const l=n.slice();return l[473]=e[t],l}function Ws(n,e,t){const l=n.slice();return l[473]=e[t],l}function Vs(n,e,t){const l=n.slice();return l[468]=e[t],l}function Us(n,e,t){const l=n.slice();return l[465]=e[t],l}function Ks(n,e,t){const l=n.slice();return l[468]=e[t],l}function Gs(n,e,t){const l=n.slice();return l[496]=e[t],l}function Js(n,e,t){const l=n.slice();return l[527]=e[t],l}function qs(n,e,t){const l=n.slice();return l[530]=e[t],l}function Qv(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T,E,I,D,N,M,j,R,O,H,V,G,U,q,Y,B,F,W,P,J,Q,ee,te,le,se,ce,de,we,ze,me,X,x,be,Ce,_e,He,Ze,pt,Ye,Ie=n[94]&&Ys(n),Oe=ue(n[11]),Me=[];for(let re=0;re0?0:1}N=Pe(n),M=ye[N]=Z[N](n),O=new Av({props:{syncStatus:n[109],syncLoading:n[110],syncMessage:n[111],syncMessageKind:n[112],onSync:n[227],onOpenSettings:n[233]}});function je(re,Se){return re[33]?nm:re[32]?tm:em}let Be=je(n),Ae=Be(n),Ee=n[31]&&$s(n);const We=[um,cm,am,rm,sm,om,im,lm],Ue=[];function $e(re,Se){return re[36]?0:re[33]?1:re[32]==="inbox"?2:re[32]==="trash"?3:re[32]==="journal"?4:re[32]==="today"?5:re[32]==="activity"?6:7}le=$e(n),se=Ue[le]=We[le](n);let Fe=n[66]&&ma(n),he=n[70].visible&&ga(n),Ne=n[39]&&wa(n),Le=n[73]&&Ca(n),ot=n[80]&&n[79]&&Ta(n),rt=n[101]&&Ia(n),xe=n[104]&&Da(n),Ke=n[56]&&La(n),tt=n[96]&&Fa(n),Qe=n[86]&&Ra(n),Ge=n[10]&&Oa(n);return{c(){e=f("div"),Ie&&Ie.c(),t=_(),l=f("aside"),i=f("div"),a=f("img"),c=_(),u=f("span"),u.textContent=`${v("nav.brand")}`,p=_(),h=f("nav"),m=f("div"),g=f("div"),g.textContent=`${v("nav.system")}`,b=_();for(let re=0;re',U=_(),q=f("span"),Y=z(n[30]),B=_(),F=f("main"),W=f("header"),P=f("div"),Ae.c(),J=_(),Q=f("div"),Q.innerHTML="",ee=_(),Ee&&Ee.c(),te=_(),se.c(),ce=_(),Fe&&Fe.c(),de=_(),he&&he.c(),we=_(),Ne&&Ne.c(),ze=_(),Le&&Le.c(),me=_(),ot&&ot.c(),X=_(),rt&&rt.c(),x=_(),xe&&xe.c(),be=_(),Ke&&Ke.c(),Ce=_(),tt&&tt.c(),_e=_(),Qe&&Qe.c(),He=_(),Ge&&Ge.c(),o(a,"class","logo svelte-1iuenvo"),pn(a.src,r="/assets/app-icons/icon_32x32.png")||o(a,"src",r),o(a,"width","20"),o(a,"height","20"),o(a,"alt",""),o(u,"class","brand-name svelte-1iuenvo"),o(i,"class","sidebar-brand svelte-1iuenvo"),o(g,"class","nav-label svelte-1iuenvo"),o(m,"class","nav-group svelte-1iuenvo"),o(T,"class","svelte-1iuenvo"),o(I,"class","nav-add-btn svelte-1iuenvo"),o(I,"title",v("common.create")),o(S,"class","nav-label-row svelte-1iuenvo"),o(y,"class","nav-group svelte-1iuenvo"),o(h,"class","sidebar-nav svelte-1iuenvo"),o(G,"class","sidebar-settings-btn svelte-1iuenvo"),o(G,"title",v("common.settings")),o(q,"class","version svelte-1iuenvo"),o(V,"class","sidebar-footer-row svelte-1iuenvo"),o(R,"class","sidebar-footer svelte-1iuenvo"),o(l,"class","sidebar svelte-1iuenvo"),o(P,"class","header-left svelte-1iuenvo"),o(Q,"class","header-right svelte-1iuenvo"),o(W,"class","header svelte-1iuenvo"),o(F,"class","main svelte-1iuenvo"),o(e,"class","app svelte-1iuenvo")},m(re,Se){C(re,e,Se),Ie&&Ie.m(e,null),s(e,t),s(e,l),s(l,i),s(i,a),s(i,c),s(i,u),s(l,p),s(l,h),s(h,m),s(m,g),s(m,b);for(let vt=0;vt{ye[vt]=null}),ft(),M=ye[N],M?M.p(re,Se):(M=ye[N]=Z[N](re),M.c()),pe(M,1),M.m(y,null));const yt={};Se[3]&65536&&(yt.syncStatus=re[109]),Se[3]&131072&&(yt.syncLoading=re[110]),Se[3]&262144&&(yt.syncMessage=re[111]),Se[3]&524288&&(yt.syncMessageKind=re[112]),O.$set(yt),(!Ze||Se[0]&1073741824)&&K(Y,re[30]),Be===(Be=je(re))&&Ae?Ae.p(re,Se):(Ae.d(1),Ae=Be(re),Ae&&(Ae.c(),Ae.m(P,null))),re[31]?Ee?Ee.p(re,Se):(Ee=$s(re),Ee.c(),Ee.m(F,te)):Ee&&(Ee.d(1),Ee=null);let gt=le;le=$e(re),le===gt?Ue[le].p(re,Se):(ut(),ge(Ue[gt],1,1,()=>{Ue[gt]=null}),ft(),se=Ue[le],se?se.p(re,Se):(se=Ue[le]=We[le](re),se.c()),pe(se,1),se.m(F,ce)),re[66]?Fe?(Fe.p(re,Se),Se[2]&16&&pe(Fe,1)):(Fe=ma(re),Fe.c(),pe(Fe,1),Fe.m(F,de)):Fe&&(ut(),ge(Fe,1,1,()=>{Fe=null}),ft()),re[70].visible?he?(he.p(re,Se),Se[2]&256&&pe(he,1)):(he=ga(re),he.c(),pe(he,1),he.m(F,we)):he&&(ut(),ge(he,1,1,()=>{he=null}),ft()),re[39]?Ne?Ne.p(re,Se):(Ne=wa(re),Ne.c(),Ne.m(F,ze)):Ne&&(Ne.d(1),Ne=null),re[73]?Le?Le.p(re,Se):(Le=Ca(re),Le.c(),Le.m(F,me)):Le&&(Le.d(1),Le=null),re[80]&&re[79]?ot?ot.p(re,Se):(ot=Ta(re),ot.c(),ot.m(F,X)):ot&&(ot.d(1),ot=null),re[101]?rt?rt.p(re,Se):(rt=Ia(re),rt.c(),rt.m(F,x)):rt&&(rt.d(1),rt=null),re[104]?xe?xe.p(re,Se):(xe=Da(re),xe.c(),xe.m(F,be)):xe&&(xe.d(1),xe=null),re[56]?Ke?Ke.p(re,Se):(Ke=La(re),Ke.c(),Ke.m(F,Ce)):Ke&&(Ke.d(1),Ke=null),re[96]?tt?(tt.p(re,Se),Se[3]&8&&pe(tt,1)):(tt=Fa(re),tt.c(),pe(tt,1),tt.m(F,_e)):tt&&(ut(),ge(tt,1,1,()=>{tt=null}),ft()),re[86]?Qe?(Qe.p(re,Se),Se[2]&16777216&&pe(Qe,1)):(Qe=Ra(re),Qe.c(),pe(Qe,1),Qe.m(F,He)):Qe&&(ut(),ge(Qe,1,1,()=>{Qe=null}),ft()),re[10]?Ge?(Ge.p(re,Se),Se[0]&1024&&pe(Ge,1)):(Ge=Oa(re),Ge.c(),pe(Ge,1),Ge.m(F,null)):Ge&&(ut(),ge(Ge,1,1,()=>{Ge=null}),ft())},i(re){Ze||(pe(M),pe(O.$$.fragment,re),pe(se),pe(Fe),pe(he),pe(tt),pe(Qe),pe(Ge),Ze=!0)},o(re){ge(M),ge(O.$$.fragment,re),ge(se),ge(Fe),ge(he),ge(tt),ge(Qe),ge(Ge),Ze=!1},d(re){re&&w(e),Ie&&Ie.d(),Re(Me,re),ye[N].d(),qe(O),Ae.d(),Ee&&Ee.d(),Ue[le].d(),Fe&&Fe.d(),he&&he.d(),Ne&&Ne.d(),Le&&Le.d(),ot&&ot.d(),rt&&rt.d(),xe&&xe.d(),Ke&&Ke.d(),tt&&tt.d(),Qe&&Qe.d(),Ge&&Ge.d(),pt=!1,ve(Ye)}}}function Xv(n){var l;let e,t;return e=new Dp({props:{vaultPath:((l=n[7])==null?void 0:l.vaultPath)||"",onComplete:n[229]}}),{c(){Xe(e.$$.fragment)},m(i,a){Je(e,i,a),t=!0},p(i,a){var c;const r={};a[0]&128&&(r.vaultPath=((c=i[7])==null?void 0:c.vaultPath)||""),e.$set(r)},i(i){t||(pe(e.$$.fragment,i),t=!0)},o(i){ge(e.$$.fragment,i),t=!1},d(i){qe(e,i)}}}function Zv(n){let e,t;return e=new Ep({props:{onComplete:n[228]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function Ys(n){let e,t,l;return{c(){e=f("div"),t=f("div"),l=z(n[95]),o(t,"class","capture-drop-box svelte-1iuenvo"),o(e,"class","capture-drop-overlay svelte-1iuenvo")},m(i,a){C(i,e,a),s(e,t),s(t,l)},p(i,a){a[3]&4&&K(l,i[95])},d(i){i&&w(e)}}}function Qs(n){let e,t;return{c(){e=f("span"),t=z(n[49]),o(e,"class","nav-badge svelte-1iuenvo")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i[1]&262144&&K(t,l[49])},d(l){l&&w(e)}}}function Xs(n){let e,t;return{c(){e=f("span"),t=z(n[61]),o(e,"class","nav-badge svelte-1iuenvo")},m(l,i){C(l,e,i),s(e,t)},p(l,i){i[1]&1073741824&&K(t,l[61])},d(l){l&&w(e)}}}function Zs(n){let e,t=n[530].label+"",l,i,a,r,c,u,p,h=n[530].id==="journal"&&n[49]>0&&Qs(n),m=n[530].id==="trash"&&n[61]>0&&Xs(n);function g(){return n[232](n[530])}return{c(){e=f("button"),l=z(t),i=_(),h&&h.c(),a=_(),m&&m.c(),r=_(),o(e,"class",c="nav-item "+(n[32]===n[530].id?"selected":"")+" svelte-1iuenvo")},m(b,k){C(b,e,k),s(e,l),s(e,i),h&&h.m(e,null),s(e,a),m&&m.m(e,null),s(e,r),u||(p=A(e,"click",g),u=!0)},p(b,k){n=b,k[0]&2048&&t!==(t=n[530].label+"")&&K(l,t),n[530].id==="journal"&&n[49]>0?h?h.p(n,k):(h=Qs(n),h.c(),h.m(e,a)):h&&(h.d(1),h=null),n[530].id==="trash"&&n[61]>0?m?m.p(n,k):(m=Xs(n),m.c(),m.m(e,r)):m&&(m.d(1),m=null),k[0]&2048|k[1]&2&&c!==(c="nav-item "+(n[32]===n[530].id?"selected":"")+" svelte-1iuenvo")&&o(e,"class",c)},d(b){b&&w(e),h&&h.d(),m&&m.d(),u=!1,p()}}}function xv(n){let e;return{c(){e=f("div"),e.textContent=`${v("nav.noNodes")}`,o(e,"class","nav-empty svelte-1iuenvo")},m(t,l){C(t,e,l)},p:ie,i:ie,o:ie,d(t){t&&w(e)}}}function $v(n){var r;let e,t,l,i,a;return t=new nc({props:{nodes:n[12],expanded:n[81],selectedNodeId:((r=n[33])==null?void 0:r.id)||"",onSelect:n[120],onToggle:n[150],onContextMenu:n[148],onDrop:n[151]}}),{c(){e=f("div"),Xe(t.$$.fragment),o(e,"class","workspace-tree-area svelte-1iuenvo"),o(e,"role","region"),o(e,"aria-label",v("nav.workspace")),ae(e,"drop-valid",n[92])},m(c,u){C(c,e,u),Je(t,e,null),l=!0,i||(a=[A(e,"dragover",ql(n[153])),A(e,"dragleave",n[154]),A(e,"drop",n[152])],i=!0)},p(c,u){var h;const p={};u[0]&4096&&(p.nodes=c[12]),u[2]&524288&&(p.expanded=c[81]),u[1]&4&&(p.selectedNodeId=((h=c[33])==null?void 0:h.id)||""),t.$set(p),(!l||u[2]&1073741824)&&ae(e,"drop-valid",c[92])},i(c){l||(pe(t.$$.fragment,c),l=!0)},o(c){ge(t.$$.fragment,c),l=!1},d(c){c&&w(e),qe(t),i=!1,ve(a)}}}function em(n){let e;return{c(){e=f("span"),e.textContent=`${v("nav.selectPrompt")}`,o(e,"class","crumb placeholder svelte-1iuenvo")},m(t,l){C(t,e,l)},p:ie,d(t){t&&w(e)}}}function tm(n){let e,t=ue(n[11]),l=[];for(let i=0;i',o(a,"class","dismiss-btn svelte-1iuenvo"),o(a,"aria-label","Dismiss"),o(e,"class","error-banner svelte-1iuenvo"),o(e,"role","button"),o(e,"tabindex","0")},m(u,p){C(u,e,p),s(e,l),s(e,i),s(e,a),r||(c=[A(a,"click",Te(n[235])),A(e,"click",n[236]),A(e,"keydown",function(){Wt(kt(n[237]))&&kt(n[237]).apply(this,arguments)})],r=!0)},p(u,p){n=u,p[1]&1&&t!==(t=n[115](n[31])+"")&&K(l,t)},d(u){u&&w(e),r=!1,ve(c)}}}function lm(n){let e,t,l;function i(c,u){if(c[77])return pm;if(c[11].length>0)return dm;if(c[31])return fm}let a=i(n),r=a&&a(n);return{c(){e=f("div"),t=f("h2"),t.textContent=`${v("welcome.title")}`,l=_(),r&&r.c(),o(t,"class","svelte-1iuenvo"),o(e,"class","welcome svelte-1iuenvo")},m(c,u){C(c,e,u),s(e,t),s(e,l),r&&r.m(e,null)},p(c,u){a===(a=i(c))&&r?r.p(c,u):(r&&r.d(1),r=a&&a(c),r&&(r.c(),r.m(e,null)))},i:ie,o:ie,d(c){c&&w(e),r&&r.d()}}}function im(n){let e,t,l,i;function a(u,p){return u[15].length===0?mm:vm}let r=a(n),c=r(n);return{c(){e=f("div"),t=f("div"),l=f("h2"),l.textContent=`${v("activity.title")}`,i=_(),c.c(),o(l,"class","svelte-1iuenvo"),o(t,"class","activity-feed-header svelte-1iuenvo"),o(e,"class","activity-feed svelte-1iuenvo")},m(u,p){C(u,e,p),s(e,t),s(t,l),s(e,i),c.m(e,null)},p(u,p){r===(r=a(u))&&c?c.p(u,p):(c.d(1),c=r(u),c&&(c.c(),c.m(e,null)))},i:ie,o:ie,d(u){u&&w(e),c.d()}}}function om(n){let e,t,l,i;const a=[hm,_m],r=[];function c(u,p){return u[14]?0:1}return e=c(n),t=r[e]=a[e](n),{c(){t.c(),l=ht()},m(u,p){r[e].m(u,p),C(u,l,p),i=!0},p(u,p){let h=e;e=c(u),e===h?r[e].p(u,p):(ut(),ge(r[h],1,1,()=>{r[h]=null}),ft(),t=r[e],t?t.p(u,p):(t=r[e]=a[e](u),t.c()),pe(t,1),t.m(l.parentNode,l))},i(u){i||(pe(t),i=!0)},o(u){ge(t),i=!1},d(u){u&&w(l),r[e].d(u)}}}function sm(n){let e,t,l,i,a,r,c,u,p,h,m,g,b,k,y,S,T,E,I,D,N,M,j,R,O,H,V,G,U,q,Y,B,F,W,P,J,Q,ee,te,le,se,ce,de,we,ze,me,X,x,be,Ce,_e,He,Ze,pt,Ye,Ie,Oe,Me,Z;function ye(he,Ne){return he[24]?bm:gm}let Pe=ye(n),je=Pe(n),Be=n[21]&&ir(n),Ae=n[25]&&or(n),Ee=n[48].length>0&&sr(n),We=n[17]&&pr(n);function Ue(he,Ne){return he[16].length===0?ym:km}let $e=Ue(n),Fe=$e(n);return{c(){e=f("div"),t=f("div"),l=f("h2"),l.textContent=`${v("journal.title")}`,i=_(),a=f("div"),r=f("div"),r.textContent=`${v("journal.filterHeading")}`,c=_(),u=f("div"),p=f("label"),h=f("span"),h.textContent=`${v("journal.dateFrom")}`,m=_(),g=f("input"),b=_(),k=f("label"),y=f("span"),y.textContent=`${v("journal.dateTo")}`,S=_(),T=f("input"),E=_(),I=f("label"),D=f("span"),D.textContent=`${v("journal.node")}`,N=_(),M=f("div"),je.c(),j=_(),Be&&Be.c(),R=_(),O=f("label"),H=f("span"),H.textContent=`${v("journal.billable")}`,V=_(),G=f("select"),U=f("option"),U.textContent=`${v("common.all")}`,q=f("option"),q.textContent=`${v("journal.billableYes")}`,Y=f("option"),Y.textContent=`${v("journal.billableNo")}`,B=_(),F=f("label"),W=f("span"),W.textContent=`${v("journal.approx")}`,P=_(),J=f("select"),Q=f("option"),Q.textContent=`${v("common.all")}`,ee=f("option"),ee.textContent=`${v("journal.approxExact")}`,te=f("option"),te.textContent=`${v("journal.approxEstimated")}`,le=_(),se=f("button"),se.textContent=`${v("journal.filter")}`,ce=_(),de=f("button"),de.textContent=`${v("journal.reset")}`,we=_(),ze=f("div"),me=f("div"),me.textContent=`${v("journal.exportHeading")}`,X=_(),x=f("div"),be=f("button"),be.textContent=`${v("journal.exportCSV")}`,Ce=_(),_e=f("button"),_e.textContent=`${v("journal.exportMarkdown")}`,He=_(),Ze=f("button"),Ze.textContent="PDF",pt=_(),Ae&&Ae.c(),Ye=_(),Ee&&Ee.c(),Ie=_(),We&&We.c(),Oe=_(),Fe.c(),o(l,"class","svelte-1iuenvo"),o(r,"class","journal-filter-heading svelte-1iuenvo"),o(h,"class","label-text svelte-1iuenvo"),o(g,"type","date"),o(g,"class","svelte-1iuenvo"),o(p,"class","svelte-1iuenvo"),o(y,"class","label-text svelte-1iuenvo"),o(T,"type","date"),o(T,"class","svelte-1iuenvo"),o(k,"class","svelte-1iuenvo"),o(D,"class","label-text svelte-1iuenvo"),o(M,"class","journal-node-picker svelte-1iuenvo"),Ct(M,"position","relative"),o(I,"class","svelte-1iuenvo"),o(H,"class","label-text svelte-1iuenvo"),U.__value="all",ke(U,U.__value),o(U,"class","svelte-1iuenvo"),q.__value="yes",ke(q,q.__value),o(q,"class","svelte-1iuenvo"),Y.__value="no",ke(Y,Y.__value),o(Y,"class","svelte-1iuenvo"),o(G,"class","svelte-1iuenvo"),n[22]===void 0&&xt(()=>n[324].call(G)),o(O,"title",v("journal.billableHint")),o(O,"class","svelte-1iuenvo"),o(W,"class","label-text svelte-1iuenvo"),Q.__value="all",ke(Q,Q.__value),o(Q,"class","svelte-1iuenvo"),ee.__value="no",ke(ee,ee.__value),o(ee,"class","svelte-1iuenvo"),te.__value="yes",ke(te,te.__value),o(te,"class","svelte-1iuenvo"),o(J,"class","svelte-1iuenvo"),n[23]===void 0&&xt(()=>n[325].call(J)),o(F,"title",v("journal.approxHint")),o(F,"class","svelte-1iuenvo"),o(se,"class","btn btn-sm svelte-1iuenvo"),o(de,"class","btn btn-sm svelte-1iuenvo"),o(u,"class","journal-filters-row svelte-1iuenvo"),o(a,"class","journal-filter-section svelte-1iuenvo"),o(me,"class","journal-export-heading svelte-1iuenvo"),o(be,"class","btn btn-sm svelte-1iuenvo"),o(_e,"class","btn btn-sm svelte-1iuenvo"),o(Ze,"class","btn btn-sm svelte-1iuenvo"),o(x,"class","journal-export-row svelte-1iuenvo"),o(ze,"class","journal-export-section svelte-1iuenvo"),o(t,"class","journal-header svelte-1iuenvo"),o(e,"class","journal-screen svelte-1iuenvo")},m(he,Ne){C(he,e,Ne),s(e,t),s(t,l),s(t,i),s(t,a),s(a,r),s(a,c),s(a,u),s(u,p),s(p,h),s(p,m),s(p,g),ke(g,n[18]),s(u,b),s(u,k),s(k,y),s(k,S),s(k,T),ke(T,n[19]),s(u,E),s(u,I),s(I,D),s(I,N),s(I,M),je.m(M,null),s(u,j),Be&&Be.m(u,null),s(u,R),s(u,O),s(O,H),s(O,V),s(O,G),s(G,U),s(G,q),s(G,Y),Bt(G,n[22],!0),s(u,B),s(u,F),s(F,W),s(F,P),s(F,J),s(J,Q),s(J,ee),s(J,te),Bt(J,n[23],!0),s(u,le),s(u,se),s(u,ce),s(u,de),s(t,we),s(t,ze),s(ze,me),s(ze,X),s(ze,x),s(x,be),s(x,Ce),s(x,_e),s(x,He),s(x,Ze),s(x,pt),Ae&&Ae.m(x,null),s(e,Ye),Ee&&Ee.m(e,null),s(e,Ie),We&&We.m(e,null),s(e,Oe),Fe.m(e,null),Me||(Z=[A(g,"input",n[317]),A(T,"input",n[318]),A(G,"change",n[324]),A(J,"change",n[325]),A(se,"click",n[182]),A(de,"click",n[189]),A(be,"click",n[326]),A(_e,"click",n[327]),A(Ze,"click",n[328])],Me=!0)},p(he,Ne){Ne[0]&262144&&ke(g,he[18]),Ne[0]&524288&&ke(T,he[19]),Pe===(Pe=ye(he))&&je?je.p(he,Ne):(je.d(1),je=Pe(he),je&&(je.c(),je.m(M,null))),he[21]?Be?Be.p(he,Ne):(Be=ir(he),Be.c(),Be.m(u,R)):Be&&(Be.d(1),Be=null),Ne[0]&4194304&&Bt(G,he[22]),Ne[0]&8388608&&Bt(J,he[23]),he[25]?Ae?Ae.p(he,Ne):(Ae=or(he),Ae.c(),Ae.m(x,null)):Ae&&(Ae.d(1),Ae=null),he[48].length>0?Ee?Ee.p(he,Ne):(Ee=sr(he),Ee.c(),Ee.m(e,Ie)):Ee&&(Ee.d(1),Ee=null),he[17]?We?We.p(he,Ne):(We=pr(he),We.c(),We.m(e,Oe)):We&&(We.d(1),We=null),$e===($e=Ue(he))&&Fe?Fe.p(he,Ne):(Fe.d(1),Fe=$e(he),Fe&&(Fe.c(),Fe.m(e,null)))},i:ie,o:ie,d(he){he&&w(e),je.d(),Be&&Be.d(),Ae&&Ae.d(),Ee&&Ee.d(),We&&We.d(),Fe.d(),Me=!1,ve(Z)}}}function rm(n){let e,t,l,i,a,r,c,u,p,h,m,g,b=et("emptyTrash",14)+"",k,y=v("trash.emptyTrash")+"",S,T,E,I,D,N,M=n[62].length>0&&Tr(n);function j(H,V){return!H[4]||(H[4].nodes||[]).length===0?Dm:Nm}let R=j(n),O=R(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("h2"),i.textContent=`${v("nav.trash")}`,a=_(),r=f("p"),c=z(n[64]),u=_(),p=f("div"),M&&M.c(),h=_(),m=f("button"),g=new Vl(!1),k=_(),S=z(y),T=_(),E=f("button"),E.textContent=`${v("trash.openFolder")}`,I=_(),O.c(),o(i,"class","svelte-1iuenvo"),o(r,"class","svelte-1iuenvo"),o(l,"class","svelte-1iuenvo"),g.a=k,o(m,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(E,"class","btn btn-sm svelte-1iuenvo"),o(p,"class","trash-actions svelte-1iuenvo"),o(t,"class","trash-header svelte-1iuenvo"),o(e,"class","trash-screen svelte-1iuenvo")},m(H,V){C(H,e,V),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(r,c),s(t,u),s(t,p),M&&M.m(p,null),s(p,h),s(p,m),g.m(b,m),s(m,k),s(m,S),s(p,T),s(p,E),s(e,I),O.m(e,null),D||(N=[A(m,"click",n[177]),A(E,"click",n[312])],D=!0)},p(H,V){V[2]&4&&K(c,H[64]),H[62].length>0?M?M.p(H,V):(M=Tr(H),M.c(),M.m(p,h)):M&&(M.d(1),M=null),R===(R=j(H))&&O?O.p(H,V):(O.d(1),O=R(H),O&&(O.c(),O.m(e,null)))},i:ie,o:ie,d(H){H&&w(e),M&&M.d(),O.d(),D=!1,ve(N)}}}function am(n){let e,t,l,i,a,r,c,u,p,h=(n[53]?v("common.loading"):v("inbox.pasteClipboard"))+"",m,g,b,k,y,S,T=n[54]&&Dr(n),E=n[0].length>0&&Mr(n);function I(M,j){return M[0].length===0?Rm:M[114]?Fm:Pm}let D=I(n),N=D(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("h2"),i.textContent=`${v("nav.inbox")}`,a=_(),r=f("p"),r.textContent=`${v("inbox.subtitle")}`,c=_(),u=f("div"),p=f("button"),m=z(h),g=_(),T&&T.c(),b=_(),E&&E.c(),k=_(),N.c(),o(i,"class","svelte-1iuenvo"),o(r,"class","svelte-1iuenvo"),o(l,"class","svelte-1iuenvo"),o(p,"class","btn btn-primary svelte-1iuenvo"),p.disabled=n[53],o(u,"class","inbox-header-actions svelte-1iuenvo"),o(t,"class","inbox-header svelte-1iuenvo"),o(e,"class","inbox-screen svelte-1iuenvo"),o(e,"role","region"),o(e,"aria-label",v("nav.inbox")),ae(e,"drop-valid",n[93])},m(M,j){C(M,e,j),s(e,t),s(t,l),s(l,i),s(l,a),s(l,r),s(t,c),s(t,u),s(u,p),s(p,m),s(u,g),T&&T.m(u,null),s(e,b),E&&E.m(e,null),s(e,k),N.m(e,null),y||(S=[A(p,"click",n[199]),A(e,"dragover",n[200]),A(e,"dragleave",n[201]),A(e,"drop",n[202])],y=!0)},p(M,j){j[1]&4194304&&h!==(h=(M[53]?v("common.loading"):v("inbox.pasteClipboard"))+"")&&K(m,h),j[1]&4194304&&(p.disabled=M[53]),M[54]?T?T.p(M,j):(T=Dr(M),T.c(),T.m(u,null)):T&&(T.d(1),T=null),M[0].length>0?E?E.p(M,j):(E=Mr(M),E.c(),E.m(e,k)):E&&(E.d(1),E=null),D===(D=I(M))&&N?N.p(M,j):(N.d(1),N=D(M),N&&(N.c(),N.m(e,null))),j[3]&1&&ae(e,"drop-valid",M[93])},i:ie,o:ie,d(M){M&&w(e),T&&T.d(),E&&E.d(),N.d(),y=!1,ve(S)}}}function cm(n){let e,t,l,i,a,r,c=ue(n[117]),u=[];for(let g=0;g{h[k]=null}),ft()),~i?(a=h[i],a?a.p(g,b):(a=h[i]=p[i](g),a.c()),pe(a,1),a.m(l,null)):a=null)},i(g){r||(pe(a),r=!0)},o(g){ge(a),r=!1},d(g){g&&(w(e),w(t),w(l)),Re(u,g),~i&&h[i].d()}}}function um(n){let e,t,l,i=n[36].title+"",a,r,c,u,p,h,m,g,b,k,y,S=n[36].dirty&&va();return{c(){e=f("div"),t=f("div"),l=f("span"),a=z(i),r=_(),S&&S.c(),c=_(),u=f("div"),p=f("button"),p.textContent=`${v("common.save")}`,h=_(),m=f("button"),m.textContent=`${v("common.close")}`,g=_(),b=f("textarea"),o(l,"class","note-title svelte-1iuenvo"),o(p,"class","btn btn-primary svelte-1iuenvo"),o(m,"class","btn svelte-1iuenvo"),o(u,"class","note-editor-actions svelte-1iuenvo"),o(t,"class","note-editor-header svelte-1iuenvo"),o(b,"class","note-textarea svelte-1iuenvo"),o(b,"placeholder",v("note.placeholder")),o(e,"class","note-editor svelte-1iuenvo")},m(T,E){C(T,e,E),s(e,t),s(t,l),s(l,a),s(t,r),S&&S.m(t,null),s(t,c),s(t,u),s(u,p),s(u,h),s(u,m),s(e,g),s(e,b),ke(b,n[36].content),k||(y=[A(p,"click",n[166]),A(m,"click",n[164]),A(b,"input",n[238]),A(b,"input",n[165])],k=!0)},p(T,E){E[1]&32&&i!==(i=T[36].title+"")&&K(a,i),T[36].dirty?S||(S=va(),S.c(),S.m(t,c)):S&&(S.d(1),S=null),E[1]&32&&ke(b,T[36].content)},i:ie,o:ie,d(T){T&&w(e),S&&S.d(),k=!1,ve(y)}}}function fm(n){let e,t=v("common.error")+"",l,i,a;return{c(){e=f("p"),l=z(t),i=_(),a=z(n[31]),o(e,"class","error-text svelte-1iuenvo")},m(r,c){C(r,e,c),s(e,l),s(e,i),s(e,a)},p(r,c){c[1]&1&&K(a,r[31])},d(r){r&&w(e)}}}function dm(n){let e,t,l;return{c(){e=f("p"),e.textContent=`${v("welcome.selectSection")}`,t=_(),l=f("p"),l.textContent=`${v("welcome.createCase")}`,o(e,"class","svelte-1iuenvo"),o(l,"class","hint svelte-1iuenvo")},m(i,a){C(i,e,a),C(i,t,a),C(i,l,a)},p:ie,d(i){i&&(w(e),w(t),w(l))}}}function pm(n){let e;return{c(){e=f("p"),e.textContent=`${v("common.loading")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},p:ie,d(t){t&&w(e)}}}function vm(n){let e,t=ue(n[15]),l=[];for(let i=0;i0&&rr(n);function le(...X){return n[330](n[489],n[519],n[520],...X)}function se(){return n[331](n[489])}function ce(){return n[332](n[489])}function de(){return n[333](n[489])}function we(){return n[334](n[489],n[519],n[520])}function ze(...X){return n[335](n[489],n[519],n[520],...X)}let me=n[489]._expanded&&n[489].events&&n[489].events.length>0&&ar(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("button"),r=z(a),c=_(),u=f("span"),h=z(p),m=_(),g=f("span"),k=z(b),y=_(),T=z(S),te&&te.c(),E=_(),I=f("div"),D=f("span"),j=_(),R=f("input"),H=_(),V=f("span"),V.textContent=`${v("suggest.minutes")}`,G=_(),U=f("button"),U.textContent=`${v("suggest.edit")}`,q=_(),Y=f("button"),Y.textContent=`${v("suggest.apply")}`,B=_(),F=f("button"),F.textContent=`${v("common.delete")}`,W=_(),me&&me.c(),P=_(),o(i,"class","suggestion-node link-btn svelte-1iuenvo"),o(u,"class","suggestion-summary svelte-1iuenvo"),o(g,"class","suggestion-meta svelte-1iuenvo"),o(l,"class","suggestion-info svelte-1iuenvo"),o(D,"class","suggestion-confidence-dot svelte-1iuenvo"),o(D,"title",N=v("suggest.confidence."+n[489].confidence)),o(D,"aria-label",M=v("suggest.confidence."+n[489].confidence)),ae(D,"low",n[489].confidence==="low"),ae(D,"medium",n[489].confidence==="medium"),ae(D,"high",n[489].confidence==="high"),o(R,"type","number"),o(R,"class","suggestion-min-input svelte-1iuenvo"),R.value=O=n[489].suggestedMin,o(R,"min","1"),o(R,"max","480"),o(V,"class","suggestion-min-label svelte-1iuenvo"),o(U,"class","btn btn-sm svelte-1iuenvo"),o(Y,"class","btn btn-sm btn-primary svelte-1iuenvo"),o(F,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(I,"class","suggestion-actions svelte-1iuenvo"),o(t,"class","suggestion-main svelte-1iuenvo"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-1iuenvo"),ae(e,"expanded",n[489]._expanded)},m(X,x){C(X,e,x),s(e,t),s(t,l),s(l,i),s(i,r),s(l,c),s(l,u),s(u,h),s(l,m),s(l,g),s(g,k),s(g,y),s(g,T),te&&te.m(g,null),s(t,E),s(t,I),s(I,D),s(I,j),s(I,R),s(I,H),s(I,V),s(I,G),s(I,U),s(I,q),s(I,Y),s(I,B),s(I,F),s(e,W),me&&me.m(e,null),s(e,P),J||(Q=[A(i,"click",Te(ee)),A(R,"change",Te(le)),A(U,"click",Te(se)),A(Y,"click",Te(ce)),A(F,"click",Te(de)),A(t,"click",we),A(t,"keydown",ze)],J=!0)},p(X,x){n=X,x[1]&131072&&a!==(a=n[489].nodeTitle+"")&&K(r,a),x[1]&131072&&p!==(p=n[489].summary+"")&&K(h,p),x[1]&131072&&b!==(b=n[489].suggestedMin+"")&&K(k,b),n[489].events&&n[489].events.length>0?te?te.p(n,x):(te=rr(n),te.c(),te.m(g,null)):te&&(te.d(1),te=null),x[1]&131072&&N!==(N=v("suggest.confidence."+n[489].confidence))&&o(D,"title",N),x[1]&131072&&M!==(M=v("suggest.confidence."+n[489].confidence))&&o(D,"aria-label",M),x[1]&131072&&ae(D,"low",n[489].confidence==="low"),x[1]&131072&&ae(D,"medium",n[489].confidence==="medium"),x[1]&131072&&ae(D,"high",n[489].confidence==="high"),x[1]&131072&&O!==(O=n[489].suggestedMin)&&R.value!==O&&(R.value=O),n[489]._expanded&&n[489].events&&n[489].events.length>0?me?me.p(n,x):(me=ar(n),me.c(),me.m(e,P)):me&&(me.d(1),me=null),x[1]&131072&&ae(e,"expanded",n[489]._expanded)},d(X){X&&w(e),te&&te.d(),me&&me.d(),J=!1,ve(Q)}}}function pr(n){let e,t,l=v("journal.total")+"",i,a,r=Math.floor(n[17].totalMinutes/60)+"",c,u,p=n[17].totalMinutes%60+"",h,m,g=n[17].totalEntries+"",b,k,y=v("worklog.min")+"",S,T,E,I,D=n[17].byDay&&n[17].byDay.length>0&&vr(n),N=n[17].byNode&&n[17].byNode.length>0&&_r(n);return{c(){e=f("div"),t=f("div"),i=z(l),a=z(": "),c=z(r),u=z("ч "),h=z(p),m=z("м ("),b=z(g),k=_(),S=z(y),T=z(")"),E=_(),D&&D.c(),I=_(),N&&N.c(),o(t,"class","summary-total svelte-1iuenvo"),o(e,"class","journal-summary svelte-1iuenvo")},m(M,j){C(M,e,j),s(e,t),s(t,i),s(t,a),s(t,c),s(t,u),s(t,h),s(t,m),s(t,b),s(t,k),s(t,S),s(t,T),s(e,E),D&&D.m(e,null),s(e,I),N&&N.m(e,null)},p(M,j){j[0]&131072&&r!==(r=Math.floor(M[17].totalMinutes/60)+"")&&K(c,r),j[0]&131072&&p!==(p=M[17].totalMinutes%60+"")&&K(h,p),j[0]&131072&&g!==(g=M[17].totalEntries+"")&&K(b,g),M[17].byDay&&M[17].byDay.length>0?D?D.p(M,j):(D=vr(M),D.c(),D.m(e,I)):D&&(D.d(1),D=null),M[17].byNode&&M[17].byNode.length>0?N?N.p(M,j):(N=_r(M),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(M){M&&w(e),D&&D.d(),N&&N.d()}}}function vr(n){let e,t,l,i=ue(n[17].byDay),a=[];for(let r=0;r0?Em:R[509].source==="suggestion"?Tm:R[509].source==="unknown"||R[509].source==="imported"?Sm:R[509]._hasEvents?Cm:wm}let N=D(n),M=N(n),j=n[509]._events&&wr(n);return{c(){e=f("tr"),t=f("td"),l=f("div"),i=f("div"),a=f("button"),a.textContent=`${v("worklog.editEntry")}`,r=_(),c=f("button"),c.textContent=`${v("worklog.deleteEntry")}`,u=_(),I&&I.c(),p=_(),h=f("div"),m=f("span"),m.textContent=`${v("worklog.source")}`,g=_(),M.c(),b=_(),j&&j.c(),k=_(),o(a,"class","btn btn-sm svelte-1iuenvo"),o(c,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(i,"class","journal-detail-actions svelte-1iuenvo"),o(m,"class","journal-detail-label svelte-1iuenvo"),o(h,"class","journal-detail-section svelte-1iuenvo"),o(l,"class","journal-detail-body svelte-1iuenvo"),o(t,"colspan","8"),o(t,"class","svelte-1iuenvo"),o(e,"class","journal-row-detail svelte-1iuenvo")},m(R,O){C(R,e,O),s(e,t),s(t,l),s(l,i),s(i,a),s(i,r),s(i,c),s(l,u),I&&I.m(l,null),s(l,p),s(l,h),s(h,m),s(h,g),M.m(h,null),s(l,b),j&&j.m(l,null),s(e,k),y||(S=[A(a,"click",Te(T)),A(c,"click",Te(E))],y=!0)},p(R,O){n=R,n[509].details?I?I.p(n,O):(I=yr(n),I.c(),I.m(l,p)):I&&(I.d(1),I=null),N!==(N=D(n))&&(M.d(1),M=N(n),M&&(M.c(),M.m(h,null))),n[509]._events?j?j.p(n,O):(j=wr(n),j.c(),j.m(l,null)):j&&(j.d(1),j=null)},d(R){R&&w(e),I&&I.d(),M.d(),j&&j.d(),y=!1,ve(S)}}}function yr(n){let e,t,l,i,a=n[509].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("worklog.details")}`,l=_(),i=f("p"),r=z(a),o(t,"class","journal-detail-label svelte-1iuenvo"),o(i,"class","svelte-1iuenvo"),o(e,"class","journal-detail-section svelte-1iuenvo")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[0]&65536&&a!==(a=c[509].details+"")&&K(r,a)},d(c){c&&w(e)}}}function wm(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceUnknown")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Cm(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceSuggestion")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Sm(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceUnknown")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Tm(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceSuggestionNoEvents")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Em(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceSuggestion")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Im(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceManual")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function wr(n){let e,t,l,i=ue(n[509]._events),a=[];for(let r=0;r0,r,c,u,p=a&&zr(n);function h(b,k){return b[38].length===0?l_:n_}let m=h(n),g=m(n);return{c(){e=f("div"),t=f("div"),l=f("button"),l.textContent=`+ ${v("worklog.addEntry")}`,i=_(),p&&p.c(),r=_(),g.c(),o(l,"class","btn btn-primary btn-sm svelte-1iuenvo"),o(t,"class","worklog-toolbar svelte-1iuenvo"),o(e,"class","worklog-tab svelte-1iuenvo")},m(b,k){C(b,e,k),s(e,t),s(t,l),s(e,i),p&&p.m(e,null),s(e,r),g.m(e,null),c||(u=A(l,"click",n[275]),c=!0)},p(b,k){k[1]&131076&&(a=b[33]&&b[48].filter(b[231]).length>0),a?p?p.p(b,k):(p=zr(b),p.c(),p.m(e,r)):p&&(p.d(1),p=null),m===(m=h(b))&&g?g.p(b,k):(g.d(1),g=m(b),g&&(g.c(),g.m(e,null)))},i:ie,o:ie,d(b){b&&w(e),p&&p.d(),g.d(),c=!1,u()}}}function Ym(n){let e,t,l,i,a,r;function c(h,m){return h[37].length===0?u_:c_}let u=c(n),p=u(n);return{c(){e=f("div"),t=f("div"),l=f("button"),l.textContent=`${v("action.addAction")}`,i=_(),p.c(),o(l,"class","btn btn-primary svelte-1iuenvo"),o(t,"class","tab-toolbar svelte-1iuenvo"),o(e,"class","actions-tab svelte-1iuenvo")},m(h,m){C(h,e,m),s(e,t),s(t,l),s(e,i),p.m(e,null),a||(r=A(l,"click",n[216]),a=!0)},p(h,m){u===(u=c(h))&&p?p.p(h,m):(p.d(1),p=u(h),p&&(p.c(),p.m(e,null)))},i:ie,o:ie,d(h){h&&w(e),p.d(),a=!1,r()}}}function Qm(n){let e,t;function l(c,u){return c[55].length===0?d_:f_}let i=l(n),a=i(n),r=n[60]&&la(n);return{c(){e=f("div"),a.c(),t=_(),r&&r.c(),o(e,"class","links-tab svelte-1iuenvo")},m(c,u){C(c,e,u),a.m(e,null),s(e,t),r&&r.m(e,null)},p(c,u){i===(i=l(c))&&a?a.p(c,u):(a.d(1),a=i(c),a&&(a.c(),a.m(e,t))),c[60]?r?r.p(c,u):(r=la(c),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},i:ie,o:ie,d(c){c&&w(e),a.d(),r&&r.d()}}}function Xm(n){let e;function t(a,r){return a[52].length===0?v_:p_}let l=t(n),i=l(n);return{c(){e=f("div"),i.c(),o(e,"class","inbox-tab svelte-1iuenvo")},m(a,r){C(a,e,r),i.m(e,null)},p(a,r){l===(l=t(a))&&i?i.p(a,r):(i.d(1),i=l(a),i&&(i.c(),i.m(e,null)))},i:ie,o:ie,d(a){a&&w(e),i.d()}}}function Zm(n){let e,t,l,i=v("file.addFile")+"",a,r,c,u=v("file.addFolder")+"",p,h,m,g,b,k,y,S,T,E,I,D=n[90].items.length>0&&oa(n);const N=[g_,h_],M=[];function j(O,H){return O[82]?0:1}k=j(n),y=M[k]=N[k](n);let R=n[78]&&!n[80]&&ra();return{c(){e=f("div"),t=f("div"),l=f("button"),a=z(i),r=_(),c=f("button"),p=z(u),h=_(),m=f("button"),m.textContent=`${v("file.newFile")}`,g=_(),D&&D.c(),b=_(),y.c(),S=_(),R&&R.c(),o(l,"class","btn btn-primary svelte-1iuenvo"),l.disabled=n[78],o(c,"class","btn svelte-1iuenvo"),c.disabled=n[78],o(m,"class","btn svelte-1iuenvo"),o(t,"class","tab-toolbar svelte-1iuenvo"),o(e,"class","files-tab svelte-1iuenvo")},m(O,H){C(O,e,H),s(e,t),s(t,l),s(l,a),s(t,r),s(t,c),s(c,p),s(t,h),s(t,m),s(t,g),D&&D.m(t,null),s(e,b),M[k].m(e,null),s(e,S),R&&R.m(e,null),T=!0,E||(I=[A(l,"click",n[190]),A(c,"click",n[191]),A(m,"click",n[127])],E=!0)},p(O,H){(!T||H[2]&65536)&&(l.disabled=O[78]),(!T||H[2]&65536)&&(c.disabled=O[78]),O[90].items.length>0?D?D.p(O,H):(D=oa(O),D.c(),D.m(t,null)):D&&(D.d(1),D=null);let V=k;k=j(O),k===V?M[k].p(O,H):(ut(),ge(M[V],1,1,()=>{M[V]=null}),ft(),y=M[k],y?y.p(O,H):(y=M[k]=N[k](O),y.c()),pe(y,1),y.m(e,S)),O[78]&&!O[80]?R||(R=ra(),R.c(),R.m(e,null)):R&&(R.d(1),R=null)},i(O){T||(pe(y),T=!0)},o(O){ge(y),T=!1},d(O){O&&w(e),D&&D.d(),M[k].d(),R&&R.d(),E=!1,ve(I)}}}function xm(n){let e,t,l,i,a,r,c,u=n[71]&&aa(n);function p(g,b){return g[35].length===0&&!g[71]?S_:C_}let h=p(n),m=h(n);return{c(){e=f("div"),t=f("div"),l=f("button"),l.textContent=`${v("note.add")}`,i=_(),u&&u.c(),a=_(),m.c(),o(l,"class","btn btn-primary svelte-1iuenvo"),o(t,"class","tab-toolbar svelte-1iuenvo"),o(e,"class","notes-tab svelte-1iuenvo")},m(g,b){C(g,e,b),s(e,t),s(t,l),s(e,i),u&&u.m(e,null),s(e,a),m.m(e,null),r||(c=A(l,"click",n[160]),r=!0)},p(g,b){g[71]?u?u.p(g,b):(u=aa(g),u.c(),u.m(e,a)):u&&(u.d(1),u=null),h===(h=p(g))&&m?m.p(g,b):(m.d(1),m=h(g),m&&(m.c(),m.m(e,null)))},i:ie,o:ie,d(g){g&&w(e),u&&u.d(),m.d(),r=!1,c()}}}function $m(n){let e,t,l=n[33].title+"",i,a,r,c,u,p,h=n[196](n[33].type)+"",m,g,b,k,y,S=(n[33].section||"—")+"",T,E,I,D,N,M=bt(n[33].createdAt)+"",j,R,O,H,V,G,U,q,Y=v("overview.newNote")+"",B,F,W,P,J,Q,ee=v("overview.addFile")+"",te,le,se,ce,de,we,ze=v("overview.addAction")+"",me,X,x,be,Ce,_e,He,Ze=v("overview.logTime")+"",pt,Ye,Ie,Oe,Me,Z=n[35].length>0&&ua(n),ye=n[38].length>0&&da(n);return{c(){e=f("div"),t=f("h2"),i=z(l),a=_(),r=f("div"),c=f("div"),u=f("span"),u.textContent=`${v("overview.type")}`,p=f("span"),m=z(h),g=_(),b=f("div"),k=f("span"),k.textContent=`${v("overview.section")}`,y=f("span"),T=z(S),E=_(),I=f("div"),D=f("span"),D.textContent=`${v("overview.created")}`,N=f("span"),j=z(M),R=_(),O=f("div"),H=f("button"),V=$("svg"),G=$("path"),U=$("path"),q=_(),B=z(Y),F=_(),W=f("button"),P=$("svg"),J=$("path"),Q=_(),te=z(ee),le=_(),se=f("button"),ce=$("svg"),de=$("polygon"),we=_(),me=z(ze),X=_(),x=f("button"),be=$("svg"),Ce=$("circle"),_e=$("polyline"),He=_(),pt=z(Ze),Ye=_(),Z&&Z.c(),Ie=_(),ye&&ye.c(),o(t,"class","svelte-1iuenvo"),o(u,"class","meta-label svelte-1iuenvo"),o(p,"class","svelte-1iuenvo"),o(c,"class","meta-item svelte-1iuenvo"),o(k,"class","meta-label svelte-1iuenvo"),o(y,"class","svelte-1iuenvo"),o(b,"class","meta-item svelte-1iuenvo"),o(D,"class","meta-label svelte-1iuenvo"),o(N,"class","svelte-1iuenvo"),o(I,"class","meta-item svelte-1iuenvo"),o(r,"class","meta-grid svelte-1iuenvo"),o(G,"d","M12 20h9"),o(G,"class","svelte-1iuenvo"),o(U,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),o(U,"class","svelte-1iuenvo"),o(V,"width","16"),o(V,"height","16"),o(V,"viewBox","0 0 24 24"),o(V,"fill","none"),o(V,"stroke","currentColor"),o(V,"stroke-width","2"),o(V,"stroke-linecap","round"),o(V,"stroke-linejoin","round"),o(V,"class","svelte-1iuenvo"),o(H,"class","qa-btn svelte-1iuenvo"),o(J,"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"),o(J,"class","svelte-1iuenvo"),o(P,"width","16"),o(P,"height","16"),o(P,"viewBox","0 0 24 24"),o(P,"fill","none"),o(P,"stroke","currentColor"),o(P,"stroke-width","2"),o(P,"stroke-linecap","round"),o(P,"stroke-linejoin","round"),o(P,"class","svelte-1iuenvo"),o(W,"class","qa-btn svelte-1iuenvo"),o(de,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),o(de,"class","svelte-1iuenvo"),o(ce,"width","16"),o(ce,"height","16"),o(ce,"viewBox","0 0 24 24"),o(ce,"fill","none"),o(ce,"stroke","currentColor"),o(ce,"stroke-width","2"),o(ce,"stroke-linecap","round"),o(ce,"stroke-linejoin","round"),o(ce,"class","svelte-1iuenvo"),o(se,"class","qa-btn svelte-1iuenvo"),o(Ce,"cx","12"),o(Ce,"cy","12"),o(Ce,"r","10"),o(Ce,"class","svelte-1iuenvo"),o(_e,"points","12 6 12 12 16 14"),o(_e,"class","svelte-1iuenvo"),o(be,"width","16"),o(be,"height","16"),o(be,"viewBox","0 0 24 24"),o(be,"fill","none"),o(be,"stroke","currentColor"),o(be,"stroke-width","2"),o(be,"stroke-linecap","round"),o(be,"stroke-linejoin","round"),o(be,"class","svelte-1iuenvo"),o(x,"class","qa-btn svelte-1iuenvo"),o(O,"class","quick-actions svelte-1iuenvo"),o(e,"class","overview svelte-1iuenvo")},m(Pe,je){C(Pe,e,je),s(e,t),s(t,i),s(e,a),s(e,r),s(r,c),s(c,u),s(c,p),s(p,m),s(r,g),s(r,b),s(b,k),s(b,y),s(y,T),s(r,E),s(r,I),s(I,D),s(I,N),s(N,j),s(e,R),s(e,O),s(O,H),s(H,V),s(V,G),s(V,U),s(H,q),s(H,B),s(O,F),s(O,W),s(W,P),s(P,J),s(W,Q),s(W,te),s(O,le),s(O,se),s(se,ce),s(ce,de),s(se,we),s(se,me),s(O,X),s(O,x),s(x,be),s(be,Ce),s(be,_e),s(x,He),s(x,pt),s(e,Ye),Z&&Z.m(e,null),s(e,Ie),ye&&ye.m(e,null),Oe||(Me=[A(H,"click",n[240]),A(W,"click",n[241]),A(se,"click",n[216]),A(x,"click",n[242])],Oe=!0)},p(Pe,je){je[1]&4&&l!==(l=Pe[33].title+"")&&K(i,l),je[1]&4&&h!==(h=Pe[196](Pe[33].type)+"")&&K(m,h),je[1]&4&&S!==(S=(Pe[33].section||"—")+"")&&K(T,S),je[1]&4&&M!==(M=bt(Pe[33].createdAt)+"")&&K(j,M),Pe[35].length>0?Z?Z.p(Pe,je):(Z=ua(Pe),Z.c(),Z.m(e,Ie)):Z&&(Z.d(1),Z=null),Pe[38].length>0?ye?ye.p(Pe,je):(ye=da(Pe),ye.c(),ye.m(e,null)):ye&&(ye.d(1),ye=null)},i:ie,o:ie,d(Pe){Pe&&w(e),Z&&Z.d(),ye&&ye.d(),Oe=!1,ve(Me)}}}function e_(n){let e,t=ue(n[29]),l=[];for(let i=0;i0&&Hr(n);function q(){return n[277](n[489])}function Y(){return n[278](n[489])}function B(){return n[279](n[489])}function F(){return n[280](n[489],n[490],n[491])}function W(...J){return n[281](n[489],n[490],n[491],...J)}let P=n[489]._expanded&&n[489].events&&n[489].events.length>0&&Br(n);return{c(){e=f("div"),t=f("div"),l=f("div"),i=f("span"),r=z(a),c=_(),u=f("span"),h=z(p),m=_(),b=z(g),U&&U.c(),k=_(),y=f("div"),S=f("span"),I=_(),D=f("button"),D.textContent=`${v("suggest.edit")}`,N=_(),M=f("button"),M.textContent=`${v("worklog.apply")}`,j=_(),R=f("button"),R.textContent=`${v("common.delete")}`,O=_(),P&&P.c(),H=_(),o(i,"class","suggestion-summary svelte-1iuenvo"),o(u,"class","suggestion-meta svelte-1iuenvo"),o(l,"class","suggestion-info svelte-1iuenvo"),o(S,"class","suggestion-confidence-dot svelte-1iuenvo"),o(S,"title",T=v("suggest.confidence."+n[489].confidence)),o(S,"aria-label",E=v("suggest.confidence."+n[489].confidence)),ae(S,"low",n[489].confidence==="low"),ae(S,"medium",n[489].confidence==="medium"),ae(S,"high",n[489].confidence==="high"),o(D,"class","btn btn-sm svelte-1iuenvo"),o(M,"class","btn btn-sm btn-primary svelte-1iuenvo"),o(R,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(y,"class","suggestion-actions svelte-1iuenvo"),o(t,"class","suggestion-main svelte-1iuenvo"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-1iuenvo"),ae(e,"expanded",n[489]._expanded)},m(J,Q){C(J,e,Q),s(e,t),s(t,l),s(l,i),s(i,r),s(l,c),s(l,u),s(u,h),s(u,m),s(u,b),U&&U.m(u,null),s(t,k),s(t,y),s(y,S),s(y,I),s(y,D),s(y,N),s(y,M),s(y,j),s(y,R),s(e,O),P&&P.m(e,null),s(e,H),V||(G=[A(D,"click",Te(q)),A(M,"click",Te(Y)),A(R,"click",Te(B)),A(t,"click",F),A(t,"keydown",W)],V=!0)},p(J,Q){n=J,Q[1]&131076&&a!==(a=n[489].summary+"")&&K(r,a),Q[1]&131076&&p!==(p=n[489].suggestedMin+"")&&K(h,p),n[489].events&&n[489].events.length>0?U?U.p(n,Q):(U=Hr(n),U.c(),U.m(u,null)):U&&(U.d(1),U=null),Q[1]&131076&&T!==(T=v("suggest.confidence."+n[489].confidence))&&o(S,"title",T),Q[1]&131076&&E!==(E=v("suggest.confidence."+n[489].confidence))&&o(S,"aria-label",E),Q[1]&131076&&ae(S,"low",n[489].confidence==="low"),Q[1]&131076&&ae(S,"medium",n[489].confidence==="medium"),Q[1]&131076&&ae(S,"high",n[489].confidence==="high"),n[489]._expanded&&n[489].events&&n[489].events.length>0?P?P.p(n,Q):(P=Br(n),P.c(),P.m(e,H)):P&&(P.d(1),P=null),Q[1]&131076&&ae(e,"expanded",n[489]._expanded)},d(J){J&&w(e),U&&U.d(),P&&P.d(),V=!1,ve(G)}}}function n_(n){let e,t=ue(n[38]),l=[];for(let i=0;i0?r_:N[465].source==="suggestion"?s_:N[465].source==="unknown"||N[465].source==="imported"?o_:i_}let E=T(n),I=E(n),D=n[465].source==="suggestion"&&n[465]._events&&n[465]._events.length>0&&Xr(n);return{c(){e=f("div"),t=f("div"),l=f("button"),l.textContent=`${v("worklog.editEntry")}`,i=_(),a=f("button"),a.textContent=`${v("worklog.deleteEntry")}`,r=_(),S&&S.c(),c=_(),u=f("div"),p=f("span"),p.textContent=`${v("worklog.source")}`,h=_(),I.c(),m=_(),D&&D.c(),o(l,"class","btn btn-sm svelte-1iuenvo"),o(a,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(t,"class","worklog-entry-actions svelte-1iuenvo"),o(p,"class","wl-detail-label svelte-1iuenvo"),o(u,"class","wl-detail-section svelte-1iuenvo"),o(e,"class","worklog-entry-detail svelte-1iuenvo")},m(N,M){C(N,e,M),s(e,t),s(t,l),s(t,i),s(t,a),s(e,r),S&&S.m(e,null),s(e,c),s(e,u),s(u,p),s(u,h),I.m(u,null),s(e,m),D&&D.m(e,null),g||(b=[A(l,"click",Te(k)),A(a,"click",Te(y))],g=!0)},p(N,M){n=N,n[465].details?S?S.p(n,M):(S=Qr(n),S.c(),S.m(e,c)):S&&(S.d(1),S=null),E!==(E=T(n))&&(I.d(1),I=E(n),I&&(I.c(),I.m(u,null))),n[465].source==="suggestion"&&n[465]._events&&n[465]._events.length>0?D?D.p(n,M):(D=Xr(n),D.c(),D.m(e,null)):D&&(D.d(1),D=null)},d(N){N&&w(e),S&&S.d(),I.d(),D&&D.d(),g=!1,ve(b)}}}function Qr(n){let e,t,l,i,a=n[465].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${v("worklog.details")}`,l=_(),i=f("p"),r=z(a),o(t,"class","wl-detail-label svelte-1iuenvo"),o(i,"class","svelte-1iuenvo"),o(e,"class","wl-detail-section svelte-1iuenvo")},m(c,u){C(c,e,u),s(e,t),s(e,l),s(e,i),s(i,r)},p(c,u){u[1]&128&&a!==(a=c[465].details+"")&&K(r,a)},d(c){c&&w(e)}}}function i_(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceUnknown")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function o_(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceUnknown")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function s_(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceSuggestionNoEvents")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function r_(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceSuggestion")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function a_(n){let e;return{c(){e=f("p"),e.textContent=`${v("worklog.sourceManual")}`,o(e,"class","svelte-1iuenvo")},m(t,l){C(t,e,l)},d(t){t&&w(e)}}}function Xr(n){let e,t,l,i=ue(n[465]._events),a=[];for(let r=0;r',I=_(),o(l,"class","action-title svelte-1iuenvo"),o(c,"class","action-type svelte-1iuenvo"),o(m,"class","action-data svelte-1iuenvo"),o(t,"class","action-info svelte-1iuenvo"),o(S,"class","btn btn-sm svelte-1iuenvo"),o(E,"class","btn btn-sm btn-danger svelte-1iuenvo"),o(y,"class","action-btns svelte-1iuenvo"),o(e,"class","action-card svelte-1iuenvo")},m(R,O){C(R,e,O),s(e,t),s(t,l),s(l,a),s(t,r),s(t,c),s(c,p),s(t,h),s(t,m),s(m,b),s(e,k),s(e,y),s(y,S),s(y,T),s(y,E),s(e,I),D||(N=[A(S,"click",M),A(E,"click",j)],D=!0)},p(R,O){n=R,O[1]&64&&i!==(i=n[481].title+"")&&K(a,i),O[1]&64&&u!==(u=n[220](n[481].type)+"")&&K(p,u),O[1]&64&&g!==(g=n[481].data+"")&&K(b,g)},d(R){R&&w(e),D=!1,ve(N)}}}function f_(n){let e,t=ue(n[55]),l=[];for(let i=0;i0?0:1}e=h(n),t=p[e]=u[e](n);const m=[w_,y_],g=[];function b(k,y){return k[85].length===0?0:1}return i=b(n),a=g[i]=m[i](n),{c(){t.c(),l=_(),a.c(),r=ht()},m(k,y){p[e].m(k,y),C(k,l,y),g[i].m(k,y),C(k,r,y),c=!0},p(k,y){let S=e;e=h(k),e===S?p[e].p(k,y):(ut(),ge(p[S],1,1,()=>{p[S]=null}),ft(),t=p[e],t?t.p(k,y):(t=p[e]=u[e](k),t.c()),pe(t,1),t.m(l.parentNode,l));let T=i;i=b(k),i===T?g[i].p(k,y):(ut(),ge(g[T],1,1,()=>{g[T]=null}),ft(),a=g[i],a?a.p(k,y):(a=g[i]=m[i](k),a.c()),pe(a,1),a.m(r.parentNode,r))},i(k){c||(pe(t),pe(a),c=!0)},o(k){ge(t),ge(a),c=!1},d(k){k&&(w(l),w(r)),p[e].d(k),g[i].d(k)}}}function g_(n){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${v("common.loading")}`,o(t,"class","svelte-1iuenvo"),o(e,"class","empty-state svelte-1iuenvo")},m(l,i){C(l,e,i),s(e,t)},p:ie,i:ie,o:ie,d(l){l&&w(e)}}}function b_(n){let e,t;return e=new tc({props:{crumbs:[{name:v("file.root")}]}}),{c(){Xe(e.$$.fragment)},m(l,i){Je(e,l,i),t=!0},p:ie,i(l){t||(pe(e.$$.fragment,l),t=!0)},o(l){ge(e.$$.fragment,l),t=!1},d(l){qe(e,l)}}}function k_(n){let e,t,l,i,a,r,c,u=v("common.backLabel")+"",p,h,m,g;return e=new tc({props:{crumbs:[{name:v("file.root")},...n[84]]}}),e.$on("navigate",n[249]),{c(){Xe(e.$$.fragment),t=_(),l=f("button"),i=$("svg"),a=$("line"),r=$("polyline"),c=_(),p=z(u),o(a,"x1","19"),o(a,"y1","12"),o(a,"x2","5"),o(a,"y2","12"),o(a,"class","svelte-1iuenvo"),o(r,"points","12 19 5 12 12 5"),o(r,"class","svelte-1iuenvo"),o(i,"width","14"),o(i,"height","14"),o(i,"viewBox","0 0 24 24"),o(i,"fill","none"),o(i,"stroke","currentColor"),o(i,"stroke-width","2"),o(i,"stroke-linecap","round"),o(i,"stroke-linejoin","round"),o(i,"class","svelte-1iuenvo"),o(l,"class","btn btn-sm back-btn svelte-1iuenvo")},m(b,k){Je(e,b,k),C(b,t,k),C(b,l,k),s(l,i),s(i,a),s(i,r),s(l,c),s(l,p),h=!0,m||(g=A(l,"click",n[123]),m=!0)},p(b,k){const y={};k[2]&4194304&&(y.crumbs=[{name:v("file.root")},...b[84]]),e.$set(y)},i(b){h||(pe(e.$$.fragment,b),h=!0)},o(b){ge(e.$$.fragment,b),h=!1},d(b){b&&(w(t),w(l)),qe(e,b),m=!1,g()}}}function y_(n){let e,t=[],l=new Map,i,a=ue(n[85]);const r=c=>c[473].id;for(let c=0;c0?v("file.noFiles"):v("file.noFilesCase"))+"",r,c,u,p,h,m,g,b,k,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',l=_(),i=f("p"),r=z(a),c=_(),u=f("p"),u.textContent=`${v("file.hint")}`,p=_(),h=f("div"),m=f("button"),m.textContent=`${v("file.addFileSimple")}`,g=_(),b=f("button"),b.textContent=`${v("file.addFolderSimple")}`,o(t,"class","empty-icon svelte-1iuenvo"),o(i,"class","svelte-1iuenvo"),o(u,"class","hint svelte-1iuenvo"),o(m,"class","btn btn-primary svelte-1iuenvo"),o(b,"class","btn svelte-1iuenvo"),o(h,"class","empty-actions svelte-1iuenvo"),o(e,"class","empty-state svelte-1iuenvo")},m(S,T){C(S,e,T),s(e,t),s(e,l),s(e,i),s(i,r),s(e,c),s(e,u),s(e,p),s(e,h),s(h,m),s(h,g),s(h,b),k||(y=[A(m,"click",n[190]),A(b,"click",n[191])],k=!0)},p(S,T){T[2]&4194304&&a!==(a=(S[84].length>0?v("file.noFiles"):v("file.noFilesCase"))+"")&&K(r,a)},i:ie,o:ie,d(S){S&&w(e),k=!1,ve(y)}}}function sa(n,e){let t,l,i;return l=new V1({props:{item:e[473],selected:e[91].includes(e[473].id),onDragStart:e[136],onDragOver:e[137],onDrop:e[138]}}),l.$on("navigate",e[250]),l.$on("preview",e[251]),l.$on("openExternal",e[252]),l.$on("showInFolder",e[253]),l.$on("delete",e[254]),l.$on("rename",e[255]),l.$on("duplicate",e[256]),l.$on("cut",e[257]),l.$on("copy",e[258]),l.$on("selectOne",e[259]),l.$on("toggleSelect",e[260]),l.$on("rangeSelect",e[261]),{key:n,first:null,c(){t=ht(),Xe(l.$$.fragment),this.first=t},m(a,r){C(a,t,r),Je(l,a,r),i=!0},p(a,r){e=a;const c={};r[2]&8388608&&(c.item=e[473]),r[2]&545259520&&(c.selected=e[91].includes(e[473].id)),l.$set(c)},i(a){i||(pe(l.$$.fragment,a),i=!0)},o(a){ge(l.$$.fragment,a),i=!1},d(a){a&&w(t),qe(l,a)}}}function ra(n){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${v("file.scanning")}`,o(t,"class","svelte-1iuenvo"),o(e,"class","empty-state svelte-1iuenvo")},m(l,i){C(l,e,i),s(e,t)},d(l){l&&w(e)}}}function aa(n){let e,t,l,i,a,r,c,u,p;return{c(){e=f("div"),t=f("input"),l=_(),i=f("div"),a=f("button"),a.textContent=`${v("common.create")}`,r=_(),c=f("button"),c.textContent=`${v("common.cancel")}`,o(t,"type","text"),o(t,"placeholder",v("note.title")),o(t,"class","svelte-1iuenvo"),o(a,"class","btn btn-primary svelte-1iuenvo"),o(c,"class","btn svelte-1iuenvo"),o(i,"class","form-actions svelte-1iuenvo"),o(e,"class","create-form svelte-1iuenvo")},m(h,m){C(h,e,m),s(e,t),ke(t,n[72]),s(e,l),s(e,i),s(i,a),s(i,r),s(i,c),u||(p=[A(t,"input",n[245]),A(t,"keydown",n[246]),A(a,"click",n[162]),A(c,"click",n[161])],u=!0)},p(h,m){m[2]&1024&&t.value!==h[72]&&ke(t,h[72])},d(h){h&&w(e),u=!1,ve(p)}}}function C_(n){let e,t=ue(n[35]),l=[];for(let i=0;ige(Q[te],1,1,()=>{Q[te]=null});return{c(){e=f("div"),t=f("div"),l=f("h3"),l.textContent=`${v("nav.createNode")}`,i=_(),P&&P.c(),a=_(),r=f("div"),c=f("span"),c.textContent=`${v("template.select")}`,u=_(),p=f("div"),h=f("button"),Xe(m.$$.fragment),g=_(),b=f("div"),k=f("span"),k.textContent=`${v("template.optionNone")}`,y=_(),S=f("span"),S.textContent=`${v("template.none.desc")}`,T=_();for(let te=0;te{k=null}),ft()),S[70].node&&S[70].node.parent_id?y?y.p(S,T):(y=ya(S),y.c(),y.m(t,a)):y&&(y.d(1),y=null),(!m||T[2]&256)&&Ct(t,"left",S[70].x+"px"),(!m||T[2]&256)&&Ct(t,"top",S[70].y+"px")},i(S){m||(pe(k),m=!0)},o(S){ge(k),m=!1},d(S){S&&w(e),k&&k.d(),y&&y.d(),g=!1,ve(b)}}}function ba(n){let e,t,l,i,a,r=ue(n[13].length>0?n[13]:[{id:"",title:"template.optionNone",icon:"folder"}]),c=[];for(let p=0;pge(c[p],1,1,()=>{c[p]=null});return{c(){e=f("div"),e.textContent=`${v("common.create")}`,t=_();for(let p=0;p0?p[13]:[{id:"",title:"template.optionNone",icon:"folder"}]);let m;for(m=0;mn[371].call(y)),o(g,"class","svelte-1iuenvo"),o(m,"class","form-group svelte-1iuenvo"),o(I,"class","label-text svelte-1iuenvo"),o(j,"type","text"),o(j,"placeholder",R=n[75]==="open_url"?v("action.urlPlaceholder"):n[75]==="open_folder"||n[75]==="open_file"?v("action.pathPlaceholder"):v("action.commandPlaceholder")),o(j,"class","svelte-1iuenvo"),o(E,"class","svelte-1iuenvo"),o(T,"class","form-group svelte-1iuenvo"),o(V,"class","btn btn-primary svelte-1iuenvo"),o(U,"class","btn svelte-1iuenvo"),o(H,"class","modal-actions svelte-1iuenvo"),o(t,"class","modal svelte-1iuenvo"),o(e,"class","modal-overlay svelte-1iuenvo"),o(e,"role","button"),o(e,"tabindex","0")},m(W,P){C(W,e,P),s(e,t),s(t,l),s(t,i),s(t,a),s(a,r),s(r,c),s(r,u),s(r,p),ke(p,n[74]),s(t,h),s(t,m),s(m,g),s(g,b),s(g,k),s(g,y);for(let J=0;J0&&Ma(n),V=n[108]&&Aa();return{c(){e=f("div"),t=f("div"),l=f("h3"),l.textContent=`${v("inbox.assignTitle")}`,i=_(),a=f("div"),c=z(r),u=_(),p=f("div"),h=f("label"),m=f("span"),m.textContent=`${v("inbox.assignTarget")}`,g=_(),b=f("input"),k=_(),H&&H.c(),y=_(),V&&V.c(),S=_(),T=f("div"),E=f("button"),D=z(I),M=_(),j=f("button"),j.textContent=`${v("common.cancel")}`,o(l,"class","svelte-1iuenvo"),o(a,"class","create-context svelte-1iuenvo"),o(m,"class","label-text svelte-1iuenvo"),o(b,"type","text"),o(b,"placeholder",v("inbox.assignSearchPlaceholder")),o(b,"class","svelte-1iuenvo"),o(h,"class","svelte-1iuenvo"),o(p,"class","form-group assign-search svelte-1iuenvo"),o(E,"class","btn btn-primary svelte-1iuenvo"),E.disabled=N=!n[107],o(j,"class","btn svelte-1iuenvo"),o(T,"class","modal-actions svelte-1iuenvo"),o(t,"class","modal svelte-1iuenvo"),o(e,"class","modal-overlay svelte-1iuenvo"),o(e,"role","button"),o(e,"tabindex","0")},m(G,U){C(G,e,U),s(e,t),s(t,l),s(t,i),s(t,a),s(a,c),s(t,u),s(t,p),s(p,h),s(h,m),s(h,g),s(h,b),ke(b,n[105]),s(p,k),H&&H.m(p,null),s(t,y),V&&V.m(t,null),s(t,S),s(t,T),s(T,E),s(E,D),s(T,M),s(T,j),R||(O=[A(b,"input",n[377]),A(b,"input",n[205]),A(b,"keydown",n[378]),A(E,"click",n[207]),A(j,"click",n[204]),A(e,"click",Et(n[204])),A(e,"keydown",kt(n[204]))],R=!0)},p(G,U){U[3]&2048&&r!==(r=G[104].title+"")&&K(c,r),U[3]&4096&&b.value!==G[105]&&ke(b,G[105]),G[106].length>0?H?H.p(G,U):(H=Ma(G),H.c(),H.m(p,null)):H&&(H.d(1),H=null),G[108]?V||(V=Aa(),V.c(),V.m(t,S)):V&&(V.d(1),V=null),U[3]&16384&&N!==(N=!G[107])&&(E.disabled=N)},d(G){G&&w(e),H&&H.d(),V&&V.d(),R=!1,ve(O)}}}function Ma(n){let e,t=ue(n[106]),l=[];for(let i=0;i{r[h]=null}),ft(),t=r[e],t?t.p(u,p):(t=r[e]=a[e](u),t.c()),pe(t,1),t.m(l.parentNode,l))},i(u){i||(pe(t),i=!0)},o(u){ge(t),i=!1},d(u){u&&w(l),r[e].d(u)}}}function oe(n,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[n];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",n,t)}return Promise.reject(new Error("Wails not connected: "+n))}function E_(n,e,t){const l=[...n];return l.sort((i,a)=>{let r=0;if(e==="name")r=(i.title||"").localeCompare(a.title||"");else if(e==="type"){const c=i.captureKind||i.sourceKind||i.type||"",u=a.captureKind||a.sourceKind||a.type||"";r=c.localeCompare(u)}else r=(i.capturedAt||i.createdAt||"").localeCompare(a.capturedAt||a.createdAt||"");return t==="asc"?r:-r}),l}function I_(n,e){return n.section===e.section&&n.nodeId===e.nodeId&&n.tab===e.tab&&n.trashFolderId===e.trashFolderId}function el(n){return!n||!(n instanceof Element)?!1:!!n.closest('input, textarea, select, [contenteditable="true"], [contenteditable=""]')}function Tn(n,e,t){for(const l of n){if(l.id===e)return l.children=t,l.has_children=t.length>0,!0;if(l.children&&Tn(l.children,e,t))return!0}return!1}function ic(n){return(n==null?void 0:n.sourceKind)||(n==null?void 0:n.captureKind)||(n==null?void 0:n.type)||""}function Xl(n){return ic(n)!=="url"&&(n==null?void 0:n.type)!=="link"}function N_(n,e){return{id:n.id,nodeId:n.id,fileId:e.id||e.fileId,name:e.name||n.title,type:"file",size:e.size||0,mime:e.mime||""}}function oc(n,e,t){for(const l of n){if(l.id===e)return l.children=t,l.has_children=t.length>0,!0;if(l.children&&oc(l.children,e,t))return!0}return!1}function D_(n,e){return e?n.filter(t=>Hl(t)===e):n.filter(t=>!Hl(t)||!n.some(l=>l.id===Hl(t)))}function Hl(n){return(n==null?void 0:n.parentId)||(n==null?void 0:n.parentID)||(n==null?void 0:n.parent_id)||""}function Xn(n){return n.eventIds&&n.eventIds.length?n.eventIds:n.events&&n.events.length?n.events.map(e=>e.id).filter(Boolean):[]}function Zn(n){try{oe("WriteDebugLog",n)}catch{}}function Bl(n){return n?n.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function wt(n){return n?new Date(n).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Nn(n){return n==="note_created"||n==="file_added"||n==="folder_added"||n==="node_created"?"+":n==="file_deleted"||n==="folder_deleted"?"×":n==="file_renamed"||n==="folder_renamed"||n==="note_updated"||n==="node_updated"?"~":n==="file_copied"?"⧉":n==="file_moved"?"→":"•"}function bt(n){if(!n)return"";try{return new Date(n).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return n}}function Wl(n){const e=String(n||"").trim();if(!e||/[\s]/.test(e)||e.includes("@"))return"";try{const t=new URL(e);return(t.protocol==="http:"||t.protocol==="https:")&&t.hostname?e:""}catch{try{const l=`https://${e}`,i=new URL(l);return i.hostname&&i.hostname.includes(".")?l:""}catch{return""}}}function M_(n){return{"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp"}[n]||"bin"}function j_(n){return new Promise((e,t)=>{const l=new FileReader;l.onload=()=>{const i=String(l.result||""),a=i.indexOf(",");e(a>=0?i.slice(a+1):i)},l.onerror=()=>t(l.error),l.readAsDataURL(n)})}function A_(n){const e=String(n||"").split(/\r?\n/).map(t=>t.trim()).filter(Boolean);return e.length?{url:e[0],title:e[1]||""}:null}function L_(n){return String(n||"").split(/\r?\n/).map(t=>t.trim()).filter(t=>t&&!t.startsWith("#"))[0]||""}function za(n){const e=Array.from((n==null?void 0:n.types)||[]);return e.includes("Files")||e.includes("text/uri-list")||e.includes("text/x-moz-url")||e.includes("text/plain")&&!e.includes("application/x-verstak-node")}function P_(n){return["case","client","project","folder","document","recipe"].includes(n.type)}function F_(n){return n.targetType==="note"&&n.targetId?{nodeId:n.nodeId,tab:"notes",targetId:n.targetId}:n.targetType==="file"?{nodeId:n.nodeId,tab:"files",targetId:n.targetId,targetPath:n.targetPath}:n.targetType==="folder"?{nodeId:n.nodeId,tab:"files",targetPath:n.targetPath||n.targetId}:{nodeId:n.nodeId}}function kt(n){return e=>{el(e.target)||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),n())}}function R_(n,e,t){var io;let l,i,a=null,r=!1,c=!1,u=!1,p=!1,h=[],m=[],g=[],b=null,k=[],y=0,S=!0,T=[],E=null,I="",D="",N=!1,M="",j="all",R="all",O="",H="",V="",G=[],U=!1,q=[],Y="",B="";function F(d){return{"vault not open":v("error.vaultNotOpen")}[d]||d}let W="",P=null,J="overview",Q=[],ee=null,te=[],le=[],se=[],ce=!1,de="",we="",ze="",me="",X=!1,x=!1,be=null,Ce=null,_e=[],He=0,Ze=[],pt=[],Ye=[],Ie=[],Oe=!1,Me="",Z="date",ye="desc",Pe=!1,je=[],Be=null,Ae="",Ee="",We="",Ue="",$e=null,Fe=0,he=[],Ne="",Le=[],ot=[],rt="",xe="",Ke=[],tt=!1,Qe=!1,Ge="",re=null,Se=null,vt={visible:!1,x:0,y:0,node:null},yt=!1,gt="",mt=!1,St="",vn="open_url",Lt="",sl=[{id:"open_url",label:v("action.openUrl")},{id:"open_file",label:v("action.openFile")},{id:"open_folder",label:v("action.openFolder")},{id:"run_command",label:v("action.runCommand")},{id:"run_script",label:v("action.runScript")},{id:"open_terminal",label:v("action.openTerminal")},{id:"launch_app",label:v("action.launchApp")}],$t=!0,rl=!1,Dn=null,mn=!1,al="",Zl="",It={},cl=!1,at=null,_t=[],ct=[],Pt=null,en="",ul=!1,Mn="",Nt={items:[],mode:"copy"},Ve=[],_n=[],fl=!1,hn=!1,jn=!1,xl="",An=!1,$l="",ei="",ti=!1,ni=v("common.delete"),Ln=null,Pn=null,tn=!1,Fn="",nn="",ln="",jt=null,Ft="",Vt=[],Rt=null,Rn=!1,li,dl=null,pl=!1,gn="",On="";const sc=[{id:"overview",label:v("tab.overview")},{id:"notes",label:v("tab.notes")},{id:"files",label:v("tab.files")},{id:"links",label:v("tab.links")},{id:"actions",label:v("tab.actions")},{id:"activity",label:v("tab.activity"),group:"service"},{id:"worklog",label:v("tab.worklog"),group:"service"},{id:"inbox",label:v("tab.inbox"),group:"service"}];let vl=null;function rc(d){const L={};for(const fe of d){const De=fe.captureContextLabel||v("inbox.noContext");L[De]||(L[De]=[]),L[De].push(fe)}const ne=[];for(const[fe,De]of Object.entries(L))ne.push({label:fe,items:De});return ne.sort((fe,De)=>fe.label.localeCompare(De.label)),ne}function ac(){return{section:W||"",nodeId:(P==null?void 0:P.id)||"",tab:P?J:"",trashFolderId:W==="trash"?Ne:"",trashFolderStack:W==="trash"?Le.map(d=>({id:d.id,title:d.title})):[]}}function Ot(){if(tt)return;const d=ac(),L=Ke[Ke.length-1];(!L||!I_(L,d))&&(Ke=[...Ke,d].slice(-80))}function ml(){t(5,Ne=""),t(230,Le=[]),t(62,he=[])}function cc(){return An?(kl(),!0):p?(lo(),!0):Pt?(Hn(),!0):jt?(Al(),!0):Be?(Ll(),!0):tn?(t(101,tn=!1),!0):ce?(Di(),!0):mn?(Hi(),!0):mt?(eo(),!0):yt?(Ti(),!0):Qe?(bi(),!0):vt.visible?(Kt(),!0):ee?(Ni(),!0):!1}async function uc(d){tt=!0;try{if(d.nodeId){const L=await oe("GetNodeDetail",d.nodeId);L&&(await zt(L),t(34,J=d.tab||"overview"),J==="files"&&ct.length===0&&await st(L.id))}else d.section&&(await _l(d.section),d.section==="trash"&&(t(5,Ne=d.trashFolderId||""),t(230,Le=d.trashFolderStack||[]),t(62,he=[]),await kn()))}finally{tt=!1}}async function ii(){if(cc())return;const d=Ke[Ke.length-1];d&&(Ke=Ke.slice(0,-1),await uc(d))}function oi(d){d.button===3&&(el(d.target)||(d.preventDefault(),ii()))}function Ut(d){J!==d&&(Ot(),t(34,J=d),d==="files"&&P&&ct.length===0&&!at&&st(P.id))}Ba(async()=>{try{if(t(7,a=await oe("GetStartupStatus")),r=!0,a.status==="first_run"){t(8,c=!0),t(77,$t=!1);return}if(a.status==="recovery"){t(9,u=!0),t(77,$t=!1);return}}catch(d){t(31,B=String(d))}try{t(30,Y=await oe("VerstakVersion")||"verstak-gui/v2"),t(11,h=await oe("ListSystemViews")||[]),t(12,m=await oe("ListWorkspaceTree")||[]),t(13,g=await oe("ListEnabledTemplates")||[])}catch(d){t(31,B=String(d)),t(11,h=[{id:"today",label:v("nav.today")},{id:"inbox",label:v("nav.inbox")},{id:"activity",label:v("nav.activity")}]),t(12,m=[]),t(13,g=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Kc),vl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",mi),window.addEventListener("paste",Ui),window.addEventListener("dragover",Ki),window.addEventListener("dragleave",Gi),window.addEventListener("drop",Ji),window.addEventListener("auxclick",oi),t(77,$t=!1),Fl(),Mi()}),Ql(()=>{vl&&vl(),window.removeEventListener("keydown",mi),window.removeEventListener("paste",Ui),window.removeEventListener("dragover",Ki),window.removeEventListener("dragleave",Gi),window.removeEventListener("drop",Ji),window.removeEventListener("auxclick",oi)});async function _l(d){Ot(),t(32,W=d),t(33,P=null),t(34,J="overview"),t(35,Q=[]),te=[],t(37,le=[]),t(38,se=[]),t(52,Ie=[]),t(55,je=[]),t(48,_e=[]),t(0,Ye=[]),t(4,$e=null),ml(),t(66,Qe=!1),t(31,B=""),t(14,b=null),t(50,Ze=[]),t(51,pt=[]),t(15,k=[]),y=0,S=!0,t(16,T=[]),t(17,E=null);try{d==="today"?(t(14,b=await oe("ListTodayView")||{cases:[]}),t(48,_e=await oe("GetSuggestions")||[]),t(49,He=_e.length),t(50,Ze=await oe("ListTodayInProgress")||[]),t(51,pt=await oe("ListTodayCaptures")||[])):d==="inbox"?t(0,Ye=await oe("ListInboxNodes")||[]):d==="trash"?await kn():d==="journal"?await Jt():d==="activity"&&(t(15,k=await oe("ListActivityFeed",50,0)||[]),y=k.length,S=k.length===50)}catch(L){t(31,B=String(L)),t(14,b={cases:[]}),t(0,Ye=[]),t(4,$e=null),t(15,k=[])}}async function zt(d){Ot(),t(33,P=d),t(32,W=""),t(34,J="overview"),t(35,Q=[]),te=[],t(37,le=[]),t(38,se=[]),t(48,_e=[]),t(85,ct=[]),t(84,_t=[]),t(83,at=null),t(86,Pt=null),t(87,en=""),t(91,Ve=[]),_n=[],ml(),t(36,ee=null),t(66,Qe=!1),t(71,yt=!1),t(31,B=""),t(29,q=[]),await zn(d.id)}async function zn(d){try{t(35,Q=await oe("ListNotes",d)||[])}catch{}try{te=await oe("ListFiles",d)||[]}catch{}try{t(37,le=await oe("ListActions",d)||[])}catch{}try{t(38,se=Bl(await oe("ListWorklog",d)))}catch{}try{t(52,Ie=await oe("ListInboxNodesForTarget",d)||[])}catch{t(52,Ie=[])}try{t(55,je=await oe("ListLinks",d)||[])}catch{t(55,je=[])}try{t(48,_e=await oe("GetSuggestions")||[]),t(49,He=_e.length)}catch{t(48,_e=[]),t(49,He=0)}try{t(29,q=await oe("ListActivityByNode",d,50,0)||[])}catch{}}async function st(d){t(82,cl=!0);try{let L=await oe("ListItems",d)||[];L.sort((ne,fe)=>ne.type!==fe.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(fe.name||"")),t(85,ct=L)}catch{t(85,ct=[])}t(82,cl=!1)}async function hl(d){if(!P)return;Ot();try{const ne=await oe("GetNodeDetail",d);ne&&t(84,_t=[..._t,{id:d,name:ne.title}])}catch{t(84,_t=[..._t,{id:d,name:"..."}])}t(83,at=d),t(81,It={...It,[d]:!0});const L=await oe("ListWorkspaceChildren",d)||[];Tn(m,d,L),t(12,m=[...m]),await st(d)}function fc(){if(Ot(),_t.length<2)t(84,_t=[]),t(83,at=null),st(P.id);else{const d=_t[_t.length-2];t(84,_t=_t.slice(0,-1)),t(83,at=d.id),st(d.id)}}function si(d){const L=_t[d];t(84,_t=_t.slice(0,d+1)),t(83,at=L.id),st(L.id)}async function bn(d){t(86,Pt=d),t(87,en=""),t(89,Mn=""),t(88,ul=!0);try{P1(d)?t(87,en=await oe("GetFileBase64",d.fileId)||""):F1(d)&&t(87,en=await oe("ReadFileText",d.fileId)||"")}catch(L){t(89,Mn=String(L))}t(88,ul=!1)}function Hn(){t(86,Pt=null),t(87,en=""),t(89,Mn="")}async function dc(){const d=prompt(v("file.namePrompt"));if(!(!d||!d.trim()))try{const L=at||P.id;await oe("CreateEmptyFile",L,d.trim()),await st(L),await yl(L)}catch(L){t(31,B=String(L))}}async function ri(d){try{await oe("DuplicateNode",d);const L=at||P.id;await st(L),await yl(L)}catch(L){t(31,B=String(L))}}function ai(d){const L=ct.find(ne=>ne.id===d);L&&bl(L.id,L.name)}function ci(d){t(90,Nt={items:[d],mode:"cut"})}function ui(d){t(90,Nt={items:[d],mode:"copy"})}async function fi(){if(Nt.items.length===0)return;const d=at||P.id;try{if(Nt.mode==="copy")for(const L of Nt.items)await oe("DuplicateNode",L);else for(const L of Nt.items)await oe("MoveNode",L,d);t(90,Nt={items:[],mode:"copy"}),await st(d)}catch(L){t(31,B=String(L))}}function di(d){Ve.includes(d)?t(91,Ve=Ve.filter(L=>L!==d)):t(91,Ve=[...Ve,d])}function pi(d){t(91,Ve=[d])}function pc(){t(91,Ve=ct.map(d=>d.id))}function vi(d){if(ct.length===0)return;const L=Ve.length>0?Ve[Ve.length-1]:ct[0].id,ne=ct.findIndex(Mt=>Mt.id===L),fe=ct.findIndex(Mt=>Mt.id===d);if(ne===-1||fe===-1)return;const De=Math.min(ne,fe),dt=Math.max(ne,fe),an=ct.slice(De,dt+1).map(Mt=>Mt.id),wn=new Set(Ve);an.forEach(Mt=>wn.add(Mt)),t(91,Ve=[...wn])}function vc(){t(91,Ve=[])}function gl(d){return d.length>0?d:ct.map(L=>L.id)}async function mc(){const d=gl(Ve),L=ct.find(fe=>fe.id===d[0]);let ne;d.length===1&&(L==null?void 0:L.type)==="folder"?ne=v("delete.folder"):d.length===1?ne=v("delete.file"):ne=v("delete.files",{count:d.length}),Dt({title:v("delete.confirmTitle"),message:v("delete.confirmMessage")+" "+ne+"?",confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{for(const De of d)try{await oe("DeleteFileOrFolder",De)}catch(dt){t(31,B=String(dt))}t(91,Ve=[]);const fe=at||P.id;await st(fe)}})}function _c(){const d=gl(Ve);t(90,Nt={items:d,mode:"cut"}),t(91,Ve=[])}function hc(){const d=gl(Ve);t(90,Nt={items:d,mode:"copy"}),t(91,Ve=[])}function gc(d,L){d.stopPropagation();const ne=Ve.includes(L)?Ve:[L];_n=ne,d.dataTransfer.effectAllowed="move",d.dataTransfer.setData("text/plain",ne.join(","))}function bc(d,L){const ne=ct.find(fe=>fe.id===L);ne&&ne.type==="folder"&&(d.preventDefault(),d.stopPropagation(),d.dataTransfer.dropEffect="move")}async function kc(d,L){if(d.preventDefault(),d.stopPropagation(),_n.length!==0){for(const ne of _n)try{await oe("MoveNode",ne,L)}catch(fe){t(31,B=String(fe))}_n=[],t(91,Ve=[]),await st(at||P.id)}}function mi(d){if(!el(d.target)){if(d.key==="Backspace"||d.altKey&&d.key==="ArrowLeft"){d.preventDefault(),ii();return}if(J==="files")if(d.ctrlKey||d.metaKey)d.key==="c"||d.key==="C"?(d.preventDefault(),hc()):d.key==="x"||d.key==="X"?(d.preventDefault(),_c()):d.key==="v"||d.key==="V"?(d.preventDefault(),fi()):d.key==="a"||d.key==="A"?(d.preventDefault(),pc()):d.key==="o"||d.key==="O"?(d.preventDefault(),yc()):d.key==="Enter"&&(d.preventDefault(),_i());else if(d.key==="Enter")d.preventDefault(),_i();else if(d.key==="Delete"){if(Pt){d.preventDefault(),Hn();return}if(Ve.length>0){d.preventDefault(),mc();return}}else if(d.key==="Escape"){if(Pt){Hn();return}if(Ve.length>0){vc();return}}else d.key==="F2"&&(d.preventDefault(),wc())}}function _i(){if(Ve.length===1){const d=ct.find(L=>L.id===Ve[0]);d&&(d.type==="folder"?hl(d.id):bn(d))}}function yc(){if(Ve.length===1){const d=ct.find(L=>L.id===Ve[0]);d&&d.fileId&&oe("OpenFile",d.fileId)}}function bl(d,L){Fn=d,t(102,nn=L),t(103,ln=""),t(101,tn=!0)}function wc(){if(Ve.length===1){const d=ct.find(L=>L.id===Ve[0]);d&&bl(d.id,d.name)}}async function hi(){const d=nn.trim();if(!d){t(103,ln=v("rename.emptyError"));return}try{await oe("ValidateName",d)}catch{t(103,ln=v("rename.invalidError"));return}t(101,tn=!1);const L=Fn;Fn="";try{await oe("RenameNode",L,d),P&&P.id===L&&t(33,P={...P,title:d}),await Gt(),at&&await st(at)}catch(ne){t(31,B=String(ne))}}function Cc(){t(101,tn=!1),Fn="",t(102,nn=""),t(103,ln="")}function Sc(d){d.key==="Enter"?hi():t(103,ln="")}function Dt(d){t(97,$l=d.title||v("common.confirm")),t(98,ei=d.message||""),t(99,ti=d.danger!==void 0?d.danger:!0),t(100,ni=d.confirmText||v("common.delete")),Ln=d.onConfirm||null,Pn=d.onCancel||null,t(96,An=!0)}function kl(){t(96,An=!1),Ln=null,Pn=null}function Tc(){Ln&&Ln(),kl()}function Ec(){Pn&&Pn(),kl()}function gi(d){t(68,re=vt.node),t(69,Se=d),t(67,Ge=""),t(66,Qe=!0),Kt()}function Ic(){t(68,re=null),t(69,Se=void 0),t(67,Ge=""),t(66,Qe=!0)}function bi(){t(66,Qe=!1),t(67,Ge=""),t(68,re=null),t(69,Se=void 0)}async function ki(){if(!(!Ge.trim()||Se===void 0))try{const d=re?re.id:"",L=Se?Se.id:"",ne=await oe("CreateNodeFromTemplate",d,Ge.trim(),L);t(66,Qe=!1),t(67,Ge="");const fe=ne?ne.id:null;if(t(68,re=null),t(69,Se=void 0),d){t(81,It={...It,[d]:!0});const De=await oe("ListWorkspaceChildren",d)||[];Tn(m,d,De),t(12,m=[...m])}else t(12,m=await oe("ListWorkspaceTree")||m);if(fe){const De=await oe("GetNodeDetail",fe);De&&(t(32,W=""),zt(De))}}catch(d){t(31,B=String(d))}}function Nc(d,L){t(70,vt={visible:!0,x:d.clientX,y:d.clientY,node:L})}function Kt(){t(70,vt={visible:!1,x:0,y:0,node:null})}async function Dc(d){const L=!It[d];if(t(81,It={...It,[d]:L}),!L)return;const ne=await oe("ListWorkspaceChildren",d)||[];Tn(m,d,ne),t(12,m=[...m])}async function Mc(d,L){if(!(!d||!L||d===L))try{const ne=await oe("MoveNode",d,L);await Gt();const fe=await oe("GetNodeDetail",d);fe&&(t(32,W=""),zt(fe))}catch(ne){t(31,B=String(ne))}}async function jc(d){d.preventDefault(),d.stopPropagation();try{const L=d.dataTransfer.getData("text/plain");if(!L)return;const ne=await oe("GetNodeDetail",L);if(!ne||!ne.parent_id)return;await oe("MoveNode",L,""),await Gt();const fe=await oe("GetNodeDetail",L);fe&&(t(32,W=""),zt(fe))}catch(L){t(31,B=String(L))}}function Ac(d){d.preventDefault(),d.dataTransfer.dropEffect="move",t(92,fl=!0)}function Lc(d){t(92,fl=!1)}function yi(d){bl(d.id,d.title),Kt()}function wi(d){Kt(),Dt({title:v("delete.confirmTitle"),message:v("delete.confirmMessage")+" "+d.title+"?",confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteNode",d.id),await Gt(),await Mi(),P&&P.id===d.id&&t(33,P=null)}catch(L){t(31,B=String(L))}}})}async function At(d){Kt();const L=typeof d=="string"?d:d.id;try{await oe("OpenFolder",L)}catch(ne){t(31,B=String(ne))}}async function Tt(d){const L=ic(d);try{if(L==="url"||d.type==="link"){if(!d.url)throw new Error("url required");await oe("OpenURL",d.url);return}if(L==="text"||d.type==="note"){const ne=await oe("ReadNote",d.id);t(36,ee={id:d.id,title:d.title,content:ne||"",dirty:!1});return}if(L==="folder"||d.type==="folder"){Ot(),t(32,W=""),t(33,P=d),t(34,J="files"),t(84,_t=[]),t(83,at=null),t(91,Ve=[]),t(86,Pt=null),await zn(d.id),await st(d.id);return}if(L==="file"||L==="image"||d.type==="file"){const fe=(await oe("ListFiles",d.id)||[])[0];if(!fe)throw new Error("file record not found");const De=N_(d,fe);vo(De)?await bn(De):await oe("OpenFile",De.fileId);return}await yn(d.id)}catch(ne){t(31,B=String(ne))}}async function Ci(d){Kt();try{await oe("MoveNode",d.id,""),await Gt();const L=await oe("GetNodeDetail",d.id);L&&(t(32,W=""),zt(L))}catch(L){t(31,B=String(L))}}async function Gt(){const d=Object.keys(It).filter(ne=>It[ne]),L=await oe("ListWorkspaceTree")||[];for(const ne of d){const De=(await oe("ListWorkspaceChildren",ne)||[]).map(dt=>({...dt}));oc(L,ne,De)}t(12,m=L)}async function yl(d){const L=await oe("ListWorkspaceChildren",d)||[];Tn(m,d,L),t(12,m=[...m])}function Si(){t(71,yt=!0),t(72,gt="")}function Ti(){t(71,yt=!1),t(72,gt="")}async function Ei(){if(!(!gt.trim()||!P))try{const d=await oe("CreateNote",P.id,gt.trim());t(35,Q=[...Q,d&&d.id?d:{id:Date.now().toString(),title:gt.trim(),createdAt:new Date().toISOString()}]),t(71,yt=!1),t(72,gt="")}catch{const L={id:Date.now().toString(),title:gt.trim(),createdAt:new Date().toISOString()};t(35,Q=[...Q,L]),t(71,yt=!1),t(72,gt="")}}async function on(d){if(ee&&ee.dirty){Dt({title:v("note.unsavedTitle"),message:v("note.unsavedMessage"),confirmText:v("note.unsavedClose"),danger:!1,onConfirm:async()=>{await Ii(d)}});return}await Ii(d)}async function Ii(d){try{const L=await oe("ReadNote",d.id);t(36,ee={id:d.id,title:d.title,content:L||"",dirty:!1})}catch{t(36,ee={id:d.id,title:d.title,content:"# "+d.title+` + +`,dirty:!1})}}function Ni(){if(ee&&ee.dirty){Dt({title:v("note.unsavedTitle"),message:v("note.unsavedMessage"),confirmText:v("note.unsavedClose"),danger:!1,onConfirm:()=>{t(36,ee=null)}});return}t(36,ee=null)}function Pc(d){ee&&(t(36,ee.content=d.target.value,ee),t(36,ee.dirty=!0,ee))}async function Fc(){if(ee)try{await oe("SaveNote",ee.id,ee.content),t(36,ee.dirty=!1,ee)}catch{t(36,ee.dirty=!1,ee)}}function Bn(d=null){t(46,be=d),t(47,Ce=null),t(40,de=d?d.summary:""),t(41,we=d?String(d.minutes||""):""),t(42,ze=d&&d.date||""),t(43,me=d&&d.details||""),t(44,X=d?!!d.billable:!1),t(45,x=d?!!d.approximate:!1),t(39,ce=!0)}function Di(){t(39,ce=!1),t(46,be=null),t(47,Ce=null)}async function wl(d=""){const L=d||(P?P.id:"");P&&P.id===L&&t(38,se=Bl(await oe("ListWorklog",P.id))||se),W==="journal"&&await Jt()}async function Rc(){const d=parseInt(we,10);if(!(!de.trim()||isNaN(d)||d<=0)&&!(!Ce&&!be&&!P)){try{if(Ce){const L=JSON.stringify(Xn(Ce));await oe("AcceptSuggestionFull",Ce.nodeId,de.trim(),me,ze,d,x,X,L),await Wn()}else be?(await oe("UpdateWorklogEntry",be.id,de.trim(),me,ze,d,x,X),await wl(be.nodeId)):(await oe("CreateWorklogFull",P.id,de.trim(),me,ze,d,x,X),await wl(P.id))}catch(L){t(31,B=String(L));return}t(39,ce=!1),t(46,be=null),t(47,Ce=null)}}function Cl(d){Dt({title:v("worklog.deleteEntry"),message:v("worklog.deleteConfirm"),confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteWorklogEntry",d.id),await wl(d.nodeId)}catch(L){t(31,B=String(L))}}})}async function Wn(){t(48,_e=await oe("GetSuggestions")||[]),t(49,He=_e.length),P&&t(38,se=Bl(await oe("ListWorklog",P.id))),W==="journal"&&await Jt()}async function kn(){t(4,$e=await oe("ListTrash")||{nodes:[],entries:[],trashPath:"",count:0}),t(61,Fe=$e.count||0);const d=$e.nodes||[];t(62,he=he.filter(L=>d.some(ne=>ne.id===L))),Ne&&!d.some(L=>L.id===Ne)?ml():Le.length>0&&(t(230,Le=Le.filter(L=>d.some(ne=>ne.id===L.id))),t(5,Ne=Le.length>0?Le[Le.length-1].id:""))}async function Mi(){try{t(61,Fe=await oe("TrashCount")||0)}catch{t(61,Fe=0)}}function Oc(){return Ne&&((($e==null?void 0:$e.nodes)||[]).find(d=>d.id===Ne)||Le[Le.length-1])||null}function ji(d){Ot(),t(5,Ne=d.id);const L=Le.findIndex(ne=>ne.id===d.id);L>=0?t(230,Le=Le.slice(0,L+1)):t(230,Le=[...Le,{id:d.id,title:d.title}]),t(62,he=[])}function zc(){if(Le.length===0)return;Ot();const d=Le.slice(0,-1);t(230,Le=d),t(5,Ne=d.length>0?d[d.length-1].id:""),t(62,he=[])}function Ai(d){t(62,he=he.includes(d)?he.filter(L=>L!==d):[...he,d])}function Sl(d){return he.length>0?he:[d]}async function Tl(d){try{await oe("RestoreTrashNodesJSON",JSON.stringify(d)),await Gt(),await kn()}catch(L){t(31,B=String(L))}}async function El(d){Dt({title:v("delete.confirmTitle"),message:v("delete.confirmMessage")+" "+d.length+"?",confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("PurgeTrashNodesJSON",JSON.stringify(d)),await kn()}catch(L){t(31,B=String(L))}}})}async function Hc(){Dt({title:v("delete.confirmTitle"),message:v("trash.empty")+"?",confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("EmptyTrash"),await kn()}catch(d){t(31,B=String(d))}}})}function Vn(d){t(47,Ce=d),t(46,be=null),t(40,de=d.summary||""),t(41,we=String(d.suggestedMin||"")),t(42,ze=""),t(43,me=""),t(44,X=!1),t(45,x=!0),t(39,ce=!0)}async function Un(d){try{await oe("DismissSuggestion",d.nodeId,JSON.stringify(Xn(d))),await Wn()}catch(L){t(31,B=String(L))}}async function Il(d){try{const L=Xn(d),ne=JSON.stringify(L);Zn("acceptTodaySuggestion: nodeId="+d.nodeId+" eventIds="+ne+" events="+JSON.stringify((d.events||[]).map(fe=>({id:fe.id,type:fe.eventType,title:fe.title})))),await oe("AcceptSuggestionWith",d.nodeId,d.summary,d.suggestedMin,"",ne),await Wn()}catch(L){Zn("acceptTodaySuggestion error: "+L)}}async function Li(d){try{const L=Xn(d),ne=JSON.stringify(L);Zn("acceptJournalSuggestion: nodeId="+d.nodeId+" eventIds="+ne+" events="+JSON.stringify((d.events||[]).map(fe=>({id:fe.id,type:fe.eventType,title:fe.title})))),await oe("AcceptSuggestionWith",d.nodeId,d.summary,d.suggestedMin,"",ne),await Wn()}catch(L){Zn("acceptJournalSuggestion error: "+L)}}async function Jt(){try{const[d,L,ne]=await Promise.all([oe("ListWorklogReport",I,D,M,N,j,R),oe("WorklogReportSummary",I,D,M,N,j,R),oe("GetSuggestions")]);if(t(16,T=(d||[]).map(fe=>(fe._expanded===void 0&&(fe._expanded=!1),fe))),t(17,E=L||null),t(48,_e=ne||[]),t(49,He=_e.length),M&&!O)if(d&&d.length>0&&d[0].nodePath)t(24,O=d[0].nodePath);else try{t(24,O=await oe("GetNodeTitle",M))}catch{t(24,O="")}}catch{t(16,T=[]),t(17,E=null),t(48,_e=[]),t(49,He=0)}}async function Kn(d){try{const L=await oe("SaveWorklogReport",d,I,D,M,N,j,R);t(25,H=L),setTimeout(()=>t(25,H=""),4e3)}catch(L){if(String(L).includes("отменено"))return;t(25,H="Ошибка: "+String(L)),setTimeout(()=>t(25,H=""),6e3)}}let Pi;async function Nl(d){if(d._expanded=!d._expanded,t(16,T),d._expanded&&!d._events&&d._hasEvents===void 0)try{d._events=await oe("GetWorklogEntryEvents",d.id)||[],d._hasEvents=d._events.length>0,t(16,T)}catch{d._events=[],d._hasEvents=!1,t(16,T)}}async function Dl(d){if(d._expanded=!d._expanded,d._expanded&&d.source==="suggestion"&&!d._events&&d._hasEvents===void 0)try{d._events=await oe("GetWorklogEntryEvents",d.id)||[],d._hasEvents=d._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(38,se)}async function Bc(){const d=V.trim();if(!d||d.length<2){t(27,G=[]),t(28,U=!1);return}try{t(27,G=await oe("SearchNodes",d)||[]),t(28,U=G.length>0)}catch{t(27,G=[]),t(28,U=!1)}}function Wc(){clearTimeout(Pi),Pi=setTimeout(Bc,200)}function Fi(d){t(21,M=d.id),t(24,O=d.path||d.title),t(20,N=!0),t(26,V=""),t(27,G=[]),t(28,U=!1),Jt()}function Ri(){t(21,M=""),t(20,N=!1),t(24,O=""),t(26,V=""),t(27,G=[]),t(28,U=!1),Jt()}function Vc(){t(18,I=""),t(19,D=""),t(21,M=""),t(20,N=!1),t(22,j="all"),t(23,R="all"),t(24,O=""),t(26,V=""),t(27,G=[]),t(28,U=!1),Jt()}async function Oi(){const d=await oe("PickFile");if(!d)return;const L=at||P.id;await zi(L,d)}async function Uc(){const d=await oe("PickDirectory");if(!d)return;const L=at||P.id;await zi(L,d)}async function zi(d,L){t(78,rl=!0);try{const ne=await oe("PreviewImport",L);t(79,Dn=ne),al=L,Zl=d,t(80,mn=!0)}catch(ne){t(31,B=String(ne))}t(78,rl=!1)}async function Ml(d){try{const L=Zl||P.id,ne=d==="copy"?await oe("AddPathCopy",L,al):await oe("AddPathLink",L,al);t(80,mn=!1),t(79,Dn=null),t(84,_t=[]),t(83,at=null),await Promise.all([zn(L),st(L),yl(L)])}catch(L){t(31,B=String(L))}}function Hi(){t(80,mn=!1),t(79,Dn=null)}async function Bi({id:d,type:L}){const ne=v(L==="folder"?"delete.folder":"delete.file");Dt({title:v("delete.confirmTitle"),message:v("delete.confirmMessage")+" "+ne+"?",confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteFileOrFolder",d),te=te.filter(De=>De.nodeId!==d);const fe=at||P.id;await st(fe)}catch(fe){t(31,B=String(fe))}}})}async function Kc(d){!d||d.length===0||await tu(d,"drop")}function Gc(d){return{note_created:v("event.noteCreated"),note_updated:v("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:v("event.fileAdded"),file_deleted:v("event.fileDeleted"),file_renamed:v("event.fileRenamed"),file_copied:v("event.fileCopied"),file_moved:v("event.fileMoved"),folder_added:v("event.folderAdded"),folder_deleted:v("event.folderDeleted"),folder_renamed:v("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:v("event.caseCreated"),node_updated:v("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[d]||d}function Jc(d){return{project:v("kind.project"),client:v("kind.client"),document:v("kind.document"),recipe:v("kind.recipe"),folder:v("kind.folder"),note:v("kind.note"),file:v("kind.file"),archive:v("kind.archive"),case:v("kind.case"),link:v("kind.link")}[d]||d||v("kind.case")}function Wi(d){return d?v("capture.kind."+d):""}function qc(d){return d?v("capture.source."+d):""}function Yc(d){const L=[];return d.captureKind&&L.push(Wi(d.captureKind)),d.captureSource&&L.push(qc(d.captureSource)),d.captureContextLabel&&L.push(`${v("inbox.capturedIn")}: ${d.captureContextLabel}`),d.suggestedTargetLabel&&L.push(`${v("inbox.suggestedTarget")}: ${d.suggestedTargetLabel}`),L.push(bt(d.capturedAt||d.createdAt)),L.filter(Boolean).join(" · ")}function Qc(d){!d||!d.id||(t(0,Ye=[d,...Ye.filter(L=>L.id!==d.id)]),P&&(d.captureContextNodeId===P.id||d.suggestedTargetNodeId===P.id)&&t(52,Ie=[d,...Ie.filter(L=>L.id!==d.id)]))}function Xc(){return P&&P.id?{contextType:"node",nodeId:P.id,suggestedTargetNodeId:P.id}:W?{contextType:"section",section:W}:{contextType:"global",section:"root"}}function qt(){return JSON.stringify(Xc())}function Zc(){return P&&P.id?v("capture.dropOverlayNode",{title:P.title}):v("capture.dropOverlayGlobal")}async function sn(d=null){d&&Qc(d),W==="inbox"&&t(0,Ye=await oe("ListInboxNodes")||Ye)}async function xc(d,L){const ne=String(d||"").trim();if(!ne)return null;const fe=Wl(ne),De=fe?await oe("CaptureURLWithContext",fe,"",L,qt()):await oe("CaptureTextWithContext",ne,L,qt());return await sn(De),De}async function Vi(d,L,ne){const fe=String(d||"").trim();if(!fe)return null;const De=await oe("CaptureURLWithContext",fe,L||"",ne,qt());return await sn(De),De}async function $c(d,L){if(!d)return null;const ne=d.path||d.webkitRelativePath||"";if(ne){const dt=await oe("CapturePathWithContext",ne,L,qt());return await sn(dt),dt}const fe=await j_(d),De=await oe("CaptureFileDataWithContext",d.name||`clipboard.${M_(d.type)}`,fe,L,qt());return await sn(De),De}async function jl(d,L){var wn,Mt,oo;if(!d)return!1;let ne=!1;const fe=Array.from(d.files||[]);for(const Qt of fe)await $c(Qt,L),ne=!0;const De=(wn=d.getData)==null?void 0:wn.call(d,"text/x-moz-url");if(De){const Qt=A_(De),Cn=Qt?Wl(Qt.url):"";if(Cn)return await Vi(Cn,Qt.title,L),!0}const dt=(Mt=d.getData)==null?void 0:Mt.call(d,"text/uri-list");if(dt){const Qt=L_(dt),Cn=Wl(Qt);if(Cn)return await Vi(Cn,"",L),!0}const an=(oo=d.getData)==null?void 0:oo.call(d,"text/plain");return String(an||"").trim()&&(await xc(an,L),ne=!0),ne}async function eu(){if(!Oe){t(54,Me=""),t(53,Oe=!0);try{const d=await oe("CaptureClipboardTextWithContext",qt());await sn(d),t(54,Me=v("inbox.captured"))}catch(d){t(31,B=String(d).includes("clipboard is empty")?v("inbox.clipboardEmpty"):v("inbox.clipboardUnavailable"))}finally{t(53,Oe=!1)}}}async function tu(d,L="drop"){if(!Oe){t(53,Oe=!0),t(54,Me="");try{for(const ne of d){const fe=await oe("CapturePathWithContext",ne,L,qt());await sn(fe)}t(54,Me=v("inbox.captured"))}catch(ne){t(31,B=String(ne))}finally{t(53,Oe=!1),t(93,hn=!1)}}}async function Ui(d){if(!(c||u)&&!el(d.target)&&d.clipboardData)try{await jl(d.clipboardData,"paste")&&(d.preventDefault(),t(54,Me=v("inbox.captured")))}catch(L){t(31,B=String(L))}}function Ki(d){za(d.dataTransfer)&&(d.preventDefault(),d.dataTransfer.dropEffect="copy",t(95,xl=Zc()),t(94,jn=!0))}function Gi(d){(d.clientX<=0||d.clientY<=0||d.clientX>=window.innerWidth||d.clientY>=window.innerHeight)&&t(94,jn=!1)}async function Ji(d){if(za(d.dataTransfer)){d.preventDefault(),t(94,jn=!1);try{await jl(d.dataTransfer,"drop")&&t(54,Me=v("inbox.captured"))}catch(L){t(31,B=String(L))}}}function nu(d){d.preventDefault(),d.dataTransfer.dropEffect="copy",t(93,hn=!0)}function lu(){t(93,hn=!1)}async function iu(d){d.preventDefault(),d.stopPropagation(),t(93,hn=!1),await jl(d.dataTransfer,"drop")&&t(54,Me=v("inbox.captured"))}function Gn(d){t(104,jt=d),t(105,Ft=""),t(106,Vt=[]),t(107,Rt=null)}function Al(){t(104,jt=null),t(105,Ft=""),t(106,Vt=[]),t(107,Rt=null),t(108,Rn=!1)}async function ou(){const d=Ft.trim();if(!d||d.length<2){t(106,Vt=[]);return}t(108,Rn=!0);try{const L=await oe("SearchNodes",d)||[];t(106,Vt=L.filter(ne=>P_(ne)&&ne.id!==(jt==null?void 0:jt.id)))}catch{t(106,Vt=[])}finally{t(108,Rn=!1)}}function su(d){t(105,Ft=d.target.value),t(107,Rt=null),clearTimeout(li),li=setTimeout(ou,200)}function qi(d){t(107,Rt=d),t(105,Ft=d.path||d.title),t(106,Vt=[])}async function Yi(){if(!(!jt||!Rt))try{await Qi(jt,Rt.id),Al()}catch(d){t(31,B=String(d))}}async function Qi(d,L){!d||!L||(await oe("ResolveInboxNode",d.id,L),t(0,Ye=Ye.filter(ne=>ne.id!==d.id)),t(52,Ie=Ie.filter(ne=>ne.id!==d.id)),await Gt(),P&&await zn(P.id))}async function Jn(d){const L=(d==null?void 0:d.suggestedTargetNodeId)||(P==null?void 0:P.id)||"";if(L)try{await Qi(d,L)}catch(ne){t(31,B=String(ne))}}function qn(d){Dt({title:v("inbox.deleteTitle"),message:v("inbox.deleteConfirm",{title:d.title}),confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteInboxNode",d.id),t(0,Ye=Ye.filter(L=>L.id!==d.id)),t(52,Ie=Ie.filter(L=>L.id!==d.id))}catch(L){t(31,B=String(L))}}})}function Xi(d){t(56,Be=d),t(57,Ae=d.title||""),t(58,Ee=d.url||""),t(59,We=d.note||""),t(60,Ue="")}function Ll(){t(56,Be=null),t(57,Ae=""),t(58,Ee=""),t(59,We=""),t(60,Ue="")}async function ru(){if(!(!Be||!Ee.trim()))try{const d=await oe("UpdateLink",Be.id,Ae.trim(),Ee.trim(),We);t(55,je=je.map(L=>L.id===d.id?d:L)),Ll()}catch(d){t(60,Ue=String(d))}}async function Zi(d){Dt({title:v("links.deleteTitle"),message:v("links.deleteConfirm",{title:d.title}),confirmText:v("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteLink",d.id),t(55,je=je.filter(L=>L.id!==d.id))}catch(L){t(31,B=String(L))}}})}async function xi(d){try{await oe("OpenLink",d.id)}catch(L){t(31,B=String(L))}}async function $i(d){var L,ne;try{await((ne=(L=navigator.clipboard)==null?void 0:L.writeText)==null?void 0:ne.call(L,d.url)),t(60,Ue=v("links.copied"))}catch{t(60,Ue=v("links.copyUnavailable"))}}function au(){t(73,mt=!0),t(74,St=""),t(75,vn="open_url"),t(76,Lt="")}function eo(){t(73,mt=!1),t(74,St=""),t(76,Lt="")}async function Pl(){if(!(!St.trim()||!Lt.trim()||!P))try{const d=await oe("CreateAction",P.id,vn,St.trim(),Lt.trim());d&&d.id&&t(37,le=[...le,d]),t(73,mt=!1),t(74,St=""),t(76,Lt="")}catch(d){t(31,B=String(d))}}async function to(d){try{await oe("DeleteAction",d),t(37,le=le.filter(L=>L.id!==d))}catch(L){t(31,B=String(L))}}function cu(d){const L=sl.find(ne=>ne.id===d);return L?L.label:d}async function yn(d){try{const L=await oe("GetNodeDetail",d);L&&zt(L)}catch(L){t(31,B=String(L))}}async function Yt(d){const L=F_(d),ne=L.nodeId;if(ne)try{const fe=await oe("GetNodeDetail",ne);if(!fe)return;if(zt(fe),L.tab==="notes"){if(Ut("notes"),L.targetId){try{t(35,Q=await oe("ListNotes",ne)||[])}catch{}const De=Q.find(dt=>dt.id===L.targetId);De&&setTimeout(()=>on(De),100)}}else if(L.tab==="files")if(Ut("files"),L.targetId)try{const De=await oe("GetNodeDetail",L.targetId);if(De&&De.parent_id){await st(De.parent_id);const dt=ct.find(an=>an.id===L.targetId);dt&&dt.type==="file"&&vo(dt)&&setTimeout(()=>bn(dt),150)}else await st(ne)}catch{await st(ne)}else await st(ne)}catch(fe){t(31,B=String(fe))}}async function rn(d){return Yt(d)}async function Fl(){try{t(109,dl=await oe("SyncStatus"))}catch{t(109,dl={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let no="general";function Rl(d){t(113,no=d||"general"),t(10,p=!0)}function lo(){t(10,p=!1)}function uu(d){const L=Array.isArray(d==null?void 0:d.conflicts)?d.conflicts:[],ne=Array.isArray(d==null?void 0:d.applyErrors)?d.applyErrors:[],fe=[];return L.length>0&&fe.push(v("sync.conflictsCount",{count:L.length})),ne.length>0&&fe.push(v("sync.applyErrorsCount",{count:ne.length})),fe.join(" · ")}async function fu(){t(110,pl=!0),t(111,gn=""),t(112,On="");try{const d=await oe("SyncNow");await Fl(),t(111,gn=uu(d)),t(112,On=gn?"warning":"")}catch(d){console.error("sync error:",d),t(111,gn=`${v("sync.status.error")}: ${(d==null?void 0:d.message)||d}`),t(112,On="warning")}finally{t(110,pl=!1)}}function du(d){t(8,c=!1),t(7,a=d),t(77,$t=!1),window.location.reload()}function pu(d){t(9,u=!1),t(7,a=d),t(77,$t=!1),window.location.reload()}const vu=d=>d.nodeId===P.id,mu=d=>_l(d.id),_u=()=>Rl("sync"),hu=()=>Rl(),gu=()=>t(31,B=""),bu=()=>t(31,B=""),ku=()=>t(31,B="");function yu(){ee.content=this.value,t(36,ee)}const wu=d=>Ut(d.id),Cu=()=>{Ut("notes"),Si()},Su=()=>{Ut("files"),Oi()},Tu=()=>Ut("worklog"),Eu=d=>on(d),Iu=d=>on(d);function Nu(){gt=this.value,t(72,gt)}const Du=d=>d.key==="Enter"&&Ei(),Mu=d=>on(d),ju=d=>on(d),Au=d=>{const L=d.detail;L===0?(t(84,_t=[]),t(83,at=null),st(P.id)):si(L-1)},Lu=d=>hl(d.detail),Pu=d=>bn(d.detail),Fu=d=>oe("OpenFile",d.detail),Ru=d=>oe("OpenFolder",d.detail),Ou=d=>Bi(d.detail),zu=d=>ai(d.detail.id),Hu=d=>ri(d.detail),Bu=d=>ci(d.detail),Wu=d=>ui(d.detail),Vu=d=>pi(d.detail),Uu=d=>di(d.detail),Ku=d=>vi(d.detail),Gu=d=>Jn(d),Ju=d=>Gn(d),qu=d=>Tt(d),Yu=d=>At(d),Qu=d=>qn(d),Xu=d=>Tt(d),Zu=(d,L)=>L.key==="Enter"&&Tt(d),xu=d=>xi(d),$u=d=>$i(d),ef=d=>Xi(d),tf=d=>Zi(d),nf=d=>oe("RunAction",d.id),lf=d=>to(d.id),of=()=>Bn(),sf=d=>d.nodeId===P.id,rf=d=>Vn(d),af=d=>Il(d),cf=d=>Un(d),uf=(d,L,ne)=>t(48,L[ne]._expanded=!d._expanded,_e,t(33,P)),ff=(d,L,ne,fe)=>fe.key==="Enter"&&t(48,L[ne]._expanded=!d._expanded,_e,t(33,P)),df=d=>Yt(d),pf=d=>At(d.nodeId),vf=d=>Bn(d),mf=d=>Cl(d),_f=d=>Yt(d),hf=d=>At(d.nodeId),gf=d=>Dl(d),bf=(d,L)=>L.key==="Enter"&&Dl(d),kf=d=>rn(d),yf=(d,L)=>L.key==="Enter"&&rn(d),wf=()=>{t(1,Z="date"),t(2,ye=Z==="date"&&ye==="desc"?"asc":"desc")},Cf=()=>{t(1,Z="name"),t(2,ye=Z==="name"&&ye==="desc"?"asc":"desc")},Sf=()=>{t(1,Z="type"),t(2,ye=Z==="type"&&ye==="desc"?"asc":"desc")};function Tf(){Pe=this.checked,t(3,Pe)}const Ef=d=>Jn(d),If=d=>Gn(d),Nf=d=>Tt(d),Df=d=>At(d),Mf=d=>qn(d),jf=d=>Tt(d),Af=(d,L)=>L.key==="Enter"&&Tt(d),Lf=d=>Jn(d),Pf=d=>Gn(d),Ff=d=>Tt(d),Rf=d=>At(d),Of=d=>qn(d),zf=d=>Tt(d),Hf=(d,L)=>L.key==="Enter"&&Tt(d),Bf=()=>Tl(he),Wf=()=>El(he),Vf=()=>oe("OpenTrashFolder"),Uf=d=>Ai(d.id),Kf=d=>ji(d),Gf=d=>Tl(Sl(d.id)),Jf=d=>El(Sl(d.id));function qf(){I=this.value,t(18,I)}function Yf(){D=this.value,t(19,D)}const Qf=()=>{t(26,V=""),t(24,O=""),Ri()};function Xf(){V=this.value,t(26,V)}const Zf=()=>setTimeout(()=>t(28,U=!1),200),xf=d=>Fi(d);function $f(){N=this.checked,t(20,N)}function ed(){j=xn(this),t(22,j)}function td(){R=xn(this),t(23,R)}const nd=()=>Kn("csv"),ld=()=>Kn("markdown"),id=()=>Kn("pdf"),od=d=>yn(d.nodeId),sd=(d,L,ne,fe)=>t(48,L[ne].suggestedMin=parseInt(fe.target.value),_e),rd=d=>Vn(d),ad=d=>Li(d),cd=d=>Un(d),ud=(d,L,ne)=>t(48,L[ne]._expanded=!d._expanded,_e),fd=(d,L,ne,fe)=>fe.key==="Enter"&&t(48,L[ne]._expanded=!d._expanded,_e),dd=d=>Yt(d),pd=d=>At(d.nodeId),vd=d=>yn(d.nodeId),md=d=>Nl(d),_d=(d,L)=>L.key==="Enter"&&Nl(d),hd=d=>Bn(d),gd=d=>Cl(d),bd=d=>Yt(d),kd=d=>yn(d),yd=d=>rn(d),wd=d=>Yt(d),Cd=d=>Vn(d),Sd=d=>Il(d),Td=d=>Un(d),Ed=d=>At(d),Id=d=>Tt(d),Nd=d=>rn(d),Dd=(d,L)=>L.key==="Enter"&&rn(d),Md=()=>t(69,Se=null),jd=d=>t(69,Se=d);function Ad(){Ge=this.value,t(67,Ge)}const Ld=d=>d.key==="Enter"&&ki(),Pd=d=>gi(d),Fd=()=>Ci(vt.node),Rd=()=>yi(vt.node),Od=()=>wi(vt.node),zd=()=>At(vt.node);function Hd(){ze=this.value,t(42,ze)}function Bd(){de=this.value,t(40,de)}function Wd(){we=ll(this.value),t(41,we)}function Vd(){me=this.value,t(43,me)}function Ud(){X=this.checked,t(44,X)}function Kd(){x=this.checked,t(45,x)}function Gd(){St=this.value,t(74,St)}const Jd=d=>d.key==="Enter"&&Pl();function qd(){vn=xn(this),t(75,vn),t(116,sl)}function Yd(){Lt=this.value,t(76,Lt)}const Qd=d=>d.key==="Enter"&&Pl(),Xd=()=>Ml("copy"),Zd=()=>Ml("link");function xd(){nn=this.value,t(102,nn)}function $d(){Ft=this.value,t(105,Ft)}const e1=d=>d.key==="Enter"&&Rt&&Yi(),t1=d=>qi(d);function n1(){Ae=this.value,t(57,Ae)}function l1(){Ee=this.value,t(58,Ee)}function i1(){We=this.value,t(59,We)}const o1=d=>oe("OpenFile",d.detail);return n.$$.update=()=>{n.$$.dirty[0]&48&&t(63,ot=D_(($e==null?void 0:$e.nodes)||[],Ne)),n.$$.dirty[0]&7&&t(6,l=E_(Ye,Z,ye)),n.$$.dirty[0]&72&&t(114,i=Pe?rc(l):null),n.$$.dirty[7]&8192&&t(64,rt=Le.length===0?v("nav.trash"):[v("nav.trash"),...Le.map(d=>d.title)].join(" / "))},t(65,xe=((io=Oc())==null?void 0:io.title)||v("trash.deletedNodes")),[Ye,Z,ye,Pe,$e,Ne,l,a,c,u,p,h,m,g,b,k,T,E,I,D,N,M,j,R,O,H,V,G,U,q,Y,B,W,P,J,Q,ee,le,se,ce,de,we,ze,me,X,x,be,Ce,_e,He,Ze,pt,Ie,Oe,Me,je,Be,Ae,Ee,We,Ue,Fe,he,ot,rt,xe,Qe,Ge,re,Se,vt,yt,gt,mt,St,vn,Lt,$t,rl,Dn,mn,It,cl,at,_t,ct,Pt,en,ul,Mn,Nt,Ve,fl,hn,jn,xl,An,$l,ei,ti,ni,tn,nn,ln,jt,Ft,Vt,Rt,Rn,dl,pl,gn,On,no,i,F,sl,sc,Ut,_l,zt,st,hl,fc,si,bn,Hn,dc,ri,ai,ci,ui,fi,di,pi,vi,gc,bc,kc,hi,Cc,Sc,Tc,Ec,gi,Ic,bi,ki,Nc,Kt,Dc,Mc,jc,Ac,Lc,yi,wi,At,Tt,Ci,Si,Ti,Ei,on,Ni,Pc,Fc,Bn,Di,Rc,Cl,ji,zc,Ai,Sl,Tl,El,Hc,Vn,Un,Il,Li,Jt,Kn,Nl,Dl,Wc,Fi,Ri,Vc,Oi,Uc,Ml,Hi,Bi,Gc,Jc,Wi,Yc,eu,nu,lu,iu,Gn,Al,su,qi,Yi,Jn,qn,Xi,Ll,ru,Zi,xi,$i,au,eo,Pl,to,cu,yn,Yt,rn,Fl,Rl,lo,fu,du,pu,Le,vu,mu,_u,hu,gu,bu,ku,yu,wu,Cu,Su,Tu,Eu,Iu,Nu,Du,Mu,ju,Au,Lu,Pu,Fu,Ru,Ou,zu,Hu,Bu,Wu,Vu,Uu,Ku,Gu,Ju,qu,Yu,Qu,Xu,Zu,xu,$u,ef,tf,nf,lf,of,sf,rf,af,cf,uf,ff,df,pf,vf,mf,_f,hf,gf,bf,kf,yf,wf,Cf,Sf,Tf,Ef,If,Nf,Df,Mf,jf,Af,Lf,Pf,Ff,Rf,Of,zf,Hf,Bf,Wf,Vf,Uf,Kf,Gf,Jf,qf,Yf,Qf,Xf,Zf,xf,$f,ed,td,nd,ld,id,od,sd,rd,ad,cd,ud,fd,dd,pd,vd,md,_d,hd,gd,bd,kd,yd,wd,Cd,Sd,Td,Ed,Id,Nd,Dd,Md,jd,Ad,Ld,Pd,Fd,Rd,Od,zd,Hd,Bd,Wd,Vd,Ud,Kd,Gd,Jd,qd,Yd,Qd,Xd,Zd,xd,$d,e1,t1,n1,l1,i1,o1]}class O_ extends it{constructor(e){super(),lt(this,e,R_,T_,nt,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new O_({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index c1d200c..123018a 100644 --- a/cmd/verstak-gui/frontend-dist/index.html +++ b/cmd/verstak-gui/frontend-dist/index.html @@ -19,8 +19,8 @@ background: #13131f; } - - + +
diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index a263277..9d62e95 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -9,6 +9,7 @@ import VaultRecovery from './lib/VaultRecovery.svelte' import SettingsWindow from './lib/SettingsWindow.svelte' import SyncStatus from './lib/SyncStatus.svelte' + import TodayScreen from './lib/TodayScreen.svelte' import { onMount, onDestroy } from 'svelte' import { actionIcon } from './lib/actionIcons.js' import { canPreviewFile, needsBase64Preview, needsTextPreview } from './lib/fileUtils.js' @@ -92,10 +93,15 @@ let acceptingSuggestion = null let suggestions = [] let suggestionCount = 0 + let inProgressItems = [] + let todayCaptures = [] let inboxNodes = [] let localInboxNodes = [] let inboxCaptureBusy = false let inboxCaptureStatus = '' + let inboxSortBy = 'date' + let inboxSortDir = 'desc' + let inboxGroupByContext = false let links = [] let editingLink = null let linkTitle = '' @@ -197,6 +203,42 @@ let unlistenDrop = null $: visibleTrashNodes = computeVisibleTrashNodes(trashInfo?.nodes || [], trashFolderId) + + $: sortedInboxNodes = sortInboxNodes(inboxNodes, inboxSortBy, inboxSortDir) + $: groupedInboxNodes = inboxGroupByContext ? groupInboxByContext(sortedInboxNodes) : null + + function sortInboxNodes(nodes, sortBy, sortDir) { + const sorted = [...nodes] + sorted.sort((a, b) => { + let cmp = 0 + if (sortBy === 'name') { + cmp = (a.title || '').localeCompare(b.title || '') + } else if (sortBy === 'type') { + const aKind = a.captureKind || a.sourceKind || a.type || '' + const bKind = b.captureKind || b.sourceKind || b.type || '' + cmp = aKind.localeCompare(bKind) + } else { + cmp = (a.capturedAt || a.createdAt || '').localeCompare(b.capturedAt || b.createdAt || '') + } + return sortDir === 'asc' ? cmp : -cmp + }) + return sorted + } + + function groupInboxByContext(nodes) { + const groups = {} + for (const item of nodes) { + const key = item.captureContextLabel || t('inbox.noContext') + if (!groups[key]) groups[key] = [] + groups[key].push(item) + } + const result = [] + for (const [label, items] of Object.entries(groups)) { + result.push({ label, items }) + } + result.sort((a, b) => a.label.localeCompare(b.label)) + return result + } $: currentTrashPath = trashFolderStack.length === 0 ? t('nav.trash') : [t('nav.trash'), ...trashFolderStack.map(node => node.title)].join(' / ') $: currentTrashTitle = currentTrashFolder()?.title || t('trash.deletedNodes') @@ -378,6 +420,8 @@ showCreateNode = false error = '' todayDashboard = null + inProgressItems = [] + todayCaptures = [] activityFeed = [] activityOffset = 0 activityHasMore = true @@ -388,6 +432,8 @@ todayDashboard = await wailsCall('ListTodayView') || { cases: [] } suggestions = await wailsCall('GetSuggestions') || [] suggestionCount = suggestions.length + inProgressItems = await wailsCall('ListTodayInProgress') || [] + todayCaptures = await wailsCall('ListTodayCaptures') || [] } else if (id === 'inbox') { inboxNodes = await wailsCall('ListInboxNodes') || [] } else if (id === 'trash') { @@ -1673,7 +1719,7 @@ const labels = { 'note_created': t('event.noteCreated'), 'note_updated': t('event.noteUpdated'), - 'note_deleted': 'Заметка удалена', + 'note_deleted': t('event.noteDeleted'), 'file_added': t('event.fileAdded'), 'file_deleted': t('event.fileDeleted'), 'file_renamed': t('event.fileRenamed'), @@ -1682,13 +1728,13 @@ 'folder_added': t('event.folderAdded'), 'folder_deleted': t('event.folderDeleted'), 'folder_renamed': t('event.folderRenamed'), - 'folder_moved': 'Папка перемещена', + 'folder_moved': t('event.folderMoved'), 'node_created': t('event.caseCreated'), 'node_updated': t('event.caseUpdated'), - 'node_deleted': 'Узел удалён', - 'action_created': 'Действие создано', - 'action_done': 'Действие выполнено', - 'worklog_added': 'Запись времени добавлена', + 'node_deleted': t('event.nodeDeleted'), + 'action_created': t('event.actionCreated'), + 'action_done': t('event.actionDone'), + 'worklog_added': t('event.worklogAdded'), } return labels[type] || type } @@ -2844,13 +2890,71 @@ {/if} + + {#if inboxNodes.length > 0} +
+
+ + + + {inboxSortDir === 'asc' ? '↑' : '↓'} + + +
+
+ {/if} + {#if inboxNodes.length === 0}

{t('inbox.empty')}

+ {:else if groupedInboxNodes} + {#each groupedInboxNodes as group} +
+
{group.label} {group.items.length}
+
+ {#each group.items as item} +
openInboxArtifact(item)} on:keydown={(e) => e.key === 'Enter' && openInboxArtifact(item)}> +
+ {item.title} + {inboxMetaText(item)} +
+
+ {#if item.suggestedTargetNodeId} + + {:else} + + {/if} + + + {#if canShowInboxArtifactInFolder(item)} + + {:else} + + {/if} + +
+
+ {/each} +
+
+ {/each} {:else}
- {#each inboxNodes as item} + {#each sortedInboxNodes as item}
openInboxArtifact(item)} on:keydown={(e) => e.key === 'Enter' && openInboxArtifact(item)}>
{item.title} @@ -3181,110 +3285,36 @@ {/if}
- {:else if selectedSection === 'today' && todayDashboard} -
-
-

{t('today.title')}

- {todayDashboard.date} + {:else if selectedSection === 'today'} + {#if todayDashboard} + openNodeById(id)} + onOpenActivityEvent={(ev) => openActivityEvent(ev)} + onOpenActivityTarget={(ev) => openActivityTarget(ev)} + onOpenSuggestionWorklog={(s) => openSuggestionWorklogModal(s)} + onAcceptSuggestion={(s) => acceptTodaySuggestion(s)} + onDeleteSuggestion={(s) => deleteSuggestion(s)} + onOpenNodeFolder={(id) => openNodeFolder(id)} + onOpenInboxArtifact={(item) => openInboxArtifact(item)} + /> + {:else} +
+

{t('today.empty')}

+

{t('today.emptyHint')}

- {#if todayDashboard.summary} -
- {#if todayDashboard.summary.changedCases > 0}{todayDashboard.summary.changedCases} {pluralize(todayDashboard.summary.changedCases, t('today.plural.case_one'), t('today.plural.case_few'), t('today.plural.case_many'))}{/if} - {#if todayDashboard.summary.notes > 0}{todayDashboard.summary.notes} {pluralize(todayDashboard.summary.notes, t('today.plural.note_one'), t('today.plural.note_few'), t('today.plural.note_many'))}{/if} - {#if todayDashboard.summary.files > 0}{todayDashboard.summary.files} {pluralize(todayDashboard.summary.files, t('today.plural.file_one'), t('today.plural.file_few'), t('today.plural.file_many'))}{/if} -
- {/if} - - {#if suggestions.length > 0} -
-
{t('suggest.title')}
- {#each suggestions as s} -
-
s._expanded = !s._expanded} role="button" tabindex="0" on:keydown={(e) => e.key === 'Enter' && (s._expanded = !s._expanded)}> -
- - {s.summary} - {s.suggestedMin} {t('worklog.min')}{#if s.events && s.events.length > 0} · {s.events.length} {t('suggest.detectedEvents')}{/if} -
-
- - s.suggestedMin = parseInt(e.target.value)} /> - {t('suggest.minutes')} - - - -
-
- {#if s._expanded && s.events && s.events.length > 0} -
-
{t('suggest.detectedEvents')}
- {#each s.events as ev} -
- {formatTime(ev.createdAt)} - {#if ev.nodePath}{ev.nodePath}{/if} - {eventLabel(ev.eventType)} - {ev.title} - - {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} - - {/if} -
- {/each} -
- {/if} -
- {/each} -
- {/if} - - {#if todayDashboard.groups && todayDashboard.groups.length > 0} - {#each todayDashboard.groups as group} -
-
openNodeById(group.nodeId)} on:keydown={(e) => e.key === 'Enter' && openNodeById(group.nodeId)}> - {group.nodeTitle} - {nodeKindLabel(group.nodeKind)} - {#if group.events}{group.events.length} {pluralize(group.events.length, t('today.plural.event_one'), t('today.plural.event_few'), t('today.plural.event_many'))}{/if} - {formatTime(group.lastActivityAt)} -
- {#if group.events && group.events.length > 0} -
- {#each group.events as ev} -
openNodeById(group.nodeId)} on:keydown={(e) => e.key === 'Enter' && openNodeById(group.nodeId)}> - {eventIcon(ev.eventType)} - {ev.title} - {eventLabel(ev.eventType)} - {#if ev.targetType}{ev.targetType}{/if} - {formatTime(ev.createdAt)} -
- {/each} -
- {:else} -
{t('today.changedCases')}
- {/if} -
- {/each} - - {#if todayDashboard.events && todayDashboard.events.length > 0} -
-

{t('today.timeline')}

- {#each todayDashboard.events as ev} -
openActivityEvent(ev)} on:keydown={(e) => e.key === 'Enter' && openActivityEvent(ev)}> - - {ev.title} - {eventLabel(ev.eventType)} - {formatTime(ev.createdAt)} -
- {/each} -
- {/if} - {:else} -
-

{t('today.empty')}

-

{t('today.emptyHint')}

-
- {/if} -
+ {/if} {:else if selectedSection === 'activity'}
@@ -3773,6 +3803,18 @@ .inbox-icon-btn-danger:hover { color: #fff; border-color: #dc2626; background: #3a1f24; } .inbox-tab { padding: 24px; } +/* Inbox sort/group controls */ +.inbox-controls { margin-bottom: 12px; } +.inbox-sort-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } +.sort-btn { padding: 4px 10px; border: 1px solid #2a2a3c; background: #13131f; color: #888; border-radius: 4px; font-size: 12px; cursor: pointer; font-family: inherit; } +.sort-btn:hover { border-color: #3a3a5c; color: #ccc; } +.sort-btn.active { border-color: #6366f1; color: #a5b4fc; background: rgba(99,102,241,0.08); } +.sort-dir { font-size: 12px; color: #8888a0; margin-left: 2px; } +.inbox-controls-divider { width: 1px; height: 20px; background: #2a2a3c; margin: 0 4px; } +.inbox-group { margin-bottom: 16px; } +.inbox-group-header { font-size: 12px; font-weight: 600; color: #a5b4fc; text-transform: uppercase; letter-spacing: 0.5px; padding: 8px 0 6px; margin-bottom: 6px; border-bottom: 1px solid #2a2a3c; display: flex; align-items: center; gap: 8px; } +.inbox-group-count { font-size: 10px; color: #8888a0; background: #1e1e30; padding: 1px 6px; border-radius: 8px; } + /* Links tab */ .links-tab { padding: 24px; } .links-list { display: flex; flex-direction: column; gap: 8px; } diff --git a/frontend/src/lib/TodayScreen.svelte b/frontend/src/lib/TodayScreen.svelte new file mode 100644 index 0000000..57145f1 --- /dev/null +++ b/frontend/src/lib/TodayScreen.svelte @@ -0,0 +1,433 @@ + + +
+
+

{t('today.title')}

+ {todayDashboard?.date || ''} +
+ +
+ + + + +
+ + {#if activeTab === 'feed'} +
+ {#if !todayDashboard || !todayDashboard.events || todayDashboard.events.length === 0} +
+

{t('today.feedEmpty')}

+

{t('today.feedHint')}

+
+ {:else} +
+ {#each todayDashboard.events as ev} +
handleFeedTitleClick(ev)} + on:keydown={(e) => e.key === 'Enter' && handleFeedTitleClick(ev)}> + {feedItemIcon(ev.eventType)} +
+
+ {feedItemLabel(ev.eventType)} + : + {ev.title} +
+
+ {#if feedItemSubtitle(ev)} + {feedItemSubtitle(ev)} + {/if} + {eventLabel(ev.eventType)} + {formatTime(ev.createdAt)} +
+
+ +
+ {/each} +
+ {/if} +
+ + {:else if activeTab === 'suggestions'} +
+ {#if suggestions.length === 0} +
+

{t('suggest.noSuggestions')}

+
+ {:else} +
+ {#each suggestions as s} +
+
s._expanded = !s._expanded} role="button" tabindex="0" on:keydown={(e) => e.key === 'Enter' && (s._expanded = !s._expanded)}> +
+ + {s.summary} + {s.suggestedMin} {t('worklog.min')}{#if s.events && s.events.length > 0} · {s.events.length} {t('suggest.detectedEvents')}{/if} +
+
+ + s.suggestedMin = parseInt(e.target.value)} /> + {t('suggest.minutes')} + + + +
+
+ {#if s._expanded && s.events && s.events.length > 0} +
+
{t('suggest.detectedEvents')}
+ {#each s.events as ev} +
+ {formatTime(ev.createdAt)} + {#if ev.nodePath}{ev.nodePath}{/if} + {eventLabel(ev.eventType)} + {ev.title} + + {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} + + {/if} +
+ {/each} +
+ {/if} +
+ {/each} +
+ {/if} +
+ + {:else if activeTab === 'inprogress'} +
+
+
+ + + + {ipSortDir === 'asc' ? '↑' : '↓'} +
+
+ + {#if inProgressItems.length === 0} +
+

{t('today.inProgressEmpty')}

+
+ {:else} +
+ {#each inProgressSort(inProgressItems, ipSortBy, ipSortDir) as item} +
onOpenActivityEvent(item)} + on:keydown={(e) => e.key === 'Enter' && onOpenActivityEvent(item)}> + {eventIcon(item.eventType)} +
+ {item.title} + {#if item.nodePath} + {item.nodePath} + {/if} +
+ {eventLabel(item.eventType)} + {formatTime(item.createdAt)} +
+ {/each} +
+ {/if} +
+ + {:else if activeTab === 'captured'} +
+
+
+ + + + {captureSortDir === 'asc' ? '↑' : '↓'} +
+
+ + {#if todayCaptures.length === 0} +
+

{t('today.capturedEmpty')}

+
+ {:else} +
+ {#each captureSort(todayCaptures, captureSortBy, captureSortDir) as item} +
onOpenInboxArtifact(item)} + on:keydown={(e) => e.key === 'Enter' && onOpenInboxArtifact(item)}> + {captureKindIcon(item.captureKind || item.sourceKind)} +
+ {item.title} + {inboxMetaText(item)} +
+ {formatTime(item.capturedAt || item.createdAt)} +
+ {/each} +
+ {/if} +
+ {/if} +
+ + diff --git a/frontend/src/lib/i18n/locales/en.js b/frontend/src/lib/i18n/locales/en.js index 82b79f1..b281ea5 100644 --- a/frontend/src/lib/i18n/locales/en.js +++ b/frontend/src/lib/i18n/locales/en.js @@ -25,6 +25,13 @@ export default { 'nav.createNode': 'Create element', 'nav.moveToRoot': 'Move to root', 'inbox.subtitle': 'Captured materials that still need to be assigned to cases', + 'inbox.sortByDate': 'by date', + 'inbox.sortByName': 'by name', + 'inbox.sortByType': 'by type', + 'inbox.sortAsc': 'ascending', + 'inbox.sortDesc': 'descending', + 'inbox.groupByContext': 'Group by capture location', + 'inbox.noContext': 'No capture location', 'inbox.empty': 'No unprocessed items', 'inbox.pasteClipboard': 'Paste from clipboard', 'inbox.captured': 'Added', @@ -116,6 +123,12 @@ export default { 'event.folderRenamed': 'Folder renamed', 'event.caseCreated': 'Case created', 'event.caseUpdated': 'Case updated', + 'event.noteDeleted': 'Note deleted', + 'event.folderMoved': 'Folder moved', + 'event.nodeDeleted': 'Node deleted', + 'event.actionCreated': 'Action created', + 'event.actionDone': 'Action completed', + 'event.worklogAdded': 'Time entry added', 'kind.project': 'Project', 'kind.client': 'Client', 'kind.document': 'Document', @@ -251,6 +264,19 @@ export default { 'today.plural.event_one': 'event', 'today.plural.event_few': 'events', 'today.plural.event_many': 'events', + 'today.feed': 'Feed', + 'today.suggestionsTab': 'Suggestions', + 'today.inProgress': 'In Progress', + 'today.captured': 'Captured', + 'today.feedEmpty': 'No events today', + 'today.inProgressEmpty': 'Nothing modified today', + 'today.capturedEmpty': 'Nothing captured today', + 'today.feedHint': 'Today\'s events: file changes, notes, actions and other events.', + 'today.sortByTime': 'by time', + 'today.sortByName': 'by name', + 'today.sortByType': 'by type', + 'today.sortAsc': 'ascending', + 'today.sortDesc': 'descending', 'journal.title': 'Work Log', 'journal.empty': 'No entries for the selected period', 'journal.dateFrom': 'From', diff --git a/frontend/src/lib/i18n/locales/ru.js b/frontend/src/lib/i18n/locales/ru.js index c70ad7b..dd9b875 100644 --- a/frontend/src/lib/i18n/locales/ru.js +++ b/frontend/src/lib/i18n/locales/ru.js @@ -26,6 +26,13 @@ export default { 'nav.moveToRoot': 'Переместить в корень', 'inbox.subtitle': 'Захваченные материалы, которые нужно разложить по делам', + 'inbox.sortByDate': 'по дате', + 'inbox.sortByName': 'по имени', + 'inbox.sortByType': 'по типу', + 'inbox.sortAsc': 'по возрастанию', + 'inbox.sortDesc': 'по убыванию', + 'inbox.groupByContext': 'Группировать по месту захвата', + 'inbox.noContext': 'Без места захвата', 'inbox.empty': 'Неразобранных элементов нет', 'inbox.pasteClipboard': 'Вставить из буфера', 'inbox.captured': 'Добавлено', @@ -123,6 +130,12 @@ export default { 'event.folderRenamed': 'Папка переименована', 'event.caseCreated': 'Дело создано', 'event.caseUpdated': 'Дело изменено', + 'event.noteDeleted': 'Заметка удалена', + 'event.folderMoved': 'Папка перемещена', + 'event.nodeDeleted': 'Узел удалён', + 'event.actionCreated': 'Действие создано', + 'event.actionDone': 'Действие выполнено', + 'event.worklogAdded': 'Запись времени добавлена', 'kind.project': 'Проект', 'kind.client': 'Клиент', @@ -266,6 +279,19 @@ export default { 'today.plural.event_one': 'событие', 'today.plural.event_few': 'события', 'today.plural.event_many': 'событий', + 'today.feed': 'Лента', + 'today.suggestionsTab': 'Предложения', + 'today.inProgress': 'В работе', + 'today.captured': 'Захвачено', + 'today.feedEmpty': 'Сегодня событий нет', + 'today.inProgressEmpty': 'Сегодня ничего не изменяли', + 'today.capturedEmpty': 'Сегодня ничего не захвачено', + 'today.feedHint': 'События за сегодня: изменения файлов, заметок, действий и другие события.', + 'today.sortByTime': 'по времени', + 'today.sortByName': 'по имени', + 'today.sortByType': 'по типу', + 'today.sortAsc': 'по возрастанию', + 'today.sortDesc': 'по убыванию', 'journal.title': 'Журнал работы', 'journal.empty': 'Нет записей за выбранный период',