From a69dc845e63b6960e18cdf7f9326fdd5daa4b493 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Thu, 4 Jun 2026 00:37:14 +0800 Subject: [PATCH] fix: vault init on startup; add nil guards to all bindings; fix SA_ONSTACK signal crash; deduplicate settings button; add i18n for vault error --- cmd/verstak-gui/app.go | 10 +++++ cmd/verstak-gui/bindings_actions.go | 12 ++++++ cmd/verstak-gui/bindings_activity.go | 12 ++++++ cmd/verstak-gui/bindings_config.go | 10 +++++ cmd/verstak-gui/bindings_debug.go | 3 ++ cmd/verstak-gui/bindings_files.go | 24 ++++++++++++ cmd/verstak-gui/bindings_nodes.go | 33 ++++++++++++++++ cmd/verstak-gui/bindings_notes.go | 12 ++++++ cmd/verstak-gui/bindings_settings.go | 21 ++++++++++ cmd/verstak-gui/bindings_suggest.go | 9 +++++ cmd/verstak-gui/bindings_sync.go | 21 ++++++++++ cmd/verstak-gui/bindings_worklog.go | 27 +++++++++++++ .../frontend-dist/assets/main-BafVhx43.css | 1 - .../frontend-dist/assets/main-BctNikp7.css | 1 + .../frontend-dist/assets/main-CDRB1gNP.js | 3 ++ .../frontend-dist/assets/main-DS67FqQ2.js | 3 -- .../frontend-dist/assets/main-D_8wOpYY.js | 3 -- .../frontend-dist/assets/main-oJnEtKWF.css | 1 - cmd/verstak-gui/frontend-dist/index.html | 4 +- cmd/verstak-gui/main.go | 3 ++ cmd/verstak-gui/sigfix.go | 38 +++++++++++++++++++ cmd/verstak-gui/vault_check.go | 3 ++ cmd/verstak-gui/vault_migrate.go | 3 ++ frontend/src/App.svelte | 21 +++++----- frontend/src/lib/i18n/locales/en.js | 1 + frontend/src/lib/i18n/locales/ru.js | 1 + 26 files changed, 259 insertions(+), 21 deletions(-) delete mode 100644 cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-BctNikp7.css create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-CDRB1gNP.js delete mode 100644 cmd/verstak-gui/frontend-dist/assets/main-DS67FqQ2.js delete mode 100644 cmd/verstak-gui/frontend-dist/assets/main-D_8wOpYY.js delete mode 100644 cmd/verstak-gui/frontend-dist/assets/main-oJnEtKWF.css create mode 100644 cmd/verstak-gui/sigfix.go diff --git a/cmd/verstak-gui/app.go b/cmd/verstak-gui/app.go index ac0904c..f1ddfe8 100644 --- a/cmd/verstak-gui/app.go +++ b/cmd/verstak-gui/app.go @@ -3,6 +3,7 @@ package main import ( "context" "encoding/json" + "fmt" "log" "path/filepath" "sync" @@ -44,6 +45,15 @@ type App struct { vault string } +// requireVault returns an error if no vault is open and services are not initialized. +// All binding methods that access vault services MUST call this first. +func (a *App) requireVault() error { + if !a.IsReady() { + return fmt.Errorf("vault not open") + } + return nil +} + // startup is called when the app starts. Store context and wire drag-and-drop. func (a *App) startup(ctx context.Context) { a.ctx = ctx diff --git a/cmd/verstak-gui/bindings_actions.go b/cmd/verstak-gui/bindings_actions.go index d1189e3..f9e0dfd 100644 --- a/cmd/verstak-gui/bindings_actions.go +++ b/cmd/verstak-gui/bindings_actions.go @@ -5,6 +5,9 @@ import ( ) func (a *App) ListActions(nodeID string) ([]ActionDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } list, err := a.actions.ListByNode(nodeID) if err != nil { return nil, err @@ -27,6 +30,9 @@ func (a *App) ListActions(nodeID string) ([]ActionDTO, error) { } func (a *App) CreateAction(nodeID, kind, title, data string) (*ActionDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } rec, err := a.actions.Create(nodeID, kind, title, data, "", data, nil, kind == "run_command" || kind == "run_script", false) if err != nil { return nil, err @@ -42,11 +48,17 @@ func (a *App) CreateAction(nodeID, kind, title, data string) (*ActionDTO, error) } func (a *App) DeleteAction(id string) error { + if err := a.requireVault(); err != nil { + return err + } _ = a.sync.RecordOp(syncsvc.EntityAction, id, syncsvc.OpDelete, nil) return a.actions.Delete(id) } func (a *App) RunAction(id string) error { + if err := a.requireVault(); err != nil { + return err + } _, err := a.actions.Run(id) return err } diff --git a/cmd/verstak-gui/bindings_activity.go b/cmd/verstak-gui/bindings_activity.go index 540e7ae..beab05d 100644 --- a/cmd/verstak-gui/bindings_activity.go +++ b/cmd/verstak-gui/bindings_activity.go @@ -25,6 +25,9 @@ func (a *App) ListSystemViews() []SystemViewDTO { } func (a *App) ListTodayView() (*TodayDashboardDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } aeByParent, err := a.activity.ListTodayEventsByParent() if err != nil { aeByParent = nil @@ -144,6 +147,9 @@ func (a *App) ListTodayView() (*TodayDashboardDTO, error) { } func (a *App) ListActivityFeed(limit, offset int) ([]EventDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } events, err := a.activity.ListRecent(limit, offset) if err != nil { return nil, err @@ -156,6 +162,9 @@ func (a *App) ListActivityFeed(limit, offset int) ([]EventDTO, error) { } func (a *App) ListActivityByNode(nodeID string, limit, offset int) ([]EventDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } events, err := a.activity.ListByNode(nodeID, limit, offset) if err != nil { return nil, err @@ -168,6 +177,9 @@ func (a *App) ListActivityByNode(nodeID string, limit, offset int) ([]EventDTO, } func (a *App) CountActivityByNode(nodeID string) (int, error) { + if err := a.requireVault(); err != nil { + return 0, err + } return a.activity.CountByNode(nodeID) } diff --git a/cmd/verstak-gui/bindings_config.go b/cmd/verstak-gui/bindings_config.go index 83d6fa7..5025b11 100644 --- a/cmd/verstak-gui/bindings_config.go +++ b/cmd/verstak-gui/bindings_config.go @@ -78,6 +78,16 @@ func (a *App) GetStartupStatus() (*StartupStatus, error) { }, nil } + // Initialize services so that the vault is ready for use + if err := a.initVault(appCfg.VaultPath); err != nil { + return &StartupStatus{ + Status: "recovery", + VaultPath: appCfg.VaultPath, + DefaultPath: defaultPath, + Error: fmt.Sprintf("init vault: %v", err), + }, nil + } + return &StartupStatus{ Status: "ready", VaultPath: appCfg.VaultPath, diff --git a/cmd/verstak-gui/bindings_debug.go b/cmd/verstak-gui/bindings_debug.go index b0509e8..f462935 100644 --- a/cmd/verstak-gui/bindings_debug.go +++ b/cmd/verstak-gui/bindings_debug.go @@ -10,6 +10,9 @@ import ( // WriteDebugLog appends a line to /.verstak/debug.log. // Called from frontend to log JS-side diagnostics in production GUI builds. func (a *App) WriteDebugLog(msg string) { + if !a.IsReady() { + return + } logPath := filepath.Join(a.vault, ".verstak", "debug.log") line := fmt.Sprintf("[%s] %s\n", time.Now().Format("2006-01-02T15:04:05"), msg) f, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o644) diff --git a/cmd/verstak-gui/bindings_files.go b/cmd/verstak-gui/bindings_files.go index 15fc45c..ea72fa6 100644 --- a/cmd/verstak-gui/bindings_files.go +++ b/cmd/verstak-gui/bindings_files.go @@ -8,6 +8,9 @@ import ( ) func (a *App) ListFiles(nodeID string) ([]FileDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } records, err := a.files.ListByNode(nodeID) if err != nil { return nil, err @@ -30,6 +33,9 @@ func (a *App) ListFiles(nodeID string) ([]FileDTO, error) { } func (a *App) ListItems(nodeID string) ([]FileTreeItemDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } children, err := a.nodes.ListChildren(nodeID, false) if err != nil { return nil, err @@ -61,6 +67,9 @@ func (a *App) ListItems(nodeID string) ([]FileTreeItemDTO, error) { } func (a *App) AddPathCopy(nodeID, sourcePath string) ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } nodes, err := a.files.AddPathCopy(nodeID, sourcePath) if err != nil { return nil, err @@ -73,6 +82,9 @@ func (a *App) AddPathCopy(nodeID, sourcePath string) ([]NodeDTO, error) { } func (a *App) AddPathLink(nodeID, sourcePath string) ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } nodes, err := a.files.AddPathLink(nodeID, sourcePath) if err != nil { return nil, err @@ -85,6 +97,9 @@ func (a *App) AddPathLink(nodeID, sourcePath string) ([]NodeDTO, error) { } func (a *App) DeleteFileOrFolder(nodeID string) error { + if err := a.requireVault(); err != nil { + return err + } n, err := a.nodes.GetActive(nodeID) if err == nil { pid := "" @@ -108,6 +123,9 @@ func (a *App) DeleteFileOrFolder(nodeID string) error { } func (a *App) CreateEmptyFile(parentID, filename string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } node, err := a.files.CreateEmptyFile(parentID, filename) if err != nil { return nil, err @@ -119,6 +137,9 @@ func (a *App) CreateEmptyFile(parentID, filename string) (*NodeDTO, error) { } func (a *App) DuplicateNode(nodeID string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } node, err := a.files.Duplicate(nodeID) if err != nil { return nil, err @@ -139,5 +160,8 @@ func (a *App) ValidateName(name string) error { } func (a *App) PreviewImport(sourcePath string) (*files.ImportSummary, error) { + if err := a.requireVault(); err != nil { + return nil, err + } return a.files.PreviewImport(sourcePath) } diff --git a/cmd/verstak-gui/bindings_nodes.go b/cmd/verstak-gui/bindings_nodes.go index a508d0f..77494f8 100644 --- a/cmd/verstak-gui/bindings_nodes.go +++ b/cmd/verstak-gui/bindings_nodes.go @@ -15,6 +15,9 @@ import ( ) func (a *App) ListWorkspaceTree() ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } list, err := a.nodes.ListRoots(false) if err != nil { return nil, err @@ -31,6 +34,9 @@ func (a *App) ListWorkspaceTree() ([]NodeDTO, error) { } func (a *App) ListWorkspaceChildren(parentID string) ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } list, err := a.nodes.ListChildren(parentID, false) if err != nil { return nil, err @@ -65,6 +71,9 @@ func isContainerType(typ string) bool { } func (a *App) ListChildren(parentID string) ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } list, err := a.nodes.ListChildren(parentID, false) if err != nil { return nil, err @@ -73,6 +82,9 @@ func (a *App) ListChildren(parentID string) ([]NodeDTO, error) { } func (a *App) GetNodeDetail(nodeID string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } n, err := a.nodes.GetActive(nodeID) if err != nil { return nil, err @@ -82,6 +94,9 @@ func (a *App) GetNodeDetail(nodeID string) (*NodeDTO, error) { } func (a *App) GetNodeTitle(nodeID string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } n, err := a.nodes.GetActive(nodeID) if err != nil { return "", err @@ -90,6 +105,9 @@ func (a *App) GetNodeTitle(nodeID string) (string, error) { } func (a *App) CreateNodeFromTemplate(parentID, title, templateID string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } tmpl, ok := a.templates.Get(templateID) if !ok { return nil, fmt.Errorf("template %q not found", templateID) @@ -246,6 +264,9 @@ func (a *App) CreateNodeFromTemplate(parentID, title, templateID string) (*NodeD } func (a *App) DeleteNode(id string) error { + if err := a.requireVault(); err != nil { + return err + } n, err := a.nodes.GetActive(id) if err != nil { return a.nodes.SoftDelete(id) @@ -282,6 +303,9 @@ func (a *App) DeleteNode(id string) error { } func (a *App) RenameNode(nodeID, newTitle string) error { + if err := a.requireVault(); err != nil { + return err + } n, err := a.nodes.GetActive(nodeID) if err != nil { return err @@ -574,6 +598,9 @@ func (a *App) wouldCreateCycle(nodeID, newParentID string) error { } func (a *App) MoveNode(nodeID, newParentID string) error { + if err := a.requireVault(); err != nil { + return err + } if nodeID == "" { return fmt.Errorf("node ID is required") } @@ -918,6 +945,9 @@ type SearchNodeResult struct { } func (a *App) SearchNodes(query string) ([]SearchNodeResult, error) { + if err := a.requireVault(); err != nil { + return nil, err + } nodes, err := a.nodes.Search(query, 20) if err != nil { return nil, err @@ -939,6 +969,9 @@ func (a *App) SearchNodes(query string) ([]SearchNodeResult, error) { } func (a *App) OpenNodeFolder(nodeID string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } n, err := a.nodes.GetActive(nodeID) if err != nil { return "", err diff --git a/cmd/verstak-gui/bindings_notes.go b/cmd/verstak-gui/bindings_notes.go index a8b08c3..ef81a87 100644 --- a/cmd/verstak-gui/bindings_notes.go +++ b/cmd/verstak-gui/bindings_notes.go @@ -9,6 +9,9 @@ import ( ) func (a *App) ListNotes(nodeID string) ([]NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } children, err := a.nodes.ListChildren(nodeID, false) if err != nil { return nil, err @@ -23,6 +26,9 @@ func (a *App) ListNotes(nodeID string) ([]NodeDTO, error) { } func (a *App) CreateNote(parentID, title string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } node, fileRec, err := a.notes.Create(parentID, title, "") if err != nil { return nil, err @@ -34,10 +40,16 @@ func (a *App) CreateNote(parentID, title string) (*NodeDTO, error) { } func (a *App) ReadNote(noteID string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } return a.notes.Read(noteID) } func (a *App) SaveNote(noteID, content string) error { + if err := a.requireVault(); err != nil { + return err + } if err := a.notes.Save(noteID, content); err != nil { return err } diff --git a/cmd/verstak-gui/bindings_settings.go b/cmd/verstak-gui/bindings_settings.go index 04897c6..74cf84b 100644 --- a/cmd/verstak-gui/bindings_settings.go +++ b/cmd/verstak-gui/bindings_settings.go @@ -95,6 +95,9 @@ func (a *App) SetTemplateEnabled(templateID string, enabled bool) error { } func (a *App) ListTemplates() []TemplateDTO { + if !a.IsReady() { + return nil + } templates := a.plugins.Templates() out := make([]TemplateDTO, 0, len(templates)) for _, t := range templates { @@ -109,6 +112,9 @@ func (a *App) ListTemplates() []TemplateDTO { } func (a *App) FromTemplate(parentID, nodeType, title, section, template string) (*NodeDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } var tmpl *plugins.TemplateDefinition for _, t := range a.plugins.Templates() { if t.Name == template { @@ -166,18 +172,30 @@ func (a *App) PickDirectory() (string, error) { } func (a *App) OpenFile(fileID string) error { + if err := a.requireVault(); err != nil { + return err + } return a.files.Open(fileID) } func (a *App) ReadFileText(fileID string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } return a.files.ReadText(fileID) } func (a *App) GetFileBase64(fileID string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } return a.files.ReadBase64(fileID) } func (a *App) OpenFolder(nodeID string) error { + if err := a.requireVault(); err != nil { + return err + } n, err := a.nodes.GetActive(nodeID) if err != nil { return err @@ -214,6 +232,9 @@ func (a *App) OpenVaultFolder() error { } func (a *App) Search(query string) ([]SearchResultDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } if query == "" { return []SearchResultDTO{}, nil } diff --git a/cmd/verstak-gui/bindings_suggest.go b/cmd/verstak-gui/bindings_suggest.go index 4b51e1d..eedd267 100644 --- a/cmd/verstak-gui/bindings_suggest.go +++ b/cmd/verstak-gui/bindings_suggest.go @@ -15,6 +15,9 @@ import ( // GetSuggestions analyzes today's activity and returns conservative suggestions. // Only events not already linked in worklog_entry_events are considered. func (a *App) GetSuggestions() ([]activity.Suggestion, error) { + if err := a.requireVault(); err != nil { + return nil, err + } events, err := a.activity.ListTodayEvents() if err != nil || len(events) == 0 { return nil, err @@ -114,12 +117,18 @@ func (a *App) GetSuggestions() ([]activity.Suggestion, error) { // AcceptSuggestion creates a worklog entry from a suggestion (compatibility wrapper). func (a *App) AcceptSuggestion(nodeID, summary string, minutes int, date string, eventIDsJSON string) (*WorklogDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } return a.AcceptSuggestionWith(nodeID, summary, minutes, date, eventIDsJSON) } // AcceptSuggestionWith creates a worklog entry and links events in a single transaction. // eventIDsJSON is a JSON-serialized string array to avoid Wails v2 []string marshalling issues. func (a *App) AcceptSuggestionWith(nodeID, summary string, minutes int, date string, eventIDsJSON string) (*WorklogDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } d := date if d == "" { d = time.Now().Format("2006-01-02") diff --git a/cmd/verstak-gui/bindings_sync.go b/cmd/verstak-gui/bindings_sync.go index 38993d9..3ed321f 100644 --- a/cmd/verstak-gui/bindings_sync.go +++ b/cmd/verstak-gui/bindings_sync.go @@ -114,6 +114,9 @@ type SyncSettingsDTO struct { } func (a *App) GetSyncSettings() (*SyncSettingsDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } appCfg, _ := config.LoadAppConfig() if appCfg == nil { appCfg = config.DefaultAppConfig() @@ -133,6 +136,9 @@ func (a *App) GetSyncSettings() (*SyncSettingsDTO, error) { } func (a *App) SyncConfigure(serverURL, username, password string) error { + if err := a.requireVault(); err != nil { + return err + } hostname, _ := os.Hostname() if hostname == "" { hostname = "unknown" @@ -165,6 +171,9 @@ func (a *App) SyncConfigure(serverURL, username, password string) error { } func (a *App) SyncDisconnect() error { + if err := a.requireVault(); err != nil { + return err + } deviceToken := config.LoadDeviceToken(a.vault) appCfg, _ := config.LoadAppConfig() if appCfg == nil { @@ -195,6 +204,9 @@ func (a *App) SyncTestConnection(serverURL, username, password string) error { } func (a *App) SyncSetInterval(minutes int) error { + if err := a.requireVault(); err != nil { + return err + } appCfg, _ := config.LoadAppConfig() if appCfg == nil { appCfg = config.DefaultAppConfig() @@ -207,6 +219,9 @@ func (a *App) SyncSetInterval(minutes int) error { } func (a *App) SyncNow() (map[string]interface{}, error) { + if err := a.requireVault(); err != nil { + return nil, err + } serverURL, apiKey, lastPullSeq, _, err := a.sync.GetState() deviceToken := config.LoadDeviceToken(a.vault) if err != nil || serverURL == "" || (apiKey == "" && deviceToken == "") { @@ -316,6 +331,9 @@ func (a *App) updateSyncSuccess(lastSyncAt string) error { // CheckSyncConnection tests the current sync connection. func (a *App) CheckSyncConnection() (bool, string) { + if !a.IsReady() { + return false, "vault not open" + } appCfg, _ := config.LoadAppConfig() if appCfg == nil || !appCfg.Vault.Sync.Enabled { return false, "sync not configured" @@ -338,6 +356,9 @@ func (a *App) CheckSyncConnection() (bool, string) { // ResetSyncKey clears the device token and resets sync state. func (a *App) ResetSyncKey() error { + if err := a.requireVault(); err != nil { + return err + } config.RemoveDeviceToken(a.vault) appCfg, _ := config.LoadAppConfig() if appCfg == nil { diff --git a/cmd/verstak-gui/bindings_worklog.go b/cmd/verstak-gui/bindings_worklog.go index 075988c..8e8a7d6 100644 --- a/cmd/verstak-gui/bindings_worklog.go +++ b/cmd/verstak-gui/bindings_worklog.go @@ -11,6 +11,9 @@ import ( ) func (a *App) ListWorklog(nodeID string) ([]WorklogDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } list, err := a.worklog.ListByNode(nodeID) if err != nil { return nil, err @@ -23,6 +26,9 @@ func (a *App) CreateWorklog(nodeID, summary string, minutes int) (*WorklogDTO, e } func (a *App) CreateWorklogFull(nodeID, summary, details, date string, minutes int, approximate, billable bool) (*WorklogDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } if date == "" { entry, err := a.worklog.Add(nodeID, summary, details, minutes, approximate, billable) if err != nil { @@ -42,6 +48,9 @@ func (a *App) CreateWorklogFull(nodeID, summary, details, date string, minutes i // --- report bindings --- func (a *App) ListWorklogReport(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) ([]worklog.ReportRow, error) { + if err := a.requireVault(); err != nil { + return nil, err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) rows, err := a.worklog.ListReport(f) if err != nil { @@ -52,21 +61,33 @@ func (a *App) ListWorklogReport(dateFrom, dateTo, nodeID string, includeChildren } func (a *App) WorklogReportSummary(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) (*worklog.ReportSummary, error) { + if err := a.requireVault(); err != nil { + return nil, err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) return a.worklog.Summary(f) } func (a *App) ExportWorklogCSV(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) return a.worklog.ExportCSV(f) } func (a *App) ExportWorklogMarkdown(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) return a.worklog.ExportMarkdown(f) } func (a *App) ExportWorklogPDF(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) ([]byte, error) { + if err := a.requireVault(); err != nil { + return nil, err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) return a.worklog.ExportPDF(f) } @@ -97,6 +118,9 @@ func buildWorklogFilter(dateFrom, dateTo, nodeID string, includeChildren bool, b // SaveWorklogReport generates a worklog report and opens a SaveFileDialog. func (a *App) SaveWorklogReport(format, dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) (string, error) { + if err := a.requireVault(); err != nil { + return "", err + } f := buildWorklogFilter(dateFrom, dateTo, nodeID, includeChildren, billableFilter, approxFilter) var data []byte @@ -159,6 +183,9 @@ func (a *App) SaveWorklogReport(format, dateFrom, dateTo, nodeID string, include // GetWorklogEntryEvents returns activity events linked to a worklog entry. func (a *App) GetWorklogEntryEvents(entryID string) ([]EventDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } rows, err := a.db.Query( `SELECT e.id, e.node_id, e.event_type, e.target_type, e.target_id, e.target_path, e.title, COALESCE(e.metadata,''), e.created_at diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css b/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css deleted file mode 100644 index 0ef04db..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css +++ /dev/null @@ -1 +0,0 @@ -.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.svelte-1ufgyr8.svelte-1ufgyr8,.svelte-1ufgyr8.svelte-1ufgyr8:before,.svelte-1ufgyr8.svelte-1ufgyr8:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1ufgyr8.svelte-1ufgyr8{font-size:20px;line-height:1}.brand-name.svelte-1ufgyr8.svelte-1ufgyr8{font-size:16px;font-weight:600}.sidebar-nav.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.nav-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.nav-item.selected.svelte-1ufgyr8.svelte-1ufgyr8{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1ufgyr8.svelte-1ufgyr8{min-height:32px}.workspace-tree-area.drop-valid.svelte-1ufgyr8.svelte-1ufgyr8{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#ccc}.context-menu-backdrop.svelte-1ufgyr8.svelte-1ufgyr8{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b}.context-menu-item.danger.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1ufgyr8.svelte-1ufgyr8{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.version.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;text-align:center}.main.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#c0c0f0;font-family:inherit;font-size:13px;position:relative}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.5;cursor:not-allowed}.sync-badge.svelte-1ufgyr8.svelte-1ufgyr8{background:#6366f1;color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:-6px}.crumb.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1ufgyr8.svelte-1ufgyr8{color:#666}.crumb-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#f44}.tabs.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#a5b4fc}.tab.active.svelte-1ufgyr8.svelte-1ufgyr8{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;overflow-y:auto}.note-editor.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:16px;font-weight:500}.dirty-mark.svelte-1ufgyr8.svelte-1ufgyr8{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1ufgyr8.svelte-1ufgyr8{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{padding:24px}.overview.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1ufgyr8.svelte-1ufgyr8{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.qa-btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.recent-section.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28}.recent-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.recent-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.tab-toolbar.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.create-form.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1ufgyr8 input.svelte-1ufgyr8{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-1ufgyr8 input.svelte-1ufgyr8:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px}.notes-list.svelte-1ufgyr8.svelte-1ufgyr8{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1ufgyr8.svelte-1ufgyr8:hover{border-color:#3a3a5c}.note-card-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.worklog-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.worklog-toolbar.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-1ufgyr8.svelte-1ufgyr8{border-color:#3a3a5c}.suggestion-detail.svelte-1ufgyr8.svelte-1ufgyr8{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-1ufgyr8.svelte-1ufgyr8{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-1ufgyr8.svelte-1ufgyr8:last-child{margin-bottom:0}.suggestion-info.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-1ufgyr8.svelte-1ufgyr8{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-1ufgyr8.svelte-1ufgyr8:hover{text-decoration:underline}.suggestion-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-1ufgyr8.svelte-1ufgyr8{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-1ufgyr8.svelte-1ufgyr8{color:#fbbf24}.suggestion-confidence.medium.svelte-1ufgyr8.svelte-1ufgyr8{color:#60a5fa}.suggestion-confidence.high.svelte-1ufgyr8.svelte-1ufgyr8{color:#34d399}.journal-screen.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.journal-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{margin:0 0 16px}.journal-summary.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-1ufgyr8.svelte-1ufgyr8{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:200px}.summary-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-1ufgyr8 span.svelte-1ufgyr8:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0}.journal-table-wrap.svelte-1ufgyr8.svelte-1ufgyr8{overflow-x:auto}.journal-table.svelte-1ufgyr8.svelte-1ufgyr8{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-1ufgyr8 th.svelte-1ufgyr8{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-1ufgyr8 td.svelte-1ufgyr8{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-1ufgyr8 tr:hover td.svelte-1ufgyr8{background:#1e1e32}.journal-table.svelte-1ufgyr8 .link-btn.svelte-1ufgyr8{color:#a5b4fc}.journal-path-cell.svelte-1ufgyr8.svelte-1ufgyr8{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-1ufgyr8.svelte-1ufgyr8{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-1ufgyr8.svelte-1ufgyr8{text-align:center;color:#a0a0b8}.journal-row.svelte-1ufgyr8.svelte-1ufgyr8{cursor:pointer}.journal-row.svelte-1ufgyr8:hover td.svelte-1ufgyr8{background:#1e1e32}.journal-row.expanded.svelte-1ufgyr8 td.svelte-1ufgyr8{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-1ufgyr8.svelte-1ufgyr8{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-1ufgyr8 td.svelte-1ufgyr8{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px}.journal-detail-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;color:#c0c0d0}.journal-event-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-1ufgyr8.svelte-1ufgyr8{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-1ufgyr8 input[type=text].svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a4a}.journal-search-title.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-weight:500}.journal-search-path.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a4a}.journal-node-clear.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-1ufgyr8.svelte-1ufgyr8{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.link-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{text-decoration:underline}.nav-badge.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{padding:24px}.action-card.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.action-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1ufgyr8 .btn-danger.svelte-1ufgyr8{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1ufgyr8 .btn-danger.svelte-1ufgyr8:hover{background:#3a2222}.empty-state.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;font-size:14px;color:#666}.empty-state.svelte-1ufgyr8 .empty-icon.svelte-1ufgyr8{margin-bottom:12px;color:#444}.empty-state.svelte-1ufgyr8 .hint.svelte-1ufgyr8{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1ufgyr8 .empty-actions.svelte-1ufgyr8{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-1ufgyr8.svelte-1ufgyr8{padding:48px 24px;text-align:center}.welcome.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1ufgyr8 p.svelte-1ufgyr8{color:#666;font-size:14px}.error-text.svelte-1ufgyr8.svelte-1ufgyr8{color:#f88}.modal-overlay.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:18px;margin-bottom:16px}.modal.svelte-1ufgyr8 textarea.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8{width:460px}.form-group.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:12px}.form-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-1ufgyr8 label.svelte-1ufgyr8{display:block}.form-group.svelte-1ufgyr8 .label-text.svelte-1ufgyr8,.form-group.svelte-1ufgyr8 .form-label.svelte-1ufgyr8{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1ufgyr8 input.svelte-1ufgyr8,.form-group.svelte-1ufgyr8 select.svelte-1ufgyr8{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-1ufgyr8 select.svelte-1ufgyr8{-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-1ufgyr8 input.svelte-1ufgyr8:focus,.form-group.svelte-1ufgyr8 select.svelte-1ufgyr8:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.btn-primary.svelte-1ufgyr8.svelte-1ufgyr8{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#4f46e5}.btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1ufgyr8.svelte-1ufgyr8{padding:4px 10px;font-size:12px}.btn-danger.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#3a2222}.files-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:20px}.files-tab.svelte-1ufgyr8 .tab-toolbar.svelte-1ufgyr8{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column}.back-btn.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.summary-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1ufgyr8.svelte-1ufgyr8{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-1ufgyr8.svelte-1ufgyr8:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1ufgyr8.svelte-1ufgyr8{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.template-card-desc.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888}.today-dashboard.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px}.today-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px;color:#666}.today-summary.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1e1e30}.today-case-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.today-case-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px}.today-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#e4e4ef}.today-event-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1}.today-event-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.today-event-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:48px 24px;text-align:center}.today-empty.svelte-1ufgyr8 p.svelte-1ufgyr8{color:#666;font-size:14px;margin:0}.today-empty.svelte-1ufgyr8 .hint.svelte-1ufgyr8{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:24px}.today-timeline.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#e4e4ef}.timeline-dot.svelte-1ufgyr8.svelte-1ufgyr8{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1}.timeline-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.timeline-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.activity-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.activity-events.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:20px}.activity-feed-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px}.activity-feed-events.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0}.activity-feed-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.activity-feed-target.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.sidebar-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:8px 12px;cursor:pointer;width:100%;display:flex;align-items:center;gap:8px;color:#c0c0f0;font-family:inherit;font-size:13px}.sidebar-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.sidebar-sync-label.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;text-align:left}.sync-dot.svelte-1ufgyr8.svelte-1ufgyr8{width:8px;height:8px;border-radius:50%;background:#4a4a4a;flex-shrink:0}.sync-dot.active.svelte-1ufgyr8.svelte-1ufgyr8{background:#4ade80;box-shadow:0 0 6px #4ade8080}.modal-sync.svelte-1ufgyr8.svelte-1ufgyr8{width:460px}.sync-status.svelte-1ufgyr8.svelte-1ufgyr8{background:#13131f;border-radius:8px;padding:12px;margin-bottom:16px}.sync-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.sync-label.svelte-1ufgyr8.svelte-1ufgyr8{color:#666}.sync-value.svelte-1ufgyr8.svelte-1ufgyr8{color:#e4e4ef}.sync-value.mono.svelte-1ufgyr8.svelte-1ufgyr8{font-family:SF Mono,Fira Code,monospace;font-size:12px}.sync-result.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#6366f1;padding:4px 0}.sync-connected-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:16px}.journal-filter-section.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-1ufgyr8 label.svelte-1ufgyr8{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-1ufgyr8 input[type=date].svelte-1ufgyr8{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-1ufgyr8 .checkbox-label.svelte-1ufgyr8{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-1ufgyr8 .checkbox-label input.svelte-1ufgyr8{width:auto}.journal-export-section.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-1ufgyr8.svelte-1ufgyr8{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-1ufgyr8.svelte-1ufgyr8{color:#6366f1;font-size:12px}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-1ufgyr8.svelte-1ufgyr8{border-color:#6366f1}.worklog-entry-head.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-1ufgyr8.svelte-1ufgyr8{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px}.wl-detail-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-1ufgyr8.svelte-1ufgyr8{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-1ufgyr8 input.svelte-1ufgyr8{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BctNikp7.css b/cmd/verstak-gui/frontend-dist/assets/main-BctNikp7.css new file mode 100644 index 0000000..e103617 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-BctNikp7.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-ss7lnu{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-ss7lnu{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-ss7lnu:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-ss7lnu{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-ss7lnu{opacity:.4;cursor:default}.settings-nav-icon.svelte-ss7lnu{font-size:1rem;width:1.4rem;text-align:center;flex-shrink:0}.settings-nav-label.svelte-ss7lnu{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-1pkhf37.svelte-1pkhf37{padding:1.5rem;max-width:600px}.settings-section.svelte-1pkhf37 h2.svelte-1pkhf37{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1pkhf37.svelte-1pkhf37{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1pkhf37.svelte-1pkhf37{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1pkhf37.svelte-1pkhf37{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-1pkhf37.svelte-1pkhf37{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1pkhf37.svelte-1pkhf37:last-child{border-bottom:none}.info-label.svelte-1pkhf37.svelte-1pkhf37{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1pkhf37.svelte-1pkhf37{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1pkhf37.svelte-1pkhf37{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1pkhf37.svelte-1pkhf37{font-size:.8rem}.workspace-actions.svelte-1pkhf37.svelte-1pkhf37{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.no-data.svelte-1pkhf37.svelte-1pkhf37{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-1c6avdh.svelte-1c6avdh{padding:1.5rem;max-width:600px}.settings-section.svelte-1c6avdh h2.svelte-1c6avdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1c6avdh.svelte-1c6avdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1c6avdh.svelte-1c6avdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1c6avdh.svelte-1c6avdh{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1c6avdh.svelte-1c6avdh:last-child{border-bottom:none}.info-label.svelte-1c6avdh.svelte-1c6avdh{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1c6avdh.svelte-1c6avdh{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1c6avdh.svelte-1c6avdh{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1c6avdh.svelte-1c6avdh{color:#ff6b6b}.status-ok.svelte-1c6avdh.svelte-1c6avdh{color:#34d399;font-weight:600}.status-err.svelte-1c6avdh.svelte-1c6avdh{color:#ff6b6b}.sync-actions.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1c6avdh.svelte-1c6avdh{margin-bottom:0}.interval-row.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1c6avdh input.svelte-1c6avdh{width:100px}.sync-setup.svelte-1c6avdh .form-group.svelte-1c6avdh{margin-bottom:1rem}.sync-setup.svelte-1c6avdh .form-group.svelte-1c6avdh:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1c6avdh.svelte-1c6avdh{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1c6avdh.svelte-1c6avdh{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1c6avdh.svelte-1c6avdh{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1c6avdh.svelte-1c6avdh{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-1c6avdh.svelte-1c6avdh{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.modal-overlay.svelte-1c6avdh.svelte-1c6avdh{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-1c6avdh.svelte-1c6avdh{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-1c6avdh h3.svelte-1c6avdh{margin:0 0 .75rem}.modal-desc.svelte-1c6avdh.svelte-1c6avdh{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1c6avdh.svelte-1c6avdh{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-jpp4rd{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-jpp4rd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-jpp4rd{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-jpp4rd{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-jpp4rd{background:#f59e0b}.dot-disabled.svelte-jpp4rd{background:#555}.dot-syncing.svelte-jpp4rd{background:#818cf8;animation:svelte-jpp4rd-pulse 1s infinite}@keyframes svelte-jpp4rd-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-jpp4rd{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-jpp4rd{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-jpp4rd{display:flex;gap:.3rem;margin-left:auto}.btn-xs.svelte-jpp4rd{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-jpp4rd:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-jpp4rd:disabled{opacity:.5;cursor:default}.btn-link.svelte-jpp4rd{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-jpp4rd:hover{color:#a5b4fc;background:transparent}.svelte-1n7o7cr.svelte-1n7o7cr,.svelte-1n7o7cr.svelte-1n7o7cr:before,.svelte-1n7o7cr.svelte-1n7o7cr:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1n7o7cr.svelte-1n7o7cr{font-size:20px;line-height:1}.brand-name.svelte-1n7o7cr.svelte-1n7o7cr{font-size:16px;font-weight:600}.sidebar-nav.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:16px}.nav-label.svelte-1n7o7cr.svelte-1n7o7cr{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#223}.nav-item.selected.svelte-1n7o7cr.svelte-1n7o7cr{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1n7o7cr.svelte-1n7o7cr{min-height:32px}.workspace-tree-area.drop-valid.svelte-1n7o7cr.svelte-1n7o7cr{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1n7o7cr.svelte-1n7o7cr:hover{color:#ccc}.context-menu-backdrop.svelte-1n7o7cr.svelte-1n7o7cr{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1n7o7cr.svelte-1n7o7cr{color:#ff6b6b}.context-menu-item.danger.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1n7o7cr.svelte-1n7o7cr{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;justify-content:space-between}.version.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555;text-align:center}.main.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1n7o7cr.svelte-1n7o7cr{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-1n7o7cr.svelte-1n7o7cr:active{background:#252545;color:#818cf8}.crumb.svelte-1n7o7cr.svelte-1n7o7cr{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1n7o7cr.svelte-1n7o7cr{color:#666}.crumb-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1n7o7cr.svelte-1n7o7cr:hover{color:#f44}.tabs.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1n7o7cr.svelte-1n7o7cr{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1n7o7cr.svelte-1n7o7cr:hover{color:#a5b4fc}.tab.active.svelte-1n7o7cr.svelte-1n7o7cr{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;overflow-y:auto}.note-editor.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1n7o7cr.svelte-1n7o7cr{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1n7o7cr.svelte-1n7o7cr{font-size:16px;font-weight:500}.dirty-mark.svelte-1n7o7cr.svelte-1n7o7cr{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1n7o7cr.svelte-1n7o7cr{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{padding:24px}.overview.svelte-1n7o7cr h2.svelte-1n7o7cr{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1n7o7cr.svelte-1n7o7cr{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1n7o7cr.svelte-1n7o7cr{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1n7o7cr.svelte-1n7o7cr{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#223}.qa-btn.svelte-1n7o7cr.svelte-1n7o7cr:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:24px}.recent-section.svelte-1n7o7cr h3.svelte-1n7o7cr{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#1a1a28}.recent-date.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555}.recent-entry.svelte-1n7o7cr.svelte-1n7o7cr{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px}.tab-toolbar.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:16px}.create-form.svelte-1n7o7cr.svelte-1n7o7cr{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1n7o7cr input.svelte-1n7o7cr{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-1n7o7cr input.svelte-1n7o7cr:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px}.notes-list.svelte-1n7o7cr.svelte-1n7o7cr{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1n7o7cr.svelte-1n7o7cr{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1n7o7cr.svelte-1n7o7cr:hover{border-color:#3a3a5c}.note-card-title.svelte-1n7o7cr.svelte-1n7o7cr{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555}.worklog-tab.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px}.worklog-toolbar.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:16px}.worklog-entry.svelte-1n7o7cr.svelte-1n7o7cr{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-1n7o7cr.svelte-1n7o7cr{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-1n7o7cr.svelte-1n7o7cr{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-1n7o7cr.svelte-1n7o7cr{border-color:#3a3a5c}.suggestion-detail.svelte-1n7o7cr.svelte-1n7o7cr{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-1n7o7cr.svelte-1n7o7cr{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-1n7o7cr.svelte-1n7o7cr{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-1n7o7cr.svelte-1n7o7cr:last-child{margin-bottom:0}.suggestion-info.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-1n7o7cr.svelte-1n7o7cr{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-1n7o7cr.svelte-1n7o7cr:hover{text-decoration:underline}.suggestion-actions.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-1n7o7cr.svelte-1n7o7cr{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-1n7o7cr.svelte-1n7o7cr{color:#fbbf24}.suggestion-confidence.medium.svelte-1n7o7cr.svelte-1n7o7cr{color:#60a5fa}.suggestion-confidence.high.svelte-1n7o7cr.svelte-1n7o7cr{color:#34d399}.journal-screen.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:24px}.journal-header.svelte-1n7o7cr h2.svelte-1n7o7cr{margin:0 0 16px}.journal-summary.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-1n7o7cr.svelte-1n7o7cr{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:200px}.summary-label.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-1n7o7cr span.svelte-1n7o7cr:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-1n7o7cr.svelte-1n7o7cr{color:#8888a0}.journal-table-wrap.svelte-1n7o7cr.svelte-1n7o7cr{overflow-x:auto}.journal-table.svelte-1n7o7cr.svelte-1n7o7cr{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-1n7o7cr th.svelte-1n7o7cr{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-1n7o7cr td.svelte-1n7o7cr{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-1n7o7cr tr:hover td.svelte-1n7o7cr{background:#1e1e32}.journal-table.svelte-1n7o7cr .link-btn.svelte-1n7o7cr{color:#a5b4fc}.journal-path-cell.svelte-1n7o7cr.svelte-1n7o7cr{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-1n7o7cr.svelte-1n7o7cr{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-1n7o7cr.svelte-1n7o7cr{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-1n7o7cr.svelte-1n7o7cr{text-align:center;color:#a0a0b8}.journal-row.svelte-1n7o7cr.svelte-1n7o7cr{cursor:pointer}.journal-row.svelte-1n7o7cr:hover td.svelte-1n7o7cr{background:#1e1e32}.journal-row.expanded.svelte-1n7o7cr td.svelte-1n7o7cr{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-1n7o7cr.svelte-1n7o7cr{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-1n7o7cr td.svelte-1n7o7cr{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-1n7o7cr.svelte-1n7o7cr{font-size:13px}.journal-detail-label.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-1n7o7cr p.svelte-1n7o7cr{margin:0;color:#c0c0d0}.journal-event-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-1n7o7cr.svelte-1n7o7cr{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-1n7o7cr.svelte-1n7o7cr{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-1n7o7cr input[type=text].svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#2a2a4a}.journal-search-title.svelte-1n7o7cr.svelte-1n7o7cr{display:block;font-weight:500}.journal-search-path.svelte-1n7o7cr.svelte-1n7o7cr{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#2a2a4a}.journal-node-clear.svelte-1n7o7cr.svelte-1n7o7cr{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-1n7o7cr.svelte-1n7o7cr{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:24px}.link-btn.svelte-1n7o7cr.svelte-1n7o7cr{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-1n7o7cr.svelte-1n7o7cr:hover{text-decoration:underline}.nav-badge.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{padding:24px}.action-card.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1n7o7cr.svelte-1n7o7cr{font-weight:500}.action-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1n7o7cr .btn-danger.svelte-1n7o7cr{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1n7o7cr .btn-danger.svelte-1n7o7cr:hover{background:#3a2222}.empty-state.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1n7o7cr p.svelte-1n7o7cr{margin:0;font-size:14px;color:#666}.empty-state.svelte-1n7o7cr .empty-icon.svelte-1n7o7cr{margin-bottom:12px;color:#444}.empty-state.svelte-1n7o7cr .hint.svelte-1n7o7cr{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1n7o7cr .empty-actions.svelte-1n7o7cr{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-1n7o7cr.svelte-1n7o7cr{padding:48px 24px;text-align:center}.welcome.svelte-1n7o7cr h2.svelte-1n7o7cr{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1n7o7cr p.svelte-1n7o7cr{color:#666;font-size:14px}.error-text.svelte-1n7o7cr.svelte-1n7o7cr{color:#f88}.modal-overlay.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1n7o7cr h3.svelte-1n7o7cr{font-size:18px;margin-bottom:16px}.modal.svelte-1n7o7cr textarea.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr{width:460px}.form-group.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:12px}.form-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-1n7o7cr label.svelte-1n7o7cr{display:block}.form-group.svelte-1n7o7cr .label-text.svelte-1n7o7cr,.form-group.svelte-1n7o7cr .form-label.svelte-1n7o7cr{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1n7o7cr input.svelte-1n7o7cr,.form-group.svelte-1n7o7cr select.svelte-1n7o7cr{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-1n7o7cr select.svelte-1n7o7cr{-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-1n7o7cr input.svelte-1n7o7cr:focus,.form-group.svelte-1n7o7cr select.svelte-1n7o7cr:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#223}.btn-primary.svelte-1n7o7cr.svelte-1n7o7cr{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#4f46e5}.btn.svelte-1n7o7cr.svelte-1n7o7cr:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1n7o7cr.svelte-1n7o7cr{padding:4px 10px;font-size:12px}.btn-danger.svelte-1n7o7cr.svelte-1n7o7cr{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1n7o7cr.svelte-1n7o7cr: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-1n7o7cr.svelte-1n7o7cr{padding:20px}.files-tab.svelte-1n7o7cr .tab-toolbar.svelte-1n7o7cr{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column}.back-btn.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:16px}.summary-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1n7o7cr.svelte-1n7o7cr{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1n7o7cr.svelte-1n7o7cr{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1n7o7cr.svelte-1n7o7cr{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-1n7o7cr.svelte-1n7o7cr:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1n7o7cr.svelte-1n7o7cr{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1n7o7cr.svelte-1n7o7cr{font-weight:500}.template-card-desc.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#888}.today-dashboard.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-1n7o7cr h2.svelte-1n7o7cr{font-size:24px}.today-date.svelte-1n7o7cr.svelte-1n7o7cr{font-size:13px;color:#666}.today-summary.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-1n7o7cr.svelte-1n7o7cr{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-1n7o7cr.svelte-1n7o7cr{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-1n7o7cr.svelte-1n7o7cr{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#1e1e30}.today-case-title.svelte-1n7o7cr.svelte-1n7o7cr{font-weight:500}.today-case-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 16px}.today-event.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-1n7o7cr.svelte-1n7o7cr:hover{color:#e4e4ef}.today-event-icon.svelte-1n7o7cr.svelte-1n7o7cr{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-1n7o7cr.svelte-1n7o7cr{flex:1}.today-event-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#666}.today-event-time.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-1n7o7cr.svelte-1n7o7cr{padding:48px 24px;text-align:center}.today-empty.svelte-1n7o7cr p.svelte-1n7o7cr{color:#666;font-size:14px;margin:0}.today-empty.svelte-1n7o7cr .hint.svelte-1n7o7cr{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-1n7o7cr.svelte-1n7o7cr{margin-top:24px}.today-timeline.svelte-1n7o7cr h3.svelte-1n7o7cr{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-1n7o7cr.svelte-1n7o7cr:hover{color:#e4e4ef}.timeline-dot.svelte-1n7o7cr.svelte-1n7o7cr{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-1n7o7cr.svelte-1n7o7cr{flex:1}.timeline-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#666}.timeline-time.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555}.activity-tab.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px}.activity-events.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1n7o7cr.svelte-1n7o7cr{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1n7o7cr.svelte-1n7o7cr{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1n7o7cr.svelte-1n7o7cr{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:20px}.activity-feed-header.svelte-1n7o7cr h2.svelte-1n7o7cr{font-size:24px}.activity-feed-events.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1n7o7cr.svelte-1n7o7cr:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1n7o7cr.svelte-1n7o7cr{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:0}.activity-feed-title.svelte-1n7o7cr.svelte-1n7o7cr{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#666}.activity-feed-target.svelte-1n7o7cr.svelte-1n7o7cr{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;color:#555}.journal-filter-section.svelte-1n7o7cr.svelte-1n7o7cr{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-1n7o7cr label.svelte-1n7o7cr{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-1n7o7cr input[type=date].svelte-1n7o7cr{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-1n7o7cr .checkbox-label.svelte-1n7o7cr{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-1n7o7cr .checkbox-label input.svelte-1n7o7cr{width:auto}.journal-export-section.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-1n7o7cr.svelte-1n7o7cr{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-1n7o7cr.svelte-1n7o7cr{color:#6366f1;font-size:12px}.worklog-entry.svelte-1n7o7cr.svelte-1n7o7cr{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-1n7o7cr.svelte-1n7o7cr:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-1n7o7cr.svelte-1n7o7cr{border-color:#6366f1}.worklog-entry-head.svelte-1n7o7cr.svelte-1n7o7cr{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-1n7o7cr.svelte-1n7o7cr{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-1n7o7cr.svelte-1n7o7cr{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-1n7o7cr.svelte-1n7o7cr{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-1n7o7cr.svelte-1n7o7cr{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-1n7o7cr.svelte-1n7o7cr{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-1n7o7cr.svelte-1n7o7cr{font-size:13px}.wl-detail-label.svelte-1n7o7cr.svelte-1n7o7cr{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-1n7o7cr p.svelte-1n7o7cr{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-1n7o7cr.svelte-1n7o7cr{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-1n7o7cr.svelte-1n7o7cr{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-1n7o7cr.svelte-1n7o7cr{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-1n7o7cr input.svelte-1n7o7cr{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-CDRB1gNP.js b/cmd/verstak-gui/frontend-dist/assets/main-CDRB1gNP.js new file mode 100644 index 0000000..76ddd5d --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-CDRB1gNP.js @@ -0,0 +1,3 @@ +var Sa=Object.defineProperty;var ja=(l,e,t)=>e in l?Sa(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var wl=(l,e,t)=>ja(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=t(o);fetch(o.href,i)}})();function ee(){}function pi(l){return l()}function gn(){return Object.create(null)}function ve(l){l.forEach(pi)}function mt(l){return typeof l=="function"}function Qe(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let qt;function $t(l,e){return l===e?!0:(qt||(qt=document.createElement("a")),qt.href=e,l===qt.href)}function Ta(l){return Object.keys(l).length===0}const Dl=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function c(l,e){l.appendChild(e)}function S(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function Le(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Il(l){return function(e){return e.preventDefault(),l.call(this,e)}}function Ye(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function ft(l){return function(e){e.target===this&&l.call(this,e)}}function s(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function el(l){return l===""?null:+l}function Ea(l){return Array.from(l.childNodes)}function K(l,e){e=""+e,l.data!==e&&(l.data=e)}function be(l,e){l.value=e??""}function rt(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function pt(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const i=Na(e,t,{cancelable:n});return o.slice().forEach(r=>{r.call(l,i)}),!i.defaultPrevented}return!0}}function _i(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Mt=[],bn=[];let At=[];const kn=[],Da=Promise.resolve();let Tl=!1;function Ia(){Tl||(Tl=!0,Da.then(vi))}function wt(l){At.push(l)}const Cl=new Set;let Dt=0;function vi(){if(Dt!==0)return;const l=Wt;do{try{for(;Dtl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),At=e}const Zt=new Set;let yt;function lt(){yt={r:0,c:[],p:yt}}function nt(){yt.r||ve(yt.c),yt=yt.p}function ie(l,e){l&&l.i&&(Zt.delete(l),l.i(e))}function de(l,e,t,n){if(l&&l.o){if(Zt.has(l))return;Zt.add(l),yt.c.push(()=>{Zt.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function fe(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function hi(l,e){de(l,1,1,()=>{e.delete(l.key)})}function gi(l,e,t,n,o,i,r,a,u,d,m,h){let _=l.length,b=i.length,k=_;const y={};for(;k--;)y[l[k].key]=k;const C=[],T=new Map,j=new Map,E=[];for(k=b;k--;){const I=h(o,i,k),R=t(I);let z=r.get(R);z?E.push(()=>z.p(I,e)):(z=d(R,I),z.c()),T.set(R,C[k]=z),R in y&&j.set(R,Math.abs(k-y[R]))}const D=new Set,N=new Set;function P(I){ie(I,1),I.m(a,m),r.set(I.key,I),m=I.first,b--}for(;_&&b;){const I=C[b-1],R=l[_-1],z=I.key,V=R.key;I===R?(m=I.first,_--,b--):T.has(V)?!r.has(z)||D.has(z)?P(I):N.has(V)?_--:j.get(z)>j.get(V)?(N.add(z),P(I)):(D.add(V),_--):(u(R,r),_--)}for(;_--;){const I=l[_];T.has(I.key)||u(I,r)}for(;b;)P(C[b-1]);return ve(E),C}function Ke(l){l&&l.c()}function We(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),wt(()=>{const i=l.$$.on_mount.map(pi).filter(mt);l.$$.on_destroy?l.$$.on_destroy.push(...i):ve(i),l.$$.on_mount=[]}),o.forEach(wt)}function Be(l,e){const t=l.$$;t.fragment!==null&&(Aa(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Fa(l,e){l.$$.dirty[0]===-1&&(Mt.push(l),Ia(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const k=b.length?b[0]:_;return d.ctx&&o(d.ctx[h],d.ctx[h]=k)&&(!d.skip_bound&&d.bound[h]&&d.bound[h](k),m&&Fa(l,h)),_}):[],d.update(),m=!0,ve(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const h=Ea(e.target);d.fragment&&d.fragment.l(h),h.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&ie(l.$$.fragment),We(l,e.target,e.anchor),vi()}Vt(u)}class Ze{constructor(){wl(this,"$$");wl(this,"$$set")}$destroy(){Be(this,1),this.$destroy=ee}$on(e,t){if(!mt(t))return ee;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!Ta(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Pa="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Pa);function La(l){let e,t;return{c(){e=X("path"),t=X("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Ra(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17"),s(i,"points","10 9 9 9 8 9")},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),S(r,o,a),S(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(o),w(i))}}}function Oa(l){let e,t;return{c(){e=X("polyline"),t=X("polyline"),s(e,"points","16 18 22 12 16 6"),s(t,"points","8 6 2 12 8 18")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function za(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("rect"),s(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),s(t,"points","7 3 12 8 17 3"),s(n,"x1","3"),s(n,"y1","8"),s(n,"x2","21"),s(n,"y2","8"),s(o,"x","10"),s(o,"y","12"),s(o,"width","4"),s(o,"height","4"),s(o,"rx","1")},m(i,r){S(i,e,r),S(i,t,r),S(i,n,r),S(i,o,r)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Va(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","9"),s(n,"y1","12"),s(n,"x2","15"),s(n,"y2","12"),s(o,"x1","9"),s(o,"y1","15"),s(o,"x2","13"),s(o,"y2","15"),s(i,"x1","12"),s(i,"y1","15"),s(i,"x2","12"),s(i,"y2","18")},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),S(r,o,a),S(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(o),w(i))}}}function Wa(l){let e,t,n,o,i,r;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),r=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(o,"x1","8"),s(o,"y1","16"),s(o,"x2","16"),s(o,"y2","16"),s(i,"x1","8"),s(i,"y1","14"),s(i,"x2","12"),s(i,"y2","14"),s(r,"x1","12"),s(r,"y1","12"),s(r,"x2","12"),s(r,"y2","18")},m(a,u){S(a,e,u),S(a,t,u),S(a,n,u),S(a,o,u),S(a,i,u),S(a,r,u)},d(a){a&&(w(e),w(t),w(n),w(o),w(i),w(r))}}}function Ba(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17")},m(i,r){S(i,e,r),S(i,t,r),S(i,n,r),S(i,o,r)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Ha(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(o,"x1","8"),s(o,"y1","16"),s(o,"x2","16"),s(o,"y2","16"),s(i,"x1","8"),s(i,"y1","14"),s(i,"x2","12"),s(i,"y2","14")},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),S(r,o,a),S(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(o),w(i))}}}function Ua(l){let e,t,n;return{c(){e=X("path"),t=X("circle"),n=X("circle"),s(e,"d","M9 18V5l12-2v13"),s(t,"cx","6"),s(t,"cy","18"),s(t,"r","3"),s(n,"cx","18"),s(n,"cy","16"),s(n,"r","3")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Ka(l){let e,t;return{c(){e=X("rect"),t=X("polyline"),s(e,"x","2"),s(e,"y","4"),s(e,"width","20"),s(e,"height","16"),s(e,"rx","2"),s(t,"points","10 9 16 12 10 15 10 9")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Ga(l){let e,t,n;return{c(){e=X("rect"),t=X("circle"),n=X("polyline"),s(e,"x","3"),s(e,"y","3"),s(e,"width","18"),s(e,"height","18"),s(e,"rx","2"),s(e,"ry","2"),s(t,"cx","8.5"),s(t,"cy","8.5"),s(t,"r","1.5"),s(n,"points","21 15 16 10 5 21")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Ja(l){let e;return{c(){e=X("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function qa(l){let e;function t(i,r){return i[0]==="folder"?Ja:i[0]==="image"?Ga:i[0]==="video"?Ka:i[0]==="audio"?Ua:i[0]==="pdf"?Ha:i[0]==="document"?Ba:i[0]==="spreadsheet"?Wa:i[0]==="presentation"?Va:i[0]==="archive"?za:i[0]==="code"?Oa:i[0]==="text"?Ra:La}let n=t(l),o=n(l);return{c(){e=X("svg"),o.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(i,r){S(i,e,r),o.m(e,null)},p(i,[r]){n!==(n=t(i))&&(o.d(1),o=n(i),o&&(o.c(),o.m(e,null))),r&2&&s(e,"width",i[1]),r&2&&s(e,"height",i[1])},i:ee,o:ee,d(i){i&&w(e),o.d()}}}function Ya(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,o=i.size)},[n,o]}class bi extends Ze{constructor(e){super(),Xe(this,e,Ya,qa,Qe,{kind:0,size:1})}}const Qa={"nav.today":"Сегодня","nav.inbox":"Неразобранное","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":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","error.vaultNotOpen":"Хранилище не открыто","common.open":"Открыть","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":"Синхронизация...","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},Xa={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","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.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","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","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.caseCreated":"Case created","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","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","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","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","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","error.vaultNotOpen":"Vault not open","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","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","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","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"},yn={ru:Qa,en:Xa};let wn="ru";function p(l,e){var o;const t=yn[wn];let n=t==null?void 0:t[l];if(n==null&&wn!=="ru"&&(n=(o=yn.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[i,r]of Object.entries(e))n=n.replace(`{${i}}`,String(r));return n}function xt(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const El={"image/jpeg":p("mime.jpeg"),"image/png":p("mime.png"),"image/gif":p("mime.gif"),"image/webp":p("mime.webp"),"image/svg+xml":p("mime.svg"),"image/bmp":p("mime.bmp"),"image/tiff":p("mime.tiff"),"image/avif":p("mime.avif"),"application/pdf":p("mime.pdf"),"application/msword":p("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":p("mime.word"),"application/vnd.ms-excel":p("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":p("mime.excel"),"application/vnd.ms-powerpoint":p("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":p("mime.ppt"),"application/zip":p("mime.zip"),"application/gzip":p("mime.gzip"),"application/x-tar":p("mime.tar"),"application/x-7z-compressed":p("mime.sevenz"),"application/x-rar-compressed":p("mime.rar"),"text/plain":p("mime.text"),"text/html":p("mime.html"),"text/css":p("mime.css"),"text/javascript":p("mime.js"),"application/json":p("mime.json"),"application/xml":p("mime.xml"),"application/x-yaml":p("mime.yaml"),"application/octet-stream":p("mime.binary"),"application/x-msdos-program":p("mime.executable"),"inode/directory":p("mime.folder")};function Cn(l){return l?El[l]||l:p("mime.unknown")}function Za(l){if(l.type==="folder")return p("mime.folder");const e=(l.mime||"").toLowerCase();if(El[e])return El[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():p("mime.file")}function ki(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const yi=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],wi=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Ci=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Si=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function $a(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(yi.includes(e)||Si.includes(n)||e.includes("pdf")||wi.includes(e)||Ci.includes(n))}function ji(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return yi.includes(e)||Si.includes(n)}function Ti(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return wi.includes(e)||Ci.includes(n)&&n!=="md"&&n!=="markdown"}function Ei(l){return(l.mime||"").toLowerCase().includes("pdf")}function Ni(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function xa(l){return ji(l)||Ei(l)}function eu(l){return Ti(l)||Ni(l)}const{window:tu}=Dl;function lu(l){let e,t,n,o=xt(l[0].size)+"",i;return{c(){e=f("span"),e.textContent="·",t=g(),n=f("span"),i=F(o),s(e,"class","meta-sep svelte-1skuef2")},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),c(n,i)},p(r,a){a[0]&1&&o!==(o=xt(r[0].size)+"")&&K(i,o)},d(r){r&&(w(e),w(t),w(n))}}}function nu(l){let e,t,n,o,i;return{c(){e=f("button"),e.innerHTML='',t=g(),n=f("button"),n.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.openFolder")),s(e,"aria-label",p("file.openFolder")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.showInExplorer")),s(n,"aria-label",p("file.showInExplorer"))},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),o||(i=[M(e,"click",Ye(l[30])),M(n,"click",Ye(l[11]))],o=!0)},p:ee,d(r){r&&(w(e),w(t),w(n)),o=!1,ve(i)}}}function ou(l){let e,t,n,o,i,r,a;return{c(){e=f("button"),e.innerHTML='',t=g(),n=f("button"),n.innerHTML='',o=g(),i=f("button"),i.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.preview")),s(e,"aria-label",p("file.preview")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.openExternal")),s(n,"aria-label",p("file.openExternal")),s(i,"class","action-btn svelte-1skuef2"),s(i,"title",p("file.showInExplorer")),s(i,"aria-label",p("file.showInExplorer"))},m(u,d){S(u,e,d),S(u,t,d),S(u,n,d),S(u,o,d),S(u,i,d),r||(a=[M(e,"click",Ye(l[29])),M(n,"click",Ye(l[10])),M(i,"click",Ye(l[11]))],r=!0)},p:ee,d(u){u&&(w(e),w(t),w(n),w(o),w(i)),r=!1,ve(a)}}}function Sn(l){let e,t,n,o,i,r,a,u,d=p("common.open")+"",m,h,_,b,k,y,C,T,j=p("file.openExternal")+"",E,D,N,P,I,R,z=p("file.showInExplorer")+"",V,U,q,J,G,B,H,A,O,Q=p("common.rename")+"",W,se,ae,x,le,te,re,pe=p("common.duplicate")+"",ye,He,Ae,Y,$,ue,he,Ce,De,Ue=p("common.cut")+"",Ge,qe,Je,Fe,Pe,ke,ze,Ne=p("common.copy")+"",Oe,Se,we,Ie,je,Te,Ve,_e,ce,Z=p("common.delete")+"",Ee,et,at;return{c(){e=f("div"),t=g(),n=f("div"),o=f("button"),i=X("svg"),r=X("path"),a=X("circle"),u=g(),m=F(d),h=g(),_=f("button"),b=X("svg"),k=X("path"),y=X("polyline"),C=X("line"),T=g(),E=F(j),D=g(),N=f("button"),P=X("svg"),I=X("path"),R=g(),V=F(z),U=g(),q=f("div"),J=g(),G=f("button"),B=X("svg"),H=X("path"),A=X("path"),O=g(),W=F(Q),se=g(),ae=f("button"),x=X("svg"),le=X("rect"),te=X("path"),re=g(),ye=F(pe),He=g(),Ae=f("button"),Y=X("svg"),$=X("circle"),ue=X("circle"),he=X("line"),Ce=X("line"),De=g(),Ge=F(Ue),qe=g(),Je=f("button"),Fe=X("svg"),Pe=X("rect"),ke=X("path"),ze=g(),Oe=F(Ne),Se=g(),we=f("div"),Ie=g(),je=f("button"),Te=X("svg"),Ve=X("polyline"),_e=X("path"),ce=g(),Ee=F(Z),s(e,"class","menu-backdrop svelte-1skuef2"),s(e,"role","presentation"),s(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),s(a,"cx","12"),s(a,"cy","12"),s(a,"r","3"),s(i,"width","14"),s(i,"height","14"),s(i,"viewBox","0 0 24 24"),s(i,"fill","none"),s(i,"stroke","currentColor"),s(i,"stroke-width","2"),s(i,"stroke-linecap","round"),s(i,"stroke-linejoin","round"),s(o,"class","menu-item svelte-1skuef2"),s(o,"role","menuitem"),s(k,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),s(y,"points","15 3 21 3 21 9"),s(C,"x1","10"),s(C,"y1","14"),s(C,"x2","21"),s(C,"y2","3"),s(b,"width","14"),s(b,"height","14"),s(b,"viewBox","0 0 24 24"),s(b,"fill","none"),s(b,"stroke","currentColor"),s(b,"stroke-width","2"),s(b,"stroke-linecap","round"),s(b,"stroke-linejoin","round"),s(_,"class","menu-item svelte-1skuef2"),s(_,"role","menuitem"),s(I,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),s(P,"width","14"),s(P,"height","14"),s(P,"viewBox","0 0 24 24"),s(P,"fill","none"),s(P,"stroke","currentColor"),s(P,"stroke-width","2"),s(P,"stroke-linecap","round"),s(P,"stroke-linejoin","round"),s(N,"class","menu-item svelte-1skuef2"),s(N,"role","menuitem"),s(q,"class","menu-sep svelte-1skuef2"),s(H,"d","M12 20h9"),s(A,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(B,"width","14"),s(B,"height","14"),s(B,"viewBox","0 0 24 24"),s(B,"fill","none"),s(B,"stroke","currentColor"),s(B,"stroke-width","2"),s(B,"stroke-linecap","round"),s(B,"stroke-linejoin","round"),s(G,"class","menu-item svelte-1skuef2"),s(G,"role","menuitem"),s(le,"x","9"),s(le,"y","9"),s(le,"width","13"),s(le,"height","13"),s(le,"rx","2"),s(le,"ry","2"),s(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(x,"width","14"),s(x,"height","14"),s(x,"viewBox","0 0 24 24"),s(x,"fill","none"),s(x,"stroke","currentColor"),s(x,"stroke-width","2"),s(x,"stroke-linecap","round"),s(x,"stroke-linejoin","round"),s(ae,"class","menu-item svelte-1skuef2"),s(ae,"role","menuitem"),s($,"cx","6"),s($,"cy","6"),s($,"r","3"),s(ue,"cx","6"),s(ue,"cy","18"),s(ue,"r","3"),s(he,"x1","20"),s(he,"y1","4"),s(he,"x2","8.12"),s(he,"y2","15.88"),s(Ce,"x1","8.12"),s(Ce,"y1","8.12"),s(Ce,"x2","20"),s(Ce,"y2","20"),s(Y,"width","14"),s(Y,"height","14"),s(Y,"viewBox","0 0 24 24"),s(Y,"fill","none"),s(Y,"stroke","currentColor"),s(Y,"stroke-width","2"),s(Y,"stroke-linecap","round"),s(Y,"stroke-linejoin","round"),s(Ae,"class","menu-item svelte-1skuef2"),s(Ae,"role","menuitem"),s(Pe,"x","9"),s(Pe,"y","9"),s(Pe,"width","13"),s(Pe,"height","13"),s(Pe,"rx","2"),s(Pe,"ry","2"),s(ke,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(Fe,"width","14"),s(Fe,"height","14"),s(Fe,"viewBox","0 0 24 24"),s(Fe,"fill","none"),s(Fe,"stroke","currentColor"),s(Fe,"stroke-width","2"),s(Fe,"stroke-linecap","round"),s(Fe,"stroke-linejoin","round"),s(Je,"class","menu-item svelte-1skuef2"),s(Je,"role","menuitem"),s(we,"class","menu-sep svelte-1skuef2"),s(Ve,"points","3 6 5 6 21 6"),s(_e,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),s(Te,"width","14"),s(Te,"height","14"),s(Te,"viewBox","0 0 24 24"),s(Te,"fill","none"),s(Te,"stroke","currentColor"),s(Te,"stroke-width","2"),s(Te,"stroke-linecap","round"),s(Te,"stroke-linejoin","round"),s(je,"class","menu-item menu-item-danger svelte-1skuef2"),s(je,"role","menuitem"),s(n,"class","menu svelte-1skuef2"),rt(n,"left",l[3]+"px"),rt(n,"top",l[4]+"px"),rt(n,"position","fixed"),s(n,"role","menu"),s(n,"tabindex","-1")},m(ot,Re){S(ot,e,Re),S(ot,t,Re),S(ot,n,Re),c(n,o),c(o,i),c(i,r),c(i,a),c(o,u),c(o,m),c(n,h),c(n,_),c(_,b),c(b,k),c(b,y),c(b,C),c(_,T),c(_,E),c(n,D),c(n,N),c(N,P),c(P,I),c(N,R),c(N,V),c(n,U),c(n,q),c(n,J),c(n,G),c(G,B),c(B,H),c(B,A),c(G,O),c(G,W),c(n,se),c(n,ae),c(ae,x),c(x,le),c(x,te),c(ae,re),c(ae,ye),c(n,He),c(n,Ae),c(Ae,Y),c(Y,$),c(Y,ue),c(Y,he),c(Y,Ce),c(Ae,De),c(Ae,Ge),c(n,qe),c(n,Je),c(Je,Fe),c(Fe,Pe),c(Fe,ke),c(Je,ze),c(Je,Oe),c(n,Se),c(n,we),c(n,Ie),c(n,je),c(je,Te),c(Te,Ve),c(Te,_e),c(je,ce),c(je,Ee),et||(at=[M(e,"click",Ye(l[19])),M(o,"click",l[17]),M(_,"click",l[10]),M(N,"click",l[11]),M(G,"click",l[13]),M(ae,"click",l[14]),M(Ae,"click",l[15]),M(Je,"click",l[16]),M(je,"click",l[12]),M(n,"click",Ye(l[28])),M(n,"keydown",l[31])],et=!0)},p(ot,Re){Re[0]&8&&rt(n,"left",ot[3]+"px"),Re[0]&16&&rt(n,"top",ot[4]+"px")},d(ot){ot&&(w(e),w(t),w(n)),et=!1,ve(at)}}}function su(l){let e,t,n,o,i,r,a=l[0].name+"",u,d,m,h,_,b,k,y,C,T,j,E,D,N,P,I,R,z,V,U,q,J;n=new bi({props:{kind:l[6],size:22}});let G=!l[7]&&lu(l);function B(Q,W){return Q[7]?nu:ou}let A=B(l)(l),O=l[2]&&Sn(l);return{c(){e=f("div"),t=f("div"),Ke(n.$$.fragment),o=g(),i=f("div"),r=f("div"),u=F(a),m=g(),h=f("div"),_=f("span"),_.textContent=`${l[8]}`,b=g(),G&&G.c(),k=g(),y=f("div"),A.c(),C=g(),T=f("button"),j=X("svg"),E=X("circle"),D=X("circle"),N=X("circle"),P=g(),I=f("button"),I.innerHTML='',z=g(),O&&O.c(),V=st(),s(t,"class","file-row-icon svelte-1skuef2"),s(r,"class","file-row-name svelte-1skuef2"),s(r,"title",d=l[0].name),s(h,"class","file-row-meta svelte-1skuef2"),s(i,"class","file-row-body svelte-1skuef2"),s(E,"cx","12"),s(E,"cy","5"),s(E,"r","2"),s(D,"cx","12"),s(D,"cy","12"),s(D,"r","2"),s(N,"cx","12"),s(N,"cy","19"),s(N,"r","2"),s(j,"width","16"),s(j,"height","16"),s(j,"viewBox","0 0 24 24"),s(j,"fill","currentColor"),s(T,"class","action-btn svelte-1skuef2"),s(T,"title",p("file.more")),s(T,"aria-label",p("file.more")),s(T,"aria-expanded",l[2]),s(I,"class","action-btn action-btn-danger svelte-1skuef2"),s(I,"title",p("common.delete")),s(I,"aria-label",p("common.delete")),s(y,"class","file-row-actions svelte-1skuef2"),s(e,"class","file-row svelte-1skuef2"),s(e,"role","button"),s(e,"tabindex","0"),s(e,"draggable","true"),s(e,"aria-label",R=l[7]?p("file.ariaFolder")+" "+l[0].name:p("file.ariaFile")+" "+l[0].name),ge(e,"file-row--selected",l[1])},m(Q,W){S(Q,e,W),c(e,t),We(n,t,null),c(e,o),c(e,i),c(i,r),c(r,u),c(i,m),c(i,h),c(h,_),c(h,b),G&&G.m(h,null),c(e,k),c(e,y),A.m(y,null),c(y,C),c(y,T),c(T,j),c(j,E),c(j,D),c(j,N),c(y,P),c(y,I),S(Q,z,W),O&&O.m(Q,W),S(Q,V,W),U=!0,q||(J=[M(tu,"click",l[19]),M(T,"click",Ye(l[18])),M(I,"click",Ye(l[12])),M(e,"click",l[9]),M(e,"keydown",l[24]),M(e,"contextmenu",l[23]),M(e,"dragstart",l[20]),M(e,"dragover",l[21]),M(e,"drop",l[22])],q=!0)},p(Q,W){(!U||W[0]&1)&&a!==(a=Q[0].name+"")&&K(u,a),(!U||W[0]&1&&d!==(d=Q[0].name))&&s(r,"title",d),Q[7]||G.p(Q,W),A.p(Q,W),(!U||W[0]&4)&&s(T,"aria-expanded",Q[2]),(!U||W[0]&1&&R!==(R=Q[7]?p("file.ariaFolder")+" "+Q[0].name:p("file.ariaFile")+" "+Q[0].name))&&s(e,"aria-label",R),(!U||W[0]&2)&&ge(e,"file-row--selected",Q[1]),Q[2]?O?O.p(Q,W):(O=Sn(Q),O.c(),O.m(V.parentNode,V)):O&&(O.d(1),O=null)},i(Q){U||(ie(n.$$.fragment,Q),U=!0)},o(Q){de(n.$$.fragment,Q),U=!1},d(Q){Q&&(w(e),w(z),w(V)),Be(n),G&&G.d(),A.d(),O&&O.d(Q),q=!1,ve(J)}}}function iu(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:i}=e,{onDragOver:r}=e,{onDrop:a}=e;const u=tl(),d=ki(n),m=n.type==="folder",h=Za(n);let _=!1,b=0,k=0,y=null;function C(W){W.ctrlKey||W.metaKey?u("toggleSelect",n.id):W.shiftKey?u("rangeSelect",n.id):y?(clearTimeout(y),y=null,m?u("navigate",n.id):u("preview",n)):y=setTimeout(()=>{y=null,u("selectOne",n.id)},250)}function T(){u("openExternal",n.fileId)}function j(){t(2,_=!1),u("showInFolder",n.nodeId||n.id)}function E(){t(2,_=!1),u("delete",{id:n.id,type:n.type})}function D(){t(2,_=!1),u("rename",{id:n.id,name:n.name})}function N(){t(2,_=!1),u("duplicate",n.id)}function P(){t(2,_=!1),u("cut",n.id)}function I(){t(2,_=!1),u("copy",n.id)}function R(){t(2,_=!1),m?u("navigate",n.id):u("preview",n)}function z(){t(2,_=!_)}function V(){t(2,_=!1)}function U(W){i&&i(W,n.id)}function q(W){r&&m&&r(W,n.id)}function J(W){a&&m&&a(W,n.id)}function G(W){W.preventDefault(),t(3,b=Math.min(W.clientX,window.innerWidth-240)),t(4,k=Math.min(W.clientY,window.innerHeight-320)),t(2,_=!0)}function B(W){(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),C(W))}function H(W){_i.call(this,l,W)}const A=()=>u("preview",n),O=()=>u("navigate",n.id),Q=W=>{W.key==="Escape"&&(W.stopPropagation(),V())};return l.$$set=W=>{"item"in W&&t(0,n=W.item),"selected"in W&&t(1,o=W.selected),"onDragStart"in W&&t(25,i=W.onDragStart),"onDragOver"in W&&t(26,r=W.onDragOver),"onDrop"in W&&t(27,a=W.onDrop)},[n,o,_,b,k,u,d,m,h,C,T,j,E,D,N,P,I,R,z,V,U,q,J,G,B,i,r,a,H,A,O,Q]}class ru extends Ze{constructor(e){super(),Xe(this,e,iu,su,Qe,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function jn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function cu(l){let e;return{c(){e=f("span"),e.textContent="/",s(e,"class","sep svelte-csi2lb")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function au(l){let e,t=l[4].name+"",n,o,i;function r(){return l[2](l[6])}return{c(){e=f("button"),n=F(t),s(e,"class","crumb crumb--link svelte-csi2lb")},m(a,u){S(a,e,u),c(e,n),o||(i=M(e,"click",r),o=!0)},p(a,u){l=a,u&1&&t!==(t=l[4].name+"")&&K(n,t)},d(a){a&&w(e),o=!1,i()}}}function uu(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=F(t),s(e,"class","crumb crumb--current svelte-csi2lb")},m(o,i){S(o,e,i),c(e,n)},p(o,i){i&1&&t!==(t=o[4].name+"")&&K(n,t)},d(o){o&&w(e)}}}function Tn(l){let e,t,n=l[6]>0&&cu();function o(a,u){return a[6]===a[0].length-1?uu:au}let i=o(l),r=i(l);return{c(){n&&n.c(),e=g(),r.c(),t=st()},m(a,u){n&&n.m(a,u),S(a,e,u),r.m(a,u),S(a,t,u)},p(a,u){i===(i=o(a))&&r?r.p(a,u):(r.d(1),r=i(a),r&&(r.c(),r.m(t.parentNode,t)))},d(a){a&&(w(e),w(t)),n&&n.d(a),r.d(a)}}}function fu(l){let e,t=fe(l[0]),n=[];for(let o=0;oi(a);return l.$$set=a=>{"crumbs"in a&&t(0,n=a.crumbs)},[n,i,r]}class Di extends Ze{constructor(e){super(),Xe(this,e,du,fu,Qe,{crumbs:0})}}function pu(l){let e,t,n,o,i,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.previewUnavailable")}`,n=g(),o=f("button"),o.textContent=`${p("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),i||(r=M(o,"click",l[9]),i=!0)},p:ee,d(a){a&&w(e),i=!1,r()}}}function mu(l){let e,t;function n(r,a){return a&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?ku:bu}let o=n(l,-1),i=o(l);return{c(){i.c(),t=st()},m(r,a){i.m(r,a),S(r,t,a)},p(r,a){o===(o=n(r,a))&&i?i.p(r,a):(i.d(1),i=o(r),i&&(i.c(),i.m(t.parentNode,t)))},d(r){r&&w(t),i.d(r)}}}function _u(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=F(l[1]),s(e,"class","preview-text svelte-1cw3u0m")},m(o,i){S(o,e,i),c(e,t),c(t,n)},p(o,i){i&2&&K(n,o[1])},d(o){o&&w(e)}}}function vu(l){let e,t,n,o;return{c(){e=f("div"),t=f("img"),$t(t.src,n=l[1])||s(t,"src",n),s(t,"alt",o=l[0].name),s(t,"class","preview-image svelte-1cw3u0m"),s(e,"class","preview-image-container svelte-1cw3u0m")},m(i,r){S(i,e,r),c(e,t)},p(i,r){r&2&&!$t(t.src,n=i[1])&&s(t,"src",n),r&1&&o!==(o=i[0].name)&&s(t,"alt",o)},d(i){i&&w(e)}}}function hu(l){let e,t,n,o,i,r,a;return{c(){e=f("div"),t=f("p"),n=F(l[3]),o=g(),i=f("button"),i.textContent=`${p("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(u,d){S(u,e,d),c(e,t),c(t,n),c(e,o),c(e,i),r||(a=M(i,"click",l[9]),r=!0)},p(u,d){d&8&&K(n,u[3])},d(u){u&&w(e),r=!1,a()}}}function gu(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,s(e,"class","preview-status svelte-1cw3u0m")},m(n,o){S(n,e,o),c(e,t)},p:ee,d(n){n&&w(e)}}}function bu(l){let e,t,n,o,i,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.pdfUnavailable")}`,n=g(),o=f("button"),o.textContent=`${p("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),i||(r=M(o,"click",l[9]),i=!0)},p:ee,d(a){a&&w(e),i=!1,r()}}}function ku(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),$t(t.src,n=l[1])||s(t,"src",n),s(t,"type","application/pdf"),s(t,"class","preview-pdf svelte-1cw3u0m"),s(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,i){S(o,e,i),c(e,t)},p(o,i){i&2&&!$t(t.src,n=o[1])&&s(t,"src",n)},d(o){o&&w(e)}}}function yu(l){let e,t,n,o,i,r,a,u=l[0].name+"",d,m,h,_,b=xt(l[0].size)+"",k,y,C=Cn(l[0].mime)+"",T,j,E,D,N,P,I,R,z,V,U;i=new bi({props:{kind:l[8],size:18}});function q(B,H){return B[2]?gu:B[3]?hu:B[6]&&B[1]?vu:B[5]&&B[1]?_u:B[4]?mu:pu}let J=q(l),G=J(l);return{c(){e=f("div"),t=f("div"),n=f("header"),o=f("div"),Ke(i.$$.fragment),r=g(),a=f("span"),d=F(u),h=g(),_=f("div"),k=F(b),y=F(" · "),T=F(C),j=g(),E=f("div"),D=f("button"),D.innerHTML='',N=g(),P=f("button"),P.innerHTML='',I=g(),R=f("div"),G.c(),s(a,"class","preview-name svelte-1cw3u0m"),s(a,"title",m=l[0].name),s(o,"class","preview-title svelte-1cw3u0m"),s(_,"class","preview-meta svelte-1cw3u0m"),s(D,"class","action-btn svelte-1cw3u0m"),s(D,"title",p("file.openExternal")),s(D,"aria-label",p("file.openExternal")),s(P,"class","action-btn action-btn-close svelte-1cw3u0m"),s(P,"title","Close"),s(P,"aria-label","Close preview"),s(E,"class","preview-actions svelte-1cw3u0m"),s(n,"class","preview-header svelte-1cw3u0m"),s(R,"class","preview-body svelte-1cw3u0m"),s(t,"class","modal svelte-1cw3u0m"),s(e,"class","overlay svelte-1cw3u0m"),s(e,"role","presentation")},m(B,H){S(B,e,H),c(e,t),c(t,n),c(n,o),We(i,o,null),c(o,r),c(o,a),c(a,d),c(n,h),c(n,_),c(_,k),c(_,y),c(_,T),c(n,j),c(n,E),c(E,D),c(E,N),c(E,P),c(t,I),c(t,R),G.m(R,null),z=!0,V||(U=[M(D,"click",l[9]),M(P,"click",l[10]),M(e,"click",ft(l[11])),M(e,"keydown",l[12])],V=!0)},p(B,[H]){(!z||H&1)&&u!==(u=B[0].name+"")&&K(d,u),(!z||H&1&&m!==(m=B[0].name))&&s(a,"title",m),(!z||H&1)&&b!==(b=xt(B[0].size)+"")&&K(k,b),(!z||H&1)&&C!==(C=Cn(B[0].mime)+"")&&K(T,C),J===(J=q(B))&&G?G.p(B,H):(G.d(1),G=J(B),G&&(G.c(),G.m(R,null)))},i(B){z||(ie(i.$$.fragment,B),z=!0)},o(B){de(i.$$.fragment,B),z=!1},d(B){B&&w(e),Be(i),G.d(),V=!1,ve(U)}}}function wu(l,e,t){let n,o,i,{item:r}=e,{content:a=""}=e,{loading:u=!1}=e,{error:d=""}=e;const m=tl(),h=ki(r);function _(T){T.key==="Escape"&&m("close")}function b(){m("openExternal",r.fileId)}mi(()=>{window.addEventListener("keydown",_)}),Al(()=>{window.removeEventListener("keydown",_)});const k=()=>m("close"),y=()=>m("close"),C=T=>{T.key==="Escape"&&(T.preventDefault(),m("close"))};return l.$$set=T=>{"item"in T&&t(0,r=T.item),"content"in T&&t(1,a=T.content),"loading"in T&&t(2,u=T.loading),"error"in T&&t(3,d=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=ji(r)&&a&&a.startsWith("data:")),l.$$.dirty&1&&t(5,o=Ti(r)||Ni(r)),l.$$.dirty&1&&t(4,i=Ei(r))},[r,a,u,d,i,o,n,m,h,b,k,y,C]}class Cu extends Ze{constructor(e){super(),Xe(this,e,wu,yu,Qe,{item:0,content:1,loading:2,error:3})}}function Su(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T;return{c(){e=f("div"),t=f("div"),n=f("h3"),o=F(l[0]),i=g(),r=f("p"),a=F(l[1]),u=g(),d=f("div"),m=f("button"),h=F(l[2]),b=g(),k=f("button"),y=F(l[3]),s(n,"class","svelte-1fv6yyk"),s(r,"class","message svelte-1fv6yyk"),s(m,"class",_="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),s(k,"class","btn svelte-1fv6yyk"),s(d,"class","actions svelte-1fv6yyk"),s(t,"class","modal svelte-1fv6yyk"),s(e,"class","overlay svelte-1fv6yyk"),s(e,"role","presentation")},m(j,E){S(j,e,E),c(e,t),c(t,n),c(n,o),c(t,i),c(t,r),c(r,a),c(t,u),c(t,d),c(d,m),c(m,h),c(d,b),c(d,k),c(k,y),C||(T=[M(m,"click",l[6]),M(k,"click",l[7]),M(e,"click",ft(l[8])),M(e,"keydown",l[9])],C=!0)},p(j,[E]){E&1&&K(o,j[0]),E&2&&K(a,j[1]),E&4&&K(h,j[2]),E&16&&_!==(_="btn "+(j[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&s(m,"class",_),E&8&&K(y,j[3])},i:ee,o:ee,d(j){j&&w(e),C=!1,ve(T)}}}function ju(l,e,t){let{title:n=p("common.confirm")}=e,{message:o=""}=e,{confirmText:i=p("common.delete")}=e,{cancelText:r=p("common.cancel")}=e,{danger:a=!1}=e;const u=tl(),d=()=>u("confirm"),m=()=>u("cancel"),h=()=>u("cancel"),_=b=>{b.key==="Escape"&&(b.preventDefault(),u("cancel"))};return l.$$set=b=>{"title"in b&&t(0,n=b.title),"message"in b&&t(1,o=b.message),"confirmText"in b&&t(2,i=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,a=b.danger)},[n,o,i,r,a,u,d,m,h,_]}class Tu extends Ze{constructor(e){super(),Xe(this,e,ju,Su,Qe,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Eu(l){let e,t,n;return{c(){e=X("circle"),t=X("line"),n=X("line"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","10"),s(t,"x1","12"),s(t,"y1","16"),s(t,"x2","12"),s(t,"y2","12"),s(n,"x1","12"),s(n,"y1","8"),s(n,"x2","12.01"),s(n,"y2","8")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Nu(l){let e,t,n,o;return{c(){e=X("rect"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"x","3"),s(e,"y","5"),s(e,"width","18"),s(e,"height","14"),s(e,"rx","2"),s(t,"points","3 10 21 10"),s(n,"x1","8"),s(n,"y1","5"),s(n,"x2","8"),s(n,"y2","19"),s(o,"x1","16"),s(o,"y1","5"),s(o,"x2","16"),s(o,"y2","19")},m(i,r){S(i,e,r),S(i,t,r),S(i,n,r),S(i,o,r)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Du(l){let e,t;return{c(){e=X("path"),t=X("polyline"),s(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),s(t,"points","13 2 13 9 20 9")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Iu(l){let e,t;return{c(){e=X("path"),t=X("path"),s(e,"d","M12 20h9"),s(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Mu(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("path"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),s(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),s(n,"x1","8"),s(n,"y1","7"),s(n,"x2","16"),s(n,"y2","7"),s(o,"x1","8"),s(o,"y1","11"),s(o,"x2","14"),s(o,"y2","11"),s(i,"x1","8"),s(i,"y1","15"),s(i,"x2","12"),s(i,"y2","15")},m(r,a){S(r,e,a),S(r,t,a),S(r,n,a),S(r,o,a),S(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(o),w(i))}}}function Au(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17")},m(i,r){S(i,e,r),S(i,t,r),S(i,n,r),S(i,o,r)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Fu(l){let e,t;return{c(){e=X("path"),t=X("circle"),s(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),s(t,"cx","12"),s(t,"cy","7"),s(t,"r","4")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Pu(l){let e,t,n,o;return{c(){e=X("rect"),t=X("rect"),n=X("rect"),o=X("rect"),s(e,"x","3"),s(e,"y","3"),s(e,"width","7"),s(e,"height","7"),s(e,"rx","1"),s(t,"x","14"),s(t,"y","3"),s(t,"width","7"),s(t,"height","4"),s(t,"rx","1"),s(n,"x","14"),s(n,"y","10"),s(n,"width","7"),s(n,"height","11"),s(n,"rx","1"),s(o,"x","3"),s(o,"y","14"),s(o,"width","7"),s(o,"height","7"),s(o,"rx","1")},m(i,r){S(i,e,r),S(i,t,r),S(i,n,r),S(i,o,r)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Lu(l){let e;return{c(){e=X("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Ru(l){let e;function t(i,r){return i[0]==="folder"?Lu:i[0]==="project"?Pu:i[0]==="client"?Fu:i[0]==="document"?Au:i[0]==="recipe"?Mu:i[0]==="note"?Iu:i[0]==="file"?Du:i[0]==="case"?Nu:Eu}let n=t(l),o=n(l);return{c(){e=X("svg"),o.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(i,r){S(i,e,r),o.m(e,null)},p(i,[r]){n!==(n=t(i))&&(o.d(1),o=n(i),o&&(o.c(),o.m(e,null))),r&2&&s(e,"width",i[1]),r&2&&s(e,"height",i[1])},i:ee,o:ee,d(i){i&&w(e),o.d()}}}function Ou(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,o=i.size)},[n,o]}class ll extends Ze{constructor(e){super(),Xe(this,e,Ou,Ru,Qe,{kind:0,size:1})}}function En(l,e,t){const n=l.slice();return n[44]=e[t],n}function zu(l){let e;return{c(){e=f("span"),s(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){S(t,e,n)},p:ee,d(t){t&&w(e)}}}function Vu(l){let e,t,n=l[1][l[44].id]?"▾":"▸",o,i,r;function a(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),o=F(n),s(t,"class","tree-arrow"),s(e,"class","tree-toggle svelte-zj71cl")},m(u,d){S(u,e,d),c(e,t),c(t,o),i||(r=M(e,"click",Ye(a)),i=!0)},p(u,d){l=u,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&K(o,n)},d(u){u&&w(e),i=!1,r()}}}function Nn(l){let e,t;return e=new Ii({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o[0]&1&&(i.nodes=n[44].children||[]),o[0]&2&&(i.expanded=n[1]),o[0]&4&&(i.selectedNodeId=n[2]),o[0]&8&&(i.level=n[3]+1),o[0]&16&&(i.onSelect=n[4]),o[0]&32&&(i.onToggle=n[5]),o[0]&64&&(i.onContextMenu=n[6]),o[0]&128&&(i.onDrop=n[7]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Dn(l,e){let t,n,o,i,r,a,u,d=e[44].title+"",m,h,_=e[1][e[44].id]&&Nl(e[44]),b,k,y,C;function T(A,O){return O[0]&1&&(n=null),n==null&&(n=!!Ot(A[44])),n?Vu:zu}let j=T(e,[-1,-1]),E=j(e);r=new ll({props:{kind:In(e[44]),size:16}});function D(...A){return e[26](e[44],...A)}function N(...A){return e[27](e[44],...A)}function P(){return e[28](e[44])}function I(...A){return e[29](e[44],...A)}function R(...A){return e[30](e[44],...A)}function z(...A){return e[31](e[44],...A)}function V(...A){return e[32](e[44],...A)}function U(...A){return e[33](e[44],...A)}function q(...A){return e[34](e[44],...A)}function J(...A){return e[35](e[44],...A)}function G(...A){return e[36](e[44],...A)}function B(...A){return e[37](e[44],...A)}let H=_&&Nn(e);return{key:l,first:null,c(){t=f("div"),E.c(),o=g(),i=f("span"),Ke(r.$$.fragment),a=g(),u=f("span"),m=F(d),h=g(),H&&H.c(),b=st(),s(i,"class","tree-icon svelte-zj71cl"),s(i,"role","button"),s(i,"tabindex","-1"),s(u,"class","tree-label svelte-zj71cl"),s(u,"role","button"),s(u,"tabindex","-1"),s(t,"class","tree-item svelte-zj71cl"),rt(t,"padding-left",e[3]*16+4+"px"),s(t,"draggable","true"),s(t,"role","button"),s(t,"tabindex","0"),ge(t,"selected",e[2]===e[44].id),ge(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),ge(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(A,O){S(A,t,O),E.m(t,null),c(t,o),c(t,i),We(r,i,null),c(t,a),c(t,u),c(u,m),S(A,h,O),H&&H.m(A,O),S(A,b,O),k=!0,y||(C=[M(i,"click",D),M(i,"keydown",N),M(i,"dblclick",Ye(e[24])),M(u,"click",Ye(P)),M(u,"keydown",I),M(t,"dragstart",R),M(t,"dragover",z),M(t,"dragleave",V),M(t,"drop",U),M(t,"click",q),M(t,"keydown",J),M(t,"dblclick",G),M(t,"contextmenu",Il(B))],y=!0)},p(A,O){e=A,j===(j=T(e,O))&&E?E.p(e,O):(E.d(1),E=j(e),E&&(E.c(),E.m(t,o)));const Q={};O[0]&1&&(Q.kind=In(e[44])),r.$set(Q),(!k||O[0]&1)&&d!==(d=e[44].title+"")&&K(m,d),(!k||O[0]&8)&&rt(t,"padding-left",e[3]*16+4+"px"),(!k||O[0]&5)&&ge(t,"selected",e[2]===e[44].id),(!k||O[0]&769)&&ge(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!k||O[0]&769)&&ge(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),O[0]&3&&(_=e[1][e[44].id]&&Nl(e[44])),_?H?(H.p(e,O),O[0]&3&&ie(H,1)):(H=Nn(e),H.c(),ie(H,1),H.m(b.parentNode,b)):H&&(lt(),de(H,1,1,()=>{H=null}),nt())},i(A){k||(ie(r.$$.fragment,A),ie(H),k=!0)},o(A){de(r.$$.fragment,A),de(H),k=!1},d(A){A&&(w(t),w(h),w(b)),E.d(),Be(r),H&&H.d(A),y=!1,ve(C)}}}function Wu(l){let e=[],t=new Map,n,o,i,r,a=fe(l[0]);const u=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function Mn(l){const e={};function t(n,o){for(const i of n)e[i.id]=o,i.children&&t(i.children,i.id)}return t(l,""),e}function An(l){const e=[];function t(n){for(const o of n)e.push(o),o.children&&t(o.children)}return t(l),e}function Bu(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function Hu(l,e,t){let n,o,i,{nodes:r=[]}=e,{expanded:a={}}=e,{selectedNodeId:u=""}=e,{level:d=0}=e,{onSelect:m=void 0}=e,{onToggle:h=void 0}=e,{onContextMenu:_=void 0}=e,{onDrop:b=void 0}=e,k={},y=null,C="",T="";const j=["folder","project","client","document","recipe","case"];Al(()=>{for(const Y of Object.keys(k))clearTimeout(k[Y]);y&&clearInterval(y)});function E(Y){return j.includes(Y.type)}function D(Y,$,ue){if(!Y||!$||$===Y.id||!E(Y))return!1;let he=Y.id;for(;he;){if(he===$)return!1;he=ue[he]||""}return!0}function N(Y,$){Y.stopPropagation(),Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",$.id),t(21,C=$.id)}function P(Y,$){Y.preventDefault(),Y.stopPropagation(),Y.dataTransfer.dropEffect="move",T!==$.id&&t(8,T=$.id),Ot($)&&!a[$.id]&&!k[$.id]&&(k[$.id]=setTimeout(()=>{h&&h($.id),delete k[$.id]},600));const ue=Y.currentTarget.closest(".workspace-tree-area");if(ue){const he=ue.getBoundingClientRect(),Ce=30;Y.clientY-he.top{ue.scrollTop-=10},50)):he.bottom-Y.clientY{ue.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function I(Y,$){const ue=Y.relatedTarget;ue&&Y.currentTarget.contains(ue)||(T===$.id&&t(8,T=""),k[$.id]&&(clearTimeout(k[$.id]),delete k[$.id]),y&&(clearInterval(y),y=null))}function R(Y,$){Y.preventDefault(),Y.stopPropagation(),k[$.id]&&(clearTimeout(k[$.id]),delete k[$.id]),y&&(clearInterval(y),y=null);const ue=An(r),he=Mn(ue),Ce=Bu(Y);if(!D($,Ce,he)){t(8,T=""),t(21,C="");return}b&&b(Ce,$.id),t(8,T=""),t(21,C="")}function z(){t(8,T=""),t(21,C="");for(const Y of Object.keys(k))clearTimeout(k[Y]),delete k[Y];y&&(clearInterval(y),y=null)}function V(Y,$){Y.target.closest(".tree-toggle")||Y.target.closest(".tree-icon")||m&&m($)}function U(Y,$){Ot($)&&h&&h($.id)}function q(Y,$){(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),m&&m($))}function J(Y,$){Y.stopPropagation(),Ot($)&&h&&h($.id)}function G(Y,$){(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),Y.stopPropagation(),Ot($)&&h&&h($.id))}function B(Y,$){(Y.key==="Enter"||Y.key===" ")&&(Y.preventDefault(),m&&m($))}function H(Y,$,ue){const he={};function Ce(De){for(const Ue of De)he[Ue.id]=D(Ue,$,ue),Ue.children&&Ce(Ue.children)}return Ce(Y),he}function A(Y){_i.call(this,l,Y)}const O=Y=>h&&h(Y.id),Q=(Y,$)=>J($,Y),W=(Y,$)=>G($,Y),se=Y=>m&&m(Y),ae=(Y,$)=>B($,Y),x=(Y,$)=>N($,Y),le=(Y,$)=>P($,Y),te=(Y,$)=>I($,Y),re=(Y,$)=>R($,Y),pe=(Y,$)=>V($,Y),ye=(Y,$)=>q($,Y),He=(Y,$)=>U($,Y),Ae=(Y,$)=>_&&_($,Y);return l.$$set=Y=>{"nodes"in Y&&t(0,r=Y.nodes),"expanded"in Y&&t(1,a=Y.expanded),"selectedNodeId"in Y&&t(2,u=Y.selectedNodeId),"level"in Y&&t(3,d=Y.level),"onSelect"in Y&&t(4,m=Y.onSelect),"onToggle"in Y&&t(5,h=Y.onToggle),"onContextMenu"in Y&&t(6,_=Y.onContextMenu),"onDrop"in Y&&t(7,b=Y.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=An(r)),l.$$.dirty[0]&8388608&&t(22,o=Mn(n)),l.$$.dirty[0]&14680064&&t(9,i=H(n,C,o))},[r,a,u,d,m,h,_,b,T,i,N,P,I,R,z,V,U,q,J,G,B,C,o,n,A,O,Q,W,se,ae,x,le,te,re,pe,ye,He,Ae]}class Ii extends Ze{constructor(e){super(),Xe(this,e,Hu,Wu,Qe,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Fn(l){let e,t;return{c(){e=f("div"),t=F(l[4]),s(e,"class","path-info svelte-11u707d")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&16&&K(t,n[4])},d(n){n&&w(e)}}}function Pn(l){let e,t;return{c(){e=f("div"),t=F(l[3]),s(e,"class","error-msg svelte-11u707d")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&8&&K(t,n[3])},d(n){n&&w(e)}}}function Uu(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T=p("firstrun.browse")+"",j,E,D,N,P,I,R=(l[2]?p("firstrun.creating"):p("firstrun.create"))+"",z,V,U,q,J,G,B=l[4]&&Fn(l),H=l[3]&&Pn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚒",o=g(),i=f("h1"),i.textContent=`${p("firstrun.title")}`,r=g(),a=f("p"),a.textContent=`${p("firstrun.desc")}`,u=g(),d=f("div"),m=f("label"),m.textContent=`${p("firstrun.pathLabel")}`,h=g(),_=f("div"),b=f("input"),y=g(),C=f("button"),j=F(T),E=g(),B&&B.c(),D=g(),H&&H.c(),N=g(),P=f("div"),I=f("button"),z=F(R),U=g(),q=f("button"),q.textContent=`${p("firstrun.quit")}`,s(n,"class","first-run-logo svelte-11u707d"),s(i,"class","svelte-11u707d"),s(a,"class","first-run-desc svelte-11u707d"),s(m,"class","form-label svelte-11u707d"),s(m,"for","vault-path"),s(b,"id","vault-path"),s(b,"type","text"),s(b,"placeholder",k=l[1]||p("firstrun.defaultPath")),b.disabled=l[2],s(b,"class","svelte-11u707d"),s(C,"class","btn"),C.disabled=l[2],s(_,"class","input-row svelte-11u707d"),s(d,"class","form-group svelte-11u707d"),s(I,"class","btn btn-primary btn-lg svelte-11u707d"),I.disabled=V=!l[0].trim()||l[2],s(q,"class","btn btn-lg svelte-11u707d"),s(P,"class","first-run-actions svelte-11u707d"),s(t,"class","first-run-card svelte-11u707d"),s(e,"class","first-run-screen svelte-11u707d")},m(A,O){S(A,e,O),c(e,t),c(t,n),c(t,o),c(t,i),c(t,r),c(t,a),c(t,u),c(t,d),c(d,m),c(d,h),c(d,_),c(_,b),be(b,l[0]),c(_,y),c(_,C),c(C,j),c(t,E),B&&B.m(t,null),c(t,D),H&&H.m(t,null),c(t,N),c(t,P),c(P,I),c(I,z),c(P,U),c(P,q),J||(G=[M(b,"input",l[12]),M(b,"input",l[6]),M(b,"keydown",l[9]),M(C,"click",l[5]),M(I,"click",l[7]),M(q,"click",l[8])],J=!0)},p(A,[O]){O&2&&k!==(k=A[1]||p("firstrun.defaultPath"))&&s(b,"placeholder",k),O&4&&(b.disabled=A[2]),O&1&&b.value!==A[0]&&be(b,A[0]),O&4&&(C.disabled=A[2]),A[4]?B?B.p(A,O):(B=Fn(A),B.c(),B.m(t,D)):B&&(B.d(1),B=null),A[3]?H?H.p(A,O):(H=Pn(A),H.c(),H.m(t,N)):H&&(H.d(1),H=null),O&4&&R!==(R=(A[2]?p("firstrun.creating"):p("firstrun.create"))+"")&&K(z,R),O&5&&V!==(V=!A[0].trim()||A[2])&&(I.disabled=V)},i:ee,o:ee,d(A){A&&w(e),B&&B.d(),H&&H.d(),J=!1,ve(G)}}}function Yt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Ku(l,e,t){let{onComplete:n=null}=e,{onQuit:o=null}=e,i="",r="",a=!1,u="",d="",m=null;async function h(){try{const j=await Yt("GetDefaultVaultPath");t(1,r=j||""),t(0,i=r||""),i&&await b()}catch{t(1,r="")}}h();async function _(){try{const j=await Yt("PickDirectory");j&&(t(0,i=j),await b())}catch(j){t(3,u=String(j))}}async function b(){if(!i||!i.trim()){t(4,d=""),m=null;return}try{m=await Yt("CheckVaultPath",i.trim()),m&&t(4,d=m.description)}catch{t(4,d=""),m=null}}async function k(){if(!(!i||!i.trim())){if(t(2,a=!0),t(3,u=""),m&&!m.writable){t(3,u=p("firstrun.errorNoWrite")),t(2,a=!1);return}try{const j=await Yt("CreateVault",i.trim());j&&j.status==="ready"&&n&&n(j)}catch(j){t(3,u=String(j))}t(2,a=!1)}}function y(){o&&o()}function C(j){j.key==="Enter"&&!a&&i.trim()&&k()}function T(){i=this.value,t(0,i)}return l.$$set=j=>{"onComplete"in j&&t(10,n=j.onComplete),"onQuit"in j&&t(11,o=j.onQuit)},[i,r,a,u,d,_,b,k,y,C,n,o,T]}class Gu extends Ze{constructor(e){super(),Xe(this,e,Ku,Uu,Qe,{onComplete:10,onQuit:11})}}function Ln(l){let e,t;return{c(){e=f("div"),t=F(l[2]),s(e,"class","error-msg svelte-s3o8c3")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&4&&K(t,n[2])},d(n){n&&w(e)}}}function Rn(l){let e,t,n,o,i,r,a,u,d=p("common.yes")+"",m,h,_,b,k;return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("recovery.createConfirmTitle")}`,o=g(),i=f("p"),i.textContent=`${p("recovery.createConfirm")}`,r=g(),a=f("div"),u=f("button"),m=F(d),h=g(),_=f("button"),_.textContent=`${p("common.cancel")}`,s(n,"class","svelte-s3o8c3"),s(i,"class","modal-desc svelte-s3o8c3"),s(u,"class","btn btn-primary"),u.disabled=l[1],s(_,"class","btn"),s(a,"class","modal-actions svelte-s3o8c3"),s(t,"class","modal svelte-s3o8c3"),s(e,"class","modal-overlay svelte-s3o8c3"),s(e,"role","button"),s(e,"tabindex","0")},m(y,C){S(y,e,C),c(e,t),c(t,n),c(t,o),c(t,i),c(t,r),c(t,a),c(a,u),c(u,m),c(a,h),c(a,_),b||(k=[M(u,"click",l[6]),M(_,"click",l[7]),M(e,"click",ft(l[7])),M(e,"keydown",l[11])],b=!0)},p(y,C){C&2&&(u.disabled=y[1])},d(y){y&&w(e),b=!1,ve(k)}}}function Ju(l){let e,t,n,o,i,r,a,u,d,m=(l[0]||"—")+"",h,_,b,k,y,C=p("recovery.choose")+"",T,j,E,D=p("recovery.create")+"",N,P,I,R,z,V,U,q=l[2]&&Ln(l),J=l[3]&&Rn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚠",o=g(),i=f("h1"),i.textContent=`${p("recovery.title")}`,r=g(),a=f("p"),a.textContent=`${p("recovery.expected")}:`,u=g(),d=f("code"),h=F(m),_=g(),q&&q.c(),b=g(),k=f("div"),y=f("button"),T=F(C),j=g(),E=f("button"),N=F(D),P=g(),I=f("button"),I.textContent=`${p("recovery.quit")}`,R=g(),J&&J.c(),z=st(),s(n,"class","recovery-icon svelte-s3o8c3"),s(i,"class","svelte-s3o8c3"),s(a,"class","recovery-desc svelte-s3o8c3"),s(d,"class","recovery-path svelte-s3o8c3"),s(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=l[1],s(E,"class","btn btn-lg svelte-s3o8c3"),E.disabled=l[1],s(I,"class","btn btn-lg svelte-s3o8c3"),s(k,"class","recovery-actions svelte-s3o8c3"),s(t,"class","recovery-card svelte-s3o8c3"),s(e,"class","recovery-screen svelte-s3o8c3")},m(G,B){S(G,e,B),c(e,t),c(t,n),c(t,o),c(t,i),c(t,r),c(t,a),c(t,u),c(t,d),c(d,h),c(t,_),q&&q.m(t,null),c(t,b),c(t,k),c(k,y),c(y,T),c(k,j),c(k,E),c(E,N),c(k,P),c(k,I),S(G,R,B),J&&J.m(G,B),S(G,z,B),V||(U=[M(y,"click",l[4]),M(E,"click",l[5]),M(I,"click",l[8])],V=!0)},p(G,[B]){B&1&&m!==(m=(G[0]||"—")+"")&&K(h,m),G[2]?q?q.p(G,B):(q=Ln(G),q.c(),q.m(t,b)):q&&(q.d(1),q=null),B&2&&(y.disabled=G[1]),B&2&&(E.disabled=G[1]),G[3]?J?J.p(G,B):(J=Rn(G),J.c(),J.m(z.parentNode,z)):J&&(J.d(1),J=null)},i:ee,o:ee,d(G){G&&(w(e),w(R),w(z)),q&&q.d(),J&&J.d(G),V=!1,ve(U)}}}function Sl(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function qu(l,e,t){let{vaultPath:n=""}=e,{onComplete:o=null}=e,{onQuit:i=null}=e,r=!1,a="",u=!1;async function d(){try{const y=await Sl("PickDirectory");if(!y)return;t(1,r=!0),t(2,a="");const C=await Sl("OpenVault",y);C&&C.status==="ready"&&o&&o(C)}catch(y){t(2,a=String(y))}t(1,r=!1)}function m(){t(3,u=!0)}async function h(){t(3,u=!1),t(1,r=!0),t(2,a="");try{const y=await Sl("CreateVault",n);y&&y.status==="ready"&&o&&o(y)}catch(y){t(2,a=String(y))}t(1,r=!1)}function _(){t(3,u=!1)}function b(){i&&i()}const k=y=>y.key==="Enter"&&_();return l.$$set=y=>{"vaultPath"in y&&t(0,n=y.vaultPath),"onComplete"in y&&t(9,o=y.onComplete),"onQuit"in y&&t(10,i=y.onQuit)},[n,r,a,u,d,m,h,_,b,o,i,k]}class Yu extends Ze{constructor(e){super(),Xe(this,e,qu,Ju,Qe,{vaultPath:0,onComplete:9,onQuit:10})}}function On(l,e,t){const n=l.slice();return n[5]=e[t],n}function zn(l){let e,t,n,o,i,r,a;function u(){return l[4](l[5])}return{c(){e=f("button"),t=f("span"),t.textContent=`${l[5].icon}`,n=g(),o=f("span"),o.textContent=`${l[5].label}`,i=g(),s(t,"class","settings-nav-icon svelte-ss7lnu"),s(o,"class","settings-nav-label svelte-ss7lnu"),s(e,"class","settings-nav-item svelte-ss7lnu"),ge(e,"active",l[0]===l[5].id),ge(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(d,m){S(d,e,m),c(e,t),c(e,n),c(e,o),c(e,i),r||(a=M(e,"click",u),r=!0)},p(d,m){l=d,m&3&&ge(e,"active",l[0]===l[5].id)},d(d){d&&w(e),r=!1,a()}}}function Qu(l){let e,t=fe(l[1]),n=[];for(let o=0;or(u.id);return l.$$set=u=>{"activeSection"in u&&t(0,n=u.activeSection),"onSelect"in u&&t(3,o=u.onSelect)},[n,i,r,o,a]}class Zu extends Ze{constructor(e){super(),Xe(this,e,Xu,Qu,Qe,{activeSection:0,onSelect:3})}}function Vn(l){let e;return{c(){e=f("div"),e.textContent=`${p("settings.saved")}`,s(e,"class","save-notice svelte-1e2uhdh")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function $u(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T,j,E,D,N,P,I,R,z,V,U,q,J,G,B,H,A,O=l[1]&&Vn();return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.general")}`,n=g(),o=f("p"),o.textContent=`${p("settings.generalDesc")}`,i=g(),r=f("div"),a=f("h3"),a.textContent=`${p("settings.appearance")}`,u=g(),d=f("div"),m=f("label"),h=f("span"),h.textContent=`${p("settings.theme")}`,_=g(),b=f("select"),k=f("option"),k.textContent=`${p("settings.themeSystem")}`,y=f("option"),y.textContent=`${p("settings.themeLight")} (${p("settings.langSoon")})`,C=f("option"),C.textContent=`${p("settings.themeDark")} (${p("settings.langSoon")})`,T=g(),j=f("div"),E=f("h3"),E.textContent=`${p("settings.localization")}`,D=g(),N=f("div"),P=f("label"),I=f("span"),I.textContent=`${p("settings.language")}`,R=g(),z=f("select"),V=f("option"),V.textContent=`${p("settings.langRu")}`,U=f("option"),U.textContent=`${p("settings.langEn")} (${p("settings.langSoon")})`,q=g(),J=f("div"),O&&O.c(),G=g(),B=f("button"),B.textContent=`${p("settings.save")}`,s(t,"class","svelte-1e2uhdh"),s(o,"class","section-desc svelte-1e2uhdh"),s(a,"class","card-title svelte-1e2uhdh"),s(h,"class","label-text svelte-1e2uhdh"),k.__value="system",be(k,k.__value),y.__value="light",be(y,y.__value),y.disabled=!0,C.__value="dark",be(C,C.__value),C.disabled=!0,l[0]===void 0&&wt(()=>l[5].call(b)),s(d,"class","form-group svelte-1e2uhdh"),s(r,"class","settings-card svelte-1e2uhdh"),s(E,"class","card-title svelte-1e2uhdh"),s(I,"class","label-text svelte-1e2uhdh"),V.__value="ru",be(V,V.__value),U.__value="en",be(U,U.__value),z.disabled=!0,s(N,"class","form-group svelte-1e2uhdh"),s(j,"class","settings-card svelte-1e2uhdh"),s(B,"class","btn btn-primary"),s(J,"class","settings-actions svelte-1e2uhdh"),s(e,"class","settings-section svelte-1e2uhdh")},m(Q,W){S(Q,e,W),c(e,t),c(e,n),c(e,o),c(e,i),c(e,r),c(r,a),c(r,u),c(r,d),c(d,m),c(m,h),c(m,_),c(m,b),c(b,k),c(b,y),c(b,C),pt(b,l[0],!0),c(e,T),c(e,j),c(j,E),c(j,D),c(j,N),c(N,P),c(P,I),c(P,R),c(P,z),c(z,V),c(z,U),c(e,q),c(e,J),O&&O.m(J,null),c(J,G),c(J,B),H||(A=[M(b,"change",l[5]),M(B,"click",l[2])],H=!0)},p(Q,[W]){W&1&&pt(b,Q[0]),Q[1]?O||(O=Vn(),O.c(),O.m(J,G)):O&&(O.d(1),O=null)},i:ee,o:ee,d(Q){Q&&w(e),O&&O.d(),H=!1,ve(A)}}}function xu(l,e,t){let{appConfig:n=null}=e,{onSave:o=null}=e,i="system",r=!1;function a(){n&&t(0,i=n.theme||"system")}async function u(){n&&(t(3,n.theme=i,n),o&&await o(n),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function d(){i=Xt(this),t(0,i)}return l.$$set=m=>{"appConfig"in m&&t(3,n=m.appConfig),"onSave"in m&&t(4,o=m.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&a()},[i,r,u,n,o,d]}class ef extends Ze{constructor(e){super(),Xe(this,e,xu,$u,Qe,{appConfig:3,onSave:4})}}function Wn(l){let e,t;return{c(){e=f("div"),t=F(l[1]),s(e,"class","notice svelte-1pkhf37")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&2&&K(t,n[1])},d(n){n&&w(e)}}}function tf(l){let e;return{c(){e=f("p"),e.textContent=`${p("settings.noVaultInfo")}`,s(e,"class","no-data svelte-1pkhf37")},m(t,n){S(t,e,n)},p:ee,d(t){t&&w(e)}}}function lf(l){let e,t,n,o,i,r=l[0].path+"",a,u,d,m,h,_,b=l[0].dbPath+"",k,y,C,T=l[0].nodeCount!==void 0&&Bn(l),j=l[0].fileCount!==void 0&&Hn(l);return{c(){e=f("div"),t=f("div"),n=f("span"),n.textContent=`${p("settings.vaultPath")}`,o=g(),i=f("span"),a=F(r),u=g(),d=f("div"),m=f("span"),m.textContent="DB",h=g(),_=f("span"),k=F(b),y=g(),T&&T.c(),C=g(),j&&j.c(),s(n,"class","info-label svelte-1pkhf37"),s(i,"class","info-value mono svelte-1pkhf37"),s(t,"class","info-row svelte-1pkhf37"),s(m,"class","info-label svelte-1pkhf37"),s(_,"class","info-value mono small svelte-1pkhf37"),s(d,"class","info-row svelte-1pkhf37"),s(e,"class","vault-info svelte-1pkhf37")},m(E,D){S(E,e,D),c(e,t),c(t,n),c(t,o),c(t,i),c(i,a),c(e,u),c(e,d),c(d,m),c(d,h),c(d,_),c(_,k),c(e,y),T&&T.m(e,null),c(e,C),j&&j.m(e,null)},p(E,D){D&1&&r!==(r=E[0].path+"")&&K(a,r),D&1&&b!==(b=E[0].dbPath+"")&&K(k,b),E[0].nodeCount!==void 0?T?T.p(E,D):(T=Bn(E),T.c(),T.m(e,C)):T&&(T.d(1),T=null),E[0].fileCount!==void 0?j?j.p(E,D):(j=Hn(E),j.c(),j.m(e,null)):j&&(j.d(1),j=null)},d(E){E&&w(e),T&&T.d(),j&&j.d()}}}function Bn(l){let e,t,n,o,i=l[0].nodeCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Nodes",n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1pkhf37"),s(o,"class","info-value svelte-1pkhf37"),s(e,"class","info-row svelte-1pkhf37")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].nodeCount+"")&&K(r,i)},d(a){a&&w(e)}}}function Hn(l){let e,t,n,o,i=l[0].fileCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Files",n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1pkhf37"),s(o,"class","info-value svelte-1pkhf37"),s(e,"class","info-row svelte-1pkhf37")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].fileCount+"")&&K(r,i)},d(a){a&&w(e)}}}function nf(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T=l[1]&&Wn(l);function j(N,P){return N[0]?lf:tf}let E=j(l),D=E(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.workspace")}`,n=g(),o=f("p"),o.textContent=`${p("settings.workspaceDesc")}`,i=g(),T&&T.c(),r=g(),a=f("div"),D.c(),u=g(),d=f("div"),m=f("button"),m.textContent=`${p("settings.openVault")}`,h=g(),_=f("button"),_.textContent=`${p("settings.changeVault")}`,b=g(),k=f("button"),k.textContent=`${p("settings.checkIntegrity")}`,s(t,"class","svelte-1pkhf37"),s(o,"class","section-desc svelte-1pkhf37"),s(a,"class","settings-card svelte-1pkhf37"),s(m,"class","btn"),s(_,"class","btn"),s(k,"class","btn"),s(d,"class","workspace-actions svelte-1pkhf37"),s(e,"class","settings-section svelte-1pkhf37")},m(N,P){S(N,e,P),c(e,t),c(e,n),c(e,o),c(e,i),T&&T.m(e,null),c(e,r),c(e,a),D.m(a,null),c(e,u),c(e,d),c(d,m),c(d,h),c(d,_),c(d,b),c(d,k),y||(C=[M(m,"click",l[2]),M(_,"click",l[4]),M(k,"click",l[3])],y=!0)},p(N,[P]){N[1]?T?T.p(N,P):(T=Wn(N),T.c(),T.m(e,r)):T&&(T.d(1),T=null),E===(E=j(N))&&D?D.p(N,P):(D.d(1),D=E(N),D&&(D.c(),D.m(a,null)))},i:ee,o:ee,d(N){N&&w(e),T&&T.d(),D.d(),y=!1,ve(C)}}}function It(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function of(l,e,t){let{onRefresh:n=null}=e,o=null,i="";async function r(){try{t(0,o=await It("GetVaultInfo"))}catch{t(0,o=null)}}r();async function a(){try{await It("OpenVaultFolder")}catch(m){t(1,i=String(m))}}async function u(){try{const m=await It("VaultCheck");m.healthy?t(1,i="Vault healthy"):t(1,i="Issues found: "+(m.errors||[]).join("; "))}catch(m){t(1,i=String(m))}}async function d(){try{const m=await It("PickDirectory");if(!m)return;const h=await It("OpenVault",m);h&&h.status==="ready"&&(t(0,o=await It("GetVaultInfo")),n&&n())}catch(m){t(1,i=String(m))}}return l.$$set=m=>{"onRefresh"in m&&t(5,n=m.onRefresh)},[o,i,a,u,d,n]}class sf extends Ze{constructor(e){super(),Xe(this,e,of,nf,Qe,{onRefresh:5})}}function Un(l,e,t){const n=l.slice();return n[6]=e[t],n}function rf(l){let e,t=fe(l[0]),n=[];for(let o=0;oa(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[o,i,a,n,u]}class df extends Ze{constructor(e){super(),Xe(this,e,ff,uf,Qe,{onRefresh:3})}}function pf(l){let e,t,n,o,i,r,a,u;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.plugins")}`,n=g(),o=f("p"),o.textContent=`${p("settings.noPlugins")}`,i=g(),r=f("button"),r.textContent=`${p("settings.openPluginsDir")}`,s(t,"class","svelte-8jch95"),s(o,"class","section-desc svelte-8jch95"),s(r,"class","btn"),s(e,"class","settings-section svelte-8jch95")},m(d,m){S(d,e,m),c(e,t),c(e,n),c(e,o),c(e,i),c(e,r),a||(u=M(r,"click",_f),a=!0)},p:ee,i:ee,o:ee,d(d){d&&w(e),a=!1,u()}}}function mf(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}async function _f(){try{await mf("OpenFolder","")}catch{}}class vf extends Ze{constructor(e){super(),Xe(this,e,null,pf,Qe,{})}}function hf(l){let e,t,n,o;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.files")}`,n=g(),o=f("p"),o.textContent=`${p("settings.filesStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,r){S(i,e,r),c(e,t),c(e,n),c(e,o)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class gf extends Ze{constructor(e){super(),Xe(this,e,null,hf,Qe,{})}}function bf(l){let e,t,n,o;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.activity")}`,n=g(),o=f("p"),o.textContent=`${p("settings.activityStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,r){S(i,e,r),c(e,t),c(e,n),c(e,o)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class kf extends Ze{constructor(e){super(),Xe(this,e,null,bf,Qe,{})}}function Jn(l){let e,t;return{c(){e=f("div"),t=F(l[2]),s(e,"class","error-msg svelte-1c6avdh")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&4&&K(t,n[2])},d(n){n&&w(e)}}}function qn(l){let e,t;return{c(){e=f("div"),t=F(l[3]),s(e,"class","result-msg svelte-1c6avdh")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o&8&&K(t,n[3])},d(n){n&&w(e)}}}function yf(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T,j,E,D,N,P,I=p("settings.checkConnection")+"",R,z,V,U,q=p("common.connect")+"",J,G,B,H,A,O=l[10]!==null&&Yn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("label"),i=f("span"),i.textContent=`${p("settings.serverUrl")}`,r=g(),a=f("input"),u=g(),d=f("div"),m=f("label"),h=f("span"),h.textContent=`${p("sync.username")}`,_=g(),b=f("input"),k=g(),y=f("div"),C=f("label"),T=f("span"),T.textContent=`${p("sync.password")}`,j=g(),E=f("input"),D=g(),N=f("div"),P=f("button"),R=F(I),V=g(),U=f("button"),J=F(q),B=g(),O&&O.c(),s(i,"class","label-text"),s(a,"type","text"),s(a,"placeholder","https://example.com"),s(n,"class","form-group svelte-1c6avdh"),s(h,"class","label-text"),s(b,"type","text"),s(d,"class","form-group svelte-1c6avdh"),s(T,"class","label-text"),s(E,"type","password"),s(y,"class","form-group svelte-1c6avdh"),s(P,"class","btn"),P.disabled=z=l[1]||!l[4],s(U,"class","btn btn-primary"),U.disabled=G=l[1]||!l[4]||!l[5]||!l[6],s(N,"class","sync-setup-actions svelte-1c6avdh"),s(t,"class","sync-setup svelte-1c6avdh"),s(e,"class","settings-card svelte-1c6avdh")},m(Q,W){S(Q,e,W),c(e,t),c(t,n),c(n,o),c(o,i),c(o,r),c(o,a),be(a,l[4]),c(t,u),c(t,d),c(d,m),c(m,h),c(m,_),c(m,b),be(b,l[5]),c(t,k),c(t,y),c(y,C),c(C,T),c(C,j),c(C,E),be(E,l[6]),c(t,D),c(t,N),c(N,P),c(P,R),c(N,V),c(N,U),c(U,J),c(t,B),O&&O.m(t,null),H||(A=[M(a,"input",l[22]),M(b,"input",l[23]),M(E,"input",l[24]),M(P,"click",l[11]),M(U,"click",l[12])],H=!0)},p(Q,W){W&16&&a.value!==Q[4]&&be(a,Q[4]),W&32&&b.value!==Q[5]&&be(b,Q[5]),W&64&&E.value!==Q[6]&&be(E,Q[6]),W&18&&z!==(z=Q[1]||!Q[4])&&(P.disabled=z),W&114&&G!==(G=Q[1]||!Q[4]||!Q[5]||!Q[6])&&(U.disabled=G),Q[10]!==null?O?O.p(Q,W):(O=Yn(Q),O.c(),O.m(t,null)):O&&(O.d(1),O=null)},d(Q){Q&&w(e),O&&O.d(),H=!1,ve(A)}}}function wf(l){let e,t,n,o,i,r,a=l[19](l[0].lastStatus)+"",u,d,m,h,_,b,k,y,C,T=p("settings.syncNow")+"",j,E,D,N=p("settings.disconnect")+"",P,I,R,z=p("settings.resetKey")+"",V,U,q,J,G,B,H,A,O,Q,W,se,ae=l[0].serverUrl&&Qn(l),x=l[0].deviceName&&Xn(l),le=l[0].deviceId&&Zn(l),te=l[0].lastSyncAt&&$n(l),re=l[0].lastError&&xn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("span"),o.textContent=`${p("settings.status")}`,i=g(),r=f("span"),u=F(a),d=g(),ae&&ae.c(),m=g(),x&&x.c(),h=g(),le&&le.c(),_=g(),te&&te.c(),b=g(),re&&re.c(),k=g(),y=f("div"),C=f("button"),j=F(T),E=g(),D=f("button"),P=F(N),I=g(),R=f("button"),V=F(z),U=g(),q=f("div"),J=f("label"),G=f("span"),G.textContent=`${p("sync.interval")}`,B=g(),H=f("div"),A=f("input"),O=g(),Q=f("button"),Q.textContent=`${p("common.save")}`,s(o,"class","info-label svelte-1c6avdh"),s(r,"class","info-value svelte-1c6avdh"),ge(r,"status-ok",l[0].lastStatus==="connected"),ge(r,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),s(n,"class","info-row svelte-1c6avdh"),s(t,"class","sync-info svelte-1c6avdh"),s(e,"class","settings-card svelte-1c6avdh"),s(C,"class","btn btn-primary"),C.disabled=l[1],s(D,"class","btn"),D.disabled=l[1],s(R,"class","btn"),R.disabled=l[1],s(y,"class","sync-actions svelte-1c6avdh"),s(G,"class","label-text"),s(A,"type","number"),s(A,"min","0"),s(A,"placeholder","0"),s(A,"class","svelte-1c6avdh"),s(Q,"class","btn btn-sm"),s(H,"class","interval-row svelte-1c6avdh"),s(q,"class","sync-interval svelte-1c6avdh")},m(pe,ye){S(pe,e,ye),c(e,t),c(t,n),c(n,o),c(n,i),c(n,r),c(r,u),c(t,d),ae&&ae.m(t,null),c(t,m),x&&x.m(t,null),c(t,h),le&&le.m(t,null),c(t,_),te&&te.m(t,null),c(t,b),re&&re.m(t,null),S(pe,k,ye),S(pe,y,ye),c(y,C),c(C,j),c(y,E),c(y,D),c(D,P),c(y,I),c(y,R),c(R,V),S(pe,U,ye),S(pe,q,ye),c(q,J),c(J,G),c(J,B),c(J,H),c(H,A),be(A,l[7]),c(H,O),c(H,Q),W||(se=[M(C,"click",l[13]),M(D,"click",l[15]),M(R,"click",l[17]),M(A,"input",l[21]),M(Q,"click",l[14])],W=!0)},p(pe,ye){ye&1&&a!==(a=pe[19](pe[0].lastStatus)+"")&&K(u,a),ye&1&&ge(r,"status-ok",pe[0].lastStatus==="connected"),ye&1&&ge(r,"status-err",pe[0].lastStatus==="error"||pe[0].lastStatus==="revoked"),pe[0].serverUrl?ae?ae.p(pe,ye):(ae=Qn(pe),ae.c(),ae.m(t,m)):ae&&(ae.d(1),ae=null),pe[0].deviceName?x?x.p(pe,ye):(x=Xn(pe),x.c(),x.m(t,h)):x&&(x.d(1),x=null),pe[0].deviceId?le?le.p(pe,ye):(le=Zn(pe),le.c(),le.m(t,_)):le&&(le.d(1),le=null),pe[0].lastSyncAt?te?te.p(pe,ye):(te=$n(pe),te.c(),te.m(t,b)):te&&(te.d(1),te=null),pe[0].lastError?re?re.p(pe,ye):(re=xn(pe),re.c(),re.m(t,null)):re&&(re.d(1),re=null),ye&2&&(C.disabled=pe[1]),ye&2&&(D.disabled=pe[1]),ye&2&&(R.disabled=pe[1]),ye&128&&el(A.value)!==pe[7]&&be(A,pe[7])},d(pe){pe&&(w(e),w(k),w(y),w(U),w(q)),ae&&ae.d(),x&&x.d(),le&&le.d(),te&&te.d(),re&&re.d(),W=!1,ve(se)}}}function Yn(l){let e,t=(l[10]?p("common.test")+" OK":p("error.generic"))+"",n;return{c(){e=f("div"),n=F(t),s(e,"class","connection-result svelte-1c6avdh"),ge(e,"ok",l[10]),ge(e,"fail",!l[10])},m(o,i){S(o,e,i),c(e,n)},p(o,i){i&1024&&t!==(t=(o[10]?p("common.test")+" OK":p("error.generic"))+"")&&K(n,t),i&1024&&ge(e,"ok",o[10]),i&1024&&ge(e,"fail",!o[10])},d(o){o&&w(e)}}}function Qn(l){let e,t,n,o,i=l[0].serverUrl+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.serverUrl")}`,n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value mono svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].serverUrl+"")&&K(r,i)},d(a){a&&w(e)}}}function Xn(l){let e,t,n,o,i=l[0].deviceName+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceName")}`,n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].deviceName+"")&&K(r,i)},d(a){a&&w(e)}}}function Zn(l){let e,t,n,o,i=l[0].deviceId+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceId")}`,n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value mono svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].deviceId+"")&&K(r,i)},d(a){a&&w(e)}}}function $n(l){let e,t,n,o,i=l[0].lastSyncAt+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastSync")}`,n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].lastSyncAt+"")&&K(r,i)},d(a){a&&w(e)}}}function xn(l){let e,t,n,o,i=l[0].lastError+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastError")}`,n=g(),o=f("span"),r=F(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value error svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u&1&&i!==(i=a[0].lastError+"")&&K(r,i)},d(a){a&&w(e)}}}function eo(l){let e,t,n,o,i,r,a,u,d,m,h,_;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmDisconnect")}`,o=g(),i=f("p"),i.textContent=`${p("settings.confirmDisconnectDesc")}`,r=g(),a=f("div"),u=f("button"),u.textContent=`${p("common.disconnect")}`,d=g(),m=f("button"),m.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1c6avdh"),s(i,"class","modal-desc svelte-1c6avdh"),s(u,"class","btn btn-danger"),s(m,"class","btn"),s(a,"class","modal-actions svelte-1c6avdh"),s(t,"class","modal svelte-1c6avdh"),s(e,"class","modal-overlay svelte-1c6avdh")},m(b,k){S(b,e,k),c(e,t),c(t,n),c(t,o),c(t,i),c(t,r),c(t,a),c(a,u),c(a,d),c(a,m),h||(_=[M(u,"click",l[16]),M(m,"click",l[25]),M(e,"click",l[26])],h=!0)},p:ee,d(b){b&&w(e),h=!1,ve(_)}}}function to(l){let e,t,n,o,i,r,a,u,d,m,h,_;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmResetKey")}`,o=g(),i=f("p"),i.textContent=`${p("settings.confirmResetKeyDesc")}`,r=g(),a=f("div"),u=f("button"),u.textContent=`${p("settings.resetKey")}`,d=g(),m=f("button"),m.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1c6avdh"),s(i,"class","modal-desc svelte-1c6avdh"),s(u,"class","btn btn-danger"),s(m,"class","btn"),s(a,"class","modal-actions svelte-1c6avdh"),s(t,"class","modal svelte-1c6avdh"),s(e,"class","modal-overlay svelte-1c6avdh")},m(b,k){S(b,e,k),c(e,t),c(t,n),c(t,o),c(t,i),c(t,r),c(t,a),c(a,u),c(a,d),c(a,m),h||(_=[M(u,"click",l[18]),M(m,"click",l[27]),M(e,"click",l[28])],h=!0)},p:ee,d(b){b&&w(e),h=!1,ve(_)}}}function Cf(l){let e,t,n,o,i,r,a,u,d,m,h=l[2]&&Jn(l),_=l[3]&&!l[2]&&qn(l);function b(j,E){return j[0]&&j[0].enabled?wf:yf}let k=b(l),y=k(l),C=l[8]&&eo(l),T=l[9]&&to(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.sync")}`,n=g(),o=f("p"),o.textContent=`${p("settings.syncDesc")}`,i=g(),h&&h.c(),r=g(),_&&_.c(),a=g(),y.c(),u=g(),C&&C.c(),d=g(),T&&T.c(),m=st(),s(t,"class","svelte-1c6avdh"),s(o,"class","section-desc svelte-1c6avdh"),s(e,"class","settings-section svelte-1c6avdh")},m(j,E){S(j,e,E),c(e,t),c(e,n),c(e,o),c(e,i),h&&h.m(e,null),c(e,r),_&&_.m(e,null),c(e,a),y.m(e,null),S(j,u,E),C&&C.m(j,E),S(j,d,E),T&&T.m(j,E),S(j,m,E)},p(j,[E]){j[2]?h?h.p(j,E):(h=Jn(j),h.c(),h.m(e,r)):h&&(h.d(1),h=null),j[3]&&!j[2]?_?_.p(j,E):(_=qn(j),_.c(),_.m(e,a)):_&&(_.d(1),_=null),k===(k=b(j))&&y?y.p(j,E):(y.d(1),y=k(j),y&&(y.c(),y.m(e,null))),j[8]?C?C.p(j,E):(C=eo(j),C.c(),C.m(d.parentNode,d)):C&&(C.d(1),C=null),j[9]?T?T.p(j,E):(T=to(j),T.c(),T.m(m.parentNode,m)):T&&(T.d(1),T=null)},i:ee,o:ee,d(j){j&&(w(e),w(u),w(d),w(m)),h&&h.d(),_&&_.d(),y.d(),C&&C.d(j),T&&T.d(j)}}}function kt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Sf(l,e,t){let{onRefresh:n=null}=e,o=null,i=!1,r="",a="",u="",d="",m="",h=0,_=!1,b=!1,k=null;async function y(){try{t(0,o=await kt("GetSyncSettings")),o&&(t(4,u=o.serverUrl||""),t(7,h=o.syncInterval||0))}catch{t(0,o=null)}}y();async function C(){t(1,i=!0),t(2,r=""),t(10,k=null);try{await kt("SyncTestConnection",u,d,m),t(10,k=!0),t(3,a="connection ok")}catch(A){t(10,k=!1),t(3,a="connection failed: "+String(A))}t(1,i=!1)}async function T(){t(1,i=!0),t(2,r="");try{await kt("SyncConfigure",u,d,m),t(3,a="configured"),t(5,d=""),t(6,m=""),await y(),n&&n()}catch(A){t(2,r=String(A))}t(1,i=!1)}async function j(){t(1,i=!0),t(2,r="");try{const A=await kt("SyncNow");t(3,a="pushed "+A.pushed+", pulled "+A.pulled),await y(),n&&n()}catch(A){t(2,r=String(A))}t(1,i=!1)}async function E(){try{await kt("SyncSetInterval",h),t(3,a=p("sync.settingsSaved"))}catch(A){t(2,r=String(A))}}function D(){t(8,_=!0)}async function N(){t(8,_=!1),t(1,i=!0);try{await kt("SyncDisconnect"),t(3,a="disconnected"),await y(),n&&n()}catch(A){t(2,r=String(A))}t(1,i=!1)}function P(){t(9,b=!0)}async function I(){t(9,b=!1),t(1,i=!0);try{await kt("ResetSyncKey"),t(3,a="key reset"),await y(),n&&n()}catch(A){t(2,r=String(A))}t(1,i=!1)}function R(A){return A?{connected:p("settings.connected"),disconnected:p("settings.disconnected"),disabled:p("settings.notConfigured"),error:p("settings.error"),revoked:p("settings.revoked")}[A]||A:p("settings.notConfigured")}function z(){h=el(this.value),t(7,h)}function V(){u=this.value,t(4,u)}function U(){d=this.value,t(5,d)}function q(){m=this.value,t(6,m)}const J=()=>t(8,_=!1),G=()=>t(8,_=!1),B=()=>t(9,b=!1),H=()=>t(9,b=!1);return l.$$set=A=>{"onRefresh"in A&&t(20,n=A.onRefresh)},[o,i,r,a,u,d,m,h,_,b,k,C,T,j,E,D,N,P,I,R,n,z,V,U,q,J,G,B,H]}class jf extends Ze{constructor(e){super(),Xe(this,e,Sf,Cf,Qe,{onRefresh:20})}}function Tf(l){let e,t,n,o;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.backup")}`,n=g(),o=f("p"),o.textContent=`${p("settings.backupStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,r){S(i,e,r),c(e,t),c(e,n),c(e,o)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class Ef extends Ze{constructor(e){super(),Xe(this,e,null,Tf,Qe,{})}}const{window:Nf}=Dl;function Df(l){let e,t;return e=new Ef({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function If(l){let e,t;return e=new jf({props:{onRefresh:l[6]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Mf(l){let e,t;return e=new kf({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Af(l){let e,t;return e=new gf({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Ff(l){let e,t;return e=new vf({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Pf(l){let e,t;return e=new df({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Lf(l){let e,t;return e=new sf({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Rf(l){let e,t;return e=new ef({props:{appConfig:l[1],onSave:l[5]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o&2&&(i.appConfig=n[1]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Of(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C;d=new Zu({props:{activeSection:l[0],onSelect:l[3]}});const T=[Rf,Lf,Pf,Ff,Af,Mf,If,Df],j=[];function E(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~(_=E(l))&&(b=j[_]=T[_](l)),{c(){e=f("button"),t=f("div"),n=f("div"),o=f("h2"),o.textContent=`${p("settings.title")}`,i=g(),r=f("button"),r.innerHTML='',a=g(),u=f("div"),Ke(d.$$.fragment),m=g(),h=f("div"),b&&b.c(),s(o,"class","svelte-zf2zsc"),s(r,"class","close-btn svelte-zf2zsc"),s(r,"title",p("settings.close")),s(n,"class","settings-header svelte-zf2zsc"),s(h,"class","settings-content svelte-zf2zsc"),s(u,"class","settings-body svelte-zf2zsc"),s(t,"class","settings-window svelte-zf2zsc"),s(e,"class","settings-overlay svelte-zf2zsc")},m(D,N){S(D,e,N),c(e,t),c(t,n),c(n,o),c(n,i),c(n,r),c(t,a),c(t,u),We(d,u,null),c(u,m),c(u,h),~_&&j[_].m(h,null),k=!0,y||(C=[M(Nf,"keydown",l[7]),M(r,"click",l[4]),M(e,"click",ft(l[4]))],y=!0)},p(D,[N]){const P={};N&1&&(P.activeSection=D[0]),d.$set(P);let I=_;_=E(D),_===I?~_&&j[_].p(D,N):(b&&(lt(),de(j[I],1,1,()=>{j[I]=null}),nt()),~_?(b=j[_],b?b.p(D,N):(b=j[_]=T[_](D),b.c()),ie(b,1),b.m(h,null)):b=null)},i(D){k||(ie(d.$$.fragment,D),ie(b),k=!0)},o(D){de(d.$$.fragment,D),de(b),k=!1},d(D){D&&w(e),Be(d),~_&&j[_].d(),y=!1,ve(C)}}}function lo(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function zf(l,e,t){let{onClose:n=null}=e,{onSyncRefresh:o=null}=e,{initialSection:i="general"}=e,r=i,a=null;async function u(){try{t(1,a=await lo("GetAppConfig"))}catch{t(1,a=null)}}u();function d(k){t(0,r=k)}function m(){n&&n()}async function h(k){try{await lo("SaveAppConfig",k),t(1,a=k)}catch(y){console.error(y)}}function _(){o&&o()}function b(k){k.key==="Escape"&&m()}return l.$$set=k=>{"onClose"in k&&t(8,n=k.onClose),"onSyncRefresh"in k&&t(9,o=k.onSyncRefresh),"initialSection"in k&&t(10,i=k.initialSection)},[r,a,u,d,m,h,_,b,n,o,i]}class Vf extends Ze{constructor(e){super(),Xe(this,e,zf,Of,Qe,{onClose:8,onSyncRefresh:9,initialSection:10})}}function Wf(l){let e,t,n,o,i,r,a,u;return{c(){e=f("div"),t=f("span"),n=g(),o=f("span"),o.textContent=`${p("sync.status.disabled")}`,i=g(),r=f("button"),r.textContent=`${p("sync.configure")}`,s(t,"class","sync-dot dot-disabled svelte-jpp4rd"),s(o,"class","sync-label svelte-jpp4rd"),s(r,"class","btn btn-xs svelte-jpp4rd"),s(e,"class","sync-status-row svelte-jpp4rd")},m(d,m){S(d,e,m),c(e,t),c(e,n),c(e,o),c(e,i),c(e,r),a||(u=M(r,"click",function(){mt(l[3])&&l[3].apply(this,arguments)}),a=!0)},p(d,m){l=d},d(d){d&&w(e),a=!1,u()}}}function Bf(l){let e,t,n,o,i,r=l[5](l[0])+"",a,u,d,m,h,_=(l[1]?p("sync.running"):p("sync.run"))+"",b,k,y,C,T,j=l[0].unpushedOps>0&&no(l);return{c(){e=f("div"),t=f("span"),o=g(),i=f("span"),a=F(r),u=g(),j&&j.c(),d=g(),m=f("div"),h=f("button"),b=F(_),k=g(),y=f("button"),y.textContent=`${p("sync.details")}`,s(t,"class",n="sync-dot "+l[4](l[0])+" svelte-jpp4rd"),s(i,"class","sync-label svelte-jpp4rd"),s(h,"class","btn btn-xs svelte-jpp4rd"),h.disabled=l[1],s(y,"class","btn btn-xs btn-link svelte-jpp4rd"),s(m,"class","sync-actions-row svelte-jpp4rd"),s(e,"class","sync-status-row svelte-jpp4rd")},m(E,D){S(E,e,D),c(e,t),c(e,o),c(e,i),c(i,a),c(e,u),j&&j.m(e,null),c(e,d),c(e,m),c(m,h),c(h,b),c(m,k),c(m,y),C||(T=[M(h,"click",function(){mt(l[2])&&l[2].apply(this,arguments)}),M(y,"click",function(){mt(l[3])&&l[3].apply(this,arguments)})],C=!0)},p(E,D){l=E,D&1&&n!==(n="sync-dot "+l[4](l[0])+" svelte-jpp4rd")&&s(t,"class",n),D&1&&r!==(r=l[5](l[0])+"")&&K(a,r),l[0].unpushedOps>0?j?j.p(l,D):(j=no(l),j.c(),j.m(e,d)):j&&(j.d(1),j=null),D&2&&_!==(_=(l[1]?p("sync.running"):p("sync.run"))+"")&&K(b,_),D&2&&(h.disabled=l[1])},d(E){E&&w(e),j&&j.d(),C=!1,ve(T)}}}function no(l){let e,t=l[0].unpushedOps+"",n,o,i=p("sync.changes")+"",r;return{c(){e=f("span"),n=F(t),o=g(),r=F(i),s(e,"class","sync-count svelte-jpp4rd")},m(a,u){S(a,e,u),c(e,n),c(e,o),c(e,r)},p(a,u){u&1&&t!==(t=a[0].unpushedOps+"")&&K(n,t)},d(a){a&&w(e)}}}function Hf(l){let e;function t(i,r){var a;return(a=i[0])!=null&&a.configured?Bf:Wf}let n=t(l),o=n(l);return{c(){e=f("div"),o.c(),s(e,"class","sync-status-widget svelte-jpp4rd")},m(i,r){S(i,e,r),o.m(e,null)},p(i,[r]){n===(n=t(i))&&o?o.p(i,r):(o.d(1),o=n(i),o&&(o.c(),o.m(e,null)))},i:ee,o:ee,d(i){i&&w(e),o.d()}}}function Uf(l,e,t){let{syncStatus:n=null}=e,{syncLoading:o=!1}=e,{onSync:i=null}=e,{onOpenSettings:r=null}=e;function a(d){return!d||!d.configured?"dot-disabled":o?"dot-syncing":d.revoked?"dot-disabled":d.connected?"dot-connected":d.configured?"dot-warning":"dot-disabled"}function u(d){return!d||!d.configured?p("sync.status.disabled"):o?p("sync.status.syncing"):d.revoked?p("sync.status.error"):d.connected?p("sync.status.connected"):p("sync.status.disconnected")}return l.$$set=d=>{"syncStatus"in d&&t(0,n=d.syncStatus),"syncLoading"in d&&t(1,o=d.syncLoading),"onSync"in d&&t(2,i=d.onSync),"onOpenSettings"in d&&t(3,r=d.onOpenSettings)},[n,o,i,r,a,u]}class Kf extends Ze{constructor(e){super(),Xe(this,e,Uf,Hf,Qe,{syncStatus:0,syncLoading:1,onSync:2,onOpenSettings:3})}}const{Boolean:Mi}=Dl;function oo(l,e,t){const n=l.slice();return n[307]=e[t],n}function so(l,e,t){const n=l.slice();return n[310]=e[t],n}function io(l,e,t){const n=l.slice();return n[310]=e[t],n}function ro(l,e,t){const n=l.slice();return n[331]=e[t],n}function co(l,e,t){const n=l.slice();return n[331]=e[t],n}function ao(l,e,t){const n=l.slice();return n[362]=e[t],n}function uo(l,e,t){const n=l.slice();return n[331]=e[t],n}function fo(l,e,t){const n=l.slice();return n[334]=e[t],n[367]=e,n[368]=t,n}function po(l,e,t){const n=l.slice();return n[331]=e[t],n}function mo(l,e,t){const n=l.slice();return n[344]=e[t],n}function _o(l,e,t){const n=l.slice();return n[331]=e[t],n}function vo(l,e,t){const n=l.slice();return n[349]=e[t],n}function ho(l,e,t){const n=l.slice();return n[349]=e[t],n}function go(l,e,t){const n=l.slice();return n[334]=e[t],n[354]=e,n[355]=t,n}function bo(l,e,t){const n=l.slice();return n[331]=e[t],n}function ko(l,e,t){const n=l.slice();return n[344]=e[t],n}function yo(l,e,t){const n=l.slice();return n[331]=e[t],n}function wo(l,e,t){const n=l.slice();return n[315]=e[t],n}function Co(l,e,t){const n=l.slice();return n[331]=e[t],n}function So(l,e,t){const n=l.slice();return n[334]=e[t],n[335]=e,n[336]=t,n}function jo(l,e,t){const n=l.slice();return n[331]=e[t],n}function To(l,e,t){const n=l.slice();return n[326]=e[t],n}function Eo(l,e,t){const n=l.slice();return n[323]=e[t],n}function No(l,e,t){const n=l.slice();return n[318]=e[t],n}function Do(l,e,t){const n=l.slice();return n[315]=e[t],n}function Io(l,e,t){const n=l.slice();return n[318]=e[t],n}function Mo(l,e,t){const n=l.slice();return n[341]=e[t],n}function Ao(l,e,t){const n=l.slice();return n[373]=e[t],n}function Fo(l,e,t){const n=l.slice();return n[376]=e[t],n}function Gf(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T,j,E,D,N,P,I,R,z,V,U,q,J,G,B,H,A,O,Q,W,se,ae,x,le,te,re,pe,ye,He,Ae,Y,$,ue,he,Ce=fe(l[4]),De=[];for(let Z=0;Z0?0:1}E=qe(l),D=Ge[E]=Ue[E](l),I=new Kf({props:{syncStatus:l[76],syncLoading:l[77],onSync:l[160],onOpenSettings:l[165]}});function Je(Z,Ee){return Z[26]?$f:Z[25]?Zf:Xf}let Fe=Je(l),Pe=Fe(l),ke=l[24]&&Oo(l);const ze=[od,nd,ld,td,ed,xf],Ne=[];function Oe(Z,Ee){return Z[29]?0:Z[26]?1:Z[25]==="journal"?2:Z[25]==="today"&&Z[7]?3:Z[25]==="activity"?4:5}ae=Oe(l),x=Ne[ae]=ze[ae](l);let Se=l[41]&&Xs(l),we=l[45].visible&&xs(l),Ie=l[32]&&ni(l),je=l[48]&&oi(l),Te=l[55]&&l[54]&&ii(l),Ve=l[73]&&ci(l),_e=l[68]&&ui(l),ce=l[3]&&fi(l);return{c(){e=f("div"),t=f("aside"),n=f("div"),o=f("span"),o.textContent="⚒",i=g(),r=f("span"),r.textContent=`${p("nav.brand")}`,a=g(),u=f("nav"),d=f("div"),m=f("div"),m.textContent=`${p("nav.system")}`,h=g();for(let Z=0;Z',U=g(),q=f("span"),J=F(l[23]),G=g(),B=f("main"),H=f("header"),A=f("div"),Pe.c(),O=g(),Q=f("div"),Q.innerHTML="",W=g(),ke&&ke.c(),se=g(),x.c(),le=g(),Se&&Se.c(),te=g(),we&&we.c(),re=g(),Ie&&Ie.c(),pe=g(),je&&je.c(),ye=g(),Te&&Te.c(),He=g(),Ve&&Ve.c(),Ae=g(),_e&&_e.c(),Y=g(),ce&&ce.c(),s(o,"class","logo svelte-1n7o7cr"),s(r,"class","brand-name svelte-1n7o7cr"),s(n,"class","sidebar-brand svelte-1n7o7cr"),s(m,"class","nav-label svelte-1n7o7cr"),s(d,"class","nav-group svelte-1n7o7cr"),s(y,"class","svelte-1n7o7cr"),s(T,"class","nav-add-btn svelte-1n7o7cr"),s(T,"title",p("common.create")),s(k,"class","nav-label-row svelte-1n7o7cr"),s(b,"class","nav-group svelte-1n7o7cr"),s(u,"class","sidebar-nav svelte-1n7o7cr"),s(V,"class","sidebar-settings-btn svelte-1n7o7cr"),s(V,"title",p("common.settings")),s(q,"class","version svelte-1n7o7cr"),s(z,"class","sidebar-footer-row svelte-1n7o7cr"),s(P,"class","sidebar-footer svelte-1n7o7cr"),s(t,"class","sidebar svelte-1n7o7cr"),s(A,"class","header-left svelte-1n7o7cr"),s(Q,"class","header-right svelte-1n7o7cr"),s(H,"class","header svelte-1n7o7cr"),s(B,"class","main svelte-1n7o7cr"),s(e,"class","app svelte-1n7o7cr")},m(Z,Ee){S(Z,e,Ee),c(e,t),c(t,n),c(n,o),c(n,i),c(n,r),c(t,a),c(t,u),c(u,d),c(d,m),c(d,h);for(let et=0;et{Ge[et]=null}),nt(),D=Ge[E],D?D.p(Z,Ee):(D=Ge[E]=Ue[E](Z),D.c()),ie(D,1),D.m(b,null));const at={};Ee[2]&16384&&(at.syncStatus=Z[76]),Ee[2]&32768&&(at.syncLoading=Z[77]),I.$set(at),(!$||Ee[0]&8388608)&&K(J,Z[23]),Fe===(Fe=Je(Z))&&Pe?Pe.p(Z,Ee):(Pe.d(1),Pe=Fe(Z),Pe&&(Pe.c(),Pe.m(A,null))),Z[24]?ke?ke.p(Z,Ee):(ke=Oo(Z),ke.c(),ke.m(B,se)):ke&&(ke.d(1),ke=null);let ot=ae;ae=Oe(Z),ae===ot?Ne[ae].p(Z,Ee):(lt(),de(Ne[ot],1,1,()=>{Ne[ot]=null}),nt(),x=Ne[ae],x?x.p(Z,Ee):(x=Ne[ae]=ze[ae](Z),x.c()),ie(x,1),x.m(B,le)),Z[41]?Se?(Se.p(Z,Ee),Ee[1]&1024&&ie(Se,1)):(Se=Xs(Z),Se.c(),ie(Se,1),Se.m(B,te)):Se&&(lt(),de(Se,1,1,()=>{Se=null}),nt()),Z[45].visible?we?(we.p(Z,Ee),Ee[1]&16384&&ie(we,1)):(we=xs(Z),we.c(),ie(we,1),we.m(B,re)):we&&(lt(),de(we,1,1,()=>{we=null}),nt()),Z[32]?Ie?Ie.p(Z,Ee):(Ie=ni(Z),Ie.c(),Ie.m(B,pe)):Ie&&(Ie.d(1),Ie=null),Z[48]?je?je.p(Z,Ee):(je=oi(Z),je.c(),je.m(B,ye)):je&&(je.d(1),je=null),Z[55]&&Z[54]?Te?Te.p(Z,Ee):(Te=ii(Z),Te.c(),Te.m(B,He)):Te&&(Te.d(1),Te=null),Z[73]?Ve?Ve.p(Z,Ee):(Ve=ci(Z),Ve.c(),Ve.m(B,Ae)):Ve&&(Ve.d(1),Ve=null),Z[68]?_e?(_e.p(Z,Ee),Ee[2]&64&&ie(_e,1)):(_e=ui(Z),_e.c(),ie(_e,1),_e.m(B,Y)):_e&&(lt(),de(_e,1,1,()=>{_e=null}),nt()),Z[3]?ce?(ce.p(Z,Ee),Ee[0]&8&&ie(ce,1)):(ce=fi(Z),ce.c(),ie(ce,1),ce.m(B,null)):ce&&(lt(),de(ce,1,1,()=>{ce=null}),nt())},i(Z){$||(ie(D),ie(I.$$.fragment,Z),ie(x),ie(Se),ie(we),ie(_e),ie(ce),$=!0)},o(Z){de(D),de(I.$$.fragment,Z),de(x),de(Se),de(we),de(_e),de(ce),$=!1},d(Z){Z&&w(e),Le(De,Z),Ge[E].d(),Be(I),Pe.d(),ke&&ke.d(),Ne[ae].d(),Se&&Se.d(),we&&we.d(),Ie&&Ie.d(),je&&je.d(),Te&&Te.d(),Ve&&Ve.d(),_e&&_e.d(),ce&&ce.d(),ue=!1,ve(he)}}}function Jf(l){var n;let e,t;return e=new Yu({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[162]}}),{c(){Ke(e.$$.fragment)},m(o,i){We(e,o,i),t=!0},p(o,i){var a;const r={};i[0]&1&&(r.vaultPath=((a=o[0])==null?void 0:a.vaultPath)||""),e.$set(r)},i(o){t||(ie(e.$$.fragment,o),t=!0)},o(o){de(e.$$.fragment,o),t=!1},d(o){Be(e,o)}}}function qf(l){let e,t;return e=new Gu({props:{onComplete:l[161]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Po(l){let e,t;return{c(){e=f("span"),t=F(l[40]),s(e,"class","nav-badge svelte-1n7o7cr")},m(n,o){S(n,e,o),c(e,t)},p(n,o){o[1]&512&&K(t,n[40])},d(n){n&&w(e)}}}function Lo(l){let e,t=l[376].label+"",n,o,i,r,a,u,d=l[376].id==="journal"&&l[40]>0&&Po(l);function m(){return l[164](l[376])}return{c(){e=f("button"),n=F(t),o=g(),d&&d.c(),i=g(),s(e,"class",r="nav-item "+(l[25]===l[376].id?"selected":"")+" svelte-1n7o7cr")},m(h,_){S(h,e,_),c(e,n),c(e,o),d&&d.m(e,null),c(e,i),a||(u=M(e,"click",m),a=!0)},p(h,_){l=h,_[0]&16&&t!==(t=l[376].label+"")&&K(n,t),l[376].id==="journal"&&l[40]>0?d?d.p(l,_):(d=Po(l),d.c(),d.m(e,i)):d&&(d.d(1),d=null),_[0]&33554448&&r!==(r="nav-item "+(l[25]===l[376].id?"selected":"")+" svelte-1n7o7cr")&&s(e,"class",r)},d(h){h&&w(e),d&&d.d(),a=!1,u()}}}function Yf(l){let e;return{c(){e=f("div"),e.textContent=`${p("nav.noNodes")}`,s(e,"class","nav-empty svelte-1n7o7cr")},m(t,n){S(t,e,n)},p:ee,i:ee,o:ee,d(t){t&&w(e)}}}function Qf(l){var r;let e,t,n,o,i;return t=new Ii({props:{nodes:l[5],expanded:l[56],selectedNodeId:((r=l[26])==null?void 0:r.id)||"",onSelect:l[83],onToggle:l[113],onContextMenu:l[111],onDrop:l[114]}}),{c(){e=f("div"),Ke(t.$$.fragment),s(e,"class","workspace-tree-area svelte-1n7o7cr"),s(e,"role","region"),s(e,"aria-label",p("nav.workspace")),ge(e,"drop-valid",l[67])},m(a,u){S(a,e,u),We(t,e,null),n=!0,o||(i=[M(e,"dragover",Il(l[116])),M(e,"dragleave",l[117]),M(e,"drop",l[115])],o=!0)},p(a,u){var m;const d={};u[0]&32&&(d.nodes=a[5]),u[1]&33554432&&(d.expanded=a[56]),u[0]&67108864&&(d.selectedNodeId=((m=a[26])==null?void 0:m.id)||""),t.$set(d),(!n||u[2]&32)&&ge(e,"drop-valid",a[67])},i(a){n||(ie(t.$$.fragment,a),n=!0)},o(a){de(t.$$.fragment,a),n=!1},d(a){a&&w(e),Be(t),o=!1,ve(i)}}}function Xf(l){let e;return{c(){e=f("span"),e.textContent=`${p("nav.selectPrompt")}`,s(e,"class","crumb placeholder svelte-1n7o7cr")},m(t,n){S(t,e,n)},p:ee,d(t){t&&w(e)}}}function Zf(l){let e,t=fe(l[4]),n=[];for(let o=0;o',s(i,"class","dismiss-btn svelte-1n7o7cr"),s(i,"aria-label","Dismiss"),s(e,"class","error-banner svelte-1n7o7cr"),s(e,"role","button"),s(e,"tabindex","0")},m(u,d){S(u,e,d),c(e,n),c(e,o),c(e,i),r||(a=[M(i,"click",Ye(l[167])),M(e,"click",l[168]),M(e,"keydown",function(){mt(ct(l[169]))&&ct(l[169]).apply(this,arguments)})],r=!0)},p(u,d){l=u,d[0]&16777216&&t!==(t=l[79](l[24])+"")&&K(n,t)},d(u){u&&w(e),r=!1,ve(a)}}}function xf(l){let e,t,n;function o(a,u){if(a[52])return rd;if(a[4].length>0)return id;if(a[24])return sd}let i=o(l),r=i&&i(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("welcome.title")}`,n=g(),r&&r.c(),s(t,"class","svelte-1n7o7cr"),s(e,"class","welcome svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,t),c(e,n),r&&r.m(e,null)},p(a,u){i===(i=o(a))&&r?r.p(a,u):(r&&r.d(1),r=i&&i(a),r&&(r.c(),r.m(e,null)))},i:ee,o:ee,d(a){a&&w(e),r&&r.d()}}}function ed(l){let e,t,n,o;function i(u,d){return u[8].length===0?ad:cd}let r=i(l),a=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("activity.title")}`,o=g(),a.c(),s(n,"class","svelte-1n7o7cr"),s(t,"class","activity-feed-header svelte-1n7o7cr"),s(e,"class","activity-feed svelte-1n7o7cr")},m(u,d){S(u,e,d),c(e,t),c(t,n),c(e,o),a.m(e,null)},p(u,d){r===(r=i(u))&&a?a.p(u,d):(a.d(1),a=r(u),a&&(a.c(),a.m(e,null)))},i:ee,o:ee,d(u){u&&w(e),a.d()}}}function td(l){let e,t,n,o,i,r=l[7].date+"",a,u,d,m,h=l[7].summary&&Wo(l),_=l[39].length>0&&Ko(l);function b(C,T){return C[7].groups&&C[7].groups.length>0?fd:ud}let k=b(l),y=k(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("today.title")}`,o=g(),i=f("span"),a=F(r),u=g(),h&&h.c(),d=g(),_&&_.c(),m=g(),y.c(),s(n,"class","svelte-1n7o7cr"),s(i,"class","today-date svelte-1n7o7cr"),s(t,"class","today-header svelte-1n7o7cr"),s(e,"class","today-dashboard svelte-1n7o7cr")},m(C,T){S(C,e,T),c(e,t),c(t,n),c(t,o),c(t,i),c(i,a),c(e,u),h&&h.m(e,null),c(e,d),_&&_.m(e,null),c(e,m),y.m(e,null)},p(C,T){T[0]&128&&r!==(r=C[7].date+"")&&K(a,r),C[7].summary?h?h.p(C,T):(h=Wo(C),h.c(),h.m(e,d)):h&&(h.d(1),h=null),C[39].length>0?_?_.p(C,T):(_=Ko(C),_.c(),_.m(e,m)):_&&(_.d(1),_=null),k===(k=b(C))&&y?y.p(C,T):(y.d(1),y=k(C),y&&(y.c(),y.m(e,null)))},i:ee,o:ee,d(C){C&&w(e),h&&h.d(),_&&_.d(),y.d()}}}function ld(l){let e,t,n,o,i,r,a,u,d,m,h,_,b,k,y,C,T,j,E,D,N,P,I,R,z,V,U,q,J,G,B,H,A,O,Q,W,se,ae,x,le,te,re,pe,ye,He,Ae,Y,$,ue,he,Ce,De,Ue,Ge,qe,Je,Fe,Pe,ke;function ze(ce,Z){return ce[17]?_d:md}let Ne=ze(l),Oe=Ne(l),Se=l[14]&&ns(l),we=l[18]&&os(l),Ie=l[39].length>0&&ss(l),je=l[10]&&us(l);function Te(ce,Z){return ce[9].length===0?hd:vd}let Ve=Te(l),_e=Ve(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("journal.title")}`,o=g(),i=f("div"),r=f("div"),r.textContent=`${p("journal.filterHeading")}`,a=g(),u=f("div"),d=f("label"),m=f("span"),m.textContent=`${p("journal.dateFrom")}`,h=g(),_=f("input"),b=g(),k=f("label"),y=f("span"),y.textContent=`${p("journal.dateTo")}`,C=g(),T=f("input"),j=g(),E=f("label"),D=f("span"),D.textContent=`${p("journal.node")}`,N=g(),P=f("div"),Oe.c(),I=g(),Se&&Se.c(),R=g(),z=f("label"),V=f("span"),V.textContent=`${p("journal.billable")}`,U=g(),q=f("select"),J=f("option"),J.textContent=`${p("common.all")}`,G=f("option"),G.textContent=`${p("journal.billableYes")}`,B=f("option"),B.textContent=`${p("journal.billableNo")}`,H=g(),A=f("label"),O=f("span"),O.textContent=`${p("journal.approx")}`,Q=g(),W=f("select"),se=f("option"),se.textContent=`${p("common.all")}`,ae=f("option"),ae.textContent=`${p("journal.approxExact")}`,x=f("option"),x.textContent=`${p("journal.approxEstimated")}`,le=g(),te=f("button"),te.textContent=`${p("journal.filter")}`,re=g(),pe=f("button"),pe.textContent=`${p("journal.reset")}`,ye=g(),He=f("div"),Ae=f("div"),Ae.textContent=`${p("journal.exportHeading")}`,Y=g(),$=f("div"),ue=f("button"),ue.textContent=`${p("journal.exportCSV")}`,he=g(),Ce=f("button"),Ce.textContent=`${p("journal.exportMarkdown")}`,De=g(),Ue=f("button"),Ue.textContent="PDF",Ge=g(),we&&we.c(),qe=g(),Ie&&Ie.c(),Je=g(),je&&je.c(),Fe=g(),_e.c(),s(n,"class","svelte-1n7o7cr"),s(r,"class","journal-filter-heading svelte-1n7o7cr"),s(m,"class","label-text svelte-1n7o7cr"),s(_,"type","date"),s(_,"class","svelte-1n7o7cr"),s(d,"class","svelte-1n7o7cr"),s(y,"class","label-text svelte-1n7o7cr"),s(T,"type","date"),s(T,"class","svelte-1n7o7cr"),s(k,"class","svelte-1n7o7cr"),s(D,"class","label-text svelte-1n7o7cr"),s(P,"class","journal-node-picker svelte-1n7o7cr"),rt(P,"position","relative"),s(E,"class","svelte-1n7o7cr"),s(V,"class","label-text svelte-1n7o7cr"),J.__value="all",be(J,J.__value),s(J,"class","svelte-1n7o7cr"),G.__value="yes",be(G,G.__value),s(G,"class","svelte-1n7o7cr"),B.__value="no",be(B,B.__value),s(B,"class","svelte-1n7o7cr"),s(q,"class","svelte-1n7o7cr"),l[15]===void 0&&wt(()=>l[216].call(q)),s(z,"title",p("journal.billableHint")),s(z,"class","svelte-1n7o7cr"),s(O,"class","label-text svelte-1n7o7cr"),se.__value="all",be(se,se.__value),s(se,"class","svelte-1n7o7cr"),ae.__value="no",be(ae,ae.__value),s(ae,"class","svelte-1n7o7cr"),x.__value="yes",be(x,x.__value),s(x,"class","svelte-1n7o7cr"),s(W,"class","svelte-1n7o7cr"),l[16]===void 0&&wt(()=>l[217].call(W)),s(A,"title",p("journal.approxHint")),s(A,"class","svelte-1n7o7cr"),s(te,"class","btn btn-sm svelte-1n7o7cr"),s(pe,"class","btn btn-sm svelte-1n7o7cr"),s(u,"class","journal-filters-row svelte-1n7o7cr"),s(i,"class","journal-filter-section svelte-1n7o7cr"),s(Ae,"class","journal-export-heading svelte-1n7o7cr"),s(ue,"class","btn btn-sm svelte-1n7o7cr"),s(Ce,"class","btn btn-sm svelte-1n7o7cr"),s(Ue,"class","btn btn-sm svelte-1n7o7cr"),s($,"class","journal-export-row svelte-1n7o7cr"),s(He,"class","journal-export-section svelte-1n7o7cr"),s(t,"class","journal-header svelte-1n7o7cr"),s(e,"class","journal-screen svelte-1n7o7cr")},m(ce,Z){S(ce,e,Z),c(e,t),c(t,n),c(t,o),c(t,i),c(i,r),c(i,a),c(i,u),c(u,d),c(d,m),c(d,h),c(d,_),be(_,l[11]),c(u,b),c(u,k),c(k,y),c(k,C),c(k,T),be(T,l[12]),c(u,j),c(u,E),c(E,D),c(E,N),c(E,P),Oe.m(P,null),c(u,I),Se&&Se.m(u,null),c(u,R),c(u,z),c(z,V),c(z,U),c(z,q),c(q,J),c(q,G),c(q,B),pt(q,l[15],!0),c(u,H),c(u,A),c(A,O),c(A,Q),c(A,W),c(W,se),c(W,ae),c(W,x),pt(W,l[16],!0),c(u,le),c(u,te),c(u,re),c(u,pe),c(t,ye),c(t,He),c(He,Ae),c(He,Y),c(He,$),c($,ue),c($,he),c($,Ce),c($,De),c($,Ue),c($,Ge),we&&we.m($,null),c(e,qe),Ie&&Ie.m(e,null),c(e,Je),je&&je.m(e,null),c(e,Fe),_e.m(e,null),Pe||(ke=[M(_,"input",l[209]),M(T,"input",l[210]),M(q,"change",l[216]),M(W,"change",l[217]),M(te,"click",l[134]),M(pe,"click",l[141]),M(ue,"click",l[218]),M(Ce,"click",l[219]),M(Ue,"click",l[220])],Pe=!0)},p(ce,Z){Z[0]&2048&&be(_,ce[11]),Z[0]&4096&&be(T,ce[12]),Ne===(Ne=ze(ce))&&Oe?Oe.p(ce,Z):(Oe.d(1),Oe=Ne(ce),Oe&&(Oe.c(),Oe.m(P,null))),ce[14]?Se?Se.p(ce,Z):(Se=ns(ce),Se.c(),Se.m(u,R)):Se&&(Se.d(1),Se=null),Z[0]&32768&&pt(q,ce[15]),Z[0]&65536&&pt(W,ce[16]),ce[18]?we?we.p(ce,Z):(we=os(ce),we.c(),we.m($,null)):we&&(we.d(1),we=null),ce[39].length>0?Ie?Ie.p(ce,Z):(Ie=ss(ce),Ie.c(),Ie.m(e,Je)):Ie&&(Ie.d(1),Ie=null),ce[10]?je?je.p(ce,Z):(je=us(ce),je.c(),je.m(e,Fe)):je&&(je.d(1),je=null),Ve===(Ve=Te(ce))&&_e?_e.p(ce,Z):(_e.d(1),_e=Ve(ce),_e&&(_e.c(),_e.m(e,null)))},i:ee,o:ee,d(ce){ce&&w(e),Oe.d(),Se&&Se.d(),we&&we.d(),Ie&&Ie.d(),je&&je.d(),_e.d(),Pe=!1,ve(ke)}}}function nd(l){let e,t,n,o,i,r,a=fe(l[81]),u=[];for(let _=0;_{m[k]=null}),nt()),~o?(i=m[o],i?i.p(_,b):(i=m[o]=d[o](_),i.c()),ie(i,1),i.m(n,null)):i=null)},i(_){r||(ie(i),r=!0)},o(_){de(i),r=!1},d(_){_&&(w(e),w(t),w(n)),Le(u,_),~o&&m[o].d()}}}function od(l){let e,t,n,o=l[29].title+"",i,r,a,u,d,m,h,_,b,k,y,C=l[29].dirty&&Qs();return{c(){e=f("div"),t=f("div"),n=f("span"),i=F(o),r=g(),C&&C.c(),a=g(),u=f("div"),d=f("button"),d.textContent=`${p("common.save")}`,m=g(),h=f("button"),h.textContent=`${p("common.close")}`,_=g(),b=f("textarea"),s(n,"class","note-title svelte-1n7o7cr"),s(d,"class","btn btn-primary svelte-1n7o7cr"),s(h,"class","btn svelte-1n7o7cr"),s(u,"class","note-editor-actions svelte-1n7o7cr"),s(t,"class","note-editor-header svelte-1n7o7cr"),s(b,"class","note-textarea svelte-1n7o7cr"),s(b,"placeholder",p("note.placeholder")),s(e,"class","note-editor svelte-1n7o7cr")},m(T,j){S(T,e,j),c(e,t),c(t,n),c(n,i),c(t,r),C&&C.m(t,null),c(t,a),c(t,u),c(u,d),c(u,m),c(u,h),c(e,_),c(e,b),be(b,l[29].content),k||(y=[M(d,"click",l[128]),M(h,"click",l[126]),M(b,"input",l[170]),M(b,"input",l[127])],k=!0)},p(T,j){j[0]&536870912&&o!==(o=T[29].title+"")&&K(i,o),T[29].dirty?C||(C=Qs(),C.c(),C.m(t,a)):C&&(C.d(1),C=null),j[0]&536870912&&be(b,T[29].content)},i:ee,o:ee,d(T){T&&w(e),C&&C.d(),k=!1,ve(y)}}}function sd(l){let e,t=p("common.error")+"",n,o,i;return{c(){e=f("p"),n=F(t),o=g(),i=F(l[24]),s(e,"class","error-text svelte-1n7o7cr")},m(r,a){S(r,e,a),c(e,n),c(e,o),c(e,i)},p(r,a){a[0]&16777216&&K(i,r[24])},d(r){r&&w(e)}}}function id(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${p("welcome.selectSection")}`,t=g(),n=f("p"),n.textContent=`${p("welcome.createCase")}`,s(e,"class","svelte-1n7o7cr"),s(n,"class","hint svelte-1n7o7cr")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},p:ee,d(o){o&&(w(e),w(t),w(n))}}}function rd(l){let e;return{c(){e=f("p"),e.textContent=`${p("common.loading")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},p:ee,d(t){t&&w(e)}}}function cd(l){let e,t=fe(l[8]),n=[];for(let o=0;o0&&Bo(l),i=l[7].summary.notes>0&&Ho(l),r=l[7].summary.files>0&&Uo(l);return{c(){e=f("div"),o&&o.c(),t=g(),i&&i.c(),n=g(),r&&r.c(),s(e,"class","today-summary svelte-1n7o7cr")},m(a,u){S(a,e,u),o&&o.m(e,null),c(e,t),i&&i.m(e,null),c(e,n),r&&r.m(e,null)},p(a,u){a[7].summary.changedCases>0?o?o.p(a,u):(o=Bo(a),o.c(),o.m(e,t)):o&&(o.d(1),o=null),a[7].summary.notes>0?i?i.p(a,u):(i=Ho(a),i.c(),i.m(e,n)):i&&(i.d(1),i=null),a[7].summary.files>0?r?r.p(a,u):(r=Uo(a),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(a){a&&w(e),o&&o.d(),i&&i.d(),r&&r.d()}}}function Bo(l){let e,t=l[7].summary.changedCases+"",n,o,i=_t(l[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"",r;return{c(){e=f("span"),n=F(t),o=g(),r=F(i),s(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,n),c(e,o),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.changedCases+"")&&K(n,t),u[0]&128&&i!==(i=_t(a[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"")&&K(r,i)},d(a){a&&w(e)}}}function Ho(l){let e,t=l[7].summary.notes+"",n,o,i=_t(l[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"",r;return{c(){e=f("span"),n=F(t),o=g(),r=F(i),s(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,n),c(e,o),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.notes+"")&&K(n,t),u[0]&128&&i!==(i=_t(a[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"")&&K(r,i)},d(a){a&&w(e)}}}function Uo(l){let e,t=l[7].summary.files+"",n,o,i=_t(l[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"",r;return{c(){e=f("span"),n=F(t),o=g(),r=F(i),s(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,n),c(e,o),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.files+"")&&K(n,t),u[0]&128&&i!==(i=_t(a[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"")&&K(r,i)},d(a){a&&w(e)}}}function Ko(l){let e,t,n,o=fe(l[39]),i=[];for(let r=0;r0&&Go(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=F(i),a=g(),u=f("span"),m=F(d),h=g(),_=f("span"),k=F(b),y=g(),C=f("div"),T=f("input"),E=g(),D=f("span"),D.textContent=`${p("suggest.minutes")}`,N=g(),P=f("button"),P.textContent=`${p("suggest.apply")}`,I=g(),H&&H.c(),R=g(),s(o,"class","suggestion-node link-btn svelte-1n7o7cr"),s(u,"class","suggestion-summary svelte-1n7o7cr"),s(_,"class","suggestion-confidence svelte-1n7o7cr"),ge(_,"low",l[334].confidence==="low"),ge(_,"medium",l[334].confidence==="medium"),ge(_,"high",l[334].confidence==="high"),s(n,"class","suggestion-info svelte-1n7o7cr"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-1n7o7cr"),T.value=j=l[334].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(D,"class","suggestion-min-label svelte-1n7o7cr"),s(P,"class","btn btn-sm btn-primary svelte-1n7o7cr"),s(C,"class","suggestion-actions svelte-1n7o7cr"),s(t,"class","suggestion-main svelte-1n7o7cr"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1n7o7cr"),ge(e,"expanded",l[334]._expanded)},m(A,O){S(A,e,O),c(e,t),c(t,n),c(n,o),c(o,r),c(n,a),c(n,u),c(u,m),c(n,h),c(n,_),c(_,k),c(t,y),c(t,C),c(C,T),c(C,E),c(C,D),c(C,N),c(C,P),c(e,I),H&&H.m(e,null),c(e,R),z||(V=[M(o,"click",Ye(U)),M(T,"change",Ye(q)),M(P,"click",Ye(J)),M(t,"click",G),M(t,"keydown",B)],z=!0)},p(A,O){l=A,O[1]&256&&i!==(i=l[334].nodeTitle+"")&&K(r,i),O[1]&256&&d!==(d=l[334].summary+"")&&K(m,d),O[1]&256&&b!==(b=p("suggest.confidence."+l[334].confidence)+"")&&K(k,b),O[1]&256&&ge(_,"low",l[334].confidence==="low"),O[1]&256&&ge(_,"medium",l[334].confidence==="medium"),O[1]&256&&ge(_,"high",l[334].confidence==="high"),O[1]&256&&j!==(j=l[334].suggestedMin)&&T.value!==j&&(T.value=j),l[334]._expanded&&l[334].events&&l[334].events.length>0?H?H.p(l,O):(H=Go(l),H.c(),H.m(e,R)):H&&(H.d(1),H=null),O[1]&256&&ge(e,"expanded",l[334]._expanded)},d(A){A&&w(e),H&&H.d(),z=!1,ve(V)}}}function ud(l){let e,t,n,o;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("today.empty")}`,n=g(),o=f("p"),o.textContent=`${p("today.emptyHint")}`,s(t,"class","svelte-1n7o7cr"),s(o,"class","hint svelte-1n7o7cr"),s(e,"class","today-empty svelte-1n7o7cr")},m(i,r){S(i,e,r),c(e,t),c(e,n),c(e,o)},p:ee,d(i){i&&w(e)}}}function fd(l){let e,t,n=fe(l[7].groups),o=[];for(let r=0;r0&&xo(l);return{c(){for(let r=0;r0?i?i.p(r,a):(i=xo(r),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(r){r&&(w(e),w(t)),Le(o,r),i&&i.d(r)}}}function Qo(l){let e,t=l[362].events.length+"",n,o,i=_t(l[362].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"",r;return{c(){e=f("span"),n=F(t),o=g(),r=F(i),s(e,"class","today-case-count svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,n),c(e,o),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[362].events.length+"")&&K(n,t),u[0]&128&&i!==(i=_t(a[362].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"")&&K(r,i)},d(a){a&&w(e)}}}function dd(l){let e;return{c(){e=f("div"),e.textContent=`${p("today.changedCases")}`,s(e,"class","today-events-empty svelte-1n7o7cr")},m(t,n){S(t,e,n)},p:ee,d(t){t&&w(e)}}}function pd(l){let e,t=fe(l[362].events),n=[];for(let o=0;o0?pd:dd}let P=N(l),I=P(l);return{c(){e=f("div"),t=f("div"),n=f("span"),i=F(o),r=g(),a=f("span"),d=F(u),m=g(),j&&j.c(),h=g(),_=f("span"),k=F(b),y=g(),I.c(),s(n,"class","today-case-title svelte-1n7o7cr"),s(a,"class","today-case-type svelte-1n7o7cr"),s(_,"class","today-case-time svelte-1n7o7cr"),s(t,"class","today-case-header svelte-1n7o7cr"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","today-case svelte-1n7o7cr")},m(R,z){S(R,e,z),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,m),j&&j.m(t,null),c(t,h),c(t,_),c(_,k),c(e,y),I.m(e,null),C||(T=[M(t,"click",E),M(t,"keydown",D)],C=!0)},p(R,z){l=R,z[0]&128&&o!==(o=l[362].nodeTitle+"")&&K(i,o),z[0]&128&&u!==(u=l[148](l[362].nodeKind)+"")&&K(d,u),l[362].events?j?j.p(l,z):(j=Qo(l),j.c(),j.m(t,h)):j&&(j.d(1),j=null),z[0]&128&&b!==(b=xe(l[362].lastActivityAt)+"")&&K(k,b),P===(P=N(l))&&I?I.p(l,z):(I.d(1),I=P(l),I&&(I.c(),I.m(e,null)))},d(R){R&&w(e),j&&j.d(),I.d(),C=!1,ve(T)}}}function xo(l){let e,t,n,o=fe(l[7].events),i=[];for(let r=0;r0&&is(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=F(i),a=g(),u=f("span"),m=F(d),h=g(),_=f("span"),k=F(b),y=g(),C=f("div"),T=f("input"),E=g(),D=f("span"),D.textContent=`${p("suggest.minutes")}`,N=g(),P=f("button"),P.textContent=`${p("suggest.apply")}`,I=g(),H&&H.c(),R=g(),s(o,"class","suggestion-node link-btn svelte-1n7o7cr"),s(u,"class","suggestion-summary svelte-1n7o7cr"),s(_,"class","suggestion-confidence svelte-1n7o7cr"),ge(_,"low",l[334].confidence==="low"),ge(_,"medium",l[334].confidence==="medium"),ge(_,"high",l[334].confidence==="high"),s(n,"class","suggestion-info svelte-1n7o7cr"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-1n7o7cr"),T.value=j=l[334].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(D,"class","suggestion-min-label svelte-1n7o7cr"),s(P,"class","btn btn-sm btn-primary svelte-1n7o7cr"),s(C,"class","suggestion-actions svelte-1n7o7cr"),s(t,"class","suggestion-main svelte-1n7o7cr"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1n7o7cr"),ge(e,"expanded",l[334]._expanded)},m(A,O){S(A,e,O),c(e,t),c(t,n),c(n,o),c(o,r),c(n,a),c(n,u),c(u,m),c(n,h),c(n,_),c(_,k),c(t,y),c(t,C),c(C,T),c(C,E),c(C,D),c(C,N),c(C,P),c(e,I),H&&H.m(e,null),c(e,R),z||(V=[M(o,"click",Ye(U)),M(T,"change",Ye(q)),M(P,"click",Ye(J)),M(t,"click",G),M(t,"keydown",B)],z=!0)},p(A,O){l=A,O[1]&256&&i!==(i=l[334].nodeTitle+"")&&K(r,i),O[1]&256&&d!==(d=l[334].summary+"")&&K(m,d),O[1]&256&&b!==(b=p("suggest.confidence."+l[334].confidence)+"")&&K(k,b),O[1]&256&&ge(_,"low",l[334].confidence==="low"),O[1]&256&&ge(_,"medium",l[334].confidence==="medium"),O[1]&256&&ge(_,"high",l[334].confidence==="high"),O[1]&256&&j!==(j=l[334].suggestedMin)&&T.value!==j&&(T.value=j),l[334]._expanded&&l[334].events&&l[334].events.length>0?H?H.p(l,O):(H=is(l),H.c(),H.m(e,R)):H&&(H.d(1),H=null),O[1]&256&&ge(e,"expanded",l[334]._expanded)},d(A){A&&w(e),H&&H.d(),z=!1,ve(V)}}}function us(l){let e,t,n=p("journal.total")+"",o,i,r=Math.floor(l[10].totalMinutes/60)+"",a,u,d=l[10].totalMinutes%60+"",m,h,_=l[10].totalEntries+"",b,k,y=p("worklog.min")+"",C,T,j,E,D=l[10].byDay&&l[10].byDay.length>0&&fs(l),N=l[10].byNode&&l[10].byNode.length>0&&ps(l);return{c(){e=f("div"),t=f("div"),o=F(n),i=F(": "),a=F(r),u=F("ч "),m=F(d),h=F("м ("),b=F(_),k=g(),C=F(y),T=F(")"),j=g(),D&&D.c(),E=g(),N&&N.c(),s(t,"class","summary-total svelte-1n7o7cr"),s(e,"class","journal-summary svelte-1n7o7cr")},m(P,I){S(P,e,I),c(e,t),c(t,o),c(t,i),c(t,a),c(t,u),c(t,m),c(t,h),c(t,b),c(t,k),c(t,C),c(t,T),c(e,j),D&&D.m(e,null),c(e,E),N&&N.m(e,null)},p(P,I){I[0]&1024&&r!==(r=Math.floor(P[10].totalMinutes/60)+"")&&K(a,r),I[0]&1024&&d!==(d=P[10].totalMinutes%60+"")&&K(m,d),I[0]&1024&&_!==(_=P[10].totalEntries+"")&&K(b,_),P[10].byDay&&P[10].byDay.length>0?D?D.p(P,I):(D=fs(P),D.c(),D.m(e,E)):D&&(D.d(1),D=null),P[10].byNode&&P[10].byNode.length>0?N?N.p(P,I):(N=ps(P),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(P){P&&w(e),D&&D.d(),N&&N.d()}}}function fs(l){let e,t,n,o=fe(l[10].byDay),i=[];for(let r=0;r0?wd:y[344].source==="suggestion"?yd:y[344].source==="unknown"||y[344].source==="imported"?kd:y[344]._hasEvents?bd:gd}let _=h(l),b=_(l),k=l[344]._events&&bs(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),m&&m.c(),o=g(),i=f("div"),r=f("span"),r.textContent=`${p("worklog.source")}`,a=g(),b.c(),u=g(),k&&k.c(),d=g(),s(r,"class","journal-detail-label svelte-1n7o7cr"),s(i,"class","journal-detail-section svelte-1n7o7cr"),s(n,"class","journal-detail-body svelte-1n7o7cr"),s(t,"colspan","8"),s(t,"class","svelte-1n7o7cr"),s(e,"class","journal-row-detail svelte-1n7o7cr")},m(y,C){S(y,e,C),c(e,t),c(t,n),m&&m.m(n,null),c(n,o),c(n,i),c(i,r),c(i,a),b.m(i,null),c(n,u),k&&k.m(n,null),c(e,d)},p(y,C){y[344].details?m?m.p(y,C):(m=gs(y),m.c(),m.m(n,o)):m&&(m.d(1),m=null),_!==(_=h(y))&&(b.d(1),b=_(y),b&&(b.c(),b.m(i,null))),y[344]._events?k?k.p(y,C):(k=bs(y),k.c(),k.m(n,null)):k&&(k.d(1),k=null)},d(y){y&&w(e),m&&m.d(),b.d(),k&&k.d()}}}function gs(l){let e,t,n,o,i=l[344].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=g(),o=f("p"),r=F(i),s(t,"class","journal-detail-label svelte-1n7o7cr"),s(o,"class","svelte-1n7o7cr"),s(e,"class","journal-detail-section svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u[0]&512&&i!==(i=a[344].details+"")&&K(r,i)},d(a){a&&w(e)}}}function gd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function bd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function kd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function yd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function wd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Cd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function bs(l){let e,t,n,o=fe(l[344]._events),i=[];for(let r=0;r0,r,a,u,d=i&&js(l);function m(b,k){return b[31].length===0?Fd:Ad}let h=m(l),_=h(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${p("worklog.addEntry")}`,o=g(),d&&d.c(),r=g(),_.c(),s(n,"class","btn btn-primary btn-sm svelte-1n7o7cr"),s(t,"class","worklog-toolbar svelte-1n7o7cr"),s(e,"class","worklog-tab svelte-1n7o7cr")},m(b,k){S(b,e,k),c(e,t),c(t,n),c(e,o),d&&d.m(e,null),c(e,r),_.m(e,null),a||(u=M(n,"click",l[129]),a=!0)},p(b,k){k[0]&67108864|k[1]&256&&(i=b[26]&&b[39].filter(b[163]).length>0),i?d?d.p(b,k):(d=js(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),h===(h=m(b))&&_?_.p(b,k):(_.d(1),_=h(b),_&&(_.c(),_.m(e,null)))},i:ee,o:ee,d(b){b&&w(e),d&&d.d(),_.d(),a=!1,u()}}}function Td(l){let e,t,n,o,i,r;function a(m,h){return m[30].length===0?Wd:Vd}let u=a(l),d=u(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("action.addAction")}`,o=g(),d.c(),s(n,"class","btn btn-primary svelte-1n7o7cr"),s(t,"class","tab-toolbar svelte-1n7o7cr"),s(e,"class","actions-tab svelte-1n7o7cr")},m(m,h){S(m,e,h),c(e,t),c(t,n),c(e,o),d.m(e,null),i||(r=M(n,"click",l[149]),i=!0)},p(m,h){u===(u=a(m))&&d?d.p(m,h):(d.d(1),d=u(m),d&&(d.c(),d.m(e,null)))},i:ee,o:ee,d(m){m&&w(e),d.d(),i=!1,r()}}}function Ed(l){let e,t,n,o=p("file.addFile")+"",i,r,a,u=p("file.addFolder")+"",d,m,h,_,b,k,y,C,T,j,E,D,N,P=l[65].items.length>0&&Vs(l);const I=[Hd,Bd],R=[];function z(q,J){return q[57]?0:1}k=z(l),y=R[k]=I[k](l);let V=l[53]&&!l[55]&&Bs(),U=l[61]&&Hs(l);return{c(){e=f("div"),t=f("div"),n=f("button"),i=F(o),r=g(),a=f("button"),d=F(u),m=g(),h=f("button"),h.textContent=`${p("file.newFile")}`,_=g(),P&&P.c(),b=g(),y.c(),C=g(),V&&V.c(),T=g(),U&&U.c(),j=st(),s(n,"class","btn btn-primary svelte-1n7o7cr"),n.disabled=l[53],s(a,"class","btn svelte-1n7o7cr"),a.disabled=l[53],s(h,"class","btn svelte-1n7o7cr"),s(t,"class","tab-toolbar svelte-1n7o7cr"),s(e,"class","files-tab svelte-1n7o7cr")},m(q,J){S(q,e,J),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,m),c(t,h),c(t,_),P&&P.m(t,null),c(e,b),R[k].m(e,null),c(e,C),V&&V.m(e,null),S(q,T,J),U&&U.m(q,J),S(q,j,J),E=!0,D||(N=[M(n,"click",l[142]),M(a,"click",l[143]),M(h,"click",l[90])],D=!0)},p(q,J){(!E||J[1]&4194304)&&(n.disabled=q[53]),(!E||J[1]&4194304)&&(a.disabled=q[53]),q[65].items.length>0?P?P.p(q,J):(P=Vs(q),P.c(),P.m(t,null)):P&&(P.d(1),P=null);let G=k;k=z(q),k===G?R[k].p(q,J):(lt(),de(R[G],1,1,()=>{R[G]=null}),nt(),y=R[k],y?y.p(q,J):(y=R[k]=I[k](q),y.c()),ie(y,1),y.m(e,C)),q[53]&&!q[55]?V||(V=Bs(),V.c(),V.m(e,null)):V&&(V.d(1),V=null),q[61]?U?(U.p(q,J),J[1]&1073741824&&ie(U,1)):(U=Hs(q),U.c(),ie(U,1),U.m(j.parentNode,j)):U&&(lt(),de(U,1,1,()=>{U=null}),nt())},i(q){E||(ie(y),ie(U),E=!0)},o(q){de(y),de(U),E=!1},d(q){q&&(w(e),w(T),w(j)),P&&P.d(),R[k].d(),V&&V.d(),U&&U.d(q),D=!1,ve(N)}}}function Nd(l){let e,t,n,o,i,r,a,u=l[46]&&Us(l);function d(_,b){return _[28].length===0&&!_[46]?Yd:qd}let m=d(l),h=m(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("note.add")}`,o=g(),u&&u.c(),i=g(),h.c(),s(n,"class","btn btn-primary svelte-1n7o7cr"),s(t,"class","tab-toolbar svelte-1n7o7cr"),s(e,"class","notes-tab svelte-1n7o7cr")},m(_,b){S(_,e,b),c(e,t),c(t,n),c(e,o),u&&u.m(e,null),c(e,i),h.m(e,null),r||(a=M(n,"click",l[122]),r=!0)},p(_,b){_[46]?u?u.p(_,b):(u=Us(_),u.c(),u.m(e,i)):u&&(u.d(1),u=null),m===(m=d(_))&&h?h.p(_,b):(h.d(1),h=m(_),h&&(h.c(),h.m(e,null)))},i:ee,o:ee,d(_){_&&w(e),u&&u.d(),h.d(),r=!1,a()}}}function Dd(l){let e,t,n=l[26].title+"",o,i,r,a,u,d,m=l[148](l[26].type)+"",h,_,b,k,y,C=(l[26].section||"—")+"",T,j,E,D,N,P=ut(l[26].createdAt)+"",I,R,z,V,U,q,J,G,B=p("overview.newNote")+"",H,A,O,Q,W,se,ae=p("overview.addFile")+"",x,le,te,re,pe,ye,He=p("overview.addAction")+"",Ae,Y,$,ue,he,Ce,De,Ue=p("overview.logTime")+"",Ge,qe,Je,Fe,Pe,ke=l[28].length>0&&Gs(l),ze=l[31].length>0&&qs(l);return{c(){e=f("div"),t=f("h2"),o=F(n),i=g(),r=f("div"),a=f("div"),u=f("span"),u.textContent=`${p("overview.type")}`,d=f("span"),h=F(m),_=g(),b=f("div"),k=f("span"),k.textContent=`${p("overview.section")}`,y=f("span"),T=F(C),j=g(),E=f("div"),D=f("span"),D.textContent=`${p("overview.created")}`,N=f("span"),I=F(P),R=g(),z=f("div"),V=f("button"),U=X("svg"),q=X("path"),J=X("path"),G=g(),H=F(B),A=g(),O=f("button"),Q=X("svg"),W=X("path"),se=g(),x=F(ae),le=g(),te=f("button"),re=X("svg"),pe=X("polygon"),ye=g(),Ae=F(He),Y=g(),$=f("button"),ue=X("svg"),he=X("circle"),Ce=X("polyline"),De=g(),Ge=F(Ue),qe=g(),ke&&ke.c(),Je=g(),ze&&ze.c(),s(t,"class","svelte-1n7o7cr"),s(u,"class","meta-label svelte-1n7o7cr"),s(d,"class","svelte-1n7o7cr"),s(a,"class","meta-item svelte-1n7o7cr"),s(k,"class","meta-label svelte-1n7o7cr"),s(y,"class","svelte-1n7o7cr"),s(b,"class","meta-item svelte-1n7o7cr"),s(D,"class","meta-label svelte-1n7o7cr"),s(N,"class","svelte-1n7o7cr"),s(E,"class","meta-item svelte-1n7o7cr"),s(r,"class","meta-grid svelte-1n7o7cr"),s(q,"d","M12 20h9"),s(q,"class","svelte-1n7o7cr"),s(J,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(J,"class","svelte-1n7o7cr"),s(U,"width","16"),s(U,"height","16"),s(U,"viewBox","0 0 24 24"),s(U,"fill","none"),s(U,"stroke","currentColor"),s(U,"stroke-width","2"),s(U,"stroke-linecap","round"),s(U,"stroke-linejoin","round"),s(U,"class","svelte-1n7o7cr"),s(V,"class","qa-btn svelte-1n7o7cr"),s(W,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),s(W,"class","svelte-1n7o7cr"),s(Q,"width","16"),s(Q,"height","16"),s(Q,"viewBox","0 0 24 24"),s(Q,"fill","none"),s(Q,"stroke","currentColor"),s(Q,"stroke-width","2"),s(Q,"stroke-linecap","round"),s(Q,"stroke-linejoin","round"),s(Q,"class","svelte-1n7o7cr"),s(O,"class","qa-btn svelte-1n7o7cr"),s(pe,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),s(pe,"class","svelte-1n7o7cr"),s(re,"width","16"),s(re,"height","16"),s(re,"viewBox","0 0 24 24"),s(re,"fill","none"),s(re,"stroke","currentColor"),s(re,"stroke-width","2"),s(re,"stroke-linecap","round"),s(re,"stroke-linejoin","round"),s(re,"class","svelte-1n7o7cr"),s(te,"class","qa-btn svelte-1n7o7cr"),s(he,"cx","12"),s(he,"cy","12"),s(he,"r","10"),s(he,"class","svelte-1n7o7cr"),s(Ce,"points","12 6 12 12 16 14"),s(Ce,"class","svelte-1n7o7cr"),s(ue,"width","16"),s(ue,"height","16"),s(ue,"viewBox","0 0 24 24"),s(ue,"fill","none"),s(ue,"stroke","currentColor"),s(ue,"stroke-width","2"),s(ue,"stroke-linecap","round"),s(ue,"stroke-linejoin","round"),s(ue,"class","svelte-1n7o7cr"),s($,"class","qa-btn svelte-1n7o7cr"),s(z,"class","quick-actions svelte-1n7o7cr"),s(e,"class","overview svelte-1n7o7cr")},m(Ne,Oe){S(Ne,e,Oe),c(e,t),c(t,o),c(e,i),c(e,r),c(r,a),c(a,u),c(a,d),c(d,h),c(r,_),c(r,b),c(b,k),c(b,y),c(y,T),c(r,j),c(r,E),c(E,D),c(E,N),c(N,I),c(e,R),c(e,z),c(z,V),c(V,U),c(U,q),c(U,J),c(V,G),c(V,H),c(z,A),c(z,O),c(O,Q),c(Q,W),c(O,se),c(O,x),c(z,le),c(z,te),c(te,re),c(re,pe),c(te,ye),c(te,Ae),c(z,Y),c(z,$),c($,ue),c(ue,he),c(ue,Ce),c($,De),c($,Ge),c(e,qe),ke&&ke.m(e,null),c(e,Je),ze&&ze.m(e,null),Fe||(Pe=[M(V,"click",l[172]),M(O,"click",l[173]),M(te,"click",l[149]),M($,"click",l[174])],Fe=!0)},p(Ne,Oe){Oe[0]&67108864&&n!==(n=Ne[26].title+"")&&K(o,n),Oe[0]&67108864&&m!==(m=Ne[148](Ne[26].type)+"")&&K(h,m),Oe[0]&67108864&&C!==(C=(Ne[26].section||"—")+"")&&K(T,C),Oe[0]&67108864&&P!==(P=ut(Ne[26].createdAt)+"")&&K(I,P),Ne[28].length>0?ke?ke.p(Ne,Oe):(ke=Gs(Ne),ke.c(),ke.m(e,Je)):ke&&(ke.d(1),ke=null),Ne[31].length>0?ze?ze.p(Ne,Oe):(ze=qs(Ne),ze.c(),ze.m(e,null)):ze&&(ze.d(1),ze=null)},i:ee,o:ee,d(Ne){Ne&&w(e),ke&&ke.d(),ze&&ze.d(),Fe=!1,ve(Pe)}}}function Id(l){let e,t=fe(l[22]),n=[];for(let o=0;o0&&Ts(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("span"),r=F(i),a=g(),u=f("span"),m=F(d),h=g(),b=F(_),k=F(" · "),C=F(y),T=g(),j=f("div"),E=f("button"),E.textContent=`${p("worklog.apply")}`,D=g(),U&&U.c(),N=g(),s(o,"class","suggestion-summary svelte-1n7o7cr"),s(u,"class","suggestion-meta svelte-1n7o7cr"),s(n,"class","suggestion-info svelte-1n7o7cr"),s(E,"class","btn btn-sm btn-primary svelte-1n7o7cr"),s(j,"class","suggestion-actions svelte-1n7o7cr"),s(t,"class","suggestion-main svelte-1n7o7cr"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1n7o7cr"),ge(e,"expanded",l[334]._expanded)},m(q,J){S(q,e,J),c(e,t),c(t,n),c(n,o),c(o,r),c(n,a),c(n,u),c(u,m),c(u,h),c(u,b),c(u,k),c(u,C),c(t,T),c(t,j),c(j,E),c(e,D),U&&U.m(e,null),c(e,N),P||(I=[M(E,"click",Ye(R)),M(t,"click",z),M(t,"keydown",V)],P=!0)},p(q,J){l=q,J[0]&67108864|J[1]&256&&i!==(i=l[334].summary+"")&&K(r,i),J[0]&67108864|J[1]&256&&d!==(d=l[334].suggestedMin+"")&&K(m,d),J[0]&67108864|J[1]&256&&y!==(y=p("suggest.confidence."+l[334].confidence)+"")&&K(C,y),l[334]._expanded&&l[334].events&&l[334].events.length>0?U?U.p(l,J):(U=Ts(l),U.c(),U.m(e,N)):U&&(U.d(1),U=null),J[0]&67108864|J[1]&256&&ge(e,"expanded",l[334]._expanded)},d(q){q&&w(e),U&&U.d(),P=!1,ve(I)}}}function Ad(l){let e,t=fe(l[31]),n=[];for(let o=0;o0?Od:_[315].source==="suggestion"?Rd:_[315].source==="unknown"||_[315].source==="imported"?Ld:Pd}let d=u(l),m=d(l),h=l[315].source==="suggestion"&&l[315]._events&&l[315]._events.length>0&&Ps(l);return{c(){e=f("div"),a&&a.c(),t=g(),n=f("div"),o=f("span"),o.textContent=`${p("worklog.source")}`,i=g(),m.c(),r=g(),h&&h.c(),s(o,"class","wl-detail-label svelte-1n7o7cr"),s(n,"class","wl-detail-section svelte-1n7o7cr"),s(e,"class","worklog-entry-detail svelte-1n7o7cr")},m(_,b){S(_,e,b),a&&a.m(e,null),c(e,t),c(e,n),c(n,o),c(n,i),m.m(n,null),c(e,r),h&&h.m(e,null)},p(_,b){_[315].details?a?a.p(_,b):(a=Fs(_),a.c(),a.m(e,t)):a&&(a.d(1),a=null),d!==(d=u(_))&&(m.d(1),m=d(_),m&&(m.c(),m.m(n,null))),_[315].source==="suggestion"&&_[315]._events&&_[315]._events.length>0?h?h.p(_,b):(h=Ps(_),h.c(),h.m(e,null)):h&&(h.d(1),h=null)},d(_){_&&w(e),a&&a.d(),m.d(),h&&h.d()}}}function Fs(l){let e,t,n,o,i=l[315].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=g(),o=f("p"),r=F(i),s(t,"class","wl-detail-label svelte-1n7o7cr"),s(o,"class","svelte-1n7o7cr"),s(e,"class","wl-detail-section svelte-1n7o7cr")},m(a,u){S(a,e,u),c(e,t),c(e,n),c(e,o),c(o,r)},p(a,u){u[1]&1&&i!==(i=a[315].details+"")&&K(r,i)},d(a){a&&w(e)}}}function Pd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Ld(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Rd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Od(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function zd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-1n7o7cr")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Ps(l){let e,t,n,o=fe(l[315]._events),i=[];for(let r=0;r',E=g(),s(n,"class","action-title svelte-1n7o7cr"),s(a,"class","action-type svelte-1n7o7cr"),s(h,"class","action-data svelte-1n7o7cr"),s(t,"class","action-info svelte-1n7o7cr"),s(C,"class","btn btn-sm svelte-1n7o7cr"),s(j,"class","btn btn-sm btn-danger svelte-1n7o7cr"),s(y,"class","action-btns svelte-1n7o7cr"),s(e,"class","action-card svelte-1n7o7cr")},m(R,z){S(R,e,z),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,m),c(t,h),c(h,b),c(e,k),c(e,y),c(y,C),c(y,T),c(y,j),c(e,E),D||(N=[M(C,"click",P),M(j,"click",I)],D=!0)},p(R,z){l=R,z[0]&1073741824&&o!==(o=l[326].title+"")&&K(i,o),z[0]&1073741824&&u!==(u=l[153](l[326].type)+"")&&K(d,u),z[0]&1073741824&&_!==(_=l[326].data+"")&&K(b,_)},d(R){R&&w(e),D=!1,ve(N)}}}function Vs(l){let e,t=p("common.paste")+"",n,o,i=l[65].items.length+"",r,a,u;return{c(){e=f("button"),n=F(t),o=g(),r=F(i),s(e,"class","btn svelte-1n7o7cr")},m(d,m){S(d,e,m),c(e,n),c(e,o),c(e,r),a||(u=M(e,"click",l[95]),a=!0)},p(d,m){m[2]&8&&i!==(i=d[65].items.length+"")&&K(r,i)},d(d){d&&w(e),a=!1,u()}}}function Bd(l){let e,t,n,o,i,r,a;const u=[Kd,Ud],d=[];function m(k,y){return k[59].length>0?0:1}e=m(l),t=d[e]=u[e](l);const h=[Jd,Gd],_=[];function b(k,y){return k[60].length===0?0:1}return o=b(l),i=_[o]=h[o](l),{c(){t.c(),n=g(),i.c(),r=st()},m(k,y){d[e].m(k,y),S(k,n,y),_[o].m(k,y),S(k,r,y),a=!0},p(k,y){let C=e;e=m(k),e===C?d[e].p(k,y):(lt(),de(d[C],1,1,()=>{d[C]=null}),nt(),t=d[e],t?t.p(k,y):(t=d[e]=u[e](k),t.c()),ie(t,1),t.m(n.parentNode,n));let T=o;o=b(k),o===T?_[o].p(k,y):(lt(),de(_[T],1,1,()=>{_[T]=null}),nt(),i=_[o],i?i.p(k,y):(i=_[o]=h[o](k),i.c()),ie(i,1),i.m(r.parentNode,r))},i(k){a||(ie(t),ie(i),a=!0)},o(k){de(t),de(i),a=!1},d(k){k&&(w(n),w(r)),d[e].d(k),_[o].d(k)}}}function Hd(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,s(t,"class","svelte-1n7o7cr"),s(e,"class","empty-state svelte-1n7o7cr")},m(n,o){S(n,e,o),c(e,t)},p:ee,i:ee,o:ee,d(n){n&&w(e)}}}function Ud(l){let e,t;return e=new Di({props:{crumbs:[{name:p("file.root")}]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:ee,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Kd(l){let e,t,n,o,i,r,a,u=p("common.back")+"",d,m,h,_;return e=new Di({props:{crumbs:[{name:p("file.root")},...l[59]]}}),e.$on("navigate",l[181]),{c(){Ke(e.$$.fragment),t=g(),n=f("button"),o=X("svg"),i=X("line"),r=X("polyline"),a=g(),d=F(u),s(i,"x1","19"),s(i,"y1","12"),s(i,"x2","5"),s(i,"y2","12"),s(i,"class","svelte-1n7o7cr"),s(r,"points","12 19 5 12 12 5"),s(r,"class","svelte-1n7o7cr"),s(o,"width","14"),s(o,"height","14"),s(o,"viewBox","0 0 24 24"),s(o,"fill","none"),s(o,"stroke","currentColor"),s(o,"stroke-width","2"),s(o,"stroke-linecap","round"),s(o,"stroke-linejoin","round"),s(o,"class","svelte-1n7o7cr"),s(n,"class","btn btn-sm back-btn svelte-1n7o7cr")},m(b,k){We(e,b,k),S(b,t,k),S(b,n,k),c(n,o),c(o,i),c(o,r),c(n,a),c(n,d),m=!0,h||(_=M(n,"click",l[86]),h=!0)},p(b,k){const y={};k[1]&268435456&&(y.crumbs=[{name:p("file.root")},...b[59]]),e.$set(y)},i(b){m||(ie(e.$$.fragment,b),m=!0)},o(b){de(e.$$.fragment,b),m=!1},d(b){b&&(w(t),w(n)),Be(e,b),h=!1,_()}}}function Gd(l){let e,t=[],n=new Map,o,i=fe(l[60]);const r=a=>a[323].id;for(let a=0;a0?p("file.noFiles"):p("file.noFilesCase"))+"",r,a,u,d,m,h,_,b,k,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=g(),o=f("p"),r=F(i),a=g(),u=f("p"),u.textContent=`${p("file.hint")}`,d=g(),m=f("div"),h=f("button"),h.textContent=`${p("file.addFileSimple")}`,_=g(),b=f("button"),b.textContent=`${p("file.addFolderSimple")}`,s(t,"class","empty-icon svelte-1n7o7cr"),s(o,"class","svelte-1n7o7cr"),s(u,"class","hint svelte-1n7o7cr"),s(h,"class","btn btn-primary svelte-1n7o7cr"),s(b,"class","btn svelte-1n7o7cr"),s(m,"class","empty-actions svelte-1n7o7cr"),s(e,"class","empty-state svelte-1n7o7cr")},m(C,T){S(C,e,T),c(e,t),c(e,n),c(e,o),c(o,r),c(e,a),c(e,u),c(e,d),c(e,m),c(m,h),c(m,_),c(m,b),k||(y=[M(h,"click",l[142]),M(b,"click",l[143])],k=!0)},p(C,T){T[1]&268435456&&i!==(i=(C[59].length>0?p("file.noFiles"):p("file.noFilesCase"))+"")&&K(r,i)},i:ee,o:ee,d(C){C&&w(e),k=!1,ve(y)}}}function Ws(l,e){let t,n,o;return n=new ru({props:{item:e[323],selected:e[66].includes(e[323].id),onDragStart:e[99],onDragOver:e[100],onDrop:e[101]}}),n.$on("navigate",e[182]),n.$on("preview",e[183]),n.$on("openExternal",e[184]),n.$on("showInFolder",e[185]),n.$on("delete",e[186]),n.$on("rename",e[187]),n.$on("duplicate",e[188]),n.$on("cut",e[189]),n.$on("copy",e[190]),n.$on("selectOne",e[191]),n.$on("toggleSelect",e[192]),n.$on("rangeSelect",e[193]),{key:l,first:null,c(){t=st(),Ke(n.$$.fragment),this.first=t},m(i,r){S(i,t,r),We(n,i,r),o=!0},p(i,r){e=i;const a={};r[1]&536870912&&(a.item=e[323]),r[1]&536870912|r[2]&16&&(a.selected=e[66].includes(e[323].id)),n.$set(a)},i(i){o||(ie(n.$$.fragment,i),o=!0)},o(i){de(n.$$.fragment,i),o=!1},d(i){i&&w(t),Be(n,i)}}}function Bs(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.scanning")}`,s(t,"class","svelte-1n7o7cr"),s(e,"class","empty-state svelte-1n7o7cr")},m(n,o){S(n,e,o),c(e,t)},d(n){n&&w(e)}}}function Hs(l){let e,t;return e=new Cu({props:{item:l[61],content:l[62],loading:l[63],error:l[64]}}),e.$on("close",l[89]),e.$on("openExternal",l[194]),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o[1]&1073741824&&(i.item=n[61]),o[2]&1&&(i.content=n[62]),o[2]&2&&(i.loading=n[63]),o[2]&4&&(i.error=n[64]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Us(l){let e,t,n,o,i,r,a,u,d;return{c(){e=f("div"),t=f("input"),n=g(),o=f("div"),i=f("button"),i.textContent=`${p("common.create")}`,r=g(),a=f("button"),a.textContent=`${p("common.cancel")}`,s(t,"type","text"),s(t,"placeholder",p("note.title")),s(t,"class","svelte-1n7o7cr"),s(i,"class","btn btn-primary svelte-1n7o7cr"),s(a,"class","btn svelte-1n7o7cr"),s(o,"class","form-actions svelte-1n7o7cr"),s(e,"class","create-form svelte-1n7o7cr")},m(m,h){S(m,e,h),c(e,t),be(t,l[47]),c(e,n),c(e,o),c(o,i),c(o,r),c(o,a),u||(d=[M(t,"input",l[177]),M(t,"keydown",l[178]),M(i,"click",l[124]),M(a,"click",l[123])],u=!0)},p(m,h){h[1]&65536&&t.value!==m[47]&&be(t,m[47])},d(m){m&&w(e),u=!1,ve(d)}}}function qd(l){let e,t=fe(l[28]),n=[];for(let o=0;ode(se[x],1,1,()=>{se[x]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("nav.createNode")}`,o=g(),Q&&Q.c(),i=g(),r=f("div"),a=f("span"),a.textContent=`${p("template.select")}`,u=g(),d=f("div"),m=f("button"),Ke(h.$$.fragment),_=g(),b=f("div"),k=f("span"),k.textContent=`${p("template.optionNone")}`,y=g(),C=f("span"),C.textContent=`${p("template.none.desc")}`,T=g();for(let x=0;x{k=null}),nt()),C[45].node&&C[45].node.parent_id?y?y.p(C,T):(y=li(C),y.c(),y.m(t,i)):y&&(y.d(1),y=null),(!h||T[1]&16384)&&rt(t,"left",C[45].x+"px"),(!h||T[1]&16384)&&rt(t,"top",C[45].y+"px")},i(C){h||(ie(k),h=!0)},o(C){de(k),h=!1},d(C){C&&w(e),k&&k.d(),y&&y.d(),_=!1,ve(b)}}}function ei(l){let e,t,n,o,i,r=fe(l[6].length>0?l[6]:[{id:"",title:"template.optionNone",icon:"folder"}]),a=[];for(let d=0;dde(a[d],1,1,()=>{a[d]=null});return{c(){e=f("div"),e.textContent=`${p("common.create")}`,t=g();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let h;for(h=0;hl[264].call(y)),s(_,"class","svelte-1n7o7cr"),s(h,"class","form-group svelte-1n7o7cr"),s(E,"class","label-text svelte-1n7o7cr"),s(I,"type","text"),s(I,"placeholder",R=l[50]==="open_url"?p("action.urlPlaceholder"):l[50]==="open_folder"||l[50]==="open_file"?p("action.pathPlaceholder"):p("action.commandPlaceholder")),s(I,"class","svelte-1n7o7cr"),s(j,"class","svelte-1n7o7cr"),s(T,"class","form-group svelte-1n7o7cr"),s(U,"class","btn btn-primary svelte-1n7o7cr"),s(J,"class","btn svelte-1n7o7cr"),s(V,"class","modal-actions svelte-1n7o7cr"),s(t,"class","modal svelte-1n7o7cr"),s(e,"class","modal-overlay svelte-1n7o7cr"),s(e,"role","button"),s(e,"tabindex","0")},m(O,Q){S(O,e,Q),c(e,t),c(t,n),c(t,o),c(t,i),c(i,r),c(r,a),c(r,u),c(r,d),be(d,l[49]),c(t,m),c(t,h),c(h,_),c(_,b),c(_,k),c(_,y);for(let W=0;W{r[m]=null}),nt(),t=r[e],t?t.p(u,d):(t=r[e]=i[e](u),t.c()),ie(t,1),t.m(n.parentNode,n))},i(u){o||(ie(t),o=!0)},o(u){de(t),o=!1},d(u){u&&w(n),r[e].d(u)}}}function oe(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function zt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&zt(n.children,e,t))return!0}return!1}function Ai(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Ai(n.children,e,t))return!0}return!1}function di(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function Qt(l){try{oe("WriteDebugLog",l)}catch{}}function jl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function xe(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ft(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function ut(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function _t(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function Xd(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function ct(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function Zd(l,e,t){let n=null,o=!1,i=!1,r=!1,a=!1,u=[],d=[],m=[],h=null,_=[],b=0,k=!0,y=[],C=null,T="",j="",E=!1,D="",N="all",P="all",I="",R="",z="",V=[],U=!1,q=[],J="",G="";function B(v){return{"vault not open":p("error.vaultNotOpen")}[v]||v}let H="",A=null,O="overview",Q=[],W=null,se=[],ae=[],x=[],le=!1,te="",re="",pe="",ye="",He=!1,Ae=!1,Y=[],$=0,ue=!1,he="",Ce=null,De=null,Ue={visible:!1,x:0,y:0,node:null},Ge=!1,qe="",Je=!1,Fe="",Pe="open_url",ke="",ze=[{id:"open_url",label:p("action.openUrl")},{id:"open_file",label:p("action.openFile")},{id:"open_folder",label:p("action.openFolder")},{id:"run_command",label:p("action.runCommand")},{id:"run_script",label:p("action.runScript")},{id:"open_terminal",label:p("action.openTerminal")},{id:"launch_app",label:p("action.launchApp")}],Ne=!0,Oe=!1,Se=null,we=!1,Ie="",je="",Te={},Ve=!1,_e=null,ce=[],Z=[],Ee=null,et="",at=!1,ot="",Re={items:[],mode:"copy"},Me=[],Pt=[],nl=!1,ol=!1,Fl="",Pl="",Ll=!1,Rl=p("common.delete"),Bt=null,Ht=null,Ut=!1,Kt="",Ct="",St="",sl=null,il=!1;const Fi=[{id:"overview",label:p("tab.overview")},{id:"notes",label:p("tab.notes")},{id:"files",label:p("tab.files")},{id:"actions",label:p("tab.actions")},{id:"worklog",label:p("tab.worklog")},{id:"activity",label:p("tab.activity")}];let rl=null;mi(async()=>{try{if(t(0,n=await oe("GetStartupStatus")),o=!0,n.status==="first_run"){t(1,i=!0),t(52,Ne=!1);return}if(n.status==="recovery"){t(2,r=!0),t(52,Ne=!1);return}}catch(v){t(24,G=String(v))}try{t(23,J=await oe("VerstakVersion")||"verstak-gui/v2"),t(4,u=await oe("ListSystemViews")||[]),t(5,d=await oe("ListWorkspaceTree")||[]),t(6,m=await oe("ListEnabledTemplates")||[])}catch(v){t(24,G=String(v)),t(4,u=[{id:"today",label:p("nav.today")},{id:"inbox",label:p("nav.inbox")},{id:"activity",label:p("nav.activity")}]),t(5,d=[]),t(6,m=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",_r),rl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Ql),t(52,Ne=!1),bl()}),Al(()=>{rl&&rl(),window.removeEventListener("keydown",Ql)});async function Ol(v){t(25,H=v),t(26,A=null),t(27,O="overview"),t(28,Q=[]),se=[],t(30,ae=[]),t(31,x=[]),t(39,Y=[]),t(41,ue=!1),t(24,G=""),t(7,h=null),t(8,_=[]),b=0,k=!0,t(9,y=[]),t(10,C=null);try{v==="today"?(t(7,h=await oe("ListTodayView")||{cases:[]}),t(39,Y=await oe("GetSuggestions")||[]),t(40,$=Y.length)):v==="journal"?await Nt():v==="activity"&&(t(8,_=await oe("ListActivityFeed",50,0)||[]),b=_.length,k=_.length===50)}catch(L){t(24,G=String(L)),t(7,h={cases:[]}),t(8,_=[])}}async function vt(v){t(26,A=v),t(27,O="overview"),t(28,Q=[]),se=[],t(30,ae=[]),t(31,x=[]),t(39,Y=[]),t(60,Z=[]),t(59,ce=[]),t(58,_e=null),t(61,Ee=null),t(62,et=""),t(66,Me=[]),Pt=[],t(29,W=null),t(41,ue=!1),t(46,Ge=!1),t(24,G=""),t(22,q=[]),await zl(v.id)}async function zl(v){try{t(28,Q=await oe("ListNotes",v)||[])}catch{}try{se=await oe("ListFiles",v)||[]}catch{}try{t(30,ae=await oe("ListActions",v)||[])}catch{}try{t(31,x=jl(await oe("ListWorklog",v)))}catch{}try{t(39,Y=await oe("GetSuggestions")||[]),t(40,$=Y.length)}catch{t(39,Y=[]),t(40,$=0)}try{t(22,q=await oe("ListActivityByNode",v,50,0)||[])}catch{}}async function tt(v){t(57,Ve=!0);try{let L=await oe("ListItems",v)||[];L.sort((ne,me)=>ne.type!==me.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(me.name||"")),t(60,Z=L)}catch{t(60,Z=[])}t(57,Ve=!1)}async function cl(v){if(!A)return;try{const ne=await oe("GetNodeDetail",v);ne&&t(59,ce=[...ce,{id:v,name:ne.title}])}catch{t(59,ce=[...ce,{id:v,name:"..."}])}t(58,_e=v),t(56,Te={...Te,[v]:!0});const L=await oe("ListWorkspaceChildren",v)||[];zt(d,v,L),t(5,d=[...d]),await tt(v)}function Vl(){if(ce.length<2)t(59,ce=[]),t(58,_e=null),tt(A.id);else{const v=ce[ce.length-2];t(59,ce=ce.slice(0,-1)),t(58,_e=v.id),tt(v.id)}}function Wl(v){const L=ce[v];t(59,ce=ce.slice(0,v+1)),t(58,_e=L.id),tt(L.id)}async function Gt(v){t(61,Ee=v),t(62,et=""),t(64,ot=""),t(63,at=!0);try{xa(v)?t(62,et=await oe("GetFileBase64",v.fileId)||""):eu(v)&&t(62,et=await oe("ReadFileText",v.fileId)||"")}catch(L){t(64,ot=String(L))}t(63,at=!1)}function al(){t(61,Ee=null),t(62,et=""),t(64,ot="")}async function Pi(){const v=prompt(p("file.namePrompt"));if(!(!v||!v.trim()))try{const L=_e||A.id;await oe("CreateEmptyFile",L,v.trim()),await tt(L),await dl(L)}catch(L){t(24,G=String(L))}}async function Bl(v){try{await oe("DuplicateNode",v);const L=_e||A.id;await tt(L),await dl(L)}catch(L){t(24,G=String(L))}}function Hl(v){const L=Z.find(ne=>ne.id===v);L&&fl(L.id,L.name)}function Ul(v){t(65,Re={items:[v],mode:"cut"})}function Kl(v){t(65,Re={items:[v],mode:"copy"})}async function Gl(){if(Re.items.length===0)return;const v=_e||A.id;try{if(Re.mode==="copy")for(const L of Re.items)await oe("DuplicateNode",L);else for(const L of Re.items)await oe("MoveNode",L,v);t(65,Re={items:[],mode:"copy"}),await tt(v)}catch(L){t(24,G=String(L))}}function Jl(v){Me.includes(v)?t(66,Me=Me.filter(L=>L!==v)):t(66,Me=[...Me,v])}function ql(v){t(66,Me=[v])}function Li(){t(66,Me=Z.map(v=>v.id))}function Yl(v){if(Z.length===0)return;const L=Me.length>0?Me[Me.length-1]:Z[0].id,ne=Z.findIndex(bt=>bt.id===L),me=Z.findIndex(bt=>bt.id===v);if(ne===-1||me===-1)return;const $e=Math.min(ne,me),it=Math.max(ne,me),yl=Z.slice($e,it+1).map(bt=>bt.id),hn=new Set(Me);yl.forEach(bt=>hn.add(bt)),t(66,Me=[...hn])}function Ri(){t(66,Me=[])}function ul(v){return v.length>0?v:Z.map(L=>L.id)}async function Oi(){const v=ul(Me),L=Z.find(me=>me.id===v[0]);let ne;v.length===1&&(L==null?void 0:L.type)==="folder"?ne=p("delete.folder"):v.length===1?ne=p("delete.file"):ne=p("delete.files",{count:v.length}),Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{for(const $e of v)try{await oe("DeleteFileOrFolder",$e)}catch(it){t(24,G=String(it))}t(66,Me=[]);const me=_e||A.id;await tt(me)}})}function zi(){const v=ul(Me);t(65,Re={items:v,mode:"cut"}),t(66,Me=[])}function Vi(){const v=ul(Me);t(65,Re={items:v,mode:"copy"}),t(66,Me=[])}function Wi(v,L){const ne=Me.includes(L)?Me:[L];Pt=ne,v.dataTransfer.effectAllowed="move",v.dataTransfer.setData("text/plain",ne.join(","))}function Bi(v,L){const ne=Z.find(me=>me.id===L);ne&&ne.type==="folder"&&(v.preventDefault(),v.dataTransfer.dropEffect="move")}async function Hi(v,L){if(v.preventDefault(),Pt.length!==0){for(const ne of Pt)try{await oe("MoveNode",ne,L)}catch(me){t(24,G=String(me))}Pt=[],t(66,Me=[]),await tt(_e||A.id)}}function Ql(v){if(O==="files"&&!(v.target.tagName==="INPUT"||v.target.tagName==="TEXTAREA"))if(v.ctrlKey||v.metaKey)v.key==="c"||v.key==="C"?(v.preventDefault(),Vi()):v.key==="x"||v.key==="X"?(v.preventDefault(),zi()):v.key==="v"||v.key==="V"?(v.preventDefault(),Gl()):v.key==="a"||v.key==="A"?(v.preventDefault(),Li()):v.key==="o"||v.key==="O"?(v.preventDefault(),Ui()):v.key==="Enter"&&(v.preventDefault(),Xl());else if(v.key==="Enter")v.preventDefault(),Xl();else if(v.key==="Delete"||v.key==="Backspace"){if(Ee){v.preventDefault(),al();return}if(Me.length>0){v.preventDefault(),Oi();return}if(v.key==="Backspace"&&ce.length>0){v.preventDefault(),Vl();return}}else if(v.key==="Escape"){if(Ee){al();return}if(Me.length>0){Ri();return}}else v.key==="F2"&&(v.preventDefault(),Ki())}function Xl(){if(Me.length===1){const v=Z.find(L=>L.id===Me[0]);v&&(v.type==="folder"?cl(v.id):Gt(v))}}function Ui(){if(Me.length===1){const v=Z.find(L=>L.id===Me[0]);v&&v.fileId&&oe("OpenFile",v.fileId)}}function fl(v,L){Kt=v,t(74,Ct=L),t(75,St=""),t(73,Ut=!0)}function Ki(){if(Me.length===1){const v=Z.find(L=>L.id===Me[0]);v&&fl(v.id,v.name)}}async function Zl(){const v=Ct.trim();if(!v){t(75,St=p("rename.emptyError"));return}try{await oe("ValidateName",v)}catch{t(75,St=p("rename.invalidError"));return}t(73,Ut=!1);const L=Kt;Kt="";try{await oe("RenameNode",L,v),A&&A.id===L&&t(26,A={...A,title:v}),await Rt(),_e&&await tt(_e)}catch(ne){t(24,G=String(ne))}}function Gi(){t(73,Ut=!1),Kt="",t(74,Ct=""),t(75,St="")}function Ji(v){v.key==="Enter"?Zl():t(75,St="")}function Lt(v){t(69,Fl=v.title||p("common.confirm")),t(70,Pl=v.message||""),t(71,Ll=v.danger!==void 0?v.danger:!0),t(72,Rl=v.confirmText||p("common.delete")),Bt=v.onConfirm||null,Ht=v.onCancel||null,t(68,ol=!0)}function $l(){t(68,ol=!1),Bt=null,Ht=null}function qi(){Bt&&Bt(),$l()}function Yi(){Ht&&Ht(),$l()}function xl(v){t(43,Ce=Ue.node),t(44,De=v),t(42,he=""),t(41,ue=!0),jt()}function Qi(){t(43,Ce=null),t(44,De=void 0),t(42,he=""),t(41,ue=!0)}function Xi(){t(41,ue=!1),t(42,he=""),t(43,Ce=null),t(44,De=void 0)}async function en(){if(!(!he.trim()||De===void 0))try{const v=Ce?Ce.id:"",L=De?De.id:"",ne=await oe("CreateNodeFromTemplate",v,he.trim(),L);t(41,ue=!1),t(42,he="");const me=ne?ne.id:null;if(t(43,Ce=null),t(44,De=void 0),v){t(56,Te={...Te,[v]:!0});const $e=await oe("ListWorkspaceChildren",v)||[];zt(d,v,$e),t(5,d=[...d])}else t(5,d=await oe("ListWorkspaceTree")||d);if(me){const $e=await oe("GetNodeDetail",me);$e&&(t(25,H=""),vt($e))}}catch(v){t(24,G=String(v))}}function Zi(v,L){t(45,Ue={visible:!0,x:v.clientX,y:v.clientY,node:L})}function jt(){t(45,Ue={visible:!1,x:0,y:0,node:null})}async function $i(v){const L=!Te[v];if(t(56,Te={...Te,[v]:L}),!L)return;const ne=await oe("ListWorkspaceChildren",v)||[];zt(d,v,ne),t(5,d=[...d])}async function xi(v,L){if(!(!v||!L||v===L))try{const ne=await oe("MoveNode",v,L);await Rt();const me=await oe("GetNodeDetail",v);me&&(t(25,H=""),vt(me))}catch(ne){t(24,G=String(ne))}}async function er(v){v.preventDefault();try{const L=v.dataTransfer.getData("text/plain");if(!L)return;const ne=await oe("GetNodeDetail",L);if(!ne||!ne.parent_id)return;await oe("MoveNode",L,""),await Rt();const me=await oe("GetNodeDetail",L);me&&(t(25,H=""),vt(me))}catch(L){t(24,G=String(L))}}function tr(v){v.preventDefault(),v.dataTransfer.dropEffect="move",t(67,nl=!0)}function lr(v){t(67,nl=!1)}function tn(v){fl(v.id,v.title),jt()}function ln(v){jt(),Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+v.title+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteNode",v.id),await Rt(),A&&A.id===v.id&&t(26,A=null)}catch(L){t(24,G=String(L))}}})}async function Tt(v){jt();const L=typeof v=="string"?v:v.id;try{await oe("OpenFolder",L)}catch(ne){t(24,G=String(ne))}}async function nn(v){jt();try{await oe("MoveNode",v.id,""),await Rt();const L=await oe("GetNodeDetail",v.id);L&&(t(25,H=""),vt(L))}catch(L){t(24,G=String(L))}}async function Rt(){const v=Object.keys(Te).filter(ne=>Te[ne]),L=await oe("ListWorkspaceTree")||[];for(const ne of v){const $e=(await oe("ListWorkspaceChildren",ne)||[]).map(it=>({...it}));Ai(L,ne,$e)}t(5,d=L)}async function dl(v){const L=await oe("ListWorkspaceChildren",v)||[];zt(d,v,L),t(5,d=[...d])}function on(){t(46,Ge=!0),t(47,qe="")}function nr(){t(46,Ge=!1),t(47,qe="")}async function sn(){if(!(!qe.trim()||!A))try{const v=await oe("CreateNote",A.id,qe.trim());t(28,Q=[...Q,v&&v.id?v:{id:Date.now().toString(),title:qe.trim(),createdAt:new Date().toISOString()}]),t(46,Ge=!1),t(47,qe="")}catch{const L={id:Date.now().toString(),title:qe.trim(),createdAt:new Date().toISOString()};t(28,Q=[...Q,L]),t(46,Ge=!1),t(47,qe="")}}async function Et(v){if(W&&W.dirty){Lt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:async()=>{await rn(v)}});return}await rn(v)}async function rn(v){try{const L=await oe("ReadNote",v.id);t(29,W={id:v.id,title:v.title,content:L||"",dirty:!1})}catch{t(29,W={id:v.id,title:v.title,content:"# "+v.title+` + +`,dirty:!1})}}function or(){if(W&&W.dirty){Lt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,W=null)}});return}t(29,W=null)}function sr(v){W&&(t(29,W.content=v.target.value,W),t(29,W.dirty=!0,W))}async function ir(){if(W)try{await oe("SaveNote",W.id,W.content),t(29,W.dirty=!1,W)}catch{t(29,W.dirty=!1,W)}}function rr(){t(33,te=""),t(34,re=""),t(35,pe=""),t(36,ye=""),t(37,He=!1),t(38,Ae=!1),t(32,le=!0)}function cr(){t(32,le=!1)}async function ar(){const v=parseInt(re,10);if(!(!te.trim()||isNaN(v)||v<=0||!A)){try{await oe("CreateWorklogFull",A.id,te.trim(),ye,pe,v,Ae,He)}catch{}t(31,x=jl(await oe("ListWorklog",A.id))||x),t(32,le=!1)}}async function cn(){t(39,Y=await oe("GetSuggestions")||[]),t(40,$=Y.length),A&&t(31,x=jl(await oe("ListWorklog",A.id))),H==="journal"&&await Nt()}async function pl(v){try{const L=di(v),ne=JSON.stringify(L);Qt("acceptTodaySuggestion: nodeId="+v.nodeId+" eventIds="+ne+" events="+JSON.stringify((v.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",v.nodeId,v.summary,v.suggestedMin,"",ne),await cn()}catch(L){Qt("acceptTodaySuggestion error: "+L)}}async function an(v){try{const L=di(v),ne=JSON.stringify(L);Qt("acceptJournalSuggestion: nodeId="+v.nodeId+" eventIds="+ne+" events="+JSON.stringify((v.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",v.nodeId,v.summary,v.suggestedMin,"",ne),await cn()}catch(L){Qt("acceptJournalSuggestion error: "+L)}}async function Nt(){try{const[v,L,ne]=await Promise.all([oe("ListWorklogReport",T,j,D,E,N,P),oe("WorklogReportSummary",T,j,D,E,N,P),oe("GetSuggestions")]);if(t(9,y=(v||[]).map(me=>(me._expanded===void 0&&(me._expanded=!1),me))),t(10,C=L||null),t(39,Y=ne||[]),t(40,$=Y.length),D&&!I)if(v&&v.length>0&&v[0].nodePath)t(17,I=v[0].nodePath);else try{t(17,I=await oe("GetNodeTitle",D))}catch{t(17,I="")}}catch{t(9,y=[]),t(10,C=null),t(39,Y=[]),t(40,$=0)}}async function Jt(v){try{const L=await oe("SaveWorklogReport",v,T,j,D,E,N,P);t(18,R=L),setTimeout(()=>t(18,R=""),4e3)}catch(L){if(String(L).includes("отменено"))return;t(18,R="Ошибка: "+String(L)),setTimeout(()=>t(18,R=""),6e3)}}let un;async function ml(v){if(v._expanded=!v._expanded,t(9,y),v._expanded&&!v._events&&v._hasEvents===void 0)try{v._events=await oe("GetWorklogEntryEvents",v.id)||[],v._hasEvents=v._events.length>0,t(9,y)}catch{v._events=[],v._hasEvents=!1,t(9,y)}}async function _l(v){if(v._expanded=!v._expanded,v._expanded&&v.source==="suggestion"&&!v._events&&v._hasEvents===void 0)try{v._events=await oe("GetWorklogEntryEvents",v.id)||[],v._hasEvents=v._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(31,x)}async function ur(){const v=z.trim();if(!v||v.length<2){t(20,V=[]),t(21,U=!1);return}try{t(20,V=await oe("SearchNodes",v)||[]),t(21,U=V.length>0)}catch{t(20,V=[]),t(21,U=!1)}}function fr(){clearTimeout(un),un=setTimeout(ur,200)}function fn(v){t(14,D=v.id),t(17,I=v.path||v.title),t(13,E=!0),t(19,z=""),t(20,V=[]),t(21,U=!1),Nt()}function dn(){t(14,D=""),t(13,E=!1),t(17,I=""),t(19,z=""),t(20,V=[]),t(21,U=!1),Nt()}function dr(){t(11,T=""),t(12,j=""),t(14,D=""),t(13,E=!1),t(15,N="all"),t(16,P="all"),t(17,I=""),t(19,z=""),t(20,V=[]),t(21,U=!1),Nt()}async function pn(){const v=await oe("PickFile");if(!v)return;const L=_e||A.id;await vl(L,v)}async function pr(){const v=await oe("PickDirectory");if(!v)return;const L=_e||A.id;await vl(L,v)}async function vl(v,L){t(53,Oe=!0);try{const ne=await oe("PreviewImport",L);t(54,Se=ne),Ie=L,je=v,t(55,we=!0)}catch(ne){t(24,G=String(ne))}t(53,Oe=!1)}async function hl(v){try{const L=je||A.id,ne=v==="copy"?await oe("AddPathCopy",L,Ie):await oe("AddPathLink",L,Ie);t(55,we=!1),t(54,Se=null),t(59,ce=[]),t(58,_e=null),await Promise.all([zl(L),tt(L),dl(L)])}catch(L){t(24,G=String(L))}}function mr(){t(55,we=!1),t(54,Se=null)}async function mn({id:v,type:L}){const ne=p(L==="folder"?"delete.folder":"delete.file");Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteFileOrFolder",v),se=se.filter($e=>$e.nodeId!==v);const me=_e||A.id;await tt(me)}catch(me){t(24,G=String(me))}}})}async function _r(v){if(!v||v.length===0)return;if(!A){t(24,G=p("error.selectCaseFirst"));return}const L=v[0];await vl(A.id,L)}function vr(v){return{note_created:p("event.noteCreated"),note_updated:p("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:p("event.fileAdded"),file_deleted:p("event.fileDeleted"),file_renamed:p("event.fileRenamed"),file_copied:p("event.fileCopied"),file_moved:p("event.fileMoved"),folder_added:p("event.folderAdded"),folder_deleted:p("event.folderDeleted"),folder_renamed:p("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:p("event.caseCreated"),node_updated:p("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[v]||v}function hr(v){return{project:p("kind.project"),client:p("kind.client"),document:p("kind.document"),recipe:p("kind.recipe"),folder:p("kind.folder"),note:p("kind.note"),file:p("kind.file"),archive:p("kind.archive"),case:p("kind.case")}[v]||v||p("kind.case")}function gr(){t(48,Je=!0),t(49,Fe=""),t(50,Pe="open_url"),t(51,ke="")}function br(){t(48,Je=!1),t(49,Fe=""),t(51,ke="")}async function gl(){if(!(!Fe.trim()||!ke.trim()||!A))try{const v=await oe("CreateAction",A.id,Pe,Fe.trim(),ke.trim());v&&v.id&&t(30,ae=[...ae,v]),t(48,Je=!1),t(49,Fe=""),t(51,ke="")}catch(v){t(24,G=String(v))}}async function _n(v){try{await oe("DeleteAction",v),t(30,ae=ae.filter(L=>L.id!==v))}catch(L){t(24,G=String(L))}}function kr(v){const L=ze.find(ne=>ne.id===v);return L?L.label:v}async function dt(v){try{const L=await oe("GetNodeDetail",v);L&&vt(L)}catch(L){t(24,G=String(L))}}async function ht(v){const L=Xd(v),ne=L.nodeId;if(ne)try{const me=await oe("GetNodeDetail",ne);if(!me)return;if(vt(me),L.tab==="notes"){if(t(27,O="notes"),L.targetId){try{t(28,Q=await oe("ListNotes",ne)||[])}catch{}const $e=Q.find(it=>it.id===L.targetId);$e&&setTimeout(()=>Et($e),100)}}else if(L.tab==="files")if(t(27,O="files"),L.targetId)try{const $e=await oe("GetNodeDetail",L.targetId);if($e&&$e.parent_id){await tt($e.parent_id);const it=Z.find(yl=>yl.id===L.targetId);it&&it.type==="file"&&$a(it)&&setTimeout(()=>Gt(it),150)}else await tt(ne)}catch{await tt(ne)}else await tt(ne)}catch(me){t(24,G=String(me))}}async function gt(v){return ht(v)}async function bl(){try{t(76,sl=await oe("SyncStatus"))}catch{t(76,sl={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let vn="general";function kl(v){t(78,vn=v||"general"),t(3,a=!0)}function yr(){t(3,a=!1)}async function wr(){t(77,il=!0);try{await oe("SyncNow"),await bl()}catch(v){console.error("sync error:",v)}t(77,il=!1)}function Cr(v){t(1,i=!1),t(0,n=v),t(52,Ne=!1),window.location.reload()}function Sr(v){t(2,r=!1),t(0,n=v),t(52,Ne=!1),window.location.reload()}const jr=v=>v.nodeId===A.id,Tr=v=>Ol(v.id),Er=()=>kl("sync"),Nr=()=>kl(),Dr=()=>t(24,G=""),Ir=()=>t(24,G=""),Mr=()=>t(24,G="");function Ar(){W.content=this.value,t(29,W)}const Fr=v=>{t(27,O=v.id),v.id==="files"&&A&&Z.length===0&&!_e&&tt(A.id)},Pr=()=>{t(27,O="notes"),on()},Lr=()=>{t(27,O="files"),pn()},Rr=()=>t(27,O="worklog"),Or=v=>Et(v),zr=v=>Et(v);function Vr(){qe=this.value,t(47,qe)}const Wr=v=>v.key==="Enter"&&sn(),Br=v=>Et(v),Hr=v=>Et(v),Ur=v=>{const L=v.detail;L===0?(t(59,ce=[]),t(58,_e=null),tt(A.id)):Wl(L-1)},Kr=v=>cl(v.detail),Gr=v=>Gt(v.detail),Jr=v=>oe("OpenFile",v.detail),qr=v=>oe("OpenFolder",v.detail),Yr=v=>mn(v.detail),Qr=v=>Hl(v.detail.id),Xr=v=>Bl(v.detail),Zr=v=>Ul(v.detail),$r=v=>Kl(v.detail),xr=v=>ql(v.detail),ec=v=>Jl(v.detail),tc=v=>Yl(v.detail),lc=v=>oe("OpenFile",v.detail),nc=v=>oe("RunAction",v.id),oc=v=>_n(v.id),sc=v=>v.nodeId===A.id,ic=v=>pl(v),rc=(v,L,ne)=>t(39,L[ne]._expanded=!v._expanded,Y,t(26,A)),cc=(v,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!v._expanded,Y,t(26,A)),ac=v=>ht(v),uc=v=>Tt(v.nodeId),fc=v=>ht(v),dc=v=>Tt(v.nodeId),pc=v=>_l(v),mc=(v,L)=>L.key==="Enter"&&_l(v),_c=v=>gt(v),vc=(v,L)=>L.key==="Enter"&>(v);function hc(){T=this.value,t(11,T)}function gc(){j=this.value,t(12,j)}const bc=()=>{t(19,z=""),t(17,I=""),dn()};function kc(){z=this.value,t(19,z)}const yc=()=>setTimeout(()=>t(21,U=!1),200),wc=v=>fn(v);function Cc(){E=this.checked,t(13,E)}function Sc(){N=Xt(this),t(15,N)}function jc(){P=Xt(this),t(16,P)}const Tc=()=>Jt("csv"),Ec=()=>Jt("markdown"),Nc=()=>Jt("pdf"),Dc=v=>dt(v.nodeId),Ic=(v,L,ne,me)=>t(39,L[ne].suggestedMin=parseInt(me.target.value),Y),Mc=v=>an(v),Ac=(v,L,ne)=>t(39,L[ne]._expanded=!v._expanded,Y),Fc=(v,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!v._expanded,Y),Pc=v=>ht(v),Lc=v=>Tt(v.nodeId),Rc=v=>dt(v.nodeId),Oc=v=>ml(v),zc=(v,L)=>L.key==="Enter"&&ml(v),Vc=v=>ht(v),Wc=v=>dt(v.nodeId),Bc=(v,L,ne,me)=>t(39,L[ne].suggestedMin=parseInt(me.target.value),Y),Hc=v=>pl(v),Uc=(v,L,ne)=>t(39,L[ne]._expanded=!v._expanded,Y),Kc=(v,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!v._expanded,Y),Gc=v=>ht(v),Jc=v=>Tt(v.nodeId),qc=v=>dt(v.nodeId),Yc=(v,L)=>L.key==="Enter"&&dt(v.nodeId),Qc=v=>dt(v.nodeId),Xc=(v,L)=>L.key==="Enter"&&dt(v.nodeId),Zc=v=>gt(v),$c=(v,L)=>L.key==="Enter"&>(v),xc=v=>gt(v),ea=(v,L)=>L.key==="Enter"&>(v),ta=()=>t(44,De=null),la=v=>t(44,De=v);function na(){he=this.value,t(42,he)}const oa=v=>v.key==="Enter"&&en(),sa=v=>xl(v),ia=()=>nn(Ue.node),ra=()=>tn(Ue.node),ca=()=>ln(Ue.node),aa=()=>Tt(Ue.node);function ua(){pe=this.value,t(35,pe)}function fa(){te=this.value,t(33,te)}function da(){re=el(this.value),t(34,re)}function pa(){ye=this.value,t(36,ye)}function ma(){He=this.checked,t(37,He)}function _a(){Ae=this.checked,t(38,Ae)}function va(){Fe=this.value,t(49,Fe)}const ha=v=>v.key==="Enter"&&gl();function ga(){Pe=Xt(this),t(50,Pe),t(80,ze)}function ba(){ke=this.value,t(51,ke)}const ka=v=>v.key==="Enter"&&gl(),ya=()=>hl("copy"),wa=()=>hl("link");function Ca(){Ct=this.value,t(74,Ct)}return[n,i,r,a,u,d,m,h,_,y,C,T,j,E,D,N,P,I,R,z,V,U,q,J,G,H,A,O,Q,W,ae,x,le,te,re,pe,ye,He,Ae,Y,$,ue,he,Ce,De,Ue,Ge,qe,Je,Fe,Pe,ke,Ne,Oe,Se,we,Te,Ve,_e,ce,Z,Ee,et,at,ot,Re,Me,nl,ol,Fl,Pl,Ll,Rl,Ut,Ct,St,sl,il,vn,B,ze,Fi,Ol,vt,tt,cl,Vl,Wl,Gt,al,Pi,Bl,Hl,Ul,Kl,Gl,Jl,ql,Yl,Wi,Bi,Hi,Zl,Gi,Ji,qi,Yi,xl,Qi,Xi,en,Zi,jt,$i,xi,er,tr,lr,tn,ln,Tt,nn,on,nr,sn,Et,or,sr,ir,rr,cr,ar,pl,an,Nt,Jt,ml,_l,fr,fn,dn,dr,pn,pr,hl,mr,mn,vr,hr,gr,br,gl,_n,kr,dt,ht,gt,bl,kl,yr,wr,Cr,Sr,jr,Tr,Er,Nr,Dr,Ir,Mr,Ar,Fr,Pr,Lr,Rr,Or,zr,Vr,Wr,Br,Hr,Ur,Kr,Gr,Jr,qr,Yr,Qr,Xr,Zr,$r,xr,ec,tc,lc,nc,oc,sc,ic,rc,cc,ac,uc,fc,dc,pc,mc,_c,vc,hc,gc,bc,kc,yc,wc,Cc,Sc,jc,Tc,Ec,Nc,Dc,Ic,Mc,Ac,Fc,Pc,Lc,Rc,Oc,zc,Vc,Wc,Bc,Hc,Uc,Kc,Gc,Jc,qc,Yc,Qc,Xc,Zc,$c,xc,ea,ta,la,na,oa,sa,ia,ra,ca,aa,ua,fa,da,pa,ma,_a,va,ha,ga,ba,ka,ya,wa,Ca]}class $d extends Ze{constructor(e){super(),Xe(this,e,Zd,Qd,Qe,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new $d({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-DS67FqQ2.js b/cmd/verstak-gui/frontend-dist/assets/main-DS67FqQ2.js deleted file mode 100644 index adee8a4..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-DS67FqQ2.js +++ /dev/null @@ -1,3 +0,0 @@ -var Sr=Object.defineProperty;var jr=(l,e,t)=>e in l?Sr(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var yl=(l,e,t)=>jr(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function t(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=t(o);fetch(o.href,i)}})();function x(){}function di(l){return l()}function vn(){return Object.create(null)}function _e(l){l.forEach(di)}function mt(l){return typeof l=="function"}function Xe(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let Yt;function xt(l,e){return l===e?!0:(Yt||(Yt=document.createElement("a")),Yt.href=e,l===Yt.href)}function Tr(l){return Object.keys(l).length===0}const Nl=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function S(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function Le(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Dl(l){return function(e){return e.preventDefault(),l.call(this,e)}}function Qe(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function ut(l){return function(e){e.target===this&&l.call(this,e)}}function s(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function tl(l){return l===""?null:+l}function Er(l){return Array.from(l.childNodes)}function K(l,e){e=""+e,l.data!==e&&(l.data=e)}function ye(l,e){l.value=e??""}function at(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function pt(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const i=Nr(e,t,{cancelable:n});return o.slice().forEach(c=>{c.call(l,i)}),!i.defaultPrevented}return!0}}function mi(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const At=[],kn=[];let Ft=[];const hn=[],Dr=Promise.resolve();let jl=!1;function Ir(){jl||(jl=!0,Dr.then(_i))}function wt(l){Ft.push(l)}const wl=new Set;let It=0;function _i(){if(It!==0)return;const l=Wt;do{try{for(;Itl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Ft=e}const $t=new Set;let yt;function lt(){yt={r:0,c:[],p:yt}}function nt(){yt.r||_e(yt.c),yt=yt.p}function ie(l,e){l&&l.i&&($t.delete(l),l.i(e))}function ue(l,e,t,n){if(l&&l.o){if($t.has(l))return;$t.add(l),yt.c.push(()=>{$t.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function fe(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function gi(l,e){ue(l,1,1,()=>{e.delete(l.key)})}function vi(l,e,t,n,o,i,c,r,f,d,m,v){let _=l.length,h=i.length,b=_;const y={};for(;b--;)y[l[b].key]=b;const C=[],T=new Map,j=new Map,E=[];for(b=h;b--;){const I=v(o,i,b),O=t(I);let V=c.get(O);V?E.push(()=>V.p(I,e)):(V=d(O,I),V.c()),T.set(O,C[b]=V),O in y&&j.set(O,Math.abs(b-y[O]))}const D=new Set,N=new Set;function F(I){ie(I,1),I.m(r,m),c.set(I.key,I),m=I.first,h--}for(;_&&h;){const I=C[h-1],O=l[_-1],V=I.key,B=O.key;I===O?(m=I.first,_--,h--):T.has(B)?!c.has(V)||D.has(V)?F(I):N.has(B)?_--:j.get(V)>j.get(B)?(N.add(V),F(I)):(D.add(B),_--):(f(O,c),_--)}for(;_--;){const I=l[_];T.has(I.key)||f(I,c)}for(;h;)F(C[h-1]);return _e(E),C}function Ke(l){l&&l.c()}function We(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),wt(()=>{const i=l.$$.on_mount.map(di).filter(mt);l.$$.on_destroy?l.$$.on_destroy.push(...i):_e(i),l.$$.on_mount=[]}),o.forEach(wt)}function Be(l,e){const t=l.$$;t.fragment!==null&&(Ar(t.after_update),_e(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Fr(l,e){l.$$.dirty[0]===-1&&(At.push(l),Ir(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const b=h.length?h[0]:_;return d.ctx&&o(d.ctx[v],d.ctx[v]=b)&&(!d.skip_bound&&d.bound[v]&&d.bound[v](b),m&&Fr(l,v)),_}):[],d.update(),m=!0,_e(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const v=Er(e.target);d.fragment&&d.fragment.l(v),v.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&ie(l.$$.fragment),We(l,e.target,e.anchor),_i()}Vt(f)}class $e{constructor(){yl(this,"$$");yl(this,"$$set")}$destroy(){Be(this,1),this.$destroy=x}$on(e,t){if(!mt(t))return x;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!Tr(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Pr="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Pr);function Lr(l){let e,t;return{c(){e=X("path"),t=X("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Rr(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17"),s(i,"points","10 9 9 9 8 9")},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),S(c,o,r),S(c,i,r)},d(c){c&&(w(e),w(t),w(n),w(o),w(i))}}}function Or(l){let e,t;return{c(){e=X("polyline"),t=X("polyline"),s(e,"points","16 18 22 12 16 6"),s(t,"points","8 6 2 12 8 18")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function zr(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("rect"),s(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),s(t,"points","7 3 12 8 17 3"),s(n,"x1","3"),s(n,"y1","8"),s(n,"x2","21"),s(n,"y2","8"),s(o,"x","10"),s(o,"y","12"),s(o,"width","4"),s(o,"height","4"),s(o,"rx","1")},m(i,c){S(i,e,c),S(i,t,c),S(i,n,c),S(i,o,c)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Vr(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","9"),s(n,"y1","12"),s(n,"x2","15"),s(n,"y2","12"),s(o,"x1","9"),s(o,"y1","15"),s(o,"x2","13"),s(o,"y2","15"),s(i,"x1","12"),s(i,"y1","15"),s(i,"x2","12"),s(i,"y2","18")},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),S(c,o,r),S(c,i,r)},d(c){c&&(w(e),w(t),w(n),w(o),w(i))}}}function Wr(l){let e,t,n,o,i,c;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),c=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(o,"x1","8"),s(o,"y1","16"),s(o,"x2","16"),s(o,"y2","16"),s(i,"x1","8"),s(i,"y1","14"),s(i,"x2","12"),s(i,"y2","14"),s(c,"x1","12"),s(c,"y1","12"),s(c,"x2","12"),s(c,"y2","18")},m(r,f){S(r,e,f),S(r,t,f),S(r,n,f),S(r,o,f),S(r,i,f),S(r,c,f)},d(r){r&&(w(e),w(t),w(n),w(o),w(i),w(c))}}}function Br(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17")},m(i,c){S(i,e,c),S(i,t,c),S(i,n,c),S(i,o,c)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Hr(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(o,"x1","8"),s(o,"y1","16"),s(o,"x2","16"),s(o,"y2","16"),s(i,"x1","8"),s(i,"y1","14"),s(i,"x2","12"),s(i,"y2","14")},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),S(c,o,r),S(c,i,r)},d(c){c&&(w(e),w(t),w(n),w(o),w(i))}}}function Ur(l){let e,t,n;return{c(){e=X("path"),t=X("circle"),n=X("circle"),s(e,"d","M9 18V5l12-2v13"),s(t,"cx","6"),s(t,"cy","18"),s(t,"r","3"),s(n,"cx","18"),s(n,"cy","16"),s(n,"r","3")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Kr(l){let e,t;return{c(){e=X("rect"),t=X("polyline"),s(e,"x","2"),s(e,"y","4"),s(e,"width","20"),s(e,"height","16"),s(e,"rx","2"),s(t,"points","10 9 16 12 10 15 10 9")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Gr(l){let e,t,n;return{c(){e=X("rect"),t=X("circle"),n=X("polyline"),s(e,"x","3"),s(e,"y","3"),s(e,"width","18"),s(e,"height","18"),s(e,"rx","2"),s(e,"ry","2"),s(t,"cx","8.5"),s(t,"cy","8.5"),s(t,"r","1.5"),s(n,"points","21 15 16 10 5 21")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Jr(l){let e;return{c(){e=X("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function qr(l){let e;function t(i,c){return i[0]==="folder"?Jr:i[0]==="image"?Gr:i[0]==="video"?Kr:i[0]==="audio"?Ur:i[0]==="pdf"?Hr:i[0]==="document"?Br:i[0]==="spreadsheet"?Wr:i[0]==="presentation"?Vr:i[0]==="archive"?zr:i[0]==="code"?Or:i[0]==="text"?Rr:Lr}let n=t(l),o=n(l);return{c(){e=X("svg"),o.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(i,c){S(i,e,c),o.m(e,null)},p(i,[c]){n!==(n=t(i))&&(o.d(1),o=n(i),o&&(o.c(),o.m(e,null))),c&2&&s(e,"width",i[1]),c&2&&s(e,"height",i[1])},i:x,o:x,d(i){i&&w(e),o.d()}}}function Yr(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,o=i.size)},[n,o]}class ki extends $e{constructor(e){super(),Ze(this,e,Yr,qr,Xe,{kind:0,size:1})}}const Qr={"nav.today":"Сегодня","nav.inbox":"Неразобранное","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":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","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":"Синхронизация...","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},Xr={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","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.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","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","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.caseCreated":"Case created","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","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","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","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","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","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","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","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"},bn={ru:Qr,en:Xr};let yn="ru";function p(l,e){var o;const t=bn[yn];let n=t==null?void 0:t[l];if(n==null&&yn!=="ru"&&(n=(o=bn.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[i,c]of Object.entries(e))n=n.replace(`{${i}}`,String(c));return n}function el(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const Tl={"image/jpeg":p("mime.jpeg"),"image/png":p("mime.png"),"image/gif":p("mime.gif"),"image/webp":p("mime.webp"),"image/svg+xml":p("mime.svg"),"image/bmp":p("mime.bmp"),"image/tiff":p("mime.tiff"),"image/avif":p("mime.avif"),"application/pdf":p("mime.pdf"),"application/msword":p("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":p("mime.word"),"application/vnd.ms-excel":p("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":p("mime.excel"),"application/vnd.ms-powerpoint":p("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":p("mime.ppt"),"application/zip":p("mime.zip"),"application/gzip":p("mime.gzip"),"application/x-tar":p("mime.tar"),"application/x-7z-compressed":p("mime.sevenz"),"application/x-rar-compressed":p("mime.rar"),"text/plain":p("mime.text"),"text/html":p("mime.html"),"text/css":p("mime.css"),"text/javascript":p("mime.js"),"application/json":p("mime.json"),"application/xml":p("mime.xml"),"application/x-yaml":p("mime.yaml"),"application/octet-stream":p("mime.binary"),"application/x-msdos-program":p("mime.executable"),"inode/directory":p("mime.folder")};function wn(l){return l?Tl[l]||l:p("mime.unknown")}function Zr(l){if(l.type==="folder")return p("mime.folder");const e=(l.mime||"").toLowerCase();if(Tl[e])return Tl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():p("mime.file")}function hi(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const bi=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],yi=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],wi=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Ci=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function $r(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(bi.includes(e)||Ci.includes(n)||e.includes("pdf")||yi.includes(e)||wi.includes(n))}function Si(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return bi.includes(e)||Ci.includes(n)}function ji(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return yi.includes(e)||wi.includes(n)&&n!=="md"&&n!=="markdown"}function Ti(l){return(l.mime||"").toLowerCase().includes("pdf")}function Ei(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function xr(l){return Si(l)||Ti(l)}function ef(l){return ji(l)||Ei(l)}const{window:tf}=Nl;function lf(l){let e,t,n,o=el(l[0].size)+"",i;return{c(){e=u("span"),e.textContent="·",t=k(),n=u("span"),i=A(o),s(e,"class","meta-sep svelte-1skuef2")},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),a(n,i)},p(c,r){r[0]&1&&o!==(o=el(c[0].size)+"")&&K(i,o)},d(c){c&&(w(e),w(t),w(n))}}}function nf(l){let e,t,n,o,i;return{c(){e=u("button"),e.innerHTML='',t=k(),n=u("button"),n.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.openFolder")),s(e,"aria-label",p("file.openFolder")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.showInExplorer")),s(n,"aria-label",p("file.showInExplorer"))},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),o||(i=[M(e,"click",Qe(l[30])),M(n,"click",Qe(l[11]))],o=!0)},p:x,d(c){c&&(w(e),w(t),w(n)),o=!1,_e(i)}}}function of(l){let e,t,n,o,i,c,r;return{c(){e=u("button"),e.innerHTML='',t=k(),n=u("button"),n.innerHTML='',o=k(),i=u("button"),i.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",p("file.preview")),s(e,"aria-label",p("file.preview")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",p("file.openExternal")),s(n,"aria-label",p("file.openExternal")),s(i,"class","action-btn svelte-1skuef2"),s(i,"title",p("file.showInExplorer")),s(i,"aria-label",p("file.showInExplorer"))},m(f,d){S(f,e,d),S(f,t,d),S(f,n,d),S(f,o,d),S(f,i,d),c||(r=[M(e,"click",Qe(l[29])),M(n,"click",Qe(l[10])),M(i,"click",Qe(l[11]))],c=!0)},p:x,d(f){f&&(w(e),w(t),w(n),w(o),w(i)),c=!1,_e(r)}}}function Cn(l){let e,t,n,o,i,c,r,f,d=p("common.open")+"",m,v,_,h,b,y,C,T,j=p("file.openExternal")+"",E,D,N,F,I,O,V=p("file.showInExplorer")+"",B,H,Y,J,G,W,R,P,z,U=p("common.rename")+"",q,se,de,ee,$,te,ce,pe=p("common.duplicate")+"",we,He,ve,Q,Z,re,ge,Ne,Ue,Me=p("common.cut")+"",Je,Ye,Ve,Re,Oe,Ae,je,ze=p("common.copy")+"",Fe,Ge,Ee,De,ke,Pe,Ce,be,ae,Te=p("common.delete")+"",ne,Ie,st;return{c(){e=u("div"),t=k(),n=u("div"),o=u("button"),i=X("svg"),c=X("path"),r=X("circle"),f=k(),m=A(d),v=k(),_=u("button"),h=X("svg"),b=X("path"),y=X("polyline"),C=X("line"),T=k(),E=A(j),D=k(),N=u("button"),F=X("svg"),I=X("path"),O=k(),B=A(V),H=k(),Y=u("div"),J=k(),G=u("button"),W=X("svg"),R=X("path"),P=X("path"),z=k(),q=A(U),se=k(),de=u("button"),ee=X("svg"),$=X("rect"),te=X("path"),ce=k(),we=A(pe),He=k(),ve=u("button"),Q=X("svg"),Z=X("circle"),re=X("circle"),ge=X("line"),Ne=X("line"),Ue=k(),Je=A(Me),Ye=k(),Ve=u("button"),Re=X("svg"),Oe=X("rect"),Ae=X("path"),je=k(),Fe=A(ze),Ge=k(),Ee=u("div"),De=k(),ke=u("button"),Pe=X("svg"),Ce=X("polyline"),be=X("path"),ae=k(),ne=A(Te),s(e,"class","menu-backdrop svelte-1skuef2"),s(e,"role","presentation"),s(c,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),s(r,"cx","12"),s(r,"cy","12"),s(r,"r","3"),s(i,"width","14"),s(i,"height","14"),s(i,"viewBox","0 0 24 24"),s(i,"fill","none"),s(i,"stroke","currentColor"),s(i,"stroke-width","2"),s(i,"stroke-linecap","round"),s(i,"stroke-linejoin","round"),s(o,"class","menu-item svelte-1skuef2"),s(o,"role","menuitem"),s(b,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),s(y,"points","15 3 21 3 21 9"),s(C,"x1","10"),s(C,"y1","14"),s(C,"x2","21"),s(C,"y2","3"),s(h,"width","14"),s(h,"height","14"),s(h,"viewBox","0 0 24 24"),s(h,"fill","none"),s(h,"stroke","currentColor"),s(h,"stroke-width","2"),s(h,"stroke-linecap","round"),s(h,"stroke-linejoin","round"),s(_,"class","menu-item svelte-1skuef2"),s(_,"role","menuitem"),s(I,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),s(F,"width","14"),s(F,"height","14"),s(F,"viewBox","0 0 24 24"),s(F,"fill","none"),s(F,"stroke","currentColor"),s(F,"stroke-width","2"),s(F,"stroke-linecap","round"),s(F,"stroke-linejoin","round"),s(N,"class","menu-item svelte-1skuef2"),s(N,"role","menuitem"),s(Y,"class","menu-sep svelte-1skuef2"),s(R,"d","M12 20h9"),s(P,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(W,"width","14"),s(W,"height","14"),s(W,"viewBox","0 0 24 24"),s(W,"fill","none"),s(W,"stroke","currentColor"),s(W,"stroke-width","2"),s(W,"stroke-linecap","round"),s(W,"stroke-linejoin","round"),s(G,"class","menu-item svelte-1skuef2"),s(G,"role","menuitem"),s($,"x","9"),s($,"y","9"),s($,"width","13"),s($,"height","13"),s($,"rx","2"),s($,"ry","2"),s(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(ee,"width","14"),s(ee,"height","14"),s(ee,"viewBox","0 0 24 24"),s(ee,"fill","none"),s(ee,"stroke","currentColor"),s(ee,"stroke-width","2"),s(ee,"stroke-linecap","round"),s(ee,"stroke-linejoin","round"),s(de,"class","menu-item svelte-1skuef2"),s(de,"role","menuitem"),s(Z,"cx","6"),s(Z,"cy","6"),s(Z,"r","3"),s(re,"cx","6"),s(re,"cy","18"),s(re,"r","3"),s(ge,"x1","20"),s(ge,"y1","4"),s(ge,"x2","8.12"),s(ge,"y2","15.88"),s(Ne,"x1","8.12"),s(Ne,"y1","8.12"),s(Ne,"x2","20"),s(Ne,"y2","20"),s(Q,"width","14"),s(Q,"height","14"),s(Q,"viewBox","0 0 24 24"),s(Q,"fill","none"),s(Q,"stroke","currentColor"),s(Q,"stroke-width","2"),s(Q,"stroke-linecap","round"),s(Q,"stroke-linejoin","round"),s(ve,"class","menu-item svelte-1skuef2"),s(ve,"role","menuitem"),s(Oe,"x","9"),s(Oe,"y","9"),s(Oe,"width","13"),s(Oe,"height","13"),s(Oe,"rx","2"),s(Oe,"ry","2"),s(Ae,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(Re,"width","14"),s(Re,"height","14"),s(Re,"viewBox","0 0 24 24"),s(Re,"fill","none"),s(Re,"stroke","currentColor"),s(Re,"stroke-width","2"),s(Re,"stroke-linecap","round"),s(Re,"stroke-linejoin","round"),s(Ve,"class","menu-item svelte-1skuef2"),s(Ve,"role","menuitem"),s(Ee,"class","menu-sep svelte-1skuef2"),s(Ce,"points","3 6 5 6 21 6"),s(be,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),s(Pe,"width","14"),s(Pe,"height","14"),s(Pe,"viewBox","0 0 24 24"),s(Pe,"fill","none"),s(Pe,"stroke","currentColor"),s(Pe,"stroke-width","2"),s(Pe,"stroke-linecap","round"),s(Pe,"stroke-linejoin","round"),s(ke,"class","menu-item menu-item-danger svelte-1skuef2"),s(ke,"role","menuitem"),s(n,"class","menu svelte-1skuef2"),at(n,"left",l[3]+"px"),at(n,"top",l[4]+"px"),at(n,"position","fixed"),s(n,"role","menu"),s(n,"tabindex","-1")},m(qe,Se){S(qe,e,Se),S(qe,t,Se),S(qe,n,Se),a(n,o),a(o,i),a(i,c),a(i,r),a(o,f),a(o,m),a(n,v),a(n,_),a(_,h),a(h,b),a(h,y),a(h,C),a(_,T),a(_,E),a(n,D),a(n,N),a(N,F),a(F,I),a(N,O),a(N,B),a(n,H),a(n,Y),a(n,J),a(n,G),a(G,W),a(W,R),a(W,P),a(G,z),a(G,q),a(n,se),a(n,de),a(de,ee),a(ee,$),a(ee,te),a(de,ce),a(de,we),a(n,He),a(n,ve),a(ve,Q),a(Q,Z),a(Q,re),a(Q,ge),a(Q,Ne),a(ve,Ue),a(ve,Je),a(n,Ye),a(n,Ve),a(Ve,Re),a(Re,Oe),a(Re,Ae),a(Ve,je),a(Ve,Fe),a(n,Ge),a(n,Ee),a(n,De),a(n,ke),a(ke,Pe),a(Pe,Ce),a(Pe,be),a(ke,ae),a(ke,ne),Ie||(st=[M(e,"click",Qe(l[19])),M(o,"click",l[17]),M(_,"click",l[10]),M(N,"click",l[11]),M(G,"click",l[13]),M(de,"click",l[14]),M(ve,"click",l[15]),M(Ve,"click",l[16]),M(ke,"click",l[12]),M(n,"click",Qe(l[28])),M(n,"keydown",l[31])],Ie=!0)},p(qe,Se){Se[0]&8&&at(n,"left",qe[3]+"px"),Se[0]&16&&at(n,"top",qe[4]+"px")},d(qe){qe&&(w(e),w(t),w(n)),Ie=!1,_e(st)}}}function sf(l){let e,t,n,o,i,c,r=l[0].name+"",f,d,m,v,_,h,b,y,C,T,j,E,D,N,F,I,O,V,B,H,Y,J;n=new ki({props:{kind:l[6],size:22}});let G=!l[7]&&lf(l);function W(U,q){return U[7]?nf:of}let P=W(l)(l),z=l[2]&&Cn(l);return{c(){e=u("div"),t=u("div"),Ke(n.$$.fragment),o=k(),i=u("div"),c=u("div"),f=A(r),m=k(),v=u("div"),_=u("span"),_.textContent=`${l[8]}`,h=k(),G&&G.c(),b=k(),y=u("div"),P.c(),C=k(),T=u("button"),j=X("svg"),E=X("circle"),D=X("circle"),N=X("circle"),F=k(),I=u("button"),I.innerHTML='',V=k(),z&&z.c(),B=it(),s(t,"class","file-row-icon svelte-1skuef2"),s(c,"class","file-row-name svelte-1skuef2"),s(c,"title",d=l[0].name),s(v,"class","file-row-meta svelte-1skuef2"),s(i,"class","file-row-body svelte-1skuef2"),s(E,"cx","12"),s(E,"cy","5"),s(E,"r","2"),s(D,"cx","12"),s(D,"cy","12"),s(D,"r","2"),s(N,"cx","12"),s(N,"cy","19"),s(N,"r","2"),s(j,"width","16"),s(j,"height","16"),s(j,"viewBox","0 0 24 24"),s(j,"fill","currentColor"),s(T,"class","action-btn svelte-1skuef2"),s(T,"title",p("file.more")),s(T,"aria-label",p("file.more")),s(T,"aria-expanded",l[2]),s(I,"class","action-btn action-btn-danger svelte-1skuef2"),s(I,"title",p("common.delete")),s(I,"aria-label",p("common.delete")),s(y,"class","file-row-actions svelte-1skuef2"),s(e,"class","file-row svelte-1skuef2"),s(e,"role","button"),s(e,"tabindex","0"),s(e,"draggable","true"),s(e,"aria-label",O=l[7]?p("file.ariaFolder")+" "+l[0].name:p("file.ariaFile")+" "+l[0].name),he(e,"file-row--selected",l[1])},m(U,q){S(U,e,q),a(e,t),We(n,t,null),a(e,o),a(e,i),a(i,c),a(c,f),a(i,m),a(i,v),a(v,_),a(v,h),G&&G.m(v,null),a(e,b),a(e,y),P.m(y,null),a(y,C),a(y,T),a(T,j),a(j,E),a(j,D),a(j,N),a(y,F),a(y,I),S(U,V,q),z&&z.m(U,q),S(U,B,q),H=!0,Y||(J=[M(tf,"click",l[19]),M(T,"click",Qe(l[18])),M(I,"click",Qe(l[12])),M(e,"click",l[9]),M(e,"keydown",l[24]),M(e,"contextmenu",l[23]),M(e,"dragstart",l[20]),M(e,"dragover",l[21]),M(e,"drop",l[22])],Y=!0)},p(U,q){(!H||q[0]&1)&&r!==(r=U[0].name+"")&&K(f,r),(!H||q[0]&1&&d!==(d=U[0].name))&&s(c,"title",d),U[7]||G.p(U,q),P.p(U,q),(!H||q[0]&4)&&s(T,"aria-expanded",U[2]),(!H||q[0]&1&&O!==(O=U[7]?p("file.ariaFolder")+" "+U[0].name:p("file.ariaFile")+" "+U[0].name))&&s(e,"aria-label",O),(!H||q[0]&2)&&he(e,"file-row--selected",U[1]),U[2]?z?z.p(U,q):(z=Cn(U),z.c(),z.m(B.parentNode,B)):z&&(z.d(1),z=null)},i(U){H||(ie(n.$$.fragment,U),H=!0)},o(U){ue(n.$$.fragment,U),H=!1},d(U){U&&(w(e),w(V),w(B)),Be(n),G&&G.d(),P.d(),z&&z.d(U),Y=!1,_e(J)}}}function cf(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:i}=e,{onDragOver:c}=e,{onDrop:r}=e;const f=ll(),d=hi(n),m=n.type==="folder",v=Zr(n);let _=!1,h=0,b=0,y=null;function C(q){q.ctrlKey||q.metaKey?f("toggleSelect",n.id):q.shiftKey?f("rangeSelect",n.id):y?(clearTimeout(y),y=null,m?f("navigate",n.id):f("preview",n)):y=setTimeout(()=>{y=null,f("selectOne",n.id)},250)}function T(){f("openExternal",n.fileId)}function j(){t(2,_=!1),f("showInFolder",n.nodeId||n.id)}function E(){t(2,_=!1),f("delete",{id:n.id,type:n.type})}function D(){t(2,_=!1),f("rename",{id:n.id,name:n.name})}function N(){t(2,_=!1),f("duplicate",n.id)}function F(){t(2,_=!1),f("cut",n.id)}function I(){t(2,_=!1),f("copy",n.id)}function O(){t(2,_=!1),m?f("navigate",n.id):f("preview",n)}function V(){t(2,_=!_)}function B(){t(2,_=!1)}function H(q){i&&i(q,n.id)}function Y(q){c&&m&&c(q,n.id)}function J(q){r&&m&&r(q,n.id)}function G(q){q.preventDefault(),t(3,h=Math.min(q.clientX,window.innerWidth-240)),t(4,b=Math.min(q.clientY,window.innerHeight-320)),t(2,_=!0)}function W(q){(q.key==="Enter"||q.key===" ")&&(q.preventDefault(),C(q))}function R(q){mi.call(this,l,q)}const P=()=>f("preview",n),z=()=>f("navigate",n.id),U=q=>{q.key==="Escape"&&(q.stopPropagation(),B())};return l.$$set=q=>{"item"in q&&t(0,n=q.item),"selected"in q&&t(1,o=q.selected),"onDragStart"in q&&t(25,i=q.onDragStart),"onDragOver"in q&&t(26,c=q.onDragOver),"onDrop"in q&&t(27,r=q.onDrop)},[n,o,_,h,b,f,d,m,v,C,T,j,E,D,N,F,I,O,V,B,H,Y,J,G,W,i,c,r,R,P,z,U]}class af extends $e{constructor(e){super(),Ze(this,e,cf,sf,Xe,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function Sn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function rf(l){let e;return{c(){e=u("span"),e.textContent="/",s(e,"class","sep svelte-csi2lb")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function ff(l){let e,t=l[4].name+"",n,o,i;function c(){return l[2](l[6])}return{c(){e=u("button"),n=A(t),s(e,"class","crumb crumb--link svelte-csi2lb")},m(r,f){S(r,e,f),a(e,n),o||(i=M(e,"click",c),o=!0)},p(r,f){l=r,f&1&&t!==(t=l[4].name+"")&&K(n,t)},d(r){r&&w(e),o=!1,i()}}}function uf(l){let e,t=l[4].name+"",n;return{c(){e=u("span"),n=A(t),s(e,"class","crumb crumb--current svelte-csi2lb")},m(o,i){S(o,e,i),a(e,n)},p(o,i){i&1&&t!==(t=o[4].name+"")&&K(n,t)},d(o){o&&w(e)}}}function jn(l){let e,t,n=l[6]>0&&rf();function o(r,f){return r[6]===r[0].length-1?uf:ff}let i=o(l),c=i(l);return{c(){n&&n.c(),e=k(),c.c(),t=it()},m(r,f){n&&n.m(r,f),S(r,e,f),c.m(r,f),S(r,t,f)},p(r,f){i===(i=o(r))&&c?c.p(r,f):(c.d(1),c=i(r),c&&(c.c(),c.m(t.parentNode,t)))},d(r){r&&(w(e),w(t)),n&&n.d(r),c.d(r)}}}function df(l){let e,t=fe(l[0]),n=[];for(let o=0;oi(r);return l.$$set=r=>{"crumbs"in r&&t(0,n=r.crumbs)},[n,i,c]}class Ni extends $e{constructor(e){super(),Ze(this,e,pf,df,Xe,{crumbs:0})}}function mf(l){let e,t,n,o,i,c;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.previewUnavailable")}`,n=k(),o=u("button"),o.textContent=`${p("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),i||(c=M(o,"click",l[9]),i=!0)},p:x,d(r){r&&w(e),i=!1,c()}}}function _f(l){let e,t;function n(c,r){return r&2&&(e=null),e==null&&(e=!!(c[1]&&c[1].startsWith("data:"))),e?yf:bf}let o=n(l,-1),i=o(l);return{c(){i.c(),t=it()},m(c,r){i.m(c,r),S(c,t,r)},p(c,r){o===(o=n(c,r))&&i?i.p(c,r):(i.d(1),i=o(c),i&&(i.c(),i.m(t.parentNode,t)))},d(c){c&&w(t),i.d(c)}}}function gf(l){let e,t,n;return{c(){e=u("pre"),t=u("code"),n=A(l[1]),s(e,"class","preview-text svelte-1cw3u0m")},m(o,i){S(o,e,i),a(e,t),a(t,n)},p(o,i){i&2&&K(n,o[1])},d(o){o&&w(e)}}}function vf(l){let e,t,n,o;return{c(){e=u("div"),t=u("img"),xt(t.src,n=l[1])||s(t,"src",n),s(t,"alt",o=l[0].name),s(t,"class","preview-image svelte-1cw3u0m"),s(e,"class","preview-image-container svelte-1cw3u0m")},m(i,c){S(i,e,c),a(e,t)},p(i,c){c&2&&!xt(t.src,n=i[1])&&s(t,"src",n),c&1&&o!==(o=i[0].name)&&s(t,"alt",o)},d(i){i&&w(e)}}}function kf(l){let e,t,n,o,i,c,r;return{c(){e=u("div"),t=u("p"),n=A(l[3]),o=k(),i=u("button"),i.textContent=`${p("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(f,d){S(f,e,d),a(e,t),a(t,n),a(e,o),a(e,i),c||(r=M(i,"click",l[9]),c=!0)},p(f,d){d&8&&K(n,f[3])},d(f){f&&w(e),c=!1,r()}}}function hf(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("common.loading")}`,s(e,"class","preview-status svelte-1cw3u0m")},m(n,o){S(n,e,o),a(e,t)},p:x,d(n){n&&w(e)}}}function bf(l){let e,t,n,o,i,c;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.pdfUnavailable")}`,n=k(),o=u("button"),o.textContent=`${p("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),i||(c=M(o,"click",l[9]),i=!0)},p:x,d(r){r&&w(e),i=!1,c()}}}function yf(l){let e,t,n;return{c(){e=u("div"),t=u("embed"),xt(t.src,n=l[1])||s(t,"src",n),s(t,"type","application/pdf"),s(t,"class","preview-pdf svelte-1cw3u0m"),s(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,i){S(o,e,i),a(e,t)},p(o,i){i&2&&!xt(t.src,n=o[1])&&s(t,"src",n)},d(o){o&&w(e)}}}function wf(l){let e,t,n,o,i,c,r,f=l[0].name+"",d,m,v,_,h=el(l[0].size)+"",b,y,C=wn(l[0].mime)+"",T,j,E,D,N,F,I,O,V,B,H;i=new ki({props:{kind:l[8],size:18}});function Y(W,R){return W[2]?hf:W[3]?kf:W[6]&&W[1]?vf:W[5]&&W[1]?gf:W[4]?_f:mf}let J=Y(l),G=J(l);return{c(){e=u("div"),t=u("div"),n=u("header"),o=u("div"),Ke(i.$$.fragment),c=k(),r=u("span"),d=A(f),v=k(),_=u("div"),b=A(h),y=A(" · "),T=A(C),j=k(),E=u("div"),D=u("button"),D.innerHTML='',N=k(),F=u("button"),F.innerHTML='',I=k(),O=u("div"),G.c(),s(r,"class","preview-name svelte-1cw3u0m"),s(r,"title",m=l[0].name),s(o,"class","preview-title svelte-1cw3u0m"),s(_,"class","preview-meta svelte-1cw3u0m"),s(D,"class","action-btn svelte-1cw3u0m"),s(D,"title",p("file.openExternal")),s(D,"aria-label",p("file.openExternal")),s(F,"class","action-btn action-btn-close svelte-1cw3u0m"),s(F,"title","Close"),s(F,"aria-label","Close preview"),s(E,"class","preview-actions svelte-1cw3u0m"),s(n,"class","preview-header svelte-1cw3u0m"),s(O,"class","preview-body svelte-1cw3u0m"),s(t,"class","modal svelte-1cw3u0m"),s(e,"class","overlay svelte-1cw3u0m"),s(e,"role","presentation")},m(W,R){S(W,e,R),a(e,t),a(t,n),a(n,o),We(i,o,null),a(o,c),a(o,r),a(r,d),a(n,v),a(n,_),a(_,b),a(_,y),a(_,T),a(n,j),a(n,E),a(E,D),a(E,N),a(E,F),a(t,I),a(t,O),G.m(O,null),V=!0,B||(H=[M(D,"click",l[9]),M(F,"click",l[10]),M(e,"click",ut(l[11])),M(e,"keydown",l[12])],B=!0)},p(W,[R]){(!V||R&1)&&f!==(f=W[0].name+"")&&K(d,f),(!V||R&1&&m!==(m=W[0].name))&&s(r,"title",m),(!V||R&1)&&h!==(h=el(W[0].size)+"")&&K(b,h),(!V||R&1)&&C!==(C=wn(W[0].mime)+"")&&K(T,C),J===(J=Y(W))&&G?G.p(W,R):(G.d(1),G=J(W),G&&(G.c(),G.m(O,null)))},i(W){V||(ie(i.$$.fragment,W),V=!0)},o(W){ue(i.$$.fragment,W),V=!1},d(W){W&&w(e),Be(i),G.d(),B=!1,_e(H)}}}function Cf(l,e,t){let n,o,i,{item:c}=e,{content:r=""}=e,{loading:f=!1}=e,{error:d=""}=e;const m=ll(),v=hi(c);function _(T){T.key==="Escape"&&m("close")}function h(){m("openExternal",c.fileId)}pi(()=>{window.addEventListener("keydown",_)}),Ml(()=>{window.removeEventListener("keydown",_)});const b=()=>m("close"),y=()=>m("close"),C=T=>{T.key==="Escape"&&(T.preventDefault(),m("close"))};return l.$$set=T=>{"item"in T&&t(0,c=T.item),"content"in T&&t(1,r=T.content),"loading"in T&&t(2,f=T.loading),"error"in T&&t(3,d=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Si(c)&&r&&r.startsWith("data:")),l.$$.dirty&1&&t(5,o=ji(c)||Ei(c)),l.$$.dirty&1&&t(4,i=Ti(c))},[c,r,f,d,i,o,n,m,v,h,b,y,C]}class Sf extends $e{constructor(e){super(),Ze(this,e,Cf,wf,Xe,{item:0,content:1,loading:2,error:3})}}function jf(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T;return{c(){e=u("div"),t=u("div"),n=u("h3"),o=A(l[0]),i=k(),c=u("p"),r=A(l[1]),f=k(),d=u("div"),m=u("button"),v=A(l[2]),h=k(),b=u("button"),y=A(l[3]),s(n,"class","svelte-1fv6yyk"),s(c,"class","message svelte-1fv6yyk"),s(m,"class",_="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),s(b,"class","btn svelte-1fv6yyk"),s(d,"class","actions svelte-1fv6yyk"),s(t,"class","modal svelte-1fv6yyk"),s(e,"class","overlay svelte-1fv6yyk"),s(e,"role","presentation")},m(j,E){S(j,e,E),a(e,t),a(t,n),a(n,o),a(t,i),a(t,c),a(c,r),a(t,f),a(t,d),a(d,m),a(m,v),a(d,h),a(d,b),a(b,y),C||(T=[M(m,"click",l[6]),M(b,"click",l[7]),M(e,"click",ut(l[8])),M(e,"keydown",l[9])],C=!0)},p(j,[E]){E&1&&K(o,j[0]),E&2&&K(r,j[1]),E&4&&K(v,j[2]),E&16&&_!==(_="btn "+(j[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&s(m,"class",_),E&8&&K(y,j[3])},i:x,o:x,d(j){j&&w(e),C=!1,_e(T)}}}function Tf(l,e,t){let{title:n=p("common.confirm")}=e,{message:o=""}=e,{confirmText:i=p("common.delete")}=e,{cancelText:c=p("common.cancel")}=e,{danger:r=!1}=e;const f=ll(),d=()=>f("confirm"),m=()=>f("cancel"),v=()=>f("cancel"),_=h=>{h.key==="Escape"&&(h.preventDefault(),f("cancel"))};return l.$$set=h=>{"title"in h&&t(0,n=h.title),"message"in h&&t(1,o=h.message),"confirmText"in h&&t(2,i=h.confirmText),"cancelText"in h&&t(3,c=h.cancelText),"danger"in h&&t(4,r=h.danger)},[n,o,i,c,r,f,d,m,v,_]}class Ef extends $e{constructor(e){super(),Ze(this,e,Tf,jf,Xe,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Nf(l){let e,t,n;return{c(){e=X("circle"),t=X("line"),n=X("line"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","10"),s(t,"x1","12"),s(t,"y1","16"),s(t,"x2","12"),s(t,"y2","12"),s(n,"x1","12"),s(n,"y1","8"),s(n,"x2","12.01"),s(n,"y2","8")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},d(o){o&&(w(e),w(t),w(n))}}}function Df(l){let e,t,n,o;return{c(){e=X("rect"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"x","3"),s(e,"y","5"),s(e,"width","18"),s(e,"height","14"),s(e,"rx","2"),s(t,"points","3 10 21 10"),s(n,"x1","8"),s(n,"y1","5"),s(n,"x2","8"),s(n,"y2","19"),s(o,"x1","16"),s(o,"y1","5"),s(o,"x2","16"),s(o,"y2","19")},m(i,c){S(i,e,c),S(i,t,c),S(i,n,c),S(i,o,c)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function If(l){let e,t;return{c(){e=X("path"),t=X("polyline"),s(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),s(t,"points","13 2 13 9 20 9")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Mf(l){let e,t;return{c(){e=X("path"),t=X("path"),s(e,"d","M12 20h9"),s(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Af(l){let e,t,n,o,i;return{c(){e=X("path"),t=X("path"),n=X("line"),o=X("line"),i=X("line"),s(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),s(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),s(n,"x1","8"),s(n,"y1","7"),s(n,"x2","16"),s(n,"y2","7"),s(o,"x1","8"),s(o,"y1","11"),s(o,"x2","14"),s(o,"y2","11"),s(i,"x1","8"),s(i,"y1","15"),s(i,"x2","12"),s(i,"y2","15")},m(c,r){S(c,e,r),S(c,t,r),S(c,n,r),S(c,o,r),S(c,i,r)},d(c){c&&(w(e),w(t),w(n),w(o),w(i))}}}function Ff(l){let e,t,n,o;return{c(){e=X("path"),t=X("polyline"),n=X("line"),o=X("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(o,"x1","16"),s(o,"y1","17"),s(o,"x2","8"),s(o,"y2","17")},m(i,c){S(i,e,c),S(i,t,c),S(i,n,c),S(i,o,c)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Pf(l){let e,t;return{c(){e=X("path"),t=X("circle"),s(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),s(t,"cx","12"),s(t,"cy","7"),s(t,"r","4")},m(n,o){S(n,e,o),S(n,t,o)},d(n){n&&(w(e),w(t))}}}function Lf(l){let e,t,n,o;return{c(){e=X("rect"),t=X("rect"),n=X("rect"),o=X("rect"),s(e,"x","3"),s(e,"y","3"),s(e,"width","7"),s(e,"height","7"),s(e,"rx","1"),s(t,"x","14"),s(t,"y","3"),s(t,"width","7"),s(t,"height","4"),s(t,"rx","1"),s(n,"x","14"),s(n,"y","10"),s(n,"width","7"),s(n,"height","11"),s(n,"rx","1"),s(o,"x","3"),s(o,"y","14"),s(o,"width","7"),s(o,"height","7"),s(o,"rx","1")},m(i,c){S(i,e,c),S(i,t,c),S(i,n,c),S(i,o,c)},d(i){i&&(w(e),w(t),w(n),w(o))}}}function Rf(l){let e;return{c(){e=X("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Of(l){let e;function t(i,c){return i[0]==="folder"?Rf:i[0]==="project"?Lf:i[0]==="client"?Pf:i[0]==="document"?Ff:i[0]==="recipe"?Af:i[0]==="note"?Mf:i[0]==="file"?If:i[0]==="case"?Df:Nf}let n=t(l),o=n(l);return{c(){e=X("svg"),o.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(i,c){S(i,e,c),o.m(e,null)},p(i,[c]){n!==(n=t(i))&&(o.d(1),o=n(i),o&&(o.c(),o.m(e,null))),c&2&&s(e,"width",i[1]),c&2&&s(e,"height",i[1])},i:x,o:x,d(i){i&&w(e),o.d()}}}function zf(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,o=i.size)},[n,o]}class nl extends $e{constructor(e){super(),Ze(this,e,zf,Of,Xe,{kind:0,size:1})}}function Tn(l,e,t){const n=l.slice();return n[44]=e[t],n}function Vf(l){let e;return{c(){e=u("span"),s(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){S(t,e,n)},p:x,d(t){t&&w(e)}}}function Wf(l){let e,t,n=l[1][l[44].id]?"▾":"▸",o,i,c;function r(){return l[25](l[44])}return{c(){e=u("button"),t=u("span"),o=A(n),s(t,"class","tree-arrow"),s(e,"class","tree-toggle svelte-zj71cl")},m(f,d){S(f,e,d),a(e,t),a(t,o),i||(c=M(e,"click",Qe(r)),i=!0)},p(f,d){l=f,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&K(o,n)},d(f){f&&w(e),i=!1,c()}}}function En(l){let e,t;return e=new Di({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o[0]&1&&(i.nodes=n[44].children||[]),o[0]&2&&(i.expanded=n[1]),o[0]&4&&(i.selectedNodeId=n[2]),o[0]&8&&(i.level=n[3]+1),o[0]&16&&(i.onSelect=n[4]),o[0]&32&&(i.onToggle=n[5]),o[0]&64&&(i.onContextMenu=n[6]),o[0]&128&&(i.onDrop=n[7]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Nn(l,e){let t,n,o,i,c,r,f,d=e[44].title+"",m,v,_=e[1][e[44].id]&&El(e[44]),h,b,y,C;function T(P,z){return z[0]&1&&(n=null),n==null&&(n=!!Ot(P[44])),n?Wf:Vf}let j=T(e,[-1,-1]),E=j(e);c=new nl({props:{kind:Dn(e[44]),size:16}});function D(...P){return e[26](e[44],...P)}function N(...P){return e[27](e[44],...P)}function F(){return e[28](e[44])}function I(...P){return e[29](e[44],...P)}function O(...P){return e[30](e[44],...P)}function V(...P){return e[31](e[44],...P)}function B(...P){return e[32](e[44],...P)}function H(...P){return e[33](e[44],...P)}function Y(...P){return e[34](e[44],...P)}function J(...P){return e[35](e[44],...P)}function G(...P){return e[36](e[44],...P)}function W(...P){return e[37](e[44],...P)}let R=_&&En(e);return{key:l,first:null,c(){t=u("div"),E.c(),o=k(),i=u("span"),Ke(c.$$.fragment),r=k(),f=u("span"),m=A(d),v=k(),R&&R.c(),h=it(),s(i,"class","tree-icon svelte-zj71cl"),s(i,"role","button"),s(i,"tabindex","-1"),s(f,"class","tree-label svelte-zj71cl"),s(f,"role","button"),s(f,"tabindex","-1"),s(t,"class","tree-item svelte-zj71cl"),at(t,"padding-left",e[3]*16+4+"px"),s(t,"draggable","true"),s(t,"role","button"),s(t,"tabindex","0"),he(t,"selected",e[2]===e[44].id),he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(P,z){S(P,t,z),E.m(t,null),a(t,o),a(t,i),We(c,i,null),a(t,r),a(t,f),a(f,m),S(P,v,z),R&&R.m(P,z),S(P,h,z),b=!0,y||(C=[M(i,"click",D),M(i,"keydown",N),M(i,"dblclick",Qe(e[24])),M(f,"click",Qe(F)),M(f,"keydown",I),M(t,"dragstart",O),M(t,"dragover",V),M(t,"dragleave",B),M(t,"drop",H),M(t,"click",Y),M(t,"keydown",J),M(t,"dblclick",G),M(t,"contextmenu",Dl(W))],y=!0)},p(P,z){e=P,j===(j=T(e,z))&&E?E.p(e,z):(E.d(1),E=j(e),E&&(E.c(),E.m(t,o)));const U={};z[0]&1&&(U.kind=Dn(e[44])),c.$set(U),(!b||z[0]&1)&&d!==(d=e[44].title+"")&&K(m,d),(!b||z[0]&8)&&at(t,"padding-left",e[3]*16+4+"px"),(!b||z[0]&5)&&he(t,"selected",e[2]===e[44].id),(!b||z[0]&769)&&he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!b||z[0]&769)&&he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),z[0]&3&&(_=e[1][e[44].id]&&El(e[44])),_?R?(R.p(e,z),z[0]&3&&ie(R,1)):(R=En(e),R.c(),ie(R,1),R.m(h.parentNode,h)):R&&(lt(),ue(R,1,1,()=>{R=null}),nt())},i(P){b||(ie(c.$$.fragment,P),ie(R),b=!0)},o(P){ue(c.$$.fragment,P),ue(R),b=!1},d(P){P&&(w(t),w(v),w(h)),E.d(),Be(c),R&&R.d(P),y=!1,_e(C)}}}function Bf(l){let e=[],t=new Map,n,o,i,c,r=fe(l[0]);const f=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function In(l){const e={};function t(n,o){for(const i of n)e[i.id]=o,i.children&&t(i.children,i.id)}return t(l,""),e}function Mn(l){const e=[];function t(n){for(const o of n)e.push(o),o.children&&t(o.children)}return t(l),e}function Hf(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function Uf(l,e,t){let n,o,i,{nodes:c=[]}=e,{expanded:r={}}=e,{selectedNodeId:f=""}=e,{level:d=0}=e,{onSelect:m=void 0}=e,{onToggle:v=void 0}=e,{onContextMenu:_=void 0}=e,{onDrop:h=void 0}=e,b={},y=null,C="",T="";const j=["folder","project","client","document","recipe","case"];Ml(()=>{for(const Q of Object.keys(b))clearTimeout(b[Q]);y&&clearInterval(y)});function E(Q){return j.includes(Q.type)}function D(Q,Z,re){if(!Q||!Z||Z===Q.id||!E(Q))return!1;let ge=Q.id;for(;ge;){if(ge===Z)return!1;ge=re[ge]||""}return!0}function N(Q,Z){Q.stopPropagation(),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.setData("text/plain",Z.id),t(21,C=Z.id)}function F(Q,Z){Q.preventDefault(),Q.stopPropagation(),Q.dataTransfer.dropEffect="move",T!==Z.id&&t(8,T=Z.id),Ot(Z)&&!r[Z.id]&&!b[Z.id]&&(b[Z.id]=setTimeout(()=>{v&&v(Z.id),delete b[Z.id]},600));const re=Q.currentTarget.closest(".workspace-tree-area");if(re){const ge=re.getBoundingClientRect(),Ne=30;Q.clientY-ge.top{re.scrollTop-=10},50)):ge.bottom-Q.clientY{re.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function I(Q,Z){const re=Q.relatedTarget;re&&Q.currentTarget.contains(re)||(T===Z.id&&t(8,T=""),b[Z.id]&&(clearTimeout(b[Z.id]),delete b[Z.id]),y&&(clearInterval(y),y=null))}function O(Q,Z){Q.preventDefault(),Q.stopPropagation(),b[Z.id]&&(clearTimeout(b[Z.id]),delete b[Z.id]),y&&(clearInterval(y),y=null);const re=Mn(c),ge=In(re),Ne=Hf(Q);if(!D(Z,Ne,ge)){t(8,T=""),t(21,C="");return}h&&h(Ne,Z.id),t(8,T=""),t(21,C="")}function V(){t(8,T=""),t(21,C="");for(const Q of Object.keys(b))clearTimeout(b[Q]),delete b[Q];y&&(clearInterval(y),y=null)}function B(Q,Z){Q.target.closest(".tree-toggle")||Q.target.closest(".tree-icon")||m&&m(Z)}function H(Q,Z){Ot(Z)&&v&&v(Z.id)}function Y(Q,Z){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),m&&m(Z))}function J(Q,Z){Q.stopPropagation(),Ot(Z)&&v&&v(Z.id)}function G(Q,Z){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),Ot(Z)&&v&&v(Z.id))}function W(Q,Z){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),m&&m(Z))}function R(Q,Z,re){const ge={};function Ne(Ue){for(const Me of Ue)ge[Me.id]=D(Me,Z,re),Me.children&&Ne(Me.children)}return Ne(Q),ge}function P(Q){mi.call(this,l,Q)}const z=Q=>v&&v(Q.id),U=(Q,Z)=>J(Z,Q),q=(Q,Z)=>G(Z,Q),se=Q=>m&&m(Q),de=(Q,Z)=>W(Z,Q),ee=(Q,Z)=>N(Z,Q),$=(Q,Z)=>F(Z,Q),te=(Q,Z)=>I(Z,Q),ce=(Q,Z)=>O(Z,Q),pe=(Q,Z)=>B(Z,Q),we=(Q,Z)=>Y(Z,Q),He=(Q,Z)=>H(Z,Q),ve=(Q,Z)=>_&&_(Z,Q);return l.$$set=Q=>{"nodes"in Q&&t(0,c=Q.nodes),"expanded"in Q&&t(1,r=Q.expanded),"selectedNodeId"in Q&&t(2,f=Q.selectedNodeId),"level"in Q&&t(3,d=Q.level),"onSelect"in Q&&t(4,m=Q.onSelect),"onToggle"in Q&&t(5,v=Q.onToggle),"onContextMenu"in Q&&t(6,_=Q.onContextMenu),"onDrop"in Q&&t(7,h=Q.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=Mn(c)),l.$$.dirty[0]&8388608&&t(22,o=In(n)),l.$$.dirty[0]&14680064&&t(9,i=R(n,C,o))},[c,r,f,d,m,v,_,h,T,i,N,F,I,O,V,B,H,Y,J,G,W,C,o,n,P,z,U,q,se,de,ee,$,te,ce,pe,we,He,ve]}class Di extends $e{constructor(e){super(),Ze(this,e,Uf,Bf,Xe,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function An(l){let e,t;return{c(){e=u("div"),t=A(l[4]),s(e,"class","path-info svelte-11u707d")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&16&&K(t,n[4])},d(n){n&&w(e)}}}function Fn(l){let e,t;return{c(){e=u("div"),t=A(l[3]),s(e,"class","error-msg svelte-11u707d")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&8&&K(t,n[3])},d(n){n&&w(e)}}}function Kf(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T=p("firstrun.browse")+"",j,E,D,N,F,I,O=(l[2]?p("firstrun.creating"):p("firstrun.create"))+"",V,B,H,Y,J,G,W=l[4]&&An(l),R=l[3]&&Fn(l);return{c(){e=u("div"),t=u("div"),n=u("div"),n.textContent="⚒",o=k(),i=u("h1"),i.textContent=`${p("firstrun.title")}`,c=k(),r=u("p"),r.textContent=`${p("firstrun.desc")}`,f=k(),d=u("div"),m=u("label"),m.textContent=`${p("firstrun.pathLabel")}`,v=k(),_=u("div"),h=u("input"),y=k(),C=u("button"),j=A(T),E=k(),W&&W.c(),D=k(),R&&R.c(),N=k(),F=u("div"),I=u("button"),V=A(O),H=k(),Y=u("button"),Y.textContent=`${p("firstrun.quit")}`,s(n,"class","first-run-logo svelte-11u707d"),s(i,"class","svelte-11u707d"),s(r,"class","first-run-desc svelte-11u707d"),s(m,"class","form-label svelte-11u707d"),s(m,"for","vault-path"),s(h,"id","vault-path"),s(h,"type","text"),s(h,"placeholder",b=l[1]||p("firstrun.defaultPath")),h.disabled=l[2],s(h,"class","svelte-11u707d"),s(C,"class","btn"),C.disabled=l[2],s(_,"class","input-row svelte-11u707d"),s(d,"class","form-group svelte-11u707d"),s(I,"class","btn btn-primary btn-lg svelte-11u707d"),I.disabled=B=!l[0].trim()||l[2],s(Y,"class","btn btn-lg svelte-11u707d"),s(F,"class","first-run-actions svelte-11u707d"),s(t,"class","first-run-card svelte-11u707d"),s(e,"class","first-run-screen svelte-11u707d")},m(P,z){S(P,e,z),a(e,t),a(t,n),a(t,o),a(t,i),a(t,c),a(t,r),a(t,f),a(t,d),a(d,m),a(d,v),a(d,_),a(_,h),ye(h,l[0]),a(_,y),a(_,C),a(C,j),a(t,E),W&&W.m(t,null),a(t,D),R&&R.m(t,null),a(t,N),a(t,F),a(F,I),a(I,V),a(F,H),a(F,Y),J||(G=[M(h,"input",l[12]),M(h,"input",l[6]),M(h,"keydown",l[9]),M(C,"click",l[5]),M(I,"click",l[7]),M(Y,"click",l[8])],J=!0)},p(P,[z]){z&2&&b!==(b=P[1]||p("firstrun.defaultPath"))&&s(h,"placeholder",b),z&4&&(h.disabled=P[2]),z&1&&h.value!==P[0]&&ye(h,P[0]),z&4&&(C.disabled=P[2]),P[4]?W?W.p(P,z):(W=An(P),W.c(),W.m(t,D)):W&&(W.d(1),W=null),P[3]?R?R.p(P,z):(R=Fn(P),R.c(),R.m(t,N)):R&&(R.d(1),R=null),z&4&&O!==(O=(P[2]?p("firstrun.creating"):p("firstrun.create"))+"")&&K(V,O),z&5&&B!==(B=!P[0].trim()||P[2])&&(I.disabled=B)},i:x,o:x,d(P){P&&w(e),W&&W.d(),R&&R.d(),J=!1,_e(G)}}}function Qt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Gf(l,e,t){let{onComplete:n=null}=e,{onQuit:o=null}=e,i="",c="",r=!1,f="",d="",m=null;async function v(){try{const j=await Qt("GetDefaultVaultPath");t(1,c=j||""),t(0,i=c||""),i&&await h()}catch{t(1,c="")}}v();async function _(){try{const j=await Qt("PickDirectory");j&&(t(0,i=j),await h())}catch(j){t(3,f=String(j))}}async function h(){if(!i||!i.trim()){t(4,d=""),m=null;return}try{m=await Qt("CheckVaultPath",i.trim()),m&&t(4,d=m.description)}catch{t(4,d=""),m=null}}async function b(){if(!(!i||!i.trim())){if(t(2,r=!0),t(3,f=""),m&&!m.writable){t(3,f=p("firstrun.errorNoWrite")),t(2,r=!1);return}try{const j=await Qt("CreateVault",i.trim());j&&j.status==="ready"&&n&&n(j)}catch(j){t(3,f=String(j))}t(2,r=!1)}}function y(){o&&o()}function C(j){j.key==="Enter"&&!r&&i.trim()&&b()}function T(){i=this.value,t(0,i)}return l.$$set=j=>{"onComplete"in j&&t(10,n=j.onComplete),"onQuit"in j&&t(11,o=j.onQuit)},[i,c,r,f,d,_,h,b,y,C,n,o,T]}class Jf extends $e{constructor(e){super(),Ze(this,e,Gf,Kf,Xe,{onComplete:10,onQuit:11})}}function Pn(l){let e,t;return{c(){e=u("div"),t=A(l[2]),s(e,"class","error-msg svelte-s3o8c3")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&4&&K(t,n[2])},d(n){n&&w(e)}}}function Ln(l){let e,t,n,o,i,c,r,f,d=p("common.yes")+"",m,v,_,h,b;return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${p("recovery.createConfirmTitle")}`,o=k(),i=u("p"),i.textContent=`${p("recovery.createConfirm")}`,c=k(),r=u("div"),f=u("button"),m=A(d),v=k(),_=u("button"),_.textContent=`${p("common.cancel")}`,s(n,"class","svelte-s3o8c3"),s(i,"class","modal-desc svelte-s3o8c3"),s(f,"class","btn btn-primary"),f.disabled=l[1],s(_,"class","btn"),s(r,"class","modal-actions svelte-s3o8c3"),s(t,"class","modal svelte-s3o8c3"),s(e,"class","modal-overlay svelte-s3o8c3"),s(e,"role","button"),s(e,"tabindex","0")},m(y,C){S(y,e,C),a(e,t),a(t,n),a(t,o),a(t,i),a(t,c),a(t,r),a(r,f),a(f,m),a(r,v),a(r,_),h||(b=[M(f,"click",l[6]),M(_,"click",l[7]),M(e,"click",ut(l[7])),M(e,"keydown",l[11])],h=!0)},p(y,C){C&2&&(f.disabled=y[1])},d(y){y&&w(e),h=!1,_e(b)}}}function qf(l){let e,t,n,o,i,c,r,f,d,m=(l[0]||"—")+"",v,_,h,b,y,C=p("recovery.choose")+"",T,j,E,D=p("recovery.create")+"",N,F,I,O,V,B,H,Y=l[2]&&Pn(l),J=l[3]&&Ln(l);return{c(){e=u("div"),t=u("div"),n=u("div"),n.textContent="⚠",o=k(),i=u("h1"),i.textContent=`${p("recovery.title")}`,c=k(),r=u("p"),r.textContent=`${p("recovery.expected")}:`,f=k(),d=u("code"),v=A(m),_=k(),Y&&Y.c(),h=k(),b=u("div"),y=u("button"),T=A(C),j=k(),E=u("button"),N=A(D),F=k(),I=u("button"),I.textContent=`${p("recovery.quit")}`,O=k(),J&&J.c(),V=it(),s(n,"class","recovery-icon svelte-s3o8c3"),s(i,"class","svelte-s3o8c3"),s(r,"class","recovery-desc svelte-s3o8c3"),s(d,"class","recovery-path svelte-s3o8c3"),s(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=l[1],s(E,"class","btn btn-lg svelte-s3o8c3"),E.disabled=l[1],s(I,"class","btn btn-lg svelte-s3o8c3"),s(b,"class","recovery-actions svelte-s3o8c3"),s(t,"class","recovery-card svelte-s3o8c3"),s(e,"class","recovery-screen svelte-s3o8c3")},m(G,W){S(G,e,W),a(e,t),a(t,n),a(t,o),a(t,i),a(t,c),a(t,r),a(t,f),a(t,d),a(d,v),a(t,_),Y&&Y.m(t,null),a(t,h),a(t,b),a(b,y),a(y,T),a(b,j),a(b,E),a(E,N),a(b,F),a(b,I),S(G,O,W),J&&J.m(G,W),S(G,V,W),B||(H=[M(y,"click",l[4]),M(E,"click",l[5]),M(I,"click",l[8])],B=!0)},p(G,[W]){W&1&&m!==(m=(G[0]||"—")+"")&&K(v,m),G[2]?Y?Y.p(G,W):(Y=Pn(G),Y.c(),Y.m(t,h)):Y&&(Y.d(1),Y=null),W&2&&(y.disabled=G[1]),W&2&&(E.disabled=G[1]),G[3]?J?J.p(G,W):(J=Ln(G),J.c(),J.m(V.parentNode,V)):J&&(J.d(1),J=null)},i:x,o:x,d(G){G&&(w(e),w(O),w(V)),Y&&Y.d(),J&&J.d(G),B=!1,_e(H)}}}function Cl(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Yf(l,e,t){let{vaultPath:n=""}=e,{onComplete:o=null}=e,{onQuit:i=null}=e,c=!1,r="",f=!1;async function d(){try{const y=await Cl("PickDirectory");if(!y)return;t(1,c=!0),t(2,r="");const C=await Cl("OpenVault",y);C&&C.status==="ready"&&o&&o(C)}catch(y){t(2,r=String(y))}t(1,c=!1)}function m(){t(3,f=!0)}async function v(){t(3,f=!1),t(1,c=!0),t(2,r="");try{const y=await Cl("CreateVault",n);y&&y.status==="ready"&&o&&o(y)}catch(y){t(2,r=String(y))}t(1,c=!1)}function _(){t(3,f=!1)}function h(){i&&i()}const b=y=>y.key==="Enter"&&_();return l.$$set=y=>{"vaultPath"in y&&t(0,n=y.vaultPath),"onComplete"in y&&t(9,o=y.onComplete),"onQuit"in y&&t(10,i=y.onQuit)},[n,c,r,f,d,m,v,_,h,o,i,b]}class Qf extends $e{constructor(e){super(),Ze(this,e,Yf,qf,Xe,{vaultPath:0,onComplete:9,onQuit:10})}}function Rn(l,e,t){const n=l.slice();return n[5]=e[t],n}function On(l){let e,t,n,o,i,c,r;function f(){return l[4](l[5])}return{c(){e=u("button"),t=u("span"),t.textContent=`${l[5].icon}`,n=k(),o=u("span"),o.textContent=`${l[5].label}`,i=k(),s(t,"class","settings-nav-icon svelte-ss7lnu"),s(o,"class","settings-nav-label svelte-ss7lnu"),s(e,"class","settings-nav-item svelte-ss7lnu"),he(e,"active",l[0]===l[5].id),he(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(d,m){S(d,e,m),a(e,t),a(e,n),a(e,o),a(e,i),c||(r=M(e,"click",f),c=!0)},p(d,m){l=d,m&3&&he(e,"active",l[0]===l[5].id)},d(d){d&&w(e),c=!1,r()}}}function Xf(l){let e,t=fe(l[1]),n=[];for(let o=0;oc(f.id);return l.$$set=f=>{"activeSection"in f&&t(0,n=f.activeSection),"onSelect"in f&&t(3,o=f.onSelect)},[n,i,c,o,r]}class $f extends $e{constructor(e){super(),Ze(this,e,Zf,Xf,Xe,{activeSection:0,onSelect:3})}}function zn(l){let e;return{c(){e=u("div"),e.textContent=`${p("settings.saved")}`,s(e,"class","save-notice svelte-1e2uhdh")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function xf(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T,j,E,D,N,F,I,O,V,B,H,Y,J,G,W,R,P,z=l[1]&&zn();return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.general")}`,n=k(),o=u("p"),o.textContent=`${p("settings.generalDesc")}`,i=k(),c=u("div"),r=u("h3"),r.textContent=`${p("settings.appearance")}`,f=k(),d=u("div"),m=u("label"),v=u("span"),v.textContent=`${p("settings.theme")}`,_=k(),h=u("select"),b=u("option"),b.textContent=`${p("settings.themeSystem")}`,y=u("option"),y.textContent=`${p("settings.themeLight")} (${p("settings.langSoon")})`,C=u("option"),C.textContent=`${p("settings.themeDark")} (${p("settings.langSoon")})`,T=k(),j=u("div"),E=u("h3"),E.textContent=`${p("settings.localization")}`,D=k(),N=u("div"),F=u("label"),I=u("span"),I.textContent=`${p("settings.language")}`,O=k(),V=u("select"),B=u("option"),B.textContent=`${p("settings.langRu")}`,H=u("option"),H.textContent=`${p("settings.langEn")} (${p("settings.langSoon")})`,Y=k(),J=u("div"),z&&z.c(),G=k(),W=u("button"),W.textContent=`${p("settings.save")}`,s(t,"class","svelte-1e2uhdh"),s(o,"class","section-desc svelte-1e2uhdh"),s(r,"class","card-title svelte-1e2uhdh"),s(v,"class","label-text svelte-1e2uhdh"),b.__value="system",ye(b,b.__value),y.__value="light",ye(y,y.__value),y.disabled=!0,C.__value="dark",ye(C,C.__value),C.disabled=!0,l[0]===void 0&&wt(()=>l[5].call(h)),s(d,"class","form-group svelte-1e2uhdh"),s(c,"class","settings-card svelte-1e2uhdh"),s(E,"class","card-title svelte-1e2uhdh"),s(I,"class","label-text svelte-1e2uhdh"),B.__value="ru",ye(B,B.__value),H.__value="en",ye(H,H.__value),V.disabled=!0,s(N,"class","form-group svelte-1e2uhdh"),s(j,"class","settings-card svelte-1e2uhdh"),s(W,"class","btn btn-primary"),s(J,"class","settings-actions svelte-1e2uhdh"),s(e,"class","settings-section svelte-1e2uhdh")},m(U,q){S(U,e,q),a(e,t),a(e,n),a(e,o),a(e,i),a(e,c),a(c,r),a(c,f),a(c,d),a(d,m),a(m,v),a(m,_),a(m,h),a(h,b),a(h,y),a(h,C),pt(h,l[0],!0),a(e,T),a(e,j),a(j,E),a(j,D),a(j,N),a(N,F),a(F,I),a(F,O),a(F,V),a(V,B),a(V,H),a(e,Y),a(e,J),z&&z.m(J,null),a(J,G),a(J,W),R||(P=[M(h,"change",l[5]),M(W,"click",l[2])],R=!0)},p(U,[q]){q&1&&pt(h,U[0]),U[1]?z||(z=zn(),z.c(),z.m(J,G)):z&&(z.d(1),z=null)},i:x,o:x,d(U){U&&w(e),z&&z.d(),R=!1,_e(P)}}}function eu(l,e,t){let{appConfig:n=null}=e,{onSave:o=null}=e,i="system",c=!1;function r(){n&&t(0,i=n.theme||"system")}async function f(){n&&(t(3,n.theme=i,n),o&&await o(n),t(1,c=!0),setTimeout(()=>t(1,c=!1),2e3))}function d(){i=Zt(this),t(0,i)}return l.$$set=m=>{"appConfig"in m&&t(3,n=m.appConfig),"onSave"in m&&t(4,o=m.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&r()},[i,c,f,n,o,d]}class tu extends $e{constructor(e){super(),Ze(this,e,eu,xf,Xe,{appConfig:3,onSave:4})}}function Vn(l){let e,t;return{c(){e=u("div"),t=A(l[1]),s(e,"class","notice svelte-1pkhf37")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&2&&K(t,n[1])},d(n){n&&w(e)}}}function lu(l){let e;return{c(){e=u("p"),e.textContent=`${p("settings.noVaultInfo")}`,s(e,"class","no-data svelte-1pkhf37")},m(t,n){S(t,e,n)},p:x,d(t){t&&w(e)}}}function nu(l){let e,t,n,o,i,c=l[0].path+"",r,f,d,m,v,_,h=l[0].dbPath+"",b,y,C,T=l[0].nodeCount!==void 0&&Wn(l),j=l[0].fileCount!==void 0&&Bn(l);return{c(){e=u("div"),t=u("div"),n=u("span"),n.textContent=`${p("settings.vaultPath")}`,o=k(),i=u("span"),r=A(c),f=k(),d=u("div"),m=u("span"),m.textContent="DB",v=k(),_=u("span"),b=A(h),y=k(),T&&T.c(),C=k(),j&&j.c(),s(n,"class","info-label svelte-1pkhf37"),s(i,"class","info-value mono svelte-1pkhf37"),s(t,"class","info-row svelte-1pkhf37"),s(m,"class","info-label svelte-1pkhf37"),s(_,"class","info-value mono small svelte-1pkhf37"),s(d,"class","info-row svelte-1pkhf37"),s(e,"class","vault-info svelte-1pkhf37")},m(E,D){S(E,e,D),a(e,t),a(t,n),a(t,o),a(t,i),a(i,r),a(e,f),a(e,d),a(d,m),a(d,v),a(d,_),a(_,b),a(e,y),T&&T.m(e,null),a(e,C),j&&j.m(e,null)},p(E,D){D&1&&c!==(c=E[0].path+"")&&K(r,c),D&1&&h!==(h=E[0].dbPath+"")&&K(b,h),E[0].nodeCount!==void 0?T?T.p(E,D):(T=Wn(E),T.c(),T.m(e,C)):T&&(T.d(1),T=null),E[0].fileCount!==void 0?j?j.p(E,D):(j=Bn(E),j.c(),j.m(e,null)):j&&(j.d(1),j=null)},d(E){E&&w(e),T&&T.d(),j&&j.d()}}}function Wn(l){let e,t,n,o,i=l[0].nodeCount+"",c;return{c(){e=u("div"),t=u("span"),t.textContent="Nodes",n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1pkhf37"),s(o,"class","info-value svelte-1pkhf37"),s(e,"class","info-row svelte-1pkhf37")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].nodeCount+"")&&K(c,i)},d(r){r&&w(e)}}}function Bn(l){let e,t,n,o,i=l[0].fileCount+"",c;return{c(){e=u("div"),t=u("span"),t.textContent="Files",n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1pkhf37"),s(o,"class","info-value svelte-1pkhf37"),s(e,"class","info-row svelte-1pkhf37")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].fileCount+"")&&K(c,i)},d(r){r&&w(e)}}}function ou(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T=l[1]&&Vn(l);function j(N,F){return N[0]?nu:lu}let E=j(l),D=E(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.workspace")}`,n=k(),o=u("p"),o.textContent=`${p("settings.workspaceDesc")}`,i=k(),T&&T.c(),c=k(),r=u("div"),D.c(),f=k(),d=u("div"),m=u("button"),m.textContent=`${p("settings.openVault")}`,v=k(),_=u("button"),_.textContent=`${p("settings.changeVault")}`,h=k(),b=u("button"),b.textContent=`${p("settings.checkIntegrity")}`,s(t,"class","svelte-1pkhf37"),s(o,"class","section-desc svelte-1pkhf37"),s(r,"class","settings-card svelte-1pkhf37"),s(m,"class","btn"),s(_,"class","btn"),s(b,"class","btn"),s(d,"class","workspace-actions svelte-1pkhf37"),s(e,"class","settings-section svelte-1pkhf37")},m(N,F){S(N,e,F),a(e,t),a(e,n),a(e,o),a(e,i),T&&T.m(e,null),a(e,c),a(e,r),D.m(r,null),a(e,f),a(e,d),a(d,m),a(d,v),a(d,_),a(d,h),a(d,b),y||(C=[M(m,"click",l[2]),M(_,"click",l[4]),M(b,"click",l[3])],y=!0)},p(N,[F]){N[1]?T?T.p(N,F):(T=Vn(N),T.c(),T.m(e,c)):T&&(T.d(1),T=null),E===(E=j(N))&&D?D.p(N,F):(D.d(1),D=E(N),D&&(D.c(),D.m(r,null)))},i:x,o:x,d(N){N&&w(e),T&&T.d(),D.d(),y=!1,_e(C)}}}function Mt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function su(l,e,t){let{onRefresh:n=null}=e,o=null,i="";async function c(){try{t(0,o=await Mt("GetVaultInfo"))}catch{t(0,o=null)}}c();async function r(){try{await Mt("OpenVaultFolder")}catch(m){t(1,i=String(m))}}async function f(){try{const m=await Mt("VaultCheck");m.healthy?t(1,i="Vault healthy"):t(1,i="Issues found: "+(m.errors||[]).join("; "))}catch(m){t(1,i=String(m))}}async function d(){try{const m=await Mt("PickDirectory");if(!m)return;const v=await Mt("OpenVault",m);v&&v.status==="ready"&&(t(0,o=await Mt("GetVaultInfo")),n&&n())}catch(m){t(1,i=String(m))}}return l.$$set=m=>{"onRefresh"in m&&t(5,n=m.onRefresh)},[o,i,r,f,d,n]}class iu extends $e{constructor(e){super(),Ze(this,e,su,ou,Xe,{onRefresh:5})}}function Hn(l,e,t){const n=l.slice();return n[6]=e[t],n}function cu(l){let e,t=fe(l[0]),n=[];for(let o=0;or(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[o,i,r,n,f]}class du extends $e{constructor(e){super(),Ze(this,e,uu,fu,Xe,{onRefresh:3})}}function pu(l){let e,t,n,o,i,c,r,f;return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.plugins")}`,n=k(),o=u("p"),o.textContent=`${p("settings.noPlugins")}`,i=k(),c=u("button"),c.textContent=`${p("settings.openPluginsDir")}`,s(t,"class","svelte-8jch95"),s(o,"class","section-desc svelte-8jch95"),s(c,"class","btn"),s(e,"class","settings-section svelte-8jch95")},m(d,m){S(d,e,m),a(e,t),a(e,n),a(e,o),a(e,i),a(e,c),r||(f=M(c,"click",_u),r=!0)},p:x,i:x,o:x,d(d){d&&w(e),r=!1,f()}}}function mu(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}async function _u(){try{await mu("OpenFolder","")}catch{}}class gu extends $e{constructor(e){super(),Ze(this,e,null,pu,Xe,{})}}function vu(l){let e,t,n,o;return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.files")}`,n=k(),o=u("p"),o.textContent=`${p("settings.filesStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,c){S(i,e,c),a(e,t),a(e,n),a(e,o)},p:x,i:x,o:x,d(i){i&&w(e)}}}class ku extends $e{constructor(e){super(),Ze(this,e,null,vu,Xe,{})}}function hu(l){let e,t,n,o;return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.activity")}`,n=k(),o=u("p"),o.textContent=`${p("settings.activityStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,c){S(i,e,c),a(e,t),a(e,n),a(e,o)},p:x,i:x,o:x,d(i){i&&w(e)}}}class bu extends $e{constructor(e){super(),Ze(this,e,null,hu,Xe,{})}}function Gn(l){let e,t;return{c(){e=u("div"),t=A(l[2]),s(e,"class","error-msg svelte-1c6avdh")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&4&&K(t,n[2])},d(n){n&&w(e)}}}function Jn(l){let e,t;return{c(){e=u("div"),t=A(l[3]),s(e,"class","result-msg svelte-1c6avdh")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o&8&&K(t,n[3])},d(n){n&&w(e)}}}function yu(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T,j,E,D,N,F,I=p("settings.checkConnection")+"",O,V,B,H,Y=p("common.connect")+"",J,G,W,R,P,z=l[10]!==null&&qn(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("label"),i=u("span"),i.textContent=`${p("settings.serverUrl")}`,c=k(),r=u("input"),f=k(),d=u("div"),m=u("label"),v=u("span"),v.textContent=`${p("sync.username")}`,_=k(),h=u("input"),b=k(),y=u("div"),C=u("label"),T=u("span"),T.textContent=`${p("sync.password")}`,j=k(),E=u("input"),D=k(),N=u("div"),F=u("button"),O=A(I),B=k(),H=u("button"),J=A(Y),W=k(),z&&z.c(),s(i,"class","label-text"),s(r,"type","text"),s(r,"placeholder","https://example.com"),s(n,"class","form-group svelte-1c6avdh"),s(v,"class","label-text"),s(h,"type","text"),s(d,"class","form-group svelte-1c6avdh"),s(T,"class","label-text"),s(E,"type","password"),s(y,"class","form-group svelte-1c6avdh"),s(F,"class","btn"),F.disabled=V=l[1]||!l[4],s(H,"class","btn btn-primary"),H.disabled=G=l[1]||!l[4]||!l[5]||!l[6],s(N,"class","sync-setup-actions svelte-1c6avdh"),s(t,"class","sync-setup svelte-1c6avdh"),s(e,"class","settings-card svelte-1c6avdh")},m(U,q){S(U,e,q),a(e,t),a(t,n),a(n,o),a(o,i),a(o,c),a(o,r),ye(r,l[4]),a(t,f),a(t,d),a(d,m),a(m,v),a(m,_),a(m,h),ye(h,l[5]),a(t,b),a(t,y),a(y,C),a(C,T),a(C,j),a(C,E),ye(E,l[6]),a(t,D),a(t,N),a(N,F),a(F,O),a(N,B),a(N,H),a(H,J),a(t,W),z&&z.m(t,null),R||(P=[M(r,"input",l[22]),M(h,"input",l[23]),M(E,"input",l[24]),M(F,"click",l[11]),M(H,"click",l[12])],R=!0)},p(U,q){q&16&&r.value!==U[4]&&ye(r,U[4]),q&32&&h.value!==U[5]&&ye(h,U[5]),q&64&&E.value!==U[6]&&ye(E,U[6]),q&18&&V!==(V=U[1]||!U[4])&&(F.disabled=V),q&114&&G!==(G=U[1]||!U[4]||!U[5]||!U[6])&&(H.disabled=G),U[10]!==null?z?z.p(U,q):(z=qn(U),z.c(),z.m(t,null)):z&&(z.d(1),z=null)},d(U){U&&w(e),z&&z.d(),R=!1,_e(P)}}}function wu(l){let e,t,n,o,i,c,r=l[19](l[0].lastStatus)+"",f,d,m,v,_,h,b,y,C,T=p("settings.syncNow")+"",j,E,D,N=p("settings.disconnect")+"",F,I,O,V=p("settings.resetKey")+"",B,H,Y,J,G,W,R,P,z,U,q,se,de=l[0].serverUrl&&Yn(l),ee=l[0].deviceName&&Qn(l),$=l[0].deviceId&&Xn(l),te=l[0].lastSyncAt&&Zn(l),ce=l[0].lastError&&$n(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("span"),o.textContent=`${p("settings.status")}`,i=k(),c=u("span"),f=A(r),d=k(),de&&de.c(),m=k(),ee&&ee.c(),v=k(),$&&$.c(),_=k(),te&&te.c(),h=k(),ce&&ce.c(),b=k(),y=u("div"),C=u("button"),j=A(T),E=k(),D=u("button"),F=A(N),I=k(),O=u("button"),B=A(V),H=k(),Y=u("div"),J=u("label"),G=u("span"),G.textContent=`${p("sync.interval")}`,W=k(),R=u("div"),P=u("input"),z=k(),U=u("button"),U.textContent=`${p("common.save")}`,s(o,"class","info-label svelte-1c6avdh"),s(c,"class","info-value svelte-1c6avdh"),he(c,"status-ok",l[0].lastStatus==="connected"),he(c,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),s(n,"class","info-row svelte-1c6avdh"),s(t,"class","sync-info svelte-1c6avdh"),s(e,"class","settings-card svelte-1c6avdh"),s(C,"class","btn btn-primary"),C.disabled=l[1],s(D,"class","btn"),D.disabled=l[1],s(O,"class","btn"),O.disabled=l[1],s(y,"class","sync-actions svelte-1c6avdh"),s(G,"class","label-text"),s(P,"type","number"),s(P,"min","0"),s(P,"placeholder","0"),s(P,"class","svelte-1c6avdh"),s(U,"class","btn btn-sm"),s(R,"class","interval-row svelte-1c6avdh"),s(Y,"class","sync-interval svelte-1c6avdh")},m(pe,we){S(pe,e,we),a(e,t),a(t,n),a(n,o),a(n,i),a(n,c),a(c,f),a(t,d),de&&de.m(t,null),a(t,m),ee&&ee.m(t,null),a(t,v),$&&$.m(t,null),a(t,_),te&&te.m(t,null),a(t,h),ce&&ce.m(t,null),S(pe,b,we),S(pe,y,we),a(y,C),a(C,j),a(y,E),a(y,D),a(D,F),a(y,I),a(y,O),a(O,B),S(pe,H,we),S(pe,Y,we),a(Y,J),a(J,G),a(J,W),a(J,R),a(R,P),ye(P,l[7]),a(R,z),a(R,U),q||(se=[M(C,"click",l[13]),M(D,"click",l[15]),M(O,"click",l[17]),M(P,"input",l[21]),M(U,"click",l[14])],q=!0)},p(pe,we){we&1&&r!==(r=pe[19](pe[0].lastStatus)+"")&&K(f,r),we&1&&he(c,"status-ok",pe[0].lastStatus==="connected"),we&1&&he(c,"status-err",pe[0].lastStatus==="error"||pe[0].lastStatus==="revoked"),pe[0].serverUrl?de?de.p(pe,we):(de=Yn(pe),de.c(),de.m(t,m)):de&&(de.d(1),de=null),pe[0].deviceName?ee?ee.p(pe,we):(ee=Qn(pe),ee.c(),ee.m(t,v)):ee&&(ee.d(1),ee=null),pe[0].deviceId?$?$.p(pe,we):($=Xn(pe),$.c(),$.m(t,_)):$&&($.d(1),$=null),pe[0].lastSyncAt?te?te.p(pe,we):(te=Zn(pe),te.c(),te.m(t,h)):te&&(te.d(1),te=null),pe[0].lastError?ce?ce.p(pe,we):(ce=$n(pe),ce.c(),ce.m(t,null)):ce&&(ce.d(1),ce=null),we&2&&(C.disabled=pe[1]),we&2&&(D.disabled=pe[1]),we&2&&(O.disabled=pe[1]),we&128&&tl(P.value)!==pe[7]&&ye(P,pe[7])},d(pe){pe&&(w(e),w(b),w(y),w(H),w(Y)),de&&de.d(),ee&&ee.d(),$&&$.d(),te&&te.d(),ce&&ce.d(),q=!1,_e(se)}}}function qn(l){let e,t=(l[10]?p("common.test")+" OK":p("error.generic"))+"",n;return{c(){e=u("div"),n=A(t),s(e,"class","connection-result svelte-1c6avdh"),he(e,"ok",l[10]),he(e,"fail",!l[10])},m(o,i){S(o,e,i),a(e,n)},p(o,i){i&1024&&t!==(t=(o[10]?p("common.test")+" OK":p("error.generic"))+"")&&K(n,t),i&1024&&he(e,"ok",o[10]),i&1024&&he(e,"fail",!o[10])},d(o){o&&w(e)}}}function Yn(l){let e,t,n,o,i=l[0].serverUrl+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("settings.serverUrl")}`,n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value mono svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].serverUrl+"")&&K(c,i)},d(r){r&&w(e)}}}function Qn(l){let e,t,n,o,i=l[0].deviceName+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("settings.deviceName")}`,n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].deviceName+"")&&K(c,i)},d(r){r&&w(e)}}}function Xn(l){let e,t,n,o,i=l[0].deviceId+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("settings.deviceId")}`,n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value mono svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].deviceId+"")&&K(c,i)},d(r){r&&w(e)}}}function Zn(l){let e,t,n,o,i=l[0].lastSyncAt+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("settings.lastSync")}`,n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].lastSyncAt+"")&&K(c,i)},d(r){r&&w(e)}}}function $n(l){let e,t,n,o,i=l[0].lastError+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("settings.lastError")}`,n=k(),o=u("span"),c=A(i),s(t,"class","info-label svelte-1c6avdh"),s(o,"class","info-value error svelte-1c6avdh"),s(e,"class","info-row svelte-1c6avdh")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f&1&&i!==(i=r[0].lastError+"")&&K(c,i)},d(r){r&&w(e)}}}function xn(l){let e,t,n,o,i,c,r,f,d,m,v,_;return{c(){e=u("button"),t=u("div"),n=u("h3"),n.textContent=`${p("settings.confirmDisconnect")}`,o=k(),i=u("p"),i.textContent=`${p("settings.confirmDisconnectDesc")}`,c=k(),r=u("div"),f=u("button"),f.textContent=`${p("common.disconnect")}`,d=k(),m=u("button"),m.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1c6avdh"),s(i,"class","modal-desc svelte-1c6avdh"),s(f,"class","btn btn-danger"),s(m,"class","btn"),s(r,"class","modal-actions svelte-1c6avdh"),s(t,"class","modal svelte-1c6avdh"),s(e,"class","modal-overlay svelte-1c6avdh")},m(h,b){S(h,e,b),a(e,t),a(t,n),a(t,o),a(t,i),a(t,c),a(t,r),a(r,f),a(r,d),a(r,m),v||(_=[M(f,"click",l[16]),M(m,"click",l[25]),M(e,"click",l[26])],v=!0)},p:x,d(h){h&&w(e),v=!1,_e(_)}}}function eo(l){let e,t,n,o,i,c,r,f,d,m,v,_;return{c(){e=u("button"),t=u("div"),n=u("h3"),n.textContent=`${p("settings.confirmResetKey")}`,o=k(),i=u("p"),i.textContent=`${p("settings.confirmResetKeyDesc")}`,c=k(),r=u("div"),f=u("button"),f.textContent=`${p("settings.resetKey")}`,d=k(),m=u("button"),m.textContent=`${p("common.cancel")}`,s(n,"class","svelte-1c6avdh"),s(i,"class","modal-desc svelte-1c6avdh"),s(f,"class","btn btn-danger"),s(m,"class","btn"),s(r,"class","modal-actions svelte-1c6avdh"),s(t,"class","modal svelte-1c6avdh"),s(e,"class","modal-overlay svelte-1c6avdh")},m(h,b){S(h,e,b),a(e,t),a(t,n),a(t,o),a(t,i),a(t,c),a(t,r),a(r,f),a(r,d),a(r,m),v||(_=[M(f,"click",l[18]),M(m,"click",l[27]),M(e,"click",l[28])],v=!0)},p:x,d(h){h&&w(e),v=!1,_e(_)}}}function Cu(l){let e,t,n,o,i,c,r,f,d,m,v=l[2]&&Gn(l),_=l[3]&&!l[2]&&Jn(l);function h(j,E){return j[0]&&j[0].enabled?wu:yu}let b=h(l),y=b(l),C=l[8]&&xn(l),T=l[9]&&eo(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.sync")}`,n=k(),o=u("p"),o.textContent=`${p("settings.syncDesc")}`,i=k(),v&&v.c(),c=k(),_&&_.c(),r=k(),y.c(),f=k(),C&&C.c(),d=k(),T&&T.c(),m=it(),s(t,"class","svelte-1c6avdh"),s(o,"class","section-desc svelte-1c6avdh"),s(e,"class","settings-section svelte-1c6avdh")},m(j,E){S(j,e,E),a(e,t),a(e,n),a(e,o),a(e,i),v&&v.m(e,null),a(e,c),_&&_.m(e,null),a(e,r),y.m(e,null),S(j,f,E),C&&C.m(j,E),S(j,d,E),T&&T.m(j,E),S(j,m,E)},p(j,[E]){j[2]?v?v.p(j,E):(v=Gn(j),v.c(),v.m(e,c)):v&&(v.d(1),v=null),j[3]&&!j[2]?_?_.p(j,E):(_=Jn(j),_.c(),_.m(e,r)):_&&(_.d(1),_=null),b===(b=h(j))&&y?y.p(j,E):(y.d(1),y=b(j),y&&(y.c(),y.m(e,null))),j[8]?C?C.p(j,E):(C=xn(j),C.c(),C.m(d.parentNode,d)):C&&(C.d(1),C=null),j[9]?T?T.p(j,E):(T=eo(j),T.c(),T.m(m.parentNode,m)):T&&(T.d(1),T=null)},i:x,o:x,d(j){j&&(w(e),w(f),w(d),w(m)),v&&v.d(),_&&_.d(),y.d(),C&&C.d(j),T&&T.d(j)}}}function bt(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Su(l,e,t){let{onRefresh:n=null}=e,o=null,i=!1,c="",r="",f="",d="",m="",v=0,_=!1,h=!1,b=null;async function y(){try{t(0,o=await bt("GetSyncSettings")),o&&(t(4,f=o.serverUrl||""),t(7,v=o.syncInterval||0))}catch{t(0,o=null)}}y();async function C(){t(1,i=!0),t(2,c=""),t(10,b=null);try{await bt("SyncTestConnection",f,d,m),t(10,b=!0),t(3,r="connection ok")}catch(P){t(10,b=!1),t(3,r="connection failed: "+String(P))}t(1,i=!1)}async function T(){t(1,i=!0),t(2,c="");try{await bt("SyncConfigure",f,d,m),t(3,r="configured"),t(5,d=""),t(6,m=""),await y(),n&&n()}catch(P){t(2,c=String(P))}t(1,i=!1)}async function j(){t(1,i=!0),t(2,c="");try{const P=await bt("SyncNow");t(3,r="pushed "+P.pushed+", pulled "+P.pulled),await y(),n&&n()}catch(P){t(2,c=String(P))}t(1,i=!1)}async function E(){try{await bt("SyncSetInterval",v),t(3,r=p("sync.settingsSaved"))}catch(P){t(2,c=String(P))}}function D(){t(8,_=!0)}async function N(){t(8,_=!1),t(1,i=!0);try{await bt("SyncDisconnect"),t(3,r="disconnected"),await y(),n&&n()}catch(P){t(2,c=String(P))}t(1,i=!1)}function F(){t(9,h=!0)}async function I(){t(9,h=!1),t(1,i=!0);try{await bt("ResetSyncKey"),t(3,r="key reset"),await y(),n&&n()}catch(P){t(2,c=String(P))}t(1,i=!1)}function O(P){return P?{connected:p("settings.connected"),disconnected:p("settings.disconnected"),disabled:p("settings.notConfigured"),error:p("settings.error"),revoked:p("settings.revoked")}[P]||P:p("settings.notConfigured")}function V(){v=tl(this.value),t(7,v)}function B(){f=this.value,t(4,f)}function H(){d=this.value,t(5,d)}function Y(){m=this.value,t(6,m)}const J=()=>t(8,_=!1),G=()=>t(8,_=!1),W=()=>t(9,h=!1),R=()=>t(9,h=!1);return l.$$set=P=>{"onRefresh"in P&&t(20,n=P.onRefresh)},[o,i,c,r,f,d,m,v,_,h,b,C,T,j,E,D,N,F,I,O,n,V,B,H,Y,J,G,W,R]}class ju extends $e{constructor(e){super(),Ze(this,e,Su,Cu,Xe,{onRefresh:20})}}function Tu(l){let e,t,n,o;return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("settings.backup")}`,n=k(),o=u("p"),o.textContent=`${p("settings.backupStub")}`,s(t,"class","svelte-19bo7bn"),s(o,"class","section-desc svelte-19bo7bn"),s(e,"class","settings-section svelte-19bo7bn")},m(i,c){S(i,e,c),a(e,t),a(e,n),a(e,o)},p:x,i:x,o:x,d(i){i&&w(e)}}}class Eu extends $e{constructor(e){super(),Ze(this,e,null,Tu,Xe,{})}}const{window:Nu}=Nl;function Du(l){let e,t;return e=new Eu({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Iu(l){let e,t;return e=new ju({props:{onRefresh:l[6]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Mu(l){let e,t;return e=new bu({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Au(l){let e,t;return e=new ku({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Fu(l){let e,t;return e=new gu({}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Pu(l){let e,t;return e=new du({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Lu(l){let e,t;return e=new iu({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Ru(l){let e,t;return e=new tu({props:{appConfig:l[1],onSave:l[5]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o&2&&(i.appConfig=n[1]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Ou(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C;d=new $f({props:{activeSection:l[0],onSelect:l[3]}});const T=[Ru,Lu,Pu,Fu,Au,Mu,Iu,Du],j=[];function E(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~(_=E(l))&&(h=j[_]=T[_](l)),{c(){e=u("button"),t=u("div"),n=u("div"),o=u("h2"),o.textContent=`${p("settings.title")}`,i=k(),c=u("button"),c.innerHTML='',r=k(),f=u("div"),Ke(d.$$.fragment),m=k(),v=u("div"),h&&h.c(),s(o,"class","svelte-zf2zsc"),s(c,"class","close-btn svelte-zf2zsc"),s(c,"title",p("settings.close")),s(n,"class","settings-header svelte-zf2zsc"),s(v,"class","settings-content svelte-zf2zsc"),s(f,"class","settings-body svelte-zf2zsc"),s(t,"class","settings-window svelte-zf2zsc"),s(e,"class","settings-overlay svelte-zf2zsc")},m(D,N){S(D,e,N),a(e,t),a(t,n),a(n,o),a(n,i),a(n,c),a(t,r),a(t,f),We(d,f,null),a(f,m),a(f,v),~_&&j[_].m(v,null),b=!0,y||(C=[M(Nu,"keydown",l[7]),M(c,"click",l[4]),M(e,"click",ut(l[4]))],y=!0)},p(D,[N]){const F={};N&1&&(F.activeSection=D[0]),d.$set(F);let I=_;_=E(D),_===I?~_&&j[_].p(D,N):(h&&(lt(),ue(j[I],1,1,()=>{j[I]=null}),nt()),~_?(h=j[_],h?h.p(D,N):(h=j[_]=T[_](D),h.c()),ie(h,1),h.m(v,null)):h=null)},i(D){b||(ie(d.$$.fragment,D),ie(h),b=!0)},o(D){ue(d.$$.fragment,D),ue(h),b=!1},d(D){D&&w(e),Be(d),~_&&j[_].d(),y=!1,_e(C)}}}function to(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function zu(l,e,t){let{onClose:n=null}=e,{onSyncRefresh:o=null}=e,{initialSection:i="general"}=e,c=i,r=null;async function f(){try{t(1,r=await to("GetAppConfig"))}catch{t(1,r=null)}}f();function d(b){t(0,c=b)}function m(){n&&n()}async function v(b){try{await to("SaveAppConfig",b),t(1,r=b)}catch(y){console.error(y)}}function _(){o&&o()}function h(b){b.key==="Escape"&&m()}return l.$$set=b=>{"onClose"in b&&t(8,n=b.onClose),"onSyncRefresh"in b&&t(9,o=b.onSyncRefresh),"initialSection"in b&&t(10,i=b.initialSection)},[c,r,f,d,m,v,_,h,n,o,i]}class Vu extends $e{constructor(e){super(),Ze(this,e,zu,Ou,Xe,{onClose:8,onSyncRefresh:9,initialSection:10})}}function Wu(l){let e,t,n,o,i,c,r,f;return{c(){e=u("div"),t=u("span"),n=k(),o=u("span"),o.textContent=`${p("sync.status.disabled")}`,i=k(),c=u("button"),c.textContent=`${p("sync.configure")}`,s(t,"class","sync-dot dot-disabled svelte-jpp4rd"),s(o,"class","sync-label svelte-jpp4rd"),s(c,"class","btn btn-xs svelte-jpp4rd"),s(e,"class","sync-status-row svelte-jpp4rd")},m(d,m){S(d,e,m),a(e,t),a(e,n),a(e,o),a(e,i),a(e,c),r||(f=M(c,"click",function(){mt(l[3])&&l[3].apply(this,arguments)}),r=!0)},p(d,m){l=d},d(d){d&&w(e),r=!1,f()}}}function Bu(l){let e,t,n,o,i,c=l[5](l[0])+"",r,f,d,m,v,_=(l[1]?p("sync.running"):p("sync.run"))+"",h,b,y,C,T,j=l[0].unpushedOps>0&&lo(l);return{c(){e=u("div"),t=u("span"),o=k(),i=u("span"),r=A(c),f=k(),j&&j.c(),d=k(),m=u("div"),v=u("button"),h=A(_),b=k(),y=u("button"),y.textContent=`${p("sync.details")}`,s(t,"class",n="sync-dot "+l[4](l[0])+" svelte-jpp4rd"),s(i,"class","sync-label svelte-jpp4rd"),s(v,"class","btn btn-xs svelte-jpp4rd"),v.disabled=l[1],s(y,"class","btn btn-xs btn-link svelte-jpp4rd"),s(m,"class","sync-actions-row svelte-jpp4rd"),s(e,"class","sync-status-row svelte-jpp4rd")},m(E,D){S(E,e,D),a(e,t),a(e,o),a(e,i),a(i,r),a(e,f),j&&j.m(e,null),a(e,d),a(e,m),a(m,v),a(v,h),a(m,b),a(m,y),C||(T=[M(v,"click",function(){mt(l[2])&&l[2].apply(this,arguments)}),M(y,"click",function(){mt(l[3])&&l[3].apply(this,arguments)})],C=!0)},p(E,D){l=E,D&1&&n!==(n="sync-dot "+l[4](l[0])+" svelte-jpp4rd")&&s(t,"class",n),D&1&&c!==(c=l[5](l[0])+"")&&K(r,c),l[0].unpushedOps>0?j?j.p(l,D):(j=lo(l),j.c(),j.m(e,d)):j&&(j.d(1),j=null),D&2&&_!==(_=(l[1]?p("sync.running"):p("sync.run"))+"")&&K(h,_),D&2&&(v.disabled=l[1])},d(E){E&&w(e),j&&j.d(),C=!1,_e(T)}}}function lo(l){let e,t=l[0].unpushedOps+"",n,o,i=p("sync.changes")+"",c;return{c(){e=u("span"),n=A(t),o=k(),c=A(i),s(e,"class","sync-count svelte-jpp4rd")},m(r,f){S(r,e,f),a(e,n),a(e,o),a(e,c)},p(r,f){f&1&&t!==(t=r[0].unpushedOps+"")&&K(n,t)},d(r){r&&w(e)}}}function Hu(l){let e;function t(i,c){var r;return(r=i[0])!=null&&r.configured?Bu:Wu}let n=t(l),o=n(l);return{c(){e=u("div"),o.c(),s(e,"class","sync-status-widget svelte-jpp4rd")},m(i,c){S(i,e,c),o.m(e,null)},p(i,[c]){n===(n=t(i))&&o?o.p(i,c):(o.d(1),o=n(i),o&&(o.c(),o.m(e,null)))},i:x,o:x,d(i){i&&w(e),o.d()}}}function Uu(l,e,t){let{syncStatus:n=null}=e,{syncLoading:o=!1}=e,{onSync:i=null}=e,{onOpenSettings:c=null}=e;function r(d){return!d||!d.configured?"dot-disabled":o?"dot-syncing":d.revoked?"dot-disabled":d.connected?"dot-connected":d.configured?"dot-warning":"dot-disabled"}function f(d){return!d||!d.configured?p("sync.status.disabled"):o?p("sync.status.syncing"):d.revoked?p("sync.status.error"):d.connected?p("sync.status.connected"):p("sync.status.disconnected")}return l.$$set=d=>{"syncStatus"in d&&t(0,n=d.syncStatus),"syncLoading"in d&&t(1,o=d.syncLoading),"onSync"in d&&t(2,i=d.onSync),"onOpenSettings"in d&&t(3,c=d.onOpenSettings)},[n,o,i,c,r,f]}class Ku extends $e{constructor(e){super(),Ze(this,e,Uu,Hu,Xe,{syncStatus:0,syncLoading:1,onSync:2,onOpenSettings:3})}}const{Boolean:Ii}=Nl;function no(l,e,t){const n=l.slice();return n[307]=e[t],n}function oo(l,e,t){const n=l.slice();return n[310]=e[t],n}function so(l,e,t){const n=l.slice();return n[310]=e[t],n}function io(l,e,t){const n=l.slice();return n[331]=e[t],n}function co(l,e,t){const n=l.slice();return n[331]=e[t],n}function ao(l,e,t){const n=l.slice();return n[362]=e[t],n}function ro(l,e,t){const n=l.slice();return n[331]=e[t],n}function fo(l,e,t){const n=l.slice();return n[334]=e[t],n[367]=e,n[368]=t,n}function uo(l,e,t){const n=l.slice();return n[331]=e[t],n}function po(l,e,t){const n=l.slice();return n[344]=e[t],n}function mo(l,e,t){const n=l.slice();return n[331]=e[t],n}function _o(l,e,t){const n=l.slice();return n[349]=e[t],n}function go(l,e,t){const n=l.slice();return n[349]=e[t],n}function vo(l,e,t){const n=l.slice();return n[334]=e[t],n[354]=e,n[355]=t,n}function ko(l,e,t){const n=l.slice();return n[331]=e[t],n}function ho(l,e,t){const n=l.slice();return n[344]=e[t],n}function bo(l,e,t){const n=l.slice();return n[331]=e[t],n}function yo(l,e,t){const n=l.slice();return n[315]=e[t],n}function wo(l,e,t){const n=l.slice();return n[331]=e[t],n}function Co(l,e,t){const n=l.slice();return n[334]=e[t],n[335]=e,n[336]=t,n}function So(l,e,t){const n=l.slice();return n[331]=e[t],n}function jo(l,e,t){const n=l.slice();return n[326]=e[t],n}function To(l,e,t){const n=l.slice();return n[323]=e[t],n}function Eo(l,e,t){const n=l.slice();return n[318]=e[t],n}function No(l,e,t){const n=l.slice();return n[315]=e[t],n}function Do(l,e,t){const n=l.slice();return n[318]=e[t],n}function Io(l,e,t){const n=l.slice();return n[341]=e[t],n}function Mo(l,e,t){const n=l.slice();return n[373]=e[t],n}function Ao(l,e,t){const n=l.slice();return n[376]=e[t],n}function Gu(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T,j,E,D,N,F,I,O,V,B,H,Y,J,G,W,R,P,z,U,q,se,de,ee,$,te,ce,pe,we,He,ve,Q,Z,re,ge,Ne,Ue=fe(l[4]),Me=[];for(let ne=0;ne0?0:1}E=Ve(l),D=Ye[E]=Je[E](l),I=new Ku({props:{syncStatus:l[76],syncLoading:l[77],onSync:l[159],onOpenSettings:l[164]}});function Re(ne,Ie){return ne[26]?$u:ne[25]?Zu:Xu}let Oe=Re(l),Ae=Oe(l),je=l[24]&&Ro(l);const ze=[o1,n1,l1,t1,e1,xu],Fe=[];function Ge(ne,Ie){return ne[29]?0:ne[26]?1:ne[25]==="journal"?2:ne[25]==="today"&&ne[7]?3:ne[25]==="activity"?4:5}ee=Ge(l),$=Fe[ee]=ze[ee](l);let Ee=l[41]&&Qs(l),De=l[45].visible&&$s(l),ke=l[32]&&li(l),Pe=l[48]&&ni(l),Ce=l[55]&&l[54]&&si(l),be=l[73]&&ci(l),ae=l[68]&&ri(l),Te=l[3]&&fi(l);return{c(){e=u("div"),t=u("aside"),n=u("div"),o=u("span"),o.textContent="⚒",i=k(),c=u("span"),c.textContent=`${p("nav.brand")}`,r=k(),f=u("nav"),d=u("div"),m=u("div"),m.textContent=`${p("nav.system")}`,v=k();for(let ne=0;ne',H=k(),Y=u("span"),J=A(l[23]),G=k(),W=u("main"),R=u("header"),P=u("div"),Ae.c(),z=k(),U=u("div"),q=u("button"),q.innerHTML='',se=k(),je&&je.c(),de=k(),$.c(),te=k(),Ee&&Ee.c(),ce=k(),De&&De.c(),pe=k(),ke&&ke.c(),we=k(),Pe&&Pe.c(),He=k(),Ce&&Ce.c(),ve=k(),be&&be.c(),Q=k(),ae&&ae.c(),Z=k(),Te&&Te.c(),s(o,"class","logo svelte-1ofkctg"),s(c,"class","brand-name svelte-1ofkctg"),s(n,"class","sidebar-brand svelte-1ofkctg"),s(m,"class","nav-label svelte-1ofkctg"),s(d,"class","nav-group svelte-1ofkctg"),s(y,"class","svelte-1ofkctg"),s(T,"class","nav-add-btn svelte-1ofkctg"),s(T,"title",p("common.create")),s(b,"class","nav-label-row svelte-1ofkctg"),s(h,"class","nav-group svelte-1ofkctg"),s(f,"class","sidebar-nav svelte-1ofkctg"),s(B,"class","sidebar-settings-btn svelte-1ofkctg"),s(B,"title",p("common.settings")),s(Y,"class","version svelte-1ofkctg"),s(V,"class","sidebar-footer-row svelte-1ofkctg"),s(F,"class","sidebar-footer svelte-1ofkctg"),s(t,"class","sidebar svelte-1ofkctg"),s(P,"class","header-left svelte-1ofkctg"),s(q,"class","header-settings-btn svelte-1ofkctg"),s(q,"title",p("common.settings")),s(U,"class","header-right svelte-1ofkctg"),s(R,"class","header svelte-1ofkctg"),s(W,"class","main svelte-1ofkctg"),s(e,"class","app svelte-1ofkctg")},m(ne,Ie){S(ne,e,Ie),a(e,t),a(t,n),a(n,o),a(n,i),a(n,c),a(t,r),a(t,f),a(f,d),a(d,m),a(d,v);for(let st=0;st{Ye[st]=null}),nt(),D=Ye[E],D?D.p(ne,Ie):(D=Ye[E]=Je[E](ne),D.c()),ie(D,1),D.m(h,null));const qe={};Ie[2]&16384&&(qe.syncStatus=ne[76]),Ie[2]&32768&&(qe.syncLoading=ne[77]),I.$set(qe),(!re||Ie[0]&8388608)&&K(J,ne[23]),Oe===(Oe=Re(ne))&&Ae?Ae.p(ne,Ie):(Ae.d(1),Ae=Oe(ne),Ae&&(Ae.c(),Ae.m(P,null))),ne[24]?je?je.p(ne,Ie):(je=Ro(ne),je.c(),je.m(W,de)):je&&(je.d(1),je=null);let Se=ee;ee=Ge(ne),ee===Se?Fe[ee].p(ne,Ie):(lt(),ue(Fe[Se],1,1,()=>{Fe[Se]=null}),nt(),$=Fe[ee],$?$.p(ne,Ie):($=Fe[ee]=ze[ee](ne),$.c()),ie($,1),$.m(W,te)),ne[41]?Ee?(Ee.p(ne,Ie),Ie[1]&1024&&ie(Ee,1)):(Ee=Qs(ne),Ee.c(),ie(Ee,1),Ee.m(W,ce)):Ee&&(lt(),ue(Ee,1,1,()=>{Ee=null}),nt()),ne[45].visible?De?(De.p(ne,Ie),Ie[1]&16384&&ie(De,1)):(De=$s(ne),De.c(),ie(De,1),De.m(W,pe)):De&&(lt(),ue(De,1,1,()=>{De=null}),nt()),ne[32]?ke?ke.p(ne,Ie):(ke=li(ne),ke.c(),ke.m(W,we)):ke&&(ke.d(1),ke=null),ne[48]?Pe?Pe.p(ne,Ie):(Pe=ni(ne),Pe.c(),Pe.m(W,He)):Pe&&(Pe.d(1),Pe=null),ne[55]&&ne[54]?Ce?Ce.p(ne,Ie):(Ce=si(ne),Ce.c(),Ce.m(W,ve)):Ce&&(Ce.d(1),Ce=null),ne[73]?be?be.p(ne,Ie):(be=ci(ne),be.c(),be.m(W,Q)):be&&(be.d(1),be=null),ne[68]?ae?(ae.p(ne,Ie),Ie[2]&64&&ie(ae,1)):(ae=ri(ne),ae.c(),ie(ae,1),ae.m(W,Z)):ae&&(lt(),ue(ae,1,1,()=>{ae=null}),nt()),ne[3]?Te?(Te.p(ne,Ie),Ie[0]&8&&ie(Te,1)):(Te=fi(ne),Te.c(),ie(Te,1),Te.m(W,null)):Te&&(lt(),ue(Te,1,1,()=>{Te=null}),nt())},i(ne){re||(ie(D),ie(I.$$.fragment,ne),ie($),ie(Ee),ie(De),ie(ae),ie(Te),re=!0)},o(ne){ue(D),ue(I.$$.fragment,ne),ue($),ue(Ee),ue(De),ue(ae),ue(Te),re=!1},d(ne){ne&&w(e),Le(Me,ne),Ye[E].d(),Be(I),Ae.d(),je&&je.d(),Fe[ee].d(),Ee&&Ee.d(),De&&De.d(),ke&&ke.d(),Pe&&Pe.d(),Ce&&Ce.d(),be&&be.d(),ae&&ae.d(),Te&&Te.d(),ge=!1,_e(Ne)}}}function Ju(l){var n;let e,t;return e=new Qf({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[161]}}),{c(){Ke(e.$$.fragment)},m(o,i){We(e,o,i),t=!0},p(o,i){var r;const c={};i[0]&1&&(c.vaultPath=((r=o[0])==null?void 0:r.vaultPath)||""),e.$set(c)},i(o){t||(ie(e.$$.fragment,o),t=!0)},o(o){ue(e.$$.fragment,o),t=!1},d(o){Be(e,o)}}}function qu(l){let e,t;return e=new Jf({props:{onComplete:l[160]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Fo(l){let e,t;return{c(){e=u("span"),t=A(l[40]),s(e,"class","nav-badge svelte-1ofkctg")},m(n,o){S(n,e,o),a(e,t)},p(n,o){o[1]&512&&K(t,n[40])},d(n){n&&w(e)}}}function Po(l){let e,t=l[376].label+"",n,o,i,c,r,f,d=l[376].id==="journal"&&l[40]>0&&Fo(l);function m(){return l[163](l[376])}return{c(){e=u("button"),n=A(t),o=k(),d&&d.c(),i=k(),s(e,"class",c="nav-item "+(l[25]===l[376].id?"selected":"")+" svelte-1ofkctg")},m(v,_){S(v,e,_),a(e,n),a(e,o),d&&d.m(e,null),a(e,i),r||(f=M(e,"click",m),r=!0)},p(v,_){l=v,_[0]&16&&t!==(t=l[376].label+"")&&K(n,t),l[376].id==="journal"&&l[40]>0?d?d.p(l,_):(d=Fo(l),d.c(),d.m(e,i)):d&&(d.d(1),d=null),_[0]&33554448&&c!==(c="nav-item "+(l[25]===l[376].id?"selected":"")+" svelte-1ofkctg")&&s(e,"class",c)},d(v){v&&w(e),d&&d.d(),r=!1,f()}}}function Yu(l){let e;return{c(){e=u("div"),e.textContent=`${p("nav.noNodes")}`,s(e,"class","nav-empty svelte-1ofkctg")},m(t,n){S(t,e,n)},p:x,i:x,o:x,d(t){t&&w(e)}}}function Qu(l){var c;let e,t,n,o,i;return t=new Di({props:{nodes:l[5],expanded:l[56],selectedNodeId:((c=l[26])==null?void 0:c.id)||"",onSelect:l[82],onToggle:l[112],onContextMenu:l[110],onDrop:l[113]}}),{c(){e=u("div"),Ke(t.$$.fragment),s(e,"class","workspace-tree-area svelte-1ofkctg"),s(e,"role","region"),s(e,"aria-label",p("nav.workspace")),he(e,"drop-valid",l[67])},m(r,f){S(r,e,f),We(t,e,null),n=!0,o||(i=[M(e,"dragover",Dl(l[115])),M(e,"dragleave",l[116]),M(e,"drop",l[114])],o=!0)},p(r,f){var m;const d={};f[0]&32&&(d.nodes=r[5]),f[1]&33554432&&(d.expanded=r[56]),f[0]&67108864&&(d.selectedNodeId=((m=r[26])==null?void 0:m.id)||""),t.$set(d),(!n||f[2]&32)&&he(e,"drop-valid",r[67])},i(r){n||(ie(t.$$.fragment,r),n=!0)},o(r){ue(t.$$.fragment,r),n=!1},d(r){r&&w(e),Be(t),o=!1,_e(i)}}}function Xu(l){let e;return{c(){e=u("span"),e.textContent=`${p("nav.selectPrompt")}`,s(e,"class","crumb placeholder svelte-1ofkctg")},m(t,n){S(t,e,n)},p:x,d(t){t&&w(e)}}}function Zu(l){let e,t=fe(l[4]),n=[];for(let o=0;o',s(o,"class","dismiss-btn svelte-1ofkctg"),s(o,"aria-label","Dismiss"),s(e,"class","error-banner svelte-1ofkctg"),s(e,"role","button"),s(e,"tabindex","0")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),i||(c=[M(o,"click",Qe(l[167])),M(e,"click",l[168]),M(e,"keydown",function(){mt(rt(l[169]))&&rt(l[169]).apply(this,arguments)})],i=!0)},p(r,f){l=r,f[0]&16777216&&K(t,l[24])},d(r){r&&w(e),i=!1,_e(c)}}}function xu(l){let e,t,n;function o(r,f){if(r[52])return c1;if(r[4].length>0)return i1;if(r[24])return s1}let i=o(l),c=i&&i(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("welcome.title")}`,n=k(),c&&c.c(),s(t,"class","svelte-1ofkctg"),s(e,"class","welcome svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,t),a(e,n),c&&c.m(e,null)},p(r,f){i===(i=o(r))&&c?c.p(r,f):(c&&c.d(1),c=i&&i(r),c&&(c.c(),c.m(e,null)))},i:x,o:x,d(r){r&&w(e),c&&c.d()}}}function e1(l){let e,t,n,o;function i(f,d){return f[8].length===0?r1:a1}let c=i(l),r=c(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${p("activity.title")}`,o=k(),r.c(),s(n,"class","svelte-1ofkctg"),s(t,"class","activity-feed-header svelte-1ofkctg"),s(e,"class","activity-feed svelte-1ofkctg")},m(f,d){S(f,e,d),a(e,t),a(t,n),a(e,o),r.m(e,null)},p(f,d){c===(c=i(f))&&r?r.p(f,d):(r.d(1),r=c(f),r&&(r.c(),r.m(e,null)))},i:x,o:x,d(f){f&&w(e),r.d()}}}function t1(l){let e,t,n,o,i,c=l[7].date+"",r,f,d,m,v=l[7].summary&&Vo(l),_=l[39].length>0&&Uo(l);function h(C,T){return C[7].groups&&C[7].groups.length>0?u1:f1}let b=h(l),y=b(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${p("today.title")}`,o=k(),i=u("span"),r=A(c),f=k(),v&&v.c(),d=k(),_&&_.c(),m=k(),y.c(),s(n,"class","svelte-1ofkctg"),s(i,"class","today-date svelte-1ofkctg"),s(t,"class","today-header svelte-1ofkctg"),s(e,"class","today-dashboard svelte-1ofkctg")},m(C,T){S(C,e,T),a(e,t),a(t,n),a(t,o),a(t,i),a(i,r),a(e,f),v&&v.m(e,null),a(e,d),_&&_.m(e,null),a(e,m),y.m(e,null)},p(C,T){T[0]&128&&c!==(c=C[7].date+"")&&K(r,c),C[7].summary?v?v.p(C,T):(v=Vo(C),v.c(),v.m(e,d)):v&&(v.d(1),v=null),C[39].length>0?_?_.p(C,T):(_=Uo(C),_.c(),_.m(e,m)):_&&(_.d(1),_=null),b===(b=h(C))&&y?y.p(C,T):(y.d(1),y=b(C),y&&(y.c(),y.m(e,null)))},i:x,o:x,d(C){C&&w(e),v&&v.d(),_&&_.d(),y.d()}}}function l1(l){let e,t,n,o,i,c,r,f,d,m,v,_,h,b,y,C,T,j,E,D,N,F,I,O,V,B,H,Y,J,G,W,R,P,z,U,q,se,de,ee,$,te,ce,pe,we,He,ve,Q,Z,re,ge,Ne,Ue,Me,Je,Ye,Ve,Re,Oe,Ae;function je(ae,Te){return ae[17]?_1:m1}let ze=je(l),Fe=ze(l),Ge=l[14]&&ls(l),Ee=l[18]&&ns(l),De=l[39].length>0&&os(l),ke=l[10]&&rs(l);function Pe(ae,Te){return ae[9].length===0?v1:g1}let Ce=Pe(l),be=Ce(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${p("journal.title")}`,o=k(),i=u("div"),c=u("div"),c.textContent=`${p("journal.filterHeading")}`,r=k(),f=u("div"),d=u("label"),m=u("span"),m.textContent=`${p("journal.dateFrom")}`,v=k(),_=u("input"),h=k(),b=u("label"),y=u("span"),y.textContent=`${p("journal.dateTo")}`,C=k(),T=u("input"),j=k(),E=u("label"),D=u("span"),D.textContent=`${p("journal.node")}`,N=k(),F=u("div"),Fe.c(),I=k(),Ge&&Ge.c(),O=k(),V=u("label"),B=u("span"),B.textContent=`${p("journal.billable")}`,H=k(),Y=u("select"),J=u("option"),J.textContent=`${p("common.all")}`,G=u("option"),G.textContent=`${p("journal.billableYes")}`,W=u("option"),W.textContent=`${p("journal.billableNo")}`,R=k(),P=u("label"),z=u("span"),z.textContent=`${p("journal.approx")}`,U=k(),q=u("select"),se=u("option"),se.textContent=`${p("common.all")}`,de=u("option"),de.textContent=`${p("journal.approxExact")}`,ee=u("option"),ee.textContent=`${p("journal.approxEstimated")}`,$=k(),te=u("button"),te.textContent=`${p("journal.filter")}`,ce=k(),pe=u("button"),pe.textContent=`${p("journal.reset")}`,we=k(),He=u("div"),ve=u("div"),ve.textContent=`${p("journal.exportHeading")}`,Q=k(),Z=u("div"),re=u("button"),re.textContent=`${p("journal.exportCSV")}`,ge=k(),Ne=u("button"),Ne.textContent=`${p("journal.exportMarkdown")}`,Ue=k(),Me=u("button"),Me.textContent="PDF",Je=k(),Ee&&Ee.c(),Ye=k(),De&&De.c(),Ve=k(),ke&&ke.c(),Re=k(),be.c(),s(n,"class","svelte-1ofkctg"),s(c,"class","journal-filter-heading svelte-1ofkctg"),s(m,"class","label-text svelte-1ofkctg"),s(_,"type","date"),s(_,"class","svelte-1ofkctg"),s(d,"class","svelte-1ofkctg"),s(y,"class","label-text svelte-1ofkctg"),s(T,"type","date"),s(T,"class","svelte-1ofkctg"),s(b,"class","svelte-1ofkctg"),s(D,"class","label-text svelte-1ofkctg"),s(F,"class","journal-node-picker svelte-1ofkctg"),at(F,"position","relative"),s(E,"class","svelte-1ofkctg"),s(B,"class","label-text svelte-1ofkctg"),J.__value="all",ye(J,J.__value),s(J,"class","svelte-1ofkctg"),G.__value="yes",ye(G,G.__value),s(G,"class","svelte-1ofkctg"),W.__value="no",ye(W,W.__value),s(W,"class","svelte-1ofkctg"),s(Y,"class","svelte-1ofkctg"),l[15]===void 0&&wt(()=>l[216].call(Y)),s(V,"title",p("journal.billableHint")),s(V,"class","svelte-1ofkctg"),s(z,"class","label-text svelte-1ofkctg"),se.__value="all",ye(se,se.__value),s(se,"class","svelte-1ofkctg"),de.__value="no",ye(de,de.__value),s(de,"class","svelte-1ofkctg"),ee.__value="yes",ye(ee,ee.__value),s(ee,"class","svelte-1ofkctg"),s(q,"class","svelte-1ofkctg"),l[16]===void 0&&wt(()=>l[217].call(q)),s(P,"title",p("journal.approxHint")),s(P,"class","svelte-1ofkctg"),s(te,"class","btn btn-sm svelte-1ofkctg"),s(pe,"class","btn btn-sm svelte-1ofkctg"),s(f,"class","journal-filters-row svelte-1ofkctg"),s(i,"class","journal-filter-section svelte-1ofkctg"),s(ve,"class","journal-export-heading svelte-1ofkctg"),s(re,"class","btn btn-sm svelte-1ofkctg"),s(Ne,"class","btn btn-sm svelte-1ofkctg"),s(Me,"class","btn btn-sm svelte-1ofkctg"),s(Z,"class","journal-export-row svelte-1ofkctg"),s(He,"class","journal-export-section svelte-1ofkctg"),s(t,"class","journal-header svelte-1ofkctg"),s(e,"class","journal-screen svelte-1ofkctg")},m(ae,Te){S(ae,e,Te),a(e,t),a(t,n),a(t,o),a(t,i),a(i,c),a(i,r),a(i,f),a(f,d),a(d,m),a(d,v),a(d,_),ye(_,l[11]),a(f,h),a(f,b),a(b,y),a(b,C),a(b,T),ye(T,l[12]),a(f,j),a(f,E),a(E,D),a(E,N),a(E,F),Fe.m(F,null),a(f,I),Ge&&Ge.m(f,null),a(f,O),a(f,V),a(V,B),a(V,H),a(V,Y),a(Y,J),a(Y,G),a(Y,W),pt(Y,l[15],!0),a(f,R),a(f,P),a(P,z),a(P,U),a(P,q),a(q,se),a(q,de),a(q,ee),pt(q,l[16],!0),a(f,$),a(f,te),a(f,ce),a(f,pe),a(t,we),a(t,He),a(He,ve),a(He,Q),a(He,Z),a(Z,re),a(Z,ge),a(Z,Ne),a(Z,Ue),a(Z,Me),a(Z,Je),Ee&&Ee.m(Z,null),a(e,Ye),De&&De.m(e,null),a(e,Ve),ke&&ke.m(e,null),a(e,Re),be.m(e,null),Oe||(Ae=[M(_,"input",l[209]),M(T,"input",l[210]),M(Y,"change",l[216]),M(q,"change",l[217]),M(te,"click",l[133]),M(pe,"click",l[140]),M(re,"click",l[218]),M(Ne,"click",l[219]),M(Me,"click",l[220])],Oe=!0)},p(ae,Te){Te[0]&2048&&ye(_,ae[11]),Te[0]&4096&&ye(T,ae[12]),ze===(ze=je(ae))&&Fe?Fe.p(ae,Te):(Fe.d(1),Fe=ze(ae),Fe&&(Fe.c(),Fe.m(F,null))),ae[14]?Ge?Ge.p(ae,Te):(Ge=ls(ae),Ge.c(),Ge.m(f,O)):Ge&&(Ge.d(1),Ge=null),Te[0]&32768&&pt(Y,ae[15]),Te[0]&65536&&pt(q,ae[16]),ae[18]?Ee?Ee.p(ae,Te):(Ee=ns(ae),Ee.c(),Ee.m(Z,null)):Ee&&(Ee.d(1),Ee=null),ae[39].length>0?De?De.p(ae,Te):(De=os(ae),De.c(),De.m(e,Ve)):De&&(De.d(1),De=null),ae[10]?ke?ke.p(ae,Te):(ke=rs(ae),ke.c(),ke.m(e,Re)):ke&&(ke.d(1),ke=null),Ce===(Ce=Pe(ae))&&be?be.p(ae,Te):(be.d(1),be=Ce(ae),be&&(be.c(),be.m(e,null)))},i:x,o:x,d(ae){ae&&w(e),Fe.d(),Ge&&Ge.d(),Ee&&Ee.d(),De&&De.d(),ke&&ke.d(),be.d(),Oe=!1,_e(Ae)}}}function n1(l){let e,t,n,o,i,c,r=fe(l[80]),f=[];for(let _=0;_{m[b]=null}),nt()),~o?(i=m[o],i?i.p(_,h):(i=m[o]=d[o](_),i.c()),ie(i,1),i.m(n,null)):i=null)},i(_){c||(ie(i),c=!0)},o(_){ue(i),c=!1},d(_){_&&(w(e),w(t),w(n)),Le(f,_),~o&&m[o].d()}}}function o1(l){let e,t,n,o=l[29].title+"",i,c,r,f,d,m,v,_,h,b,y,C=l[29].dirty&&Ys();return{c(){e=u("div"),t=u("div"),n=u("span"),i=A(o),c=k(),C&&C.c(),r=k(),f=u("div"),d=u("button"),d.textContent=`${p("common.save")}`,m=k(),v=u("button"),v.textContent=`${p("common.close")}`,_=k(),h=u("textarea"),s(n,"class","note-title svelte-1ofkctg"),s(d,"class","btn btn-primary svelte-1ofkctg"),s(v,"class","btn svelte-1ofkctg"),s(f,"class","note-editor-actions svelte-1ofkctg"),s(t,"class","note-editor-header svelte-1ofkctg"),s(h,"class","note-textarea svelte-1ofkctg"),s(h,"placeholder",p("note.placeholder")),s(e,"class","note-editor svelte-1ofkctg")},m(T,j){S(T,e,j),a(e,t),a(t,n),a(n,i),a(t,c),C&&C.m(t,null),a(t,r),a(t,f),a(f,d),a(f,m),a(f,v),a(e,_),a(e,h),ye(h,l[29].content),b||(y=[M(d,"click",l[127]),M(v,"click",l[125]),M(h,"input",l[170]),M(h,"input",l[126])],b=!0)},p(T,j){j[0]&536870912&&o!==(o=T[29].title+"")&&K(i,o),T[29].dirty?C||(C=Ys(),C.c(),C.m(t,r)):C&&(C.d(1),C=null),j[0]&536870912&&ye(h,T[29].content)},i:x,o:x,d(T){T&&w(e),C&&C.d(),b=!1,_e(y)}}}function s1(l){let e,t=p("common.error")+"",n,o,i;return{c(){e=u("p"),n=A(t),o=k(),i=A(l[24]),s(e,"class","error-text svelte-1ofkctg")},m(c,r){S(c,e,r),a(e,n),a(e,o),a(e,i)},p(c,r){r[0]&16777216&&K(i,c[24])},d(c){c&&w(e)}}}function i1(l){let e,t,n;return{c(){e=u("p"),e.textContent=`${p("welcome.selectSection")}`,t=k(),n=u("p"),n.textContent=`${p("welcome.createCase")}`,s(e,"class","svelte-1ofkctg"),s(n,"class","hint svelte-1ofkctg")},m(o,i){S(o,e,i),S(o,t,i),S(o,n,i)},p:x,d(o){o&&(w(e),w(t),w(n))}}}function c1(l){let e;return{c(){e=u("p"),e.textContent=`${p("common.loading")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},p:x,d(t){t&&w(e)}}}function a1(l){let e,t=fe(l[8]),n=[];for(let o=0;o0&&Wo(l),i=l[7].summary.notes>0&&Bo(l),c=l[7].summary.files>0&&Ho(l);return{c(){e=u("div"),o&&o.c(),t=k(),i&&i.c(),n=k(),c&&c.c(),s(e,"class","today-summary svelte-1ofkctg")},m(r,f){S(r,e,f),o&&o.m(e,null),a(e,t),i&&i.m(e,null),a(e,n),c&&c.m(e,null)},p(r,f){r[7].summary.changedCases>0?o?o.p(r,f):(o=Wo(r),o.c(),o.m(e,t)):o&&(o.d(1),o=null),r[7].summary.notes>0?i?i.p(r,f):(i=Bo(r),i.c(),i.m(e,n)):i&&(i.d(1),i=null),r[7].summary.files>0?c?c.p(r,f):(c=Ho(r),c.c(),c.m(e,null)):c&&(c.d(1),c=null)},d(r){r&&w(e),o&&o.d(),i&&i.d(),c&&c.d()}}}function Wo(l){let e,t=l[7].summary.changedCases+"",n,o,i=_t(l[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"",c;return{c(){e=u("span"),n=A(t),o=k(),c=A(i),s(e,"class","summary-chip svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,n),a(e,o),a(e,c)},p(r,f){f[0]&128&&t!==(t=r[7].summary.changedCases+"")&&K(n,t),f[0]&128&&i!==(i=_t(r[7].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"")&&K(c,i)},d(r){r&&w(e)}}}function Bo(l){let e,t=l[7].summary.notes+"",n,o,i=_t(l[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"",c;return{c(){e=u("span"),n=A(t),o=k(),c=A(i),s(e,"class","summary-chip svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,n),a(e,o),a(e,c)},p(r,f){f[0]&128&&t!==(t=r[7].summary.notes+"")&&K(n,t),f[0]&128&&i!==(i=_t(r[7].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"")&&K(c,i)},d(r){r&&w(e)}}}function Ho(l){let e,t=l[7].summary.files+"",n,o,i=_t(l[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"",c;return{c(){e=u("span"),n=A(t),o=k(),c=A(i),s(e,"class","summary-chip svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,n),a(e,o),a(e,c)},p(r,f){f[0]&128&&t!==(t=r[7].summary.files+"")&&K(n,t),f[0]&128&&i!==(i=_t(r[7].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"")&&K(c,i)},d(r){r&&w(e)}}}function Uo(l){let e,t,n,o=fe(l[39]),i=[];for(let c=0;c0&&Ko(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("button"),c=A(i),r=k(),f=u("span"),m=A(d),v=k(),_=u("span"),b=A(h),y=k(),C=u("div"),T=u("input"),E=k(),D=u("span"),D.textContent=`${p("suggest.minutes")}`,N=k(),F=u("button"),F.textContent=`${p("suggest.apply")}`,I=k(),R&&R.c(),O=k(),s(o,"class","suggestion-node link-btn svelte-1ofkctg"),s(f,"class","suggestion-summary svelte-1ofkctg"),s(_,"class","suggestion-confidence svelte-1ofkctg"),he(_,"low",l[334].confidence==="low"),he(_,"medium",l[334].confidence==="medium"),he(_,"high",l[334].confidence==="high"),s(n,"class","suggestion-info svelte-1ofkctg"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-1ofkctg"),T.value=j=l[334].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(D,"class","suggestion-min-label svelte-1ofkctg"),s(F,"class","btn btn-sm btn-primary svelte-1ofkctg"),s(C,"class","suggestion-actions svelte-1ofkctg"),s(t,"class","suggestion-main svelte-1ofkctg"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1ofkctg"),he(e,"expanded",l[334]._expanded)},m(P,z){S(P,e,z),a(e,t),a(t,n),a(n,o),a(o,c),a(n,r),a(n,f),a(f,m),a(n,v),a(n,_),a(_,b),a(t,y),a(t,C),a(C,T),a(C,E),a(C,D),a(C,N),a(C,F),a(e,I),R&&R.m(e,null),a(e,O),V||(B=[M(o,"click",Qe(H)),M(T,"change",Qe(Y)),M(F,"click",Qe(J)),M(t,"click",G),M(t,"keydown",W)],V=!0)},p(P,z){l=P,z[1]&256&&i!==(i=l[334].nodeTitle+"")&&K(c,i),z[1]&256&&d!==(d=l[334].summary+"")&&K(m,d),z[1]&256&&h!==(h=p("suggest.confidence."+l[334].confidence)+"")&&K(b,h),z[1]&256&&he(_,"low",l[334].confidence==="low"),z[1]&256&&he(_,"medium",l[334].confidence==="medium"),z[1]&256&&he(_,"high",l[334].confidence==="high"),z[1]&256&&j!==(j=l[334].suggestedMin)&&T.value!==j&&(T.value=j),l[334]._expanded&&l[334].events&&l[334].events.length>0?R?R.p(l,z):(R=Ko(l),R.c(),R.m(e,O)):R&&(R.d(1),R=null),z[1]&256&&he(e,"expanded",l[334]._expanded)},d(P){P&&w(e),R&&R.d(),V=!1,_e(B)}}}function f1(l){let e,t,n,o;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("today.empty")}`,n=k(),o=u("p"),o.textContent=`${p("today.emptyHint")}`,s(t,"class","svelte-1ofkctg"),s(o,"class","hint svelte-1ofkctg"),s(e,"class","today-empty svelte-1ofkctg")},m(i,c){S(i,e,c),a(e,t),a(e,n),a(e,o)},p:x,d(i){i&&w(e)}}}function u1(l){let e,t,n=fe(l[7].groups),o=[];for(let c=0;c0&&$o(l);return{c(){for(let c=0;c0?i?i.p(c,r):(i=$o(c),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(c){c&&(w(e),w(t)),Le(o,c),i&&i.d(c)}}}function Yo(l){let e,t=l[362].events.length+"",n,o,i=_t(l[362].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"",c;return{c(){e=u("span"),n=A(t),o=k(),c=A(i),s(e,"class","today-case-count svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,n),a(e,o),a(e,c)},p(r,f){f[0]&128&&t!==(t=r[362].events.length+"")&&K(n,t),f[0]&128&&i!==(i=_t(r[362].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"")&&K(c,i)},d(r){r&&w(e)}}}function d1(l){let e;return{c(){e=u("div"),e.textContent=`${p("today.changedCases")}`,s(e,"class","today-events-empty svelte-1ofkctg")},m(t,n){S(t,e,n)},p:x,d(t){t&&w(e)}}}function p1(l){let e,t=fe(l[362].events),n=[];for(let o=0;o0?p1:d1}let F=N(l),I=F(l);return{c(){e=u("div"),t=u("div"),n=u("span"),i=A(o),c=k(),r=u("span"),d=A(f),m=k(),j&&j.c(),v=k(),_=u("span"),b=A(h),y=k(),I.c(),s(n,"class","today-case-title svelte-1ofkctg"),s(r,"class","today-case-type svelte-1ofkctg"),s(_,"class","today-case-time svelte-1ofkctg"),s(t,"class","today-case-header svelte-1ofkctg"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","today-case svelte-1ofkctg")},m(O,V){S(O,e,V),a(e,t),a(t,n),a(n,i),a(t,c),a(t,r),a(r,d),a(t,m),j&&j.m(t,null),a(t,v),a(t,_),a(_,b),a(e,y),I.m(e,null),C||(T=[M(t,"click",E),M(t,"keydown",D)],C=!0)},p(O,V){l=O,V[0]&128&&o!==(o=l[362].nodeTitle+"")&&K(i,o),V[0]&128&&f!==(f=l[147](l[362].nodeKind)+"")&&K(d,f),l[362].events?j?j.p(l,V):(j=Yo(l),j.c(),j.m(t,v)):j&&(j.d(1),j=null),V[0]&128&&h!==(h=et(l[362].lastActivityAt)+"")&&K(b,h),F===(F=N(l))&&I?I.p(l,V):(I.d(1),I=F(l),I&&(I.c(),I.m(e,null)))},d(O){O&&w(e),j&&j.d(),I.d(),C=!1,_e(T)}}}function $o(l){let e,t,n,o=fe(l[7].events),i=[];for(let c=0;c0&&ss(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("button"),c=A(i),r=k(),f=u("span"),m=A(d),v=k(),_=u("span"),b=A(h),y=k(),C=u("div"),T=u("input"),E=k(),D=u("span"),D.textContent=`${p("suggest.minutes")}`,N=k(),F=u("button"),F.textContent=`${p("suggest.apply")}`,I=k(),R&&R.c(),O=k(),s(o,"class","suggestion-node link-btn svelte-1ofkctg"),s(f,"class","suggestion-summary svelte-1ofkctg"),s(_,"class","suggestion-confidence svelte-1ofkctg"),he(_,"low",l[334].confidence==="low"),he(_,"medium",l[334].confidence==="medium"),he(_,"high",l[334].confidence==="high"),s(n,"class","suggestion-info svelte-1ofkctg"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-1ofkctg"),T.value=j=l[334].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(D,"class","suggestion-min-label svelte-1ofkctg"),s(F,"class","btn btn-sm btn-primary svelte-1ofkctg"),s(C,"class","suggestion-actions svelte-1ofkctg"),s(t,"class","suggestion-main svelte-1ofkctg"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1ofkctg"),he(e,"expanded",l[334]._expanded)},m(P,z){S(P,e,z),a(e,t),a(t,n),a(n,o),a(o,c),a(n,r),a(n,f),a(f,m),a(n,v),a(n,_),a(_,b),a(t,y),a(t,C),a(C,T),a(C,E),a(C,D),a(C,N),a(C,F),a(e,I),R&&R.m(e,null),a(e,O),V||(B=[M(o,"click",Qe(H)),M(T,"change",Qe(Y)),M(F,"click",Qe(J)),M(t,"click",G),M(t,"keydown",W)],V=!0)},p(P,z){l=P,z[1]&256&&i!==(i=l[334].nodeTitle+"")&&K(c,i),z[1]&256&&d!==(d=l[334].summary+"")&&K(m,d),z[1]&256&&h!==(h=p("suggest.confidence."+l[334].confidence)+"")&&K(b,h),z[1]&256&&he(_,"low",l[334].confidence==="low"),z[1]&256&&he(_,"medium",l[334].confidence==="medium"),z[1]&256&&he(_,"high",l[334].confidence==="high"),z[1]&256&&j!==(j=l[334].suggestedMin)&&T.value!==j&&(T.value=j),l[334]._expanded&&l[334].events&&l[334].events.length>0?R?R.p(l,z):(R=ss(l),R.c(),R.m(e,O)):R&&(R.d(1),R=null),z[1]&256&&he(e,"expanded",l[334]._expanded)},d(P){P&&w(e),R&&R.d(),V=!1,_e(B)}}}function rs(l){let e,t,n=p("journal.total")+"",o,i,c=Math.floor(l[10].totalMinutes/60)+"",r,f,d=l[10].totalMinutes%60+"",m,v,_=l[10].totalEntries+"",h,b,y=p("worklog.min")+"",C,T,j,E,D=l[10].byDay&&l[10].byDay.length>0&&fs(l),N=l[10].byNode&&l[10].byNode.length>0&&ds(l);return{c(){e=u("div"),t=u("div"),o=A(n),i=A(": "),r=A(c),f=A("ч "),m=A(d),v=A("м ("),h=A(_),b=k(),C=A(y),T=A(")"),j=k(),D&&D.c(),E=k(),N&&N.c(),s(t,"class","summary-total svelte-1ofkctg"),s(e,"class","journal-summary svelte-1ofkctg")},m(F,I){S(F,e,I),a(e,t),a(t,o),a(t,i),a(t,r),a(t,f),a(t,m),a(t,v),a(t,h),a(t,b),a(t,C),a(t,T),a(e,j),D&&D.m(e,null),a(e,E),N&&N.m(e,null)},p(F,I){I[0]&1024&&c!==(c=Math.floor(F[10].totalMinutes/60)+"")&&K(r,c),I[0]&1024&&d!==(d=F[10].totalMinutes%60+"")&&K(m,d),I[0]&1024&&_!==(_=F[10].totalEntries+"")&&K(h,_),F[10].byDay&&F[10].byDay.length>0?D?D.p(F,I):(D=fs(F),D.c(),D.m(e,E)):D&&(D.d(1),D=null),F[10].byNode&&F[10].byNode.length>0?N?N.p(F,I):(N=ds(F),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(F){F&&w(e),D&&D.d(),N&&N.d()}}}function fs(l){let e,t,n,o=fe(l[10].byDay),i=[];for(let c=0;c0?w1:y[344].source==="suggestion"?y1:y[344].source==="unknown"||y[344].source==="imported"?b1:y[344]._hasEvents?h1:k1}let _=v(l),h=_(l),b=l[344]._events&&ks(l);return{c(){e=u("tr"),t=u("td"),n=u("div"),m&&m.c(),o=k(),i=u("div"),c=u("span"),c.textContent=`${p("worklog.source")}`,r=k(),h.c(),f=k(),b&&b.c(),d=k(),s(c,"class","journal-detail-label svelte-1ofkctg"),s(i,"class","journal-detail-section svelte-1ofkctg"),s(n,"class","journal-detail-body svelte-1ofkctg"),s(t,"colspan","8"),s(t,"class","svelte-1ofkctg"),s(e,"class","journal-row-detail svelte-1ofkctg")},m(y,C){S(y,e,C),a(e,t),a(t,n),m&&m.m(n,null),a(n,o),a(n,i),a(i,c),a(i,r),h.m(i,null),a(n,f),b&&b.m(n,null),a(e,d)},p(y,C){y[344].details?m?m.p(y,C):(m=vs(y),m.c(),m.m(n,o)):m&&(m.d(1),m=null),_!==(_=v(y))&&(h.d(1),h=_(y),h&&(h.c(),h.m(i,null))),y[344]._events?b?b.p(y,C):(b=ks(y),b.c(),b.m(n,null)):b&&(b.d(1),b=null)},d(y){y&&w(e),m&&m.d(),h.d(),b&&b.d()}}}function vs(l){let e,t,n,o,i=l[344].details+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("worklog.details")}`,n=k(),o=u("p"),c=A(i),s(t,"class","journal-detail-label svelte-1ofkctg"),s(o,"class","svelte-1ofkctg"),s(e,"class","journal-detail-section svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f[0]&512&&i!==(i=r[344].details+"")&&K(c,i)},d(r){r&&w(e)}}}function k1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function h1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function b1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function y1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function w1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function C1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function ks(l){let e,t,n,o=fe(l[344]._events),i=[];for(let c=0;c0,c,r,f,d=i&&Ss(l);function m(h,b){return h[31].length===0?F1:A1}let v=m(l),_=v(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`+ ${p("worklog.addEntry")}`,o=k(),d&&d.c(),c=k(),_.c(),s(n,"class","btn btn-primary btn-sm svelte-1ofkctg"),s(t,"class","worklog-toolbar svelte-1ofkctg"),s(e,"class","worklog-tab svelte-1ofkctg")},m(h,b){S(h,e,b),a(e,t),a(t,n),a(e,o),d&&d.m(e,null),a(e,c),_.m(e,null),r||(f=M(n,"click",l[128]),r=!0)},p(h,b){b[0]&67108864|b[1]&256&&(i=h[26]&&h[39].filter(h[162]).length>0),i?d?d.p(h,b):(d=Ss(h),d.c(),d.m(e,c)):d&&(d.d(1),d=null),v===(v=m(h))&&_?_.p(h,b):(_.d(1),_=v(h),_&&(_.c(),_.m(e,null)))},i:x,o:x,d(h){h&&w(e),d&&d.d(),_.d(),r=!1,f()}}}function T1(l){let e,t,n,o,i,c;function r(m,v){return m[30].length===0?W1:V1}let f=r(l),d=f(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${p("action.addAction")}`,o=k(),d.c(),s(n,"class","btn btn-primary svelte-1ofkctg"),s(t,"class","tab-toolbar svelte-1ofkctg"),s(e,"class","actions-tab svelte-1ofkctg")},m(m,v){S(m,e,v),a(e,t),a(t,n),a(e,o),d.m(e,null),i||(c=M(n,"click",l[148]),i=!0)},p(m,v){f===(f=r(m))&&d?d.p(m,v):(d.d(1),d=f(m),d&&(d.c(),d.m(e,null)))},i:x,o:x,d(m){m&&w(e),d.d(),i=!1,c()}}}function E1(l){let e,t,n,o=p("file.addFile")+"",i,c,r,f=p("file.addFolder")+"",d,m,v,_,h,b,y,C,T,j,E,D,N,F=l[65].items.length>0&&zs(l);const I=[H1,B1],O=[];function V(Y,J){return Y[57]?0:1}b=V(l),y=O[b]=I[b](l);let B=l[53]&&!l[55]&&Ws(),H=l[61]&&Bs(l);return{c(){e=u("div"),t=u("div"),n=u("button"),i=A(o),c=k(),r=u("button"),d=A(f),m=k(),v=u("button"),v.textContent=`${p("file.newFile")}`,_=k(),F&&F.c(),h=k(),y.c(),C=k(),B&&B.c(),T=k(),H&&H.c(),j=it(),s(n,"class","btn btn-primary svelte-1ofkctg"),n.disabled=l[53],s(r,"class","btn svelte-1ofkctg"),r.disabled=l[53],s(v,"class","btn svelte-1ofkctg"),s(t,"class","tab-toolbar svelte-1ofkctg"),s(e,"class","files-tab svelte-1ofkctg")},m(Y,J){S(Y,e,J),a(e,t),a(t,n),a(n,i),a(t,c),a(t,r),a(r,d),a(t,m),a(t,v),a(t,_),F&&F.m(t,null),a(e,h),O[b].m(e,null),a(e,C),B&&B.m(e,null),S(Y,T,J),H&&H.m(Y,J),S(Y,j,J),E=!0,D||(N=[M(n,"click",l[141]),M(r,"click",l[142]),M(v,"click",l[89])],D=!0)},p(Y,J){(!E||J[1]&4194304)&&(n.disabled=Y[53]),(!E||J[1]&4194304)&&(r.disabled=Y[53]),Y[65].items.length>0?F?F.p(Y,J):(F=zs(Y),F.c(),F.m(t,null)):F&&(F.d(1),F=null);let G=b;b=V(Y),b===G?O[b].p(Y,J):(lt(),ue(O[G],1,1,()=>{O[G]=null}),nt(),y=O[b],y?y.p(Y,J):(y=O[b]=I[b](Y),y.c()),ie(y,1),y.m(e,C)),Y[53]&&!Y[55]?B||(B=Ws(),B.c(),B.m(e,null)):B&&(B.d(1),B=null),Y[61]?H?(H.p(Y,J),J[1]&1073741824&&ie(H,1)):(H=Bs(Y),H.c(),ie(H,1),H.m(j.parentNode,j)):H&&(lt(),ue(H,1,1,()=>{H=null}),nt())},i(Y){E||(ie(y),ie(H),E=!0)},o(Y){ue(y),ue(H),E=!1},d(Y){Y&&(w(e),w(T),w(j)),F&&F.d(),O[b].d(),B&&B.d(),H&&H.d(Y),D=!1,_e(N)}}}function N1(l){let e,t,n,o,i,c,r,f=l[46]&&Hs(l);function d(_,h){return _[28].length===0&&!_[46]?Y1:q1}let m=d(l),v=m(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${p("note.add")}`,o=k(),f&&f.c(),i=k(),v.c(),s(n,"class","btn btn-primary svelte-1ofkctg"),s(t,"class","tab-toolbar svelte-1ofkctg"),s(e,"class","notes-tab svelte-1ofkctg")},m(_,h){S(_,e,h),a(e,t),a(t,n),a(e,o),f&&f.m(e,null),a(e,i),v.m(e,null),c||(r=M(n,"click",l[121]),c=!0)},p(_,h){_[46]?f?f.p(_,h):(f=Hs(_),f.c(),f.m(e,i)):f&&(f.d(1),f=null),m===(m=d(_))&&v?v.p(_,h):(v.d(1),v=m(_),v&&(v.c(),v.m(e,null)))},i:x,o:x,d(_){_&&w(e),f&&f.d(),v.d(),c=!1,r()}}}function D1(l){let e,t,n=l[26].title+"",o,i,c,r,f,d,m=l[147](l[26].type)+"",v,_,h,b,y,C=(l[26].section||"—")+"",T,j,E,D,N,F=ft(l[26].createdAt)+"",I,O,V,B,H,Y,J,G,W=p("overview.newNote")+"",R,P,z,U,q,se,de=p("overview.addFile")+"",ee,$,te,ce,pe,we,He=p("overview.addAction")+"",ve,Q,Z,re,ge,Ne,Ue,Me=p("overview.logTime")+"",Je,Ye,Ve,Re,Oe,Ae=l[28].length>0&&Ks(l),je=l[31].length>0&&Js(l);return{c(){e=u("div"),t=u("h2"),o=A(n),i=k(),c=u("div"),r=u("div"),f=u("span"),f.textContent=`${p("overview.type")}`,d=u("span"),v=A(m),_=k(),h=u("div"),b=u("span"),b.textContent=`${p("overview.section")}`,y=u("span"),T=A(C),j=k(),E=u("div"),D=u("span"),D.textContent=`${p("overview.created")}`,N=u("span"),I=A(F),O=k(),V=u("div"),B=u("button"),H=X("svg"),Y=X("path"),J=X("path"),G=k(),R=A(W),P=k(),z=u("button"),U=X("svg"),q=X("path"),se=k(),ee=A(de),$=k(),te=u("button"),ce=X("svg"),pe=X("polygon"),we=k(),ve=A(He),Q=k(),Z=u("button"),re=X("svg"),ge=X("circle"),Ne=X("polyline"),Ue=k(),Je=A(Me),Ye=k(),Ae&&Ae.c(),Ve=k(),je&&je.c(),s(t,"class","svelte-1ofkctg"),s(f,"class","meta-label svelte-1ofkctg"),s(d,"class","svelte-1ofkctg"),s(r,"class","meta-item svelte-1ofkctg"),s(b,"class","meta-label svelte-1ofkctg"),s(y,"class","svelte-1ofkctg"),s(h,"class","meta-item svelte-1ofkctg"),s(D,"class","meta-label svelte-1ofkctg"),s(N,"class","svelte-1ofkctg"),s(E,"class","meta-item svelte-1ofkctg"),s(c,"class","meta-grid svelte-1ofkctg"),s(Y,"d","M12 20h9"),s(Y,"class","svelte-1ofkctg"),s(J,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(J,"class","svelte-1ofkctg"),s(H,"width","16"),s(H,"height","16"),s(H,"viewBox","0 0 24 24"),s(H,"fill","none"),s(H,"stroke","currentColor"),s(H,"stroke-width","2"),s(H,"stroke-linecap","round"),s(H,"stroke-linejoin","round"),s(H,"class","svelte-1ofkctg"),s(B,"class","qa-btn svelte-1ofkctg"),s(q,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),s(q,"class","svelte-1ofkctg"),s(U,"width","16"),s(U,"height","16"),s(U,"viewBox","0 0 24 24"),s(U,"fill","none"),s(U,"stroke","currentColor"),s(U,"stroke-width","2"),s(U,"stroke-linecap","round"),s(U,"stroke-linejoin","round"),s(U,"class","svelte-1ofkctg"),s(z,"class","qa-btn svelte-1ofkctg"),s(pe,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),s(pe,"class","svelte-1ofkctg"),s(ce,"width","16"),s(ce,"height","16"),s(ce,"viewBox","0 0 24 24"),s(ce,"fill","none"),s(ce,"stroke","currentColor"),s(ce,"stroke-width","2"),s(ce,"stroke-linecap","round"),s(ce,"stroke-linejoin","round"),s(ce,"class","svelte-1ofkctg"),s(te,"class","qa-btn svelte-1ofkctg"),s(ge,"cx","12"),s(ge,"cy","12"),s(ge,"r","10"),s(ge,"class","svelte-1ofkctg"),s(Ne,"points","12 6 12 12 16 14"),s(Ne,"class","svelte-1ofkctg"),s(re,"width","16"),s(re,"height","16"),s(re,"viewBox","0 0 24 24"),s(re,"fill","none"),s(re,"stroke","currentColor"),s(re,"stroke-width","2"),s(re,"stroke-linecap","round"),s(re,"stroke-linejoin","round"),s(re,"class","svelte-1ofkctg"),s(Z,"class","qa-btn svelte-1ofkctg"),s(V,"class","quick-actions svelte-1ofkctg"),s(e,"class","overview svelte-1ofkctg")},m(ze,Fe){S(ze,e,Fe),a(e,t),a(t,o),a(e,i),a(e,c),a(c,r),a(r,f),a(r,d),a(d,v),a(c,_),a(c,h),a(h,b),a(h,y),a(y,T),a(c,j),a(c,E),a(E,D),a(E,N),a(N,I),a(e,O),a(e,V),a(V,B),a(B,H),a(H,Y),a(H,J),a(B,G),a(B,R),a(V,P),a(V,z),a(z,U),a(U,q),a(z,se),a(z,ee),a(V,$),a(V,te),a(te,ce),a(ce,pe),a(te,we),a(te,ve),a(V,Q),a(V,Z),a(Z,re),a(re,ge),a(re,Ne),a(Z,Ue),a(Z,Je),a(e,Ye),Ae&&Ae.m(e,null),a(e,Ve),je&&je.m(e,null),Re||(Oe=[M(B,"click",l[172]),M(z,"click",l[173]),M(te,"click",l[148]),M(Z,"click",l[174])],Re=!0)},p(ze,Fe){Fe[0]&67108864&&n!==(n=ze[26].title+"")&&K(o,n),Fe[0]&67108864&&m!==(m=ze[147](ze[26].type)+"")&&K(v,m),Fe[0]&67108864&&C!==(C=(ze[26].section||"—")+"")&&K(T,C),Fe[0]&67108864&&F!==(F=ft(ze[26].createdAt)+"")&&K(I,F),ze[28].length>0?Ae?Ae.p(ze,Fe):(Ae=Ks(ze),Ae.c(),Ae.m(e,Ve)):Ae&&(Ae.d(1),Ae=null),ze[31].length>0?je?je.p(ze,Fe):(je=Js(ze),je.c(),je.m(e,null)):je&&(je.d(1),je=null)},i:x,o:x,d(ze){ze&&w(e),Ae&&Ae.d(),je&&je.d(),Re=!1,_e(Oe)}}}function I1(l){let e,t=fe(l[22]),n=[];for(let o=0;o0&&js(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("span"),c=A(i),r=k(),f=u("span"),m=A(d),v=k(),h=A(_),b=A(" · "),C=A(y),T=k(),j=u("div"),E=u("button"),E.textContent=`${p("worklog.apply")}`,D=k(),H&&H.c(),N=k(),s(o,"class","suggestion-summary svelte-1ofkctg"),s(f,"class","suggestion-meta svelte-1ofkctg"),s(n,"class","suggestion-info svelte-1ofkctg"),s(E,"class","btn btn-sm btn-primary svelte-1ofkctg"),s(j,"class","suggestion-actions svelte-1ofkctg"),s(t,"class","suggestion-main svelte-1ofkctg"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-1ofkctg"),he(e,"expanded",l[334]._expanded)},m(Y,J){S(Y,e,J),a(e,t),a(t,n),a(n,o),a(o,c),a(n,r),a(n,f),a(f,m),a(f,v),a(f,h),a(f,b),a(f,C),a(t,T),a(t,j),a(j,E),a(e,D),H&&H.m(e,null),a(e,N),F||(I=[M(E,"click",Qe(O)),M(t,"click",V),M(t,"keydown",B)],F=!0)},p(Y,J){l=Y,J[0]&67108864|J[1]&256&&i!==(i=l[334].summary+"")&&K(c,i),J[0]&67108864|J[1]&256&&d!==(d=l[334].suggestedMin+"")&&K(m,d),J[0]&67108864|J[1]&256&&y!==(y=p("suggest.confidence."+l[334].confidence)+"")&&K(C,y),l[334]._expanded&&l[334].events&&l[334].events.length>0?H?H.p(l,J):(H=js(l),H.c(),H.m(e,N)):H&&(H.d(1),H=null),J[0]&67108864|J[1]&256&&he(e,"expanded",l[334]._expanded)},d(Y){Y&&w(e),H&&H.d(),F=!1,_e(I)}}}function A1(l){let e,t=fe(l[31]),n=[];for(let o=0;o0?O1:_[315].source==="suggestion"?R1:_[315].source==="unknown"||_[315].source==="imported"?L1:P1}let d=f(l),m=d(l),v=l[315].source==="suggestion"&&l[315]._events&&l[315]._events.length>0&&Fs(l);return{c(){e=u("div"),r&&r.c(),t=k(),n=u("div"),o=u("span"),o.textContent=`${p("worklog.source")}`,i=k(),m.c(),c=k(),v&&v.c(),s(o,"class","wl-detail-label svelte-1ofkctg"),s(n,"class","wl-detail-section svelte-1ofkctg"),s(e,"class","worklog-entry-detail svelte-1ofkctg")},m(_,h){S(_,e,h),r&&r.m(e,null),a(e,t),a(e,n),a(n,o),a(n,i),m.m(n,null),a(e,c),v&&v.m(e,null)},p(_,h){_[315].details?r?r.p(_,h):(r=As(_),r.c(),r.m(e,t)):r&&(r.d(1),r=null),d!==(d=f(_))&&(m.d(1),m=d(_),m&&(m.c(),m.m(n,null))),_[315].source==="suggestion"&&_[315]._events&&_[315]._events.length>0?v?v.p(_,h):(v=Fs(_),v.c(),v.m(e,null)):v&&(v.d(1),v=null)},d(_){_&&w(e),r&&r.d(),m.d(),v&&v.d()}}}function As(l){let e,t,n,o,i=l[315].details+"",c;return{c(){e=u("div"),t=u("span"),t.textContent=`${p("worklog.details")}`,n=k(),o=u("p"),c=A(i),s(t,"class","wl-detail-label svelte-1ofkctg"),s(o,"class","svelte-1ofkctg"),s(e,"class","wl-detail-section svelte-1ofkctg")},m(r,f){S(r,e,f),a(e,t),a(e,n),a(e,o),a(o,c)},p(r,f){f[1]&1&&i!==(i=r[315].details+"")&&K(c,i)},d(r){r&&w(e)}}}function P1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function L1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceUnknown")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function R1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function O1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function z1(l){let e;return{c(){e=u("p"),e.textContent=`${p("worklog.sourceManual")}`,s(e,"class","svelte-1ofkctg")},m(t,n){S(t,e,n)},d(t){t&&w(e)}}}function Fs(l){let e,t,n,o=fe(l[315]._events),i=[];for(let c=0;c',E=k(),s(n,"class","action-title svelte-1ofkctg"),s(r,"class","action-type svelte-1ofkctg"),s(v,"class","action-data svelte-1ofkctg"),s(t,"class","action-info svelte-1ofkctg"),s(C,"class","btn btn-sm svelte-1ofkctg"),s(j,"class","btn btn-sm btn-danger svelte-1ofkctg"),s(y,"class","action-btns svelte-1ofkctg"),s(e,"class","action-card svelte-1ofkctg")},m(O,V){S(O,e,V),a(e,t),a(t,n),a(n,i),a(t,c),a(t,r),a(r,d),a(t,m),a(t,v),a(v,h),a(e,b),a(e,y),a(y,C),a(y,T),a(y,j),a(e,E),D||(N=[M(C,"click",F),M(j,"click",I)],D=!0)},p(O,V){l=O,V[0]&1073741824&&o!==(o=l[326].title+"")&&K(i,o),V[0]&1073741824&&f!==(f=l[152](l[326].type)+"")&&K(d,f),V[0]&1073741824&&_!==(_=l[326].data+"")&&K(h,_)},d(O){O&&w(e),D=!1,_e(N)}}}function zs(l){let e,t=p("common.paste")+"",n,o,i=l[65].items.length+"",c,r,f;return{c(){e=u("button"),n=A(t),o=k(),c=A(i),s(e,"class","btn svelte-1ofkctg")},m(d,m){S(d,e,m),a(e,n),a(e,o),a(e,c),r||(f=M(e,"click",l[94]),r=!0)},p(d,m){m[2]&8&&i!==(i=d[65].items.length+"")&&K(c,i)},d(d){d&&w(e),r=!1,f()}}}function B1(l){let e,t,n,o,i,c,r;const f=[K1,U1],d=[];function m(b,y){return b[59].length>0?0:1}e=m(l),t=d[e]=f[e](l);const v=[J1,G1],_=[];function h(b,y){return b[60].length===0?0:1}return o=h(l),i=_[o]=v[o](l),{c(){t.c(),n=k(),i.c(),c=it()},m(b,y){d[e].m(b,y),S(b,n,y),_[o].m(b,y),S(b,c,y),r=!0},p(b,y){let C=e;e=m(b),e===C?d[e].p(b,y):(lt(),ue(d[C],1,1,()=>{d[C]=null}),nt(),t=d[e],t?t.p(b,y):(t=d[e]=f[e](b),t.c()),ie(t,1),t.m(n.parentNode,n));let T=o;o=h(b),o===T?_[o].p(b,y):(lt(),ue(_[T],1,1,()=>{_[T]=null}),nt(),i=_[o],i?i.p(b,y):(i=_[o]=v[o](b),i.c()),ie(i,1),i.m(c.parentNode,c))},i(b){r||(ie(t),ie(i),r=!0)},o(b){ue(t),ue(i),r=!1},d(b){b&&(w(n),w(c)),d[e].d(b),_[o].d(b)}}}function H1(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("common.loading")}`,s(t,"class","svelte-1ofkctg"),s(e,"class","empty-state svelte-1ofkctg")},m(n,o){S(n,e,o),a(e,t)},p:x,i:x,o:x,d(n){n&&w(e)}}}function U1(l){let e,t;return e=new Ni({props:{crumbs:[{name:p("file.root")}]}}),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p:x,i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function K1(l){let e,t,n,o,i,c,r,f=p("common.back")+"",d,m,v,_;return e=new Ni({props:{crumbs:[{name:p("file.root")},...l[59]]}}),e.$on("navigate",l[181]),{c(){Ke(e.$$.fragment),t=k(),n=u("button"),o=X("svg"),i=X("line"),c=X("polyline"),r=k(),d=A(f),s(i,"x1","19"),s(i,"y1","12"),s(i,"x2","5"),s(i,"y2","12"),s(i,"class","svelte-1ofkctg"),s(c,"points","12 19 5 12 12 5"),s(c,"class","svelte-1ofkctg"),s(o,"width","14"),s(o,"height","14"),s(o,"viewBox","0 0 24 24"),s(o,"fill","none"),s(o,"stroke","currentColor"),s(o,"stroke-width","2"),s(o,"stroke-linecap","round"),s(o,"stroke-linejoin","round"),s(o,"class","svelte-1ofkctg"),s(n,"class","btn btn-sm back-btn svelte-1ofkctg")},m(h,b){We(e,h,b),S(h,t,b),S(h,n,b),a(n,o),a(o,i),a(o,c),a(n,r),a(n,d),m=!0,v||(_=M(n,"click",l[85]),v=!0)},p(h,b){const y={};b[1]&268435456&&(y.crumbs=[{name:p("file.root")},...h[59]]),e.$set(y)},i(h){m||(ie(e.$$.fragment,h),m=!0)},o(h){ue(e.$$.fragment,h),m=!1},d(h){h&&(w(t),w(n)),Be(e,h),v=!1,_()}}}function G1(l){let e,t=[],n=new Map,o,i=fe(l[60]);const c=r=>r[323].id;for(let r=0;r0?p("file.noFiles"):p("file.noFilesCase"))+"",c,r,f,d,m,v,_,h,b,y;return{c(){e=u("div"),t=u("div"),t.innerHTML='',n=k(),o=u("p"),c=A(i),r=k(),f=u("p"),f.textContent=`${p("file.hint")}`,d=k(),m=u("div"),v=u("button"),v.textContent=`${p("file.addFileSimple")}`,_=k(),h=u("button"),h.textContent=`${p("file.addFolderSimple")}`,s(t,"class","empty-icon svelte-1ofkctg"),s(o,"class","svelte-1ofkctg"),s(f,"class","hint svelte-1ofkctg"),s(v,"class","btn btn-primary svelte-1ofkctg"),s(h,"class","btn svelte-1ofkctg"),s(m,"class","empty-actions svelte-1ofkctg"),s(e,"class","empty-state svelte-1ofkctg")},m(C,T){S(C,e,T),a(e,t),a(e,n),a(e,o),a(o,c),a(e,r),a(e,f),a(e,d),a(e,m),a(m,v),a(m,_),a(m,h),b||(y=[M(v,"click",l[141]),M(h,"click",l[142])],b=!0)},p(C,T){T[1]&268435456&&i!==(i=(C[59].length>0?p("file.noFiles"):p("file.noFilesCase"))+"")&&K(c,i)},i:x,o:x,d(C){C&&w(e),b=!1,_e(y)}}}function Vs(l,e){let t,n,o;return n=new af({props:{item:e[323],selected:e[66].includes(e[323].id),onDragStart:e[98],onDragOver:e[99],onDrop:e[100]}}),n.$on("navigate",e[182]),n.$on("preview",e[183]),n.$on("openExternal",e[184]),n.$on("showInFolder",e[185]),n.$on("delete",e[186]),n.$on("rename",e[187]),n.$on("duplicate",e[188]),n.$on("cut",e[189]),n.$on("copy",e[190]),n.$on("selectOne",e[191]),n.$on("toggleSelect",e[192]),n.$on("rangeSelect",e[193]),{key:l,first:null,c(){t=it(),Ke(n.$$.fragment),this.first=t},m(i,c){S(i,t,c),We(n,i,c),o=!0},p(i,c){e=i;const r={};c[1]&536870912&&(r.item=e[323]),c[1]&536870912|c[2]&16&&(r.selected=e[66].includes(e[323].id)),n.$set(r)},i(i){o||(ie(n.$$.fragment,i),o=!0)},o(i){ue(n.$$.fragment,i),o=!1},d(i){i&&w(t),Be(n,i)}}}function Ws(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.scanning")}`,s(t,"class","svelte-1ofkctg"),s(e,"class","empty-state svelte-1ofkctg")},m(n,o){S(n,e,o),a(e,t)},d(n){n&&w(e)}}}function Bs(l){let e,t;return e=new Sf({props:{item:l[61],content:l[62],loading:l[63],error:l[64]}}),e.$on("close",l[88]),e.$on("openExternal",l[194]),{c(){Ke(e.$$.fragment)},m(n,o){We(e,n,o),t=!0},p(n,o){const i={};o[1]&1073741824&&(i.item=n[61]),o[2]&1&&(i.content=n[62]),o[2]&2&&(i.loading=n[63]),o[2]&4&&(i.error=n[64]),e.$set(i)},i(n){t||(ie(e.$$.fragment,n),t=!0)},o(n){ue(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Hs(l){let e,t,n,o,i,c,r,f,d;return{c(){e=u("div"),t=u("input"),n=k(),o=u("div"),i=u("button"),i.textContent=`${p("common.create")}`,c=k(),r=u("button"),r.textContent=`${p("common.cancel")}`,s(t,"type","text"),s(t,"placeholder",p("note.title")),s(t,"class","svelte-1ofkctg"),s(i,"class","btn btn-primary svelte-1ofkctg"),s(r,"class","btn svelte-1ofkctg"),s(o,"class","form-actions svelte-1ofkctg"),s(e,"class","create-form svelte-1ofkctg")},m(m,v){S(m,e,v),a(e,t),ye(t,l[47]),a(e,n),a(e,o),a(o,i),a(o,c),a(o,r),f||(d=[M(t,"input",l[177]),M(t,"keydown",l[178]),M(i,"click",l[123]),M(r,"click",l[122])],f=!0)},p(m,v){v[1]&65536&&t.value!==m[47]&&ye(t,m[47])},d(m){m&&w(e),f=!1,_e(d)}}}function q1(l){let e,t=fe(l[28]),n=[];for(let o=0;oue(se[ee],1,1,()=>{se[ee]=null});return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${p("nav.createNode")}`,o=k(),U&&U.c(),i=k(),c=u("div"),r=u("span"),r.textContent=`${p("template.select")}`,f=k(),d=u("div"),m=u("button"),Ke(v.$$.fragment),_=k(),h=u("div"),b=u("span"),b.textContent=`${p("template.optionNone")}`,y=k(),C=u("span"),C.textContent=`${p("template.none.desc")}`,T=k();for(let ee=0;ee{b=null}),nt()),C[45].node&&C[45].node.parent_id?y?y.p(C,T):(y=ti(C),y.c(),y.m(t,i)):y&&(y.d(1),y=null),(!v||T[1]&16384)&&at(t,"left",C[45].x+"px"),(!v||T[1]&16384)&&at(t,"top",C[45].y+"px")},i(C){v||(ie(b),v=!0)},o(C){ue(b),v=!1},d(C){C&&w(e),b&&b.d(),y&&y.d(),_=!1,_e(h)}}}function xs(l){let e,t,n,o,i,c=fe(l[6].length>0?l[6]:[{id:"",title:"template.optionNone",icon:"folder"}]),r=[];for(let d=0;due(r[d],1,1,()=>{r[d]=null});return{c(){e=u("div"),e.textContent=`${p("common.create")}`,t=k();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let v;for(v=0;vl[264].call(y)),s(_,"class","svelte-1ofkctg"),s(v,"class","form-group svelte-1ofkctg"),s(E,"class","label-text svelte-1ofkctg"),s(I,"type","text"),s(I,"placeholder",O=l[50]==="open_url"?p("action.urlPlaceholder"):l[50]==="open_folder"||l[50]==="open_file"?p("action.pathPlaceholder"):p("action.commandPlaceholder")),s(I,"class","svelte-1ofkctg"),s(j,"class","svelte-1ofkctg"),s(T,"class","form-group svelte-1ofkctg"),s(H,"class","btn btn-primary svelte-1ofkctg"),s(J,"class","btn svelte-1ofkctg"),s(B,"class","modal-actions svelte-1ofkctg"),s(t,"class","modal svelte-1ofkctg"),s(e,"class","modal-overlay svelte-1ofkctg"),s(e,"role","button"),s(e,"tabindex","0")},m(z,U){S(z,e,U),a(e,t),a(t,n),a(t,o),a(t,i),a(i,c),a(c,r),a(c,f),a(c,d),ye(d,l[49]),a(t,m),a(t,v),a(v,_),a(_,h),a(_,b),a(_,y);for(let q=0;q{c[m]=null}),nt(),t=c[e],t?t.p(f,d):(t=c[e]=i[e](f),t.c()),ie(t,1),t.m(n.parentNode,n))},i(f){o||(ie(t),o=!0)},o(f){ue(t),o=!1},d(f){f&&w(n),c[e].d(f)}}}function oe(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function zt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&zt(n.children,e,t))return!0}return!1}function Mi(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Mi(n.children,e,t))return!0}return!1}function ui(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function Xt(l){try{oe("WriteDebugLog",l)}catch{}}function Sl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function et(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Pt(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function ft(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function _t(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function X1(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function rt(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function Z1(l,e,t){let n=null,o=!1,i=!1,c=!1,r=!1,f=[],d=[],m=[],v=null,_=[],h=0,b=!0,y=[],C=null,T="",j="",E=!1,D="",N="all",F="all",I="",O="",V="",B=[],H=!1,Y=[],J="",G="",W="",R=null,P="overview",z=[],U=null,q=[],se=[],de=[],ee=!1,$="",te="",ce="",pe="",we=!1,He=!1,ve=[],Q=0,Z=!1,re="",ge=null,Ne=null,Ue={visible:!1,x:0,y:0,node:null},Me=!1,Je="",Ye=!1,Ve="",Re="open_url",Oe="",Ae=[{id:"open_url",label:p("action.openUrl")},{id:"open_file",label:p("action.openFile")},{id:"open_folder",label:p("action.openFolder")},{id:"run_command",label:p("action.runCommand")},{id:"run_script",label:p("action.runScript")},{id:"open_terminal",label:p("action.openTerminal")},{id:"launch_app",label:p("action.launchApp")}],je=!0,ze=!1,Fe=null,Ge=!1,Ee="",De="",ke={},Pe=!1,Ce=null,be=[],ae=[],Te=null,ne="",Ie=!1,st="",qe={items:[],mode:"copy"},Se=[],ot=[],Ct=!1,ol=!1,Al="",Fl="",Pl=!1,Ll=p("common.delete"),Bt=null,Ht=null,Ut=!1,Kt="",St="",jt="",sl=null,il=!1;const Ai=[{id:"overview",label:p("tab.overview")},{id:"notes",label:p("tab.notes")},{id:"files",label:p("tab.files")},{id:"actions",label:p("tab.actions")},{id:"worklog",label:p("tab.worklog")},{id:"activity",label:p("tab.activity")}];let cl=null;pi(async()=>{try{if(t(0,n=await oe("GetStartupStatus")),o=!0,n.status==="first_run"){t(1,i=!0),t(52,je=!1);return}if(n.status==="recovery"){t(2,c=!0),t(52,je=!1);return}}catch(g){t(24,G=String(g))}try{t(23,J=await oe("VerstakVersion")||"verstak-gui/v2"),t(4,f=await oe("ListSystemViews")||[]),t(5,d=await oe("ListWorkspaceTree")||[]),t(6,m=await oe("ListEnabledTemplates")||[])}catch(g){t(24,G=String(g)),t(4,f=[{id:"today",label:p("nav.today")},{id:"inbox",label:p("nav.inbox")},{id:"activity",label:p("nav.activity")}]),t(5,d=[]),t(6,m=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",mc),cl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Yl),t(52,je=!1),hl()}),Ml(()=>{cl&&cl(),window.removeEventListener("keydown",Yl)});async function Rl(g){t(25,W=g),t(26,R=null),t(27,P="overview"),t(28,z=[]),q=[],t(30,se=[]),t(31,de=[]),t(39,ve=[]),t(41,Z=!1),t(24,G=""),t(7,v=null),t(8,_=[]),h=0,b=!0,t(9,y=[]),t(10,C=null);try{g==="today"?(t(7,v=await oe("ListTodayView")||{cases:[]}),t(39,ve=await oe("GetSuggestions")||[]),t(40,Q=ve.length)):g==="journal"?await Dt():g==="activity"&&(t(8,_=await oe("ListActivityFeed",50,0)||[]),h=_.length,b=_.length===50)}catch(L){t(24,G=String(L)),t(7,v={cases:[]}),t(8,_=[])}}async function gt(g){t(26,R=g),t(27,P="overview"),t(28,z=[]),q=[],t(30,se=[]),t(31,de=[]),t(39,ve=[]),t(60,ae=[]),t(59,be=[]),t(58,Ce=null),t(61,Te=null),t(62,ne=""),t(66,Se=[]),ot=[],t(29,U=null),t(41,Z=!1),t(46,Me=!1),t(24,G=""),t(22,Y=[]),await Ol(g.id)}async function Ol(g){try{t(28,z=await oe("ListNotes",g)||[])}catch{}try{q=await oe("ListFiles",g)||[]}catch{}try{t(30,se=await oe("ListActions",g)||[])}catch{}try{t(31,de=Sl(await oe("ListWorklog",g)))}catch{}try{t(39,ve=await oe("GetSuggestions")||[]),t(40,Q=ve.length)}catch{t(39,ve=[]),t(40,Q=0)}try{t(22,Y=await oe("ListActivityByNode",g,50,0)||[])}catch{}}async function tt(g){t(57,Pe=!0);try{let L=await oe("ListItems",g)||[];L.sort((le,me)=>le.type!==me.type?le.type==="folder"?-1:1:(le.name||"").localeCompare(me.name||"")),t(60,ae=L)}catch{t(60,ae=[])}t(57,Pe=!1)}async function al(g){if(!R)return;try{const le=await oe("GetNodeDetail",g);le&&t(59,be=[...be,{id:g,name:le.title}])}catch{t(59,be=[...be,{id:g,name:"..."}])}t(58,Ce=g),t(56,ke={...ke,[g]:!0});const L=await oe("ListWorkspaceChildren",g)||[];zt(d,g,L),t(5,d=[...d]),await tt(g)}function zl(){if(be.length<2)t(59,be=[]),t(58,Ce=null),tt(R.id);else{const g=be[be.length-2];t(59,be=be.slice(0,-1)),t(58,Ce=g.id),tt(g.id)}}function Vl(g){const L=be[g];t(59,be=be.slice(0,g+1)),t(58,Ce=L.id),tt(L.id)}async function Gt(g){t(61,Te=g),t(62,ne=""),t(64,st=""),t(63,Ie=!0);try{xr(g)?t(62,ne=await oe("GetFileBase64",g.fileId)||""):ef(g)&&t(62,ne=await oe("ReadFileText",g.fileId)||"")}catch(L){t(64,st=String(L))}t(63,Ie=!1)}function rl(){t(61,Te=null),t(62,ne=""),t(64,st="")}async function Fi(){const g=prompt(p("file.namePrompt"));if(!(!g||!g.trim()))try{const L=Ce||R.id;await oe("CreateEmptyFile",L,g.trim()),await tt(L),await dl(L)}catch(L){t(24,G=String(L))}}async function Wl(g){try{await oe("DuplicateNode",g);const L=Ce||R.id;await tt(L),await dl(L)}catch(L){t(24,G=String(L))}}function Bl(g){const L=ae.find(le=>le.id===g);L&&ul(L.id,L.name)}function Hl(g){t(65,qe={items:[g],mode:"cut"})}function Ul(g){t(65,qe={items:[g],mode:"copy"})}async function Kl(){if(qe.items.length===0)return;const g=Ce||R.id;try{if(qe.mode==="copy")for(const L of qe.items)await oe("DuplicateNode",L);else for(const L of qe.items)await oe("MoveNode",L,g);t(65,qe={items:[],mode:"copy"}),await tt(g)}catch(L){t(24,G=String(L))}}function Gl(g){Se.includes(g)?t(66,Se=Se.filter(L=>L!==g)):t(66,Se=[...Se,g])}function Jl(g){t(66,Se=[g])}function Pi(){t(66,Se=ae.map(g=>g.id))}function ql(g){if(ae.length===0)return;const L=Se.length>0?Se[Se.length-1]:ae[0].id,le=ae.findIndex(ht=>ht.id===L),me=ae.findIndex(ht=>ht.id===g);if(le===-1||me===-1)return;const xe=Math.min(le,me),ct=Math.max(le,me),bl=ae.slice(xe,ct+1).map(ht=>ht.id),gn=new Set(Se);bl.forEach(ht=>gn.add(ht)),t(66,Se=[...gn])}function Li(){t(66,Se=[])}function fl(g){return g.length>0?g:ae.map(L=>L.id)}async function Ri(){const g=fl(Se),L=ae.find(me=>me.id===g[0]);let le;g.length===1&&(L==null?void 0:L.type)==="folder"?le=p("delete.folder"):g.length===1?le=p("delete.file"):le=p("delete.files",{count:g.length}),Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+le+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{for(const xe of g)try{await oe("DeleteFileOrFolder",xe)}catch(ct){t(24,G=String(ct))}t(66,Se=[]);const me=Ce||R.id;await tt(me)}})}function Oi(){const g=fl(Se);t(65,qe={items:g,mode:"cut"}),t(66,Se=[])}function zi(){const g=fl(Se);t(65,qe={items:g,mode:"copy"}),t(66,Se=[])}function Vi(g,L){const le=Se.includes(L)?Se:[L];ot=le,g.dataTransfer.effectAllowed="move",g.dataTransfer.setData("text/plain",le.join(","))}function Wi(g,L){const le=ae.find(me=>me.id===L);le&&le.type==="folder"&&(g.preventDefault(),g.dataTransfer.dropEffect="move")}async function Bi(g,L){if(g.preventDefault(),ot.length!==0){for(const le of ot)try{await oe("MoveNode",le,L)}catch(me){t(24,G=String(me))}ot=[],t(66,Se=[]),await tt(Ce||R.id)}}function Yl(g){if(P==="files"&&!(g.target.tagName==="INPUT"||g.target.tagName==="TEXTAREA"))if(g.ctrlKey||g.metaKey)g.key==="c"||g.key==="C"?(g.preventDefault(),zi()):g.key==="x"||g.key==="X"?(g.preventDefault(),Oi()):g.key==="v"||g.key==="V"?(g.preventDefault(),Kl()):g.key==="a"||g.key==="A"?(g.preventDefault(),Pi()):g.key==="o"||g.key==="O"?(g.preventDefault(),Hi()):g.key==="Enter"&&(g.preventDefault(),Ql());else if(g.key==="Enter")g.preventDefault(),Ql();else if(g.key==="Delete"||g.key==="Backspace"){if(Te){g.preventDefault(),rl();return}if(Se.length>0){g.preventDefault(),Ri();return}if(g.key==="Backspace"&&be.length>0){g.preventDefault(),zl();return}}else if(g.key==="Escape"){if(Te){rl();return}if(Se.length>0){Li();return}}else g.key==="F2"&&(g.preventDefault(),Ui())}function Ql(){if(Se.length===1){const g=ae.find(L=>L.id===Se[0]);g&&(g.type==="folder"?al(g.id):Gt(g))}}function Hi(){if(Se.length===1){const g=ae.find(L=>L.id===Se[0]);g&&g.fileId&&oe("OpenFile",g.fileId)}}function ul(g,L){Kt=g,t(74,St=L),t(75,jt=""),t(73,Ut=!0)}function Ui(){if(Se.length===1){const g=ae.find(L=>L.id===Se[0]);g&&ul(g.id,g.name)}}async function Xl(){const g=St.trim();if(!g){t(75,jt=p("rename.emptyError"));return}try{await oe("ValidateName",g)}catch{t(75,jt=p("rename.invalidError"));return}t(73,Ut=!1);const L=Kt;Kt="";try{await oe("RenameNode",L,g),R&&R.id===L&&t(26,R={...R,title:g}),await Rt(),Ce&&await tt(Ce)}catch(le){t(24,G=String(le))}}function Ki(){t(73,Ut=!1),Kt="",t(74,St=""),t(75,jt="")}function Gi(g){g.key==="Enter"?Xl():t(75,jt="")}function Lt(g){t(69,Al=g.title||p("common.confirm")),t(70,Fl=g.message||""),t(71,Pl=g.danger!==void 0?g.danger:!0),t(72,Ll=g.confirmText||p("common.delete")),Bt=g.onConfirm||null,Ht=g.onCancel||null,t(68,ol=!0)}function Zl(){t(68,ol=!1),Bt=null,Ht=null}function Ji(){Bt&&Bt(),Zl()}function qi(){Ht&&Ht(),Zl()}function $l(g){t(43,ge=Ue.node),t(44,Ne=g),t(42,re=""),t(41,Z=!0),Tt()}function Yi(){t(43,ge=null),t(44,Ne=void 0),t(42,re=""),t(41,Z=!0)}function Qi(){t(41,Z=!1),t(42,re=""),t(43,ge=null),t(44,Ne=void 0)}async function xl(){if(!(!re.trim()||Ne===void 0))try{const g=ge?ge.id:"",L=Ne?Ne.id:"",le=await oe("CreateNodeFromTemplate",g,re.trim(),L);t(41,Z=!1),t(42,re="");const me=le?le.id:null;if(t(43,ge=null),t(44,Ne=void 0),g){t(56,ke={...ke,[g]:!0});const xe=await oe("ListWorkspaceChildren",g)||[];zt(d,g,xe),t(5,d=[...d])}else t(5,d=await oe("ListWorkspaceTree")||d);if(me){const xe=await oe("GetNodeDetail",me);xe&&(t(25,W=""),gt(xe))}}catch(g){t(24,G=String(g))}}function Xi(g,L){t(45,Ue={visible:!0,x:g.clientX,y:g.clientY,node:L})}function Tt(){t(45,Ue={visible:!1,x:0,y:0,node:null})}async function Zi(g){const L=!ke[g];if(t(56,ke={...ke,[g]:L}),!L)return;const le=await oe("ListWorkspaceChildren",g)||[];zt(d,g,le),t(5,d=[...d])}async function $i(g,L){if(!(!g||!L||g===L))try{const le=await oe("MoveNode",g,L);await Rt();const me=await oe("GetNodeDetail",g);me&&(t(25,W=""),gt(me))}catch(le){t(24,G=String(le))}}async function xi(g){g.preventDefault();try{const L=g.dataTransfer.getData("text/plain");if(!L)return;const le=await oe("GetNodeDetail",L);if(!le||!le.parent_id)return;await oe("MoveNode",L,""),await Rt();const me=await oe("GetNodeDetail",L);me&&(t(25,W=""),gt(me))}catch(L){t(24,G=String(L))}}function ec(g){g.preventDefault(),g.dataTransfer.dropEffect="move",t(67,Ct=!0)}function tc(g){t(67,Ct=!1)}function en(g){ul(g.id,g.title),Tt()}function tn(g){Tt(),Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+g.title+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteNode",g.id),await Rt(),R&&R.id===g.id&&t(26,R=null)}catch(L){t(24,G=String(L))}}})}async function Et(g){Tt();const L=typeof g=="string"?g:g.id;try{await oe("OpenFolder",L)}catch(le){t(24,G=String(le))}}async function ln(g){Tt();try{await oe("MoveNode",g.id,""),await Rt();const L=await oe("GetNodeDetail",g.id);L&&(t(25,W=""),gt(L))}catch(L){t(24,G=String(L))}}async function Rt(){const g=Object.keys(ke).filter(le=>ke[le]),L=await oe("ListWorkspaceTree")||[];for(const le of g){const xe=(await oe("ListWorkspaceChildren",le)||[]).map(ct=>({...ct}));Mi(L,le,xe)}t(5,d=L)}async function dl(g){const L=await oe("ListWorkspaceChildren",g)||[];zt(d,g,L),t(5,d=[...d])}function nn(){t(46,Me=!0),t(47,Je="")}function lc(){t(46,Me=!1),t(47,Je="")}async function on(){if(!(!Je.trim()||!R))try{const g=await oe("CreateNote",R.id,Je.trim());t(28,z=[...z,g&&g.id?g:{id:Date.now().toString(),title:Je.trim(),createdAt:new Date().toISOString()}]),t(46,Me=!1),t(47,Je="")}catch{const L={id:Date.now().toString(),title:Je.trim(),createdAt:new Date().toISOString()};t(28,z=[...z,L]),t(46,Me=!1),t(47,Je="")}}async function Nt(g){if(U&&U.dirty){Lt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:async()=>{await sn(g)}});return}await sn(g)}async function sn(g){try{const L=await oe("ReadNote",g.id);t(29,U={id:g.id,title:g.title,content:L||"",dirty:!1})}catch{t(29,U={id:g.id,title:g.title,content:"# "+g.title+` - -`,dirty:!1})}}function nc(){if(U&&U.dirty){Lt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,U=null)}});return}t(29,U=null)}function oc(g){U&&(t(29,U.content=g.target.value,U),t(29,U.dirty=!0,U))}async function sc(){if(U)try{await oe("SaveNote",U.id,U.content),t(29,U.dirty=!1,U)}catch{t(29,U.dirty=!1,U)}}function ic(){t(33,$=""),t(34,te=""),t(35,ce=""),t(36,pe=""),t(37,we=!1),t(38,He=!1),t(32,ee=!0)}function cc(){t(32,ee=!1)}async function ac(){const g=parseInt(te,10);if(!(!$.trim()||isNaN(g)||g<=0||!R)){try{await oe("CreateWorklogFull",R.id,$.trim(),pe,ce,g,He,we)}catch{}t(31,de=Sl(await oe("ListWorklog",R.id))||de),t(32,ee=!1)}}async function cn(){t(39,ve=await oe("GetSuggestions")||[]),t(40,Q=ve.length),R&&t(31,de=Sl(await oe("ListWorklog",R.id))),W==="journal"&&await Dt()}async function pl(g){try{const L=ui(g),le=JSON.stringify(L);Xt("acceptTodaySuggestion: nodeId="+g.nodeId+" eventIds="+le+" events="+JSON.stringify((g.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",g.nodeId,g.summary,g.suggestedMin,"",le),await cn()}catch(L){Xt("acceptTodaySuggestion error: "+L)}}async function an(g){try{const L=ui(g),le=JSON.stringify(L);Xt("acceptJournalSuggestion: nodeId="+g.nodeId+" eventIds="+le+" events="+JSON.stringify((g.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",g.nodeId,g.summary,g.suggestedMin,"",le),await cn()}catch(L){Xt("acceptJournalSuggestion error: "+L)}}async function Dt(){try{const[g,L,le]=await Promise.all([oe("ListWorklogReport",T,j,D,E,N,F),oe("WorklogReportSummary",T,j,D,E,N,F),oe("GetSuggestions")]);if(t(9,y=(g||[]).map(me=>(me._expanded===void 0&&(me._expanded=!1),me))),t(10,C=L||null),t(39,ve=le||[]),t(40,Q=ve.length),D&&!I)if(g&&g.length>0&&g[0].nodePath)t(17,I=g[0].nodePath);else try{t(17,I=await oe("GetNodeTitle",D))}catch{t(17,I="")}}catch{t(9,y=[]),t(10,C=null),t(39,ve=[]),t(40,Q=0)}}async function Jt(g){try{const L=await oe("SaveWorklogReport",g,T,j,D,E,N,F);t(18,O=L),setTimeout(()=>t(18,O=""),4e3)}catch(L){if(String(L).includes("отменено"))return;t(18,O="Ошибка: "+String(L)),setTimeout(()=>t(18,O=""),6e3)}}let rn;async function ml(g){if(g._expanded=!g._expanded,t(9,y),g._expanded&&!g._events&&g._hasEvents===void 0)try{g._events=await oe("GetWorklogEntryEvents",g.id)||[],g._hasEvents=g._events.length>0,t(9,y)}catch{g._events=[],g._hasEvents=!1,t(9,y)}}async function _l(g){if(g._expanded=!g._expanded,g._expanded&&g.source==="suggestion"&&!g._events&&g._hasEvents===void 0)try{g._events=await oe("GetWorklogEntryEvents",g.id)||[],g._hasEvents=g._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(31,de)}async function rc(){const g=V.trim();if(!g||g.length<2){t(20,B=[]),t(21,H=!1);return}try{t(20,B=await oe("SearchNodes",g)||[]),t(21,H=B.length>0)}catch{t(20,B=[]),t(21,H=!1)}}function fc(){clearTimeout(rn),rn=setTimeout(rc,200)}function fn(g){t(14,D=g.id),t(17,I=g.path||g.title),t(13,E=!0),t(19,V=""),t(20,B=[]),t(21,H=!1),Dt()}function un(){t(14,D=""),t(13,E=!1),t(17,I=""),t(19,V=""),t(20,B=[]),t(21,H=!1),Dt()}function uc(){t(11,T=""),t(12,j=""),t(14,D=""),t(13,E=!1),t(15,N="all"),t(16,F="all"),t(17,I=""),t(19,V=""),t(20,B=[]),t(21,H=!1),Dt()}async function dn(){const g=await oe("PickFile");if(!g)return;const L=Ce||R.id;await gl(L,g)}async function dc(){const g=await oe("PickDirectory");if(!g)return;const L=Ce||R.id;await gl(L,g)}async function gl(g,L){t(53,ze=!0);try{const le=await oe("PreviewImport",L);t(54,Fe=le),Ee=L,De=g,t(55,Ge=!0)}catch(le){t(24,G=String(le))}t(53,ze=!1)}async function vl(g){try{const L=De||R.id,le=g==="copy"?await oe("AddPathCopy",L,Ee):await oe("AddPathLink",L,Ee);t(55,Ge=!1),t(54,Fe=null),t(59,be=[]),t(58,Ce=null),await Promise.all([Ol(L),tt(L),dl(L)])}catch(L){t(24,G=String(L))}}function pc(){t(55,Ge=!1),t(54,Fe=null)}async function pn({id:g,type:L}){const le=p(L==="folder"?"delete.folder":"delete.file");Lt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+le+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteFileOrFolder",g),q=q.filter(xe=>xe.nodeId!==g);const me=Ce||R.id;await tt(me)}catch(me){t(24,G=String(me))}}})}async function mc(g){if(!g||g.length===0)return;if(!R){t(24,G=p("error.selectCaseFirst"));return}const L=g[0];await gl(R.id,L)}function _c(g){return{note_created:p("event.noteCreated"),note_updated:p("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:p("event.fileAdded"),file_deleted:p("event.fileDeleted"),file_renamed:p("event.fileRenamed"),file_copied:p("event.fileCopied"),file_moved:p("event.fileMoved"),folder_added:p("event.folderAdded"),folder_deleted:p("event.folderDeleted"),folder_renamed:p("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:p("event.caseCreated"),node_updated:p("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[g]||g}function gc(g){return{project:p("kind.project"),client:p("kind.client"),document:p("kind.document"),recipe:p("kind.recipe"),folder:p("kind.folder"),note:p("kind.note"),file:p("kind.file"),archive:p("kind.archive"),case:p("kind.case")}[g]||g||p("kind.case")}function vc(){t(48,Ye=!0),t(49,Ve=""),t(50,Re="open_url"),t(51,Oe="")}function kc(){t(48,Ye=!1),t(49,Ve=""),t(51,Oe="")}async function kl(){if(!(!Ve.trim()||!Oe.trim()||!R))try{const g=await oe("CreateAction",R.id,Re,Ve.trim(),Oe.trim());g&&g.id&&t(30,se=[...se,g]),t(48,Ye=!1),t(49,Ve=""),t(51,Oe="")}catch(g){t(24,G=String(g))}}async function mn(g){try{await oe("DeleteAction",g),t(30,se=se.filter(L=>L.id!==g))}catch(L){t(24,G=String(L))}}function hc(g){const L=Ae.find(le=>le.id===g);return L?L.label:g}async function dt(g){try{const L=await oe("GetNodeDetail",g);L&>(L)}catch(L){t(24,G=String(L))}}async function vt(g){const L=X1(g),le=L.nodeId;if(le)try{const me=await oe("GetNodeDetail",le);if(!me)return;if(gt(me),L.tab==="notes"){if(t(27,P="notes"),L.targetId){try{t(28,z=await oe("ListNotes",le)||[])}catch{}const xe=z.find(ct=>ct.id===L.targetId);xe&&setTimeout(()=>Nt(xe),100)}}else if(L.tab==="files")if(t(27,P="files"),L.targetId)try{const xe=await oe("GetNodeDetail",L.targetId);if(xe&&xe.parent_id){await tt(xe.parent_id);const ct=ae.find(bl=>bl.id===L.targetId);ct&&ct.type==="file"&&$r(ct)&&setTimeout(()=>Gt(ct),150)}else await tt(le)}catch{await tt(le)}else await tt(le)}catch(me){t(24,G=String(me))}}async function kt(g){return vt(g)}async function hl(){try{t(76,sl=await oe("SyncStatus"))}catch{t(76,sl={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let _n="general";function qt(g){t(78,_n=g||"general"),t(3,r=!0)}function bc(){t(3,r=!1)}async function yc(){t(77,il=!0);try{await oe("SyncNow"),await hl()}catch(g){console.error("sync error:",g)}t(77,il=!1)}function wc(g){t(1,i=!1),t(0,n=g),t(52,je=!1),window.location.reload()}function Cc(g){t(2,c=!1),t(0,n=g),t(52,je=!1),window.location.reload()}const Sc=g=>g.nodeId===R.id,jc=g=>Rl(g.id),Tc=()=>qt("sync"),Ec=()=>qt(),Nc=()=>qt(),Dc=()=>t(24,G=""),Ic=()=>t(24,G=""),Mc=()=>t(24,G="");function Ac(){U.content=this.value,t(29,U)}const Fc=g=>{t(27,P=g.id),g.id==="files"&&R&&ae.length===0&&!Ce&&tt(R.id)},Pc=()=>{t(27,P="notes"),nn()},Lc=()=>{t(27,P="files"),dn()},Rc=()=>t(27,P="worklog"),Oc=g=>Nt(g),zc=g=>Nt(g);function Vc(){Je=this.value,t(47,Je)}const Wc=g=>g.key==="Enter"&&on(),Bc=g=>Nt(g),Hc=g=>Nt(g),Uc=g=>{const L=g.detail;L===0?(t(59,be=[]),t(58,Ce=null),tt(R.id)):Vl(L-1)},Kc=g=>al(g.detail),Gc=g=>Gt(g.detail),Jc=g=>oe("OpenFile",g.detail),qc=g=>oe("OpenFolder",g.detail),Yc=g=>pn(g.detail),Qc=g=>Bl(g.detail.id),Xc=g=>Wl(g.detail),Zc=g=>Hl(g.detail),$c=g=>Ul(g.detail),xc=g=>Jl(g.detail),ea=g=>Gl(g.detail),ta=g=>ql(g.detail),la=g=>oe("OpenFile",g.detail),na=g=>oe("RunAction",g.id),oa=g=>mn(g.id),sa=g=>g.nodeId===R.id,ia=g=>pl(g),ca=(g,L,le)=>t(39,L[le]._expanded=!g._expanded,ve,t(26,R)),aa=(g,L,le,me)=>me.key==="Enter"&&t(39,L[le]._expanded=!g._expanded,ve,t(26,R)),ra=g=>vt(g),fa=g=>Et(g.nodeId),ua=g=>vt(g),da=g=>Et(g.nodeId),pa=g=>_l(g),ma=(g,L)=>L.key==="Enter"&&_l(g),_a=g=>kt(g),ga=(g,L)=>L.key==="Enter"&&kt(g);function va(){T=this.value,t(11,T)}function ka(){j=this.value,t(12,j)}const ha=()=>{t(19,V=""),t(17,I=""),un()};function ba(){V=this.value,t(19,V)}const ya=()=>setTimeout(()=>t(21,H=!1),200),wa=g=>fn(g);function Ca(){E=this.checked,t(13,E)}function Sa(){N=Zt(this),t(15,N)}function ja(){F=Zt(this),t(16,F)}const Ta=()=>Jt("csv"),Ea=()=>Jt("markdown"),Na=()=>Jt("pdf"),Da=g=>dt(g.nodeId),Ia=(g,L,le,me)=>t(39,L[le].suggestedMin=parseInt(me.target.value),ve),Ma=g=>an(g),Aa=(g,L,le)=>t(39,L[le]._expanded=!g._expanded,ve),Fa=(g,L,le,me)=>me.key==="Enter"&&t(39,L[le]._expanded=!g._expanded,ve),Pa=g=>vt(g),La=g=>Et(g.nodeId),Ra=g=>dt(g.nodeId),Oa=g=>ml(g),za=(g,L)=>L.key==="Enter"&&ml(g),Va=g=>vt(g),Wa=g=>dt(g.nodeId),Ba=(g,L,le,me)=>t(39,L[le].suggestedMin=parseInt(me.target.value),ve),Ha=g=>pl(g),Ua=(g,L,le)=>t(39,L[le]._expanded=!g._expanded,ve),Ka=(g,L,le,me)=>me.key==="Enter"&&t(39,L[le]._expanded=!g._expanded,ve),Ga=g=>vt(g),Ja=g=>Et(g.nodeId),qa=g=>dt(g.nodeId),Ya=(g,L)=>L.key==="Enter"&&dt(g.nodeId),Qa=g=>dt(g.nodeId),Xa=(g,L)=>L.key==="Enter"&&dt(g.nodeId),Za=g=>kt(g),$a=(g,L)=>L.key==="Enter"&&kt(g),xa=g=>kt(g),er=(g,L)=>L.key==="Enter"&&kt(g),tr=()=>t(44,Ne=null),lr=g=>t(44,Ne=g);function nr(){re=this.value,t(42,re)}const or=g=>g.key==="Enter"&&xl(),sr=g=>$l(g),ir=()=>ln(Ue.node),cr=()=>en(Ue.node),ar=()=>tn(Ue.node),rr=()=>Et(Ue.node);function fr(){ce=this.value,t(35,ce)}function ur(){$=this.value,t(33,$)}function dr(){te=tl(this.value),t(34,te)}function pr(){pe=this.value,t(36,pe)}function mr(){we=this.checked,t(37,we)}function _r(){He=this.checked,t(38,He)}function gr(){Ve=this.value,t(49,Ve)}const vr=g=>g.key==="Enter"&&kl();function kr(){Re=Zt(this),t(50,Re),t(79,Ae)}function hr(){Oe=this.value,t(51,Oe)}const br=g=>g.key==="Enter"&&kl(),yr=()=>vl("copy"),wr=()=>vl("link");function Cr(){St=this.value,t(74,St)}return[n,i,c,r,f,d,m,v,_,y,C,T,j,E,D,N,F,I,O,V,B,H,Y,J,G,W,R,P,z,U,se,de,ee,$,te,ce,pe,we,He,ve,Q,Z,re,ge,Ne,Ue,Me,Je,Ye,Ve,Re,Oe,je,ze,Fe,Ge,ke,Pe,Ce,be,ae,Te,ne,Ie,st,qe,Se,Ct,ol,Al,Fl,Pl,Ll,Ut,St,jt,sl,il,_n,Ae,Ai,Rl,gt,tt,al,zl,Vl,Gt,rl,Fi,Wl,Bl,Hl,Ul,Kl,Gl,Jl,ql,Vi,Wi,Bi,Xl,Ki,Gi,Ji,qi,$l,Yi,Qi,xl,Xi,Tt,Zi,$i,xi,ec,tc,en,tn,Et,ln,nn,lc,on,Nt,nc,oc,sc,ic,cc,ac,pl,an,Dt,Jt,ml,_l,fc,fn,un,uc,dn,dc,vl,pc,pn,_c,gc,vc,kc,kl,mn,hc,dt,vt,kt,hl,qt,bc,yc,wc,Cc,Sc,jc,Tc,Ec,Nc,Dc,Ic,Mc,Ac,Fc,Pc,Lc,Rc,Oc,zc,Vc,Wc,Bc,Hc,Uc,Kc,Gc,Jc,qc,Yc,Qc,Xc,Zc,$c,xc,ea,ta,la,na,oa,sa,ia,ca,aa,ra,fa,ua,da,pa,ma,_a,ga,va,ka,ha,ba,ya,wa,Ca,Sa,ja,Ta,Ea,Na,Da,Ia,Ma,Aa,Fa,Pa,La,Ra,Oa,za,Va,Wa,Ba,Ha,Ua,Ka,Ga,Ja,qa,Ya,Qa,Xa,Za,$a,xa,er,tr,lr,nr,or,sr,ir,cr,ar,rr,fr,ur,dr,pr,mr,_r,gr,vr,kr,hr,br,yr,wr,Cr]}class $1 extends $e{constructor(e){super(),Ze(this,e,Z1,Q1,Xe,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new $1({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-D_8wOpYY.js b/cmd/verstak-gui/frontend-dist/assets/main-D_8wOpYY.js deleted file mode 100644 index 5ee880e..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-D_8wOpYY.js +++ /dev/null @@ -1,3 +0,0 @@ -var sc=Object.defineProperty;var rc=(l,e,t)=>e in l?sc(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var kl=(l,e,t)=>rc(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=t(o);fetch(o.href,s)}})();function ue(){}function Uo(l){return l()}function fn(){return Object.create(null)}function he(l){l.forEach(Uo)}function Qt(l){return typeof l=="function"}function ht(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let el;function nl(l,e){return l===e?!0:(el||(el=document.createElement("a")),el.href=e,l===el.href)}function ac(l){return Object.keys(l).length===0}const Ko=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function C(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function Oe(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function El(l){return function(e){return e.preventDefault(),l.call(this,e)}}function Je(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function yt(l){return function(e){e.target===this&&l.call(this,e)}}function i(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function il(l){return l===""?null:+l}function cc(l){return Array.from(l.childNodes)}function V(l,e){e=""+e,l.data!==e&&(l.data=e)}function ke(l,e){l.value=e??""}function Ke(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function Bt(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const s=uc(e,t,{cancelable:n});return o.slice().forEach(r=>{r.call(l,s)}),!s.defaultPrevented}return!0}}function Jo(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const zt=[],dn=[];let Ht=[];const pn=[],fc=Promise.resolve();let Tl=!1;function dc(){Tl||(Tl=!0,fc.then(qo))}function Wt(l){Ht.push(l)}const Cl=new Set;let Rt=0;function qo(){if(Rt!==0)return;const l=Zt;do{try{for(;Rtl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Ht=e}const ll=new Set;let Dt;function et(){Dt={r:0,c:[],p:Dt}}function tt(){Dt.r||he(Dt.c),Dt=Dt.p}function de(l,e){l&&l.i&&(ll.delete(l),l.i(e))}function ye(l,e,t,n){if(l&&l.o){if(ll.has(l))return;ll.add(l),Dt.c.push(()=>{ll.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function ae(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Yo(l,e){ye(l,1,1,()=>{e.delete(l.key)})}function Xo(l,e,t,n,o,s,r,c,u,d,v,g){let m=l.length,b=s.length,y=m;const k={};for(;y--;)k[l[y].key]=y;const j=[],T=new Map,E=new Map,M=[];for(y=b;y--;){const S=g(o,s,y),O=t(S);let R=r.get(O);R?M.push(()=>R.p(S,e)):(R=d(O,S),R.c()),T.set(O,j[y]=R),O in k&&E.set(O,Math.abs(y-k[O]))}const I=new Set,N=new Set;function A(S){de(S,1),S.m(c,v),r.set(S.key,S),v=S.first,b--}for(;m&&b;){const S=j[b-1],O=l[m-1],R=S.key,B=O.key;S===O?(v=S.first,m--,b--):T.has(B)?!r.has(R)||I.has(R)?A(S):N.has(B)?m--:E.get(R)>E.get(B)?(N.add(R),A(S)):(I.add(B),m--):(u(O,r),m--)}for(;m--;){const S=l[m];T.has(S.key)||u(S,r)}for(;b;)A(j[b-1]);return he(M),j}function ut(l){l&&l.c()}function it(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),Wt(()=>{const s=l.$$.on_mount.map(Uo).filter(Qt);l.$$.on_destroy?l.$$.on_destroy.push(...s):he(s),l.$$.on_mount=[]}),o.forEach(Wt)}function ot(l,e){const t=l.$$;t.fragment!==null&&(mc(t.after_update),he(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function _c(l,e){l.$$.dirty[0]===-1&&(zt.push(l),dc(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const y=b.length?b[0]:m;return d.ctx&&o(d.ctx[g],d.ctx[g]=y)&&(!d.skip_bound&&d.bound[g]&&d.bound[g](y),v&&_c(l,g)),m}):[],d.update(),v=!0,he(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const g=cc(e.target);d.fragment&&d.fragment.l(g),g.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&de(l.$$.fragment),it(l,e.target,e.anchor),qo()}Xt(u)}class kt{constructor(){kl(this,"$$");kl(this,"$$set")}$destroy(){ot(this,1),this.$destroy=ue}$on(e,t){if(!Qt(t))return ue;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!ac(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const gc="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(gc);function vc(l){let e,t;return{c(){e=q("path"),t=q("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function hc(l){let e,t,n,o,s;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),s=q("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17"),i(s,"points","10 9 9 9 8 9")},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),C(r,o,c),C(r,s,c)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function yc(l){let e,t;return{c(){e=q("polyline"),t=q("polyline"),i(e,"points","16 18 22 12 16 6"),i(t,"points","8 6 2 12 8 18")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function bc(l){let e,t,n,o;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("rect"),i(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),i(t,"points","7 3 12 8 17 3"),i(n,"x1","3"),i(n,"y1","8"),i(n,"x2","21"),i(n,"y2","8"),i(o,"x","10"),i(o,"y","12"),i(o,"width","4"),i(o,"height","4"),i(o,"rx","1")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function kc(l){let e,t,n,o,s;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),s=q("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","9"),i(n,"y1","12"),i(n,"x2","15"),i(n,"y2","12"),i(o,"x1","9"),i(o,"y1","15"),i(o,"x2","13"),i(o,"y2","15"),i(s,"x1","12"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","18")},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),C(r,o,c),C(r,s,c)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function wc(l){let e,t,n,o,s,r;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),s=q("line"),r=q("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14"),i(r,"x1","12"),i(r,"y1","12"),i(r,"x2","12"),i(r,"y2","18")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),C(c,o,u),C(c,s,u),C(c,r,u)},d(c){c&&(w(e),w(t),w(n),w(o),w(s),w(r))}}}function Cc(l){let e,t,n,o;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function jc(l){let e,t,n,o,s;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),s=q("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14")},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),C(r,o,c),C(r,s,c)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function Tc(l){let e,t,n;return{c(){e=q("path"),t=q("circle"),n=q("circle"),i(e,"d","M9 18V5l12-2v13"),i(t,"cx","6"),i(t,"cy","18"),i(t,"r","3"),i(n,"cx","18"),i(n,"cy","16"),i(n,"r","3")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function Sc(l){let e,t;return{c(){e=q("rect"),t=q("polyline"),i(e,"x","2"),i(e,"y","4"),i(e,"width","20"),i(e,"height","16"),i(e,"rx","2"),i(t,"points","10 9 16 12 10 15 10 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function Nc(l){let e,t,n;return{c(){e=q("rect"),t=q("circle"),n=q("polyline"),i(e,"x","3"),i(e,"y","3"),i(e,"width","18"),i(e,"height","18"),i(e,"rx","2"),i(e,"ry","2"),i(t,"cx","8.5"),i(t,"cy","8.5"),i(t,"r","1.5"),i(n,"points","21 15 16 10 5 21")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function Ec(l){let e;return{c(){e=q("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ic(l){let e;function t(s,r){return s[0]==="folder"?Ec:s[0]==="image"?Nc:s[0]==="video"?Sc:s[0]==="audio"?Tc:s[0]==="pdf"?jc:s[0]==="document"?Cc:s[0]==="spreadsheet"?wc:s[0]==="presentation"?kc:s[0]==="archive"?bc:s[0]==="code"?yc:s[0]==="text"?hc:vc}let n=t(l),o=n(l);return{c(){e=q("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){C(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ue,o:ue,d(s){s&&w(e),o.d()}}}function Mc(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class Zo extends kt{constructor(e){super(),bt(this,e,Mc,Ic,ht,{kind:0,size:1})}}const Dc={"nav.today":"Сегодня","nav.inbox":"Неразобранное","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":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.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.autoSync":"Автосинхронизация (мин, 0 = отключено)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},Fc={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","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.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","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","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.caseCreated":"Case created","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","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","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","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","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","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","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","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"},mn={ru:Dc,en:Fc};let _n="ru";function _(l,e){var o;const t=mn[_n];let n=t==null?void 0:t[l];if(n==null&&_n!=="ru"&&(n=(o=mn.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[s,r]of Object.entries(e))n=n.replace(`{${s}}`,String(r));return n}function ol(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const Sl={"image/jpeg":_("mime.jpeg"),"image/png":_("mime.png"),"image/gif":_("mime.gif"),"image/webp":_("mime.webp"),"image/svg+xml":_("mime.svg"),"image/bmp":_("mime.bmp"),"image/tiff":_("mime.tiff"),"image/avif":_("mime.avif"),"application/pdf":_("mime.pdf"),"application/msword":_("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":_("mime.word"),"application/vnd.ms-excel":_("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":_("mime.excel"),"application/vnd.ms-powerpoint":_("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":_("mime.ppt"),"application/zip":_("mime.zip"),"application/gzip":_("mime.gzip"),"application/x-tar":_("mime.tar"),"application/x-7z-compressed":_("mime.sevenz"),"application/x-rar-compressed":_("mime.rar"),"text/plain":_("mime.text"),"text/html":_("mime.html"),"text/css":_("mime.css"),"text/javascript":_("mime.js"),"application/json":_("mime.json"),"application/xml":_("mime.xml"),"application/x-yaml":_("mime.yaml"),"application/octet-stream":_("mime.binary"),"application/x-msdos-program":_("mime.executable"),"inode/directory":_("mime.folder")};function gn(l){return l?Sl[l]||l:_("mime.unknown")}function Ac(l){if(l.type==="folder")return _("mime.folder");const e=(l.mime||"").toLowerCase();if(Sl[e])return Sl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():_("mime.file")}function Qo(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const xo=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],$o=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],es=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],ts=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function Lc(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(xo.includes(e)||ts.includes(n)||e.includes("pdf")||$o.includes(e)||es.includes(n))}function ls(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return xo.includes(e)||ts.includes(n)}function ns(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return $o.includes(e)||es.includes(n)&&n!=="md"&&n!=="markdown"}function is(l){return(l.mime||"").toLowerCase().includes("pdf")}function os(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function Pc(l){return ls(l)||is(l)}function Oc(l){return ns(l)||os(l)}const{window:Rc}=Ko;function zc(l){let e,t,n,o=ol(l[0].size)+"",s;return{c(){e=f("span"),e.textContent="·",t=h(),n=f("span"),s=L(o),i(e,"class","meta-sep svelte-1skuef2")},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),a(n,s)},p(r,c){c[0]&1&&o!==(o=ol(r[0].size)+"")&&V(s,o)},d(r){r&&(w(e),w(t),w(n))}}}function Bc(l){let e,t,n,o,s;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",_("file.openFolder")),i(e,"aria-label",_("file.openFolder")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",_("file.showInExplorer")),i(n,"aria-label",_("file.showInExplorer"))},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),o||(s=[D(e,"click",Je(l[30])),D(n,"click",Je(l[11]))],o=!0)},p:ue,d(r){r&&(w(e),w(t),w(n)),o=!1,he(s)}}}function Hc(l){let e,t,n,o,s,r,c;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',o=h(),s=f("button"),s.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",_("file.preview")),i(e,"aria-label",_("file.preview")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",_("file.openExternal")),i(n,"aria-label",_("file.openExternal")),i(s,"class","action-btn svelte-1skuef2"),i(s,"title",_("file.showInExplorer")),i(s,"aria-label",_("file.showInExplorer"))},m(u,d){C(u,e,d),C(u,t,d),C(u,n,d),C(u,o,d),C(u,s,d),r||(c=[D(e,"click",Je(l[29])),D(n,"click",Je(l[10])),D(s,"click",Je(l[11]))],r=!0)},p:ue,d(u){u&&(w(e),w(t),w(n),w(o),w(s)),r=!1,he(c)}}}function vn(l){let e,t,n,o,s,r,c,u,d=_("common.open")+"",v,g,m,b,y,k,j,T,E=_("file.openExternal")+"",M,I,N,A,S,O,R=_("file.showInExplorer")+"",B,P,H,U,K,X,Y,W,J,Q=_("common.rename")+"",z,le,ve,ie,te,x,ce,Te=_("common.duplicate")+"",Ee,Re,Ce,G,Z,oe,_e,je,qe,Le=_("common.cut")+"",$e,nt,ze,be,We,Me,Be,Ie=_("common.copy")+"",Fe,ge,pe,me,De,Ae,lt,Se,re,se=_("common.delete")+"",Ve,Ue,Ge;return{c(){e=f("div"),t=h(),n=f("div"),o=f("button"),s=q("svg"),r=q("path"),c=q("circle"),u=h(),v=L(d),g=h(),m=f("button"),b=q("svg"),y=q("path"),k=q("polyline"),j=q("line"),T=h(),M=L(E),I=h(),N=f("button"),A=q("svg"),S=q("path"),O=h(),B=L(R),P=h(),H=f("div"),U=h(),K=f("button"),X=q("svg"),Y=q("path"),W=q("path"),J=h(),z=L(Q),le=h(),ve=f("button"),ie=q("svg"),te=q("rect"),x=q("path"),ce=h(),Ee=L(Te),Re=h(),Ce=f("button"),G=q("svg"),Z=q("circle"),oe=q("circle"),_e=q("line"),je=q("line"),qe=h(),$e=L(Le),nt=h(),ze=f("button"),be=q("svg"),We=q("rect"),Me=q("path"),Be=h(),Fe=L(Ie),ge=h(),pe=f("div"),me=h(),De=f("button"),Ae=q("svg"),lt=q("polyline"),Se=q("path"),re=h(),Ve=L(se),i(e,"class","menu-backdrop svelte-1skuef2"),i(e,"role","presentation"),i(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),i(c,"cx","12"),i(c,"cy","12"),i(c,"r","3"),i(s,"width","14"),i(s,"height","14"),i(s,"viewBox","0 0 24 24"),i(s,"fill","none"),i(s,"stroke","currentColor"),i(s,"stroke-width","2"),i(s,"stroke-linecap","round"),i(s,"stroke-linejoin","round"),i(o,"class","menu-item svelte-1skuef2"),i(o,"role","menuitem"),i(y,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),i(k,"points","15 3 21 3 21 9"),i(j,"x1","10"),i(j,"y1","14"),i(j,"x2","21"),i(j,"y2","3"),i(b,"width","14"),i(b,"height","14"),i(b,"viewBox","0 0 24 24"),i(b,"fill","none"),i(b,"stroke","currentColor"),i(b,"stroke-width","2"),i(b,"stroke-linecap","round"),i(b,"stroke-linejoin","round"),i(m,"class","menu-item svelte-1skuef2"),i(m,"role","menuitem"),i(S,"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"),i(A,"width","14"),i(A,"height","14"),i(A,"viewBox","0 0 24 24"),i(A,"fill","none"),i(A,"stroke","currentColor"),i(A,"stroke-width","2"),i(A,"stroke-linecap","round"),i(A,"stroke-linejoin","round"),i(N,"class","menu-item svelte-1skuef2"),i(N,"role","menuitem"),i(H,"class","menu-sep svelte-1skuef2"),i(Y,"d","M12 20h9"),i(W,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(X,"width","14"),i(X,"height","14"),i(X,"viewBox","0 0 24 24"),i(X,"fill","none"),i(X,"stroke","currentColor"),i(X,"stroke-width","2"),i(X,"stroke-linecap","round"),i(X,"stroke-linejoin","round"),i(K,"class","menu-item svelte-1skuef2"),i(K,"role","menuitem"),i(te,"x","9"),i(te,"y","9"),i(te,"width","13"),i(te,"height","13"),i(te,"rx","2"),i(te,"ry","2"),i(x,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(ie,"width","14"),i(ie,"height","14"),i(ie,"viewBox","0 0 24 24"),i(ie,"fill","none"),i(ie,"stroke","currentColor"),i(ie,"stroke-width","2"),i(ie,"stroke-linecap","round"),i(ie,"stroke-linejoin","round"),i(ve,"class","menu-item svelte-1skuef2"),i(ve,"role","menuitem"),i(Z,"cx","6"),i(Z,"cy","6"),i(Z,"r","3"),i(oe,"cx","6"),i(oe,"cy","18"),i(oe,"r","3"),i(_e,"x1","20"),i(_e,"y1","4"),i(_e,"x2","8.12"),i(_e,"y2","15.88"),i(je,"x1","8.12"),i(je,"y1","8.12"),i(je,"x2","20"),i(je,"y2","20"),i(G,"width","14"),i(G,"height","14"),i(G,"viewBox","0 0 24 24"),i(G,"fill","none"),i(G,"stroke","currentColor"),i(G,"stroke-width","2"),i(G,"stroke-linecap","round"),i(G,"stroke-linejoin","round"),i(Ce,"class","menu-item svelte-1skuef2"),i(Ce,"role","menuitem"),i(We,"x","9"),i(We,"y","9"),i(We,"width","13"),i(We,"height","13"),i(We,"rx","2"),i(We,"ry","2"),i(Me,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(be,"width","14"),i(be,"height","14"),i(be,"viewBox","0 0 24 24"),i(be,"fill","none"),i(be,"stroke","currentColor"),i(be,"stroke-width","2"),i(be,"stroke-linecap","round"),i(be,"stroke-linejoin","round"),i(ze,"class","menu-item svelte-1skuef2"),i(ze,"role","menuitem"),i(pe,"class","menu-sep svelte-1skuef2"),i(lt,"points","3 6 5 6 21 6"),i(Se,"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"),i(Ae,"width","14"),i(Ae,"height","14"),i(Ae,"viewBox","0 0 24 24"),i(Ae,"fill","none"),i(Ae,"stroke","currentColor"),i(Ae,"stroke-width","2"),i(Ae,"stroke-linecap","round"),i(Ae,"stroke-linejoin","round"),i(De,"class","menu-item menu-item-danger svelte-1skuef2"),i(De,"role","menuitem"),i(n,"class","menu svelte-1skuef2"),Ke(n,"left",l[3]+"px"),Ke(n,"top",l[4]+"px"),Ke(n,"position","fixed"),i(n,"role","menu"),i(n,"tabindex","-1")},m(Pe,He){C(Pe,e,He),C(Pe,t,He),C(Pe,n,He),a(n,o),a(o,s),a(s,r),a(s,c),a(o,u),a(o,v),a(n,g),a(n,m),a(m,b),a(b,y),a(b,k),a(b,j),a(m,T),a(m,M),a(n,I),a(n,N),a(N,A),a(A,S),a(N,O),a(N,B),a(n,P),a(n,H),a(n,U),a(n,K),a(K,X),a(X,Y),a(X,W),a(K,J),a(K,z),a(n,le),a(n,ve),a(ve,ie),a(ie,te),a(ie,x),a(ve,ce),a(ve,Ee),a(n,Re),a(n,Ce),a(Ce,G),a(G,Z),a(G,oe),a(G,_e),a(G,je),a(Ce,qe),a(Ce,$e),a(n,nt),a(n,ze),a(ze,be),a(be,We),a(be,Me),a(ze,Be),a(ze,Fe),a(n,ge),a(n,pe),a(n,me),a(n,De),a(De,Ae),a(Ae,lt),a(Ae,Se),a(De,re),a(De,Ve),Ue||(Ge=[D(e,"click",Je(l[19])),D(o,"click",l[17]),D(m,"click",l[10]),D(N,"click",l[11]),D(K,"click",l[13]),D(ve,"click",l[14]),D(Ce,"click",l[15]),D(ze,"click",l[16]),D(De,"click",l[12]),D(n,"click",Je(l[28])),D(n,"keydown",l[31])],Ue=!0)},p(Pe,He){He[0]&8&&Ke(n,"left",Pe[3]+"px"),He[0]&16&&Ke(n,"top",Pe[4]+"px")},d(Pe){Pe&&(w(e),w(t),w(n)),Ue=!1,he(Ge)}}}function Wc(l){let e,t,n,o,s,r,c=l[0].name+"",u,d,v,g,m,b,y,k,j,T,E,M,I,N,A,S,O,R,B,P,H,U;n=new Zo({props:{kind:l[6],size:22}});let K=!l[7]&&zc(l);function X(Q,z){return Q[7]?Bc:Hc}let W=X(l)(l),J=l[2]&&vn(l);return{c(){e=f("div"),t=f("div"),ut(n.$$.fragment),o=h(),s=f("div"),r=f("div"),u=L(c),v=h(),g=f("div"),m=f("span"),m.textContent=`${l[8]}`,b=h(),K&&K.c(),y=h(),k=f("div"),W.c(),j=h(),T=f("button"),E=q("svg"),M=q("circle"),I=q("circle"),N=q("circle"),A=h(),S=f("button"),S.innerHTML='',R=h(),J&&J.c(),B=ct(),i(t,"class","file-row-icon svelte-1skuef2"),i(r,"class","file-row-name svelte-1skuef2"),i(r,"title",d=l[0].name),i(g,"class","file-row-meta svelte-1skuef2"),i(s,"class","file-row-body svelte-1skuef2"),i(M,"cx","12"),i(M,"cy","5"),i(M,"r","2"),i(I,"cx","12"),i(I,"cy","12"),i(I,"r","2"),i(N,"cx","12"),i(N,"cy","19"),i(N,"r","2"),i(E,"width","16"),i(E,"height","16"),i(E,"viewBox","0 0 24 24"),i(E,"fill","currentColor"),i(T,"class","action-btn svelte-1skuef2"),i(T,"title",_("file.more")),i(T,"aria-label",_("file.more")),i(T,"aria-expanded",l[2]),i(S,"class","action-btn action-btn-danger svelte-1skuef2"),i(S,"title",_("common.delete")),i(S,"aria-label",_("common.delete")),i(k,"class","file-row-actions svelte-1skuef2"),i(e,"class","file-row svelte-1skuef2"),i(e,"role","button"),i(e,"tabindex","0"),i(e,"draggable","true"),i(e,"aria-label",O=l[7]?_("file.ariaFolder")+" "+l[0].name:_("file.ariaFile")+" "+l[0].name),we(e,"file-row--selected",l[1])},m(Q,z){C(Q,e,z),a(e,t),it(n,t,null),a(e,o),a(e,s),a(s,r),a(r,u),a(s,v),a(s,g),a(g,m),a(g,b),K&&K.m(g,null),a(e,y),a(e,k),W.m(k,null),a(k,j),a(k,T),a(T,E),a(E,M),a(E,I),a(E,N),a(k,A),a(k,S),C(Q,R,z),J&&J.m(Q,z),C(Q,B,z),P=!0,H||(U=[D(Rc,"click",l[19]),D(T,"click",Je(l[18])),D(S,"click",Je(l[12])),D(e,"click",l[9]),D(e,"keydown",l[24]),D(e,"contextmenu",l[23]),D(e,"dragstart",l[20]),D(e,"dragover",l[21]),D(e,"drop",l[22])],H=!0)},p(Q,z){(!P||z[0]&1)&&c!==(c=Q[0].name+"")&&V(u,c),(!P||z[0]&1&&d!==(d=Q[0].name))&&i(r,"title",d),Q[7]||K.p(Q,z),W.p(Q,z),(!P||z[0]&4)&&i(T,"aria-expanded",Q[2]),(!P||z[0]&1&&O!==(O=Q[7]?_("file.ariaFolder")+" "+Q[0].name:_("file.ariaFile")+" "+Q[0].name))&&i(e,"aria-label",O),(!P||z[0]&2)&&we(e,"file-row--selected",Q[1]),Q[2]?J?J.p(Q,z):(J=vn(Q),J.c(),J.m(B.parentNode,B)):J&&(J.d(1),J=null)},i(Q){P||(de(n.$$.fragment,Q),P=!0)},o(Q){ye(n.$$.fragment,Q),P=!1},d(Q){Q&&(w(e),w(R),w(B)),ot(n),K&&K.d(),W.d(),J&&J.d(Q),H=!1,he(U)}}}function Vc(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:s}=e,{onDragOver:r}=e,{onDrop:c}=e;const u=sl(),d=Qo(n),v=n.type==="folder",g=Ac(n);let m=!1,b=0,y=0,k=null;function j(z){z.ctrlKey||z.metaKey?u("toggleSelect",n.id):z.shiftKey?u("rangeSelect",n.id):k?(clearTimeout(k),k=null,v?u("navigate",n.id):u("preview",n)):k=setTimeout(()=>{k=null,u("selectOne",n.id)},250)}function T(){u("openExternal",n.fileId)}function E(){t(2,m=!1),u("showInFolder",n.nodeId||n.id)}function M(){t(2,m=!1),u("delete",{id:n.id,type:n.type})}function I(){t(2,m=!1),u("rename",{id:n.id,name:n.name})}function N(){t(2,m=!1),u("duplicate",n.id)}function A(){t(2,m=!1),u("cut",n.id)}function S(){t(2,m=!1),u("copy",n.id)}function O(){t(2,m=!1),v?u("navigate",n.id):u("preview",n)}function R(){t(2,m=!m)}function B(){t(2,m=!1)}function P(z){s&&s(z,n.id)}function H(z){r&&v&&r(z,n.id)}function U(z){c&&v&&c(z,n.id)}function K(z){z.preventDefault(),t(3,b=Math.min(z.clientX,window.innerWidth-240)),t(4,y=Math.min(z.clientY,window.innerHeight-320)),t(2,m=!0)}function X(z){(z.key==="Enter"||z.key===" ")&&(z.preventDefault(),j(z))}function Y(z){Jo.call(this,l,z)}const W=()=>u("preview",n),J=()=>u("navigate",n.id),Q=z=>{z.key==="Escape"&&(z.stopPropagation(),B())};return l.$$set=z=>{"item"in z&&t(0,n=z.item),"selected"in z&&t(1,o=z.selected),"onDragStart"in z&&t(25,s=z.onDragStart),"onDragOver"in z&&t(26,r=z.onDragOver),"onDrop"in z&&t(27,c=z.onDrop)},[n,o,m,b,y,u,d,v,g,j,T,E,M,I,N,A,S,O,R,B,P,H,U,K,X,s,r,c,Y,W,J,Q]}class Uc extends kt{constructor(e){super(),bt(this,e,Vc,Wc,ht,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function hn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function Kc(l){let e;return{c(){e=f("span"),e.textContent="/",i(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Gc(l){let e,t=l[4].name+"",n,o,s;function r(){return l[2](l[6])}return{c(){e=f("button"),n=L(t),i(e,"class","crumb crumb--link svelte-csi2lb")},m(c,u){C(c,e,u),a(e,n),o||(s=D(e,"click",r),o=!0)},p(c,u){l=c,u&1&&t!==(t=l[4].name+"")&&V(n,t)},d(c){c&&w(e),o=!1,s()}}}function Jc(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=L(t),i(e,"class","crumb crumb--current svelte-csi2lb")},m(o,s){C(o,e,s),a(e,n)},p(o,s){s&1&&t!==(t=o[4].name+"")&&V(n,t)},d(o){o&&w(e)}}}function yn(l){let e,t,n=l[6]>0&&Kc();function o(c,u){return c[6]===c[0].length-1?Jc:Gc}let s=o(l),r=s(l);return{c(){n&&n.c(),e=h(),r.c(),t=ct()},m(c,u){n&&n.m(c,u),C(c,e,u),r.m(c,u),C(c,t,u)},p(c,u){s===(s=o(c))&&r?r.p(c,u):(r.d(1),r=s(c),r&&(r.c(),r.m(t.parentNode,t)))},d(c){c&&(w(e),w(t)),n&&n.d(c),r.d(c)}}}function qc(l){let e,t=ae(l[0]),n=[];for(let o=0;os(c);return l.$$set=c=>{"crumbs"in c&&t(0,n=c.crumbs)},[n,s,r]}class ss extends kt{constructor(e){super(),bt(this,e,Yc,qc,ht,{crumbs:0})}}function Xc(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("file.previewUnavailable")}`,n=h(),o=f("button"),o.textContent=`${_("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(c,u){C(c,e,u),a(e,t),a(e,n),a(e,o),s||(r=D(o,"click",l[9]),s=!0)},p:ue,d(c){c&&w(e),s=!1,r()}}}function Zc(l){let e,t;function n(r,c){return c&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?lu:tu}let o=n(l,-1),s=o(l);return{c(){s.c(),t=ct()},m(r,c){s.m(r,c),C(r,t,c)},p(r,c){o===(o=n(r,c))&&s?s.p(r,c):(s.d(1),s=o(r),s&&(s.c(),s.m(t.parentNode,t)))},d(r){r&&w(t),s.d(r)}}}function Qc(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=L(l[1]),i(e,"class","preview-text svelte-1cw3u0m")},m(o,s){C(o,e,s),a(e,t),a(t,n)},p(o,s){s&2&&V(n,o[1])},d(o){o&&w(e)}}}function xc(l){let e,t,n,o;return{c(){e=f("div"),t=f("img"),nl(t.src,n=l[1])||i(t,"src",n),i(t,"alt",o=l[0].name),i(t,"class","preview-image svelte-1cw3u0m"),i(e,"class","preview-image-container svelte-1cw3u0m")},m(s,r){C(s,e,r),a(e,t)},p(s,r){r&2&&!nl(t.src,n=s[1])&&i(t,"src",n),r&1&&o!==(o=s[0].name)&&i(t,"alt",o)},d(s){s&&w(e)}}}function $c(l){let e,t,n,o,s,r,c;return{c(){e=f("div"),t=f("p"),n=L(l[3]),o=h(),s=f("button"),s.textContent=`${_("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(u,d){C(u,e,d),a(e,t),a(t,n),a(e,o),a(e,s),r||(c=D(s,"click",l[9]),r=!0)},p(u,d){d&8&&V(n,u[3])},d(u){u&&w(e),r=!1,c()}}}function eu(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("common.loading")}`,i(e,"class","preview-status svelte-1cw3u0m")},m(n,o){C(n,e,o),a(e,t)},p:ue,d(n){n&&w(e)}}}function tu(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("file.pdfUnavailable")}`,n=h(),o=f("button"),o.textContent=`${_("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(c,u){C(c,e,u),a(e,t),a(e,n),a(e,o),s||(r=D(o,"click",l[9]),s=!0)},p:ue,d(c){c&&w(e),s=!1,r()}}}function lu(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),nl(t.src,n=l[1])||i(t,"src",n),i(t,"type","application/pdf"),i(t,"class","preview-pdf svelte-1cw3u0m"),i(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,s){C(o,e,s),a(e,t)},p(o,s){s&2&&!nl(t.src,n=o[1])&&i(t,"src",n)},d(o){o&&w(e)}}}function nu(l){let e,t,n,o,s,r,c,u=l[0].name+"",d,v,g,m,b=ol(l[0].size)+"",y,k,j=gn(l[0].mime)+"",T,E,M,I,N,A,S,O,R,B,P;s=new Zo({props:{kind:l[8],size:18}});function H(X,Y){return X[2]?eu:X[3]?$c:X[6]&&X[1]?xc:X[5]&&X[1]?Qc:X[4]?Zc:Xc}let U=H(l),K=U(l);return{c(){e=f("div"),t=f("div"),n=f("header"),o=f("div"),ut(s.$$.fragment),r=h(),c=f("span"),d=L(u),g=h(),m=f("div"),y=L(b),k=L(" · "),T=L(j),E=h(),M=f("div"),I=f("button"),I.innerHTML='',N=h(),A=f("button"),A.innerHTML='',S=h(),O=f("div"),K.c(),i(c,"class","preview-name svelte-1cw3u0m"),i(c,"title",v=l[0].name),i(o,"class","preview-title svelte-1cw3u0m"),i(m,"class","preview-meta svelte-1cw3u0m"),i(I,"class","action-btn svelte-1cw3u0m"),i(I,"title",_("file.openExternal")),i(I,"aria-label",_("file.openExternal")),i(A,"class","action-btn action-btn-close svelte-1cw3u0m"),i(A,"title","Close"),i(A,"aria-label","Close preview"),i(M,"class","preview-actions svelte-1cw3u0m"),i(n,"class","preview-header svelte-1cw3u0m"),i(O,"class","preview-body svelte-1cw3u0m"),i(t,"class","modal svelte-1cw3u0m"),i(e,"class","overlay svelte-1cw3u0m"),i(e,"role","presentation")},m(X,Y){C(X,e,Y),a(e,t),a(t,n),a(n,o),it(s,o,null),a(o,r),a(o,c),a(c,d),a(n,g),a(n,m),a(m,y),a(m,k),a(m,T),a(n,E),a(n,M),a(M,I),a(M,N),a(M,A),a(t,S),a(t,O),K.m(O,null),R=!0,B||(P=[D(I,"click",l[9]),D(A,"click",l[10]),D(e,"click",yt(l[11])),D(e,"keydown",l[12])],B=!0)},p(X,[Y]){(!R||Y&1)&&u!==(u=X[0].name+"")&&V(d,u),(!R||Y&1&&v!==(v=X[0].name))&&i(c,"title",v),(!R||Y&1)&&b!==(b=ol(X[0].size)+"")&&V(y,b),(!R||Y&1)&&j!==(j=gn(X[0].mime)+"")&&V(T,j),U===(U=H(X))&&K?K.p(X,Y):(K.d(1),K=U(X),K&&(K.c(),K.m(O,null)))},i(X){R||(de(s.$$.fragment,X),R=!0)},o(X){ye(s.$$.fragment,X),R=!1},d(X){X&&w(e),ot(s),K.d(),B=!1,he(P)}}}function iu(l,e,t){let n,o,s,{item:r}=e,{content:c=""}=e,{loading:u=!1}=e,{error:d=""}=e;const v=sl(),g=Qo(r);function m(T){T.key==="Escape"&&v("close")}function b(){v("openExternal",r.fileId)}Go(()=>{window.addEventListener("keydown",m)}),Ml(()=>{window.removeEventListener("keydown",m)});const y=()=>v("close"),k=()=>v("close"),j=T=>{T.key==="Escape"&&(T.preventDefault(),v("close"))};return l.$$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,d=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=ls(r)&&c&&c.startsWith("data:")),l.$$.dirty&1&&t(5,o=ns(r)||os(r)),l.$$.dirty&1&&t(4,s=is(r))},[r,c,u,d,s,o,n,v,g,b,y,k,j]}class ou extends kt{constructor(e){super(),bt(this,e,iu,nu,ht,{item:0,content:1,loading:2,error:3})}}function su(l){let e,t,n,o,s,r,c,u,d,v,g,m,b,y,k,j,T;return{c(){e=f("div"),t=f("div"),n=f("h3"),o=L(l[0]),s=h(),r=f("p"),c=L(l[1]),u=h(),d=f("div"),v=f("button"),g=L(l[2]),b=h(),y=f("button"),k=L(l[3]),i(n,"class","svelte-1fv6yyk"),i(r,"class","message svelte-1fv6yyk"),i(v,"class",m="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),i(y,"class","btn svelte-1fv6yyk"),i(d,"class","actions svelte-1fv6yyk"),i(t,"class","modal svelte-1fv6yyk"),i(e,"class","overlay svelte-1fv6yyk"),i(e,"role","presentation")},m(E,M){C(E,e,M),a(e,t),a(t,n),a(n,o),a(t,s),a(t,r),a(r,c),a(t,u),a(t,d),a(d,v),a(v,g),a(d,b),a(d,y),a(y,k),j||(T=[D(v,"click",l[6]),D(y,"click",l[7]),D(e,"click",yt(l[8])),D(e,"keydown",l[9])],j=!0)},p(E,[M]){M&1&&V(o,E[0]),M&2&&V(c,E[1]),M&4&&V(g,E[2]),M&16&&m!==(m="btn "+(E[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&i(v,"class",m),M&8&&V(k,E[3])},i:ue,o:ue,d(E){E&&w(e),j=!1,he(T)}}}function ru(l,e,t){let{title:n=_("common.confirm")}=e,{message:o=""}=e,{confirmText:s=_("common.delete")}=e,{cancelText:r=_("common.cancel")}=e,{danger:c=!1}=e;const u=sl(),d=()=>u("confirm"),v=()=>u("cancel"),g=()=>u("cancel"),m=b=>{b.key==="Escape"&&(b.preventDefault(),u("cancel"))};return l.$$set=b=>{"title"in b&&t(0,n=b.title),"message"in b&&t(1,o=b.message),"confirmText"in b&&t(2,s=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,c=b.danger)},[n,o,s,r,c,u,d,v,g,m]}class au extends kt{constructor(e){super(),bt(this,e,ru,su,ht,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function cu(l){let e,t,n;return{c(){e=q("circle"),t=q("line"),n=q("line"),i(e,"cx","12"),i(e,"cy","12"),i(e,"r","10"),i(t,"x1","12"),i(t,"y1","16"),i(t,"x2","12"),i(t,"y2","12"),i(n,"x1","12"),i(n,"y1","8"),i(n,"x2","12.01"),i(n,"y2","8")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function uu(l){let e,t,n,o;return{c(){e=q("rect"),t=q("polyline"),n=q("line"),o=q("line"),i(e,"x","3"),i(e,"y","5"),i(e,"width","18"),i(e,"height","14"),i(e,"rx","2"),i(t,"points","3 10 21 10"),i(n,"x1","8"),i(n,"y1","5"),i(n,"x2","8"),i(n,"y2","19"),i(o,"x1","16"),i(o,"y1","5"),i(o,"x2","16"),i(o,"y2","19")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function fu(l){let e,t;return{c(){e=q("path"),t=q("polyline"),i(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),i(t,"points","13 2 13 9 20 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function du(l){let e,t;return{c(){e=q("path"),t=q("path"),i(e,"d","M12 20h9"),i(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function pu(l){let e,t,n,o,s;return{c(){e=q("path"),t=q("path"),n=q("line"),o=q("line"),s=q("line"),i(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),i(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"),i(n,"x1","8"),i(n,"y1","7"),i(n,"x2","16"),i(n,"y2","7"),i(o,"x1","8"),i(o,"y1","11"),i(o,"x2","14"),i(o,"y2","11"),i(s,"x1","8"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","15")},m(r,c){C(r,e,c),C(r,t,c),C(r,n,c),C(r,o,c),C(r,s,c)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function mu(l){let e,t,n,o;return{c(){e=q("path"),t=q("polyline"),n=q("line"),o=q("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function _u(l){let e,t;return{c(){e=q("path"),t=q("circle"),i(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),i(t,"cx","12"),i(t,"cy","7"),i(t,"r","4")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function gu(l){let e,t,n,o;return{c(){e=q("rect"),t=q("rect"),n=q("rect"),o=q("rect"),i(e,"x","3"),i(e,"y","3"),i(e,"width","7"),i(e,"height","7"),i(e,"rx","1"),i(t,"x","14"),i(t,"y","3"),i(t,"width","7"),i(t,"height","4"),i(t,"rx","1"),i(n,"x","14"),i(n,"y","10"),i(n,"width","7"),i(n,"height","11"),i(n,"rx","1"),i(o,"x","3"),i(o,"y","14"),i(o,"width","7"),i(o,"height","7"),i(o,"rx","1")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function vu(l){let e;return{c(){e=q("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function hu(l){let e;function t(s,r){return s[0]==="folder"?vu:s[0]==="project"?gu:s[0]==="client"?_u:s[0]==="document"?mu:s[0]==="recipe"?pu:s[0]==="note"?du:s[0]==="file"?fu:s[0]==="case"?uu:cu}let n=t(l),o=n(l);return{c(){e=q("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){C(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ue,o:ue,d(s){s&&w(e),o.d()}}}function yu(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class rl extends kt{constructor(e){super(),bt(this,e,yu,hu,ht,{kind:0,size:1})}}function bn(l,e,t){const n=l.slice();return n[44]=e[t],n}function bu(l){let e;return{c(){e=f("span"),i(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function ku(l){let e,t,n=l[1][l[44].id]?"▾":"▸",o,s,r;function c(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),o=L(n),i(t,"class","tree-arrow"),i(e,"class","tree-toggle svelte-zj71cl")},m(u,d){C(u,e,d),a(e,t),a(t,o),s||(r=D(e,"click",Je(c)),s=!0)},p(u,d){l=u,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&V(o,n)},d(u){u&&w(e),s=!1,r()}}}function kn(l){let e,t;return e=new rs({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p(n,o){const s={};o[0]&1&&(s.nodes=n[44].children||[]),o[0]&2&&(s.expanded=n[1]),o[0]&4&&(s.selectedNodeId=n[2]),o[0]&8&&(s.level=n[3]+1),o[0]&16&&(s.onSelect=n[4]),o[0]&32&&(s.onToggle=n[5]),o[0]&64&&(s.onContextMenu=n[6]),o[0]&128&&(s.onDrop=n[7]),e.$set(s)},i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function wn(l,e){let t,n,o,s,r,c,u,d=e[44].title+"",v,g,m=e[1][e[44].id]&&Nl(e[44]),b,y,k,j;function T(W,J){return J[0]&1&&(n=null),n==null&&(n=!!qt(W[44])),n?ku:bu}let E=T(e,[-1,-1]),M=E(e);r=new rl({props:{kind:Cn(e[44]),size:16}});function I(...W){return e[26](e[44],...W)}function N(...W){return e[27](e[44],...W)}function A(){return e[28](e[44])}function S(...W){return e[29](e[44],...W)}function O(...W){return e[30](e[44],...W)}function R(...W){return e[31](e[44],...W)}function B(...W){return e[32](e[44],...W)}function P(...W){return e[33](e[44],...W)}function H(...W){return e[34](e[44],...W)}function U(...W){return e[35](e[44],...W)}function K(...W){return e[36](e[44],...W)}function X(...W){return e[37](e[44],...W)}let Y=m&&kn(e);return{key:l,first:null,c(){t=f("div"),M.c(),o=h(),s=f("span"),ut(r.$$.fragment),c=h(),u=f("span"),v=L(d),g=h(),Y&&Y.c(),b=ct(),i(s,"class","tree-icon svelte-zj71cl"),i(s,"role","button"),i(s,"tabindex","-1"),i(u,"class","tree-label svelte-zj71cl"),i(u,"role","button"),i(u,"tabindex","-1"),i(t,"class","tree-item svelte-zj71cl"),Ke(t,"padding-left",e[3]*16+4+"px"),i(t,"draggable","true"),i(t,"role","button"),i(t,"tabindex","0"),we(t,"selected",e[2]===e[44].id),we(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),we(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(W,J){C(W,t,J),M.m(t,null),a(t,o),a(t,s),it(r,s,null),a(t,c),a(t,u),a(u,v),C(W,g,J),Y&&Y.m(W,J),C(W,b,J),y=!0,k||(j=[D(s,"click",I),D(s,"keydown",N),D(s,"dblclick",Je(e[24])),D(u,"click",Je(A)),D(u,"keydown",S),D(t,"dragstart",O),D(t,"dragover",R),D(t,"dragleave",B),D(t,"drop",P),D(t,"click",H),D(t,"keydown",U),D(t,"dblclick",K),D(t,"contextmenu",El(X))],k=!0)},p(W,J){e=W,E===(E=T(e,J))&&M?M.p(e,J):(M.d(1),M=E(e),M&&(M.c(),M.m(t,o)));const Q={};J[0]&1&&(Q.kind=Cn(e[44])),r.$set(Q),(!y||J[0]&1)&&d!==(d=e[44].title+"")&&V(v,d),(!y||J[0]&8)&&Ke(t,"padding-left",e[3]*16+4+"px"),(!y||J[0]&5)&&we(t,"selected",e[2]===e[44].id),(!y||J[0]&769)&&we(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!y||J[0]&769)&&we(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),J[0]&3&&(m=e[1][e[44].id]&&Nl(e[44])),m?Y?(Y.p(e,J),J[0]&3&&de(Y,1)):(Y=kn(e),Y.c(),de(Y,1),Y.m(b.parentNode,b)):Y&&(et(),ye(Y,1,1,()=>{Y=null}),tt())},i(W){y||(de(r.$$.fragment,W),de(Y),y=!0)},o(W){ye(r.$$.fragment,W),ye(Y),y=!1},d(W){W&&(w(t),w(g),w(b)),M.d(),ot(r),Y&&Y.d(W),k=!1,he(j)}}}function wu(l){let e=[],t=new Map,n,o,s,r,c=ae(l[0]);const u=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function jn(l){const e={};function t(n,o){for(const s of n)e[s.id]=o,s.children&&t(s.children,s.id)}return t(l,""),e}function Tn(l){const e=[];function t(n){for(const o of n)e.push(o),o.children&&t(o.children)}return t(l),e}function Cu(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function ju(l,e,t){let n,o,s,{nodes:r=[]}=e,{expanded:c={}}=e,{selectedNodeId:u=""}=e,{level:d=0}=e,{onSelect:v=void 0}=e,{onToggle:g=void 0}=e,{onContextMenu:m=void 0}=e,{onDrop:b=void 0}=e,y={},k=null,j="",T="";const E=["folder","project","client","document","recipe","case"];Ml(()=>{for(const G of Object.keys(y))clearTimeout(y[G]);k&&clearInterval(k)});function M(G){return E.includes(G.type)}function I(G,Z,oe){if(!G||!Z||Z===G.id||!M(G))return!1;let _e=G.id;for(;_e;){if(_e===Z)return!1;_e=oe[_e]||""}return!0}function N(G,Z){G.stopPropagation(),G.dataTransfer.effectAllowed="move",G.dataTransfer.setData("text/plain",Z.id),t(21,j=Z.id)}function A(G,Z){G.preventDefault(),G.stopPropagation(),G.dataTransfer.dropEffect="move",T!==Z.id&&t(8,T=Z.id),qt(Z)&&!c[Z.id]&&!y[Z.id]&&(y[Z.id]=setTimeout(()=>{g&&g(Z.id),delete y[Z.id]},600));const oe=G.currentTarget.closest(".workspace-tree-area");if(oe){const _e=oe.getBoundingClientRect(),je=30;G.clientY-_e.top{oe.scrollTop-=10},50)):_e.bottom-G.clientY{oe.scrollTop+=10},50)):k&&(clearInterval(k),k=null)}}function S(G,Z){const oe=G.relatedTarget;oe&&G.currentTarget.contains(oe)||(T===Z.id&&t(8,T=""),y[Z.id]&&(clearTimeout(y[Z.id]),delete y[Z.id]),k&&(clearInterval(k),k=null))}function O(G,Z){G.preventDefault(),G.stopPropagation(),y[Z.id]&&(clearTimeout(y[Z.id]),delete y[Z.id]),k&&(clearInterval(k),k=null);const oe=Tn(r),_e=jn(oe),je=Cu(G);if(!I(Z,je,_e)){t(8,T=""),t(21,j="");return}b&&b(je,Z.id),t(8,T=""),t(21,j="")}function R(){t(8,T=""),t(21,j="");for(const G of Object.keys(y))clearTimeout(y[G]),delete y[G];k&&(clearInterval(k),k=null)}function B(G,Z){G.target.closest(".tree-toggle")||G.target.closest(".tree-icon")||v&&v(Z)}function P(G,Z){qt(Z)&&g&&g(Z.id)}function H(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),v&&v(Z))}function U(G,Z){G.stopPropagation(),qt(Z)&&g&&g(Z.id)}function K(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),G.stopPropagation(),qt(Z)&&g&&g(Z.id))}function X(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),v&&v(Z))}function Y(G,Z,oe){const _e={};function je(qe){for(const Le of qe)_e[Le.id]=I(Le,Z,oe),Le.children&&je(Le.children)}return je(G),_e}function W(G){Jo.call(this,l,G)}const J=G=>g&&g(G.id),Q=(G,Z)=>U(Z,G),z=(G,Z)=>K(Z,G),le=G=>v&&v(G),ve=(G,Z)=>X(Z,G),ie=(G,Z)=>N(Z,G),te=(G,Z)=>A(Z,G),x=(G,Z)=>S(Z,G),ce=(G,Z)=>O(Z,G),Te=(G,Z)=>B(Z,G),Ee=(G,Z)=>H(Z,G),Re=(G,Z)=>P(Z,G),Ce=(G,Z)=>m&&m(Z,G);return l.$$set=G=>{"nodes"in G&&t(0,r=G.nodes),"expanded"in G&&t(1,c=G.expanded),"selectedNodeId"in G&&t(2,u=G.selectedNodeId),"level"in G&&t(3,d=G.level),"onSelect"in G&&t(4,v=G.onSelect),"onToggle"in G&&t(5,g=G.onToggle),"onContextMenu"in G&&t(6,m=G.onContextMenu),"onDrop"in G&&t(7,b=G.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=Tn(r)),l.$$.dirty[0]&8388608&&t(22,o=jn(n)),l.$$.dirty[0]&14680064&&t(9,s=Y(n,j,o))},[r,c,u,d,v,g,m,b,T,s,N,A,S,O,R,B,P,H,U,K,X,j,o,n,W,J,Q,z,le,ve,ie,te,x,ce,Te,Ee,Re,Ce]}class rs extends kt{constructor(e){super(),bt(this,e,ju,wu,ht,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}const{Boolean:as}=Ko;function Sn(l,e,t){const n=l.slice();return n[310]=e[t],n}function Nn(l,e,t){const n=l.slice();return n[313]=e[t],n}function En(l,e,t){const n=l.slice();return n[313]=e[t],n}function In(l,e,t){const n=l.slice();return n[334]=e[t],n}function Mn(l,e,t){const n=l.slice();return n[334]=e[t],n}function Dn(l,e,t){const n=l.slice();return n[365]=e[t],n}function Fn(l,e,t){const n=l.slice();return n[334]=e[t],n}function An(l,e,t){const n=l.slice();return n[337]=e[t],n[370]=e,n[371]=t,n}function Ln(l,e,t){const n=l.slice();return n[334]=e[t],n}function Pn(l,e,t){const n=l.slice();return n[347]=e[t],n}function On(l,e,t){const n=l.slice();return n[334]=e[t],n}function Rn(l,e,t){const n=l.slice();return n[352]=e[t],n}function zn(l,e,t){const n=l.slice();return n[352]=e[t],n}function Bn(l,e,t){const n=l.slice();return n[337]=e[t],n[357]=e,n[358]=t,n}function Hn(l,e,t){const n=l.slice();return n[334]=e[t],n}function Wn(l,e,t){const n=l.slice();return n[347]=e[t],n}function Vn(l,e,t){const n=l.slice();return n[334]=e[t],n}function Un(l,e,t){const n=l.slice();return n[318]=e[t],n}function Kn(l,e,t){const n=l.slice();return n[334]=e[t],n}function Gn(l,e,t){const n=l.slice();return n[337]=e[t],n[338]=e,n[339]=t,n}function Jn(l,e,t){const n=l.slice();return n[334]=e[t],n}function qn(l,e,t){const n=l.slice();return n[329]=e[t],n}function Yn(l,e,t){const n=l.slice();return n[326]=e[t],n}function Xn(l,e,t){const n=l.slice();return n[321]=e[t],n}function Zn(l,e,t){const n=l.slice();return n[318]=e[t],n}function Qn(l,e,t){const n=l.slice();return n[321]=e[t],n}function xn(l,e,t){const n=l.slice();return n[344]=e[t],n}function $n(l,e,t){const n=l.slice();return n[376]=e[t],n}function ei(l,e,t){const n=l.slice();return n[379]=e[t],n}function ti(l){let e,t;return{c(){e=f("span"),t=L(l[36]),i(e,"class","nav-badge svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},p(n,o){o[1]&32&&V(t,n[36])},d(n){n&&w(e)}}}function li(l){let e,t=l[379].label+"",n,o,s,r,c,u,d=l[379].id==="journal"&&l[36]>0&&ti(l);function v(){return l[165](l[379])}return{c(){e=f("button"),n=L(t),o=h(),d&&d.c(),s=h(),i(e,"class",r="nav-item "+(l[21]===l[379].id?"selected":"")+" svelte-1ufgyr8")},m(g,m){C(g,e,m),a(e,n),a(e,o),d&&d.m(e,null),a(e,s),c||(u=D(e,"click",v),c=!0)},p(g,m){l=g,m[0]&1&&t!==(t=l[379].label+"")&&V(n,t),l[379].id==="journal"&&l[36]>0?d?d.p(l,m):(d=ti(l),d.c(),d.m(e,s)):d&&(d.d(1),d=null),m[0]&2097153&&r!==(r="nav-item "+(l[21]===l[379].id?"selected":"")+" svelte-1ufgyr8")&&i(e,"class",r)},d(g){g&&w(e),d&&d.d(),c=!1,u()}}}function Tu(l){let e;return{c(){e=f("div"),e.textContent=`${_("nav.noNodes")}`,i(e,"class","nav-empty svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,i:ue,o:ue,d(t){t&&w(e)}}}function Su(l){var r;let e,t,n,o,s;return t=new rs({props:{nodes:l[1],expanded:l[52],selectedNodeId:((r=l[22])==null?void 0:r.id)||"",onSelect:l[83],onToggle:l[113],onContextMenu:l[111],onDrop:l[114]}}),{c(){e=f("div"),ut(t.$$.fragment),i(e,"class","workspace-tree-area svelte-1ufgyr8"),i(e,"role","region"),i(e,"aria-label",_("nav.workspace")),we(e,"drop-valid",l[63])},m(c,u){C(c,e,u),it(t,e,null),n=!0,o||(s=[D(e,"dragover",El(l[116])),D(e,"dragleave",l[117]),D(e,"drop",l[115])],o=!0)},p(c,u){var v;const d={};u[0]&2&&(d.nodes=c[1]),u[1]&2097152&&(d.expanded=c[52]),u[0]&4194304&&(d.selectedNodeId=((v=c[22])==null?void 0:v.id)||""),t.$set(d),(!n||u[2]&2)&&we(e,"drop-valid",c[63])},i(c){n||(de(t.$$.fragment,c),n=!0)},o(c){ye(t.$$.fragment,c),n=!1},d(c){c&&w(e),ot(t),o=!1,he(s)}}}function Nu(l){let e;return{c(){e=f("span"),e.textContent=`${_("nav.selectPrompt")}`,i(e,"class","crumb placeholder svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Eu(l){let e,t=ae(l[0]),n=[];for(let o=0;o0&&oi(l);return{c(){e=f("button"),t=q("svg"),n=q("polyline"),o=q("polyline"),s=q("path"),r=h(),d&&d.c(),i(n,"points","23 4 23 10 17 10"),i(n,"class","svelte-1ufgyr8"),i(o,"points","1 20 1 14 7 14"),i(o,"class","svelte-1ufgyr8"),i(s,"d","M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"),i(s,"class","svelte-1ufgyr8"),i(t,"width","16"),i(t,"height","16"),i(t,"viewBox","0 0 24 24"),i(t,"fill","none"),i(t,"stroke","currentColor"),i(t,"stroke-width","2"),i(t,"stroke-linecap","round"),i(t,"stroke-linejoin","round"),i(t,"class","svelte-1ufgyr8"),i(e,"class","header-sync-btn svelte-1ufgyr8"),e.disabled=l[74],i(e,"title",_("nav.syncNow"))},m(v,g){C(v,e,g),a(e,t),a(t,n),a(t,o),a(t,s),a(e,r),d&&d.m(e,null),c||(u=D(e,"click",l[163]),c=!0)},p(v,g){v[73].unpushedOps>0?d?d.p(v,g):(d=oi(v),d.c(),d.m(e,null)):d&&(d.d(1),d=null),g[2]&4096&&(e.disabled=v[74])},d(v){v&&w(e),d&&d.d(),c=!1,u()}}}function oi(l){let e,t=l[73].unpushedOps+"",n;return{c(){e=f("span"),n=L(t),i(e,"class","sync-badge svelte-1ufgyr8")},m(o,s){C(o,e,s),a(e,n)},p(o,s){s[2]&2048&&t!==(t=o[73].unpushedOps+"")&&V(n,t)},d(o){o&&w(e)}}}function si(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=L(l[20]),n=h(),o=f("button"),o.innerHTML='',i(o,"class","dismiss-btn svelte-1ufgyr8"),i(o,"aria-label","Dismiss"),i(e,"class","error-banner svelte-1ufgyr8"),i(e,"role","button"),i(e,"tabindex","0")},m(c,u){C(c,e,u),a(e,t),a(e,n),a(e,o),s||(r=[D(o,"click",Je(l[166])),D(e,"click",l[167]),D(e,"keydown",function(){Qt(at(l[168]))&&at(l[168]).apply(this,arguments)})],s=!0)},p(c,u){l=c,u[0]&1048576&&V(t,l[20])},d(c){c&&w(e),s=!1,he(r)}}}function Mu(l){let e,t,n;function o(c,u){if(c[48])return zu;if(c[0].length>0)return Ru;if(c[20])return Ou}let s=o(l),r=s&&s(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${_("welcome.title")}`,n=h(),r&&r.c(),i(t,"class","svelte-1ufgyr8"),i(e,"class","welcome svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,t),a(e,n),r&&r.m(e,null)},p(c,u){s===(s=o(c))&&r?r.p(c,u):(r&&r.d(1),r=s&&s(c),r&&(r.c(),r.m(e,null)))},i:ue,o:ue,d(c){c&&w(e),r&&r.d()}}}function Du(l){let e,t,n,o;function s(u,d){return u[4].length===0?Hu:Bu}let r=s(l),c=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${_("activity.title")}`,o=h(),c.c(),i(n,"class","svelte-1ufgyr8"),i(t,"class","activity-feed-header svelte-1ufgyr8"),i(e,"class","activity-feed svelte-1ufgyr8")},m(u,d){C(u,e,d),a(e,t),a(t,n),a(e,o),c.m(e,null)},p(u,d){r===(r=s(u))&&c?c.p(u,d):(c.d(1),c=r(u),c&&(c.c(),c.m(e,null)))},i:ue,o:ue,d(u){u&&w(e),c.d()}}}function Fu(l){let e,t,n,o,s,r=l[3].date+"",c,u,d,v,g=l[3].summary&&ci(l),m=l[35].length>0&&pi(l);function b(j,T){return j[3].groups&&j[3].groups.length>0?Vu:Wu}let y=b(l),k=y(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${_("today.title")}`,o=h(),s=f("span"),c=L(r),u=h(),g&&g.c(),d=h(),m&&m.c(),v=h(),k.c(),i(n,"class","svelte-1ufgyr8"),i(s,"class","today-date svelte-1ufgyr8"),i(t,"class","today-header svelte-1ufgyr8"),i(e,"class","today-dashboard svelte-1ufgyr8")},m(j,T){C(j,e,T),a(e,t),a(t,n),a(t,o),a(t,s),a(s,c),a(e,u),g&&g.m(e,null),a(e,d),m&&m.m(e,null),a(e,v),k.m(e,null)},p(j,T){T[0]&8&&r!==(r=j[3].date+"")&&V(c,r),j[3].summary?g?g.p(j,T):(g=ci(j),g.c(),g.m(e,d)):g&&(g.d(1),g=null),j[35].length>0?m?m.p(j,T):(m=pi(j),m.c(),m.m(e,v)):m&&(m.d(1),m=null),y===(y=b(j))&&k?k.p(j,T):(k.d(1),k=y(j),k&&(k.c(),k.m(e,null)))},i:ue,o:ue,d(j){j&&w(e),g&&g.d(),m&&m.d(),k.d()}}}function Au(l){let e,t,n,o,s,r,c,u,d,v,g,m,b,y,k,j,T,E,M,I,N,A,S,O,R,B,P,H,U,K,X,Y,W,J,Q,z,le,ve,ie,te,x,ce,Te,Ee,Re,Ce,G,Z,oe,_e,je,qe,Le,$e,nt,ze,be,We,Me;function Be(re,se){return re[13]?Ju:Gu}let Ie=Be(l),Fe=Ie(l),ge=l[10]&&Si(l),pe=l[14]&&Ni(l),me=l[35].length>0&&Ei(l),De=l[6]&&Ai(l);function Ae(re,se){return re[5].length===0?Yu:qu}let lt=Ae(l),Se=lt(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${_("journal.title")}`,o=h(),s=f("div"),r=f("div"),r.textContent=`${_("journal.filterHeading")}`,c=h(),u=f("div"),d=f("label"),v=f("span"),v.textContent=`${_("journal.dateFrom")}`,g=h(),m=f("input"),b=h(),y=f("label"),k=f("span"),k.textContent=`${_("journal.dateTo")}`,j=h(),T=f("input"),E=h(),M=f("label"),I=f("span"),I.textContent=`${_("journal.node")}`,N=h(),A=f("div"),Fe.c(),S=h(),ge&&ge.c(),O=h(),R=f("label"),B=f("span"),B.textContent=`${_("journal.billable")}`,P=h(),H=f("select"),U=f("option"),U.textContent=`${_("common.all")}`,K=f("option"),K.textContent=`${_("journal.billableYes")}`,X=f("option"),X.textContent=`${_("journal.billableNo")}`,Y=h(),W=f("label"),J=f("span"),J.textContent=`${_("journal.approx")}`,Q=h(),z=f("select"),le=f("option"),le.textContent=`${_("common.all")}`,ve=f("option"),ve.textContent=`${_("journal.approxExact")}`,ie=f("option"),ie.textContent=`${_("journal.approxEstimated")}`,te=h(),x=f("button"),x.textContent=`${_("journal.filter")}`,ce=h(),Te=f("button"),Te.textContent=`${_("journal.reset")}`,Ee=h(),Re=f("div"),Ce=f("div"),Ce.textContent=`${_("journal.exportHeading")}`,G=h(),Z=f("div"),oe=f("button"),oe.textContent=`${_("journal.exportCSV")}`,_e=h(),je=f("button"),je.textContent=`${_("journal.exportMarkdown")}`,qe=h(),Le=f("button"),Le.textContent="PDF",$e=h(),pe&&pe.c(),nt=h(),me&&me.c(),ze=h(),De&&De.c(),be=h(),Se.c(),i(n,"class","svelte-1ufgyr8"),i(r,"class","journal-filter-heading svelte-1ufgyr8"),i(v,"class","label-text svelte-1ufgyr8"),i(m,"type","date"),i(m,"class","svelte-1ufgyr8"),i(d,"class","svelte-1ufgyr8"),i(k,"class","label-text svelte-1ufgyr8"),i(T,"type","date"),i(T,"class","svelte-1ufgyr8"),i(y,"class","svelte-1ufgyr8"),i(I,"class","label-text svelte-1ufgyr8"),i(A,"class","journal-node-picker svelte-1ufgyr8"),Ke(A,"position","relative"),i(M,"class","svelte-1ufgyr8"),i(B,"class","label-text svelte-1ufgyr8"),U.__value="all",ke(U,U.__value),i(U,"class","svelte-1ufgyr8"),K.__value="yes",ke(K,K.__value),i(K,"class","svelte-1ufgyr8"),X.__value="no",ke(X,X.__value),i(X,"class","svelte-1ufgyr8"),i(H,"class","svelte-1ufgyr8"),l[11]===void 0&&Wt(()=>l[215].call(H)),i(R,"title",_("journal.billableHint")),i(R,"class","svelte-1ufgyr8"),i(J,"class","label-text svelte-1ufgyr8"),le.__value="all",ke(le,le.__value),i(le,"class","svelte-1ufgyr8"),ve.__value="no",ke(ve,ve.__value),i(ve,"class","svelte-1ufgyr8"),ie.__value="yes",ke(ie,ie.__value),i(ie,"class","svelte-1ufgyr8"),i(z,"class","svelte-1ufgyr8"),l[12]===void 0&&Wt(()=>l[216].call(z)),i(W,"title",_("journal.approxHint")),i(W,"class","svelte-1ufgyr8"),i(x,"class","btn btn-sm svelte-1ufgyr8"),i(Te,"class","btn btn-sm svelte-1ufgyr8"),i(u,"class","journal-filters-row svelte-1ufgyr8"),i(s,"class","journal-filter-section svelte-1ufgyr8"),i(Ce,"class","journal-export-heading svelte-1ufgyr8"),i(oe,"class","btn btn-sm svelte-1ufgyr8"),i(je,"class","btn btn-sm svelte-1ufgyr8"),i(Le,"class","btn btn-sm svelte-1ufgyr8"),i(Z,"class","journal-export-row svelte-1ufgyr8"),i(Re,"class","journal-export-section svelte-1ufgyr8"),i(t,"class","journal-header svelte-1ufgyr8"),i(e,"class","journal-screen svelte-1ufgyr8")},m(re,se){C(re,e,se),a(e,t),a(t,n),a(t,o),a(t,s),a(s,r),a(s,c),a(s,u),a(u,d),a(d,v),a(d,g),a(d,m),ke(m,l[7]),a(u,b),a(u,y),a(y,k),a(y,j),a(y,T),ke(T,l[8]),a(u,E),a(u,M),a(M,I),a(M,N),a(M,A),Fe.m(A,null),a(u,S),ge&&ge.m(u,null),a(u,O),a(u,R),a(R,B),a(R,P),a(R,H),a(H,U),a(H,K),a(H,X),Bt(H,l[11],!0),a(u,Y),a(u,W),a(W,J),a(W,Q),a(W,z),a(z,le),a(z,ve),a(z,ie),Bt(z,l[12],!0),a(u,te),a(u,x),a(u,ce),a(u,Te),a(t,Ee),a(t,Re),a(Re,Ce),a(Re,G),a(Re,Z),a(Z,oe),a(Z,_e),a(Z,je),a(Z,qe),a(Z,Le),a(Z,$e),pe&&pe.m(Z,null),a(e,nt),me&&me.m(e,null),a(e,ze),De&&De.m(e,null),a(e,be),Se.m(e,null),We||(Me=[D(m,"input",l[208]),D(T,"input",l[209]),D(H,"change",l[215]),D(z,"change",l[216]),D(x,"click",l[134]),D(Te,"click",l[141]),D(oe,"click",l[217]),D(je,"click",l[218]),D(Le,"click",l[219])],We=!0)},p(re,se){se[0]&128&&ke(m,re[7]),se[0]&256&&ke(T,re[8]),Ie===(Ie=Be(re))&&Fe?Fe.p(re,se):(Fe.d(1),Fe=Ie(re),Fe&&(Fe.c(),Fe.m(A,null))),re[10]?ge?ge.p(re,se):(ge=Si(re),ge.c(),ge.m(u,O)):ge&&(ge.d(1),ge=null),se[0]&2048&&Bt(H,re[11]),se[0]&4096&&Bt(z,re[12]),re[14]?pe?pe.p(re,se):(pe=Ni(re),pe.c(),pe.m(Z,null)):pe&&(pe.d(1),pe=null),re[35].length>0?me?me.p(re,se):(me=Ei(re),me.c(),me.m(e,ze)):me&&(me.d(1),me=null),re[6]?De?De.p(re,se):(De=Ai(re),De.c(),De.m(e,be)):De&&(De.d(1),De=null),lt===(lt=Ae(re))&&Se?Se.p(re,se):(Se.d(1),Se=lt(re),Se&&(Se.c(),Se.m(e,null)))},i:ue,o:ue,d(re){re&&w(e),Fe.d(),ge&&ge.d(),pe&&pe.d(),me&&me.d(),De&&De.d(),Se.d(),We=!1,he(Me)}}}function Lu(l){let e,t,n,o,s,r,c=ae(l[81]),u=[];for(let m=0;m{v[y]=null}),tt()),~o?(s=v[o],s?s.p(m,b):(s=v[o]=d[o](m),s.c()),de(s,1),s.m(n,null)):s=null)},i(m){r||(de(s),r=!0)},o(m){ye(s),r=!1},d(m){m&&(w(e),w(t),w(n)),Oe(u,m),~o&&v[o].d()}}}function Pu(l){let e,t,n,o=l[25].title+"",s,r,c,u,d,v,g,m,b,y,k,j=l[25].dirty&&yo();return{c(){e=f("div"),t=f("div"),n=f("span"),s=L(o),r=h(),j&&j.c(),c=h(),u=f("div"),d=f("button"),d.textContent=`${_("common.save")}`,v=h(),g=f("button"),g.textContent=`${_("common.close")}`,m=h(),b=f("textarea"),i(n,"class","note-title svelte-1ufgyr8"),i(d,"class","btn btn-primary svelte-1ufgyr8"),i(g,"class","btn svelte-1ufgyr8"),i(u,"class","note-editor-actions svelte-1ufgyr8"),i(t,"class","note-editor-header svelte-1ufgyr8"),i(b,"class","note-textarea svelte-1ufgyr8"),i(b,"placeholder",_("note.placeholder")),i(e,"class","note-editor svelte-1ufgyr8")},m(T,E){C(T,e,E),a(e,t),a(t,n),a(n,s),a(t,r),j&&j.m(t,null),a(t,c),a(t,u),a(u,d),a(u,v),a(u,g),a(e,m),a(e,b),ke(b,l[25].content),y||(k=[D(d,"click",l[128]),D(g,"click",l[126]),D(b,"input",l[169]),D(b,"input",l[127])],y=!0)},p(T,E){E[0]&33554432&&o!==(o=T[25].title+"")&&V(s,o),T[25].dirty?j||(j=yo(),j.c(),j.m(t,c)):j&&(j.d(1),j=null),E[0]&33554432&&ke(b,T[25].content)},i:ue,o:ue,d(T){T&&w(e),j&&j.d(),y=!1,he(k)}}}function Ou(l){let e,t=_("common.error")+"",n,o,s;return{c(){e=f("p"),n=L(t),o=h(),s=L(l[20]),i(e,"class","error-text svelte-1ufgyr8")},m(r,c){C(r,e,c),a(e,n),a(e,o),a(e,s)},p(r,c){c[0]&1048576&&V(s,r[20])},d(r){r&&w(e)}}}function Ru(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${_("welcome.selectSection")}`,t=h(),n=f("p"),n.textContent=`${_("welcome.createCase")}`,i(e,"class","svelte-1ufgyr8"),i(n,"class","hint svelte-1ufgyr8")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},p:ue,d(o){o&&(w(e),w(t),w(n))}}}function zu(l){let e;return{c(){e=f("p"),e.textContent=`${_("common.loading")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Bu(l){let e,t=ae(l[4]),n=[];for(let o=0;o0&&ui(l),s=l[3].summary.notes>0&&fi(l),r=l[3].summary.files>0&&di(l);return{c(){e=f("div"),o&&o.c(),t=h(),s&&s.c(),n=h(),r&&r.c(),i(e,"class","today-summary svelte-1ufgyr8")},m(c,u){C(c,e,u),o&&o.m(e,null),a(e,t),s&&s.m(e,null),a(e,n),r&&r.m(e,null)},p(c,u){c[3].summary.changedCases>0?o?o.p(c,u):(o=ui(c),o.c(),o.m(e,t)):o&&(o.d(1),o=null),c[3].summary.notes>0?s?s.p(c,u):(s=fi(c),s.c(),s.m(e,n)):s&&(s.d(1),s=null),c[3].summary.files>0?r?r.p(c,u):(r=di(c),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(c){c&&w(e),o&&o.d(),s&&s.d(),r&&r.d()}}}function ui(l){let e,t=l[3].summary.changedCases+"",n,o,s=vt(l[3].summary.changedCases,_("today.plural.case_one"),_("today.plural.case_few"),_("today.plural.case_many"))+"",r;return{c(){e=f("span"),n=L(t),o=h(),r=L(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,n),a(e,o),a(e,r)},p(c,u){u[0]&8&&t!==(t=c[3].summary.changedCases+"")&&V(n,t),u[0]&8&&s!==(s=vt(c[3].summary.changedCases,_("today.plural.case_one"),_("today.plural.case_few"),_("today.plural.case_many"))+"")&&V(r,s)},d(c){c&&w(e)}}}function fi(l){let e,t=l[3].summary.notes+"",n,o,s=vt(l[3].summary.notes,_("today.plural.note_one"),_("today.plural.note_few"),_("today.plural.note_many"))+"",r;return{c(){e=f("span"),n=L(t),o=h(),r=L(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,n),a(e,o),a(e,r)},p(c,u){u[0]&8&&t!==(t=c[3].summary.notes+"")&&V(n,t),u[0]&8&&s!==(s=vt(c[3].summary.notes,_("today.plural.note_one"),_("today.plural.note_few"),_("today.plural.note_many"))+"")&&V(r,s)},d(c){c&&w(e)}}}function di(l){let e,t=l[3].summary.files+"",n,o,s=vt(l[3].summary.files,_("today.plural.file_one"),_("today.plural.file_few"),_("today.plural.file_many"))+"",r;return{c(){e=f("span"),n=L(t),o=h(),r=L(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,n),a(e,o),a(e,r)},p(c,u){u[0]&8&&t!==(t=c[3].summary.files+"")&&V(n,t),u[0]&8&&s!==(s=vt(c[3].summary.files,_("today.plural.file_one"),_("today.plural.file_few"),_("today.plural.file_many"))+"")&&V(r,s)},d(c){c&&w(e)}}}function pi(l){let e,t,n,o=ae(l[35]),s=[];for(let r=0;r0&&mi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=L(s),c=h(),u=f("span"),v=L(d),g=h(),m=f("span"),y=L(b),k=h(),j=f("div"),T=f("input"),M=h(),I=f("span"),I.textContent=`${_("suggest.minutes")}`,N=h(),A=f("button"),A.textContent=`${_("suggest.apply")}`,S=h(),Y&&Y.c(),O=h(),i(o,"class","suggestion-node link-btn svelte-1ufgyr8"),i(u,"class","suggestion-summary svelte-1ufgyr8"),i(m,"class","suggestion-confidence svelte-1ufgyr8"),we(m,"low",l[337].confidence==="low"),we(m,"medium",l[337].confidence==="medium"),we(m,"high",l[337].confidence==="high"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-1ufgyr8"),T.value=E=l[337].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(I,"class","suggestion-min-label svelte-1ufgyr8"),i(A,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(j,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[337]._expanded)},m(W,J){C(W,e,J),a(e,t),a(t,n),a(n,o),a(o,r),a(n,c),a(n,u),a(u,v),a(n,g),a(n,m),a(m,y),a(t,k),a(t,j),a(j,T),a(j,M),a(j,I),a(j,N),a(j,A),a(e,S),Y&&Y.m(e,null),a(e,O),R||(B=[D(o,"click",Je(P)),D(T,"change",Je(H)),D(A,"click",Je(U)),D(t,"click",K),D(t,"keydown",X)],R=!0)},p(W,J){l=W,J[1]&16&&s!==(s=l[337].nodeTitle+"")&&V(r,s),J[1]&16&&d!==(d=l[337].summary+"")&&V(v,d),J[1]&16&&b!==(b=_("suggest.confidence."+l[337].confidence)+"")&&V(y,b),J[1]&16&&we(m,"low",l[337].confidence==="low"),J[1]&16&&we(m,"medium",l[337].confidence==="medium"),J[1]&16&&we(m,"high",l[337].confidence==="high"),J[1]&16&&E!==(E=l[337].suggestedMin)&&T.value!==E&&(T.value=E),l[337]._expanded&&l[337].events&&l[337].events.length>0?Y?Y.p(l,J):(Y=mi(l),Y.c(),Y.m(e,O)):Y&&(Y.d(1),Y=null),J[1]&16&&we(e,"expanded",l[337]._expanded)},d(W){W&&w(e),Y&&Y.d(),R=!1,he(B)}}}function Wu(l){let e,t,n,o;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("today.empty")}`,n=h(),o=f("p"),o.textContent=`${_("today.emptyHint")}`,i(t,"class","svelte-1ufgyr8"),i(o,"class","hint svelte-1ufgyr8"),i(e,"class","today-empty svelte-1ufgyr8")},m(s,r){C(s,e,r),a(e,t),a(e,n),a(e,o)},p:ue,d(s){s&&w(e)}}}function Vu(l){let e,t,n=ae(l[3].groups),o=[];for(let r=0;r0&&wi(l);return{c(){for(let r=0;r0?s?s.p(r,c):(s=wi(r),s.c(),s.m(t.parentNode,t)):s&&(s.d(1),s=null)},d(r){r&&(w(e),w(t)),Oe(o,r),s&&s.d(r)}}}function hi(l){let e,t=l[365].events.length+"",n,o,s=vt(l[365].events.length,_("today.plural.event_one"),_("today.plural.event_few"),_("today.plural.event_many"))+"",r;return{c(){e=f("span"),n=L(t),o=h(),r=L(s),i(e,"class","today-case-count svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,n),a(e,o),a(e,r)},p(c,u){u[0]&8&&t!==(t=c[365].events.length+"")&&V(n,t),u[0]&8&&s!==(s=vt(c[365].events.length,_("today.plural.event_one"),_("today.plural.event_few"),_("today.plural.event_many"))+"")&&V(r,s)},d(c){c&&w(e)}}}function Uu(l){let e;return{c(){e=f("div"),e.textContent=`${_("today.changedCases")}`,i(e,"class","today-events-empty svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Ku(l){let e,t=ae(l[365].events),n=[];for(let o=0;o0?Ku:Uu}let A=N(l),S=A(l);return{c(){e=f("div"),t=f("div"),n=f("span"),s=L(o),r=h(),c=f("span"),d=L(u),v=h(),E&&E.c(),g=h(),m=f("span"),y=L(b),k=h(),S.c(),i(n,"class","today-case-title svelte-1ufgyr8"),i(c,"class","today-case-type svelte-1ufgyr8"),i(m,"class","today-case-time svelte-1ufgyr8"),i(t,"class","today-case-header svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","today-case svelte-1ufgyr8")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,s),a(t,r),a(t,c),a(c,d),a(t,v),E&&E.m(t,null),a(t,g),a(t,m),a(m,y),a(e,k),S.m(e,null),j||(T=[D(t,"click",M),D(t,"keydown",I)],j=!0)},p(O,R){l=O,R[0]&8&&o!==(o=l[365].nodeTitle+"")&&V(s,o),R[0]&8&&u!==(u=l[148](l[365].nodeKind)+"")&&V(d,u),l[365].events?E?E.p(l,R):(E=hi(l),E.c(),E.m(t,g)):E&&(E.d(1),E=null),R[0]&8&&b!==(b=Xe(l[365].lastActivityAt)+"")&&V(y,b),A===(A=N(l))&&S?S.p(l,R):(S.d(1),S=A(l),S&&(S.c(),S.m(e,null)))},d(O){O&&w(e),E&&E.d(),S.d(),j=!1,he(T)}}}function wi(l){let e,t,n,o=ae(l[3].events),s=[];for(let r=0;r0&&Ii(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=L(s),c=h(),u=f("span"),v=L(d),g=h(),m=f("span"),y=L(b),k=h(),j=f("div"),T=f("input"),M=h(),I=f("span"),I.textContent=`${_("suggest.minutes")}`,N=h(),A=f("button"),A.textContent=`${_("suggest.apply")}`,S=h(),Y&&Y.c(),O=h(),i(o,"class","suggestion-node link-btn svelte-1ufgyr8"),i(u,"class","suggestion-summary svelte-1ufgyr8"),i(m,"class","suggestion-confidence svelte-1ufgyr8"),we(m,"low",l[337].confidence==="low"),we(m,"medium",l[337].confidence==="medium"),we(m,"high",l[337].confidence==="high"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-1ufgyr8"),T.value=E=l[337].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(I,"class","suggestion-min-label svelte-1ufgyr8"),i(A,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(j,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[337]._expanded)},m(W,J){C(W,e,J),a(e,t),a(t,n),a(n,o),a(o,r),a(n,c),a(n,u),a(u,v),a(n,g),a(n,m),a(m,y),a(t,k),a(t,j),a(j,T),a(j,M),a(j,I),a(j,N),a(j,A),a(e,S),Y&&Y.m(e,null),a(e,O),R||(B=[D(o,"click",Je(P)),D(T,"change",Je(H)),D(A,"click",Je(U)),D(t,"click",K),D(t,"keydown",X)],R=!0)},p(W,J){l=W,J[1]&16&&s!==(s=l[337].nodeTitle+"")&&V(r,s),J[1]&16&&d!==(d=l[337].summary+"")&&V(v,d),J[1]&16&&b!==(b=_("suggest.confidence."+l[337].confidence)+"")&&V(y,b),J[1]&16&&we(m,"low",l[337].confidence==="low"),J[1]&16&&we(m,"medium",l[337].confidence==="medium"),J[1]&16&&we(m,"high",l[337].confidence==="high"),J[1]&16&&E!==(E=l[337].suggestedMin)&&T.value!==E&&(T.value=E),l[337]._expanded&&l[337].events&&l[337].events.length>0?Y?Y.p(l,J):(Y=Ii(l),Y.c(),Y.m(e,O)):Y&&(Y.d(1),Y=null),J[1]&16&&we(e,"expanded",l[337]._expanded)},d(W){W&&w(e),Y&&Y.d(),R=!1,he(B)}}}function Ai(l){let e,t,n=_("journal.total")+"",o,s,r=Math.floor(l[6].totalMinutes/60)+"",c,u,d=l[6].totalMinutes%60+"",v,g,m=l[6].totalEntries+"",b,y,k=_("worklog.min")+"",j,T,E,M,I=l[6].byDay&&l[6].byDay.length>0&&Li(l),N=l[6].byNode&&l[6].byNode.length>0&&Oi(l);return{c(){e=f("div"),t=f("div"),o=L(n),s=L(": "),c=L(r),u=L("ч "),v=L(d),g=L("м ("),b=L(m),y=h(),j=L(k),T=L(")"),E=h(),I&&I.c(),M=h(),N&&N.c(),i(t,"class","summary-total svelte-1ufgyr8"),i(e,"class","journal-summary svelte-1ufgyr8")},m(A,S){C(A,e,S),a(e,t),a(t,o),a(t,s),a(t,c),a(t,u),a(t,v),a(t,g),a(t,b),a(t,y),a(t,j),a(t,T),a(e,E),I&&I.m(e,null),a(e,M),N&&N.m(e,null)},p(A,S){S[0]&64&&r!==(r=Math.floor(A[6].totalMinutes/60)+"")&&V(c,r),S[0]&64&&d!==(d=A[6].totalMinutes%60+"")&&V(v,d),S[0]&64&&m!==(m=A[6].totalEntries+"")&&V(b,m),A[6].byDay&&A[6].byDay.length>0?I?I.p(A,S):(I=Li(A),I.c(),I.m(e,M)):I&&(I.d(1),I=null),A[6].byNode&&A[6].byNode.length>0?N?N.p(A,S):(N=Oi(A),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(A){A&&w(e),I&&I.d(),N&&N.d()}}}function Li(l){let e,t,n,o=ae(l[6].byDay),s=[];for(let r=0;r0?$u:k[347].source==="suggestion"?xu:k[347].source==="unknown"||k[347].source==="imported"?Qu:k[347]._hasEvents?Zu:Xu}let m=g(l),b=m(l),y=l[347]._events&&Vi(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),v&&v.c(),o=h(),s=f("div"),r=f("span"),r.textContent=`${_("worklog.source")}`,c=h(),b.c(),u=h(),y&&y.c(),d=h(),i(r,"class","journal-detail-label svelte-1ufgyr8"),i(s,"class","journal-detail-section svelte-1ufgyr8"),i(n,"class","journal-detail-body svelte-1ufgyr8"),i(t,"colspan","8"),i(t,"class","svelte-1ufgyr8"),i(e,"class","journal-row-detail svelte-1ufgyr8")},m(k,j){C(k,e,j),a(e,t),a(t,n),v&&v.m(n,null),a(n,o),a(n,s),a(s,r),a(s,c),b.m(s,null),a(n,u),y&&y.m(n,null),a(e,d)},p(k,j){k[347].details?v?v.p(k,j):(v=Wi(k),v.c(),v.m(n,o)):v&&(v.d(1),v=null),m!==(m=g(k))&&(b.d(1),b=m(k),b&&(b.c(),b.m(s,null))),k[347]._events?y?y.p(k,j):(y=Vi(k),y.c(),y.m(n,null)):y&&(y.d(1),y=null)},d(k){k&&w(e),v&&v.d(),b.d(),y&&y.d()}}}function Wi(l){let e,t,n,o,s=l[347].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${_("worklog.details")}`,n=h(),o=f("p"),r=L(s),i(t,"class","journal-detail-label svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(e,"class","journal-detail-section svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,t),a(e,n),a(e,o),a(o,r)},p(c,u){u[0]&32&&s!==(s=c[347].details+"")&&V(r,s)},d(c){c&&w(e)}}}function Xu(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Zu(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Qu(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function xu(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function $u(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function ef(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceManual")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Vi(l){let e,t,n,o=ae(l[347]._events),s=[];for(let r=0;r0,r,c,u,d=s&&Yi(l);function v(b,y){return b[27].length===0?ff:uf}let g=v(l),m=g(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${_("worklog.addEntry")}`,o=h(),d&&d.c(),r=h(),m.c(),i(n,"class","btn btn-primary btn-sm svelte-1ufgyr8"),i(t,"class","worklog-toolbar svelte-1ufgyr8"),i(e,"class","worklog-tab svelte-1ufgyr8")},m(b,y){C(b,e,y),a(e,t),a(t,n),a(e,o),d&&d.m(e,null),a(e,r),m.m(e,null),c||(u=D(n,"click",l[129]),c=!0)},p(b,y){y[0]&4194304|y[1]&16&&(s=b[22]&&b[35].filter(b[164]).length>0),s?d?d.p(b,y):(d=Yi(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),g===(g=v(b))&&m?m.p(b,y):(m.d(1),m=g(b),m&&(m.c(),m.m(e,null)))},i:ue,o:ue,d(b){b&&w(e),d&&d.d(),m.d(),c=!1,u()}}}function nf(l){let e,t,n,o,s,r;function c(v,g){return v[26].length===0?hf:vf}let u=c(l),d=u(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${_("action.addAction")}`,o=h(),d.c(),i(n,"class","btn btn-primary svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","actions-tab svelte-1ufgyr8")},m(v,g){C(v,e,g),a(e,t),a(t,n),a(e,o),d.m(e,null),s||(r=D(n,"click",l[149]),s=!0)},p(v,g){u===(u=c(v))&&d?d.p(v,g):(d.d(1),d=u(v),d&&(d.c(),d.m(e,null)))},i:ue,o:ue,d(v){v&&w(e),d.d(),s=!1,r()}}}function of(l){let e,t,n,o=_("file.addFile")+"",s,r,c,u=_("file.addFolder")+"",d,v,g,m,b,y,k,j,T,E,M,I,N,A=l[61].items.length>0&&ao(l);const S=[bf,yf],O=[];function R(H,U){return H[53]?0:1}y=R(l),k=O[y]=S[y](l);let B=l[49]&&!l[51]&&uo(),P=l[57]&&fo(l);return{c(){e=f("div"),t=f("div"),n=f("button"),s=L(o),r=h(),c=f("button"),d=L(u),v=h(),g=f("button"),g.textContent=`${_("file.newFile")}`,m=h(),A&&A.c(),b=h(),k.c(),j=h(),B&&B.c(),T=h(),P&&P.c(),E=ct(),i(n,"class","btn btn-primary svelte-1ufgyr8"),n.disabled=l[49],i(c,"class","btn svelte-1ufgyr8"),c.disabled=l[49],i(g,"class","btn svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","files-tab svelte-1ufgyr8")},m(H,U){C(H,e,U),a(e,t),a(t,n),a(n,s),a(t,r),a(t,c),a(c,d),a(t,v),a(t,g),a(t,m),A&&A.m(t,null),a(e,b),O[y].m(e,null),a(e,j),B&&B.m(e,null),C(H,T,U),P&&P.m(H,U),C(H,E,U),M=!0,I||(N=[D(n,"click",l[142]),D(c,"click",l[143]),D(g,"click",l[90])],I=!0)},p(H,U){(!M||U[1]&262144)&&(n.disabled=H[49]),(!M||U[1]&262144)&&(c.disabled=H[49]),H[61].items.length>0?A?A.p(H,U):(A=ao(H),A.c(),A.m(t,null)):A&&(A.d(1),A=null);let K=y;y=R(H),y===K?O[y].p(H,U):(et(),ye(O[K],1,1,()=>{O[K]=null}),tt(),k=O[y],k?k.p(H,U):(k=O[y]=S[y](H),k.c()),de(k,1),k.m(e,j)),H[49]&&!H[51]?B||(B=uo(),B.c(),B.m(e,null)):B&&(B.d(1),B=null),H[57]?P?(P.p(H,U),U[1]&67108864&&de(P,1)):(P=fo(H),P.c(),de(P,1),P.m(E.parentNode,E)):P&&(et(),ye(P,1,1,()=>{P=null}),tt())},i(H){M||(de(k),de(P),M=!0)},o(H){ye(k),ye(P),M=!1},d(H){H&&(w(e),w(T),w(E)),A&&A.d(),O[y].d(),B&&B.d(),P&&P.d(H),I=!1,he(N)}}}function sf(l){let e,t,n,o,s,r,c,u=l[42]&&po(l);function d(m,b){return m[24].length===0&&!m[42]?Sf:Tf}let v=d(l),g=v(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${_("note.add")}`,o=h(),u&&u.c(),s=h(),g.c(),i(n,"class","btn btn-primary svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","notes-tab svelte-1ufgyr8")},m(m,b){C(m,e,b),a(e,t),a(t,n),a(e,o),u&&u.m(e,null),a(e,s),g.m(e,null),r||(c=D(n,"click",l[122]),r=!0)},p(m,b){m[42]?u?u.p(m,b):(u=po(m),u.c(),u.m(e,s)):u&&(u.d(1),u=null),v===(v=d(m))&&g?g.p(m,b):(g.d(1),g=v(m),g&&(g.c(),g.m(e,null)))},i:ue,o:ue,d(m){m&&w(e),u&&u.d(),g.d(),r=!1,c()}}}function rf(l){let e,t,n=l[22].title+"",o,s,r,c,u,d,v=l[148](l[22].type)+"",g,m,b,y,k,j=(l[22].section||"—")+"",T,E,M,I,N,A=dt(l[22].createdAt)+"",S,O,R,B,P,H,U,K,X=_("overview.newNote")+"",Y,W,J,Q,z,le,ve=_("overview.addFile")+"",ie,te,x,ce,Te,Ee,Re=_("overview.addAction")+"",Ce,G,Z,oe,_e,je,qe,Le=_("overview.logTime")+"",$e,nt,ze,be,We,Me=l[24].length>0&&_o(l),Be=l[27].length>0&&vo(l);return{c(){e=f("div"),t=f("h2"),o=L(n),s=h(),r=f("div"),c=f("div"),u=f("span"),u.textContent=`${_("overview.type")}`,d=f("span"),g=L(v),m=h(),b=f("div"),y=f("span"),y.textContent=`${_("overview.section")}`,k=f("span"),T=L(j),E=h(),M=f("div"),I=f("span"),I.textContent=`${_("overview.created")}`,N=f("span"),S=L(A),O=h(),R=f("div"),B=f("button"),P=q("svg"),H=q("path"),U=q("path"),K=h(),Y=L(X),W=h(),J=f("button"),Q=q("svg"),z=q("path"),le=h(),ie=L(ve),te=h(),x=f("button"),ce=q("svg"),Te=q("polygon"),Ee=h(),Ce=L(Re),G=h(),Z=f("button"),oe=q("svg"),_e=q("circle"),je=q("polyline"),qe=h(),$e=L(Le),nt=h(),Me&&Me.c(),ze=h(),Be&&Be.c(),i(t,"class","svelte-1ufgyr8"),i(u,"class","meta-label svelte-1ufgyr8"),i(d,"class","svelte-1ufgyr8"),i(c,"class","meta-item svelte-1ufgyr8"),i(y,"class","meta-label svelte-1ufgyr8"),i(k,"class","svelte-1ufgyr8"),i(b,"class","meta-item svelte-1ufgyr8"),i(I,"class","meta-label svelte-1ufgyr8"),i(N,"class","svelte-1ufgyr8"),i(M,"class","meta-item svelte-1ufgyr8"),i(r,"class","meta-grid svelte-1ufgyr8"),i(H,"d","M12 20h9"),i(H,"class","svelte-1ufgyr8"),i(U,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(U,"class","svelte-1ufgyr8"),i(P,"width","16"),i(P,"height","16"),i(P,"viewBox","0 0 24 24"),i(P,"fill","none"),i(P,"stroke","currentColor"),i(P,"stroke-width","2"),i(P,"stroke-linecap","round"),i(P,"stroke-linejoin","round"),i(P,"class","svelte-1ufgyr8"),i(B,"class","qa-btn svelte-1ufgyr8"),i(z,"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"),i(z,"class","svelte-1ufgyr8"),i(Q,"width","16"),i(Q,"height","16"),i(Q,"viewBox","0 0 24 24"),i(Q,"fill","none"),i(Q,"stroke","currentColor"),i(Q,"stroke-width","2"),i(Q,"stroke-linecap","round"),i(Q,"stroke-linejoin","round"),i(Q,"class","svelte-1ufgyr8"),i(J,"class","qa-btn svelte-1ufgyr8"),i(Te,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),i(Te,"class","svelte-1ufgyr8"),i(ce,"width","16"),i(ce,"height","16"),i(ce,"viewBox","0 0 24 24"),i(ce,"fill","none"),i(ce,"stroke","currentColor"),i(ce,"stroke-width","2"),i(ce,"stroke-linecap","round"),i(ce,"stroke-linejoin","round"),i(ce,"class","svelte-1ufgyr8"),i(x,"class","qa-btn svelte-1ufgyr8"),i(_e,"cx","12"),i(_e,"cy","12"),i(_e,"r","10"),i(_e,"class","svelte-1ufgyr8"),i(je,"points","12 6 12 12 16 14"),i(je,"class","svelte-1ufgyr8"),i(oe,"width","16"),i(oe,"height","16"),i(oe,"viewBox","0 0 24 24"),i(oe,"fill","none"),i(oe,"stroke","currentColor"),i(oe,"stroke-width","2"),i(oe,"stroke-linecap","round"),i(oe,"stroke-linejoin","round"),i(oe,"class","svelte-1ufgyr8"),i(Z,"class","qa-btn svelte-1ufgyr8"),i(R,"class","quick-actions svelte-1ufgyr8"),i(e,"class","overview svelte-1ufgyr8")},m(Ie,Fe){C(Ie,e,Fe),a(e,t),a(t,o),a(e,s),a(e,r),a(r,c),a(c,u),a(c,d),a(d,g),a(r,m),a(r,b),a(b,y),a(b,k),a(k,T),a(r,E),a(r,M),a(M,I),a(M,N),a(N,S),a(e,O),a(e,R),a(R,B),a(B,P),a(P,H),a(P,U),a(B,K),a(B,Y),a(R,W),a(R,J),a(J,Q),a(Q,z),a(J,le),a(J,ie),a(R,te),a(R,x),a(x,ce),a(ce,Te),a(x,Ee),a(x,Ce),a(R,G),a(R,Z),a(Z,oe),a(oe,_e),a(oe,je),a(Z,qe),a(Z,$e),a(e,nt),Me&&Me.m(e,null),a(e,ze),Be&&Be.m(e,null),be||(We=[D(B,"click",l[171]),D(J,"click",l[172]),D(x,"click",l[149]),D(Z,"click",l[173])],be=!0)},p(Ie,Fe){Fe[0]&4194304&&n!==(n=Ie[22].title+"")&&V(o,n),Fe[0]&4194304&&v!==(v=Ie[148](Ie[22].type)+"")&&V(g,v),Fe[0]&4194304&&j!==(j=(Ie[22].section||"—")+"")&&V(T,j),Fe[0]&4194304&&A!==(A=dt(Ie[22].createdAt)+"")&&V(S,A),Ie[24].length>0?Me?Me.p(Ie,Fe):(Me=_o(Ie),Me.c(),Me.m(e,ze)):Me&&(Me.d(1),Me=null),Ie[27].length>0?Be?Be.p(Ie,Fe):(Be=vo(Ie),Be.c(),Be.m(e,null)):Be&&(Be.d(1),Be=null)},i:ue,o:ue,d(Ie){Ie&&w(e),Me&&Me.d(),Be&&Be.d(),be=!1,he(We)}}}function af(l){let e,t=ae(l[18]),n=[];for(let o=0;o0&&Xi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("span"),r=L(s),c=h(),u=f("span"),v=L(d),g=h(),b=L(m),y=L(" · "),j=L(k),T=h(),E=f("div"),M=f("button"),M.textContent=`${_("worklog.apply")}`,I=h(),P&&P.c(),N=h(),i(o,"class","suggestion-summary svelte-1ufgyr8"),i(u,"class","suggestion-meta svelte-1ufgyr8"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(M,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(E,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[337]._expanded)},m(H,U){C(H,e,U),a(e,t),a(t,n),a(n,o),a(o,r),a(n,c),a(n,u),a(u,v),a(u,g),a(u,b),a(u,y),a(u,j),a(t,T),a(t,E),a(E,M),a(e,I),P&&P.m(e,null),a(e,N),A||(S=[D(M,"click",Je(O)),D(t,"click",R),D(t,"keydown",B)],A=!0)},p(H,U){l=H,U[0]&4194304|U[1]&16&&s!==(s=l[337].summary+"")&&V(r,s),U[0]&4194304|U[1]&16&&d!==(d=l[337].suggestedMin+"")&&V(v,d),U[0]&4194304|U[1]&16&&k!==(k=_("suggest.confidence."+l[337].confidence)+"")&&V(j,k),l[337]._expanded&&l[337].events&&l[337].events.length>0?P?P.p(l,U):(P=Xi(l),P.c(),P.m(e,N)):P&&(P.d(1),P=null),U[0]&4194304|U[1]&16&&we(e,"expanded",l[337]._expanded)},d(H){H&&w(e),P&&P.d(),A=!1,he(S)}}}function uf(l){let e,t=ae(l[27]),n=[];for(let o=0;o0?_f:m[318].source==="suggestion"?mf:m[318].source==="unknown"||m[318].source==="imported"?pf:df}let d=u(l),v=d(l),g=l[318].source==="suggestion"&&l[318]._events&&l[318]._events.length>0&&no(l);return{c(){e=f("div"),c&&c.c(),t=h(),n=f("div"),o=f("span"),o.textContent=`${_("worklog.source")}`,s=h(),v.c(),r=h(),g&&g.c(),i(o,"class","wl-detail-label svelte-1ufgyr8"),i(n,"class","wl-detail-section svelte-1ufgyr8"),i(e,"class","worklog-entry-detail svelte-1ufgyr8")},m(m,b){C(m,e,b),c&&c.m(e,null),a(e,t),a(e,n),a(n,o),a(n,s),v.m(n,null),a(e,r),g&&g.m(e,null)},p(m,b){m[318].details?c?c.p(m,b):(c=lo(m),c.c(),c.m(e,t)):c&&(c.d(1),c=null),d!==(d=u(m))&&(v.d(1),v=d(m),v&&(v.c(),v.m(n,null))),m[318].source==="suggestion"&&m[318]._events&&m[318]._events.length>0?g?g.p(m,b):(g=no(m),g.c(),g.m(e,null)):g&&(g.d(1),g=null)},d(m){m&&w(e),c&&c.d(),v.d(),g&&g.d()}}}function lo(l){let e,t,n,o,s=l[318].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${_("worklog.details")}`,n=h(),o=f("p"),r=L(s),i(t,"class","wl-detail-label svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(e,"class","wl-detail-section svelte-1ufgyr8")},m(c,u){C(c,e,u),a(e,t),a(e,n),a(e,o),a(o,r)},p(c,u){u[0]&134217728&&s!==(s=c[318].details+"")&&V(r,s)},d(c){c&&w(e)}}}function df(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function pf(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function mf(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function _f(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function gf(l){let e;return{c(){e=f("p"),e.textContent=`${_("worklog.sourceManual")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function no(l){let e,t,n,o=ae(l[318]._events),s=[];for(let r=0;r',M=h(),i(n,"class","action-title svelte-1ufgyr8"),i(c,"class","action-type svelte-1ufgyr8"),i(g,"class","action-data svelte-1ufgyr8"),i(t,"class","action-info svelte-1ufgyr8"),i(j,"class","btn btn-sm svelte-1ufgyr8"),i(E,"class","btn btn-sm btn-danger svelte-1ufgyr8"),i(k,"class","action-btns svelte-1ufgyr8"),i(e,"class","action-card svelte-1ufgyr8")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,s),a(t,r),a(t,c),a(c,d),a(t,v),a(t,g),a(g,b),a(e,y),a(e,k),a(k,j),a(k,T),a(k,E),a(e,M),I||(N=[D(j,"click",A),D(E,"click",S)],I=!0)},p(O,R){l=O,R[0]&67108864&&o!==(o=l[329].title+"")&&V(s,o),R[0]&67108864&&u!==(u=l[153](l[329].type)+"")&&V(d,u),R[0]&67108864&&m!==(m=l[329].data+"")&&V(b,m)},d(O){O&&w(e),I=!1,he(N)}}}function ao(l){let e,t=_("common.paste")+"",n,o,s=l[61].items.length+"",r,c,u;return{c(){e=f("button"),n=L(t),o=h(),r=L(s),i(e,"class","btn svelte-1ufgyr8")},m(d,v){C(d,e,v),a(e,n),a(e,o),a(e,r),c||(u=D(e,"click",l[95]),c=!0)},p(d,v){v[1]&1073741824&&s!==(s=d[61].items.length+"")&&V(r,s)},d(d){d&&w(e),c=!1,u()}}}function yf(l){let e,t,n,o,s,r,c;const u=[wf,kf],d=[];function v(y,k){return y[55].length>0?0:1}e=v(l),t=d[e]=u[e](l);const g=[jf,Cf],m=[];function b(y,k){return y[56].length===0?0:1}return o=b(l),s=m[o]=g[o](l),{c(){t.c(),n=h(),s.c(),r=ct()},m(y,k){d[e].m(y,k),C(y,n,k),m[o].m(y,k),C(y,r,k),c=!0},p(y,k){let j=e;e=v(y),e===j?d[e].p(y,k):(et(),ye(d[j],1,1,()=>{d[j]=null}),tt(),t=d[e],t?t.p(y,k):(t=d[e]=u[e](y),t.c()),de(t,1),t.m(n.parentNode,n));let T=o;o=b(y),o===T?m[o].p(y,k):(et(),ye(m[T],1,1,()=>{m[T]=null}),tt(),s=m[o],s?s.p(y,k):(s=m[o]=g[o](y),s.c()),de(s,1),s.m(r.parentNode,r))},i(y){c||(de(t),de(s),c=!0)},o(y){ye(t),ye(s),c=!1},d(y){y&&(w(n),w(r)),d[e].d(y),m[o].d(y)}}}function bf(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("common.loading")}`,i(t,"class","svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},p:ue,i:ue,o:ue,d(n){n&&w(e)}}}function kf(l){let e,t;return e=new ss({props:{crumbs:[{name:_("file.root")}]}}),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p:ue,i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function wf(l){let e,t,n,o,s,r,c,u=_("common.back")+"",d,v,g,m;return e=new ss({props:{crumbs:[{name:_("file.root")},...l[55]]}}),e.$on("navigate",l[180]),{c(){ut(e.$$.fragment),t=h(),n=f("button"),o=q("svg"),s=q("line"),r=q("polyline"),c=h(),d=L(u),i(s,"x1","19"),i(s,"y1","12"),i(s,"x2","5"),i(s,"y2","12"),i(s,"class","svelte-1ufgyr8"),i(r,"points","12 19 5 12 12 5"),i(r,"class","svelte-1ufgyr8"),i(o,"width","14"),i(o,"height","14"),i(o,"viewBox","0 0 24 24"),i(o,"fill","none"),i(o,"stroke","currentColor"),i(o,"stroke-width","2"),i(o,"stroke-linecap","round"),i(o,"stroke-linejoin","round"),i(o,"class","svelte-1ufgyr8"),i(n,"class","btn btn-sm back-btn svelte-1ufgyr8")},m(b,y){it(e,b,y),C(b,t,y),C(b,n,y),a(n,o),a(o,s),a(o,r),a(n,c),a(n,d),v=!0,g||(m=D(n,"click",l[86]),g=!0)},p(b,y){const k={};y[1]&16777216&&(k.crumbs=[{name:_("file.root")},...b[55]]),e.$set(k)},i(b){v||(de(e.$$.fragment,b),v=!0)},o(b){ye(e.$$.fragment,b),v=!1},d(b){b&&(w(t),w(n)),ot(e,b),g=!1,m()}}}function Cf(l){let e,t=[],n=new Map,o,s=ae(l[56]);const r=c=>c[326].id;for(let c=0;c0?_("file.noFiles"):_("file.noFilesCase"))+"",r,c,u,d,v,g,m,b,y,k;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=h(),o=f("p"),r=L(s),c=h(),u=f("p"),u.textContent=`${_("file.hint")}`,d=h(),v=f("div"),g=f("button"),g.textContent=`${_("file.addFileSimple")}`,m=h(),b=f("button"),b.textContent=`${_("file.addFolderSimple")}`,i(t,"class","empty-icon svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(u,"class","hint svelte-1ufgyr8"),i(g,"class","btn btn-primary svelte-1ufgyr8"),i(b,"class","btn svelte-1ufgyr8"),i(v,"class","empty-actions svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(j,T){C(j,e,T),a(e,t),a(e,n),a(e,o),a(o,r),a(e,c),a(e,u),a(e,d),a(e,v),a(v,g),a(v,m),a(v,b),y||(k=[D(g,"click",l[142]),D(b,"click",l[143])],y=!0)},p(j,T){T[1]&16777216&&s!==(s=(j[55].length>0?_("file.noFiles"):_("file.noFilesCase"))+"")&&V(r,s)},i:ue,o:ue,d(j){j&&w(e),y=!1,he(k)}}}function co(l,e){let t,n,o;return n=new Uc({props:{item:e[326],selected:e[62].includes(e[326].id),onDragStart:e[99],onDragOver:e[100],onDrop:e[101]}}),n.$on("navigate",e[181]),n.$on("preview",e[182]),n.$on("openExternal",e[183]),n.$on("showInFolder",e[184]),n.$on("delete",e[185]),n.$on("rename",e[186]),n.$on("duplicate",e[187]),n.$on("cut",e[188]),n.$on("copy",e[189]),n.$on("selectOne",e[190]),n.$on("toggleSelect",e[191]),n.$on("rangeSelect",e[192]),{key:l,first:null,c(){t=ct(),ut(n.$$.fragment),this.first=t},m(s,r){C(s,t,r),it(n,s,r),o=!0},p(s,r){e=s;const c={};r[1]&33554432&&(c.item=e[326]),r[1]&33554432|r[2]&1&&(c.selected=e[62].includes(e[326].id)),n.$set(c)},i(s){o||(de(n.$$.fragment,s),o=!0)},o(s){ye(n.$$.fragment,s),o=!1},d(s){s&&w(t),ot(n,s)}}}function uo(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${_("file.scanning")}`,i(t,"class","svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},d(n){n&&w(e)}}}function fo(l){let e,t;return e=new ou({props:{item:l[57],content:l[58],loading:l[59],error:l[60]}}),e.$on("close",l[89]),e.$on("openExternal",l[193]),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p(n,o){const s={};o[1]&67108864&&(s.item=n[57]),o[1]&134217728&&(s.content=n[58]),o[1]&268435456&&(s.loading=n[59]),o[1]&536870912&&(s.error=n[60]),e.$set(s)},i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function po(l){let e,t,n,o,s,r,c,u,d;return{c(){e=f("div"),t=f("input"),n=h(),o=f("div"),s=f("button"),s.textContent=`${_("common.create")}`,r=h(),c=f("button"),c.textContent=`${_("common.cancel")}`,i(t,"type","text"),i(t,"placeholder",_("note.title")),i(t,"class","svelte-1ufgyr8"),i(s,"class","btn btn-primary svelte-1ufgyr8"),i(c,"class","btn svelte-1ufgyr8"),i(o,"class","form-actions svelte-1ufgyr8"),i(e,"class","create-form svelte-1ufgyr8")},m(v,g){C(v,e,g),a(e,t),ke(t,l[43]),a(e,n),a(e,o),a(o,s),a(o,r),a(o,c),u||(d=[D(t,"input",l[176]),D(t,"keydown",l[177]),D(s,"click",l[124]),D(c,"click",l[123])],u=!0)},p(v,g){g[1]&4096&&t.value!==v[43]&&ke(t,v[43])},d(v){v&&w(e),u=!1,he(d)}}}function Tf(l){let e,t=ae(l[24]),n=[];for(let o=0;oye(le[ie],1,1,()=>{le[ie]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${_("nav.createNode")}`,o=h(),Q&&Q.c(),s=h(),r=f("div"),c=f("span"),c.textContent=`${_("template.select")}`,u=h(),d=f("div"),v=f("button"),ut(g.$$.fragment),m=h(),b=f("div"),y=f("span"),y.textContent=`${_("template.optionNone")}`,k=h(),j=f("span"),j.textContent=`${_("template.none.desc")}`,T=h();for(let ie=0;ie{y=null}),tt()),j[41].node&&j[41].node.parent_id?k?k.p(j,T):(k=So(j),k.c(),k.m(t,s)):k&&(k.d(1),k=null),(!g||T[1]&1024)&&Ke(t,"left",j[41].x+"px"),(!g||T[1]&1024)&&Ke(t,"top",j[41].y+"px")},i(j){g||(de(y),g=!0)},o(j){ye(y),g=!1},d(j){j&&w(e),y&&y.d(),k&&k.d(),m=!1,he(b)}}}function jo(l){let e,t,n,o,s,r=ae(l[2].length>0?l[2]:[{id:"",title:"template.optionNone",icon:"folder"}]),c=[];for(let d=0;dye(c[d],1,1,()=>{c[d]=null});return{c(){e=f("div"),e.textContent=`${_("common.create")}`,t=h();for(let d=0;d0?d[2]:[{id:"",title:"template.optionNone",icon:"folder"}]);let g;for(g=0;gl[263].call(k)),i(m,"class","svelte-1ufgyr8"),i(g,"class","form-group svelte-1ufgyr8"),i(M,"class","label-text svelte-1ufgyr8"),i(S,"type","text"),i(S,"placeholder",O=l[46]==="open_url"?_("action.urlPlaceholder"):l[46]==="open_folder"||l[46]==="open_file"?_("action.pathPlaceholder"):_("action.commandPlaceholder")),i(S,"class","svelte-1ufgyr8"),i(E,"class","svelte-1ufgyr8"),i(T,"class","form-group svelte-1ufgyr8"),i(P,"class","btn btn-primary svelte-1ufgyr8"),i(U,"class","btn svelte-1ufgyr8"),i(B,"class","modal-actions svelte-1ufgyr8"),i(t,"class","modal svelte-1ufgyr8"),i(e,"class","modal-overlay svelte-1ufgyr8"),i(e,"role","button"),i(e,"tabindex","0")},m(J,Q){C(J,e,Q),a(e,t),a(t,n),a(t,o),a(t,s),a(s,r),a(r,c),a(r,u),a(r,d),ke(d,l[45]),a(t,v),a(t,g),a(g,m),a(m,b),a(m,y),a(m,k);for(let z=0;z0?0:1}M=Be(l),I=Me[M]=We[M](l);function Ie(ne,Ne){return ne[22]?Iu:ne[21]?Eu:Nu}let Fe=Ie(l),ge=Fe(l),pe=((Ut=l[73])==null?void 0:Ut.configured)&&ii(l),me=l[20]&&si(l);const De=[Pu,Lu,Au,Fu,Du,Mu],Ae=[];function lt(ne,Ne){return ne[25]?0:ne[22]?1:ne[21]==="journal"?2:ne[21]==="today"&&ne[3]?3:ne[21]==="activity"?4:5}Te=lt(l),Ee=Ae[Te]=De[Te](l);let Se=l[37]&&bo(l),re=l[41].visible&&Co(l),se=l[28]&&No(l),Ve=l[44]&&Eo(l),Ue=l[51]&&l[50]&&Mo(l),Ge=l[69]&&Fo(l),Pe=l[64]&&Lo(l),He=l[72]&&Po(l);return{c(){var ne;e=f("div"),t=f("aside"),n=f("div"),o=f("span"),o.textContent="⚒",s=h(),r=f("span"),r.textContent=`${_("nav.brand")}`,c=h(),u=f("nav"),d=f("div"),v=f("div"),v.textContent=`${_("nav.system")}`,g=h();for(let Ne=0;Ne{Me[st]=null}),tt(),I=Me[M],I?I.p(ne,Ne):(I=Me[M]=We[M](ne),I.c()),de(I,1),I.m(b,null)),(!Le||Ne[2]&2048)&&we(U,"active",(wt=ne[73])==null?void 0:wt.configured),(!Le||Ne[0]&524288)&&V(J,ne[19]),Fe===(Fe=Ie(ne))&&ge?ge.p(ne,Ne):(ge.d(1),ge=Fe(ne),ge&&(ge.c(),ge.m(ve,null))),(pt=ne[73])!=null&&pt.configured?pe?pe.p(ne,Ne):(pe=ii(ne),pe.c(),pe.m(te,null)):pe&&(pe.d(1),pe=null),ne[20]?me?me.p(ne,Ne):(me=si(ne),me.c(),me.m(z,ce)):me&&(me.d(1),me=null);let _t=Te;Te=lt(ne),Te===_t?Ae[Te].p(ne,Ne):(et(),ye(Ae[_t],1,1,()=>{Ae[_t]=null}),tt(),Ee=Ae[Te],Ee?Ee.p(ne,Ne):(Ee=Ae[Te]=De[Te](ne),Ee.c()),de(Ee,1),Ee.m(z,Re)),ne[37]?Se?(Se.p(ne,Ne),Ne[1]&64&&de(Se,1)):(Se=bo(ne),Se.c(),de(Se,1),Se.m(z,Ce)):Se&&(et(),ye(Se,1,1,()=>{Se=null}),tt()),ne[41].visible?re?(re.p(ne,Ne),Ne[1]&1024&&de(re,1)):(re=Co(ne),re.c(),de(re,1),re.m(z,G)):re&&(et(),ye(re,1,1,()=>{re=null}),tt()),ne[28]?se?se.p(ne,Ne):(se=No(ne),se.c(),se.m(z,Z)):se&&(se.d(1),se=null),ne[44]?Ve?Ve.p(ne,Ne):(Ve=Eo(ne),Ve.c(),Ve.m(z,oe)):Ve&&(Ve.d(1),Ve=null),ne[51]&&ne[50]?Ue?Ue.p(ne,Ne):(Ue=Mo(ne),Ue.c(),Ue.m(z,_e)):Ue&&(Ue.d(1),Ue=null),ne[69]?Ge?Ge.p(ne,Ne):(Ge=Fo(ne),Ge.c(),Ge.m(z,je)):Ge&&(Ge.d(1),Ge=null),ne[64]?Pe?(Pe.p(ne,Ne),Ne[2]&4&&de(Pe,1)):(Pe=Lo(ne),Pe.c(),de(Pe,1),Pe.m(z,qe)):Pe&&(et(),ye(Pe,1,1,()=>{Pe=null}),tt()),ne[72]?He?He.p(ne,Ne):(He=Po(ne),He.c(),He.m(z,null)):He&&(He.d(1),He=null)},i(ne){Le||(de(I),de(Ee),de(Se),de(re),de(Pe),Le=!0)},o(ne){ye(I),ye(Ee),ye(Se),ye(re),ye(Pe),Le=!1},d(ne){ne&&w(e),Oe(be,ne),Me[M].d(),ge.d(),pe&&pe.d(),me&&me.d(),Ae[Te].d(),Se&&Se.d(),re&&re.d(),se&&se.d(),Ve&&Ve.d(),Ue&&Ue.d(),Ge&&Ge.d(),Pe&&Pe.d(),He&&He.d(),$e=!1,he(nt)}}}function ee(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Yt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Yt(n.children,e,t))return!0}return!1}function cs(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&cs(n.children,e,t))return!0}return!1}function Vo(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function tl(l){try{ee("WriteDebugLog",l)}catch{}}function jl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function Xe(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Vt(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function dt(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function vt(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function Lf(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function at(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function Pf(l,e,t){let n=[],o=[],s=[],r=null,c=[],u=0,d=!0,v=[],g=null,m="",b="",y=!1,k="",j="all",T="all",E="",M="",I="",N=[],A=!1,S=[],O="",R="",B="",P=null,H="overview",U=[],K=null,X=[],Y=[],W=[],J=!1,Q="",z="",le="",ve="",ie=!1,te=!1,x=[],ce=0,Te=!1,Ee="",Re=null,Ce=null,G={visible:!1,x:0,y:0,node:null},Z=!1,oe="",_e=!1,je="",qe="open_url",Le="",$e=[{id:"open_url",label:_("action.openUrl")},{id:"open_file",label:_("action.openFile")},{id:"open_folder",label:_("action.openFolder")},{id:"run_command",label:_("action.runCommand")},{id:"run_script",label:_("action.runScript")},{id:"open_terminal",label:_("action.openTerminal")},{id:"launch_app",label:_("action.launchApp")}],nt=!0,ze=!1,be=null,We=!1,Me="",Be="",Ie={},Fe=!1,ge=null,pe=[],me=[],De=null,Ae="",lt=!1,Se="",re={items:[],mode:"copy"},se=[],Ve=[],Ue=!1,Ge=!1,Pe="",He="",Ut=!1,ne=_("common.delete"),Ne=null,st=null,_t=!1,wt="",pt="",Ze="",Ct=!1,mt=null,ft=!1,Ft="",jt="",Tt="",St=0,xe="";const us=[{id:"overview",label:_("tab.overview")},{id:"notes",label:_("tab.notes")},{id:"files",label:_("tab.files")},{id:"actions",label:_("tab.actions")},{id:"worklog",label:_("tab.worklog")},{id:"activity",label:_("tab.activity")}];let al=null;Go(async()=>{try{t(19,O=await ee("VerstakVersion")||"verstak-gui/v2"),t(0,n=await ee("ListSystemViews")||[]),t(1,o=await ee("ListWorkspaceTree")||[]),t(2,s=await ee("ListEnabledTemplates")||[])}catch(p){t(20,R=String(p)),t(0,n=[{id:"today",label:_("nav.today")},{id:"inbox",label:_("nav.inbox")},{id:"activity",label:_("nav.activity")}]),t(1,o=[]),t(2,s=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Js),al=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Ul),t(48,nt=!1),Jt()}),Ml(()=>{al&&al(),window.removeEventListener("keydown",Ul)});async function Dl(p){t(21,B=p),t(22,P=null),t(23,H="overview"),t(24,U=[]),X=[],t(26,Y=[]),t(27,W=[]),t(35,x=[]),t(37,Te=!1),t(20,R=""),t(3,r=null),t(4,c=[]),u=0,d=!0,t(5,v=[]),t(6,g=null);try{p==="today"?(t(3,r=await ee("ListTodayView")||{cases:[]}),t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length)):p==="journal"?await Ot():p==="activity"&&(t(4,c=await ee("ListActivityFeed",50,0)||[]),u=c.length,d=c.length===50)}catch(F){t(20,R=String(F)),t(3,r={cases:[]}),t(4,c=[])}}async function Nt(p){t(22,P=p),t(23,H="overview"),t(24,U=[]),X=[],t(26,Y=[]),t(27,W=[]),t(35,x=[]),t(56,me=[]),t(55,pe=[]),t(54,ge=null),t(57,De=null),t(58,Ae=""),t(62,se=[]),Ve=[],t(25,K=null),t(37,Te=!1),t(42,Z=!1),t(20,R=""),t(18,S=[]),await Fl(p.id)}async function Fl(p){try{t(24,U=await ee("ListNotes",p)||[])}catch{}try{X=await ee("ListFiles",p)||[]}catch{}try{t(26,Y=await ee("ListActions",p)||[])}catch{}try{t(27,W=jl(await ee("ListWorklog",p)))}catch{}try{t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length)}catch{t(35,x=[]),t(36,ce=0)}try{t(18,S=await ee("ListActivityByNode",p,50,0)||[])}catch{}}async function Qe(p){t(53,Fe=!0);try{let F=await ee("ListItems",p)||[];F.sort(($,fe)=>$.type!==fe.type?$.type==="folder"?-1:1:($.name||"").localeCompare(fe.name||"")),t(56,me=F)}catch{t(56,me=[])}t(53,Fe=!1)}async function cl(p){if(!P)return;try{const $=await ee("GetNodeDetail",p);$&&t(55,pe=[...pe,{id:p,name:$.title}])}catch{t(55,pe=[...pe,{id:p,name:"..."}])}t(54,ge=p),t(52,Ie={...Ie,[p]:!0});const F=await ee("ListWorkspaceChildren",p)||[];Yt(o,p,F),t(1,o=[...o]),await Qe(p)}function Al(){if(pe.length<2)t(55,pe=[]),t(54,ge=null),Qe(P.id);else{const p=pe[pe.length-2];t(55,pe=pe.slice(0,-1)),t(54,ge=p.id),Qe(p.id)}}function Ll(p){const F=pe[p];t(55,pe=pe.slice(0,p+1)),t(54,ge=F.id),Qe(F.id)}async function xt(p){t(57,De=p),t(58,Ae=""),t(60,Se=""),t(59,lt=!0);try{Pc(p)?t(58,Ae=await ee("GetFileBase64",p.fileId)||""):Oc(p)&&t(58,Ae=await ee("ReadFileText",p.fileId)||"")}catch(F){t(60,Se=String(F))}t(59,lt=!1)}function ul(){t(57,De=null),t(58,Ae=""),t(60,Se="")}async function fs(){const p=prompt(_("file.namePrompt"));if(!(!p||!p.trim()))try{const F=ge||P.id;await ee("CreateEmptyFile",F,p.trim()),await Qe(F),await pl(F)}catch(F){t(20,R=String(F))}}async function Pl(p){try{await ee("DuplicateNode",p);const F=ge||P.id;await Qe(F),await pl(F)}catch(F){t(20,R=String(F))}}function Ol(p){const F=me.find($=>$.id===p);F&&dl(F.id,F.name)}function Rl(p){t(61,re={items:[p],mode:"cut"})}function zl(p){t(61,re={items:[p],mode:"copy"})}async function Bl(){if(re.items.length===0)return;const p=ge||P.id;try{if(re.mode==="copy")for(const F of re.items)await ee("DuplicateNode",F);else for(const F of re.items)await ee("MoveNode",F,p);t(61,re={items:[],mode:"copy"}),await Qe(p)}catch(F){t(20,R=String(F))}}function Hl(p){se.includes(p)?t(62,se=se.filter(F=>F!==p)):t(62,se=[...se,p])}function Wl(p){t(62,se=[p])}function ds(){t(62,se=me.map(p=>p.id))}function Vl(p){if(me.length===0)return;const F=se.length>0?se[se.length-1]:me[0].id,$=me.findIndex(Mt=>Mt.id===F),fe=me.findIndex(Mt=>Mt.id===p);if($===-1||fe===-1)return;const Ye=Math.min($,fe),rt=Math.max($,fe),bl=me.slice(Ye,rt+1).map(Mt=>Mt.id),un=new Set(se);bl.forEach(Mt=>un.add(Mt)),t(62,se=[...un])}function ps(){t(62,se=[])}function fl(p){return p.length>0?p:me.map(F=>F.id)}async function ms(){const p=fl(se),F=me.find(fe=>fe.id===p[0]);let $;p.length===1&&(F==null?void 0:F.type)==="folder"?$=_("delete.folder"):p.length===1?$=_("delete.file"):$=_("delete.files",{count:p.length}),Kt({title:_("delete.confirmTitle"),message:_("delete.confirmMessage")+" "+$+"?",confirmText:_("common.delete"),danger:!0,onConfirm:async()=>{for(const Ye of p)try{await ee("DeleteFileOrFolder",Ye)}catch(rt){t(20,R=String(rt))}t(62,se=[]);const fe=ge||P.id;await Qe(fe)}})}function _s(){const p=fl(se);t(61,re={items:p,mode:"cut"}),t(62,se=[])}function gs(){const p=fl(se);t(61,re={items:p,mode:"copy"}),t(62,se=[])}function vs(p,F){const $=se.includes(F)?se:[F];Ve=$,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",$.join(","))}function hs(p,F){const $=me.find(fe=>fe.id===F);$&&$.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function ys(p,F){if(p.preventDefault(),Ve.length!==0){for(const $ of Ve)try{await ee("MoveNode",$,F)}catch(fe){t(20,R=String(fe))}Ve=[],t(62,se=[]),await Qe(ge||P.id)}}function Ul(p){if(H==="files"&&!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA"))if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),gs()):p.key==="x"||p.key==="X"?(p.preventDefault(),_s()):p.key==="v"||p.key==="V"?(p.preventDefault(),Bl()):p.key==="a"||p.key==="A"?(p.preventDefault(),ds()):p.key==="o"||p.key==="O"?(p.preventDefault(),bs()):p.key==="Enter"&&(p.preventDefault(),Kl());else if(p.key==="Enter")p.preventDefault(),Kl();else if(p.key==="Delete"||p.key==="Backspace"){if(De){p.preventDefault(),ul();return}if(se.length>0){p.preventDefault(),ms();return}if(p.key==="Backspace"&&pe.length>0){p.preventDefault(),Al();return}}else if(p.key==="Escape"){if(De){ul();return}if(se.length>0){ps();return}}else p.key==="F2"&&(p.preventDefault(),ks())}function Kl(){if(se.length===1){const p=me.find(F=>F.id===se[0]);p&&(p.type==="folder"?cl(p.id):xt(p))}}function bs(){if(se.length===1){const p=me.find(F=>F.id===se[0]);p&&p.fileId&&ee("OpenFile",p.fileId)}}function dl(p,F){wt=p,t(70,pt=F),t(71,Ze=""),t(69,_t=!0)}function ks(){if(se.length===1){const p=me.find(F=>F.id===se[0]);p&&dl(p.id,p.name)}}async function Gl(){const p=pt.trim();if(!p){t(71,Ze=_("rename.emptyError"));return}try{await ee("ValidateName",p)}catch{t(71,Ze=_("rename.invalidError"));return}t(69,_t=!1);const F=wt;wt="";try{await ee("RenameNode",F,p),P&&P.id===F&&t(22,P={...P,title:p}),await Gt(),ge&&await Qe(ge)}catch($){t(20,R=String($))}}function ws(){t(69,_t=!1),wt="",t(70,pt=""),t(71,Ze="")}function Cs(p){p.key==="Enter"?Gl():t(71,Ze="")}function Kt(p){t(65,Pe=p.title||_("common.confirm")),t(66,He=p.message||""),t(67,Ut=p.danger!==void 0?p.danger:!0),t(68,ne=p.confirmText||_("common.delete")),Ne=p.onConfirm||null,st=p.onCancel||null,t(64,Ge=!0)}function Jl(){t(64,Ge=!1),Ne=null,st=null}function js(){Ne&&Ne(),Jl()}function Ts(){st&&st(),Jl()}function ql(p){t(39,Re=G.node),t(40,Ce=p),t(38,Ee=""),t(37,Te=!0),At()}function Ss(){t(39,Re=null),t(40,Ce=void 0),t(38,Ee=""),t(37,Te=!0)}function Ns(){t(37,Te=!1),t(38,Ee=""),t(39,Re=null),t(40,Ce=void 0)}async function Yl(){if(!(!Ee.trim()||Ce===void 0))try{const p=Re?Re.id:"",F=Ce?Ce.id:"",$=await ee("CreateNodeFromTemplate",p,Ee.trim(),F);t(37,Te=!1),t(38,Ee="");const fe=$?$.id:null;if(t(39,Re=null),t(40,Ce=void 0),p){t(52,Ie={...Ie,[p]:!0});const Ye=await ee("ListWorkspaceChildren",p)||[];Yt(o,p,Ye),t(1,o=[...o])}else t(1,o=await ee("ListWorkspaceTree")||o);if(fe){const Ye=await ee("GetNodeDetail",fe);Ye&&(t(21,B=""),Nt(Ye))}}catch(p){t(20,R=String(p))}}function Es(p,F){t(41,G={visible:!0,x:p.clientX,y:p.clientY,node:F})}function At(){t(41,G={visible:!1,x:0,y:0,node:null})}async function Is(p){const F=!Ie[p];if(t(52,Ie={...Ie,[p]:F}),!F)return;const $=await ee("ListWorkspaceChildren",p)||[];Yt(o,p,$),t(1,o=[...o])}async function Ms(p,F){if(!(!p||!F||p===F))try{const $=await ee("MoveNode",p,F);await Gt();const fe=await ee("GetNodeDetail",p);fe&&(t(21,B=""),Nt(fe))}catch($){t(20,R=String($))}}async function Ds(p){p.preventDefault();try{const F=p.dataTransfer.getData("text/plain");if(!F)return;const $=await ee("GetNodeDetail",F);if(!$||!$.parent_id)return;await ee("MoveNode",F,""),await Gt();const fe=await ee("GetNodeDetail",F);fe&&(t(21,B=""),Nt(fe))}catch(F){t(20,R=String(F))}}function Fs(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(63,Ue=!0)}function As(p){t(63,Ue=!1)}function Xl(p){dl(p.id,p.title),At()}function Zl(p){At(),Kt({title:_("delete.confirmTitle"),message:_("delete.confirmMessage")+" "+p.title+"?",confirmText:_("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteNode",p.id),await Gt(),P&&P.id===p.id&&t(22,P=null)}catch(F){t(20,R=String(F))}}})}async function Lt(p){At();const F=typeof p=="string"?p:p.id;try{await ee("OpenFolder",F)}catch($){t(20,R=String($))}}async function Ql(p){At();try{await ee("MoveNode",p.id,""),await Gt();const F=await ee("GetNodeDetail",p.id);F&&(t(21,B=""),Nt(F))}catch(F){t(20,R=String(F))}}async function Gt(){const p=Object.keys(Ie).filter($=>Ie[$]),F=await ee("ListWorkspaceTree")||[];for(const $ of p){const Ye=(await ee("ListWorkspaceChildren",$)||[]).map(rt=>({...rt}));cs(F,$,Ye)}t(1,o=F)}async function pl(p){const F=await ee("ListWorkspaceChildren",p)||[];Yt(o,p,F),t(1,o=[...o])}function xl(){t(42,Z=!0),t(43,oe="")}function Ls(){t(42,Z=!1),t(43,oe="")}async function $l(){if(!(!oe.trim()||!P))try{const p=await ee("CreateNote",P.id,oe.trim());t(24,U=[...U,p&&p.id?p:{id:Date.now().toString(),title:oe.trim(),createdAt:new Date().toISOString()}]),t(42,Z=!1),t(43,oe="")}catch{const F={id:Date.now().toString(),title:oe.trim(),createdAt:new Date().toISOString()};t(24,U=[...U,F]),t(42,Z=!1),t(43,oe="")}}async function Pt(p){if(K&&K.dirty){Kt({title:_("note.unsavedTitle"),message:_("note.unsavedMessage"),confirmText:_("note.unsavedClose"),danger:!1,onConfirm:async()=>{await en(p)}});return}await en(p)}async function en(p){try{const F=await ee("ReadNote",p.id);t(25,K={id:p.id,title:p.title,content:F||"",dirty:!1})}catch{t(25,K={id:p.id,title:p.title,content:"# "+p.title+` - -`,dirty:!1})}}function Ps(){if(K&&K.dirty){Kt({title:_("note.unsavedTitle"),message:_("note.unsavedMessage"),confirmText:_("note.unsavedClose"),danger:!1,onConfirm:()=>{t(25,K=null)}});return}t(25,K=null)}function Os(p){K&&(t(25,K.content=p.target.value,K),t(25,K.dirty=!0,K))}async function Rs(){if(K)try{await ee("SaveNote",K.id,K.content),t(25,K.dirty=!1,K)}catch{t(25,K.dirty=!1,K)}}function zs(){t(29,Q=""),t(30,z=""),t(31,le=""),t(32,ve=""),t(33,ie=!1),t(34,te=!1),t(28,J=!0)}function Bs(){t(28,J=!1)}async function Hs(){const p=parseInt(z,10);if(!(!Q.trim()||isNaN(p)||p<=0||!P)){try{await ee("CreateWorklogFull",P.id,Q.trim(),ve,le,p,te,ie)}catch{}t(27,W=jl(await ee("ListWorklog",P.id))||W),t(28,J=!1)}}async function tn(){t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length),P&&t(27,W=jl(await ee("ListWorklog",P.id))),B==="journal"&&await Ot()}async function ml(p){try{const F=Vo(p),$=JSON.stringify(F);tl("acceptTodaySuggestion: nodeId="+p.nodeId+" eventIds="+$+" events="+JSON.stringify((p.events||[]).map(fe=>({id:fe.id,type:fe.eventType,title:fe.title})))),await ee("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",$),await tn()}catch(F){tl("acceptTodaySuggestion error: "+F)}}async function ln(p){try{const F=Vo(p),$=JSON.stringify(F);tl("acceptJournalSuggestion: nodeId="+p.nodeId+" eventIds="+$+" events="+JSON.stringify((p.events||[]).map(fe=>({id:fe.id,type:fe.eventType,title:fe.title})))),await ee("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",$),await tn()}catch(F){tl("acceptJournalSuggestion error: "+F)}}async function Ot(){try{const[p,F,$]=await Promise.all([ee("ListWorklogReport",m,b,k,y,j,T),ee("WorklogReportSummary",m,b,k,y,j,T),ee("GetSuggestions")]);if(t(5,v=(p||[]).map(fe=>(fe._expanded===void 0&&(fe._expanded=!1),fe))),t(6,g=F||null),t(35,x=$||[]),t(36,ce=x.length),k&&!E)if(p&&p.length>0&&p[0].nodePath)t(13,E=p[0].nodePath);else try{t(13,E=await ee("GetNodeTitle",k))}catch{t(13,E="")}}catch{t(5,v=[]),t(6,g=null),t(35,x=[]),t(36,ce=0)}}async function $t(p){try{const F=await ee("SaveWorklogReport",p,m,b,k,y,j,T);t(14,M=F),setTimeout(()=>t(14,M=""),4e3)}catch(F){if(String(F).includes("отменено"))return;t(14,M="Ошибка: "+String(F)),setTimeout(()=>t(14,M=""),6e3)}}let nn;async function _l(p){if(p._expanded=!p._expanded,t(5,v),p._expanded&&!p._events&&p._hasEvents===void 0)try{p._events=await ee("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0,t(5,v)}catch{p._events=[],p._hasEvents=!1,t(5,v)}}async function gl(p){if(p._expanded=!p._expanded,p._expanded&&p.source==="suggestion"&&!p._events&&p._hasEvents===void 0)try{p._events=await ee("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0}catch(F){F._events=[],F._hasEvents=!1}t(27,W)}async function Ws(){const p=I.trim();if(!p||p.length<2){t(16,N=[]),t(17,A=!1);return}try{t(16,N=await ee("SearchNodes",p)||[]),t(17,A=N.length>0)}catch{t(16,N=[]),t(17,A=!1)}}function Vs(){clearTimeout(nn),nn=setTimeout(Ws,200)}function on(p){t(10,k=p.id),t(13,E=p.path||p.title),t(9,y=!0),t(15,I=""),t(16,N=[]),t(17,A=!1),Ot()}function sn(){t(10,k=""),t(9,y=!1),t(13,E=""),t(15,I=""),t(16,N=[]),t(17,A=!1),Ot()}function Us(){t(7,m=""),t(8,b=""),t(10,k=""),t(9,y=!1),t(11,j="all"),t(12,T="all"),t(13,E=""),t(15,I=""),t(16,N=[]),t(17,A=!1),Ot()}async function rn(){const p=await ee("PickFile");if(!p)return;const F=ge||P.id;await vl(F,p)}async function Ks(){const p=await ee("PickDirectory");if(!p)return;const F=ge||P.id;await vl(F,p)}async function vl(p,F){t(49,ze=!0);try{const $=await ee("PreviewImport",F);t(50,be=$),Me=F,Be=p,t(51,We=!0)}catch($){t(20,R=String($))}t(49,ze=!1)}async function hl(p){try{const F=Be||P.id,$=p==="copy"?await ee("AddPathCopy",F,Me):await ee("AddPathLink",F,Me);t(51,We=!1),t(50,be=null),t(55,pe=[]),t(54,ge=null),await Promise.all([Fl(F),Qe(F),pl(F)])}catch(F){t(20,R=String(F))}}function Gs(){t(51,We=!1),t(50,be=null)}async function an({id:p,type:F}){const $=_(F==="folder"?"delete.folder":"delete.file");Kt({title:_("delete.confirmTitle"),message:_("delete.confirmMessage")+" "+$+"?",confirmText:_("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteFileOrFolder",p),X=X.filter(Ye=>Ye.nodeId!==p);const fe=ge||P.id;await Qe(fe)}catch(fe){t(20,R=String(fe))}}})}async function Js(p){if(!p||p.length===0)return;if(!P){t(20,R=_("error.selectCaseFirst"));return}const F=p[0];await vl(P.id,F)}function qs(p){return{note_created:_("event.noteCreated"),note_updated:_("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:_("event.fileAdded"),file_deleted:_("event.fileDeleted"),file_renamed:_("event.fileRenamed"),file_copied:_("event.fileCopied"),file_moved:_("event.fileMoved"),folder_added:_("event.folderAdded"),folder_deleted:_("event.folderDeleted"),folder_renamed:_("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:_("event.caseCreated"),node_updated:_("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[p]||p}function Ys(p){return{project:_("kind.project"),client:_("kind.client"),document:_("kind.document"),recipe:_("kind.recipe"),folder:_("kind.folder"),note:_("kind.note"),file:_("kind.file"),archive:_("kind.archive"),case:_("kind.case")}[p]||p||_("kind.case")}function Xs(){t(44,_e=!0),t(45,je=""),t(46,qe="open_url"),t(47,Le="")}function Zs(){t(44,_e=!1),t(45,je=""),t(47,Le="")}async function yl(){if(!(!je.trim()||!Le.trim()||!P))try{const p=await ee("CreateAction",P.id,qe,je.trim(),Le.trim());p&&p.id&&t(26,Y=[...Y,p]),t(44,_e=!1),t(45,je=""),t(47,Le="")}catch(p){t(20,R=String(p))}}async function cn(p){try{await ee("DeleteAction",p),t(26,Y=Y.filter(F=>F.id!==p))}catch(F){t(20,R=String(F))}}function Qs(p){const F=$e.find($=>$.id===p);return F?F.label:p}async function gt(p){try{const F=await ee("GetNodeDetail",p);F&&Nt(F)}catch(F){t(20,R=String(F))}}async function Et(p){const F=Lf(p),$=F.nodeId;if($)try{const fe=await ee("GetNodeDetail",$);if(!fe)return;if(Nt(fe),F.tab==="notes"){if(t(23,H="notes"),F.targetId){try{t(24,U=await ee("ListNotes",$)||[])}catch{}const Ye=U.find(rt=>rt.id===F.targetId);Ye&&setTimeout(()=>Pt(Ye),100)}}else if(F.tab==="files")if(t(23,H="files"),F.targetId)try{const Ye=await ee("GetNodeDetail",F.targetId);if(Ye&&Ye.parent_id){await Qe(Ye.parent_id);const rt=me.find(bl=>bl.id===F.targetId);rt&&rt.type==="file"&&Lc(rt)&&setTimeout(()=>xt(rt),150)}else await Qe($)}catch{await Qe($)}else await Qe($)}catch(fe){t(20,R=String(fe))}}async function It(p){return Et(p)}async function Jt(){try{t(73,mt=await ee("SyncStatus"))}catch{t(73,mt={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}function xs(){t(72,Ct=!0),t(75,Ft=(mt==null?void 0:mt.serverUrl)||""),t(76,jt=""),t(77,Tt=""),t(78,St=(mt==null?void 0:mt.syncInterval)||0),t(79,xe="")}function $s(){t(72,Ct=!1),t(79,xe="")}async function er(){t(74,ft=!0),t(79,xe="");try{await ee("SyncConfigure",Ft,jt,Tt),St>0&&await ee("SyncSetInterval",St),t(77,Tt=""),t(76,jt=""),await Jt(),t(72,Ct=!1)}catch(p){t(79,xe="err: "+String(p))}t(74,ft=!1)}async function tr(){t(74,ft=!0),t(79,xe="");try{await ee("SyncSetInterval",St),t(79,xe=_("sync.settingsSaved")),await Jt()}catch(p){t(79,xe="err: "+String(p))}t(74,ft=!1)}async function lr(){t(74,ft=!0),t(79,xe="");try{await ee("SyncTestConnection",Ft,jt,Tt),t(79,xe="connection ok")}catch(p){t(79,xe="connection failed: "+String(p))}t(74,ft=!1)}async function nr(){t(74,ft=!0),t(79,xe="");try{await ee("SyncDisconnect"),t(79,xe="disconnected"),await Jt()}catch(p){t(79,xe="err: "+String(p))}t(74,ft=!1)}async function ir(){t(74,ft=!0),t(79,xe="");try{const p=await ee("SyncNow");t(79,xe="pushed "+p.pushed+", pulled "+p.pulled+" (seq "+p.serverSequence+")"),await Jt()}catch(p){t(79,xe="err: "+String(p))}t(74,ft=!1)}const or=p=>p.nodeId===P.id,sr=p=>Dl(p.id),rr=()=>t(20,R=""),ar=()=>t(20,R=""),cr=()=>t(20,R="");function ur(){K.content=this.value,t(25,K)}const fr=p=>{t(23,H=p.id),p.id==="files"&&P&&me.length===0&&!ge&&Qe(P.id)},dr=()=>{t(23,H="notes"),xl()},pr=()=>{t(23,H="files"),rn()},mr=()=>t(23,H="worklog"),_r=p=>Pt(p),gr=p=>Pt(p);function vr(){oe=this.value,t(43,oe)}const hr=p=>p.key==="Enter"&&$l(),yr=p=>Pt(p),br=p=>Pt(p),kr=p=>{const F=p.detail;F===0?(t(55,pe=[]),t(54,ge=null),Qe(P.id)):Ll(F-1)},wr=p=>cl(p.detail),Cr=p=>xt(p.detail),jr=p=>ee("OpenFile",p.detail),Tr=p=>ee("OpenFolder",p.detail),Sr=p=>an(p.detail),Nr=p=>Ol(p.detail.id),Er=p=>Pl(p.detail),Ir=p=>Rl(p.detail),Mr=p=>zl(p.detail),Dr=p=>Wl(p.detail),Fr=p=>Hl(p.detail),Ar=p=>Vl(p.detail),Lr=p=>ee("OpenFile",p.detail),Pr=p=>ee("RunAction",p.id),Or=p=>cn(p.id),Rr=p=>p.nodeId===P.id,zr=p=>ml(p),Br=(p,F,$)=>t(35,F[$]._expanded=!p._expanded,x,t(22,P)),Hr=(p,F,$,fe)=>fe.key==="Enter"&&t(35,F[$]._expanded=!p._expanded,x,t(22,P)),Wr=p=>Et(p),Vr=p=>Lt(p.nodeId),Ur=p=>Et(p),Kr=p=>Lt(p.nodeId),Gr=p=>gl(p),Jr=(p,F)=>F.key==="Enter"&&gl(p),qr=p=>It(p),Yr=(p,F)=>F.key==="Enter"&&It(p);function Xr(){m=this.value,t(7,m)}function Zr(){b=this.value,t(8,b)}const Qr=()=>{t(15,I=""),t(13,E=""),sn()};function xr(){I=this.value,t(15,I)}const $r=()=>setTimeout(()=>t(17,A=!1),200),ea=p=>on(p);function ta(){y=this.checked,t(9,y)}function la(){j=wl(this),t(11,j)}function na(){T=wl(this),t(12,T)}const ia=()=>$t("csv"),oa=()=>$t("markdown"),sa=()=>$t("pdf"),ra=p=>gt(p.nodeId),aa=(p,F,$,fe)=>t(35,F[$].suggestedMin=parseInt(fe.target.value),x),ca=p=>ln(p),ua=(p,F,$)=>t(35,F[$]._expanded=!p._expanded,x),fa=(p,F,$,fe)=>fe.key==="Enter"&&t(35,F[$]._expanded=!p._expanded,x),da=p=>Et(p),pa=p=>Lt(p.nodeId),ma=p=>gt(p.nodeId),_a=p=>_l(p),ga=(p,F)=>F.key==="Enter"&&_l(p),va=p=>Et(p),ha=p=>gt(p.nodeId),ya=(p,F,$,fe)=>t(35,F[$].suggestedMin=parseInt(fe.target.value),x),ba=p=>ml(p),ka=(p,F,$)=>t(35,F[$]._expanded=!p._expanded,x),wa=(p,F,$,fe)=>fe.key==="Enter"&&t(35,F[$]._expanded=!p._expanded,x),Ca=p=>Et(p),ja=p=>Lt(p.nodeId),Ta=p=>gt(p.nodeId),Sa=(p,F)=>F.key==="Enter"&>(p.nodeId),Na=p=>gt(p.nodeId),Ea=(p,F)=>F.key==="Enter"&>(p.nodeId),Ia=p=>It(p),Ma=(p,F)=>F.key==="Enter"&&It(p),Da=p=>It(p),Fa=(p,F)=>F.key==="Enter"&&It(p),Aa=()=>t(40,Ce=null),La=p=>t(40,Ce=p);function Pa(){Ee=this.value,t(38,Ee)}const Oa=p=>p.key==="Enter"&&Yl(),Ra=p=>ql(p),za=()=>Ql(G.node),Ba=()=>Xl(G.node),Ha=()=>Zl(G.node),Wa=()=>Lt(G.node);function Va(){le=this.value,t(31,le)}function Ua(){Q=this.value,t(29,Q)}function Ka(){z=il(this.value),t(30,z)}function Ga(){ve=this.value,t(32,ve)}function Ja(){ie=this.checked,t(33,ie)}function qa(){te=this.checked,t(34,te)}function Ya(){je=this.value,t(45,je)}const Xa=p=>p.key==="Enter"&&yl();function Za(){qe=wl(this),t(46,qe),t(80,$e)}function Qa(){Le=this.value,t(47,Le)}const xa=p=>p.key==="Enter"&&yl(),$a=()=>hl("copy"),ec=()=>hl("link");function tc(){pt=this.value,t(70,pt)}function lc(){Ft=this.value,t(75,Ft)}function nc(){jt=this.value,t(76,jt)}function ic(){Tt=this.value,t(77,Tt)}function oc(){St=il(this.value),t(78,St)}return[n,o,s,r,c,v,g,m,b,y,k,j,T,E,M,I,N,A,S,O,R,B,P,H,U,K,Y,W,J,Q,z,le,ve,ie,te,x,ce,Te,Ee,Re,Ce,G,Z,oe,_e,je,qe,Le,nt,ze,be,We,Ie,Fe,ge,pe,me,De,Ae,lt,Se,re,se,Ue,Ge,Pe,He,Ut,ne,_t,pt,Ze,Ct,mt,ft,Ft,jt,Tt,St,xe,$e,us,Dl,Nt,Qe,cl,Al,Ll,xt,ul,fs,Pl,Ol,Rl,zl,Bl,Hl,Wl,Vl,vs,hs,ys,Gl,ws,Cs,js,Ts,ql,Ss,Ns,Yl,Es,At,Is,Ms,Ds,Fs,As,Xl,Zl,Lt,Ql,xl,Ls,$l,Pt,Ps,Os,Rs,zs,Bs,Hs,ml,ln,Ot,$t,_l,gl,Vs,on,sn,Us,rn,Ks,hl,Gs,an,qs,Ys,Xs,Zs,yl,cn,Qs,gt,Et,It,xs,$s,er,tr,lr,nr,ir,or,sr,rr,ar,cr,ur,fr,dr,pr,mr,_r,gr,vr,hr,yr,br,kr,wr,Cr,jr,Tr,Sr,Nr,Er,Ir,Mr,Dr,Fr,Ar,Lr,Pr,Or,Rr,zr,Br,Hr,Wr,Vr,Ur,Kr,Gr,Jr,qr,Yr,Xr,Zr,Qr,xr,$r,ea,ta,la,na,ia,oa,sa,ra,aa,ca,ua,fa,da,pa,ma,_a,ga,va,ha,ya,ba,ka,wa,Ca,ja,Ta,Sa,Na,Ea,Ia,Ma,Da,Fa,Aa,La,Pa,Oa,Ra,za,Ba,Ha,Wa,Va,Ua,Ka,Ga,Ja,qa,Ya,Xa,Za,Qa,xa,$a,ec,tc,lc,nc,ic,oc]}class Of extends kt{constructor(e){super(),bt(this,e,Pf,Af,ht,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new Of({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-oJnEtKWF.css b/cmd/verstak-gui/frontend-dist/assets/main-oJnEtKWF.css deleted file mode 100644 index e5c3211..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-oJnEtKWF.css +++ /dev/null @@ -1 +0,0 @@ -.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-ss7lnu{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-ss7lnu{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-ss7lnu:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-ss7lnu{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-ss7lnu{opacity:.4;cursor:default}.settings-nav-icon.svelte-ss7lnu{font-size:1rem;width:1.4rem;text-align:center;flex-shrink:0}.settings-nav-label.svelte-ss7lnu{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-1pkhf37.svelte-1pkhf37{padding:1.5rem;max-width:600px}.settings-section.svelte-1pkhf37 h2.svelte-1pkhf37{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1pkhf37.svelte-1pkhf37{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1pkhf37.svelte-1pkhf37{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1pkhf37.svelte-1pkhf37{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-1pkhf37.svelte-1pkhf37{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1pkhf37.svelte-1pkhf37:last-child{border-bottom:none}.info-label.svelte-1pkhf37.svelte-1pkhf37{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1pkhf37.svelte-1pkhf37{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1pkhf37.svelte-1pkhf37{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1pkhf37.svelte-1pkhf37{font-size:.8rem}.workspace-actions.svelte-1pkhf37.svelte-1pkhf37{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.no-data.svelte-1pkhf37.svelte-1pkhf37{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-1c6avdh.svelte-1c6avdh{padding:1.5rem;max-width:600px}.settings-section.svelte-1c6avdh h2.svelte-1c6avdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1c6avdh.svelte-1c6avdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1c6avdh.svelte-1c6avdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1c6avdh.svelte-1c6avdh{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1c6avdh.svelte-1c6avdh:last-child{border-bottom:none}.info-label.svelte-1c6avdh.svelte-1c6avdh{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1c6avdh.svelte-1c6avdh{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1c6avdh.svelte-1c6avdh{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1c6avdh.svelte-1c6avdh{color:#ff6b6b}.status-ok.svelte-1c6avdh.svelte-1c6avdh{color:#34d399;font-weight:600}.status-err.svelte-1c6avdh.svelte-1c6avdh{color:#ff6b6b}.sync-actions.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1c6avdh.svelte-1c6avdh{margin-bottom:0}.interval-row.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1c6avdh input.svelte-1c6avdh{width:100px}.sync-setup.svelte-1c6avdh .form-group.svelte-1c6avdh{margin-bottom:1rem}.sync-setup.svelte-1c6avdh .form-group.svelte-1c6avdh:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1c6avdh.svelte-1c6avdh{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1c6avdh.svelte-1c6avdh{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1c6avdh.svelte-1c6avdh{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1c6avdh.svelte-1c6avdh{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1c6avdh.svelte-1c6avdh{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-1c6avdh.svelte-1c6avdh{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.modal-overlay.svelte-1c6avdh.svelte-1c6avdh{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-1c6avdh.svelte-1c6avdh{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-1c6avdh h3.svelte-1c6avdh{margin:0 0 .75rem}.modal-desc.svelte-1c6avdh.svelte-1c6avdh{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1c6avdh.svelte-1c6avdh{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-jpp4rd{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-jpp4rd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-jpp4rd{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-jpp4rd{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-jpp4rd{background:#f59e0b}.dot-disabled.svelte-jpp4rd{background:#555}.dot-syncing.svelte-jpp4rd{background:#818cf8;animation:svelte-jpp4rd-pulse 1s infinite}@keyframes svelte-jpp4rd-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-jpp4rd{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-jpp4rd{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-jpp4rd{display:flex;gap:.3rem;margin-left:auto}.btn-xs.svelte-jpp4rd{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-jpp4rd:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-jpp4rd:disabled{opacity:.5;cursor:default}.btn-link.svelte-jpp4rd{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-jpp4rd:hover{color:#a5b4fc;background:transparent}.svelte-1ofkctg.svelte-1ofkctg,.svelte-1ofkctg.svelte-1ofkctg:before,.svelte-1ofkctg.svelte-1ofkctg:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1ofkctg.svelte-1ofkctg{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1ofkctg.svelte-1ofkctg{font-size:20px;line-height:1}.brand-name.svelte-1ofkctg.svelte-1ofkctg{font-size:16px;font-weight:600}.sidebar-nav.svelte-1ofkctg.svelte-1ofkctg{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:16px}.nav-label.svelte-1ofkctg.svelte-1ofkctg{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#223}.nav-item.selected.svelte-1ofkctg.svelte-1ofkctg{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1ofkctg.svelte-1ofkctg{min-height:32px}.workspace-tree-area.drop-valid.svelte-1ofkctg.svelte-1ofkctg{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-1ofkctg.svelte-1ofkctg{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1ofkctg.svelte-1ofkctg:hover{color:#ccc}.context-menu-backdrop.svelte-1ofkctg.svelte-1ofkctg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1ofkctg.svelte-1ofkctg{color:#ff6b6b}.context-menu-item.danger.svelte-1ofkctg.svelte-1ofkctg:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1ofkctg.svelte-1ofkctg{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1ofkctg.svelte-1ofkctg{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;justify-content:space-between}.version.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555;text-align:center}.main.svelte-1ofkctg.svelte-1ofkctg{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1ofkctg.svelte-1ofkctg{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-1ofkctg.svelte-1ofkctg:active{background:#252545;color:#818cf8}.header-settings-btn.svelte-1ofkctg.svelte-1ofkctg{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}.header-settings-btn.svelte-1ofkctg.svelte-1ofkctg:hover{background:#1e1e38;color:#a5b4fc}.header-settings-btn.svelte-1ofkctg.svelte-1ofkctg:active{background:#252545;color:#818cf8}.crumb.svelte-1ofkctg.svelte-1ofkctg{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1ofkctg.svelte-1ofkctg{color:#666}.crumb-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1ofkctg.svelte-1ofkctg:hover{color:#f44}.tabs.svelte-1ofkctg.svelte-1ofkctg{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1ofkctg.svelte-1ofkctg{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1ofkctg.svelte-1ofkctg:hover{color:#a5b4fc}.tab.active.svelte-1ofkctg.svelte-1ofkctg{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-1ofkctg.svelte-1ofkctg{flex:1;overflow-y:auto}.note-editor.svelte-1ofkctg.svelte-1ofkctg{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1ofkctg.svelte-1ofkctg{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1ofkctg.svelte-1ofkctg{font-size:16px;font-weight:500}.dirty-mark.svelte-1ofkctg.svelte-1ofkctg{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1ofkctg.svelte-1ofkctg{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{padding:24px}.overview.svelte-1ofkctg h2.svelte-1ofkctg{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1ofkctg.svelte-1ofkctg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1ofkctg.svelte-1ofkctg{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1ofkctg.svelte-1ofkctg{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#223}.qa-btn.svelte-1ofkctg.svelte-1ofkctg:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:24px}.recent-section.svelte-1ofkctg h3.svelte-1ofkctg{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1ofkctg.svelte-1ofkctg{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1ofkctg.svelte-1ofkctg:hover{background:#1a1a28}.recent-date.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555}.recent-entry.svelte-1ofkctg.svelte-1ofkctg{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1ofkctg.svelte-1ofkctg{padding:24px}.tab-toolbar.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:16px}.create-form.svelte-1ofkctg.svelte-1ofkctg{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1ofkctg input.svelte-1ofkctg{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-1ofkctg input.svelte-1ofkctg:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px}.notes-list.svelte-1ofkctg.svelte-1ofkctg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1ofkctg.svelte-1ofkctg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1ofkctg.svelte-1ofkctg:hover{border-color:#3a3a5c}.note-card-title.svelte-1ofkctg.svelte-1ofkctg{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555}.worklog-tab.svelte-1ofkctg.svelte-1ofkctg{padding:24px}.worklog-toolbar.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:16px}.worklog-entry.svelte-1ofkctg.svelte-1ofkctg{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-1ofkctg.svelte-1ofkctg{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-1ofkctg.svelte-1ofkctg{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-1ofkctg.svelte-1ofkctg{border-color:#3a3a5c}.suggestion-detail.svelte-1ofkctg.svelte-1ofkctg{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-1ofkctg.svelte-1ofkctg{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-1ofkctg.svelte-1ofkctg{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-1ofkctg.svelte-1ofkctg:last-child{margin-bottom:0}.suggestion-info.svelte-1ofkctg.svelte-1ofkctg{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-1ofkctg.svelte-1ofkctg{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-1ofkctg.svelte-1ofkctg:hover{text-decoration:underline}.suggestion-actions.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-1ofkctg.svelte-1ofkctg{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-1ofkctg.svelte-1ofkctg{color:#fbbf24}.suggestion-confidence.medium.svelte-1ofkctg.svelte-1ofkctg{color:#60a5fa}.suggestion-confidence.high.svelte-1ofkctg.svelte-1ofkctg{color:#34d399}.journal-screen.svelte-1ofkctg.svelte-1ofkctg{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:24px}.journal-header.svelte-1ofkctg h2.svelte-1ofkctg{margin:0 0 16px}.journal-summary.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-1ofkctg.svelte-1ofkctg{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:200px}.summary-label.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-1ofkctg span.svelte-1ofkctg:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-1ofkctg.svelte-1ofkctg{color:#8888a0}.journal-table-wrap.svelte-1ofkctg.svelte-1ofkctg{overflow-x:auto}.journal-table.svelte-1ofkctg.svelte-1ofkctg{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-1ofkctg th.svelte-1ofkctg{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-1ofkctg td.svelte-1ofkctg{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-1ofkctg tr:hover td.svelte-1ofkctg{background:#1e1e32}.journal-table.svelte-1ofkctg .link-btn.svelte-1ofkctg{color:#a5b4fc}.journal-path-cell.svelte-1ofkctg.svelte-1ofkctg{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-1ofkctg.svelte-1ofkctg{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-1ofkctg.svelte-1ofkctg{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-1ofkctg.svelte-1ofkctg{text-align:center;color:#a0a0b8}.journal-row.svelte-1ofkctg.svelte-1ofkctg{cursor:pointer}.journal-row.svelte-1ofkctg:hover td.svelte-1ofkctg{background:#1e1e32}.journal-row.expanded.svelte-1ofkctg td.svelte-1ofkctg{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-1ofkctg.svelte-1ofkctg{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-1ofkctg td.svelte-1ofkctg{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-1ofkctg.svelte-1ofkctg{font-size:13px}.journal-detail-label.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-1ofkctg p.svelte-1ofkctg{margin:0;color:#c0c0d0}.journal-event-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-1ofkctg.svelte-1ofkctg{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-1ofkctg.svelte-1ofkctg{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-1ofkctg input[type=text].svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#2a2a4a}.journal-search-title.svelte-1ofkctg.svelte-1ofkctg{display:block;font-weight:500}.journal-search-path.svelte-1ofkctg.svelte-1ofkctg{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#2a2a4a}.journal-node-clear.svelte-1ofkctg.svelte-1ofkctg{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-1ofkctg.svelte-1ofkctg{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:24px}.link-btn.svelte-1ofkctg.svelte-1ofkctg{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-1ofkctg.svelte-1ofkctg:hover{text-decoration:underline}.nav-badge.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{padding:24px}.action-card.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1ofkctg.svelte-1ofkctg{font-weight:500}.action-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1ofkctg .btn-danger.svelte-1ofkctg{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1ofkctg .btn-danger.svelte-1ofkctg:hover{background:#3a2222}.empty-state.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1ofkctg p.svelte-1ofkctg{margin:0;font-size:14px;color:#666}.empty-state.svelte-1ofkctg .empty-icon.svelte-1ofkctg{margin-bottom:12px;color:#444}.empty-state.svelte-1ofkctg .hint.svelte-1ofkctg{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1ofkctg .empty-actions.svelte-1ofkctg{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-1ofkctg.svelte-1ofkctg{padding:48px 24px;text-align:center}.welcome.svelte-1ofkctg h2.svelte-1ofkctg{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1ofkctg p.svelte-1ofkctg{color:#666;font-size:14px}.error-text.svelte-1ofkctg.svelte-1ofkctg{color:#f88}.modal-overlay.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1ofkctg h3.svelte-1ofkctg{font-size:18px;margin-bottom:16px}.modal.svelte-1ofkctg textarea.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg{width:460px}.form-group.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:12px}.form-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-1ofkctg label.svelte-1ofkctg{display:block}.form-group.svelte-1ofkctg .label-text.svelte-1ofkctg,.form-group.svelte-1ofkctg .form-label.svelte-1ofkctg{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1ofkctg input.svelte-1ofkctg,.form-group.svelte-1ofkctg select.svelte-1ofkctg{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-1ofkctg select.svelte-1ofkctg{-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-1ofkctg input.svelte-1ofkctg:focus,.form-group.svelte-1ofkctg select.svelte-1ofkctg:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-1ofkctg.svelte-1ofkctg{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1ofkctg.svelte-1ofkctg:hover{background:#223}.btn-primary.svelte-1ofkctg.svelte-1ofkctg{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1ofkctg.svelte-1ofkctg:hover{background:#4f46e5}.btn.svelte-1ofkctg.svelte-1ofkctg:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1ofkctg.svelte-1ofkctg{padding:4px 10px;font-size:12px}.btn-danger.svelte-1ofkctg.svelte-1ofkctg{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1ofkctg.svelte-1ofkctg: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-1ofkctg.svelte-1ofkctg{padding:20px}.files-tab.svelte-1ofkctg .tab-toolbar.svelte-1ofkctg{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column}.back-btn.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:16px}.summary-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1ofkctg.svelte-1ofkctg{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1ofkctg.svelte-1ofkctg{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1ofkctg.svelte-1ofkctg{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-1ofkctg.svelte-1ofkctg:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1ofkctg.svelte-1ofkctg{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1ofkctg.svelte-1ofkctg{font-weight:500}.template-card-desc.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#888}.today-dashboard.svelte-1ofkctg.svelte-1ofkctg{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-1ofkctg h2.svelte-1ofkctg{font-size:24px}.today-date.svelte-1ofkctg.svelte-1ofkctg{font-size:13px;color:#666}.today-summary.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-1ofkctg.svelte-1ofkctg{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-1ofkctg.svelte-1ofkctg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-1ofkctg.svelte-1ofkctg{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-1ofkctg.svelte-1ofkctg:hover{background:#1e1e30}.today-case-title.svelte-1ofkctg.svelte-1ofkctg{font-weight:500}.today-case-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-1ofkctg.svelte-1ofkctg{padding:8px 16px}.today-event.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-1ofkctg.svelte-1ofkctg:hover{color:#e4e4ef}.today-event-icon.svelte-1ofkctg.svelte-1ofkctg{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-1ofkctg.svelte-1ofkctg{flex:1}.today-event-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#666}.today-event-time.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-1ofkctg.svelte-1ofkctg{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-1ofkctg.svelte-1ofkctg{padding:48px 24px;text-align:center}.today-empty.svelte-1ofkctg p.svelte-1ofkctg{color:#666;font-size:14px;margin:0}.today-empty.svelte-1ofkctg .hint.svelte-1ofkctg{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-1ofkctg.svelte-1ofkctg{margin-top:24px}.today-timeline.svelte-1ofkctg h3.svelte-1ofkctg{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-1ofkctg.svelte-1ofkctg:hover{color:#e4e4ef}.timeline-dot.svelte-1ofkctg.svelte-1ofkctg{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-1ofkctg.svelte-1ofkctg{flex:1}.timeline-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#666}.timeline-time.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555}.activity-tab.svelte-1ofkctg.svelte-1ofkctg{padding:24px}.activity-events.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1ofkctg.svelte-1ofkctg:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1ofkctg.svelte-1ofkctg{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1ofkctg.svelte-1ofkctg{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1ofkctg.svelte-1ofkctg{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:20px}.activity-feed-header.svelte-1ofkctg h2.svelte-1ofkctg{font-size:24px}.activity-feed-events.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1ofkctg.svelte-1ofkctg:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1ofkctg.svelte-1ofkctg{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:0}.activity-feed-title.svelte-1ofkctg.svelte-1ofkctg{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#666}.activity-feed-target.svelte-1ofkctg.svelte-1ofkctg{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;color:#555}.journal-filter-section.svelte-1ofkctg.svelte-1ofkctg{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-1ofkctg label.svelte-1ofkctg{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-1ofkctg input[type=date].svelte-1ofkctg{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-1ofkctg .checkbox-label.svelte-1ofkctg{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-1ofkctg .checkbox-label input.svelte-1ofkctg{width:auto}.journal-export-section.svelte-1ofkctg.svelte-1ofkctg{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-1ofkctg.svelte-1ofkctg{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-1ofkctg.svelte-1ofkctg{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-1ofkctg.svelte-1ofkctg{color:#6366f1;font-size:12px}.worklog-entry.svelte-1ofkctg.svelte-1ofkctg{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-1ofkctg.svelte-1ofkctg:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-1ofkctg.svelte-1ofkctg{border-color:#6366f1}.worklog-entry-head.svelte-1ofkctg.svelte-1ofkctg{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-1ofkctg.svelte-1ofkctg{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-1ofkctg.svelte-1ofkctg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-1ofkctg.svelte-1ofkctg{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-1ofkctg.svelte-1ofkctg{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-1ofkctg.svelte-1ofkctg{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-1ofkctg.svelte-1ofkctg{font-size:13px}.wl-detail-label.svelte-1ofkctg.svelte-1ofkctg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-1ofkctg p.svelte-1ofkctg{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-1ofkctg.svelte-1ofkctg{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-1ofkctg.svelte-1ofkctg{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-1ofkctg.svelte-1ofkctg{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-1ofkctg input.svelte-1ofkctg{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index 320f574..43e3ef4 100644 --- a/cmd/verstak-gui/frontend-dist/index.html +++ b/cmd/verstak-gui/frontend-dist/index.html @@ -16,8 +16,8 @@ background: #13131f; } - - + +
diff --git a/cmd/verstak-gui/main.go b/cmd/verstak-gui/main.go index 7578bfa..712831c 100644 --- a/cmd/verstak-gui/main.go +++ b/cmd/verstak-gui/main.go @@ -17,6 +17,9 @@ var assets embed.FS func main() { app := &App{} + // Fix WebKit signal handler for Go 1.24+ compatibility + ensureSignalOnStack() + err := wails.Run(&options.App{ Title: "Верстак", Width: 1280, diff --git a/cmd/verstak-gui/sigfix.go b/cmd/verstak-gui/sigfix.go new file mode 100644 index 0000000..a5eb4ea --- /dev/null +++ b/cmd/verstak-gui/sigfix.go @@ -0,0 +1,38 @@ +package main + +/* +#define _GNU_SOURCE +#include +#include + +// fixSigsegvOnStack adds SA_ONSTACK to the current SIGSEGV handler. +// Go 1.24+ requires all signal handlers to have SA_ONSTACK set, +// but WebKit/JavaScriptCore installs a SIGSEGV handler without it. +void fixSigsegvOnStack(void) { + struct sigaction act; + if (sigaction(SIGSEGV, NULL, &act) == 0) { + if (!(act.sa_flags & SA_ONSTACK)) { + act.sa_flags |= SA_ONSTACK; + sigaction(SIGSEGV, &act, NULL); + } + } +} +*/ +import "C" + +import "time" + +// ensureSignalOnStack periodically ensures SIGSEGV handler has SA_ONSTACK. +// This is needed because WebKit/JavaScriptCore installs a SIGSEGV handler +// without SA_ONSTACK, which causes Go 1.24+ to crash with: +// "non-Go code set up signal handler without SA_ONSTACK flag" +func ensureSignalOnStack() { + // Apply once after a short delay to let WebKit initialize + go func() { + // Retry a few times since WebKit may re-install its handler + for i := 0; i < 10; i++ { + time.Sleep(200 * time.Millisecond) + C.fixSigsegvOnStack() + } + }() +} diff --git a/cmd/verstak-gui/vault_check.go b/cmd/verstak-gui/vault_check.go index 91b6bd1..b1cb750 100644 --- a/cmd/verstak-gui/vault_check.go +++ b/cmd/verstak-gui/vault_check.go @@ -25,6 +25,9 @@ type VaultCheckResult struct { } func (a *App) VaultCheck() (*VaultCheckResult, error) { + if err := a.requireVault(); err != nil { + return nil, err + } result := &VaultCheckResult{Healthy: true} // Build a set of all node IDs for ancestor check diff --git a/cmd/verstak-gui/vault_migrate.go b/cmd/verstak-gui/vault_migrate.go index 210da83..9b03f87 100644 --- a/cmd/verstak-gui/vault_migrate.go +++ b/cmd/verstak-gui/vault_migrate.go @@ -13,6 +13,9 @@ import ( // parent-child relationships and creates human-readable folders in the vault. // It performs a dry-run if dryRun is true. func (a *App) MigrateVaultLayout(dryRun bool) (*MigrationReport, error) { + if err := a.requireVault(); err != nil { + return nil, err + } report := &MigrationReport{} // Load all nodes diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index 3df09ff..04b5dc6 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -60,6 +60,12 @@ let caseActivity = [] let version = '' let error = '' + function translateError(msg) { + const map = { + 'vault not open': t('error.vaultNotOpen'), + } + return map[msg] || msg + } let selectedSection = '' let selectedNode = null let activeTab = 'overview' @@ -1518,8 +1524,8 @@ openSettings('sync')} />
-
{#if error}
error = ''} on:keydown={onKeyActivate(() => error = '')}> - {error} + {translateError(error)}