diff --git a/cmd/verstak-gui/bindings_worklog.go b/cmd/verstak-gui/bindings_worklog.go index 8e8a7d6..7f4dce6 100644 --- a/cmd/verstak-gui/bindings_worklog.go +++ b/cmd/verstak-gui/bindings_worklog.go @@ -6,8 +6,8 @@ import ( wailsruntime "github.com/wailsapp/wails/v2/pkg/runtime" - "verstak/internal/core/worklog" syncsvc "verstak/internal/core/sync" + "verstak/internal/core/worklog" ) func (a *App) ListWorklog(nodeID string) ([]WorklogDTO, error) { @@ -45,6 +45,32 @@ func (a *App) CreateWorklogFull(nodeID, summary, details, date string, minutes i return entryToDTO(entry), nil } +func (a *App) UpdateWorklogEntry(id, summary, details, date string, minutes int, approximate, billable bool) (*WorklogDTO, error) { + if err := a.requireVault(); err != nil { + return nil, err + } + if err := a.worklog.UpdateWithDate(id, summary, details, date, minutes, approximate, billable); err != nil { + return nil, err + } + entry, err := a.worklog.Get(id) + if err != nil { + return nil, err + } + _ = a.sync.RecordOp(syncsvc.EntityWorklog, entry.ID, syncsvc.OpUpdate, worklogPayload(entry)) + return entryToDTO(entry), nil +} + +func (a *App) DeleteWorklogEntry(id string) error { + if err := a.requireVault(); err != nil { + return err + } + if err := a.worklog.Delete(id); err != nil { + return err + } + _ = a.sync.RecordOp(syncsvc.EntityWorklog, id, syncsvc.OpDelete, nil) + return nil +} + // --- report bindings --- func (a *App) ListWorklogReport(dateFrom, dateTo, nodeID string, includeChildren bool, billableFilter, approxFilter string) ([]worklog.ReportRow, error) { diff --git a/cmd/verstak-gui/frontend-dist/assets/main-Cc1HprFt.js b/cmd/verstak-gui/frontend-dist/assets/main-Cc1HprFt.js new file mode 100644 index 0000000..2b1656e --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-Cc1HprFt.js @@ -0,0 +1,3 @@ +var za=Object.defineProperty;var Va=(l,e,t)=>e in l?za(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var Nl=(l,e,t)=>Va(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=t(s);fetch(s.href,o)}})();function ee(){}function yo(l){return l()}function Sn(){return Object.create(null)}function ge(l){l.forEach(yo)}function mt(l){return typeof l=="function"}function Ye(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let Zt;function ll(l,e){return l===e?!0:(Zt||(Zt=document.createElement("a")),Zt.href=e,l===Zt.href)}function Oa(l){return Object.keys(l).length===0}function jn(l){return l??""}const Ll=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function c(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 Ve(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Rl(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 ft(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 sl(l){return l===""?null:+l}function Wa(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 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 s=l.$$.callbacks[e];if(s){const o=Ba(e,t,{cancelable:n});return s.slice().forEach(r=>{r.call(l,o)}),!o.defaultPrevented}return!0}}function Co(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Ft=[],En=[];let Pt=[];const Tn=[],Ha=Promise.resolve();let Al=!1;function Ua(){Al||(Al=!0,Ha.then(So))}function St(l){Pt.push(l)}const Dl=new Set;let It=0;function So(){if(It!==0)return;const l=Ht;do{try{for(;Itl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Pt=e}const tl=new Set;let Ct;function tt(){Ct={r:0,c:[],p:Ct}}function lt(){Ct.r||ge(Ct.c),Ct=Ct.p}function re(l,e){l&&l.i&&(tl.delete(l),l.i(e))}function de(l,e,t,n){if(l&&l.o){if(tl.has(l))return;tl.add(l),Ct.c.push(()=>{tl.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 jo(l,e){de(l,1,1,()=>{e.delete(l.key)})}function Eo(l,e,t,n,s,o,r,u,a,d,_,v){let g=l.length,b=o.length,k=g;const y={};for(;k--;)y[l[k].key]=k;const S=[],j=new Map,E=new Map,D=[];for(k=b;k--;){const M=v(s,o,k),R=t(M);let V=r.get(R);V?D.push(()=>V.p(M,e)):(V=d(R,M),V.c()),j.set(R,S[k]=V),R in y&&E.set(R,Math.abs(k-y[R]))}const N=new Set,T=new Set;function I(M){re(M,1),M.m(u,_),r.set(M.key,M),_=M.first,b--}for(;g&&b;){const M=S[b-1],R=l[g-1],V=M.key,W=R.key;M===R?(_=M.first,g--,b--):j.has(W)?!r.has(V)||N.has(V)?I(M):T.has(W)?g--:E.get(V)>E.get(W)?(T.add(V),I(M)):(N.add(W),g--):(a(R,r),g--)}for(;g--;){const M=l[g];j.has(M.key)||a(M,r)}for(;b;)I(S[b-1]);return ge(D),S}function Ge(l){l&&l.c()}function He(l,e,t){const{fragment:n,after_update:s}=l.$$;n&&n.m(e,t),St(()=>{const o=l.$$.on_mount.map(yo).filter(mt);l.$$.on_destroy?l.$$.on_destroy.push(...o):ge(o),l.$$.on_mount=[]}),s.forEach(St)}function Ue(l,e){const t=l.$$;t.fragment!==null&&(Ga(t.after_update),ge(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Ja(l,e){l.$$.dirty[0]===-1&&(Ft.push(l),Ua(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const k=b.length?b[0]:g;return d.ctx&&s(d.ctx[v],d.ctx[v]=k)&&(!d.skip_bound&&d.bound[v]&&d.bound[v](k),_&&Ja(l,v)),g}):[],d.update(),_=!0,ge(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const v=Wa(e.target);d.fragment&&d.fragment.l(v),v.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&re(l.$$.fragment),He(l,e.target,e.anchor),So()}Bt(a)}class Xe{constructor(){Nl(this,"$$");Nl(this,"$$set")}$destroy(){Ue(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 s=n.indexOf(t);s!==-1&&n.splice(s,1)}}$set(e){this.$$set&&!Oa(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const qa="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(qa);function Ya(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Qa(l){let e,t,n,s,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),s=Q("line"),o=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(s,"x1","16"),i(s,"y1","17"),i(s,"x2","8"),i(s,"y2","17"),i(o,"points","10 9 9 9 8 9")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,s,u),C(r,o,u)},d(r){r&&(w(e),w(t),w(n),w(s),w(o))}}}function Xa(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Za(l){let e,t,n,s;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),s=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(s,"x","10"),i(s,"y","12"),i(s,"width","4"),i(s,"height","4"),i(s,"rx","1")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function xa(l){let e,t,n,s,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),s=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","9"),i(n,"y1","12"),i(n,"x2","15"),i(n,"y2","12"),i(s,"x1","9"),i(s,"y1","15"),i(s,"x2","13"),i(s,"y2","15"),i(o,"x1","12"),i(o,"y1","15"),i(o,"x2","12"),i(o,"y2","18")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,s,u),C(r,o,u)},d(r){r&&(w(e),w(t),w(n),w(s),w(o))}}}function $a(l){let e,t,n,s,o,r;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),s=Q("line"),o=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(s,"x1","8"),i(s,"y1","16"),i(s,"x2","16"),i(s,"y2","16"),i(o,"x1","8"),i(o,"y1","14"),i(o,"x2","12"),i(o,"y2","14"),i(r,"x1","12"),i(r,"y1","12"),i(r,"x2","12"),i(r,"y2","18")},m(u,a){C(u,e,a),C(u,t,a),C(u,n,a),C(u,s,a),C(u,o,a),C(u,r,a)},d(u){u&&(w(e),w(t),w(n),w(s),w(o),w(r))}}}function eu(l){let e,t,n,s;return{c(){e=Q("path"),t=Q("polyline"),n=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","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(s,"x1","16"),i(s,"y1","17"),i(s,"x2","8"),i(s,"y2","17")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function tu(l){let e,t,n,s,o;return{c(){e=Q("path"),t=Q("polyline"),n=Q("line"),s=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","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(s,"x1","8"),i(s,"y1","16"),i(s,"x2","16"),i(s,"y2","16"),i(o,"x1","8"),i(o,"y1","14"),i(o,"x2","12"),i(o,"y2","14")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,s,u),C(r,o,u)},d(r){r&&(w(e),w(t),w(n),w(s),w(o))}}}function lu(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(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},d(s){s&&(w(e),w(t),w(n))}}}function nu(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function su(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(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},d(s){s&&(w(e),w(t),w(n))}}}function iu(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 ou(l){let e;function t(o,r){return o[0]==="folder"?iu:o[0]==="image"?su:o[0]==="video"?nu:o[0]==="audio"?lu:o[0]==="pdf"?tu:o[0]==="document"?eu:o[0]==="spreadsheet"?$a:o[0]==="presentation"?xa:o[0]==="archive"?Za:o[0]==="code"?Xa:o[0]==="text"?Qa:Ya}let n=t(l),s=n(l);return{c(){e=Q("svg"),s.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(o,r){C(o,e,r),s.m(e,null)},p(o,[r]){n!==(n=t(o))&&(s.d(1),s=n(o),s&&(s.c(),s.m(e,null))),r&2&&i(e,"width",o[1]),r&2&&i(e,"height",o[1])},i:ee,o:ee,d(o){o&&w(e),s.d()}}}function cu(l,e,t){let{kind:n="generic"}=e,{size:s=20}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,s=o.size)},[n,s]}class To extends Xe{constructor(e){super(),Qe(this,e,cu,ou,Ye,{kind:0,size:1})}}const ru={"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.backLabel":"Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.editEntry":"Редактировать запись","worklog.deleteEntry":"Удалить запись","worklog.deleteConfirm":"Удалить эту запись работы? Связанные события останутся в активности, но связь с записью будет удалена.","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","error.vaultNotOpen":"Хранилище не открыто","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","settings.title":"Настройки","settings.general":"Общие","settings.generalDesc":"Основные настройки интерфейса.","settings.workspace":"Рабочее пространство","settings.workspaceDesc":"Управление хранилищем данных.","settings.appearance":"Внешний вид","settings.localization":"Локализация","settings.templates":"Шаблоны","settings.plugins":"Плагины","settings.files":"Файлы","settings.activity":"Активность","settings.sync":"Синхронизация","settings.backup":"Резервные копии","settings.close":"Закрыть настройки","settings.noPlugins":"Плагины пока не установлены.","settings.openPluginsDir":"Открыть папку plugins","settings.activityStub":"Здесь будут настройки отслеживания активности.","settings.backupStub":"Здесь будут настройки резервного копирования.","settings.theme":"Тема интерфейса","settings.themeSystem":"Системная","settings.themeLight":"Светлая","settings.themeDark":"Тёмная","settings.language":"Язык интерфейса","settings.langRu":"Русский","settings.langEn":"Английский","settings.langSoon":"будет доступно позже","settings.save":"Сохранить настройки","settings.saved":"Настройки сохранены","settings.vaultPath":"Путь к рабочему пространству","settings.noVaultInfo":"Нет информации о хранилище.","settings.vaultInfo":"Информация о рабочем пространстве","settings.openVault":"Открыть папку vault","settings.changeVault":"Изменить путь","settings.checkIntegrity":"Проверить целостность","settings.templatesDesc":"Включите или выключите шаблоны создания элементов.","settings.templateEnabled":"Включён","settings.templateDisabled":"Выключен","settings.filesStub":"Здесь будут настройки файлового хранилища.","settings.syncEnabled":"Синхронизация включена","settings.syncDisabled":"Синхронизация отключена","settings.syncDesc":"Настройте подключение к серверу синхронизации.","settings.serverUrl":"URL сервера","settings.deviceName":"Имя устройства","settings.deviceId":"ID устройства","settings.lastSync":"Последняя синхронизация","settings.lastError":"Последняя ошибка","settings.pendingChanges":"Ожидающие изменения","settings.checkConnection":"Проверить подключение","settings.syncNow":"Синхронизировать сейчас","settings.reconnect":"Переподключить","settings.disconnect":"Отключить устройство","settings.resetKey":"Сбросить ключ","settings.confirmDisconnect":"Вы уверены, что хотите отключить устройство?","settings.confirmDisconnectDesc":"Синхронизация будет остановлена. Для повторного подключения потребуется логин и пароль.","settings.confirmResetKey":"Сбросить ключ синхронизации?","settings.confirmResetKeyDesc":"Текущий ключ устройства будет удалён. Потребуется переподключение.","settings.connected":"Подключено","settings.disconnected":"Не подключено","settings.notConfigured":"Не настроено","settings.error":"Ошибка","settings.revoked":"Отозвано","settings.status":"Статус","firstrun.title":"Добро пожаловать в Верстак","firstrun.desc":"Верстак хранит данные в локальном рабочем пространстве — vault.","firstrun.pathLabel":"Путь к vault","firstrun.defaultPath":"Путь по умолчанию","firstrun.browse":"Выбрать папку","firstrun.create":"Создать рабочее пространство","firstrun.quit":"Выйти","firstrun.pathExists":"Папка существует. Будет создан новый vault.","firstrun.pathHasVault":"Найден существующий vault. Будет подключён.","firstrun.pathNew":"Путь не существует. Будет создан новый vault.","firstrun.errorNoWrite":"Нет прав на запись в выбранную папку.","firstrun.creating":"Создание рабочего пространства...","firstrun.created":"Рабочее пространство создано!","recovery.title":"Рабочее пространство не найдено","recovery.expected":"Ожидался путь","recovery.choose":"Выбрать другой vault","recovery.create":"Создать новый vault","recovery.settings":"Открыть настройки","recovery.quit":"Выйти","recovery.createConfirm":"Будет создано новое пустое рабочее пространство. Старый путь в настройках будет заменён.","recovery.createConfirmTitle":"Создать новое рабочее пространство?","sync.status.connected":"Синхронизация доступна","sync.status.disconnected":"Сервер недоступен","sync.status.disabled":"Синхронизация не настроена","sync.status.syncing":"Синхронизация...","sync.status.error":"Ошибка синхронизации","sync.changes":"изменений","sync.details":"Подробнее","sync.configure":"Настроить","sync.retry":"Повторить","sync.run":"Синхронизировать","sync.running":"Синхронизация...","sync.conflictsCount":"Конфликты: {count}","sync.applyErrorsCount":"Ошибки применения: {count}","sync.pushedPulled":"Отправлено: {pushed}, получено: {pulled}","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},au={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.journal":"Journal","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.sync":"Sync","nav.syncSettings":"Sync settings","nav.syncNow":"Sync now","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.backLabel":"Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.copy":"Copy","common.cut":"Cut","common.paste":"Paste","common.duplicate":"Duplicate","common.run":"Run","common.test":"Test","common.all":"All","common.open":"Open","common.no":"No","common.date":"Date","common.search":"Search","common.testAgain":"Check","common.connect":"Connect","common.disconnect":"Disconnect","common.settings":"Settings","common.name":"Name","common.type":"Type","common.section":"Section","common.created":"Created","common.empty":"None","common.newName":"New name","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.createCase":"Or create a new case with the + button.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.folderAdded":"Folder added","event.folderDeleted":"Folder deleted","event.folderRenamed":"Folder renamed","event.caseCreated":"Case created","event.caseUpdated":"Case updated","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","action.addAction":"+ Add action","action.newAction":"New action","action.noActions":"No actions yet","action.run":"Run","action.dataUrl":"URL","action.dataPath":"Path","action.dataCommand":"Command","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"command","action.namePlaceholder":"Example: Open website","note.add":"+ Add note","note.new":"New note","note.title":"Note title","note.noNotes":"No notes","note.createFirst":"Create the first note for this case.","note.placeholder":"Start writing...","note.unsavedTitle":"Unsaved changes","note.unsavedMessage":"Close the editor? All unsaved changes will be lost.","note.unsavedClose":"Close","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.newFile":"+ New file","file.addFileSimple":"Add file","file.addFolderSimple":"Add folder","file.noFiles":"No files in this folder yet","file.noFilesCase":"No files in this project yet","file.hint":"Add a file or folder to store project materials.","file.root":"Files","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.more":"More","file.delete":"Delete","file.ariaFolder":"Folder","file.ariaFile":"File","file.scanning":"Scanning...","file.pickSingle":"Select file","file.pickMultiple":"Select files","file.pickDirectory":"Select folder","file.importTitle":"Add to","file.importFiles":"Files:","file.importFolders":"Folders:","file.importSize":"Size:","file.importCopy":"Copy","file.importLink":"Link","file.selectCaseFirst":"Select a case before adding files","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","worklog.editEntry":"Edit entry","worklog.deleteEntry":"Delete entry","worklog.deleteConfirm":"Delete this work entry? Related events stay in activity, but their link to this entry will be removed.","worklog.date":"Date","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"From suggestion","worklog.sourceSuggestionNoEvents":"From suggestion, but related events missing","worklog.sourceManual":"Manual entry","worklog.sourceUnknown":"Unknown source","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.deviceId":"Device ID","sync.unpushed":"Unpushed","sync.lastSync":"Last sync","sync.revoked":"Revoked","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","sync.serverUrl":"Server URL","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Username","sync.usernamePlaceholder":"username","sync.password":"Password","sync.passwordPlaceholder":"password","sync.interval":"Auto sync (min)","sync.saveInterval":"Save interval","sync.syncNow":"Sync now","sync.disconnect":"Disconnect","sync.connect":"Connect","sync.test":"Check","sync.settingsSaved":"interval saved","today.title":"Today","today.changedCases":"Changed today","today.timeline":"Timeline for today","today.empty":"Nothing happened today yet","today.emptyHint":"Cases, notes, files, and actions you worked with today will appear here.","today.plural.case_one":"case","today.plural.case_few":"cases","today.plural.case_many":"cases","today.plural.note_one":"note","today.plural.note_few":"notes","today.plural.note_many":"notes","today.plural.file_one":"file","today.plural.file_few":"files","today.plural.file_many":"files","today.plural.event_one":"event","today.plural.event_few":"events","today.plural.event_many":"events","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected","activity.title":"Activity","activity.empty":"No activity recorded yet","activity.perCaseEmpty":"No activity recorded yet","overview.type":"Type","overview.section":"Section","overview.created":"Created","overview.newNote":"New note","overview.addFile":"Add file","overview.addAction":"Add action","overview.logTime":"Log time","overview.recentNotes":"Recent notes","overview.recentEntries":"Recent entries","rename.title":"Rename","rename.emptyError":"Name cannot be empty","rename.invalidError":"Invalid name","delete.confirmTitle":"Delete","delete.confirmMessage":"Delete","delete.folder":"folder","delete.file":"file","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","mime.jpeg":"JPEG image","mime.png":"PNG image","mime.gif":"GIF image","mime.webp":"WebP image","mime.svg":"SVG image","mime.bmp":"BMP image","mime.tiff":"TIFF image","mime.avif":"AVIF image","mime.pdf":"PDF document","mime.word":"Word document","mime.excel":"Excel spreadsheet","mime.ppt":"PowerPoint presentation","mime.zip":"ZIP archive","mime.gzip":"GZIP archive","mime.tar":"TAR archive","mime.sevenz":"7z archive","mime.rar":"RAR archive","mime.text":"Text file","mime.html":"HTML file","mime.css":"CSS file","mime.js":"JavaScript file","mime.json":"JSON file","mime.xml":"XML file","mime.yaml":"YAML file","mime.binary":"Binary file","mime.executable":"Executable file","mime.folder":"Folder","mime.unknown":"Unknown","mime.file":"File","error.nameEmpty":"Name cannot be empty","error.nameInvalid":"Invalid name","error.selectCaseFirst":"Select a case first","error.vaultNotOpen":"Vault not open","delete.files":"files ({count})","file.namePrompt":"Enter file name:","file.pdfUnavailable":"PDF preview is unavailable.","file.previewUnavailable":"Preview is unavailable for this file type.","case.new":"New case","case.namePlaceholder":"Case name","settings.title":"Settings","settings.general":"General","settings.generalDesc":"Basic interface settings.","settings.workspace":"Workspace","settings.workspaceDesc":"Manage data storage.","settings.appearance":"Appearance","settings.localization":"Localization","settings.templates":"Templates","settings.plugins":"Plugins","settings.files":"Files","settings.activity":"Activity","settings.sync":"Sync","settings.backup":"Backups","settings.close":"Close settings","settings.noPlugins":"No plugins installed yet.","settings.openPluginsDir":"Open plugins folder","settings.activityStub":"Activity tracking settings will be here.","settings.backupStub":"Backup settings will be here.","settings.theme":"Interface theme","settings.themeSystem":"System","settings.themeLight":"Light","settings.themeDark":"Dark","settings.language":"Interface language","settings.langRu":"Russian","settings.langEn":"English","settings.langSoon":"coming soon","settings.save":"Save settings","settings.saved":"Settings saved","settings.vaultPath":"Workspace path","settings.noVaultInfo":"No workspace information.","settings.vaultInfo":"Workspace information","settings.openVault":"Open vault folder","settings.changeVault":"Change path","settings.checkIntegrity":"Check integrity","settings.templatesDesc":"Enable or disable templates for creating items.","settings.templateEnabled":"Enabled","settings.templateDisabled":"Disabled","settings.filesStub":"File storage settings will be here.","settings.syncEnabled":"Sync enabled","settings.syncDisabled":"Sync disabled","settings.syncDesc":"Configure connection to the sync server.","settings.serverUrl":"Server URL","settings.deviceName":"Device name","settings.deviceId":"Device ID","settings.lastSync":"Last sync","settings.lastError":"Last error","settings.pendingChanges":"Pending changes","settings.checkConnection":"Check connection","settings.syncNow":"Sync now","settings.reconnect":"Reconnect","settings.disconnect":"Disconnect device","settings.resetKey":"Reset key","settings.confirmDisconnect":"Are you sure you want to disconnect this device?","settings.confirmDisconnectDesc":"Sync will stop. Reconnecting will require username and password.","settings.confirmResetKey":"Reset sync key?","settings.confirmResetKeyDesc":"The current device key will be removed. Reconnection will be required.","settings.connected":"Connected","settings.disconnected":"Disconnected","settings.notConfigured":"Not configured","settings.error":"Error","settings.revoked":"Revoked","settings.status":"Status","firstrun.title":"Welcome to Verstak","firstrun.desc":"Verstak stores data in a local workspace called a vault.","firstrun.pathLabel":"Vault path","firstrun.defaultPath":"Default path","firstrun.browse":"Choose folder","firstrun.create":"Create workspace","firstrun.quit":"Quit","firstrun.pathExists":"The folder exists. A new vault will be created.","firstrun.pathHasVault":"Existing vault found. It will be connected.","firstrun.pathNew":"The path does not exist. A new vault will be created.","firstrun.errorNoWrite":"No write permission for the selected folder.","firstrun.creating":"Creating workspace...","firstrun.created":"Workspace created!","recovery.title":"Workspace not found","recovery.expected":"Expected path","recovery.choose":"Choose another vault","recovery.create":"Create new vault","recovery.settings":"Open settings","recovery.quit":"Quit","recovery.createConfirm":"A new empty workspace will be created. The old path in settings will be replaced.","recovery.createConfirmTitle":"Create a new workspace?","sync.status.connected":"Sync available","sync.status.disconnected":"Server unavailable","sync.status.disabled":"Sync is not configured","sync.status.syncing":"Syncing...","sync.status.error":"Sync error","sync.changes":"changes","sync.details":"Details","sync.configure":"Configure","sync.retry":"Retry","sync.run":"Sync","sync.running":"Syncing...","sync.conflictsCount":"Conflicts: {count}","sync.applyErrorsCount":"Apply errors: {count}","sync.pushedPulled":"Pushed: {pushed}, pulled: {pulled}","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","error.accountBlocked":"Account blocked","error.emailNotConfirmed":"Email not confirmed","error.tokenInvalid":"Invalid or expired token","error.tokenExpired":"Token expired"},Nn={ru,en:au};let Dn="ru";function m(l,e){var s;const t=Nn[Dn];let n=t==null?void 0:t[l];if(n==null&&Dn!=="ru"&&(n=(s=Nn.ru)==null?void 0:s[l]),n==null&&(n=l),e!=null)for(const[o,r]of Object.entries(e))n=n.replace(`{${o}}`,String(r));return n}function nl(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 Fl={"image/jpeg":m("mime.jpeg"),"image/png":m("mime.png"),"image/gif":m("mime.gif"),"image/webp":m("mime.webp"),"image/svg+xml":m("mime.svg"),"image/bmp":m("mime.bmp"),"image/tiff":m("mime.tiff"),"image/avif":m("mime.avif"),"application/pdf":m("mime.pdf"),"application/msword":m("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":m("mime.word"),"application/vnd.ms-excel":m("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":m("mime.excel"),"application/vnd.ms-powerpoint":m("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":m("mime.ppt"),"application/zip":m("mime.zip"),"application/gzip":m("mime.gzip"),"application/x-tar":m("mime.tar"),"application/x-7z-compressed":m("mime.sevenz"),"application/x-rar-compressed":m("mime.rar"),"text/plain":m("mime.text"),"text/html":m("mime.html"),"text/css":m("mime.css"),"text/javascript":m("mime.js"),"application/json":m("mime.json"),"application/xml":m("mime.xml"),"application/x-yaml":m("mime.yaml"),"application/octet-stream":m("mime.binary"),"application/x-msdos-program":m("mime.executable"),"inode/directory":m("mime.folder")};function Mn(l){return l?Fl[l]||l:m("mime.unknown")}function uu(l){if(l.type==="folder")return m("mime.folder");const e=(l.mime||"").toLowerCase();if(Fl[e])return Fl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():m("mime.file")}function No(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 Do=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Mo=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Io=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Ao=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function fu(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(Do.includes(e)||Ao.includes(n)||e.includes("pdf")||Mo.includes(e)||Io.includes(n))}function Fo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Do.includes(e)||Ao.includes(n)}function Po(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Mo.includes(e)||Io.includes(n)&&n!=="md"&&n!=="markdown"}function Lo(l){return(l.mime||"").toLowerCase().includes("pdf")}function Ro(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function du(l){return Fo(l)||Lo(l)}function pu(l){return Po(l)||Ro(l)}const{window:mu}=Ll;function _u(l){let e,t,n,s=nl(l[0].size)+"",o;return{c(){e=f("span"),e.textContent="·",t=h(),n=f("span"),o=F(s),i(e,"class","meta-sep svelte-1skuef2")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),c(n,o)},p(r,u){u[0]&1&&s!==(s=nl(r[0].size)+"")&&K(o,s)},d(r){r&&(w(e),w(t),w(n))}}}function vu(l){let e,t,n,s,o;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.openFolder")),i(e,"aria-label",m("file.openFolder")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.showInExplorer")),i(n,"aria-label",m("file.showInExplorer"))},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),s||(o=[A(e,"click",Je(l[30])),A(n,"click",Je(l[11]))],s=!0)},p:ee,d(r){r&&(w(e),w(t),w(n)),s=!1,ge(o)}}}function gu(l){let e,t,n,s,o,r,u;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',s=h(),o=f("button"),o.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.preview")),i(e,"aria-label",m("file.preview")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.openExternal")),i(n,"aria-label",m("file.openExternal")),i(o,"class","action-btn svelte-1skuef2"),i(o,"title",m("file.showInExplorer")),i(o,"aria-label",m("file.showInExplorer"))},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),C(a,s,d),C(a,o,d),r||(u=[A(e,"click",Je(l[29])),A(n,"click",Je(l[10])),A(o,"click",Je(l[11]))],r=!0)},p:ee,d(a){a&&(w(e),w(t),w(n),w(s),w(o)),r=!1,ge(u)}}}function In(l){let e,t,n,s,o,r,u,a,d=m("common.open")+"",_,v,g,b,k,y,S,j,E=m("file.openExternal")+"",D,N,T,I,M,R,V=m("file.showInExplorer")+"",W,G,Y,J,q,U,H,P,O,z=m("common.rename")+"",B,se,oe,$,le,te,ce,ue=m("common.duplicate")+"",we,Be,Ie,X,Z,_e,ye,me,ke,We=m("common.cut")+"",Ke,nt,ze,Oe,De,Ce,Pe,Me=m("common.copy")+"",Le,Ee,Se,Te,je,Fe,Ae,Ne,ae,x=m("common.delete")+"",ve,$e,ot;return{c(){e=f("div"),t=h(),n=f("div"),s=f("button"),o=Q("svg"),r=Q("path"),u=Q("circle"),a=h(),_=F(d),v=h(),g=f("button"),b=Q("svg"),k=Q("path"),y=Q("polyline"),S=Q("line"),j=h(),D=F(E),N=h(),T=f("button"),I=Q("svg"),M=Q("path"),R=h(),W=F(V),G=h(),Y=f("div"),J=h(),q=f("button"),U=Q("svg"),H=Q("path"),P=Q("path"),O=h(),B=F(z),se=h(),oe=f("button"),$=Q("svg"),le=Q("rect"),te=Q("path"),ce=h(),we=F(ue),Be=h(),Ie=f("button"),X=Q("svg"),Z=Q("circle"),_e=Q("circle"),ye=Q("line"),me=Q("line"),ke=h(),Ke=F(We),nt=h(),ze=f("button"),Oe=Q("svg"),De=Q("rect"),Ce=Q("path"),Pe=h(),Le=F(Me),Ee=h(),Se=f("div"),Te=h(),je=f("button"),Fe=Q("svg"),Ae=Q("polyline"),Ne=Q("path"),ae=h(),ve=F(x),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(u,"cx","12"),i(u,"cy","12"),i(u,"r","3"),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(s,"class","menu-item svelte-1skuef2"),i(s,"role","menuitem"),i(k,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),i(y,"points","15 3 21 3 21 9"),i(S,"x1","10"),i(S,"y1","14"),i(S,"x2","21"),i(S,"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(g,"class","menu-item svelte-1skuef2"),i(g,"role","menuitem"),i(M,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),i(I,"width","14"),i(I,"height","14"),i(I,"viewBox","0 0 24 24"),i(I,"fill","none"),i(I,"stroke","currentColor"),i(I,"stroke-width","2"),i(I,"stroke-linecap","round"),i(I,"stroke-linejoin","round"),i(T,"class","menu-item svelte-1skuef2"),i(T,"role","menuitem"),i(Y,"class","menu-sep svelte-1skuef2"),i(H,"d","M12 20h9"),i(P,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(U,"width","14"),i(U,"height","14"),i(U,"viewBox","0 0 24 24"),i(U,"fill","none"),i(U,"stroke","currentColor"),i(U,"stroke-width","2"),i(U,"stroke-linecap","round"),i(U,"stroke-linejoin","round"),i(q,"class","menu-item svelte-1skuef2"),i(q,"role","menuitem"),i(le,"x","9"),i(le,"y","9"),i(le,"width","13"),i(le,"height","13"),i(le,"rx","2"),i(le,"ry","2"),i(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i($,"width","14"),i($,"height","14"),i($,"viewBox","0 0 24 24"),i($,"fill","none"),i($,"stroke","currentColor"),i($,"stroke-width","2"),i($,"stroke-linecap","round"),i($,"stroke-linejoin","round"),i(oe,"class","menu-item svelte-1skuef2"),i(oe,"role","menuitem"),i(Z,"cx","6"),i(Z,"cy","6"),i(Z,"r","3"),i(_e,"cx","6"),i(_e,"cy","18"),i(_e,"r","3"),i(ye,"x1","20"),i(ye,"y1","4"),i(ye,"x2","8.12"),i(ye,"y2","15.88"),i(me,"x1","8.12"),i(me,"y1","8.12"),i(me,"x2","20"),i(me,"y2","20"),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(Ie,"class","menu-item svelte-1skuef2"),i(Ie,"role","menuitem"),i(De,"x","9"),i(De,"y","9"),i(De,"width","13"),i(De,"height","13"),i(De,"rx","2"),i(De,"ry","2"),i(Ce,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(Oe,"width","14"),i(Oe,"height","14"),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(ze,"class","menu-item svelte-1skuef2"),i(ze,"role","menuitem"),i(Se,"class","menu-sep svelte-1skuef2"),i(Ae,"points","3 6 5 6 21 6"),i(Ne,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),i(Fe,"width","14"),i(Fe,"height","14"),i(Fe,"viewBox","0 0 24 24"),i(Fe,"fill","none"),i(Fe,"stroke","currentColor"),i(Fe,"stroke-width","2"),i(Fe,"stroke-linecap","round"),i(Fe,"stroke-linejoin","round"),i(je,"class","menu-item menu-item-danger svelte-1skuef2"),i(je,"role","menuitem"),i(n,"class","menu svelte-1skuef2"),at(n,"left",l[3]+"px"),at(n,"top",l[4]+"px"),at(n,"position","fixed"),i(n,"role","menu"),i(n,"tabindex","-1")},m(it,qe){C(it,e,qe),C(it,t,qe),C(it,n,qe),c(n,s),c(s,o),c(o,r),c(o,u),c(s,a),c(s,_),c(n,v),c(n,g),c(g,b),c(b,k),c(b,y),c(b,S),c(g,j),c(g,D),c(n,N),c(n,T),c(T,I),c(I,M),c(T,R),c(T,W),c(n,G),c(n,Y),c(n,J),c(n,q),c(q,U),c(U,H),c(U,P),c(q,O),c(q,B),c(n,se),c(n,oe),c(oe,$),c($,le),c($,te),c(oe,ce),c(oe,we),c(n,Be),c(n,Ie),c(Ie,X),c(X,Z),c(X,_e),c(X,ye),c(X,me),c(Ie,ke),c(Ie,Ke),c(n,nt),c(n,ze),c(ze,Oe),c(Oe,De),c(Oe,Ce),c(ze,Pe),c(ze,Le),c(n,Ee),c(n,Se),c(n,Te),c(n,je),c(je,Fe),c(Fe,Ae),c(Fe,Ne),c(je,ae),c(je,ve),$e||(ot=[A(e,"click",Je(l[19])),A(s,"click",l[17]),A(g,"click",l[10]),A(T,"click",l[11]),A(q,"click",l[13]),A(oe,"click",l[14]),A(Ie,"click",l[15]),A(ze,"click",l[16]),A(je,"click",l[12]),A(n,"click",Je(l[28])),A(n,"keydown",l[31])],$e=!0)},p(it,qe){qe[0]&8&&at(n,"left",it[3]+"px"),qe[0]&16&&at(n,"top",it[4]+"px")},d(it){it&&(w(e),w(t),w(n)),$e=!1,ge(ot)}}}function hu(l){let e,t,n,s,o,r,u=l[0].name+"",a,d,_,v,g,b,k,y,S,j,E,D,N,T,I,M,R,V,W,G,Y,J;n=new To({props:{kind:l[6],size:22}});let q=!l[7]&&_u(l);function U(z,B){return z[7]?vu:gu}let P=U(l)(l),O=l[2]&&In(l);return{c(){e=f("div"),t=f("div"),Ge(n.$$.fragment),s=h(),o=f("div"),r=f("div"),a=F(u),_=h(),v=f("div"),g=f("span"),g.textContent=`${l[8]}`,b=h(),q&&q.c(),k=h(),y=f("div"),P.c(),S=h(),j=f("button"),E=Q("svg"),D=Q("circle"),N=Q("circle"),T=Q("circle"),I=h(),M=f("button"),M.innerHTML='',V=h(),O&&O.c(),W=st(),i(t,"class","file-row-icon svelte-1skuef2"),i(r,"class","file-row-name svelte-1skuef2"),i(r,"title",d=l[0].name),i(v,"class","file-row-meta svelte-1skuef2"),i(o,"class","file-row-body svelte-1skuef2"),i(D,"cx","12"),i(D,"cy","5"),i(D,"r","2"),i(N,"cx","12"),i(N,"cy","12"),i(N,"r","2"),i(T,"cx","12"),i(T,"cy","19"),i(T,"r","2"),i(E,"width","16"),i(E,"height","16"),i(E,"viewBox","0 0 24 24"),i(E,"fill","currentColor"),i(j,"class","action-btn svelte-1skuef2"),i(j,"title",m("file.more")),i(j,"aria-label",m("file.more")),i(j,"aria-expanded",l[2]),i(M,"class","action-btn action-btn-danger svelte-1skuef2"),i(M,"title",m("common.delete")),i(M,"aria-label",m("common.delete")),i(y,"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",R=l[7]?m("file.ariaFolder")+" "+l[0].name:m("file.ariaFile")+" "+l[0].name),he(e,"file-row--selected",l[1])},m(z,B){C(z,e,B),c(e,t),He(n,t,null),c(e,s),c(e,o),c(o,r),c(r,a),c(o,_),c(o,v),c(v,g),c(v,b),q&&q.m(v,null),c(e,k),c(e,y),P.m(y,null),c(y,S),c(y,j),c(j,E),c(E,D),c(E,N),c(E,T),c(y,I),c(y,M),C(z,V,B),O&&O.m(z,B),C(z,W,B),G=!0,Y||(J=[A(mu,"click",l[19]),A(j,"click",Je(l[18])),A(M,"click",Je(l[12])),A(e,"click",l[9]),A(e,"keydown",l[24]),A(e,"contextmenu",l[23]),A(e,"dragstart",l[20]),A(e,"dragover",l[21]),A(e,"drop",l[22])],Y=!0)},p(z,B){(!G||B[0]&1)&&u!==(u=z[0].name+"")&&K(a,u),(!G||B[0]&1&&d!==(d=z[0].name))&&i(r,"title",d),z[7]||q.p(z,B),P.p(z,B),(!G||B[0]&4)&&i(j,"aria-expanded",z[2]),(!G||B[0]&1&&R!==(R=z[7]?m("file.ariaFolder")+" "+z[0].name:m("file.ariaFile")+" "+z[0].name))&&i(e,"aria-label",R),(!G||B[0]&2)&&he(e,"file-row--selected",z[1]),z[2]?O?O.p(z,B):(O=In(z),O.c(),O.m(W.parentNode,W)):O&&(O.d(1),O=null)},i(z){G||(re(n.$$.fragment,z),G=!0)},o(z){de(n.$$.fragment,z),G=!1},d(z){z&&(w(e),w(V),w(W)),Ue(n),q&&q.d(),P.d(),O&&O.d(z),Y=!1,ge(J)}}}function bu(l,e,t){let{item:n}=e,{selected:s=!1}=e,{onDragStart:o}=e,{onDragOver:r}=e,{onDrop:u}=e;const a=il(),d=No(n),_=n.type==="folder",v=uu(n);let g=!1,b=0,k=0,y=null;function S(B){B.ctrlKey||B.metaKey?a("toggleSelect",n.id):B.shiftKey?a("rangeSelect",n.id):y?(clearTimeout(y),y=null,_?a("navigate",n.id):a("preview",n)):y=setTimeout(()=>{y=null,a("selectOne",n.id)},250)}function j(){a("openExternal",n.fileId)}function E(){t(2,g=!1),a("showInFolder",n.nodeId||n.id)}function D(){t(2,g=!1),a("delete",{id:n.id,type:n.type})}function N(){t(2,g=!1),a("rename",{id:n.id,name:n.name})}function T(){t(2,g=!1),a("duplicate",n.id)}function I(){t(2,g=!1),a("cut",n.id)}function M(){t(2,g=!1),a("copy",n.id)}function R(){t(2,g=!1),_?a("navigate",n.id):a("preview",n)}function V(){t(2,g=!g)}function W(){t(2,g=!1)}function G(B){o&&o(B,n.id)}function Y(B){r&&_&&r(B,n.id)}function J(B){u&&_&&u(B,n.id)}function q(B){B.preventDefault(),t(3,b=Math.min(B.clientX,window.innerWidth-240)),t(4,k=Math.min(B.clientY,window.innerHeight-320)),t(2,g=!0)}function U(B){(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),S(B))}function H(B){Co.call(this,l,B)}const P=()=>a("preview",n),O=()=>a("navigate",n.id),z=B=>{B.key==="Escape"&&(B.stopPropagation(),W())};return l.$$set=B=>{"item"in B&&t(0,n=B.item),"selected"in B&&t(1,s=B.selected),"onDragStart"in B&&t(25,o=B.onDragStart),"onDragOver"in B&&t(26,r=B.onDragOver),"onDrop"in B&&t(27,u=B.onDrop)},[n,s,g,b,k,a,d,_,v,S,j,E,D,N,T,I,M,R,V,W,G,Y,J,q,U,o,r,u,H,P,O,z]}class ku extends Xe{constructor(e){super(),Qe(this,e,bu,hu,Ye,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function An(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function yu(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 wu(l){let e,t=l[4].name+"",n,s,o;function r(){return l[2](l[6])}return{c(){e=f("button"),n=F(t),i(e,"class","crumb crumb--link svelte-csi2lb")},m(u,a){C(u,e,a),c(e,n),s||(o=A(e,"click",r),s=!0)},p(u,a){l=u,a&1&&t!==(t=l[4].name+"")&&K(n,t)},d(u){u&&w(e),s=!1,o()}}}function Cu(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=F(t),i(e,"class","crumb crumb--current svelte-csi2lb")},m(s,o){C(s,e,o),c(e,n)},p(s,o){o&1&&t!==(t=s[4].name+"")&&K(n,t)},d(s){s&&w(e)}}}function Fn(l){let e,t,n=l[6]>0&&yu();function s(u,a){return u[6]===u[0].length-1?Cu:wu}let o=s(l),r=o(l);return{c(){n&&n.c(),e=h(),r.c(),t=st()},m(u,a){n&&n.m(u,a),C(u,e,a),r.m(u,a),C(u,t,a)},p(u,a){o===(o=s(u))&&r?r.p(u,a):(r.d(1),r=o(u),r&&(r.c(),r.m(t.parentNode,t)))},d(u){u&&(w(e),w(t)),n&&n.d(u),r.d(u)}}}function Su(l){let e,t=fe(l[0]),n=[];for(let s=0;so(u);return l.$$set=u=>{"crumbs"in u&&t(0,n=u.crumbs)},[n,o,r]}class zo extends Xe{constructor(e){super(),Qe(this,e,ju,Su,Ye,{crumbs:0})}}function Eu(l){let e,t,n,s,o,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.previewUnavailable")}`,n=h(),s=f("button"),s.textContent=`${m("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),o||(r=A(s,"click",l[9]),o=!0)},p:ee,d(u){u&&w(e),o=!1,r()}}}function Tu(l){let e,t;function n(r,u){return u&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?Fu:Au}let s=n(l,-1),o=s(l);return{c(){o.c(),t=st()},m(r,u){o.m(r,u),C(r,t,u)},p(r,u){s===(s=n(r,u))&&o?o.p(r,u):(o.d(1),o=s(r),o&&(o.c(),o.m(t.parentNode,t)))},d(r){r&&w(t),o.d(r)}}}function Nu(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=F(l[1]),i(e,"class","preview-text svelte-1cw3u0m")},m(s,o){C(s,e,o),c(e,t),c(t,n)},p(s,o){o&2&&K(n,s[1])},d(s){s&&w(e)}}}function Du(l){let e,t,n,s;return{c(){e=f("div"),t=f("img"),ll(t.src,n=l[1])||i(t,"src",n),i(t,"alt",s=l[0].name),i(t,"class","preview-image svelte-1cw3u0m"),i(e,"class","preview-image-container svelte-1cw3u0m")},m(o,r){C(o,e,r),c(e,t)},p(o,r){r&2&&!ll(t.src,n=o[1])&&i(t,"src",n),r&1&&s!==(s=o[0].name)&&i(t,"alt",s)},d(o){o&&w(e)}}}function Mu(l){let e,t,n,s,o,r,u;return{c(){e=f("div"),t=f("p"),n=F(l[3]),s=h(),o=f("button"),o.textContent=`${m("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(a,d){C(a,e,d),c(e,t),c(t,n),c(e,s),c(e,o),r||(u=A(o,"click",l[9]),r=!0)},p(a,d){d&8&&K(n,a[3])},d(a){a&&w(e),r=!1,u()}}}function Iu(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,i(e,"class","preview-status svelte-1cw3u0m")},m(n,s){C(n,e,s),c(e,t)},p:ee,d(n){n&&w(e)}}}function Au(l){let e,t,n,s,o,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.pdfUnavailable")}`,n=h(),s=f("button"),s.textContent=`${m("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),o||(r=A(s,"click",l[9]),o=!0)},p:ee,d(u){u&&w(e),o=!1,r()}}}function Fu(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),ll(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(s,o){C(s,e,o),c(e,t)},p(s,o){o&2&&!ll(t.src,n=s[1])&&i(t,"src",n)},d(s){s&&w(e)}}}function Pu(l){let e,t,n,s,o,r,u,a=l[0].name+"",d,_,v,g,b=nl(l[0].size)+"",k,y,S=Mn(l[0].mime)+"",j,E,D,N,T,I,M,R,V,W,G;o=new To({props:{kind:l[8],size:18}});function Y(U,H){return U[2]?Iu:U[3]?Mu:U[6]&&U[1]?Du:U[5]&&U[1]?Nu:U[4]?Tu:Eu}let J=Y(l),q=J(l);return{c(){e=f("div"),t=f("div"),n=f("header"),s=f("div"),Ge(o.$$.fragment),r=h(),u=f("span"),d=F(a),v=h(),g=f("div"),k=F(b),y=F(" · "),j=F(S),E=h(),D=f("div"),N=f("button"),N.innerHTML='',T=h(),I=f("button"),I.innerHTML='',M=h(),R=f("div"),q.c(),i(u,"class","preview-name svelte-1cw3u0m"),i(u,"title",_=l[0].name),i(s,"class","preview-title svelte-1cw3u0m"),i(g,"class","preview-meta svelte-1cw3u0m"),i(N,"class","action-btn svelte-1cw3u0m"),i(N,"title",m("file.openExternal")),i(N,"aria-label",m("file.openExternal")),i(I,"class","action-btn action-btn-close svelte-1cw3u0m"),i(I,"title","Close"),i(I,"aria-label","Close preview"),i(D,"class","preview-actions svelte-1cw3u0m"),i(n,"class","preview-header svelte-1cw3u0m"),i(R,"class","preview-body svelte-1cw3u0m"),i(t,"class","modal svelte-1cw3u0m"),i(e,"class","overlay svelte-1cw3u0m"),i(e,"role","presentation")},m(U,H){C(U,e,H),c(e,t),c(t,n),c(n,s),He(o,s,null),c(s,r),c(s,u),c(u,d),c(n,v),c(n,g),c(g,k),c(g,y),c(g,j),c(n,E),c(n,D),c(D,N),c(D,T),c(D,I),c(t,M),c(t,R),q.m(R,null),V=!0,W||(G=[A(N,"click",l[9]),A(I,"click",l[10]),A(e,"click",ft(l[11])),A(e,"keydown",l[12])],W=!0)},p(U,[H]){(!V||H&1)&&a!==(a=U[0].name+"")&&K(d,a),(!V||H&1&&_!==(_=U[0].name))&&i(u,"title",_),(!V||H&1)&&b!==(b=nl(U[0].size)+"")&&K(k,b),(!V||H&1)&&S!==(S=Mn(U[0].mime)+"")&&K(j,S),J===(J=Y(U))&&q?q.p(U,H):(q.d(1),q=J(U),q&&(q.c(),q.m(R,null)))},i(U){V||(re(o.$$.fragment,U),V=!0)},o(U){de(o.$$.fragment,U),V=!1},d(U){U&&w(e),Ue(o),q.d(),W=!1,ge(G)}}}function Lu(l,e,t){let n,s,o,{item:r}=e,{content:u=""}=e,{loading:a=!1}=e,{error:d=""}=e;const _=il(),v=No(r);function g(j){j.key==="Escape"&&_("close")}function b(){_("openExternal",r.fileId)}wo(()=>{window.addEventListener("keydown",g)}),Vl(()=>{window.removeEventListener("keydown",g)});const k=()=>_("close"),y=()=>_("close"),S=j=>{j.key==="Escape"&&(j.preventDefault(),_("close"))};return l.$$set=j=>{"item"in j&&t(0,r=j.item),"content"in j&&t(1,u=j.content),"loading"in j&&t(2,a=j.loading),"error"in j&&t(3,d=j.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Fo(r)&&u&&u.startsWith("data:")),l.$$.dirty&1&&t(5,s=Po(r)||Ro(r)),l.$$.dirty&1&&t(4,o=Lo(r))},[r,u,a,d,o,s,n,_,v,b,k,y,S]}class Ru extends Xe{constructor(e){super(),Qe(this,e,Lu,Pu,Ye,{item:0,content:1,loading:2,error:3})}}function zu(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j;return{c(){e=f("div"),t=f("div"),n=f("h3"),s=F(l[0]),o=h(),r=f("p"),u=F(l[1]),a=h(),d=f("div"),_=f("button"),v=F(l[2]),b=h(),k=f("button"),y=F(l[3]),i(n,"class","svelte-1fv6yyk"),i(r,"class","message svelte-1fv6yyk"),i(_,"class",g="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),i(k,"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,D){C(E,e,D),c(e,t),c(t,n),c(n,s),c(t,o),c(t,r),c(r,u),c(t,a),c(t,d),c(d,_),c(_,v),c(d,b),c(d,k),c(k,y),S||(j=[A(_,"click",l[6]),A(k,"click",l[7]),A(e,"click",ft(l[8])),A(e,"keydown",l[9])],S=!0)},p(E,[D]){D&1&&K(s,E[0]),D&2&&K(u,E[1]),D&4&&K(v,E[2]),D&16&&g!==(g="btn "+(E[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&i(_,"class",g),D&8&&K(y,E[3])},i:ee,o:ee,d(E){E&&w(e),S=!1,ge(j)}}}function Vu(l,e,t){let{title:n=m("common.confirm")}=e,{message:s=""}=e,{confirmText:o=m("common.delete")}=e,{cancelText:r=m("common.cancel")}=e,{danger:u=!1}=e;const a=il(),d=()=>a("confirm"),_=()=>a("cancel"),v=()=>a("cancel"),g=b=>{b.key==="Escape"&&(b.preventDefault(),a("cancel"))};return l.$$set=b=>{"title"in b&&t(0,n=b.title),"message"in b&&t(1,s=b.message),"confirmText"in b&&t(2,o=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,u=b.danger)},[n,s,o,r,u,a,d,_,v,g]}class Ou extends Xe{constructor(e){super(),Qe(this,e,Vu,zu,Ye,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Wu(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(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},d(s){s&&(w(e),w(t),w(n))}}}function Bu(l){let e,t,n,s;return{c(){e=Q("rect"),t=Q("polyline"),n=Q("line"),s=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(s,"x1","16"),i(s,"y1","5"),i(s,"x2","16"),i(s,"y2","19")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function Hu(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Uu(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Ku(l){let e,t,n,s,o;return{c(){e=Q("path"),t=Q("path"),n=Q("line"),s=Q("line"),o=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(s,"x1","8"),i(s,"y1","11"),i(s,"x2","14"),i(s,"y2","11"),i(o,"x1","8"),i(o,"y1","15"),i(o,"x2","12"),i(o,"y2","15")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,s,u),C(r,o,u)},d(r){r&&(w(e),w(t),w(n),w(s),w(o))}}}function Gu(l){let e,t,n,s;return{c(){e=Q("path"),t=Q("polyline"),n=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","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(s,"x1","16"),i(s,"y1","17"),i(s,"x2","8"),i(s,"y2","17")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function Ju(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,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function qu(l){let e,t,n,s;return{c(){e=Q("rect"),t=Q("rect"),n=Q("rect"),s=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(s,"x","3"),i(s,"y","14"),i(s,"width","7"),i(s,"height","7"),i(s,"rx","1")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function Yu(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 Qu(l){let e;function t(o,r){return o[0]==="folder"?Yu:o[0]==="project"?qu:o[0]==="client"?Ju:o[0]==="document"?Gu:o[0]==="recipe"?Ku:o[0]==="note"?Uu:o[0]==="file"?Hu:o[0]==="case"?Bu:Wu}let n=t(l),s=n(l);return{c(){e=Q("svg"),s.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(o,r){C(o,e,r),s.m(e,null)},p(o,[r]){n!==(n=t(o))&&(s.d(1),s=n(o),s&&(s.c(),s.m(e,null))),r&2&&i(e,"width",o[1]),r&2&&i(e,"height",o[1])},i:ee,o:ee,d(o){o&&w(e),s.d()}}}function Xu(l,e,t){let{kind:n="generic"}=e,{size:s=18}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,s=o.size)},[n,s]}class ol extends Xe{constructor(e){super(),Qe(this,e,Xu,Qu,Ye,{kind:0,size:1})}}function Pn(l,e,t){const n=l.slice();return n[44]=e[t],n}function Zu(l){let e;return{c(){e=f("span"),i(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function xu(l){let e,t,n=l[1][l[44].id]?"▾":"▸",s,o,r;function u(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),s=F(n),i(t,"class","tree-arrow"),i(e,"class","tree-toggle svelte-zj71cl")},m(a,d){C(a,e,d),c(e,t),c(t,s),o||(r=A(e,"click",Je(u)),o=!0)},p(a,d){l=a,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&K(s,n)},d(a){a&&w(e),o=!1,r()}}}function Ln(l){let e,t;return e=new Vo({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p(n,s){const o={};s[0]&1&&(o.nodes=n[44].children||[]),s[0]&2&&(o.expanded=n[1]),s[0]&4&&(o.selectedNodeId=n[2]),s[0]&8&&(o.level=n[3]+1),s[0]&16&&(o.onSelect=n[4]),s[0]&32&&(o.onToggle=n[5]),s[0]&64&&(o.onContextMenu=n[6]),s[0]&128&&(o.onDrop=n[7]),e.$set(o)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function Rn(l,e){let t,n,s,o,r,u,a,d=e[44].title+"",_,v,g=e[1][e[44].id]&&Pl(e[44]),b,k,y,S;function j(P,O){return O[0]&1&&(n=null),n==null&&(n=!!Ot(P[44])),n?xu:Zu}let E=j(e,[-1,-1]),D=E(e);r=new ol({props:{kind:zn(e[44]),size:16}});function N(...P){return e[26](e[44],...P)}function T(...P){return e[27](e[44],...P)}function I(){return e[28](e[44])}function M(...P){return e[29](e[44],...P)}function R(...P){return e[30](e[44],...P)}function V(...P){return e[31](e[44],...P)}function W(...P){return e[32](e[44],...P)}function G(...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 q(...P){return e[36](e[44],...P)}function U(...P){return e[37](e[44],...P)}let H=g&&Ln(e);return{key:l,first:null,c(){t=f("div"),D.c(),s=h(),o=f("span"),Ge(r.$$.fragment),u=h(),a=f("span"),_=F(d),v=h(),H&&H.c(),b=st(),i(o,"class","tree-icon svelte-zj71cl"),i(o,"role","button"),i(o,"tabindex","-1"),i(a,"class","tree-label svelte-zj71cl"),i(a,"role","button"),i(a,"tabindex","-1"),i(t,"class","tree-item svelte-zj71cl"),at(t,"padding-left",e[3]*16+4+"px"),i(t,"draggable","true"),i(t,"role","button"),i(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,O){C(P,t,O),D.m(t,null),c(t,s),c(t,o),He(r,o,null),c(t,u),c(t,a),c(a,_),C(P,v,O),H&&H.m(P,O),C(P,b,O),k=!0,y||(S=[A(o,"click",N),A(o,"keydown",T),A(o,"dblclick",Je(e[24])),A(a,"click",Je(I)),A(a,"keydown",M),A(t,"dragstart",R),A(t,"dragover",V),A(t,"dragleave",W),A(t,"drop",G),A(t,"click",Y),A(t,"keydown",J),A(t,"dblclick",q),A(t,"contextmenu",Rl(U))],y=!0)},p(P,O){e=P,E===(E=j(e,O))&&D?D.p(e,O):(D.d(1),D=E(e),D&&(D.c(),D.m(t,s)));const z={};O[0]&1&&(z.kind=zn(e[44])),r.$set(z),(!k||O[0]&1)&&d!==(d=e[44].title+"")&&K(_,d),(!k||O[0]&8)&&at(t,"padding-left",e[3]*16+4+"px"),(!k||O[0]&5)&&he(t,"selected",e[2]===e[44].id),(!k||O[0]&769)&&he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!k||O[0]&769)&&he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),O[0]&3&&(g=e[1][e[44].id]&&Pl(e[44])),g?H?(H.p(e,O),O[0]&3&&re(H,1)):(H=Ln(e),H.c(),re(H,1),H.m(b.parentNode,b)):H&&(tt(),de(H,1,1,()=>{H=null}),lt())},i(P){k||(re(r.$$.fragment,P),re(H),k=!0)},o(P){de(r.$$.fragment,P),de(H),k=!1},d(P){P&&(w(t),w(v),w(b)),D.d(),Ue(r),H&&H.d(P),y=!1,ge(S)}}}function $u(l){let e=[],t=new Map,n,s,o,r,u=fe(l[0]);const a=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function Vn(l){const e={};function t(n,s){for(const o of n)e[o.id]=s,o.children&&t(o.children,o.id)}return t(l,""),e}function On(l){const e=[];function t(n){for(const s of n)e.push(s),s.children&&t(s.children)}return t(l),e}function ef(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function tf(l,e,t){let n,s,o,{nodes:r=[]}=e,{expanded:u={}}=e,{selectedNodeId:a=""}=e,{level:d=0}=e,{onSelect:_=void 0}=e,{onToggle:v=void 0}=e,{onContextMenu:g=void 0}=e,{onDrop:b=void 0}=e,k={},y=null,S="",j="";const E=["folder","project","client","document","recipe","case"];Vl(()=>{for(const X of Object.keys(k))clearTimeout(k[X]);y&&clearInterval(y)});function D(X){return E.includes(X.type)}function N(X,Z,_e){if(!X||!Z||Z===X.id||!D(X))return!1;let ye=X.id;for(;ye;){if(ye===Z)return!1;ye=_e[ye]||""}return!0}function T(X,Z){X.stopPropagation(),X.dataTransfer.effectAllowed="move",X.dataTransfer.setData("text/plain",Z.id),t(21,S=Z.id)}function I(X,Z){X.preventDefault(),X.stopPropagation(),X.dataTransfer.dropEffect="move",j!==Z.id&&t(8,j=Z.id),Ot(Z)&&!u[Z.id]&&!k[Z.id]&&(k[Z.id]=setTimeout(()=>{v&&v(Z.id),delete k[Z.id]},600));const _e=X.currentTarget.closest(".workspace-tree-area");if(_e){const ye=_e.getBoundingClientRect(),me=30;X.clientY-ye.top{_e.scrollTop-=10},50)):ye.bottom-X.clientY{_e.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function M(X,Z){const _e=X.relatedTarget;_e&&X.currentTarget.contains(_e)||(j===Z.id&&t(8,j=""),k[Z.id]&&(clearTimeout(k[Z.id]),delete k[Z.id]),y&&(clearInterval(y),y=null))}function R(X,Z){X.preventDefault(),X.stopPropagation(),k[Z.id]&&(clearTimeout(k[Z.id]),delete k[Z.id]),y&&(clearInterval(y),y=null);const _e=On(r),ye=Vn(_e),me=ef(X);if(!N(Z,me,ye)){t(8,j=""),t(21,S="");return}b&&b(me,Z.id),t(8,j=""),t(21,S="")}function V(){t(8,j=""),t(21,S="");for(const X of Object.keys(k))clearTimeout(k[X]),delete k[X];y&&(clearInterval(y),y=null)}function W(X,Z){X.target.closest(".tree-toggle")||X.target.closest(".tree-icon")||_&&_(Z)}function G(X,Z){Ot(Z)&&v&&v(Z.id)}function Y(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),_&&_(Z))}function J(X,Z){X.stopPropagation(),Ot(Z)&&v&&v(Z.id)}function q(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),X.stopPropagation(),Ot(Z)&&v&&v(Z.id))}function U(X,Z){(X.key==="Enter"||X.key===" ")&&(X.preventDefault(),_&&_(Z))}function H(X,Z,_e){const ye={};function me(ke){for(const We of ke)ye[We.id]=N(We,Z,_e),We.children&&me(We.children)}return me(X),ye}function P(X){Co.call(this,l,X)}const O=X=>v&&v(X.id),z=(X,Z)=>J(Z,X),B=(X,Z)=>q(Z,X),se=X=>_&&_(X),oe=(X,Z)=>U(Z,X),$=(X,Z)=>T(Z,X),le=(X,Z)=>I(Z,X),te=(X,Z)=>M(Z,X),ce=(X,Z)=>R(Z,X),ue=(X,Z)=>W(Z,X),we=(X,Z)=>Y(Z,X),Be=(X,Z)=>G(Z,X),Ie=(X,Z)=>g&&g(Z,X);return l.$$set=X=>{"nodes"in X&&t(0,r=X.nodes),"expanded"in X&&t(1,u=X.expanded),"selectedNodeId"in X&&t(2,a=X.selectedNodeId),"level"in X&&t(3,d=X.level),"onSelect"in X&&t(4,_=X.onSelect),"onToggle"in X&&t(5,v=X.onToggle),"onContextMenu"in X&&t(6,g=X.onContextMenu),"onDrop"in X&&t(7,b=X.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=On(r)),l.$$.dirty[0]&8388608&&t(22,s=Vn(n)),l.$$.dirty[0]&14680064&&t(9,o=H(n,S,s))},[r,u,a,d,_,v,g,b,j,o,T,I,M,R,V,W,G,Y,J,q,U,S,s,n,P,O,z,B,se,oe,$,le,te,ce,ue,we,Be,Ie]}class Vo extends Xe{constructor(e){super(),Qe(this,e,tf,$u,Ye,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Wn(l){let e,t;return{c(){e=f("div"),t=F(l[4]),i(e,"class","path-info svelte-11u707d")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&16&&K(t,n[4])},d(n){n&&w(e)}}}function Bn(l){let e,t;return{c(){e=f("div"),t=F(l[3]),i(e,"class","error-msg svelte-11u707d")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&8&&K(t,n[3])},d(n){n&&w(e)}}}function lf(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j=m("firstrun.browse")+"",E,D,N,T,I,M,R=(l[2]?m("firstrun.creating"):m("firstrun.create"))+"",V,W,G,Y,J,q,U=l[4]&&Wn(l),H=l[3]&&Bn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚒",s=h(),o=f("h1"),o.textContent=`${m("firstrun.title")}`,r=h(),u=f("p"),u.textContent=`${m("firstrun.desc")}`,a=h(),d=f("div"),_=f("label"),_.textContent=`${m("firstrun.pathLabel")}`,v=h(),g=f("div"),b=f("input"),y=h(),S=f("button"),E=F(j),D=h(),U&&U.c(),N=h(),H&&H.c(),T=h(),I=f("div"),M=f("button"),V=F(R),G=h(),Y=f("button"),Y.textContent=`${m("firstrun.quit")}`,i(n,"class","first-run-logo svelte-11u707d"),i(o,"class","svelte-11u707d"),i(u,"class","first-run-desc svelte-11u707d"),i(_,"class","form-label svelte-11u707d"),i(_,"for","vault-path"),i(b,"id","vault-path"),i(b,"type","text"),i(b,"placeholder",k=l[1]||m("firstrun.defaultPath")),b.disabled=l[2],i(b,"class","svelte-11u707d"),i(S,"class","btn"),S.disabled=l[2],i(g,"class","input-row svelte-11u707d"),i(d,"class","form-group svelte-11u707d"),i(M,"class","btn btn-primary btn-lg svelte-11u707d"),M.disabled=W=!l[0].trim()||l[2],i(Y,"class","btn btn-lg svelte-11u707d"),i(I,"class","first-run-actions svelte-11u707d"),i(t,"class","first-run-card svelte-11u707d"),i(e,"class","first-run-screen svelte-11u707d")},m(P,O){C(P,e,O),c(e,t),c(t,n),c(t,s),c(t,o),c(t,r),c(t,u),c(t,a),c(t,d),c(d,_),c(d,v),c(d,g),c(g,b),be(b,l[0]),c(g,y),c(g,S),c(S,E),c(t,D),U&&U.m(t,null),c(t,N),H&&H.m(t,null),c(t,T),c(t,I),c(I,M),c(M,V),c(I,G),c(I,Y),J||(q=[A(b,"input",l[12]),A(b,"input",l[6]),A(b,"keydown",l[9]),A(S,"click",l[5]),A(M,"click",l[7]),A(Y,"click",l[8])],J=!0)},p(P,[O]){O&2&&k!==(k=P[1]||m("firstrun.defaultPath"))&&i(b,"placeholder",k),O&4&&(b.disabled=P[2]),O&1&&b.value!==P[0]&&be(b,P[0]),O&4&&(S.disabled=P[2]),P[4]?U?U.p(P,O):(U=Wn(P),U.c(),U.m(t,N)):U&&(U.d(1),U=null),P[3]?H?H.p(P,O):(H=Bn(P),H.c(),H.m(t,T)):H&&(H.d(1),H=null),O&4&&R!==(R=(P[2]?m("firstrun.creating"):m("firstrun.create"))+"")&&K(V,R),O&5&&W!==(W=!P[0].trim()||P[2])&&(M.disabled=W)},i:ee,o:ee,d(P){P&&w(e),U&&U.d(),H&&H.d(),J=!1,ge(q)}}}function xt(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 nf(l,e,t){let{onComplete:n=null}=e,{onQuit:s=null}=e,o="",r="",u=!1,a="",d="",_=null;async function v(){try{const E=await xt("GetDefaultVaultPath");t(1,r=E||""),t(0,o=r||""),o&&await b()}catch{t(1,r="")}}v();async function g(){try{const E=await xt("PickDirectory");E&&(t(0,o=E),await b())}catch(E){t(3,a=String(E))}}async function b(){if(!o||!o.trim()){t(4,d=""),_=null;return}try{_=await xt("CheckVaultPath",o.trim()),_&&t(4,d=_.description)}catch{t(4,d=""),_=null}}async function k(){if(!(!o||!o.trim())){if(t(2,u=!0),t(3,a=""),_&&!_.writable){t(3,a=m("firstrun.errorNoWrite")),t(2,u=!1);return}try{const E=await xt("CreateVault",o.trim());E&&E.status==="ready"&&n&&n(E)}catch(E){t(3,a=String(E))}t(2,u=!1)}}function y(){s&&s()}function S(E){E.key==="Enter"&&!u&&o.trim()&&k()}function j(){o=this.value,t(0,o)}return l.$$set=E=>{"onComplete"in E&&t(10,n=E.onComplete),"onQuit"in E&&t(11,s=E.onQuit)},[o,r,u,a,d,g,b,k,y,S,n,s,j]}class sf extends Xe{constructor(e){super(),Qe(this,e,nf,lf,Ye,{onComplete:10,onQuit:11})}}function Hn(l){let e,t;return{c(){e=f("div"),t=F(l[2]),i(e,"class","error-msg svelte-s3o8c3")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&4&&K(t,n[2])},d(n){n&&w(e)}}}function Un(l){let e,t,n,s,o,r,u,a,d=m("common.yes")+"",_,v,g,b,k;return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${m("recovery.createConfirmTitle")}`,s=h(),o=f("p"),o.textContent=`${m("recovery.createConfirm")}`,r=h(),u=f("div"),a=f("button"),_=F(d),v=h(),g=f("button"),g.textContent=`${m("common.cancel")}`,i(n,"class","svelte-s3o8c3"),i(o,"class","modal-desc svelte-s3o8c3"),i(a,"class","btn btn-primary"),a.disabled=l[1],i(g,"class","btn"),i(u,"class","modal-actions svelte-s3o8c3"),i(t,"class","modal svelte-s3o8c3"),i(e,"class","modal-overlay svelte-s3o8c3"),i(e,"role","button"),i(e,"tabindex","0")},m(y,S){C(y,e,S),c(e,t),c(t,n),c(t,s),c(t,o),c(t,r),c(t,u),c(u,a),c(a,_),c(u,v),c(u,g),b||(k=[A(a,"click",l[6]),A(g,"click",l[7]),A(e,"click",ft(l[7])),A(e,"keydown",l[11])],b=!0)},p(y,S){S&2&&(a.disabled=y[1])},d(y){y&&w(e),b=!1,ge(k)}}}function of(l){let e,t,n,s,o,r,u,a,d,_=(l[0]||"—")+"",v,g,b,k,y,S=m("recovery.choose")+"",j,E,D,N=m("recovery.create")+"",T,I,M,R,V,W,G,Y=l[2]&&Hn(l),J=l[3]&&Un(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚠",s=h(),o=f("h1"),o.textContent=`${m("recovery.title")}`,r=h(),u=f("p"),u.textContent=`${m("recovery.expected")}:`,a=h(),d=f("code"),v=F(_),g=h(),Y&&Y.c(),b=h(),k=f("div"),y=f("button"),j=F(S),E=h(),D=f("button"),T=F(N),I=h(),M=f("button"),M.textContent=`${m("recovery.quit")}`,R=h(),J&&J.c(),V=st(),i(n,"class","recovery-icon svelte-s3o8c3"),i(o,"class","svelte-s3o8c3"),i(u,"class","recovery-desc svelte-s3o8c3"),i(d,"class","recovery-path svelte-s3o8c3"),i(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=l[1],i(D,"class","btn btn-lg svelte-s3o8c3"),D.disabled=l[1],i(M,"class","btn btn-lg svelte-s3o8c3"),i(k,"class","recovery-actions svelte-s3o8c3"),i(t,"class","recovery-card svelte-s3o8c3"),i(e,"class","recovery-screen svelte-s3o8c3")},m(q,U){C(q,e,U),c(e,t),c(t,n),c(t,s),c(t,o),c(t,r),c(t,u),c(t,a),c(t,d),c(d,v),c(t,g),Y&&Y.m(t,null),c(t,b),c(t,k),c(k,y),c(y,j),c(k,E),c(k,D),c(D,T),c(k,I),c(k,M),C(q,R,U),J&&J.m(q,U),C(q,V,U),W||(G=[A(y,"click",l[4]),A(D,"click",l[5]),A(M,"click",l[8])],W=!0)},p(q,[U]){U&1&&_!==(_=(q[0]||"—")+"")&&K(v,_),q[2]?Y?Y.p(q,U):(Y=Hn(q),Y.c(),Y.m(t,b)):Y&&(Y.d(1),Y=null),U&2&&(y.disabled=q[1]),U&2&&(D.disabled=q[1]),q[3]?J?J.p(q,U):(J=Un(q),J.c(),J.m(V.parentNode,V)):J&&(J.d(1),J=null)},i:ee,o:ee,d(q){q&&(w(e),w(R),w(V)),Y&&Y.d(),J&&J.d(q),W=!1,ge(G)}}}function Ml(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 cf(l,e,t){let{vaultPath:n=""}=e,{onComplete:s=null}=e,{onQuit:o=null}=e,r=!1,u="",a=!1;async function d(){try{const y=await Ml("PickDirectory");if(!y)return;t(1,r=!0),t(2,u="");const S=await Ml("OpenVault",y);S&&S.status==="ready"&&s&&s(S)}catch(y){t(2,u=String(y))}t(1,r=!1)}function _(){t(3,a=!0)}async function v(){t(3,a=!1),t(1,r=!0),t(2,u="");try{const y=await Ml("CreateVault",n);y&&y.status==="ready"&&s&&s(y)}catch(y){t(2,u=String(y))}t(1,r=!1)}function g(){t(3,a=!1)}function b(){o&&o()}const k=y=>y.key==="Enter"&&g();return l.$$set=y=>{"vaultPath"in y&&t(0,n=y.vaultPath),"onComplete"in y&&t(9,s=y.onComplete),"onQuit"in y&&t(10,o=y.onQuit)},[n,r,u,a,d,_,v,g,b,s,o,k]}class rf extends Xe{constructor(e){super(),Qe(this,e,cf,of,Ye,{vaultPath:0,onComplete:9,onQuit:10})}}function Kn(l,e,t){const n=l.slice();return n[5]=e[t],n}function af(l){let e,t,n;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),i(e,"d","M5 4h12l2 2v14H5z"),i(t,"d","M8 4v6h8V4"),i(n,"d","M8 20v-6h8v6")},m(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},d(s){s&&(w(e),w(t),w(n))}}}function uf(l){let e,t,n,s;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),s=Q("path"),i(e,"d","M20 11a8 8 0 0 0-14-4l-2 2"),i(t,"d","M4 5v4h4"),i(n,"d","M4 13a8 8 0 0 0 14 4l2-2"),i(s,"d","M20 19v-4h-4")},m(o,r){C(o,e,r),C(o,t,r),C(o,n,r),C(o,s,r)},d(o){o&&(w(e),w(t),w(n),w(s))}}}function ff(l){let e;return{c(){e=Q("path"),i(e,"d","M4 19V9M10 19V5M16 19v-7M22 19H2")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function df(l){let e;return{c(){e=Q("path"),i(e,"d","M3 6h6l2 2h10v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function pf(l){let e,t;return{c(){e=Q("path"),t=Q("path"),i(e,"d","M9 3v5M15 3v5M7 8h10v3a5 5 0 0 1-10 0V8z"),i(t,"d","M12 16v5")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function mf(l){let e,t;return{c(){e=Q("rect"),t=Q("path"),i(e,"x","4"),i(e,"y","3"),i(e,"width","16"),i(e,"height","18"),i(e,"rx","2"),i(t,"d","M8 7h8M8 11h8M8 15h5")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function _f(l){let e,t,n;return{c(){e=Q("path"),t=Q("path"),n=Q("path"),i(e,"d","M3 10.5 12 3l9 7.5"),i(t,"d","M5 9.5V21h14V9.5"),i(n,"d","M10 21v-6h4v6")},m(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},d(s){s&&(w(e),w(t),w(n))}}}function vf(l){let e,t;return{c(){e=Q("circle"),t=Q("path"),i(e,"cx","12"),i(e,"cy","12"),i(e,"r","3"),i(t,"d","M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V22h-4v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 0 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H2v-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 0 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V2h4v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 0 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1h.2v4h-.2a1.7 1.7 0 0 0-1.4 1z")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Gn(l){let e,t,n,s,o,r,u,a;function d(b,k){if(b[5].id==="general")return vf;if(b[5].id==="workspace")return _f;if(b[5].id==="templates")return mf;if(b[5].id==="plugins")return pf;if(b[5].id==="files")return df;if(b[5].id==="activity")return ff;if(b[5].id==="sync")return uf;if(b[5].id==="backup")return af}let _=d(l),v=_&&_(l);function g(){return l[4](l[5])}return{c(){e=f("button"),t=f("span"),n=Q("svg"),v&&v.c(),s=h(),o=f("span"),o.textContent=`${l[5].label}`,r=h(),i(n,"width","16"),i(n,"height","16"),i(n,"viewBox","0 0 24 24"),i(n,"fill","none"),i(n,"stroke","currentColor"),i(n,"stroke-width","1.8"),i(n,"stroke-linecap","round"),i(n,"stroke-linejoin","round"),i(n,"aria-hidden","true"),i(t,"class","settings-nav-icon svelte-1uolm3f"),i(o,"class","settings-nav-label svelte-1uolm3f"),i(e,"class","settings-nav-item svelte-1uolm3f"),he(e,"active",l[0]===l[5].id),he(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(b,k){C(b,e,k),c(e,t),c(t,n),v&&v.m(n,null),c(e,s),c(e,o),c(e,r),u||(a=A(e,"click",g),u=!0)},p(b,k){l=b,k&3&&he(e,"active",l[0]===l[5].id)},d(b){b&&w(e),v&&v.d(),u=!1,a()}}}function gf(l){let e,t=fe(l[1]),n=[];for(let s=0;sr(a.id);return l.$$set=a=>{"activeSection"in a&&t(0,n=a.activeSection),"onSelect"in a&&t(3,s=a.onSelect)},[n,o,r,s,u]}class bf extends Xe{constructor(e){super(),Qe(this,e,hf,gf,Ye,{activeSection:0,onSelect:3})}}function Jn(l){let e;return{c(){e=f("div"),e.textContent=`${m("settings.saved")}`,i(e,"class","save-notice svelte-1e2uhdh")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function kf(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j,E,D,N,T,I,M,R,V,W,G,Y,J,q,U,H,P,O=l[1]&&Jn();return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.general")}`,n=h(),s=f("p"),s.textContent=`${m("settings.generalDesc")}`,o=h(),r=f("div"),u=f("h3"),u.textContent=`${m("settings.appearance")}`,a=h(),d=f("div"),_=f("label"),v=f("span"),v.textContent=`${m("settings.theme")}`,g=h(),b=f("select"),k=f("option"),k.textContent=`${m("settings.themeSystem")}`,y=f("option"),y.textContent=`${m("settings.themeLight")} (${m("settings.langSoon")})`,S=f("option"),S.textContent=`${m("settings.themeDark")} (${m("settings.langSoon")})`,j=h(),E=f("div"),D=f("h3"),D.textContent=`${m("settings.localization")}`,N=h(),T=f("div"),I=f("label"),M=f("span"),M.textContent=`${m("settings.language")}`,R=h(),V=f("select"),W=f("option"),W.textContent=`${m("settings.langRu")}`,G=f("option"),G.textContent=`${m("settings.langEn")} (${m("settings.langSoon")})`,Y=h(),J=f("div"),O&&O.c(),q=h(),U=f("button"),U.textContent=`${m("settings.save")}`,i(t,"class","svelte-1e2uhdh"),i(s,"class","section-desc svelte-1e2uhdh"),i(u,"class","card-title svelte-1e2uhdh"),i(v,"class","label-text svelte-1e2uhdh"),k.__value="system",be(k,k.__value),y.__value="light",be(y,y.__value),y.disabled=!0,S.__value="dark",be(S,S.__value),S.disabled=!0,l[0]===void 0&&St(()=>l[5].call(b)),i(d,"class","form-group svelte-1e2uhdh"),i(r,"class","settings-card svelte-1e2uhdh"),i(D,"class","card-title svelte-1e2uhdh"),i(M,"class","label-text svelte-1e2uhdh"),W.__value="ru",be(W,W.__value),G.__value="en",be(G,G.__value),V.disabled=!0,i(T,"class","form-group svelte-1e2uhdh"),i(E,"class","settings-card svelte-1e2uhdh"),i(U,"class","btn btn-primary"),i(J,"class","settings-actions svelte-1e2uhdh"),i(e,"class","settings-section svelte-1e2uhdh")},m(z,B){C(z,e,B),c(e,t),c(e,n),c(e,s),c(e,o),c(e,r),c(r,u),c(r,a),c(r,d),c(d,_),c(_,v),c(_,g),c(_,b),c(b,k),c(b,y),c(b,S),pt(b,l[0],!0),c(e,j),c(e,E),c(E,D),c(E,N),c(E,T),c(T,I),c(I,M),c(I,R),c(I,V),c(V,W),c(V,G),c(e,Y),c(e,J),O&&O.m(J,null),c(J,q),c(J,U),H||(P=[A(b,"change",l[5]),A(U,"click",l[2])],H=!0)},p(z,[B]){B&1&&pt(b,z[0]),z[1]?O||(O=Jn(),O.c(),O.m(J,q)):O&&(O.d(1),O=null)},i:ee,o:ee,d(z){z&&w(e),O&&O.d(),H=!1,ge(P)}}}function yf(l,e,t){let{appConfig:n=null}=e,{onSave:s=null}=e,o="system",r=!1;function u(){n&&t(0,o=n.theme||"system")}async function a(){n&&(t(3,n.theme=o,n),s&&await s(n),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function d(){o=el(this),t(0,o)}return l.$$set=_=>{"appConfig"in _&&t(3,n=_.appConfig),"onSave"in _&&t(4,s=_.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&u()},[o,r,a,n,s,d]}class wf extends Xe{constructor(e){super(),Qe(this,e,yf,kf,Ye,{appConfig:3,onSave:4})}}function qn(l){let e,t;return{c(){e=f("div"),t=F(l[1]),i(e,"class","notice svelte-1zbky3")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&2&&K(t,n[1])},d(n){n&&w(e)}}}function Cf(l){let e;return{c(){e=f("p"),e.textContent=`${m("settings.noVaultInfo")}`,i(e,"class","no-data svelte-1zbky3")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function Sf(l){let e,t,n,s,o,r=l[0].path+"",u,a,d,_,v,g,b=l[0].dbPath+"",k,y,S,j=l[0].nodeCount!==void 0&&Yn(l),E=l[0].fileCount!==void 0&&Qn(l);return{c(){e=f("div"),t=f("div"),n=f("span"),n.textContent=`${m("settings.vaultPath")}`,s=h(),o=f("span"),u=F(r),a=h(),d=f("div"),_=f("span"),_.textContent="DB",v=h(),g=f("span"),k=F(b),y=h(),j&&j.c(),S=h(),E&&E.c(),i(n,"class","info-label svelte-1zbky3"),i(o,"class","info-value mono svelte-1zbky3"),i(t,"class","info-row svelte-1zbky3"),i(_,"class","info-label svelte-1zbky3"),i(g,"class","info-value mono small svelte-1zbky3"),i(d,"class","info-row svelte-1zbky3"),i(e,"class","vault-info svelte-1zbky3")},m(D,N){C(D,e,N),c(e,t),c(t,n),c(t,s),c(t,o),c(o,u),c(e,a),c(e,d),c(d,_),c(d,v),c(d,g),c(g,k),c(e,y),j&&j.m(e,null),c(e,S),E&&E.m(e,null)},p(D,N){N&1&&r!==(r=D[0].path+"")&&K(u,r),N&1&&b!==(b=D[0].dbPath+"")&&K(k,b),D[0].nodeCount!==void 0?j?j.p(D,N):(j=Yn(D),j.c(),j.m(e,S)):j&&(j.d(1),j=null),D[0].fileCount!==void 0?E?E.p(D,N):(E=Qn(D),E.c(),E.m(e,null)):E&&(E.d(1),E=null)},d(D){D&&w(e),j&&j.d(),E&&E.d()}}}function Yn(l){let e,t,n,s,o=l[0].nodeCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Nodes",n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1zbky3"),i(s,"class","info-value svelte-1zbky3"),i(e,"class","info-row svelte-1zbky3")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a&1&&o!==(o=u[0].nodeCount+"")&&K(r,o)},d(u){u&&w(e)}}}function Qn(l){let e,t,n,s,o=l[0].fileCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Files",n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1zbky3"),i(s,"class","info-value svelte-1zbky3"),i(e,"class","info-row svelte-1zbky3")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a&1&&o!==(o=u[0].fileCount+"")&&K(r,o)},d(u){u&&w(e)}}}function jf(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j=l[1]&&qn(l);function E(T,I){return T[0]?Sf:Cf}let D=E(l),N=D(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.workspace")}`,n=h(),s=f("p"),s.textContent=`${m("settings.workspaceDesc")}`,o=h(),j&&j.c(),r=h(),u=f("div"),N.c(),a=h(),d=f("div"),_=f("button"),_.textContent=`${m("settings.openVault")}`,v=h(),g=f("button"),g.textContent=`${m("settings.changeVault")}`,b=h(),k=f("button"),k.textContent=`${m("settings.checkIntegrity")}`,i(t,"class","svelte-1zbky3"),i(s,"class","section-desc svelte-1zbky3"),i(u,"class","settings-card svelte-1zbky3"),i(_,"class","btn svelte-1zbky3"),i(g,"class","btn svelte-1zbky3"),i(k,"class","btn svelte-1zbky3"),i(d,"class","workspace-actions svelte-1zbky3"),i(e,"class","settings-section svelte-1zbky3")},m(T,I){C(T,e,I),c(e,t),c(e,n),c(e,s),c(e,o),j&&j.m(e,null),c(e,r),c(e,u),N.m(u,null),c(e,a),c(e,d),c(d,_),c(d,v),c(d,g),c(d,b),c(d,k),y||(S=[A(_,"click",l[2]),A(g,"click",l[4]),A(k,"click",l[3])],y=!0)},p(T,[I]){T[1]?j?j.p(T,I):(j=qn(T),j.c(),j.m(e,r)):j&&(j.d(1),j=null),D===(D=E(T))&&N?N.p(T,I):(N.d(1),N=D(T),N&&(N.c(),N.m(u,null)))},i:ee,o:ee,d(T){T&&w(e),j&&j.d(),N.d(),y=!1,ge(S)}}}function At(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 Ef(l,e,t){let{onRefresh:n=null}=e,s=null,o="";async function r(){try{t(0,s=await At("GetVaultInfo"))}catch{t(0,s=null)}}r();async function u(){try{await At("OpenVaultFolder")}catch(_){t(1,o=String(_))}}async function a(){try{const _=await At("VaultCheck");_.healthy?t(1,o="Vault healthy"):t(1,o="Issues found: "+(_.errors||[]).join("; "))}catch(_){t(1,o=String(_))}}async function d(){try{const _=await At("PickDirectory");if(!_)return;const v=await At("OpenVault",_);v&&v.status==="ready"&&(t(0,s=await At("GetVaultInfo")),n&&n())}catch(_){t(1,o=String(_))}}return l.$$set=_=>{"onRefresh"in _&&t(5,n=_.onRefresh)},[s,o,u,a,d,n]}class Tf extends Xe{constructor(e){super(),Qe(this,e,Ef,jf,Ye,{onRefresh:5})}}function Xn(l,e,t){const n=l.slice();return n[6]=e[t],n}function Nf(l){let e,t=fe(l[0]),n=[];for(let s=0;su(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[s,o,u,n,a]}class Ff extends Xe{constructor(e){super(),Qe(this,e,Af,If,Ye,{onRefresh:3})}}function Pf(l){let e,t,n,s,o,r,u,a;return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.plugins")}`,n=h(),s=f("p"),s.textContent=`${m("settings.noPlugins")}`,o=h(),r=f("button"),r.textContent=`${m("settings.openPluginsDir")}`,i(t,"class","svelte-8jch95"),i(s,"class","section-desc svelte-8jch95"),i(r,"class","btn"),i(e,"class","settings-section svelte-8jch95")},m(d,_){C(d,e,_),c(e,t),c(e,n),c(e,s),c(e,o),c(e,r),u||(a=A(r,"click",Rf),u=!0)},p:ee,i:ee,o:ee,d(d){d&&w(e),u=!1,a()}}}function Lf(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 Rf(){try{await Lf("OpenPluginsFolder")}catch{}}class zf extends Xe{constructor(e){super(),Qe(this,e,null,Pf,Ye,{})}}function Vf(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.files")}`,n=h(),s=f("p"),s.textContent=`${m("settings.filesStub")}`,i(t,"class","svelte-19bo7bn"),i(s,"class","section-desc svelte-19bo7bn"),i(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(o){o&&w(e)}}}class Of extends Xe{constructor(e){super(),Qe(this,e,null,Vf,Ye,{})}}function Wf(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.activity")}`,n=h(),s=f("p"),s.textContent=`${m("settings.activityStub")}`,i(t,"class","svelte-19bo7bn"),i(s,"class","section-desc svelte-19bo7bn"),i(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(o){o&&w(e)}}}class Bf extends Xe{constructor(e){super(),Qe(this,e,null,Wf,Ye,{})}}function $n(l){let e,t;return{c(){e=f("div"),t=F(l[2]),i(e,"class","error-msg svelte-1fx1e1e")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[0]&4&&K(t,n[2])},d(n){n&&w(e)}}}function es(l){let e,t;return{c(){e=f("div"),t=F(l[3]),i(e,"class","result-msg svelte-1fx1e1e"),he(e,"warning",l[4]==="warning")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[0]&8&&K(t,n[3]),s[0]&16&&he(e,"warning",n[4]==="warning")},d(n){n&&w(e)}}}function Hf(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j,E,D,N,T,I,M=m("settings.checkConnection")+"",R,V,W,G,Y=m("common.connect")+"",J,q,U,H,P,O=l[11]!==null&&ts(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("label"),o=f("span"),o.textContent=`${m("settings.serverUrl")}`,r=h(),u=f("input"),a=h(),d=f("div"),_=f("label"),v=f("span"),v.textContent=`${m("sync.username")}`,g=h(),b=f("input"),k=h(),y=f("div"),S=f("label"),j=f("span"),j.textContent=`${m("sync.password")}`,E=h(),D=f("input"),N=h(),T=f("div"),I=f("button"),R=F(M),W=h(),G=f("button"),J=F(Y),U=h(),O&&O.c(),i(o,"class","label-text"),i(u,"type","text"),i(u,"placeholder","https://example.com"),i(n,"class","form-group svelte-1fx1e1e"),i(v,"class","label-text"),i(b,"type","text"),i(d,"class","form-group svelte-1fx1e1e"),i(j,"class","label-text"),i(D,"type","password"),i(y,"class","form-group svelte-1fx1e1e"),i(I,"class","btn"),I.disabled=V=l[1]||!l[5],i(G,"class","btn btn-primary"),G.disabled=q=l[1]||!l[5]||!l[6]||!l[7],i(T,"class","sync-setup-actions svelte-1fx1e1e"),i(t,"class","sync-setup svelte-1fx1e1e"),i(e,"class","settings-card svelte-1fx1e1e")},m(z,B){C(z,e,B),c(e,t),c(t,n),c(n,s),c(s,o),c(s,r),c(s,u),be(u,l[5]),c(t,a),c(t,d),c(d,_),c(_,v),c(_,g),c(_,b),be(b,l[6]),c(t,k),c(t,y),c(y,S),c(S,j),c(S,E),c(S,D),be(D,l[7]),c(t,N),c(t,T),c(T,I),c(I,R),c(T,W),c(T,G),c(G,J),c(t,U),O&&O.m(t,null),H||(P=[A(u,"input",l[23]),A(b,"input",l[24]),A(D,"input",l[25]),A(I,"click",l[12]),A(G,"click",l[13])],H=!0)},p(z,B){B[0]&32&&u.value!==z[5]&&be(u,z[5]),B[0]&64&&b.value!==z[6]&&be(b,z[6]),B[0]&128&&D.value!==z[7]&&be(D,z[7]),B[0]&34&&V!==(V=z[1]||!z[5])&&(I.disabled=V),B[0]&226&&q!==(q=z[1]||!z[5]||!z[6]||!z[7])&&(G.disabled=q),z[11]!==null?O?O.p(z,B):(O=ts(z),O.c(),O.m(t,null)):O&&(O.d(1),O=null)},d(z){z&&w(e),O&&O.d(),H=!1,ge(P)}}}function Uf(l){let e,t,n,s,o,r,u=l[20](l[0].lastStatus)+"",a,d,_,v,g,b,k,y,S,j=m("settings.syncNow")+"",E,D,N,T=m("settings.disconnect")+"",I,M,R,V=m("settings.resetKey")+"",W,G,Y,J,q,U,H,P,O,z,B,se,oe=l[0].serverUrl&&ls(l),$=l[0].deviceName&&ns(l),le=l[0].deviceId&&ss(l),te=l[0].lastSyncAt&&is(l),ce=l[0].lastError&&os(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("span"),s.textContent=`${m("settings.status")}`,o=h(),r=f("span"),a=F(u),d=h(),oe&&oe.c(),_=h(),$&&$.c(),v=h(),le&&le.c(),g=h(),te&&te.c(),b=h(),ce&&ce.c(),k=h(),y=f("div"),S=f("button"),E=F(j),D=h(),N=f("button"),I=F(T),M=h(),R=f("button"),W=F(V),G=h(),Y=f("div"),J=f("label"),q=f("span"),q.textContent=`${m("sync.interval")}`,U=h(),H=f("div"),P=f("input"),O=h(),z=f("button"),z.textContent=`${m("common.save")}`,i(s,"class","info-label svelte-1fx1e1e"),i(r,"class","info-value svelte-1fx1e1e"),he(r,"status-ok",l[0].lastStatus==="connected"),he(r,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),i(n,"class","info-row svelte-1fx1e1e"),i(t,"class","sync-info svelte-1fx1e1e"),i(e,"class","settings-card svelte-1fx1e1e"),i(S,"class","btn btn-primary"),S.disabled=l[1],i(N,"class","btn"),N.disabled=l[1],i(R,"class","btn"),R.disabled=l[1],i(y,"class","sync-actions svelte-1fx1e1e"),i(q,"class","label-text"),i(P,"type","number"),i(P,"min","0"),i(P,"placeholder","0"),i(P,"class","svelte-1fx1e1e"),i(z,"class","btn btn-sm"),i(H,"class","interval-row svelte-1fx1e1e"),i(Y,"class","sync-interval svelte-1fx1e1e")},m(ue,we){C(ue,e,we),c(e,t),c(t,n),c(n,s),c(n,o),c(n,r),c(r,a),c(t,d),oe&&oe.m(t,null),c(t,_),$&&$.m(t,null),c(t,v),le&&le.m(t,null),c(t,g),te&&te.m(t,null),c(t,b),ce&&ce.m(t,null),C(ue,k,we),C(ue,y,we),c(y,S),c(S,E),c(y,D),c(y,N),c(N,I),c(y,M),c(y,R),c(R,W),C(ue,G,we),C(ue,Y,we),c(Y,J),c(J,q),c(J,U),c(J,H),c(H,P),be(P,l[8]),c(H,O),c(H,z),B||(se=[A(S,"click",l[14]),A(N,"click",l[16]),A(R,"click",l[18]),A(P,"input",l[22]),A(z,"click",l[15])],B=!0)},p(ue,we){we[0]&1&&u!==(u=ue[20](ue[0].lastStatus)+"")&&K(a,u),we[0]&1&&he(r,"status-ok",ue[0].lastStatus==="connected"),we[0]&1&&he(r,"status-err",ue[0].lastStatus==="error"||ue[0].lastStatus==="revoked"),ue[0].serverUrl?oe?oe.p(ue,we):(oe=ls(ue),oe.c(),oe.m(t,_)):oe&&(oe.d(1),oe=null),ue[0].deviceName?$?$.p(ue,we):($=ns(ue),$.c(),$.m(t,v)):$&&($.d(1),$=null),ue[0].deviceId?le?le.p(ue,we):(le=ss(ue),le.c(),le.m(t,g)):le&&(le.d(1),le=null),ue[0].lastSyncAt?te?te.p(ue,we):(te=is(ue),te.c(),te.m(t,b)):te&&(te.d(1),te=null),ue[0].lastError?ce?ce.p(ue,we):(ce=os(ue),ce.c(),ce.m(t,null)):ce&&(ce.d(1),ce=null),we[0]&2&&(S.disabled=ue[1]),we[0]&2&&(N.disabled=ue[1]),we[0]&2&&(R.disabled=ue[1]),we[0]&256&&sl(P.value)!==ue[8]&&be(P,ue[8])},d(ue){ue&&(w(e),w(k),w(y),w(G),w(Y)),oe&&oe.d(),$&&$.d(),le&&le.d(),te&&te.d(),ce&&ce.d(),B=!1,ge(se)}}}function ts(l){let e,t=(l[11]?m("common.test")+" OK":m("error.generic"))+"",n;return{c(){e=f("div"),n=F(t),i(e,"class","connection-result svelte-1fx1e1e"),he(e,"ok",l[11]),he(e,"fail",!l[11])},m(s,o){C(s,e,o),c(e,n)},p(s,o){o[0]&2048&&t!==(t=(s[11]?m("common.test")+" OK":m("error.generic"))+"")&&K(n,t),o[0]&2048&&he(e,"ok",s[11]),o[0]&2048&&he(e,"fail",!s[11])},d(s){s&&w(e)}}}function ls(l){let e,t,n,s,o=l[0].serverUrl+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("settings.serverUrl")}`,n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1fx1e1e"),i(s,"class","info-value mono svelte-1fx1e1e"),i(e,"class","info-row svelte-1fx1e1e")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&1&&o!==(o=u[0].serverUrl+"")&&K(r,o)},d(u){u&&w(e)}}}function ns(l){let e,t,n,s,o=l[0].deviceName+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("settings.deviceName")}`,n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1fx1e1e"),i(s,"class","info-value svelte-1fx1e1e"),i(e,"class","info-row svelte-1fx1e1e")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&1&&o!==(o=u[0].deviceName+"")&&K(r,o)},d(u){u&&w(e)}}}function ss(l){let e,t,n,s,o=l[0].deviceId+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("settings.deviceId")}`,n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1fx1e1e"),i(s,"class","info-value mono svelte-1fx1e1e"),i(e,"class","info-row svelte-1fx1e1e")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&1&&o!==(o=u[0].deviceId+"")&&K(r,o)},d(u){u&&w(e)}}}function is(l){let e,t,n,s,o=l[0].lastSyncAt+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("settings.lastSync")}`,n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1fx1e1e"),i(s,"class","info-value svelte-1fx1e1e"),i(e,"class","info-row svelte-1fx1e1e")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&1&&o!==(o=u[0].lastSyncAt+"")&&K(r,o)},d(u){u&&w(e)}}}function os(l){let e,t,n,s,o=l[0].lastError+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("settings.lastError")}`,n=h(),s=f("span"),r=F(o),i(t,"class","info-label svelte-1fx1e1e"),i(s,"class","info-value error svelte-1fx1e1e"),i(e,"class","info-row svelte-1fx1e1e")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&1&&o!==(o=u[0].lastError+"")&&K(r,o)},d(u){u&&w(e)}}}function cs(l){let e,t,n,s,o,r,u,a,d,_,v,g;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${m("settings.confirmDisconnect")}`,s=h(),o=f("p"),o.textContent=`${m("settings.confirmDisconnectDesc")}`,r=h(),u=f("div"),a=f("button"),a.textContent=`${m("common.disconnect")}`,d=h(),_=f("button"),_.textContent=`${m("common.cancel")}`,i(n,"class","svelte-1fx1e1e"),i(o,"class","modal-desc svelte-1fx1e1e"),i(a,"class","btn btn-danger"),i(_,"class","btn"),i(u,"class","modal-actions svelte-1fx1e1e"),i(t,"class","modal svelte-1fx1e1e"),i(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(t,s),c(t,o),c(t,r),c(t,u),c(u,a),c(u,d),c(u,_),v||(g=[A(a,"click",l[17]),A(_,"click",l[26]),A(e,"click",l[27])],v=!0)},p:ee,d(b){b&&w(e),v=!1,ge(g)}}}function rs(l){let e,t,n,s,o,r,u,a,d,_,v,g;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${m("settings.confirmResetKey")}`,s=h(),o=f("p"),o.textContent=`${m("settings.confirmResetKeyDesc")}`,r=h(),u=f("div"),a=f("button"),a.textContent=`${m("settings.resetKey")}`,d=h(),_=f("button"),_.textContent=`${m("common.cancel")}`,i(n,"class","svelte-1fx1e1e"),i(o,"class","modal-desc svelte-1fx1e1e"),i(a,"class","btn btn-danger"),i(_,"class","btn"),i(u,"class","modal-actions svelte-1fx1e1e"),i(t,"class","modal svelte-1fx1e1e"),i(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(t,s),c(t,o),c(t,r),c(t,u),c(u,a),c(u,d),c(u,_),v||(g=[A(a,"click",l[19]),A(_,"click",l[28]),A(e,"click",l[29])],v=!0)},p:ee,d(b){b&&w(e),v=!1,ge(g)}}}function Kf(l){let e,t,n,s,o,r,u,a,d,_,v=l[2]&&$n(l),g=l[3]&&!l[2]&&es(l);function b(E,D){return E[0]&&E[0].enabled?Uf:Hf}let k=b(l),y=k(l),S=l[9]&&cs(l),j=l[10]&&rs(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.sync")}`,n=h(),s=f("p"),s.textContent=`${m("settings.syncDesc")}`,o=h(),v&&v.c(),r=h(),g&&g.c(),u=h(),y.c(),a=h(),S&&S.c(),d=h(),j&&j.c(),_=st(),i(t,"class","svelte-1fx1e1e"),i(s,"class","section-desc svelte-1fx1e1e"),i(e,"class","settings-section svelte-1fx1e1e")},m(E,D){C(E,e,D),c(e,t),c(e,n),c(e,s),c(e,o),v&&v.m(e,null),c(e,r),g&&g.m(e,null),c(e,u),y.m(e,null),C(E,a,D),S&&S.m(E,D),C(E,d,D),j&&j.m(E,D),C(E,_,D)},p(E,D){E[2]?v?v.p(E,D):(v=$n(E),v.c(),v.m(e,r)):v&&(v.d(1),v=null),E[3]&&!E[2]?g?g.p(E,D):(g=es(E),g.c(),g.m(e,u)):g&&(g.d(1),g=null),k===(k=b(E))&&y?y.p(E,D):(y.d(1),y=k(E),y&&(y.c(),y.m(e,null))),E[9]?S?S.p(E,D):(S=cs(E),S.c(),S.m(d.parentNode,d)):S&&(S.d(1),S=null),E[10]?j?j.p(E,D):(j=rs(E),j.c(),j.m(_.parentNode,_)):j&&(j.d(1),j=null)},i:ee,o:ee,d(E){E&&(w(e),w(a),w(d),w(_)),v&&v.d(),g&&g.d(),y.d(),S&&S.d(E),j&&j.d(E)}}}function wt(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{onRefresh:n=null}=e,s=null,o=!1,r="",u="",a="",d="",_="",v="",g=0,b=!1,k=!1,y=null;async function S(){try{t(0,s=await wt("GetSyncSettings")),s&&(t(5,d=s.serverUrl||""),t(8,g=s.syncInterval||0))}catch{t(0,s=null)}}S();async function j(){t(1,o=!0),t(2,r=""),t(4,a=""),t(11,y=null);try{await wt("SyncTestConnection",d,_,v),t(11,y=!0),t(3,u="connection ok")}catch(z){t(11,y=!1),t(3,u="connection failed: "+String(z))}t(1,o=!1)}async function E(){t(1,o=!0),t(2,r=""),t(4,a="");try{await wt("SyncConfigure",d,_,v),t(3,u="configured"),t(6,_=""),t(7,v=""),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,o=!1)}function D(z){const B=Array.isArray(z==null?void 0:z.conflicts)?z.conflicts:[],se=Array.isArray(z==null?void 0:z.applyErrors)?z.applyErrors:[],oe=[];return B.length>0&&oe.push(m("sync.conflictsCount",{count:B.length})),se.length>0&&oe.push(m("sync.applyErrorsCount",{count:se.length})),oe.join(" · ")}async function N(){t(1,o=!0),t(2,r=""),t(4,a="");try{const z=await wt("SyncNow"),B=m("sync.pushedPulled",{pushed:(z==null?void 0:z.pushed)||0,pulled:(z==null?void 0:z.pulled)||0}),se=D(z);t(3,u=se?B+" · "+se:B),t(4,a=se?"warning":""),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,o=!1)}async function T(){try{await wt("SyncSetInterval",g),t(3,u=m("sync.settingsSaved")),t(4,a="")}catch(z){t(2,r=String(z))}}function I(){t(9,b=!0)}async function M(){t(9,b=!1),t(1,o=!0),t(4,a="");try{await wt("SyncDisconnect"),t(3,u="disconnected"),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,o=!1)}function R(){t(10,k=!0)}async function V(){t(10,k=!1),t(1,o=!0),t(4,a="");try{await wt("ResetSyncKey"),t(3,u="key reset"),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,o=!1)}function W(z){return z?{connected:m("settings.connected"),disconnected:m("settings.disconnected"),disabled:m("settings.notConfigured"),error:m("settings.error"),revoked:m("settings.revoked")}[z]||z:m("settings.notConfigured")}function G(){g=sl(this.value),t(8,g)}function Y(){d=this.value,t(5,d)}function J(){_=this.value,t(6,_)}function q(){v=this.value,t(7,v)}const U=()=>t(9,b=!1),H=()=>t(9,b=!1),P=()=>t(10,k=!1),O=()=>t(10,k=!1);return l.$$set=z=>{"onRefresh"in z&&t(21,n=z.onRefresh)},[s,o,r,u,a,d,_,v,g,b,k,y,j,E,N,T,I,M,R,V,W,n,G,Y,J,q,U,H,P,O]}class Jf extends Xe{constructor(e){super(),Qe(this,e,Gf,Kf,Ye,{onRefresh:21},null,[-1,-1])}}function qf(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("settings.backup")}`,n=h(),s=f("p"),s.textContent=`${m("settings.backupStub")}`,i(t,"class","svelte-19bo7bn"),i(s,"class","section-desc svelte-19bo7bn"),i(e,"class","settings-section svelte-19bo7bn")},m(o,r){C(o,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(o){o&&w(e)}}}class Yf extends Xe{constructor(e){super(),Qe(this,e,null,qf,Ye,{})}}const{window:Qf}=Ll;function Xf(l){let e,t;return e=new Yf({}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function Zf(l){let e,t;return e=new Jf({props:{onRefresh:l[6]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function xf(l){let e,t;return e=new Bf({}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function $f(l){let e,t;return e=new Of({}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function ed(l){let e,t;return e=new zf({}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function td(l){let e,t;return e=new Ff({props:{onRefresh:l[2]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function ld(l){let e,t;return e=new Tf({props:{onRefresh:l[2]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function nd(l){let e,t;return e=new wf({props:{appConfig:l[1],onSave:l[5]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p(n,s){const o={};s&2&&(o.appConfig=n[1]),e.$set(o)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function sd(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S;d=new bf({props:{activeSection:l[0],onSelect:l[3]}});const j=[nd,ld,td,ed,$f,xf,Zf,Xf],E=[];function D(N,T){return N[0]==="general"?0:N[0]==="workspace"?1:N[0]==="templates"?2:N[0]==="plugins"?3:N[0]==="files"?4:N[0]==="activity"?5:N[0]==="sync"?6:N[0]==="backup"?7:-1}return~(g=D(l))&&(b=E[g]=j[g](l)),{c(){e=f("button"),t=f("div"),n=f("div"),s=f("h2"),s.textContent=`${m("settings.title")}`,o=h(),r=f("button"),r.innerHTML='',u=h(),a=f("div"),Ge(d.$$.fragment),_=h(),v=f("div"),b&&b.c(),i(s,"class","svelte-zf2zsc"),i(r,"class","close-btn svelte-zf2zsc"),i(r,"title",m("settings.close")),i(n,"class","settings-header svelte-zf2zsc"),i(v,"class","settings-content svelte-zf2zsc"),i(a,"class","settings-body svelte-zf2zsc"),i(t,"class","settings-window svelte-zf2zsc"),i(e,"class","settings-overlay svelte-zf2zsc")},m(N,T){C(N,e,T),c(e,t),c(t,n),c(n,s),c(n,o),c(n,r),c(t,u),c(t,a),He(d,a,null),c(a,_),c(a,v),~g&&E[g].m(v,null),k=!0,y||(S=[A(Qf,"keydown",l[7]),A(r,"click",l[4]),A(e,"click",ft(l[4]))],y=!0)},p(N,[T]){const I={};T&1&&(I.activeSection=N[0]),d.$set(I);let M=g;g=D(N),g===M?~g&&E[g].p(N,T):(b&&(tt(),de(E[M],1,1,()=>{E[M]=null}),lt()),~g?(b=E[g],b?b.p(N,T):(b=E[g]=j[g](N),b.c()),re(b,1),b.m(v,null)):b=null)},i(N){k||(re(d.$$.fragment,N),re(b),k=!0)},o(N){de(d.$$.fragment,N),de(b),k=!1},d(N){N&&w(e),Ue(d),~g&&E[g].d(),y=!1,ge(S)}}}function as(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 id(l,e,t){let{onClose:n=null}=e,{onSyncRefresh:s=null}=e,{initialSection:o="general"}=e,r=o,u=null;async function a(){try{t(1,u=await as("GetAppConfig"))}catch{t(1,u=null)}}a();function d(k){t(0,r=k)}function _(){n&&n()}async function v(k){try{await as("SaveAppConfig",k),t(1,u=k)}catch(y){console.error(y)}}function g(){s&&s()}function b(k){k.key==="Escape"&&_()}return l.$$set=k=>{"onClose"in k&&t(8,n=k.onClose),"onSyncRefresh"in k&&t(9,s=k.onSyncRefresh),"initialSection"in k&&t(10,o=k.initialSection)},[r,u,a,d,_,v,g,b,n,s,o]}class od extends Xe{constructor(e){super(),Qe(this,e,id,sd,Ye,{onClose:8,onSyncRefresh:9,initialSection:10})}}function cd(l){let e,t,n,s,o,r,u,a;return{c(){e=f("div"),t=f("span"),n=h(),s=f("span"),s.textContent=`${m("sync.status.disabled")}`,o=h(),r=f("button"),r.textContent=`${m("sync.configure")}`,i(t,"class","sync-dot dot-disabled svelte-1rxbx0"),i(s,"class","sync-label svelte-1rxbx0"),i(r,"class","btn btn-xs svelte-1rxbx0"),i(e,"class","sync-status-row svelte-1rxbx0")},m(d,_){C(d,e,_),c(e,t),c(e,n),c(e,s),c(e,o),c(e,r),u||(a=A(r,"click",function(){mt(l[5])&&l[5].apply(this,arguments)}),u=!0)},p(d,_){l=d},d(d){d&&w(e),u=!1,a()}}}function rd(l){let e,t,n,s,o,r=l[7](l[0])+"",u,a,d,_,v,g=(l[1]?m("sync.running"):m("sync.run"))+"",b,k,y,S,j,E,D,N=l[0].unpushedOps>0&&us(l),T=l[2]&&fs(l);return{c(){e=f("div"),t=f("span"),s=h(),o=f("span"),u=F(r),a=h(),N&&N.c(),d=h(),_=f("div"),v=f("button"),b=F(g),k=h(),y=f("button"),y.textContent=`${m("sync.details")}`,S=h(),T&&T.c(),j=st(),i(t,"class",n="sync-dot "+l[6](l[0])+" svelte-1rxbx0"),i(o,"class","sync-label svelte-1rxbx0"),i(v,"class","btn btn-xs svelte-1rxbx0"),v.disabled=l[1],i(y,"class","btn btn-xs btn-link svelte-1rxbx0"),i(_,"class","sync-actions-row svelte-1rxbx0"),i(e,"class","sync-status-row svelte-1rxbx0")},m(I,M){C(I,e,M),c(e,t),c(e,s),c(e,o),c(o,u),c(e,a),N&&N.m(e,null),c(e,d),c(e,_),c(_,v),c(v,b),c(_,k),c(_,y),C(I,S,M),T&&T.m(I,M),C(I,j,M),E||(D=[A(v,"click",function(){mt(l[4])&&l[4].apply(this,arguments)}),A(y,"click",function(){mt(l[5])&&l[5].apply(this,arguments)})],E=!0)},p(I,M){l=I,M&1&&n!==(n="sync-dot "+l[6](l[0])+" svelte-1rxbx0")&&i(t,"class",n),M&1&&r!==(r=l[7](l[0])+"")&&K(u,r),l[0].unpushedOps>0?N?N.p(l,M):(N=us(l),N.c(),N.m(e,d)):N&&(N.d(1),N=null),M&2&&g!==(g=(l[1]?m("sync.running"):m("sync.run"))+"")&&K(b,g),M&2&&(v.disabled=l[1]),l[2]?T?T.p(l,M):(T=fs(l),T.c(),T.m(j.parentNode,j)):T&&(T.d(1),T=null)},d(I){I&&(w(e),w(S),w(j)),N&&N.d(),T&&T.d(I),E=!1,ge(D)}}}function us(l){let e,t=l[0].unpushedOps+"",n,s,o=m("sync.changes")+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(o),i(e,"class","sync-count svelte-1rxbx0")},m(u,a){C(u,e,a),c(e,n),c(e,s),c(e,r)},p(u,a){a&1&&t!==(t=u[0].unpushedOps+"")&&K(n,t)},d(u){u&&w(e)}}}function fs(l){let e,t,n;return{c(){e=f("div"),t=F(l[2]),i(e,"class",n=jn(l[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")},m(s,o){C(s,e,o),c(e,t)},p(s,o){o&4&&K(t,s[2]),o&8&&n!==(n=jn(s[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")&&i(e,"class",n)},d(s){s&&w(e)}}}function ad(l){let e;function t(o,r){var u;return(u=o[0])!=null&&u.configured?rd:cd}let n=t(l),s=n(l);return{c(){e=f("div"),s.c(),i(e,"class","sync-status-widget svelte-1rxbx0")},m(o,r){C(o,e,r),s.m(e,null)},p(o,[r]){n===(n=t(o))&&s?s.p(o,r):(s.d(1),s=n(o),s&&(s.c(),s.m(e,null)))},i:ee,o:ee,d(o){o&&w(e),s.d()}}}function ud(l,e,t){let{syncStatus:n=null}=e,{syncLoading:s=!1}=e,{syncMessage:o=""}=e,{syncMessageKind:r=""}=e,{onSync:u=null}=e,{onOpenSettings:a=null}=e;function d(v){return!v||!v.configured?"dot-disabled":s?"dot-syncing":v.revoked?"dot-disabled":v.connected?"dot-connected":v.configured?"dot-warning":"dot-disabled"}function _(v){return!v||!v.configured?m("sync.status.disabled"):s?m("sync.status.syncing"):v.revoked?m("sync.status.error"):v.connected?m("sync.status.connected"):m("sync.status.disconnected")}return l.$$set=v=>{"syncStatus"in v&&t(0,n=v.syncStatus),"syncLoading"in v&&t(1,s=v.syncLoading),"syncMessage"in v&&t(2,o=v.syncMessage),"syncMessageKind"in v&&t(3,r=v.syncMessageKind),"onSync"in v&&t(4,u=v.onSync),"onOpenSettings"in v&&t(5,a=v.onOpenSettings)},[n,s,o,r,u,a,d,_]}class fd extends Xe{constructor(e){super(),Qe(this,e,ud,ad,Ye,{syncStatus:0,syncLoading:1,syncMessage:2,syncMessageKind:3,onSync:4,onOpenSettings:5})}}const{Boolean:Oo}=Ll;function ds(l,e,t){const n=l.slice();return n[318]=e[t],n}function ps(l,e,t){const n=l.slice();return n[321]=e[t],n}function ms(l,e,t){const n=l.slice();return n[321]=e[t],n}function _s(l,e,t){const n=l.slice();return n[342]=e[t],n}function vs(l,e,t){const n=l.slice();return n[342]=e[t],n}function gs(l,e,t){const n=l.slice();return n[373]=e[t],n}function hs(l,e,t){const n=l.slice();return n[342]=e[t],n}function bs(l,e,t){const n=l.slice();return n[345]=e[t],n[378]=e,n[379]=t,n}function ks(l,e,t){const n=l.slice();return n[342]=e[t],n}function ys(l,e,t){const n=l.slice();return n[355]=e[t],n}function ws(l,e,t){const n=l.slice();return n[342]=e[t],n}function Cs(l,e,t){const n=l.slice();return n[360]=e[t],n}function Ss(l,e,t){const n=l.slice();return n[360]=e[t],n}function js(l,e,t){const n=l.slice();return n[345]=e[t],n[365]=e,n[366]=t,n}function Es(l,e,t){const n=l.slice();return n[342]=e[t],n}function Ts(l,e,t){const n=l.slice();return n[355]=e[t],n}function Ns(l,e,t){const n=l.slice();return n[342]=e[t],n}function Ds(l,e,t){const n=l.slice();return n[326]=e[t],n}function Ms(l,e,t){const n=l.slice();return n[342]=e[t],n}function Is(l,e,t){const n=l.slice();return n[345]=e[t],n[346]=e,n[347]=t,n}function As(l,e,t){const n=l.slice();return n[342]=e[t],n}function Fs(l,e,t){const n=l.slice();return n[337]=e[t],n}function Ps(l,e,t){const n=l.slice();return n[334]=e[t],n}function Ls(l,e,t){const n=l.slice();return n[329]=e[t],n}function Rs(l,e,t){const n=l.slice();return n[326]=e[t],n}function zs(l,e,t){const n=l.slice();return n[329]=e[t],n}function Vs(l,e,t){const n=l.slice();return n[352]=e[t],n}function Os(l,e,t){const n=l.slice();return n[384]=e[t],n}function Ws(l,e,t){const n=l.slice();return n[387]=e[t],n}function dd(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j,E,D,N,T,I,M,R,V,W,G,Y,J,q,U,H,P,O,z,B,se,oe,$,le,te,ce,ue,we,Be,Ie,X,Z,_e,ye,me=fe(l[4]),ke=[];for(let x=0;x0?0:1}D=nt(l),N=Ke[D]=We[D](l),M=new fd({props:{syncStatus:l[77],syncLoading:l[78],syncMessage:l[79],syncMessageKind:l[80],onSync:l[164],onOpenSettings:l[169]}});function ze(x,ve){return x[26]?bd:x[25]?hd:gd}let Oe=ze(l),De=Oe(l),Ce=l[24]&&Ks(l);const Pe=[jd,Sd,Cd,wd,yd,kd],Me=[];function Le(x,ve){return x[29]?0:x[26]?1:x[25]==="journal"?2:x[25]==="today"&&x[7]?3:x[25]==="activity"?4:5}oe=Le(l),$=Me[oe]=Pe[oe](l);let Ee=l[42]&&no(l),Se=l[46].visible&&oo(l),Te=l[32]&&uo(l),je=l[49]&&fo(l),Fe=l[56]&&l[55]&&mo(l),Ae=l[74]&&vo(l),Ne=l[69]&&ho(l),ae=l[3]&&bo(l);return{c(){e=f("div"),t=f("aside"),n=f("div"),s=f("span"),s.textContent="⚒",o=h(),r=f("span"),r.textContent=`${m("nav.brand")}`,u=h(),a=f("nav"),d=f("div"),_=f("div"),_.textContent=`${m("nav.system")}`,v=h();for(let x=0;x',G=h(),Y=f("span"),J=F(l[23]),q=h(),U=f("main"),H=f("header"),P=f("div"),De.c(),O=h(),z=f("div"),z.innerHTML="",B=h(),Ce&&Ce.c(),se=h(),$.c(),le=h(),Ee&&Ee.c(),te=h(),Se&&Se.c(),ce=h(),Te&&Te.c(),ue=h(),je&&je.c(),we=h(),Fe&&Fe.c(),Be=h(),Ae&&Ae.c(),Ie=h(),Ne&&Ne.c(),X=h(),ae&&ae.c(),i(s,"class","logo svelte-pldmec"),i(r,"class","brand-name svelte-pldmec"),i(n,"class","sidebar-brand svelte-pldmec"),i(_,"class","nav-label svelte-pldmec"),i(d,"class","nav-group svelte-pldmec"),i(y,"class","svelte-pldmec"),i(j,"class","nav-add-btn svelte-pldmec"),i(j,"title",m("common.create")),i(k,"class","nav-label-row svelte-pldmec"),i(b,"class","nav-group svelte-pldmec"),i(a,"class","sidebar-nav svelte-pldmec"),i(W,"class","sidebar-settings-btn svelte-pldmec"),i(W,"title",m("common.settings")),i(Y,"class","version svelte-pldmec"),i(V,"class","sidebar-footer-row svelte-pldmec"),i(I,"class","sidebar-footer svelte-pldmec"),i(t,"class","sidebar svelte-pldmec"),i(P,"class","header-left svelte-pldmec"),i(z,"class","header-right svelte-pldmec"),i(H,"class","header svelte-pldmec"),i(U,"class","main svelte-pldmec"),i(e,"class","app svelte-pldmec")},m(x,ve){C(x,e,ve),c(e,t),c(t,n),c(n,s),c(n,o),c(n,r),c(t,u),c(t,a),c(a,d),c(d,_),c(d,v);for(let $e=0;$e{Ke[$e]=null}),lt(),N=Ke[D],N?N.p(x,ve):(N=Ke[D]=We[D](x),N.c()),re(N,1),N.m(b,null));const ot={};ve[2]&32768&&(ot.syncStatus=x[77]),ve[2]&65536&&(ot.syncLoading=x[78]),ve[2]&131072&&(ot.syncMessage=x[79]),ve[2]&262144&&(ot.syncMessageKind=x[80]),M.$set(ot),(!Z||ve[0]&8388608)&&K(J,x[23]),Oe===(Oe=ze(x))&&De?De.p(x,ve):(De.d(1),De=Oe(x),De&&(De.c(),De.m(P,null))),x[24]?Ce?Ce.p(x,ve):(Ce=Ks(x),Ce.c(),Ce.m(U,se)):Ce&&(Ce.d(1),Ce=null);let it=oe;oe=Le(x),oe===it?Me[oe].p(x,ve):(tt(),de(Me[it],1,1,()=>{Me[it]=null}),lt(),$=Me[oe],$?$.p(x,ve):($=Me[oe]=Pe[oe](x),$.c()),re($,1),$.m(U,le)),x[42]?Ee?(Ee.p(x,ve),ve[1]&2048&&re(Ee,1)):(Ee=no(x),Ee.c(),re(Ee,1),Ee.m(U,te)):Ee&&(tt(),de(Ee,1,1,()=>{Ee=null}),lt()),x[46].visible?Se?(Se.p(x,ve),ve[1]&32768&&re(Se,1)):(Se=oo(x),Se.c(),re(Se,1),Se.m(U,ce)):Se&&(tt(),de(Se,1,1,()=>{Se=null}),lt()),x[32]?Te?Te.p(x,ve):(Te=uo(x),Te.c(),Te.m(U,ue)):Te&&(Te.d(1),Te=null),x[49]?je?je.p(x,ve):(je=fo(x),je.c(),je.m(U,we)):je&&(je.d(1),je=null),x[56]&&x[55]?Fe?Fe.p(x,ve):(Fe=mo(x),Fe.c(),Fe.m(U,Be)):Fe&&(Fe.d(1),Fe=null),x[74]?Ae?Ae.p(x,ve):(Ae=vo(x),Ae.c(),Ae.m(U,Ie)):Ae&&(Ae.d(1),Ae=null),x[69]?Ne?(Ne.p(x,ve),ve[2]&128&&re(Ne,1)):(Ne=ho(x),Ne.c(),re(Ne,1),Ne.m(U,X)):Ne&&(tt(),de(Ne,1,1,()=>{Ne=null}),lt()),x[3]?ae?(ae.p(x,ve),ve[0]&8&&re(ae,1)):(ae=bo(x),ae.c(),re(ae,1),ae.m(U,null)):ae&&(tt(),de(ae,1,1,()=>{ae=null}),lt())},i(x){Z||(re(N),re(M.$$.fragment,x),re($),re(Ee),re(Se),re(Ne),re(ae),Z=!0)},o(x){de(N),de(M.$$.fragment,x),de($),de(Ee),de(Se),de(Ne),de(ae),Z=!1},d(x){x&&w(e),Ve(ke,x),Ke[D].d(),Ue(M),De.d(),Ce&&Ce.d(),Me[oe].d(),Ee&&Ee.d(),Se&&Se.d(),Te&&Te.d(),je&&je.d(),Fe&&Fe.d(),Ae&&Ae.d(),Ne&&Ne.d(),ae&&ae.d(),_e=!1,ge(ye)}}}function pd(l){var n;let e,t;return e=new rf({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[166]}}),{c(){Ge(e.$$.fragment)},m(s,o){He(e,s,o),t=!0},p(s,o){var u;const r={};o[0]&1&&(r.vaultPath=((u=s[0])==null?void 0:u.vaultPath)||""),e.$set(r)},i(s){t||(re(e.$$.fragment,s),t=!0)},o(s){de(e.$$.fragment,s),t=!1},d(s){Ue(e,s)}}}function md(l){let e,t;return e=new sf({props:{onComplete:l[165]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function Bs(l){let e,t;return{c(){e=f("span"),t=F(l[41]),i(e,"class","nav-badge svelte-pldmec")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[1]&1024&&K(t,n[41])},d(n){n&&w(e)}}}function Hs(l){let e,t=l[387].label+"",n,s,o,r,u,a,d=l[387].id==="journal"&&l[41]>0&&Bs(l);function _(){return l[168](l[387])}return{c(){e=f("button"),n=F(t),s=h(),d&&d.c(),o=h(),i(e,"class",r="nav-item "+(l[25]===l[387].id?"selected":"")+" svelte-pldmec")},m(v,g){C(v,e,g),c(e,n),c(e,s),d&&d.m(e,null),c(e,o),u||(a=A(e,"click",_),u=!0)},p(v,g){l=v,g[0]&16&&t!==(t=l[387].label+"")&&K(n,t),l[387].id==="journal"&&l[41]>0?d?d.p(l,g):(d=Bs(l),d.c(),d.m(e,o)):d&&(d.d(1),d=null),g[0]&33554448&&r!==(r="nav-item "+(l[25]===l[387].id?"selected":"")+" svelte-pldmec")&&i(e,"class",r)},d(v){v&&w(e),d&&d.d(),u=!1,a()}}}function _d(l){let e;return{c(){e=f("div"),e.textContent=`${m("nav.noNodes")}`,i(e,"class","nav-empty svelte-pldmec")},m(t,n){C(t,e,n)},p:ee,i:ee,o:ee,d(t){t&&w(e)}}}function vd(l){var r;let e,t,n,s,o;return t=new Vo({props:{nodes:l[5],expanded:l[57],selectedNodeId:((r=l[26])==null?void 0:r.id)||"",onSelect:l[86],onToggle:l[116],onContextMenu:l[114],onDrop:l[117]}}),{c(){e=f("div"),Ge(t.$$.fragment),i(e,"class","workspace-tree-area svelte-pldmec"),i(e,"role","region"),i(e,"aria-label",m("nav.workspace")),he(e,"drop-valid",l[68])},m(u,a){C(u,e,a),He(t,e,null),n=!0,s||(o=[A(e,"dragover",Rl(l[119])),A(e,"dragleave",l[120]),A(e,"drop",l[118])],s=!0)},p(u,a){var _;const d={};a[0]&32&&(d.nodes=u[5]),a[1]&67108864&&(d.expanded=u[57]),a[0]&67108864&&(d.selectedNodeId=((_=u[26])==null?void 0:_.id)||""),t.$set(d),(!n||a[2]&64)&&he(e,"drop-valid",u[68])},i(u){n||(re(t.$$.fragment,u),n=!0)},o(u){de(t.$$.fragment,u),n=!1},d(u){u&&w(e),Ue(t),s=!1,ge(o)}}}function gd(l){let e;return{c(){e=f("span"),e.textContent=`${m("nav.selectPrompt")}`,i(e,"class","crumb placeholder svelte-pldmec")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function hd(l){let e,t=fe(l[4]),n=[];for(let s=0;s',i(o,"class","dismiss-btn svelte-pldmec"),i(o,"aria-label","Dismiss"),i(e,"class","error-banner svelte-pldmec"),i(e,"role","button"),i(e,"tabindex","0")},m(a,d){C(a,e,d),c(e,n),c(e,s),c(e,o),r||(u=[A(o,"click",Je(l[171])),A(e,"click",l[172]),A(e,"keydown",function(){mt(ut(l[173]))&&ut(l[173]).apply(this,arguments)})],r=!0)},p(a,d){l=a,d[0]&16777216&&t!==(t=l[82](l[24])+"")&&K(n,t)},d(a){a&&w(e),r=!1,ge(u)}}}function kd(l){let e,t,n;function s(u,a){if(u[53])return Nd;if(u[4].length>0)return Td;if(u[24])return Ed}let o=s(l),r=o&&o(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("welcome.title")}`,n=h(),r&&r.c(),i(t,"class","svelte-pldmec"),i(e,"class","welcome svelte-pldmec")},m(u,a){C(u,e,a),c(e,t),c(e,n),r&&r.m(e,null)},p(u,a){o===(o=s(u))&&r?r.p(u,a):(r&&r.d(1),r=o&&o(u),r&&(r.c(),r.m(e,null)))},i:ee,o:ee,d(u){u&&w(e),r&&r.d()}}}function yd(l){let e,t,n,s;function o(a,d){return a[8].length===0?Md:Dd}let r=o(l),u=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("activity.title")}`,s=h(),u.c(),i(n,"class","svelte-pldmec"),i(t,"class","activity-feed-header svelte-pldmec"),i(e,"class","activity-feed svelte-pldmec")},m(a,d){C(a,e,d),c(e,t),c(t,n),c(e,s),u.m(e,null)},p(a,d){r===(r=o(a))&&u?u.p(a,d):(u.d(1),u=r(a),u&&(u.c(),u.m(e,null)))},i:ee,o:ee,d(a){a&&w(e),u.d()}}}function wd(l){let e,t,n,s,o,r=l[7].date+"",u,a,d,_,v=l[7].summary&&qs(l),g=l[40].length>0&&Zs(l);function b(S,j){return S[7].groups&&S[7].groups.length>0?Ad:Id}let k=b(l),y=k(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("today.title")}`,s=h(),o=f("span"),u=F(r),a=h(),v&&v.c(),d=h(),g&&g.c(),_=h(),y.c(),i(n,"class","svelte-pldmec"),i(o,"class","today-date svelte-pldmec"),i(t,"class","today-header svelte-pldmec"),i(e,"class","today-dashboard svelte-pldmec")},m(S,j){C(S,e,j),c(e,t),c(t,n),c(t,s),c(t,o),c(o,u),c(e,a),v&&v.m(e,null),c(e,d),g&&g.m(e,null),c(e,_),y.m(e,null)},p(S,j){j[0]&128&&r!==(r=S[7].date+"")&&K(u,r),S[7].summary?v?v.p(S,j):(v=qs(S),v.c(),v.m(e,d)):v&&(v.d(1),v=null),S[40].length>0?g?g.p(S,j):(g=Zs(S),g.c(),g.m(e,_)):g&&(g.d(1),g=null),k===(k=b(S))&&y?y.p(S,j):(y.d(1),y=k(S),y&&(y.c(),y.m(e,null)))},i:ee,o:ee,d(S){S&&w(e),v&&v.d(),g&&g.d(),y.d()}}}function Cd(l){let e,t,n,s,o,r,u,a,d,_,v,g,b,k,y,S,j,E,D,N,T,I,M,R,V,W,G,Y,J,q,U,H,P,O,z,B,se,oe,$,le,te,ce,ue,we,Be,Ie,X,Z,_e,ye,me,ke,We,Ke,nt,ze,Oe,De,Ce;function Pe(ae,x){return ae[17]?Rd:Ld}let Me=Pe(l),Le=Me(l),Ee=l[14]&&ui(l),Se=l[18]&&fi(l),Te=l[40].length>0&&di(l),je=l[10]&&gi(l);function Fe(ae,x){return ae[9].length===0?Vd:zd}let Ae=Fe(l),Ne=Ae(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("journal.title")}`,s=h(),o=f("div"),r=f("div"),r.textContent=`${m("journal.filterHeading")}`,u=h(),a=f("div"),d=f("label"),_=f("span"),_.textContent=`${m("journal.dateFrom")}`,v=h(),g=f("input"),b=h(),k=f("label"),y=f("span"),y.textContent=`${m("journal.dateTo")}`,S=h(),j=f("input"),E=h(),D=f("label"),N=f("span"),N.textContent=`${m("journal.node")}`,T=h(),I=f("div"),Le.c(),M=h(),Ee&&Ee.c(),R=h(),V=f("label"),W=f("span"),W.textContent=`${m("journal.billable")}`,G=h(),Y=f("select"),J=f("option"),J.textContent=`${m("common.all")}`,q=f("option"),q.textContent=`${m("journal.billableYes")}`,U=f("option"),U.textContent=`${m("journal.billableNo")}`,H=h(),P=f("label"),O=f("span"),O.textContent=`${m("journal.approx")}`,z=h(),B=f("select"),se=f("option"),se.textContent=`${m("common.all")}`,oe=f("option"),oe.textContent=`${m("journal.approxExact")}`,$=f("option"),$.textContent=`${m("journal.approxEstimated")}`,le=h(),te=f("button"),te.textContent=`${m("journal.filter")}`,ce=h(),ue=f("button"),ue.textContent=`${m("journal.reset")}`,we=h(),Be=f("div"),Ie=f("div"),Ie.textContent=`${m("journal.exportHeading")}`,X=h(),Z=f("div"),_e=f("button"),_e.textContent=`${m("journal.exportCSV")}`,ye=h(),me=f("button"),me.textContent=`${m("journal.exportMarkdown")}`,ke=h(),We=f("button"),We.textContent="PDF",Ke=h(),Se&&Se.c(),nt=h(),Te&&Te.c(),ze=h(),je&&je.c(),Oe=h(),Ne.c(),i(n,"class","svelte-pldmec"),i(r,"class","journal-filter-heading svelte-pldmec"),i(_,"class","label-text svelte-pldmec"),i(g,"type","date"),i(g,"class","svelte-pldmec"),i(d,"class","svelte-pldmec"),i(y,"class","label-text svelte-pldmec"),i(j,"type","date"),i(j,"class","svelte-pldmec"),i(k,"class","svelte-pldmec"),i(N,"class","label-text svelte-pldmec"),i(I,"class","journal-node-picker svelte-pldmec"),at(I,"position","relative"),i(D,"class","svelte-pldmec"),i(W,"class","label-text svelte-pldmec"),J.__value="all",be(J,J.__value),i(J,"class","svelte-pldmec"),q.__value="yes",be(q,q.__value),i(q,"class","svelte-pldmec"),U.__value="no",be(U,U.__value),i(U,"class","svelte-pldmec"),i(Y,"class","svelte-pldmec"),l[15]===void 0&&St(()=>l[223].call(Y)),i(V,"title",m("journal.billableHint")),i(V,"class","svelte-pldmec"),i(O,"class","label-text svelte-pldmec"),se.__value="all",be(se,se.__value),i(se,"class","svelte-pldmec"),oe.__value="no",be(oe,oe.__value),i(oe,"class","svelte-pldmec"),$.__value="yes",be($,$.__value),i($,"class","svelte-pldmec"),i(B,"class","svelte-pldmec"),l[16]===void 0&&St(()=>l[224].call(B)),i(P,"title",m("journal.approxHint")),i(P,"class","svelte-pldmec"),i(te,"class","btn btn-sm svelte-pldmec"),i(ue,"class","btn btn-sm svelte-pldmec"),i(a,"class","journal-filters-row svelte-pldmec"),i(o,"class","journal-filter-section svelte-pldmec"),i(Ie,"class","journal-export-heading svelte-pldmec"),i(_e,"class","btn btn-sm svelte-pldmec"),i(me,"class","btn btn-sm svelte-pldmec"),i(We,"class","btn btn-sm svelte-pldmec"),i(Z,"class","journal-export-row svelte-pldmec"),i(Be,"class","journal-export-section svelte-pldmec"),i(t,"class","journal-header svelte-pldmec"),i(e,"class","journal-screen svelte-pldmec")},m(ae,x){C(ae,e,x),c(e,t),c(t,n),c(t,s),c(t,o),c(o,r),c(o,u),c(o,a),c(a,d),c(d,_),c(d,v),c(d,g),be(g,l[11]),c(a,b),c(a,k),c(k,y),c(k,S),c(k,j),be(j,l[12]),c(a,E),c(a,D),c(D,N),c(D,T),c(D,I),Le.m(I,null),c(a,M),Ee&&Ee.m(a,null),c(a,R),c(a,V),c(V,W),c(V,G),c(V,Y),c(Y,J),c(Y,q),c(Y,U),pt(Y,l[15],!0),c(a,H),c(a,P),c(P,O),c(P,z),c(P,B),c(B,se),c(B,oe),c(B,$),pt(B,l[16],!0),c(a,le),c(a,te),c(a,ce),c(a,ue),c(t,we),c(t,Be),c(Be,Ie),c(Be,X),c(Be,Z),c(Z,_e),c(Z,ye),c(Z,me),c(Z,ke),c(Z,We),c(Z,Ke),Se&&Se.m(Z,null),c(e,nt),Te&&Te.m(e,null),c(e,ze),je&&je.m(e,null),c(e,Oe),Ne.m(e,null),De||(Ce=[A(g,"input",l[216]),A(j,"input",l[217]),A(Y,"change",l[223]),A(B,"change",l[224]),A(te,"click",l[138]),A(ue,"click",l[145]),A(_e,"click",l[225]),A(me,"click",l[226]),A(We,"click",l[227])],De=!0)},p(ae,x){x[0]&2048&&be(g,ae[11]),x[0]&4096&&be(j,ae[12]),Me===(Me=Pe(ae))&&Le?Le.p(ae,x):(Le.d(1),Le=Me(ae),Le&&(Le.c(),Le.m(I,null))),ae[14]?Ee?Ee.p(ae,x):(Ee=ui(ae),Ee.c(),Ee.m(a,R)):Ee&&(Ee.d(1),Ee=null),x[0]&32768&&pt(Y,ae[15]),x[0]&65536&&pt(B,ae[16]),ae[18]?Se?Se.p(ae,x):(Se=fi(ae),Se.c(),Se.m(Z,null)):Se&&(Se.d(1),Se=null),ae[40].length>0?Te?Te.p(ae,x):(Te=di(ae),Te.c(),Te.m(e,ze)):Te&&(Te.d(1),Te=null),ae[10]?je?je.p(ae,x):(je=gi(ae),je.c(),je.m(e,Oe)):je&&(je.d(1),je=null),Ae===(Ae=Fe(ae))&&Ne?Ne.p(ae,x):(Ne.d(1),Ne=Ae(ae),Ne&&(Ne.c(),Ne.m(e,null)))},i:ee,o:ee,d(ae){ae&&w(e),Le.d(),Ee&&Ee.d(),Se&&Se.d(),Te&&Te.d(),je&&je.d(),Ne.d(),De=!1,ge(Ce)}}}function Sd(l){let e,t,n,s,o,r,u=fe(l[84]),a=[];for(let g=0;g{_[k]=null}),lt()),~s?(o=_[s],o?o.p(g,b):(o=_[s]=d[s](g),o.c()),re(o,1),o.m(n,null)):o=null)},i(g){r||(re(o),r=!0)},o(g){de(o),r=!1},d(g){g&&(w(e),w(t),w(n)),Ve(a,g),~s&&_[s].d()}}}function jd(l){let e,t,n,s=l[29].title+"",o,r,u,a,d,_,v,g,b,k,y,S=l[29].dirty&&lo();return{c(){e=f("div"),t=f("div"),n=f("span"),o=F(s),r=h(),S&&S.c(),u=h(),a=f("div"),d=f("button"),d.textContent=`${m("common.save")}`,_=h(),v=f("button"),v.textContent=`${m("common.close")}`,g=h(),b=f("textarea"),i(n,"class","note-title svelte-pldmec"),i(d,"class","btn btn-primary svelte-pldmec"),i(v,"class","btn svelte-pldmec"),i(a,"class","note-editor-actions svelte-pldmec"),i(t,"class","note-editor-header svelte-pldmec"),i(b,"class","note-textarea svelte-pldmec"),i(b,"placeholder",m("note.placeholder")),i(e,"class","note-editor svelte-pldmec")},m(j,E){C(j,e,E),c(e,t),c(t,n),c(n,o),c(t,r),S&&S.m(t,null),c(t,u),c(t,a),c(a,d),c(a,_),c(a,v),c(e,g),c(e,b),be(b,l[29].content),k||(y=[A(d,"click",l[131]),A(v,"click",l[129]),A(b,"input",l[174]),A(b,"input",l[130])],k=!0)},p(j,E){E[0]&536870912&&s!==(s=j[29].title+"")&&K(o,s),j[29].dirty?S||(S=lo(),S.c(),S.m(t,u)):S&&(S.d(1),S=null),E[0]&536870912&&be(b,j[29].content)},i:ee,o:ee,d(j){j&&w(e),S&&S.d(),k=!1,ge(y)}}}function Ed(l){let e,t=m("common.error")+"",n,s,o;return{c(){e=f("p"),n=F(t),s=h(),o=F(l[24]),i(e,"class","error-text svelte-pldmec")},m(r,u){C(r,e,u),c(e,n),c(e,s),c(e,o)},p(r,u){u[0]&16777216&&K(o,r[24])},d(r){r&&w(e)}}}function Td(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${m("welcome.selectSection")}`,t=h(),n=f("p"),n.textContent=`${m("welcome.createCase")}`,i(e,"class","svelte-pldmec"),i(n,"class","hint svelte-pldmec")},m(s,o){C(s,e,o),C(s,t,o),C(s,n,o)},p:ee,d(s){s&&(w(e),w(t),w(n))}}}function Nd(l){let e;return{c(){e=f("p"),e.textContent=`${m("common.loading")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function Dd(l){let e,t=fe(l[8]),n=[];for(let s=0;s0&&Ys(l),o=l[7].summary.notes>0&&Qs(l),r=l[7].summary.files>0&&Xs(l);return{c(){e=f("div"),s&&s.c(),t=h(),o&&o.c(),n=h(),r&&r.c(),i(e,"class","today-summary svelte-pldmec")},m(u,a){C(u,e,a),s&&s.m(e,null),c(e,t),o&&o.m(e,null),c(e,n),r&&r.m(e,null)},p(u,a){u[7].summary.changedCases>0?s?s.p(u,a):(s=Ys(u),s.c(),s.m(e,t)):s&&(s.d(1),s=null),u[7].summary.notes>0?o?o.p(u,a):(o=Qs(u),o.c(),o.m(e,n)):o&&(o.d(1),o=null),u[7].summary.files>0?r?r.p(u,a):(r=Xs(u),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(u){u&&w(e),s&&s.d(),o&&o.d(),r&&r.d()}}}function Ys(l){let e,t=l[7].summary.changedCases+"",n,s,o=vt(l[7].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(o),i(e,"class","summary-chip svelte-pldmec")},m(u,a){C(u,e,a),c(e,n),c(e,s),c(e,r)},p(u,a){a[0]&128&&t!==(t=u[7].summary.changedCases+"")&&K(n,t),a[0]&128&&o!==(o=vt(u[7].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"")&&K(r,o)},d(u){u&&w(e)}}}function Qs(l){let e,t=l[7].summary.notes+"",n,s,o=vt(l[7].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(o),i(e,"class","summary-chip svelte-pldmec")},m(u,a){C(u,e,a),c(e,n),c(e,s),c(e,r)},p(u,a){a[0]&128&&t!==(t=u[7].summary.notes+"")&&K(n,t),a[0]&128&&o!==(o=vt(u[7].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"")&&K(r,o)},d(u){u&&w(e)}}}function Xs(l){let e,t=l[7].summary.files+"",n,s,o=vt(l[7].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(o),i(e,"class","summary-chip svelte-pldmec")},m(u,a){C(u,e,a),c(e,n),c(e,s),c(e,r)},p(u,a){a[0]&128&&t!==(t=u[7].summary.files+"")&&K(n,t),a[0]&128&&o!==(o=vt(u[7].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"")&&K(r,o)},d(u){u&&w(e)}}}function Zs(l){let e,t,n,s=fe(l[40]),o=[];for(let r=0;r0&&xs(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("button"),r=F(o),u=h(),a=f("span"),_=F(d),v=h(),g=f("span"),k=F(b),y=h(),S=f("div"),j=f("input"),D=h(),N=f("span"),N.textContent=`${m("suggest.minutes")}`,T=h(),I=f("button"),I.textContent=`${m("suggest.apply")}`,M=h(),H&&H.c(),R=h(),i(s,"class","suggestion-node link-btn svelte-pldmec"),i(a,"class","suggestion-summary svelte-pldmec"),i(g,"class","suggestion-confidence svelte-pldmec"),he(g,"low",l[345].confidence==="low"),he(g,"medium",l[345].confidence==="medium"),he(g,"high",l[345].confidence==="high"),i(n,"class","suggestion-info svelte-pldmec"),i(j,"type","number"),i(j,"class","suggestion-min-input svelte-pldmec"),j.value=E=l[345].suggestedMin,i(j,"min","1"),i(j,"max","480"),i(N,"class","suggestion-min-label svelte-pldmec"),i(I,"class","btn btn-sm btn-primary svelte-pldmec"),i(S,"class","suggestion-actions svelte-pldmec"),i(t,"class","suggestion-main svelte-pldmec"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-pldmec"),he(e,"expanded",l[345]._expanded)},m(P,O){C(P,e,O),c(e,t),c(t,n),c(n,s),c(s,r),c(n,u),c(n,a),c(a,_),c(n,v),c(n,g),c(g,k),c(t,y),c(t,S),c(S,j),c(S,D),c(S,N),c(S,T),c(S,I),c(e,M),H&&H.m(e,null),c(e,R),V||(W=[A(s,"click",Je(G)),A(j,"change",Je(Y)),A(I,"click",Je(J)),A(t,"click",q),A(t,"keydown",U)],V=!0)},p(P,O){l=P,O[1]&512&&o!==(o=l[345].nodeTitle+"")&&K(r,o),O[1]&512&&d!==(d=l[345].summary+"")&&K(_,d),O[1]&512&&b!==(b=m("suggest.confidence."+l[345].confidence)+"")&&K(k,b),O[1]&512&&he(g,"low",l[345].confidence==="low"),O[1]&512&&he(g,"medium",l[345].confidence==="medium"),O[1]&512&&he(g,"high",l[345].confidence==="high"),O[1]&512&&E!==(E=l[345].suggestedMin)&&j.value!==E&&(j.value=E),l[345]._expanded&&l[345].events&&l[345].events.length>0?H?H.p(l,O):(H=xs(l),H.c(),H.m(e,R)):H&&(H.d(1),H=null),O[1]&512&&he(e,"expanded",l[345]._expanded)},d(P){P&&w(e),H&&H.d(),V=!1,ge(W)}}}function Id(l){let e,t,n,s;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("today.empty")}`,n=h(),s=f("p"),s.textContent=`${m("today.emptyHint")}`,i(t,"class","svelte-pldmec"),i(s,"class","hint svelte-pldmec"),i(e,"class","today-empty svelte-pldmec")},m(o,r){C(o,e,r),c(e,t),c(e,n),c(e,s)},p:ee,d(o){o&&w(e)}}}function Ad(l){let e,t,n=fe(l[7].groups),s=[];for(let r=0;r0&&oi(l);return{c(){for(let r=0;r0?o?o.p(r,u):(o=oi(r),o.c(),o.m(t.parentNode,t)):o&&(o.d(1),o=null)},d(r){r&&(w(e),w(t)),Ve(s,r),o&&o.d(r)}}}function li(l){let e,t=l[373].events.length+"",n,s,o=vt(l[373].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(o),i(e,"class","today-case-count svelte-pldmec")},m(u,a){C(u,e,a),c(e,n),c(e,s),c(e,r)},p(u,a){a[0]&128&&t!==(t=u[373].events.length+"")&&K(n,t),a[0]&128&&o!==(o=vt(u[373].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"")&&K(r,o)},d(u){u&&w(e)}}}function Fd(l){let e;return{c(){e=f("div"),e.textContent=`${m("today.changedCases")}`,i(e,"class","today-events-empty svelte-pldmec")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function Pd(l){let e,t=fe(l[373].events),n=[];for(let s=0;s0?Pd:Fd}let I=T(l),M=I(l);return{c(){e=f("div"),t=f("div"),n=f("span"),o=F(s),r=h(),u=f("span"),d=F(a),_=h(),E&&E.c(),v=h(),g=f("span"),k=F(b),y=h(),M.c(),i(n,"class","today-case-title svelte-pldmec"),i(u,"class","today-case-type svelte-pldmec"),i(g,"class","today-case-time svelte-pldmec"),i(t,"class","today-case-header svelte-pldmec"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","today-case svelte-pldmec")},m(R,V){C(R,e,V),c(e,t),c(t,n),c(n,o),c(t,r),c(t,u),c(u,d),c(t,_),E&&E.m(t,null),c(t,v),c(t,g),c(g,k),c(e,y),M.m(e,null),S||(j=[A(t,"click",D),A(t,"keydown",N)],S=!0)},p(R,V){l=R,V[0]&128&&s!==(s=l[373].nodeTitle+"")&&K(o,s),V[0]&128&&a!==(a=l[152](l[373].nodeKind)+"")&&K(d,a),l[373].events?E?E.p(l,V):(E=li(l),E.c(),E.m(t,v)):E&&(E.d(1),E=null),V[0]&128&&b!==(b=xe(l[373].lastActivityAt)+"")&&K(k,b),I===(I=T(l))&&M?M.p(l,V):(M.d(1),M=I(l),M&&(M.c(),M.m(e,null)))},d(R){R&&w(e),E&&E.d(),M.d(),S=!1,ge(j)}}}function oi(l){let e,t,n,s=fe(l[7].events),o=[];for(let r=0;r0&&pi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("button"),r=F(o),u=h(),a=f("span"),_=F(d),v=h(),g=f("span"),k=F(b),y=h(),S=f("div"),j=f("input"),D=h(),N=f("span"),N.textContent=`${m("suggest.minutes")}`,T=h(),I=f("button"),I.textContent=`${m("suggest.apply")}`,M=h(),H&&H.c(),R=h(),i(s,"class","suggestion-node link-btn svelte-pldmec"),i(a,"class","suggestion-summary svelte-pldmec"),i(g,"class","suggestion-confidence svelte-pldmec"),he(g,"low",l[345].confidence==="low"),he(g,"medium",l[345].confidence==="medium"),he(g,"high",l[345].confidence==="high"),i(n,"class","suggestion-info svelte-pldmec"),i(j,"type","number"),i(j,"class","suggestion-min-input svelte-pldmec"),j.value=E=l[345].suggestedMin,i(j,"min","1"),i(j,"max","480"),i(N,"class","suggestion-min-label svelte-pldmec"),i(I,"class","btn btn-sm btn-primary svelte-pldmec"),i(S,"class","suggestion-actions svelte-pldmec"),i(t,"class","suggestion-main svelte-pldmec"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-pldmec"),he(e,"expanded",l[345]._expanded)},m(P,O){C(P,e,O),c(e,t),c(t,n),c(n,s),c(s,r),c(n,u),c(n,a),c(a,_),c(n,v),c(n,g),c(g,k),c(t,y),c(t,S),c(S,j),c(S,D),c(S,N),c(S,T),c(S,I),c(e,M),H&&H.m(e,null),c(e,R),V||(W=[A(s,"click",Je(G)),A(j,"change",Je(Y)),A(I,"click",Je(J)),A(t,"click",q),A(t,"keydown",U)],V=!0)},p(P,O){l=P,O[1]&512&&o!==(o=l[345].nodeTitle+"")&&K(r,o),O[1]&512&&d!==(d=l[345].summary+"")&&K(_,d),O[1]&512&&b!==(b=m("suggest.confidence."+l[345].confidence)+"")&&K(k,b),O[1]&512&&he(g,"low",l[345].confidence==="low"),O[1]&512&&he(g,"medium",l[345].confidence==="medium"),O[1]&512&&he(g,"high",l[345].confidence==="high"),O[1]&512&&E!==(E=l[345].suggestedMin)&&j.value!==E&&(j.value=E),l[345]._expanded&&l[345].events&&l[345].events.length>0?H?H.p(l,O):(H=pi(l),H.c(),H.m(e,R)):H&&(H.d(1),H=null),O[1]&512&&he(e,"expanded",l[345]._expanded)},d(P){P&&w(e),H&&H.d(),V=!1,ge(W)}}}function gi(l){let e,t,n=m("journal.total")+"",s,o,r=Math.floor(l[10].totalMinutes/60)+"",u,a,d=l[10].totalMinutes%60+"",_,v,g=l[10].totalEntries+"",b,k,y=m("worklog.min")+"",S,j,E,D,N=l[10].byDay&&l[10].byDay.length>0&&hi(l),T=l[10].byNode&&l[10].byNode.length>0&&ki(l);return{c(){e=f("div"),t=f("div"),s=F(n),o=F(": "),u=F(r),a=F("ч "),_=F(d),v=F("м ("),b=F(g),k=h(),S=F(y),j=F(")"),E=h(),N&&N.c(),D=h(),T&&T.c(),i(t,"class","summary-total svelte-pldmec"),i(e,"class","journal-summary svelte-pldmec")},m(I,M){C(I,e,M),c(e,t),c(t,s),c(t,o),c(t,u),c(t,a),c(t,_),c(t,v),c(t,b),c(t,k),c(t,S),c(t,j),c(e,E),N&&N.m(e,null),c(e,D),T&&T.m(e,null)},p(I,M){M[0]&1024&&r!==(r=Math.floor(I[10].totalMinutes/60)+"")&&K(u,r),M[0]&1024&&d!==(d=I[10].totalMinutes%60+"")&&K(_,d),M[0]&1024&&g!==(g=I[10].totalEntries+"")&&K(b,g),I[10].byDay&&I[10].byDay.length>0?N?N.p(I,M):(N=hi(I),N.c(),N.m(e,D)):N&&(N.d(1),N=null),I[10].byNode&&I[10].byNode.length>0?T?T.p(I,M):(T=ki(I),T.c(),T.m(e,null)):T&&(T.d(1),T=null)},d(I){I&&w(e),N&&N.d(),T&&T.d()}}}function hi(l){let e,t,n,s=fe(l[10].byDay),o=[];for(let r=0;r0?Ud:R[355].source==="suggestion"?Hd:R[355].source==="unknown"||R[355].source==="imported"?Bd:R[355]._hasEvents?Wd:Od}let T=N(l),I=T(l),M=l[355]._events&&Ei(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),s=f("div"),o=f("button"),o.textContent=`${m("worklog.editEntry")}`,r=h(),u=f("button"),u.textContent=`${m("worklog.deleteEntry")}`,a=h(),D&&D.c(),d=h(),_=f("div"),v=f("span"),v.textContent=`${m("worklog.source")}`,g=h(),I.c(),b=h(),M&&M.c(),k=h(),i(o,"class","btn btn-sm svelte-pldmec"),i(u,"class","btn btn-sm btn-danger svelte-pldmec"),i(s,"class","journal-detail-actions svelte-pldmec"),i(v,"class","journal-detail-label svelte-pldmec"),i(_,"class","journal-detail-section svelte-pldmec"),i(n,"class","journal-detail-body svelte-pldmec"),i(t,"colspan","8"),i(t,"class","svelte-pldmec"),i(e,"class","journal-row-detail svelte-pldmec")},m(R,V){C(R,e,V),c(e,t),c(t,n),c(n,s),c(s,o),c(s,r),c(s,u),c(n,a),D&&D.m(n,null),c(n,d),c(n,_),c(_,v),c(_,g),I.m(_,null),c(n,b),M&&M.m(n,null),c(e,k),y||(S=[A(o,"click",Je(j)),A(u,"click",Je(E))],y=!0)},p(R,V){l=R,l[355].details?D?D.p(l,V):(D=ji(l),D.c(),D.m(n,d)):D&&(D.d(1),D=null),T!==(T=N(l))&&(I.d(1),I=T(l),I&&(I.c(),I.m(_,null))),l[355]._events?M?M.p(l,V):(M=Ei(l),M.c(),M.m(n,null)):M&&(M.d(1),M=null)},d(R){R&&w(e),D&&D.d(),I.d(),M&&M.d(),y=!1,ge(S)}}}function ji(l){let e,t,n,s,o=l[355].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("worklog.details")}`,n=h(),s=f("p"),r=F(o),i(t,"class","journal-detail-label svelte-pldmec"),i(s,"class","svelte-pldmec"),i(e,"class","journal-detail-section svelte-pldmec")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[0]&512&&o!==(o=u[355].details+"")&&K(r,o)},d(u){u&&w(e)}}}function Od(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Wd(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Bd(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Hd(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ud(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Kd(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceManual")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ei(l){let e,t,n,s=fe(l[355]._events),o=[];for(let r=0;r0,r,u,a,d=o&&Ai(l);function _(b,k){return b[31].length===0?ep:$d}let v=_(l),g=v(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${m("worklog.addEntry")}`,s=h(),d&&d.c(),r=h(),g.c(),i(n,"class","btn btn-primary btn-sm svelte-pldmec"),i(t,"class","worklog-toolbar svelte-pldmec"),i(e,"class","worklog-tab svelte-pldmec")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(e,s),d&&d.m(e,null),c(e,r),g.m(e,null),u||(a=A(n,"click",l[201]),u=!0)},p(b,k){k[0]&67108864|k[1]&512&&(o=b[26]&&b[40].filter(b[167]).length>0),o?d?d.p(b,k):(d=Ai(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),v===(v=_(b))&&g?g.p(b,k):(g.d(1),g=v(b),g&&(g.c(),g.m(e,null)))},i:ee,o:ee,d(b){b&&w(e),d&&d.d(),g.d(),u=!1,a()}}}function qd(l){let e,t,n,s,o,r;function u(_,v){return _[30].length===0?cp:op}let a=u(l),d=a(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("action.addAction")}`,s=h(),d.c(),i(n,"class","btn btn-primary svelte-pldmec"),i(t,"class","tab-toolbar svelte-pldmec"),i(e,"class","actions-tab svelte-pldmec")},m(_,v){C(_,e,v),c(e,t),c(t,n),c(e,s),d.m(e,null),o||(r=A(n,"click",l[153]),o=!0)},p(_,v){a===(a=u(_))&&d?d.p(_,v):(d.d(1),d=a(_),d&&(d.c(),d.m(e,null)))},i:ee,o:ee,d(_){_&&w(e),d.d(),o=!1,r()}}}function Yd(l){let e,t,n,s=m("file.addFile")+"",o,r,u,a=m("file.addFolder")+"",d,_,v,g,b,k,y,S,j,E,D,N,T,I=l[66].items.length>0&&Ji(l);const M=[ap,rp],R=[];function V(Y,J){return Y[58]?0:1}k=V(l),y=R[k]=M[k](l);let W=l[54]&&!l[56]&&Yi(),G=l[62]&&Qi(l);return{c(){e=f("div"),t=f("div"),n=f("button"),o=F(s),r=h(),u=f("button"),d=F(a),_=h(),v=f("button"),v.textContent=`${m("file.newFile")}`,g=h(),I&&I.c(),b=h(),y.c(),S=h(),W&&W.c(),j=h(),G&&G.c(),E=st(),i(n,"class","btn btn-primary svelte-pldmec"),n.disabled=l[54],i(u,"class","btn svelte-pldmec"),u.disabled=l[54],i(v,"class","btn svelte-pldmec"),i(t,"class","tab-toolbar svelte-pldmec"),i(e,"class","files-tab svelte-pldmec")},m(Y,J){C(Y,e,J),c(e,t),c(t,n),c(n,o),c(t,r),c(t,u),c(u,d),c(t,_),c(t,v),c(t,g),I&&I.m(t,null),c(e,b),R[k].m(e,null),c(e,S),W&&W.m(e,null),C(Y,j,J),G&&G.m(Y,J),C(Y,E,J),D=!0,N||(T=[A(n,"click",l[146]),A(u,"click",l[147]),A(v,"click",l[93])],N=!0)},p(Y,J){(!D||J[1]&8388608)&&(n.disabled=Y[54]),(!D||J[1]&8388608)&&(u.disabled=Y[54]),Y[66].items.length>0?I?I.p(Y,J):(I=Ji(Y),I.c(),I.m(t,null)):I&&(I.d(1),I=null);let q=k;k=V(Y),k===q?R[k].p(Y,J):(tt(),de(R[q],1,1,()=>{R[q]=null}),lt(),y=R[k],y?y.p(Y,J):(y=R[k]=M[k](Y),y.c()),re(y,1),y.m(e,S)),Y[54]&&!Y[56]?W||(W=Yi(),W.c(),W.m(e,null)):W&&(W.d(1),W=null),Y[62]?G?(G.p(Y,J),J[2]&1&&re(G,1)):(G=Qi(Y),G.c(),re(G,1),G.m(E.parentNode,E)):G&&(tt(),de(G,1,1,()=>{G=null}),lt())},i(Y){D||(re(y),re(G),D=!0)},o(Y){de(y),de(G),D=!1},d(Y){Y&&(w(e),w(j),w(E)),I&&I.d(),R[k].d(),W&&W.d(),G&&G.d(Y),N=!1,ge(T)}}}function Qd(l){let e,t,n,s,o,r,u,a=l[47]&&Xi(l);function d(g,b){return g[28].length===0&&!g[47]?_p:mp}let _=d(l),v=_(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("note.add")}`,s=h(),a&&a.c(),o=h(),v.c(),i(n,"class","btn btn-primary svelte-pldmec"),i(t,"class","tab-toolbar svelte-pldmec"),i(e,"class","notes-tab svelte-pldmec")},m(g,b){C(g,e,b),c(e,t),c(t,n),c(e,s),a&&a.m(e,null),c(e,o),v.m(e,null),r||(u=A(n,"click",l[125]),r=!0)},p(g,b){g[47]?a?a.p(g,b):(a=Xi(g),a.c(),a.m(e,o)):a&&(a.d(1),a=null),_===(_=d(g))&&v?v.p(g,b):(v.d(1),v=_(g),v&&(v.c(),v.m(e,null)))},i:ee,o:ee,d(g){g&&w(e),a&&a.d(),v.d(),r=!1,u()}}}function Xd(l){let e,t,n=l[26].title+"",s,o,r,u,a,d,_=l[152](l[26].type)+"",v,g,b,k,y,S=(l[26].section||"—")+"",j,E,D,N,T,I=_t(l[26].createdAt)+"",M,R,V,W,G,Y,J,q,U=m("overview.newNote")+"",H,P,O,z,B,se,oe=m("overview.addFile")+"",$,le,te,ce,ue,we,Be=m("overview.addAction")+"",Ie,X,Z,_e,ye,me,ke,We=m("overview.logTime")+"",Ke,nt,ze,Oe,De,Ce=l[28].length>0&&xi(l),Pe=l[31].length>0&&eo(l);return{c(){e=f("div"),t=f("h2"),s=F(n),o=h(),r=f("div"),u=f("div"),a=f("span"),a.textContent=`${m("overview.type")}`,d=f("span"),v=F(_),g=h(),b=f("div"),k=f("span"),k.textContent=`${m("overview.section")}`,y=f("span"),j=F(S),E=h(),D=f("div"),N=f("span"),N.textContent=`${m("overview.created")}`,T=f("span"),M=F(I),R=h(),V=f("div"),W=f("button"),G=Q("svg"),Y=Q("path"),J=Q("path"),q=h(),H=F(U),P=h(),O=f("button"),z=Q("svg"),B=Q("path"),se=h(),$=F(oe),le=h(),te=f("button"),ce=Q("svg"),ue=Q("polygon"),we=h(),Ie=F(Be),X=h(),Z=f("button"),_e=Q("svg"),ye=Q("circle"),me=Q("polyline"),ke=h(),Ke=F(We),nt=h(),Ce&&Ce.c(),ze=h(),Pe&&Pe.c(),i(t,"class","svelte-pldmec"),i(a,"class","meta-label svelte-pldmec"),i(d,"class","svelte-pldmec"),i(u,"class","meta-item svelte-pldmec"),i(k,"class","meta-label svelte-pldmec"),i(y,"class","svelte-pldmec"),i(b,"class","meta-item svelte-pldmec"),i(N,"class","meta-label svelte-pldmec"),i(T,"class","svelte-pldmec"),i(D,"class","meta-item svelte-pldmec"),i(r,"class","meta-grid svelte-pldmec"),i(Y,"d","M12 20h9"),i(Y,"class","svelte-pldmec"),i(J,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(J,"class","svelte-pldmec"),i(G,"width","16"),i(G,"height","16"),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(G,"class","svelte-pldmec"),i(W,"class","qa-btn svelte-pldmec"),i(B,"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(B,"class","svelte-pldmec"),i(z,"width","16"),i(z,"height","16"),i(z,"viewBox","0 0 24 24"),i(z,"fill","none"),i(z,"stroke","currentColor"),i(z,"stroke-width","2"),i(z,"stroke-linecap","round"),i(z,"stroke-linejoin","round"),i(z,"class","svelte-pldmec"),i(O,"class","qa-btn svelte-pldmec"),i(ue,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),i(ue,"class","svelte-pldmec"),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-pldmec"),i(te,"class","qa-btn svelte-pldmec"),i(ye,"cx","12"),i(ye,"cy","12"),i(ye,"r","10"),i(ye,"class","svelte-pldmec"),i(me,"points","12 6 12 12 16 14"),i(me,"class","svelte-pldmec"),i(_e,"width","16"),i(_e,"height","16"),i(_e,"viewBox","0 0 24 24"),i(_e,"fill","none"),i(_e,"stroke","currentColor"),i(_e,"stroke-width","2"),i(_e,"stroke-linecap","round"),i(_e,"stroke-linejoin","round"),i(_e,"class","svelte-pldmec"),i(Z,"class","qa-btn svelte-pldmec"),i(V,"class","quick-actions svelte-pldmec"),i(e,"class","overview svelte-pldmec")},m(Me,Le){C(Me,e,Le),c(e,t),c(t,s),c(e,o),c(e,r),c(r,u),c(u,a),c(u,d),c(d,v),c(r,g),c(r,b),c(b,k),c(b,y),c(y,j),c(r,E),c(r,D),c(D,N),c(D,T),c(T,M),c(e,R),c(e,V),c(V,W),c(W,G),c(G,Y),c(G,J),c(W,q),c(W,H),c(V,P),c(V,O),c(O,z),c(z,B),c(O,se),c(O,$),c(V,le),c(V,te),c(te,ce),c(ce,ue),c(te,we),c(te,Ie),c(V,X),c(V,Z),c(Z,_e),c(_e,ye),c(_e,me),c(Z,ke),c(Z,Ke),c(e,nt),Ce&&Ce.m(e,null),c(e,ze),Pe&&Pe.m(e,null),Oe||(De=[A(W,"click",l[176]),A(O,"click",l[177]),A(te,"click",l[153]),A(Z,"click",l[178])],Oe=!0)},p(Me,Le){Le[0]&67108864&&n!==(n=Me[26].title+"")&&K(s,n),Le[0]&67108864&&_!==(_=Me[152](Me[26].type)+"")&&K(v,_),Le[0]&67108864&&S!==(S=(Me[26].section||"—")+"")&&K(j,S),Le[0]&67108864&&I!==(I=_t(Me[26].createdAt)+"")&&K(M,I),Me[28].length>0?Ce?Ce.p(Me,Le):(Ce=xi(Me),Ce.c(),Ce.m(e,ze)):Ce&&(Ce.d(1),Ce=null),Me[31].length>0?Pe?Pe.p(Me,Le):(Pe=eo(Me),Pe.c(),Pe.m(e,null)):Pe&&(Pe.d(1),Pe=null)},i:ee,o:ee,d(Me){Me&&w(e),Ce&&Ce.d(),Pe&&Pe.d(),Oe=!1,ge(De)}}}function Zd(l){let e,t=fe(l[22]),n=[];for(let s=0;s0&&Fi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("span"),r=F(o),u=h(),a=f("span"),_=F(d),v=h(),b=F(g),k=F(" · "),S=F(y),j=h(),E=f("div"),D=f("button"),D.textContent=`${m("worklog.apply")}`,N=h(),G&&G.c(),T=h(),i(s,"class","suggestion-summary svelte-pldmec"),i(a,"class","suggestion-meta svelte-pldmec"),i(n,"class","suggestion-info svelte-pldmec"),i(D,"class","btn btn-sm btn-primary svelte-pldmec"),i(E,"class","suggestion-actions svelte-pldmec"),i(t,"class","suggestion-main svelte-pldmec"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-pldmec"),he(e,"expanded",l[345]._expanded)},m(Y,J){C(Y,e,J),c(e,t),c(t,n),c(n,s),c(s,r),c(n,u),c(n,a),c(a,_),c(a,v),c(a,b),c(a,k),c(a,S),c(t,j),c(t,E),c(E,D),c(e,N),G&&G.m(e,null),c(e,T),I||(M=[A(D,"click",Je(R)),A(t,"click",V),A(t,"keydown",W)],I=!0)},p(Y,J){l=Y,J[0]&67108864|J[1]&512&&o!==(o=l[345].summary+"")&&K(r,o),J[0]&67108864|J[1]&512&&d!==(d=l[345].suggestedMin+"")&&K(_,d),J[0]&67108864|J[1]&512&&y!==(y=m("suggest.confidence."+l[345].confidence)+"")&&K(S,y),l[345]._expanded&&l[345].events&&l[345].events.length>0?G?G.p(l,J):(G=Fi(l),G.c(),G.m(e,T)):G&&(G.d(1),G=null),J[0]&67108864|J[1]&512&&he(e,"expanded",l[345]._expanded)},d(Y){Y&&w(e),G&&G.d(),I=!1,ge(M)}}}function $d(l){let e,t=fe(l[31]),n=[];for(let s=0;s0?sp:T[326].source==="suggestion"?np:T[326].source==="unknown"||T[326].source==="imported"?lp:tp}let E=j(l),D=E(l),N=l[326].source==="suggestion"&&l[326]._events&&l[326]._events.length>0&&Bi(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("worklog.editEntry")}`,s=h(),o=f("button"),o.textContent=`${m("worklog.deleteEntry")}`,r=h(),S&&S.c(),u=h(),a=f("div"),d=f("span"),d.textContent=`${m("worklog.source")}`,_=h(),D.c(),v=h(),N&&N.c(),i(n,"class","btn btn-sm svelte-pldmec"),i(o,"class","btn btn-sm btn-danger svelte-pldmec"),i(t,"class","worklog-entry-actions svelte-pldmec"),i(d,"class","wl-detail-label svelte-pldmec"),i(a,"class","wl-detail-section svelte-pldmec"),i(e,"class","worklog-entry-detail svelte-pldmec")},m(T,I){C(T,e,I),c(e,t),c(t,n),c(t,s),c(t,o),c(e,r),S&&S.m(e,null),c(e,u),c(e,a),c(a,d),c(a,_),D.m(a,null),c(e,v),N&&N.m(e,null),g||(b=[A(n,"click",Je(k)),A(o,"click",Je(y))],g=!0)},p(T,I){l=T,l[326].details?S?S.p(l,I):(S=Wi(l),S.c(),S.m(e,u)):S&&(S.d(1),S=null),E!==(E=j(l))&&(D.d(1),D=E(l),D&&(D.c(),D.m(a,null))),l[326].source==="suggestion"&&l[326]._events&&l[326]._events.length>0?N?N.p(l,I):(N=Bi(l),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(T){T&&w(e),S&&S.d(),D.d(),N&&N.d(),g=!1,ge(b)}}}function Wi(l){let e,t,n,s,o=l[326].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("worklog.details")}`,n=h(),s=f("p"),r=F(o),i(t,"class","wl-detail-label svelte-pldmec"),i(s,"class","svelte-pldmec"),i(e,"class","wl-detail-section svelte-pldmec")},m(u,a){C(u,e,a),c(e,t),c(e,n),c(e,s),c(s,r)},p(u,a){a[1]&1&&o!==(o=u[326].details+"")&&K(r,o)},d(u){u&&w(e)}}}function tp(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function lp(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function np(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function sp(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function ip(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceManual")}`,i(e,"class","svelte-pldmec")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Bi(l){let e,t,n,s=fe(l[326]._events),o=[];for(let r=0;r',D=h(),i(n,"class","action-title svelte-pldmec"),i(u,"class","action-type svelte-pldmec"),i(v,"class","action-data svelte-pldmec"),i(t,"class","action-info svelte-pldmec"),i(S,"class","btn btn-sm svelte-pldmec"),i(E,"class","btn btn-sm btn-danger svelte-pldmec"),i(y,"class","action-btns svelte-pldmec"),i(e,"class","action-card svelte-pldmec")},m(R,V){C(R,e,V),c(e,t),c(t,n),c(n,o),c(t,r),c(t,u),c(u,d),c(t,_),c(t,v),c(v,b),c(e,k),c(e,y),c(y,S),c(y,j),c(y,E),c(e,D),N||(T=[A(S,"click",I),A(E,"click",M)],N=!0)},p(R,V){l=R,V[0]&1073741824&&s!==(s=l[337].title+"")&&K(o,s),V[0]&1073741824&&a!==(a=l[157](l[337].type)+"")&&K(d,a),V[0]&1073741824&&g!==(g=l[337].data+"")&&K(b,g)},d(R){R&&w(e),N=!1,ge(T)}}}function Ji(l){let e,t=m("common.paste")+"",n,s,o=l[66].items.length+"",r,u,a;return{c(){e=f("button"),n=F(t),s=h(),r=F(o),i(e,"class","btn svelte-pldmec")},m(d,_){C(d,e,_),c(e,n),c(e,s),c(e,r),u||(a=A(e,"click",l[98]),u=!0)},p(d,_){_[2]&16&&o!==(o=d[66].items.length+"")&&K(r,o)},d(d){d&&w(e),u=!1,a()}}}function rp(l){let e,t,n,s,o,r,u;const a=[fp,up],d=[];function _(k,y){return k[60].length>0?0:1}e=_(l),t=d[e]=a[e](l);const v=[pp,dp],g=[];function b(k,y){return k[61].length===0?0:1}return s=b(l),o=g[s]=v[s](l),{c(){t.c(),n=h(),o.c(),r=st()},m(k,y){d[e].m(k,y),C(k,n,y),g[s].m(k,y),C(k,r,y),u=!0},p(k,y){let S=e;e=_(k),e===S?d[e].p(k,y):(tt(),de(d[S],1,1,()=>{d[S]=null}),lt(),t=d[e],t?t.p(k,y):(t=d[e]=a[e](k),t.c()),re(t,1),t.m(n.parentNode,n));let j=s;s=b(k),s===j?g[s].p(k,y):(tt(),de(g[j],1,1,()=>{g[j]=null}),lt(),o=g[s],o?o.p(k,y):(o=g[s]=v[s](k),o.c()),re(o,1),o.m(r.parentNode,r))},i(k){u||(re(t),re(o),u=!0)},o(k){de(t),de(o),u=!1},d(k){k&&(w(n),w(r)),d[e].d(k),g[s].d(k)}}}function ap(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,i(t,"class","svelte-pldmec"),i(e,"class","empty-state svelte-pldmec")},m(n,s){C(n,e,s),c(e,t)},p:ee,i:ee,o:ee,d(n){n&&w(e)}}}function up(l){let e,t;return e=new zo({props:{crumbs:[{name:m("file.root")}]}}),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function fp(l){let e,t,n,s,o,r,u,a=m("common.backLabel")+"",d,_,v,g;return e=new zo({props:{crumbs:[{name:m("file.root")},...l[60]]}}),e.$on("navigate",l[185]),{c(){Ge(e.$$.fragment),t=h(),n=f("button"),s=Q("svg"),o=Q("line"),r=Q("polyline"),u=h(),d=F(a),i(o,"x1","19"),i(o,"y1","12"),i(o,"x2","5"),i(o,"y2","12"),i(o,"class","svelte-pldmec"),i(r,"points","12 19 5 12 12 5"),i(r,"class","svelte-pldmec"),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(s,"class","svelte-pldmec"),i(n,"class","btn btn-sm back-btn svelte-pldmec")},m(b,k){He(e,b,k),C(b,t,k),C(b,n,k),c(n,s),c(s,o),c(s,r),c(n,u),c(n,d),_=!0,v||(g=A(n,"click",l[89]),v=!0)},p(b,k){const y={};k[1]&536870912&&(y.crumbs=[{name:m("file.root")},...b[60]]),e.$set(y)},i(b){_||(re(e.$$.fragment,b),_=!0)},o(b){de(e.$$.fragment,b),_=!1},d(b){b&&(w(t),w(n)),Ue(e,b),v=!1,g()}}}function dp(l){let e,t=[],n=new Map,s,o=fe(l[61]);const r=u=>u[334].id;for(let u=0;u0?m("file.noFiles"):m("file.noFilesCase"))+"",r,u,a,d,_,v,g,b,k,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=h(),s=f("p"),r=F(o),u=h(),a=f("p"),a.textContent=`${m("file.hint")}`,d=h(),_=f("div"),v=f("button"),v.textContent=`${m("file.addFileSimple")}`,g=h(),b=f("button"),b.textContent=`${m("file.addFolderSimple")}`,i(t,"class","empty-icon svelte-pldmec"),i(s,"class","svelte-pldmec"),i(a,"class","hint svelte-pldmec"),i(v,"class","btn btn-primary svelte-pldmec"),i(b,"class","btn svelte-pldmec"),i(_,"class","empty-actions svelte-pldmec"),i(e,"class","empty-state svelte-pldmec")},m(S,j){C(S,e,j),c(e,t),c(e,n),c(e,s),c(s,r),c(e,u),c(e,a),c(e,d),c(e,_),c(_,v),c(_,g),c(_,b),k||(y=[A(v,"click",l[146]),A(b,"click",l[147])],k=!0)},p(S,j){j[1]&536870912&&o!==(o=(S[60].length>0?m("file.noFiles"):m("file.noFilesCase"))+"")&&K(r,o)},i:ee,o:ee,d(S){S&&w(e),k=!1,ge(y)}}}function qi(l,e){let t,n,s;return n=new ku({props:{item:e[334],selected:e[67].includes(e[334].id),onDragStart:e[102],onDragOver:e[103],onDrop:e[104]}}),n.$on("navigate",e[186]),n.$on("preview",e[187]),n.$on("openExternal",e[188]),n.$on("showInFolder",e[189]),n.$on("delete",e[190]),n.$on("rename",e[191]),n.$on("duplicate",e[192]),n.$on("cut",e[193]),n.$on("copy",e[194]),n.$on("selectOne",e[195]),n.$on("toggleSelect",e[196]),n.$on("rangeSelect",e[197]),{key:l,first:null,c(){t=st(),Ge(n.$$.fragment),this.first=t},m(o,r){C(o,t,r),He(n,o,r),s=!0},p(o,r){e=o;const u={};r[1]&1073741824&&(u.item=e[334]),r[1]&1073741824|r[2]&32&&(u.selected=e[67].includes(e[334].id)),n.$set(u)},i(o){s||(re(n.$$.fragment,o),s=!0)},o(o){de(n.$$.fragment,o),s=!1},d(o){o&&w(t),Ue(n,o)}}}function Yi(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.scanning")}`,i(t,"class","svelte-pldmec"),i(e,"class","empty-state svelte-pldmec")},m(n,s){C(n,e,s),c(e,t)},d(n){n&&w(e)}}}function Qi(l){let e,t;return e=new Ru({props:{item:l[62],content:l[63],loading:l[64],error:l[65]}}),e.$on("close",l[92]),e.$on("openExternal",l[198]),{c(){Ge(e.$$.fragment)},m(n,s){He(e,n,s),t=!0},p(n,s){const o={};s[2]&1&&(o.item=n[62]),s[2]&2&&(o.content=n[63]),s[2]&4&&(o.loading=n[64]),s[2]&8&&(o.error=n[65]),e.$set(o)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Ue(e,n)}}}function Xi(l){let e,t,n,s,o,r,u,a,d;return{c(){e=f("div"),t=f("input"),n=h(),s=f("div"),o=f("button"),o.textContent=`${m("common.create")}`,r=h(),u=f("button"),u.textContent=`${m("common.cancel")}`,i(t,"type","text"),i(t,"placeholder",m("note.title")),i(t,"class","svelte-pldmec"),i(o,"class","btn btn-primary svelte-pldmec"),i(u,"class","btn svelte-pldmec"),i(s,"class","form-actions svelte-pldmec"),i(e,"class","create-form svelte-pldmec")},m(_,v){C(_,e,v),c(e,t),be(t,l[48]),c(e,n),c(e,s),c(s,o),c(s,r),c(s,u),a||(d=[A(t,"input",l[181]),A(t,"keydown",l[182]),A(o,"click",l[127]),A(u,"click",l[126])],a=!0)},p(_,v){v[1]&131072&&t.value!==_[48]&&be(t,_[48])},d(_){_&&w(e),a=!1,ge(d)}}}function mp(l){let e,t=fe(l[28]),n=[];for(let s=0;sde(se[$],1,1,()=>{se[$]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${m("nav.createNode")}`,s=h(),z&&z.c(),o=h(),r=f("div"),u=f("span"),u.textContent=`${m("template.select")}`,a=h(),d=f("div"),_=f("button"),Ge(v.$$.fragment),g=h(),b=f("div"),k=f("span"),k.textContent=`${m("template.optionNone")}`,y=h(),S=f("span"),S.textContent=`${m("template.none.desc")}`,j=h();for(let $=0;${k=null}),lt()),S[46].node&&S[46].node.parent_id?y?y.p(S,j):(y=ao(S),y.c(),y.m(t,o)):y&&(y.d(1),y=null),(!v||j[1]&32768)&&at(t,"left",S[46].x+"px"),(!v||j[1]&32768)&&at(t,"top",S[46].y+"px")},i(S){v||(re(k),v=!0)},o(S){de(k),v=!1},d(S){S&&w(e),k&&k.d(),y&&y.d(),g=!1,ge(b)}}}function co(l){let e,t,n,s,o,r=fe(l[6].length>0?l[6]:[{id:"",title:"template.optionNone",icon:"folder"}]),u=[];for(let d=0;dde(u[d],1,1,()=>{u[d]=null});return{c(){e=f("div"),e.textContent=`${m("common.create")}`,t=h();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let v;for(v=0;vl[273].call(y)),i(g,"class","svelte-pldmec"),i(v,"class","form-group svelte-pldmec"),i(D,"class","label-text svelte-pldmec"),i(M,"type","text"),i(M,"placeholder",R=l[51]==="open_url"?m("action.urlPlaceholder"):l[51]==="open_folder"||l[51]==="open_file"?m("action.pathPlaceholder"):m("action.commandPlaceholder")),i(M,"class","svelte-pldmec"),i(E,"class","svelte-pldmec"),i(j,"class","form-group svelte-pldmec"),i(G,"class","btn btn-primary svelte-pldmec"),i(J,"class","btn svelte-pldmec"),i(W,"class","modal-actions svelte-pldmec"),i(t,"class","modal svelte-pldmec"),i(e,"class","modal-overlay svelte-pldmec"),i(e,"role","button"),i(e,"tabindex","0")},m(O,z){C(O,e,z),c(e,t),c(t,n),c(t,s),c(t,o),c(o,r),c(r,u),c(r,a),c(r,d),be(d,l[50]),c(t,_),c(t,v),c(v,g),c(g,b),c(g,k),c(g,y);for(let B=0;B{r[_]=null}),lt(),t=r[e],t?t.p(a,d):(t=r[e]=o[e](a),t.c()),re(t,1),t.m(n.parentNode,n))},i(a){s||(re(t),s=!0)},o(a){de(t),s=!1},d(a){a&&w(n),r[e].d(a)}}}function ie(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 Wt(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&&Wt(n.children,e,t))return!0}return!1}function Wo(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&&Wo(n.children,e,t))return!0}return!1}function ko(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function $t(l){try{ie("WriteDebugLog",l)}catch{}}function Il(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 Lt(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 _t(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 gp(l){return l.targetType==="note"&&l.targetId?{nodeId:l.nodeId,tab:"notes",targetId:l.targetId}:l.targetType==="file"?{nodeId:l.nodeId,tab:"files",targetId:l.targetId,targetPath:l.targetPath}:l.targetType==="folder"?{nodeId:l.nodeId,tab:"files",targetPath:l.targetPath||l.targetId}:{nodeId:l.nodeId}}function ut(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function hp(l,e,t){let n=null,s=!1,o=!1,r=!1,u=!1,a=[],d=[],_=[],v=null,g=[],b=0,k=!0,y=[],S=null,j="",E="",D=!1,N="",T="all",I="all",M="",R="",V="",W=[],G=!1,Y=[],J="",q="";function U(p){return{"vault not open":m("error.vaultNotOpen")}[p]||p}let H="",P=null,O="overview",z=[],B=null,se=[],oe=[],$=[],le=!1,te="",ce="",ue="",we="",Be=!1,Ie=!1,X=null,Z=[],_e=0,ye=!1,me="",ke=null,We=null,Ke={visible:!1,x:0,y:0,node:null},nt=!1,ze="",Oe=!1,De="",Ce="open_url",Pe="",Me=[{id:"open_url",label:m("action.openUrl")},{id:"open_file",label:m("action.openFile")},{id:"open_folder",label:m("action.openFolder")},{id:"run_command",label:m("action.runCommand")},{id:"run_script",label:m("action.runScript")},{id:"open_terminal",label:m("action.openTerminal")},{id:"launch_app",label:m("action.launchApp")}],Le=!0,Ee=!1,Se=null,Te=!1,je="",Fe="",Ae={},Ne=!1,ae=null,x=[],ve=[],$e=null,ot="",it=!1,qe="",ct={items:[],mode:"copy"},Re=[],Rt=[],cl=!1,rl=!1,Ol="",Wl="",Bl=!1,Hl=m("common.delete"),Ut=null,Kt=null,Gt=!1,Jt="",jt="",Et="",al=null,ul=!1,zt="",qt="";const Bo=[{id:"overview",label:m("tab.overview")},{id:"notes",label:m("tab.notes")},{id:"files",label:m("tab.files")},{id:"actions",label:m("tab.actions")},{id:"worklog",label:m("tab.worklog")},{id:"activity",label:m("tab.activity")}];let fl=null;wo(async()=>{try{if(t(0,n=await ie("GetStartupStatus")),s=!0,n.status==="first_run"){t(1,o=!0),t(53,Le=!1);return}if(n.status==="recovery"){t(2,r=!0),t(53,Le=!1);return}}catch(p){t(24,q=String(p))}try{t(23,J=await ie("VerstakVersion")||"verstak-gui/v2"),t(4,a=await ie("ListSystemViews")||[]),t(5,d=await ie("ListWorkspaceTree")||[]),t(6,_=await ie("ListEnabledTemplates")||[])}catch(p){t(24,q=String(p)),t(4,a=[{id:"today",label:m("nav.today")},{id:"inbox",label:m("nav.inbox")},{id:"activity",label:m("nav.activity")}]),t(5,d=[]),t(6,_=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",wc),fl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",tn),t(53,Le=!1),jl()}),Vl(()=>{fl&&fl(),window.removeEventListener("keydown",tn)});async function Ul(p){t(25,H=p),t(26,P=null),t(27,O="overview"),t(28,z=[]),se=[],t(30,oe=[]),t(31,$=[]),t(40,Z=[]),t(42,ye=!1),t(24,q=""),t(7,v=null),t(8,g=[]),b=0,k=!0,t(9,y=[]),t(10,S=null);try{p==="today"?(t(7,v=await ie("ListTodayView")||{cases:[]}),t(40,Z=await ie("GetSuggestions")||[]),t(41,_e=Z.length)):p==="journal"?await ht():p==="activity"&&(t(8,g=await ie("ListActivityFeed",50,0)||[]),b=g.length,k=g.length===50)}catch(L){t(24,q=String(L)),t(7,v={cases:[]}),t(8,g=[])}}async function gt(p){t(26,P=p),t(27,O="overview"),t(28,z=[]),se=[],t(30,oe=[]),t(31,$=[]),t(40,Z=[]),t(61,ve=[]),t(60,x=[]),t(59,ae=null),t(62,$e=null),t(63,ot=""),t(67,Re=[]),Rt=[],t(29,B=null),t(42,ye=!1),t(47,nt=!1),t(24,q=""),t(22,Y=[]),await Kl(p.id)}async function Kl(p){try{t(28,z=await ie("ListNotes",p)||[])}catch{}try{se=await ie("ListFiles",p)||[]}catch{}try{t(30,oe=await ie("ListActions",p)||[])}catch{}try{t(31,$=Il(await ie("ListWorklog",p)))}catch{}try{t(40,Z=await ie("GetSuggestions")||[]),t(41,_e=Z.length)}catch{t(40,Z=[]),t(41,_e=0)}try{t(22,Y=await ie("ListActivityByNode",p,50,0)||[])}catch{}}async function et(p){t(58,Ne=!0);try{let L=await ie("ListItems",p)||[];L.sort((ne,pe)=>ne.type!==pe.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(pe.name||"")),t(61,ve=L)}catch{t(61,ve=[])}t(58,Ne=!1)}async function dl(p){if(!P)return;try{const ne=await ie("GetNodeDetail",p);ne&&t(60,x=[...x,{id:p,name:ne.title}])}catch{t(60,x=[...x,{id:p,name:"..."}])}t(59,ae=p),t(57,Ae={...Ae,[p]:!0});const L=await ie("ListWorkspaceChildren",p)||[];Wt(d,p,L),t(5,d=[...d]),await et(p)}function Gl(){if(x.length<2)t(60,x=[]),t(59,ae=null),et(P.id);else{const p=x[x.length-2];t(60,x=x.slice(0,-1)),t(59,ae=p.id),et(p.id)}}function Jl(p){const L=x[p];t(60,x=x.slice(0,p+1)),t(59,ae=L.id),et(L.id)}async function Yt(p){t(62,$e=p),t(63,ot=""),t(65,qe=""),t(64,it=!0);try{du(p)?t(63,ot=await ie("GetFileBase64",p.fileId)||""):pu(p)&&t(63,ot=await ie("ReadFileText",p.fileId)||"")}catch(L){t(65,qe=String(L))}t(64,it=!1)}function pl(){t(62,$e=null),t(63,ot=""),t(65,qe="")}async function Ho(){const p=prompt(m("file.namePrompt"));if(!(!p||!p.trim()))try{const L=ae||P.id;await ie("CreateEmptyFile",L,p.trim()),await et(L),await vl(L)}catch(L){t(24,q=String(L))}}async function ql(p){try{await ie("DuplicateNode",p);const L=ae||P.id;await et(L),await vl(L)}catch(L){t(24,q=String(L))}}function Yl(p){const L=ve.find(ne=>ne.id===p);L&&_l(L.id,L.name)}function Ql(p){t(66,ct={items:[p],mode:"cut"})}function Xl(p){t(66,ct={items:[p],mode:"copy"})}async function Zl(){if(ct.items.length===0)return;const p=ae||P.id;try{if(ct.mode==="copy")for(const L of ct.items)await ie("DuplicateNode",L);else for(const L of ct.items)await ie("MoveNode",L,p);t(66,ct={items:[],mode:"copy"}),await et(p)}catch(L){t(24,q=String(L))}}function xl(p){Re.includes(p)?t(67,Re=Re.filter(L=>L!==p)):t(67,Re=[...Re,p])}function $l(p){t(67,Re=[p])}function Uo(){t(67,Re=ve.map(p=>p.id))}function en(p){if(ve.length===0)return;const L=Re.length>0?Re[Re.length-1]:ve[0].id,ne=ve.findIndex(yt=>yt.id===L),pe=ve.findIndex(yt=>yt.id===p);if(ne===-1||pe===-1)return;const Ze=Math.min(ne,pe),rt=Math.max(ne,pe),Tl=ve.slice(Ze,rt+1).map(yt=>yt.id),Cn=new Set(Re);Tl.forEach(yt=>Cn.add(yt)),t(67,Re=[...Cn])}function Ko(){t(67,Re=[])}function ml(p){return p.length>0?p:ve.map(L=>L.id)}async function Go(){const p=ml(Re),L=ve.find(pe=>pe.id===p[0]);let ne;p.length===1&&(L==null?void 0:L.type)==="folder"?ne=m("delete.folder"):p.length===1?ne=m("delete.file"):ne=m("delete.files",{count:p.length}),Tt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{for(const Ze of p)try{await ie("DeleteFileOrFolder",Ze)}catch(rt){t(24,q=String(rt))}t(67,Re=[]);const pe=ae||P.id;await et(pe)}})}function Jo(){const p=ml(Re);t(66,ct={items:p,mode:"cut"}),t(67,Re=[])}function qo(){const p=ml(Re);t(66,ct={items:p,mode:"copy"}),t(67,Re=[])}function Yo(p,L){const ne=Re.includes(L)?Re:[L];Rt=ne,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",ne.join(","))}function Qo(p,L){const ne=ve.find(pe=>pe.id===L);ne&&ne.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function Xo(p,L){if(p.preventDefault(),Rt.length!==0){for(const ne of Rt)try{await ie("MoveNode",ne,L)}catch(pe){t(24,q=String(pe))}Rt=[],t(67,Re=[]),await et(ae||P.id)}}function tn(p){if(O==="files"&&!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA"))if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),qo()):p.key==="x"||p.key==="X"?(p.preventDefault(),Jo()):p.key==="v"||p.key==="V"?(p.preventDefault(),Zl()):p.key==="a"||p.key==="A"?(p.preventDefault(),Uo()):p.key==="o"||p.key==="O"?(p.preventDefault(),Zo()):p.key==="Enter"&&(p.preventDefault(),ln());else if(p.key==="Enter")p.preventDefault(),ln();else if(p.key==="Delete"||p.key==="Backspace"){if($e){p.preventDefault(),pl();return}if(Re.length>0){p.preventDefault(),Go();return}if(p.key==="Backspace"&&x.length>0){p.preventDefault(),Gl();return}}else if(p.key==="Escape"){if($e){pl();return}if(Re.length>0){Ko();return}}else p.key==="F2"&&(p.preventDefault(),xo())}function ln(){if(Re.length===1){const p=ve.find(L=>L.id===Re[0]);p&&(p.type==="folder"?dl(p.id):Yt(p))}}function Zo(){if(Re.length===1){const p=ve.find(L=>L.id===Re[0]);p&&p.fileId&&ie("OpenFile",p.fileId)}}function _l(p,L){Jt=p,t(75,jt=L),t(76,Et=""),t(74,Gt=!0)}function xo(){if(Re.length===1){const p=ve.find(L=>L.id===Re[0]);p&&_l(p.id,p.name)}}async function nn(){const p=jt.trim();if(!p){t(76,Et=m("rename.emptyError"));return}try{await ie("ValidateName",p)}catch{t(76,Et=m("rename.invalidError"));return}t(74,Gt=!1);const L=Jt;Jt="";try{await ie("RenameNode",L,p),P&&P.id===L&&t(26,P={...P,title:p}),await Vt(),ae&&await et(ae)}catch(ne){t(24,q=String(ne))}}function $o(){t(74,Gt=!1),Jt="",t(75,jt=""),t(76,Et="")}function ec(p){p.key==="Enter"?nn():t(76,Et="")}function Tt(p){t(70,Ol=p.title||m("common.confirm")),t(71,Wl=p.message||""),t(72,Bl=p.danger!==void 0?p.danger:!0),t(73,Hl=p.confirmText||m("common.delete")),Ut=p.onConfirm||null,Kt=p.onCancel||null,t(69,rl=!0)}function sn(){t(69,rl=!1),Ut=null,Kt=null}function tc(){Ut&&Ut(),sn()}function lc(){Kt&&Kt(),sn()}function on(p){t(44,ke=Ke.node),t(45,We=p),t(43,me=""),t(42,ye=!0),Nt()}function nc(){t(44,ke=null),t(45,We=void 0),t(43,me=""),t(42,ye=!0)}function sc(){t(42,ye=!1),t(43,me=""),t(44,ke=null),t(45,We=void 0)}async function cn(){if(!(!me.trim()||We===void 0))try{const p=ke?ke.id:"",L=We?We.id:"",ne=await ie("CreateNodeFromTemplate",p,me.trim(),L);t(42,ye=!1),t(43,me="");const pe=ne?ne.id:null;if(t(44,ke=null),t(45,We=void 0),p){t(57,Ae={...Ae,[p]:!0});const Ze=await ie("ListWorkspaceChildren",p)||[];Wt(d,p,Ze),t(5,d=[...d])}else t(5,d=await ie("ListWorkspaceTree")||d);if(pe){const Ze=await ie("GetNodeDetail",pe);Ze&&(t(25,H=""),gt(Ze))}}catch(p){t(24,q=String(p))}}function ic(p,L){t(46,Ke={visible:!0,x:p.clientX,y:p.clientY,node:L})}function Nt(){t(46,Ke={visible:!1,x:0,y:0,node:null})}async function oc(p){const L=!Ae[p];if(t(57,Ae={...Ae,[p]:L}),!L)return;const ne=await ie("ListWorkspaceChildren",p)||[];Wt(d,p,ne),t(5,d=[...d])}async function cc(p,L){if(!(!p||!L||p===L))try{const ne=await ie("MoveNode",p,L);await Vt();const pe=await ie("GetNodeDetail",p);pe&&(t(25,H=""),gt(pe))}catch(ne){t(24,q=String(ne))}}async function rc(p){p.preventDefault();try{const L=p.dataTransfer.getData("text/plain");if(!L)return;const ne=await ie("GetNodeDetail",L);if(!ne||!ne.parent_id)return;await ie("MoveNode",L,""),await Vt();const pe=await ie("GetNodeDetail",L);pe&&(t(25,H=""),gt(pe))}catch(L){t(24,q=String(L))}}function ac(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(68,cl=!0)}function uc(p){t(68,cl=!1)}function rn(p){_l(p.id,p.title),Nt()}function an(p){Nt(),Tt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+p.title+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ie("DeleteNode",p.id),await Vt(),P&&P.id===p.id&&t(26,P=null)}catch(L){t(24,q=String(L))}}})}async function Dt(p){Nt();const L=typeof p=="string"?p:p.id;try{await ie("OpenFolder",L)}catch(ne){t(24,q=String(ne))}}async function un(p){Nt();try{await ie("MoveNode",p.id,""),await Vt();const L=await ie("GetNodeDetail",p.id);L&&(t(25,H=""),gt(L))}catch(L){t(24,q=String(L))}}async function Vt(){const p=Object.keys(Ae).filter(ne=>Ae[ne]),L=await ie("ListWorkspaceTree")||[];for(const ne of p){const Ze=(await ie("ListWorkspaceChildren",ne)||[]).map(rt=>({...rt}));Wo(L,ne,Ze)}t(5,d=L)}async function vl(p){const L=await ie("ListWorkspaceChildren",p)||[];Wt(d,p,L),t(5,d=[...d])}function fn(){t(47,nt=!0),t(48,ze="")}function fc(){t(47,nt=!1),t(48,ze="")}async function dn(){if(!(!ze.trim()||!P))try{const p=await ie("CreateNote",P.id,ze.trim());t(28,z=[...z,p&&p.id?p:{id:Date.now().toString(),title:ze.trim(),createdAt:new Date().toISOString()}]),t(47,nt=!1),t(48,ze="")}catch{const L={id:Date.now().toString(),title:ze.trim(),createdAt:new Date().toISOString()};t(28,z=[...z,L]),t(47,nt=!1),t(48,ze="")}}async function Mt(p){if(B&&B.dirty){Tt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:async()=>{await pn(p)}});return}await pn(p)}async function pn(p){try{const L=await ie("ReadNote",p.id);t(29,B={id:p.id,title:p.title,content:L||"",dirty:!1})}catch{t(29,B={id:p.id,title:p.title,content:"# "+p.title+` + +`,dirty:!1})}}function dc(){if(B&&B.dirty){Tt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,B=null)}});return}t(29,B=null)}function pc(p){B&&(t(29,B.content=p.target.value,B),t(29,B.dirty=!0,B))}async function mc(){if(B)try{await ie("SaveNote",B.id,B.content),t(29,B.dirty=!1,B)}catch{t(29,B.dirty=!1,B)}}function Qt(p=null){t(39,X=p),t(33,te=p?p.summary:""),t(34,ce=p?String(p.minutes||""):""),t(35,ue=p&&p.date||""),t(36,we=p&&p.details||""),t(37,Be=p?!!p.billable:!1),t(38,Ie=p?!!p.approximate:!1),t(32,le=!0)}function _c(){t(32,le=!1),t(39,X=null)}async function gl(p=""){const L=p||(P?P.id:"");P&&P.id===L&&t(31,$=Il(await ie("ListWorklog",P.id))||$),H==="journal"&&await ht()}async function vc(){const p=parseInt(ce,10);if(!(!te.trim()||isNaN(p)||p<=0)&&!(!X&&!P)){try{X?(await ie("UpdateWorklogEntry",X.id,te.trim(),we,ue,p,Ie,Be),await gl(X.nodeId)):(await ie("CreateWorklogFull",P.id,te.trim(),we,ue,p,Ie,Be),await gl(P.id))}catch(L){t(24,q=String(L));return}t(32,le=!1),t(39,X=null)}}function hl(p){Tt({title:m("worklog.deleteEntry"),message:m("worklog.deleteConfirm"),confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ie("DeleteWorklogEntry",p.id),await gl(p.nodeId)}catch(L){t(24,q=String(L))}}})}async function mn(){t(40,Z=await ie("GetSuggestions")||[]),t(41,_e=Z.length),P&&t(31,$=Il(await ie("ListWorklog",P.id))),H==="journal"&&await ht()}async function bl(p){try{const L=ko(p),ne=JSON.stringify(L);$t("acceptTodaySuggestion: nodeId="+p.nodeId+" eventIds="+ne+" events="+JSON.stringify((p.events||[]).map(pe=>({id:pe.id,type:pe.eventType,title:pe.title})))),await ie("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",ne),await mn()}catch(L){$t("acceptTodaySuggestion error: "+L)}}async function _n(p){try{const L=ko(p),ne=JSON.stringify(L);$t("acceptJournalSuggestion: nodeId="+p.nodeId+" eventIds="+ne+" events="+JSON.stringify((p.events||[]).map(pe=>({id:pe.id,type:pe.eventType,title:pe.title})))),await ie("AcceptSuggestionWith",p.nodeId,p.summary,p.suggestedMin,"",ne),await mn()}catch(L){$t("acceptJournalSuggestion error: "+L)}}async function ht(){try{const[p,L,ne]=await Promise.all([ie("ListWorklogReport",j,E,N,D,T,I),ie("WorklogReportSummary",j,E,N,D,T,I),ie("GetSuggestions")]);if(t(9,y=(p||[]).map(pe=>(pe._expanded===void 0&&(pe._expanded=!1),pe))),t(10,S=L||null),t(40,Z=ne||[]),t(41,_e=Z.length),N&&!M)if(p&&p.length>0&&p[0].nodePath)t(17,M=p[0].nodePath);else try{t(17,M=await ie("GetNodeTitle",N))}catch{t(17,M="")}}catch{t(9,y=[]),t(10,S=null),t(40,Z=[]),t(41,_e=0)}}async function Xt(p){try{const L=await ie("SaveWorklogReport",p,j,E,N,D,T,I);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 vn;async function kl(p){if(p._expanded=!p._expanded,t(9,y),p._expanded&&!p._events&&p._hasEvents===void 0)try{p._events=await ie("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0,t(9,y)}catch{p._events=[],p._hasEvents=!1,t(9,y)}}async function yl(p){if(p._expanded=!p._expanded,p._expanded&&p.source==="suggestion"&&!p._events&&p._hasEvents===void 0)try{p._events=await ie("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(31,$)}async function gc(){const p=V.trim();if(!p||p.length<2){t(20,W=[]),t(21,G=!1);return}try{t(20,W=await ie("SearchNodes",p)||[]),t(21,G=W.length>0)}catch{t(20,W=[]),t(21,G=!1)}}function hc(){clearTimeout(vn),vn=setTimeout(gc,200)}function gn(p){t(14,N=p.id),t(17,M=p.path||p.title),t(13,D=!0),t(19,V=""),t(20,W=[]),t(21,G=!1),ht()}function hn(){t(14,N=""),t(13,D=!1),t(17,M=""),t(19,V=""),t(20,W=[]),t(21,G=!1),ht()}function bc(){t(11,j=""),t(12,E=""),t(14,N=""),t(13,D=!1),t(15,T="all"),t(16,I="all"),t(17,M=""),t(19,V=""),t(20,W=[]),t(21,G=!1),ht()}async function bn(){const p=await ie("PickFile");if(!p)return;const L=ae||P.id;await wl(L,p)}async function kc(){const p=await ie("PickDirectory");if(!p)return;const L=ae||P.id;await wl(L,p)}async function wl(p,L){t(54,Ee=!0);try{const ne=await ie("PreviewImport",L);t(55,Se=ne),je=L,Fe=p,t(56,Te=!0)}catch(ne){t(24,q=String(ne))}t(54,Ee=!1)}async function Cl(p){try{const L=Fe||P.id,ne=p==="copy"?await ie("AddPathCopy",L,je):await ie("AddPathLink",L,je);t(56,Te=!1),t(55,Se=null),t(60,x=[]),t(59,ae=null),await Promise.all([Kl(L),et(L),vl(L)])}catch(L){t(24,q=String(L))}}function yc(){t(56,Te=!1),t(55,Se=null)}async function kn({id:p,type:L}){const ne=m(L==="folder"?"delete.folder":"delete.file");Tt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ie("DeleteFileOrFolder",p),se=se.filter(Ze=>Ze.nodeId!==p);const pe=ae||P.id;await et(pe)}catch(pe){t(24,q=String(pe))}}})}async function wc(p){if(!p||p.length===0)return;if(!P){t(24,q=m("error.selectCaseFirst"));return}const L=p[0];await wl(P.id,L)}function Cc(p){return{note_created:m("event.noteCreated"),note_updated:m("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:m("event.fileAdded"),file_deleted:m("event.fileDeleted"),file_renamed:m("event.fileRenamed"),file_copied:m("event.fileCopied"),file_moved:m("event.fileMoved"),folder_added:m("event.folderAdded"),folder_deleted:m("event.folderDeleted"),folder_renamed:m("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:m("event.caseCreated"),node_updated:m("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[p]||p}function Sc(p){return{project:m("kind.project"),client:m("kind.client"),document:m("kind.document"),recipe:m("kind.recipe"),folder:m("kind.folder"),note:m("kind.note"),file:m("kind.file"),archive:m("kind.archive"),case:m("kind.case")}[p]||p||m("kind.case")}function jc(){t(49,Oe=!0),t(50,De=""),t(51,Ce="open_url"),t(52,Pe="")}function Ec(){t(49,Oe=!1),t(50,De=""),t(52,Pe="")}async function Sl(){if(!(!De.trim()||!Pe.trim()||!P))try{const p=await ie("CreateAction",P.id,Ce,De.trim(),Pe.trim());p&&p.id&&t(30,oe=[...oe,p]),t(49,Oe=!1),t(50,De=""),t(52,Pe="")}catch(p){t(24,q=String(p))}}async function yn(p){try{await ie("DeleteAction",p),t(30,oe=oe.filter(L=>L.id!==p))}catch(L){t(24,q=String(L))}}function Tc(p){const L=Me.find(ne=>ne.id===p);return L?L.label:p}async function dt(p){try{const L=await ie("GetNodeDetail",p);L&>(L)}catch(L){t(24,q=String(L))}}async function bt(p){const L=gp(p),ne=L.nodeId;if(ne)try{const pe=await ie("GetNodeDetail",ne);if(!pe)return;if(gt(pe),L.tab==="notes"){if(t(27,O="notes"),L.targetId){try{t(28,z=await ie("ListNotes",ne)||[])}catch{}const Ze=z.find(rt=>rt.id===L.targetId);Ze&&setTimeout(()=>Mt(Ze),100)}}else if(L.tab==="files")if(t(27,O="files"),L.targetId)try{const Ze=await ie("GetNodeDetail",L.targetId);if(Ze&&Ze.parent_id){await et(Ze.parent_id);const rt=ve.find(Tl=>Tl.id===L.targetId);rt&&rt.type==="file"&&fu(rt)&&setTimeout(()=>Yt(rt),150)}else await et(ne)}catch{await et(ne)}else await et(ne)}catch(pe){t(24,q=String(pe))}}async function kt(p){return bt(p)}async function jl(){try{t(77,al=await ie("SyncStatus"))}catch{t(77,al={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let wn="general";function El(p){t(81,wn=p||"general"),t(3,u=!0)}function Nc(){t(3,u=!1)}function Dc(p){const L=Array.isArray(p==null?void 0:p.conflicts)?p.conflicts:[],ne=Array.isArray(p==null?void 0:p.applyErrors)?p.applyErrors:[],pe=[];return L.length>0&&pe.push(m("sync.conflictsCount",{count:L.length})),ne.length>0&&pe.push(m("sync.applyErrorsCount",{count:ne.length})),pe.join(" · ")}async function Mc(){t(78,ul=!0),t(79,zt=""),t(80,qt="");try{const p=await ie("SyncNow");await jl(),t(79,zt=Dc(p)),t(80,qt=zt?"warning":"")}catch(p){console.error("sync error:",p),t(79,zt=`${m("sync.status.error")}: ${(p==null?void 0:p.message)||p}`),t(80,qt="warning")}finally{t(78,ul=!1)}}function Ic(p){t(1,o=!1),t(0,n=p),t(53,Le=!1),window.location.reload()}function Ac(p){t(2,r=!1),t(0,n=p),t(53,Le=!1),window.location.reload()}const Fc=p=>p.nodeId===P.id,Pc=p=>Ul(p.id),Lc=()=>El("sync"),Rc=()=>El(),zc=()=>t(24,q=""),Vc=()=>t(24,q=""),Oc=()=>t(24,q="");function Wc(){B.content=this.value,t(29,B)}const Bc=p=>{t(27,O=p.id),p.id==="files"&&P&&ve.length===0&&!ae&&et(P.id)},Hc=()=>{t(27,O="notes"),fn()},Uc=()=>{t(27,O="files"),bn()},Kc=()=>t(27,O="worklog"),Gc=p=>Mt(p),Jc=p=>Mt(p);function qc(){ze=this.value,t(48,ze)}const Yc=p=>p.key==="Enter"&&dn(),Qc=p=>Mt(p),Xc=p=>Mt(p),Zc=p=>{const L=p.detail;L===0?(t(60,x=[]),t(59,ae=null),et(P.id)):Jl(L-1)},xc=p=>dl(p.detail),$c=p=>Yt(p.detail),er=p=>ie("OpenFile",p.detail),tr=p=>ie("OpenFolder",p.detail),lr=p=>kn(p.detail),nr=p=>Yl(p.detail.id),sr=p=>ql(p.detail),ir=p=>Ql(p.detail),or=p=>Xl(p.detail),cr=p=>$l(p.detail),rr=p=>xl(p.detail),ar=p=>en(p.detail),ur=p=>ie("OpenFile",p.detail),fr=p=>ie("RunAction",p.id),dr=p=>yn(p.id),pr=()=>Qt(),mr=p=>p.nodeId===P.id,_r=p=>bl(p),vr=(p,L,ne)=>t(40,L[ne]._expanded=!p._expanded,Z,t(26,P)),gr=(p,L,ne,pe)=>pe.key==="Enter"&&t(40,L[ne]._expanded=!p._expanded,Z,t(26,P)),hr=p=>bt(p),br=p=>Dt(p.nodeId),kr=p=>Qt(p),yr=p=>hl(p),wr=p=>bt(p),Cr=p=>Dt(p.nodeId),Sr=p=>yl(p),jr=(p,L)=>L.key==="Enter"&&yl(p),Er=p=>kt(p),Tr=(p,L)=>L.key==="Enter"&&kt(p);function Nr(){j=this.value,t(11,j)}function Dr(){E=this.value,t(12,E)}const Mr=()=>{t(19,V=""),t(17,M=""),hn()};function Ir(){V=this.value,t(19,V)}const Ar=()=>setTimeout(()=>t(21,G=!1),200),Fr=p=>gn(p);function Pr(){D=this.checked,t(13,D)}function Lr(){T=el(this),t(15,T)}function Rr(){I=el(this),t(16,I)}const zr=()=>Xt("csv"),Vr=()=>Xt("markdown"),Or=()=>Xt("pdf"),Wr=p=>dt(p.nodeId),Br=(p,L,ne,pe)=>t(40,L[ne].suggestedMin=parseInt(pe.target.value),Z),Hr=p=>_n(p),Ur=(p,L,ne)=>t(40,L[ne]._expanded=!p._expanded,Z),Kr=(p,L,ne,pe)=>pe.key==="Enter"&&t(40,L[ne]._expanded=!p._expanded,Z),Gr=p=>bt(p),Jr=p=>Dt(p.nodeId),qr=p=>dt(p.nodeId),Yr=p=>kl(p),Qr=(p,L)=>L.key==="Enter"&&kl(p),Xr=p=>Qt(p),Zr=p=>hl(p),xr=p=>bt(p),$r=p=>dt(p.nodeId),ea=(p,L,ne,pe)=>t(40,L[ne].suggestedMin=parseInt(pe.target.value),Z),ta=p=>bl(p),la=(p,L,ne)=>t(40,L[ne]._expanded=!p._expanded,Z),na=(p,L,ne,pe)=>pe.key==="Enter"&&t(40,L[ne]._expanded=!p._expanded,Z),sa=p=>bt(p),ia=p=>Dt(p.nodeId),oa=p=>dt(p.nodeId),ca=(p,L)=>L.key==="Enter"&&dt(p.nodeId),ra=p=>dt(p.nodeId),aa=(p,L)=>L.key==="Enter"&&dt(p.nodeId),ua=p=>kt(p),fa=(p,L)=>L.key==="Enter"&&kt(p),da=p=>kt(p),pa=(p,L)=>L.key==="Enter"&&kt(p),ma=()=>t(45,We=null),_a=p=>t(45,We=p);function va(){me=this.value,t(43,me)}const ga=p=>p.key==="Enter"&&cn(),ha=p=>on(p),ba=()=>un(Ke.node),ka=()=>rn(Ke.node),ya=()=>an(Ke.node),wa=()=>Dt(Ke.node);function Ca(){ue=this.value,t(35,ue)}function Sa(){te=this.value,t(33,te)}function ja(){ce=sl(this.value),t(34,ce)}function Ea(){we=this.value,t(36,we)}function Ta(){Be=this.checked,t(37,Be)}function Na(){Ie=this.checked,t(38,Ie)}function Da(){De=this.value,t(50,De)}const Ma=p=>p.key==="Enter"&&Sl();function Ia(){Ce=el(this),t(51,Ce),t(83,Me)}function Aa(){Pe=this.value,t(52,Pe)}const Fa=p=>p.key==="Enter"&&Sl(),Pa=()=>Cl("copy"),La=()=>Cl("link");function Ra(){jt=this.value,t(75,jt)}return[n,o,r,u,a,d,_,v,g,y,S,j,E,D,N,T,I,M,R,V,W,G,Y,J,q,H,P,O,z,B,oe,$,le,te,ce,ue,we,Be,Ie,X,Z,_e,ye,me,ke,We,Ke,nt,ze,Oe,De,Ce,Pe,Le,Ee,Se,Te,Ae,Ne,ae,x,ve,$e,ot,it,qe,ct,Re,cl,rl,Ol,Wl,Bl,Hl,Gt,jt,Et,al,ul,zt,qt,wn,U,Me,Bo,Ul,gt,et,dl,Gl,Jl,Yt,pl,Ho,ql,Yl,Ql,Xl,Zl,xl,$l,en,Yo,Qo,Xo,nn,$o,ec,tc,lc,on,nc,sc,cn,ic,Nt,oc,cc,rc,ac,uc,rn,an,Dt,un,fn,fc,dn,Mt,dc,pc,mc,Qt,_c,vc,hl,bl,_n,ht,Xt,kl,yl,hc,gn,hn,bc,bn,kc,Cl,yc,kn,Cc,Sc,jc,Ec,Sl,yn,Tc,dt,bt,kt,jl,El,Nc,Mc,Ic,Ac,Fc,Pc,Lc,Rc,zc,Vc,Oc,Wc,Bc,Hc,Uc,Kc,Gc,Jc,qc,Yc,Qc,Xc,Zc,xc,$c,er,tr,lr,nr,sr,ir,or,cr,rr,ar,ur,fr,dr,pr,mr,_r,vr,gr,hr,br,kr,yr,wr,Cr,Sr,jr,Er,Tr,Nr,Dr,Mr,Ir,Ar,Fr,Pr,Lr,Rr,zr,Vr,Or,Wr,Br,Hr,Ur,Kr,Gr,Jr,qr,Yr,Qr,Xr,Zr,xr,$r,ea,ta,la,na,sa,ia,oa,ca,ra,aa,ua,fa,da,pa,ma,_a,va,ga,ha,ba,ka,ya,wa,Ca,Sa,ja,Ea,Ta,Na,Da,Ma,Ia,Aa,Fa,Pa,La,Ra]}class bp extends Xe{constructor(e){super(),Qe(this,e,hp,vp,Ye,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new bp({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-D1RMkKjM.css b/cmd/verstak-gui/frontend-dist/assets/main-D1RMkKjM.css deleted file mode 100644 index 48c4b28..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-D1RMkKjM.css +++ /dev/null @@ -1 +0,0 @@ -.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-1uolm3f{width:200px;min-width:200px;border-right:1px solid var(--border, #2a2a3e);padding:.75rem 0;overflow-y:auto;background:var(--surface, #1e1e2e)}.settings-nav-item.svelte-1uolm3f{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem 1rem;border:none;background:transparent;color:var(--text-dim, #888);font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;font-family:inherit}.settings-nav-item.svelte-1uolm3f:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-1uolm3f{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-1uolm3f{opacity:.4;cursor:default}.settings-nav-icon.svelte-1uolm3f{width:1.4rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-nav-label.svelte-1uolm3f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section.svelte-1e2uhdh.svelte-1e2uhdh{padding:1.5rem;max-width:560px}.settings-section.svelte-1e2uhdh h2.svelte-1e2uhdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1e2uhdh.svelte-1e2uhdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1e2uhdh.svelte-1e2uhdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.card-title.svelte-1e2uhdh.svelte-1e2uhdh{font-size:.9rem;font-weight:600;color:var(--text, #e0e0e0);margin:0 0 .75rem}.form-group.svelte-1e2uhdh.svelte-1e2uhdh{margin-bottom:0}.label-text.svelte-1e2uhdh.svelte-1e2uhdh{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.3rem}.settings-actions.svelte-1e2uhdh.svelte-1e2uhdh{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.save-notice.svelte-1e2uhdh.svelte-1e2uhdh{padding:.4rem .75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.settings-section.svelte-1zbky3.svelte-1zbky3{padding:1.5rem;max-width:600px}.settings-section.svelte-1zbky3 h2.svelte-1zbky3{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1zbky3.svelte-1zbky3{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1zbky3.svelte-1zbky3{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.info-row.svelte-1zbky3.svelte-1zbky3{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1zbky3.svelte-1zbky3:last-child{border-bottom:none}.info-label.svelte-1zbky3.svelte-1zbky3{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1zbky3.svelte-1zbky3{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1zbky3.svelte-1zbky3{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1zbky3.svelte-1zbky3{font-size:.8rem}.workspace-actions.svelte-1zbky3.svelte-1zbky3{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.btn.svelte-1zbky3.svelte-1zbky3{padding:.45rem .8rem;border:1px solid var(--border, #2a2a3e);border-radius:6px;background:var(--surface-light, #232338);color:var(--text, #e0e0e0);font-size:.85rem;cursor:pointer}.btn.svelte-1zbky3.svelte-1zbky3:hover{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59)}.no-data.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-style:italic;margin:0}.settings-section.svelte-ksamnw.svelte-ksamnw{padding:1.5rem;max-width:560px}.settings-section.svelte-ksamnw h2.svelte-ksamnw{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.loading.svelte-ksamnw.svelte-ksamnw,.no-data.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-style:italic}.template-list.svelte-ksamnw.svelte-ksamnw{display:flex;flex-direction:column;gap:.5rem}.template-item.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;border:1px solid var(--border, #2a2a3e)}.template-info.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.5rem}.template-name.svelte-ksamnw.svelte-ksamnw{color:var(--text, #e0e0e0);font-size:.9rem}.template-type.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.8rem}.toggle-label.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.4rem;cursor:pointer}.toggle-text.svelte-ksamnw.svelte-ksamnw{font-size:.8rem;color:var(--text-dim, #888)}input[type=checkbox].svelte-ksamnw.svelte-ksamnw{accent-color:var(--accent, #818cf8)}.settings-section.svelte-8jch95.svelte-8jch95{padding:1.5rem;max-width:500px}.settings-section.svelte-8jch95 h2.svelte-8jch95{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-8jch95.svelte-8jch95{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1rem}.settings-section.svelte-1fx1e1e.svelte-1fx1e1e{padding:1.5rem;max-width:600px}.settings-section.svelte-1fx1e1e h2.svelte-1fx1e1e{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e:last-child{border-bottom:none}.info-label.svelte-1fx1e1e.svelte-1fx1e1e{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1fx1e1e.svelte-1fx1e1e{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.status-ok.svelte-1fx1e1e.svelte-1fx1e1e{color:#34d399;font-weight:600}.status-err.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.sync-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1fx1e1e.svelte-1fx1e1e{margin-bottom:0}.interval-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1fx1e1e input.svelte-1fx1e1e{width:100px}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e{margin-bottom:1rem}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1fx1e1e.svelte-1fx1e1e{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1fx1e1e.svelte-1fx1e1e{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1fx1e1e.svelte-1fx1e1e{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.result-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.result-msg.warning.svelte-1fx1e1e.svelte-1fx1e1e{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.modal-overlay.svelte-1fx1e1e.svelte-1fx1e1e{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.modal.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%;cursor:default}.modal.svelte-1fx1e1e h3.svelte-1fx1e1e{margin:0 0 .75rem}.modal-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;justify-content:flex-end}.settings-section.svelte-19bo7bn.svelte-19bo7bn{padding:1.5rem;max-width:500px}.settings-section.svelte-19bo7bn h2.svelte-19bo7bn{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-19bo7bn.svelte-19bo7bn{color:var(--text-dim, #888);font-size:.85rem}.settings-overlay.svelte-zf2zsc.svelte-zf2zsc{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.settings-window.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:85vh;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.settings-header.svelte-zf2zsc.svelte-zf2zsc{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #2a2a3e);flex-shrink:0}.settings-header.svelte-zf2zsc h2.svelte-zf2zsc{margin:0;font-size:1.1rem;color:var(--text, #e0e0e0)}.close-btn.svelte-zf2zsc.svelte-zf2zsc{background:transparent;border:none;color:var(--text-dim, #888);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.close-btn.svelte-zf2zsc.svelte-zf2zsc:hover{color:var(--text, #e0e0e0);background:var(--surface-alt, #252538)}.settings-body.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex:1;overflow:hidden}.settings-content.svelte-zf2zsc.svelte-zf2zsc{flex:1;overflow-y:auto;background:var(--bg, #13131f)}.sync-status-widget.svelte-1rxbx0{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-1rxbx0{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-1rxbx0{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-1rxbx0{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-1rxbx0{background:#f59e0b}.dot-disabled.svelte-1rxbx0{background:#555}.dot-syncing.svelte-1rxbx0{background:#818cf8;animation:svelte-1rxbx0-pulse 1s infinite}@keyframes svelte-1rxbx0-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-1rxbx0{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-1rxbx0{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-1rxbx0{display:flex;gap:.3rem;margin-left:auto}.sync-message.svelte-1rxbx0{margin-top:.25rem;color:var(--text-dim, #888);line-height:1.25}.sync-message-warning.svelte-1rxbx0{color:#f59e0b}.btn-xs.svelte-1rxbx0{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--border, #2a2a3e);background:var(--surface-alt, #252538);color:var(--text-dim, #888);border-radius:4px;cursor:pointer;white-space:nowrap}.btn-xs.svelte-1rxbx0:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-1rxbx0:disabled{opacity:.5;cursor:default}.btn-link.svelte-1rxbx0{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-1rxbx0:hover{color:#a5b4fc;background:transparent}.svelte-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-DAyIHTpH.css b/cmd/verstak-gui/frontend-dist/assets/main-DAyIHTpH.css new file mode 100644 index 0000000..bdca41f --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-DAyIHTpH.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.first-run-screen.svelte-11u707d.svelte-11u707d{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.first-run-card.svelte-11u707d.svelte-11u707d{max-width:520px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.first-run-logo.svelte-11u707d.svelte-11u707d{font-size:3rem;margin-bottom:.5rem}.first-run-card.svelte-11u707d h1.svelte-11u707d{margin:0 0 .75rem;font-size:1.5rem;color:var(--text, #e0e0e0)}.first-run-desc.svelte-11u707d.svelte-11u707d{color:var(--text-dim, #888);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.input-row.svelte-11u707d.svelte-11u707d{display:flex;gap:.5rem}.input-row.svelte-11u707d input.svelte-11u707d{flex:1}.path-info.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:var(--surface-alt, #252538);border-radius:6px;color:var(--text-dim, #888)}.error-msg.svelte-11u707d.svelte-11u707d{text-align:left;font-size:.85rem;padding:.5rem .75rem;margin-top:.5rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b}.first-run-actions.svelte-11u707d.svelte-11u707d{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.btn-lg.svelte-11u707d.svelte-11u707d{padding:.65rem 1.5rem;font-size:1rem}.form-group.svelte-11u707d.svelte-11u707d{margin-bottom:1rem;text-align:left}.form-label.svelte-11u707d.svelte-11u707d{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.4rem}.recovery-screen.svelte-s3o8c3.svelte-s3o8c3{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg, #13131f)}.recovery-card.svelte-s3o8c3.svelte-s3o8c3{max-width:480px;width:100%;padding:2.5rem;background:var(--surface, #1e1e2e);border-radius:12px;border:1px solid var(--border, #2a2a3e);text-align:center}.recovery-icon.svelte-s3o8c3.svelte-s3o8c3{font-size:2.5rem;margin-bottom:.5rem;color:#f59e0b}.recovery-card.svelte-s3o8c3 h1.svelte-s3o8c3{margin:0 0 .75rem;font-size:1.4rem;color:var(--text, #e0e0e0)}.recovery-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);margin-bottom:.5rem;font-size:.9rem}.recovery-path.svelte-s3o8c3.svelte-s3o8c3{display:block;padding:.5rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;font-size:.85rem;color:var(--text-dim, #aaa);word-break:break-all;margin-bottom:1.5rem}.error-msg.svelte-s3o8c3.svelte-s3o8c3{padding:.5rem .75rem;margin-bottom:1rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.recovery-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;flex-direction:column;gap:.6rem}.btn-lg.svelte-s3o8c3.svelte-s3o8c3{padding:.65rem 1.25rem;font-size:.95rem;width:100%}.modal-desc.svelte-s3o8c3.svelte-s3o8c3{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-overlay.svelte-s3o8c3.svelte-s3o8c3{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-s3o8c3.svelte-s3o8c3{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%}.modal.svelte-s3o8c3 h3.svelte-s3o8c3{margin:0 0 .75rem}.modal-actions.svelte-s3o8c3.svelte-s3o8c3{display:flex;gap:.5rem;justify-content:flex-end}.settings-sidebar.svelte-1uolm3f{width:200px;min-width:200px;border-right:1px solid var(--border, #2a2a3e);padding:.75rem 0;overflow-y:auto;background:var(--surface, #1e1e2e)}.settings-nav-item.svelte-1uolm3f{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem 1rem;border:none;background:transparent;color:var(--text-dim, #888);font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,color .15s;font-family:inherit}.settings-nav-item.svelte-1uolm3f:hover:not(.disabled){background:var(--surface-alt, #252538);color:var(--text, #e0e0e0)}.settings-nav-item.active.svelte-1uolm3f{background:var(--accent-bg, rgba(99, 102, 241, .15));color:var(--accent, #818cf8);font-weight:600}.settings-nav-item.disabled.svelte-1uolm3f{opacity:.4;cursor:default}.settings-nav-icon.svelte-1uolm3f{width:1.4rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-nav-label.svelte-1uolm3f{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section.svelte-1e2uhdh.svelte-1e2uhdh{padding:1.5rem;max-width:560px}.settings-section.svelte-1e2uhdh h2.svelte-1e2uhdh{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1e2uhdh.svelte-1e2uhdh{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1e2uhdh.svelte-1e2uhdh{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.card-title.svelte-1e2uhdh.svelte-1e2uhdh{font-size:.9rem;font-weight:600;color:var(--text, #e0e0e0);margin:0 0 .75rem}.form-group.svelte-1e2uhdh.svelte-1e2uhdh{margin-bottom:0}.label-text.svelte-1e2uhdh.svelte-1e2uhdh{display:block;font-size:.85rem;color:var(--text-dim, #888);margin-bottom:.3rem}.settings-actions.svelte-1e2uhdh.svelte-1e2uhdh{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.save-notice.svelte-1e2uhdh.svelte-1e2uhdh{padding:.4rem .75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.settings-section.svelte-1zbky3.svelte-1zbky3{padding:1.5rem;max-width:600px}.settings-section.svelte-1zbky3 h2.svelte-1zbky3{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1zbky3.svelte-1zbky3{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.notice.svelte-1zbky3.svelte-1zbky3{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.info-row.svelte-1zbky3.svelte-1zbky3{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1zbky3.svelte-1zbky3:last-child{border-bottom:none}.info-label.svelte-1zbky3.svelte-1zbky3{width:120px;min-width:120px;color:var(--text-dim, #888)}.info-value.svelte-1zbky3.svelte-1zbky3{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1zbky3.svelte-1zbky3{font-family:monospace;font-size:.85rem}.info-value.small.svelte-1zbky3.svelte-1zbky3{font-size:.8rem}.workspace-actions.svelte-1zbky3.svelte-1zbky3{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.btn.svelte-1zbky3.svelte-1zbky3{padding:.45rem .8rem;border:1px solid var(--border, #2a2a3e);border-radius:6px;background:var(--surface-light, #232338);color:var(--text, #e0e0e0);font-size:.85rem;cursor:pointer}.btn.svelte-1zbky3.svelte-1zbky3:hover{background:var(--accent, #4a7c59);border-color:var(--accent, #4a7c59)}.no-data.svelte-1zbky3.svelte-1zbky3{color:var(--text-dim, #888);font-style:italic;margin:0}.settings-section.svelte-ksamnw.svelte-ksamnw{padding:1.5rem;max-width:560px}.settings-section.svelte-ksamnw h2.svelte-ksamnw{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.loading.svelte-ksamnw.svelte-ksamnw,.no-data.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-style:italic}.template-list.svelte-ksamnw.svelte-ksamnw{display:flex;flex-direction:column;gap:.5rem}.template-item.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--surface-alt, #252538);border-radius:6px;border:1px solid var(--border, #2a2a3e)}.template-info.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.5rem}.template-name.svelte-ksamnw.svelte-ksamnw{color:var(--text, #e0e0e0);font-size:.9rem}.template-type.svelte-ksamnw.svelte-ksamnw{color:var(--text-dim, #888);font-size:.8rem}.toggle-label.svelte-ksamnw.svelte-ksamnw{display:flex;align-items:center;gap:.4rem;cursor:pointer}.toggle-text.svelte-ksamnw.svelte-ksamnw{font-size:.8rem;color:var(--text-dim, #888)}input[type=checkbox].svelte-ksamnw.svelte-ksamnw{accent-color:var(--accent, #818cf8)}.settings-section.svelte-8jch95.svelte-8jch95{padding:1.5rem;max-width:500px}.settings-section.svelte-8jch95 h2.svelte-8jch95{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-8jch95.svelte-8jch95{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1rem}.settings-section.svelte-1fx1e1e.svelte-1fx1e1e{padding:1.5rem;max-width:600px}.settings-section.svelte-1fx1e1e h2.svelte-1fx1e1e{margin:0 0 .25rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.85rem;margin-bottom:1.25rem;line-height:1.4}.settings-card.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface-alt, #1e1e30);border:1px solid var(--border, #2a2a3e);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;padding:.4rem 0;border-bottom:1px solid var(--border, #2a2a3e);font-size:.9rem}.info-row.svelte-1fx1e1e.svelte-1fx1e1e:last-child{border-bottom:none}.info-label.svelte-1fx1e1e.svelte-1fx1e1e{width:180px;min-width:180px;color:var(--text-dim, #888)}.info-value.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text, #e0e0e0);word-break:break-all}.info-value.mono.svelte-1fx1e1e.svelte-1fx1e1e{font-family:monospace;font-size:.85rem}.info-value.error.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.status-ok.svelte-1fx1e1e.svelte-1fx1e1e{color:#34d399;font-weight:600}.status-err.svelte-1fx1e1e.svelte-1fx1e1e{color:#ff6b6b}.sync-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sync-interval.svelte-1fx1e1e.svelte-1fx1e1e{margin-bottom:0}.interval-row.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;align-items:center}.interval-row.svelte-1fx1e1e input.svelte-1fx1e1e{width:100px}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e{margin-bottom:1rem}.sync-setup.svelte-1fx1e1e .form-group.svelte-1fx1e1e:last-of-type{margin-bottom:0}.sync-setup-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;margin-top:1rem}.connection-result.svelte-1fx1e1e.svelte-1fx1e1e{margin-top:.75rem;padding:.4rem .75rem;border-radius:6px;font-size:.85rem}.connection-result.ok.svelte-1fx1e1e.svelte-1fx1e1e{background:#34d3991a;border:1px solid rgba(52,211,153,.3);color:#34d399}.connection-result.fail.svelte-1fx1e1e.svelte-1fx1e1e{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#ff6b6b}.error-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;font-size:.85rem}.result-msg.svelte-1fx1e1e.svelte-1fx1e1e{padding:.5rem .75rem;margin-bottom:.75rem;background:#34d3991a;border:1px solid rgba(52,211,153,.3);border-radius:6px;color:#34d399;font-size:.85rem}.result-msg.warning.svelte-1fx1e1e.svelte-1fx1e1e{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.modal-overlay.svelte-1fx1e1e.svelte-1fx1e1e{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.modal.svelte-1fx1e1e.svelte-1fx1e1e{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:10px;padding:1.5rem;max-width:420px;width:90%;cursor:default}.modal.svelte-1fx1e1e h3.svelte-1fx1e1e{margin:0 0 .75rem}.modal-desc.svelte-1fx1e1e.svelte-1fx1e1e{color:var(--text-dim, #888);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.modal-actions.svelte-1fx1e1e.svelte-1fx1e1e{display:flex;gap:.5rem;justify-content:flex-end}.settings-section.svelte-19bo7bn.svelte-19bo7bn{padding:1.5rem;max-width:500px}.settings-section.svelte-19bo7bn h2.svelte-19bo7bn{margin:0 0 .5rem;font-size:1.2rem;color:var(--text, #e0e0e0)}.section-desc.svelte-19bo7bn.svelte-19bo7bn{color:var(--text-dim, #888);font-size:.85rem}.settings-overlay.svelte-zf2zsc.svelte-zf2zsc{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;border:none;padding:0;cursor:pointer;width:100%;color:inherit;font:inherit}.settings-window.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:85vh;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2a2a3e);border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0006}.settings-header.svelte-zf2zsc.svelte-zf2zsc{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border, #2a2a3e);flex-shrink:0}.settings-header.svelte-zf2zsc h2.svelte-zf2zsc{margin:0;font-size:1.1rem;color:var(--text, #e0e0e0)}.close-btn.svelte-zf2zsc.svelte-zf2zsc{background:transparent;border:none;color:var(--text-dim, #888);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center}.close-btn.svelte-zf2zsc.svelte-zf2zsc:hover{color:var(--text, #e0e0e0);background:var(--surface-alt, #252538)}.settings-body.svelte-zf2zsc.svelte-zf2zsc{display:flex;flex:1;overflow:hidden}.settings-content.svelte-zf2zsc.svelte-zf2zsc{flex:1;overflow-y:auto;background:var(--bg, #13131f)}.sync-status-widget.svelte-1rxbx0{font-size:.8rem;padding:.4rem .5rem}.sync-status-row.svelte-1rxbx0{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sync-dot.svelte-1rxbx0{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-connected.svelte-1rxbx0{background:#34d399;box-shadow:0 0 4px #34d39966}.dot-warning.svelte-1rxbx0{background:#f59e0b}.dot-disabled.svelte-1rxbx0{background:#555}.dot-syncing.svelte-1rxbx0{background:#818cf8;animation:svelte-1rxbx0-pulse 1s infinite}@keyframes svelte-1rxbx0-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-label.svelte-1rxbx0{color:var(--text-dim, #888);white-space:nowrap}.sync-count.svelte-1rxbx0{color:var(--accent, #818cf8);font-weight:600}.sync-actions-row.svelte-1rxbx0{display:flex;gap:.3rem;margin-left:auto}.sync-message.svelte-1rxbx0{margin-top:.25rem;color:var(--text-dim, #888);line-height:1.25}.sync-message-warning.svelte-1rxbx0{color:#f59e0b}.btn-xs.svelte-1rxbx0{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--border, #2a2a3e);background:var(--surface-alt, #252538);color:var(--text-dim, #888);border-radius:4px;cursor:pointer;white-space:nowrap}.btn-xs.svelte-1rxbx0:hover{background:var(--border, #2a2a3e);color:var(--text, #e0e0e0)}.btn-xs.svelte-1rxbx0:disabled{opacity:.5;cursor:default}.btn-link.svelte-1rxbx0{border:none;background:transparent;color:var(--accent, #818cf8);text-decoration:underline}.btn-link.svelte-1rxbx0:hover{color:#a5b4fc;background:transparent}.svelte-pldmec.svelte-pldmec,.svelte-pldmec.svelte-pldmec:before,.svelte-pldmec.svelte-pldmec:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-pldmec.svelte-pldmec{font-size:20px;line-height:1}.brand-name.svelte-pldmec.svelte-pldmec{font-size:16px;font-weight:600}.sidebar-nav.svelte-pldmec.svelte-pldmec{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-pldmec.svelte-pldmec{margin-bottom:16px}.nav-label.svelte-pldmec.svelte-pldmec{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#223}.nav-item.selected.svelte-pldmec.svelte-pldmec{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-pldmec.svelte-pldmec{min-height:32px}.workspace-tree-area.drop-valid.svelte-pldmec.svelte-pldmec{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-pldmec.svelte-pldmec{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-pldmec.svelte-pldmec:hover{color:#ccc}.context-menu-backdrop.svelte-pldmec.svelte-pldmec{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-pldmec.svelte-pldmec{color:#ff6b6b}.context-menu-item.danger.svelte-pldmec.svelte-pldmec:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-pldmec.svelte-pldmec{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-pldmec.svelte-pldmec{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-pldmec.svelte-pldmec{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.sidebar-footer-row.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;justify-content:space-between}.version.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555;text-align:center}.main.svelte-pldmec.svelte-pldmec{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-pldmec.svelte-pldmec{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px}.sidebar-settings-btn.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#1e1e38;color:#a5b4fc}.sidebar-settings-btn.svelte-pldmec.svelte-pldmec:active{background:#252545;color:#818cf8}.crumb.svelte-pldmec.svelte-pldmec{font-size:14px;font-weight:500}.crumb.placeholder.svelte-pldmec.svelte-pldmec{color:#666}.crumb-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-pldmec.svelte-pldmec:hover{color:#f44}.tabs.svelte-pldmec.svelte-pldmec{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-pldmec.svelte-pldmec{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-pldmec.svelte-pldmec:hover{color:#a5b4fc}.tab.active.svelte-pldmec.svelte-pldmec{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-pldmec.svelte-pldmec{flex:1;overflow-y:auto}.note-editor.svelte-pldmec.svelte-pldmec{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-pldmec.svelte-pldmec{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-pldmec.svelte-pldmec{font-size:16px;font-weight:500}.dirty-mark.svelte-pldmec.svelte-pldmec{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-pldmec.svelte-pldmec{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{padding:24px}.overview.svelte-pldmec h2.svelte-pldmec{font-size:24px;margin-bottom:16px}.meta-grid.svelte-pldmec.svelte-pldmec{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-pldmec.svelte-pldmec{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-pldmec.svelte-pldmec{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#223}.qa-btn.svelte-pldmec.svelte-pldmec:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-pldmec.svelte-pldmec{margin-bottom:24px}.recent-section.svelte-pldmec h3.svelte-pldmec{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-pldmec.svelte-pldmec{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-pldmec.svelte-pldmec:hover{background:#1a1a28}.recent-date.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555}.recent-entry.svelte-pldmec.svelte-pldmec{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-pldmec.svelte-pldmec{padding:24px}.tab-toolbar.svelte-pldmec.svelte-pldmec{margin-bottom:16px}.create-form.svelte-pldmec.svelte-pldmec{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-pldmec input.svelte-pldmec{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-pldmec input.svelte-pldmec:focus{outline:none;border-color:#6366f1}.form-actions.svelte-pldmec.svelte-pldmec{display:flex;gap:8px}.notes-list.svelte-pldmec.svelte-pldmec{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-pldmec.svelte-pldmec{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-pldmec.svelte-pldmec:hover{border-color:#3a3a5c}.note-card-title.svelte-pldmec.svelte-pldmec{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555}.worklog-tab.svelte-pldmec.svelte-pldmec{padding:24px}.worklog-toolbar.svelte-pldmec.svelte-pldmec{margin-bottom:16px}.worklog-entry.svelte-pldmec.svelte-pldmec{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-pldmec.svelte-pldmec{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-pldmec.svelte-pldmec{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-pldmec.svelte-pldmec{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-pldmec.svelte-pldmec{border-color:#3a3a5c}.suggestion-detail.svelte-pldmec.svelte-pldmec{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-pldmec.svelte-pldmec{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-pldmec.svelte-pldmec{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-pldmec.svelte-pldmec{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-pldmec.svelte-pldmec{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:last-child{margin-bottom:0}.suggestion-info.svelte-pldmec.svelte-pldmec{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-pldmec.svelte-pldmec{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-pldmec.svelte-pldmec:hover{text-decoration:underline}.suggestion-actions.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-pldmec.svelte-pldmec{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-pldmec.svelte-pldmec{color:#fbbf24}.suggestion-confidence.medium.svelte-pldmec.svelte-pldmec{color:#60a5fa}.suggestion-confidence.high.svelte-pldmec.svelte-pldmec{color:#34d399}.journal-screen.svelte-pldmec.svelte-pldmec{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-pldmec.svelte-pldmec{margin-bottom:24px}.journal-header.svelte-pldmec h2.svelte-pldmec{margin:0 0 16px}.journal-summary.svelte-pldmec.svelte-pldmec{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-pldmec.svelte-pldmec{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-pldmec.svelte-pldmec{flex:1;min-width:200px}.summary-label.svelte-pldmec.svelte-pldmec{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-pldmec span.svelte-pldmec:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-pldmec.svelte-pldmec{color:#8888a0}.journal-table-wrap.svelte-pldmec.svelte-pldmec{overflow-x:auto}.journal-table.svelte-pldmec.svelte-pldmec{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-pldmec th.svelte-pldmec{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-pldmec td.svelte-pldmec{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-pldmec tr:hover td.svelte-pldmec{background:#1e1e32}.journal-table.svelte-pldmec .link-btn.svelte-pldmec{color:#a5b4fc}.journal-path-cell.svelte-pldmec.svelte-pldmec{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-pldmec.svelte-pldmec{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-pldmec.svelte-pldmec{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-pldmec.svelte-pldmec{text-align:center;color:#a0a0b8}.journal-row.svelte-pldmec.svelte-pldmec{cursor:pointer}.journal-row.svelte-pldmec:hover td.svelte-pldmec{background:#1e1e32}.journal-row.expanded.svelte-pldmec td.svelte-pldmec{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-pldmec.svelte-pldmec{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-pldmec td.svelte-pldmec{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-actions.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;justify-content:flex-end}.journal-detail-section.svelte-pldmec.svelte-pldmec{font-size:13px}.journal-detail-label.svelte-pldmec.svelte-pldmec{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-pldmec p.svelte-pldmec{margin:0;color:#c0c0d0}.journal-event-row.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-pldmec.svelte-pldmec{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-pldmec.svelte-pldmec{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-pldmec.svelte-pldmec{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-pldmec input[type=text].svelte-pldmec{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-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#2a2a4a}.journal-search-title.svelte-pldmec.svelte-pldmec{display:block;font-weight:500}.journal-search-path.svelte-pldmec.svelte-pldmec{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#2a2a4a}.journal-node-clear.svelte-pldmec.svelte-pldmec{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-pldmec.svelte-pldmec{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-pldmec.svelte-pldmec{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-pldmec.svelte-pldmec{margin-bottom:24px}.link-btn.svelte-pldmec.svelte-pldmec{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-pldmec.svelte-pldmec:hover{text-decoration:underline}.nav-badge.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{padding:24px}.action-card.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-pldmec.svelte-pldmec{font-weight:500}.action-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-pldmec .btn-danger.svelte-pldmec{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-pldmec .btn-danger.svelte-pldmec:hover{background:#3a2222}.empty-state.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-pldmec p.svelte-pldmec{margin:0;font-size:14px;color:#666}.empty-state.svelte-pldmec .empty-icon.svelte-pldmec{margin-bottom:12px;color:#444}.empty-state.svelte-pldmec .hint.svelte-pldmec{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-pldmec .empty-actions.svelte-pldmec{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-pldmec.svelte-pldmec{padding:48px 24px;text-align:center}.welcome.svelte-pldmec h2.svelte-pldmec{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-pldmec p.svelte-pldmec{color:#666;font-size:14px}.error-text.svelte-pldmec.svelte-pldmec{color:#f88}.modal-overlay.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-pldmec h3.svelte-pldmec{font-size:18px;margin-bottom:16px}.modal.svelte-pldmec textarea.svelte-pldmec{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-pldmec.svelte-pldmec{width:460px}.form-group.svelte-pldmec.svelte-pldmec{margin-bottom:12px}.form-row.svelte-pldmec.svelte-pldmec{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-pldmec label.svelte-pldmec{display:block}.form-group.svelte-pldmec .label-text.svelte-pldmec,.form-group.svelte-pldmec .form-label.svelte-pldmec{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-pldmec input.svelte-pldmec,.form-group.svelte-pldmec select.svelte-pldmec{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-pldmec select.svelte-pldmec{-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-pldmec input.svelte-pldmec:focus,.form-group.svelte-pldmec select.svelte-pldmec:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-pldmec.svelte-pldmec{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-pldmec.svelte-pldmec:hover{background:#223}.btn-primary.svelte-pldmec.svelte-pldmec{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-pldmec.svelte-pldmec:hover{background:#4f46e5}.btn.svelte-pldmec.svelte-pldmec:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-pldmec.svelte-pldmec{padding:4px 10px;font-size:12px}.btn-danger.svelte-pldmec.svelte-pldmec{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-pldmec.svelte-pldmec: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-pldmec.svelte-pldmec{padding:20px}.files-tab.svelte-pldmec .tab-toolbar.svelte-pldmec{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column}.back-btn.svelte-pldmec.svelte-pldmec{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-pldmec.svelte-pldmec{margin-bottom:16px}.summary-row.svelte-pldmec.svelte-pldmec{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-pldmec.svelte-pldmec{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-pldmec.svelte-pldmec{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-pldmec.svelte-pldmec{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-pldmec.svelte-pldmec{font-weight:500}.template-card-desc.svelte-pldmec.svelte-pldmec{font-size:11px;color:#888}.today-dashboard.svelte-pldmec.svelte-pldmec{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-pldmec.svelte-pldmec{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-pldmec h2.svelte-pldmec{font-size:24px}.today-date.svelte-pldmec.svelte-pldmec{font-size:13px;color:#666}.today-summary.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-pldmec.svelte-pldmec{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-pldmec.svelte-pldmec{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-pldmec.svelte-pldmec{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-pldmec.svelte-pldmec:hover{background:#1e1e30}.today-case-title.svelte-pldmec.svelte-pldmec{font-weight:500}.today-case-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-pldmec.svelte-pldmec{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-pldmec.svelte-pldmec{padding:8px 16px}.today-event.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-pldmec.svelte-pldmec:hover{color:#e4e4ef}.today-event-icon.svelte-pldmec.svelte-pldmec{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-pldmec.svelte-pldmec{flex:1}.today-event-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#666}.today-event-time.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-pldmec.svelte-pldmec{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-pldmec.svelte-pldmec{padding:48px 24px;text-align:center}.today-empty.svelte-pldmec p.svelte-pldmec{color:#666;font-size:14px;margin:0}.today-empty.svelte-pldmec .hint.svelte-pldmec{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-pldmec.svelte-pldmec{margin-top:24px}.today-timeline.svelte-pldmec h3.svelte-pldmec{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-pldmec.svelte-pldmec{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-pldmec.svelte-pldmec:hover{color:#e4e4ef}.timeline-dot.svelte-pldmec.svelte-pldmec{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-pldmec.svelte-pldmec{flex:1}.timeline-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#666}.timeline-time.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555}.activity-tab.svelte-pldmec.svelte-pldmec{padding:24px}.activity-events.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-pldmec.svelte-pldmec:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-pldmec.svelte-pldmec{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-pldmec.svelte-pldmec{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-pldmec.svelte-pldmec{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-pldmec.svelte-pldmec{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-pldmec.svelte-pldmec{margin-bottom:20px}.activity-feed-header.svelte-pldmec h2.svelte-pldmec{font-size:24px}.activity-feed-events.svelte-pldmec.svelte-pldmec{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-pldmec.svelte-pldmec{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-pldmec.svelte-pldmec:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-pldmec.svelte-pldmec{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-pldmec.svelte-pldmec{flex:1;min-width:0}.activity-feed-title.svelte-pldmec.svelte-pldmec{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-pldmec.svelte-pldmec{font-size:11px;color:#666}.activity-feed-target.svelte-pldmec.svelte-pldmec{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-pldmec.svelte-pldmec{font-size:11px;color:#555}.journal-filter-section.svelte-pldmec.svelte-pldmec{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-pldmec.svelte-pldmec{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-pldmec.svelte-pldmec{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-pldmec label.svelte-pldmec{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-pldmec input[type=date].svelte-pldmec{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-pldmec .checkbox-label.svelte-pldmec{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-pldmec .checkbox-label input.svelte-pldmec{width:auto}.journal-export-section.svelte-pldmec.svelte-pldmec{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-pldmec.svelte-pldmec{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-pldmec.svelte-pldmec{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-pldmec.svelte-pldmec{color:#6366f1;font-size:12px}.worklog-entry.svelte-pldmec.svelte-pldmec{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-pldmec.svelte-pldmec:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-pldmec.svelte-pldmec{border-color:#6366f1}.worklog-entry-head.svelte-pldmec.svelte-pldmec{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-pldmec.svelte-pldmec{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-pldmec.svelte-pldmec{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-pldmec.svelte-pldmec{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-pldmec.svelte-pldmec{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-pldmec.svelte-pldmec{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.worklog-entry-actions.svelte-pldmec.svelte-pldmec{display:flex;gap:8px;justify-content:flex-end}.wl-detail-section.svelte-pldmec.svelte-pldmec{font-size:13px}.wl-detail-label.svelte-pldmec.svelte-pldmec{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-pldmec p.svelte-pldmec{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-pldmec.svelte-pldmec{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-pldmec.svelte-pldmec{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-pldmec.svelte-pldmec{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-pldmec input.svelte-pldmec{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-HFhkxYxJ.js b/cmd/verstak-gui/frontend-dist/assets/main-HFhkxYxJ.js deleted file mode 100644 index bf61bc8..0000000 --- a/cmd/verstak-gui/frontend-dist/assets/main-HFhkxYxJ.js +++ /dev/null @@ -1,3 +0,0 @@ -var Da=Object.defineProperty;var Ma=(l,e,t)=>e in l?Da(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var Sl=(l,e,t)=>Ma(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)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(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=t(s);fetch(s.href,i)}})();function ee(){}function gi(l){return l()}function kn(){return Object.create(null)}function ve(l){l.forEach(gi)}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 el(l,e){return l===e?!0:(Qt||(Qt=document.createElement("a")),Qt.href=e,l===Qt.href)}function Ia(l){return Object.keys(l).length===0}function yn(l){return l??""}const Il=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function c(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 Le(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Al(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 o(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function ll(l){return l===""?null:+l}function Aa(l){return Array.from(l.childNodes)}function G(l,e){e=""+e,l.data!==e&&(l.data=e)}function be(l,e){l.value=e??""}function ct(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 s=l.$$.callbacks[e];if(s){const i=Fa(e,t,{cancelable:n});return s.slice().forEach(r=>{r.call(l,i)}),!i.defaultPrevented}return!0}}function bi(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const It=[],wn=[];let At=[];const Cn=[],Pa=Promise.resolve();let Nl=!1;function La(){Nl||(Nl=!0,Pa.then(ki))}function wt(l){At.push(l)}const jl=new Set;let Dt=0;function ki(){if(Dt!==0)return;const l=Bt;do{try{for(;Dtl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),At=e}const $t=new Set;let yt;function lt(){yt={r:0,c:[],p:yt}}function nt(){yt.r||ve(yt.c),yt=yt.p}function re(l,e){l&&l.i&&($t.delete(l),l.i(e))}function de(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 yi(l,e){de(l,1,1,()=>{e.delete(l.key)})}function wi(l,e,t,n,s,i,r,a,u,d,_,g){let v=l.length,b=i.length,k=v;const y={};for(;k--;)y[l[k].key]=k;const S=[],j=new Map,T=new Map,D=[];for(k=b;k--;){const M=g(s,i,k),R=t(M);let W=r.get(R);W?D.push(()=>W.p(M,e)):(W=d(R,M),W.c()),j.set(R,S[k]=W),R in y&&T.set(R,Math.abs(k-y[R]))}const N=new Set,E=new Set;function A(M){re(M,1),M.m(a,_),r.set(M.key,M),_=M.first,b--}for(;v&&b;){const M=S[b-1],R=l[v-1],W=M.key,B=R.key;M===R?(_=M.first,v--,b--):j.has(B)?!r.has(W)||N.has(W)?A(M):E.has(B)?v--:T.get(W)>T.get(B)?(E.add(W),A(M)):(N.add(B),v--):(u(R,r),v--)}for(;v--;){const M=l[v];j.has(M.key)||u(M,r)}for(;b;)A(S[b-1]);return ve(D),S}function Ke(l){l&&l.c()}function We(l,e,t){const{fragment:n,after_update:s}=l.$$;n&&n.m(e,t),wt(()=>{const i=l.$$.on_mount.map(gi).filter(mt);l.$$.on_destroy?l.$$.on_destroy.push(...i):ve(i),l.$$.on_mount=[]}),s.forEach(wt)}function Be(l,e){const t=l.$$;t.fragment!==null&&(za(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Va(l,e){l.$$.dirty[0]===-1&&(It.push(l),La(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const k=b.length?b[0]:v;return d.ctx&&s(d.ctx[g],d.ctx[g]=k)&&(!d.skip_bound&&d.bound[g]&&d.bound[g](k),_&&Va(l,g)),v}):[],d.update(),_=!0,ve(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const g=Aa(e.target);d.fragment&&d.fragment.l(g),g.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&re(l.$$.fragment),We(l,e.target,e.anchor),ki()}Wt(u)}class Ze{constructor(){Sl(this,"$$");Sl(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 s=n.indexOf(t);s!==-1&&n.splice(s,1)}}$set(e){this.$$set&&!Ia(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Oa="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Oa);function Wa(l){let e,t;return{c(){e=X("path"),t=X("polyline"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Ba(l){let e,t,n,s,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),i=X("polyline"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","16"),o(n,"y1","13"),o(n,"x2","8"),o(n,"y2","13"),o(s,"x1","16"),o(s,"y1","17"),o(s,"x2","8"),o(s,"y2","17"),o(i,"points","10 9 9 9 8 9")},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),C(r,s,a),C(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(s),w(i))}}}function Ha(l){let e,t;return{c(){e=X("polyline"),t=X("polyline"),o(e,"points","16 18 22 12 16 6"),o(t,"points","8 6 2 12 8 18")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Ua(l){let e,t,n,s;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("rect"),o(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),o(t,"points","7 3 12 8 17 3"),o(n,"x1","3"),o(n,"y1","8"),o(n,"x2","21"),o(n,"y2","8"),o(s,"x","10"),o(s,"y","12"),o(s,"width","4"),o(s,"height","4"),o(s,"rx","1")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function Ka(l){let e,t,n,s,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),i=X("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","9"),o(n,"y1","12"),o(n,"x2","15"),o(n,"y2","12"),o(s,"x1","9"),o(s,"y1","15"),o(s,"x2","13"),o(s,"y2","15"),o(i,"x1","12"),o(i,"y1","15"),o(i,"x2","12"),o(i,"y2","18")},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),C(r,s,a),C(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(s),w(i))}}}function Ga(l){let e,t,n,s,i,r;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),i=X("line"),r=X("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","8"),o(n,"y1","12"),o(n,"x2","16"),o(n,"y2","12"),o(s,"x1","8"),o(s,"y1","16"),o(s,"x2","16"),o(s,"y2","16"),o(i,"x1","8"),o(i,"y1","14"),o(i,"x2","12"),o(i,"y2","14"),o(r,"x1","12"),o(r,"y1","12"),o(r,"x2","12"),o(r,"y2","18")},m(a,u){C(a,e,u),C(a,t,u),C(a,n,u),C(a,s,u),C(a,i,u),C(a,r,u)},d(a){a&&(w(e),w(t),w(n),w(s),w(i),w(r))}}}function Ja(l){let e,t,n,s;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","16"),o(n,"y1","13"),o(n,"x2","8"),o(n,"y2","13"),o(s,"x1","16"),o(s,"y1","17"),o(s,"x2","8"),o(s,"y2","17")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function qa(l){let e,t,n,s,i;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),i=X("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","8"),o(n,"y1","12"),o(n,"x2","16"),o(n,"y2","12"),o(s,"x1","8"),o(s,"y1","16"),o(s,"x2","16"),o(s,"y2","16"),o(i,"x1","8"),o(i,"y1","14"),o(i,"x2","12"),o(i,"y2","14")},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),C(r,s,a),C(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(s),w(i))}}}function Ya(l){let e,t,n;return{c(){e=X("path"),t=X("circle"),n=X("circle"),o(e,"d","M9 18V5l12-2v13"),o(t,"cx","6"),o(t,"cy","18"),o(t,"r","3"),o(n,"cx","18"),o(n,"cy","16"),o(n,"r","3")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},d(s){s&&(w(e),w(t),w(n))}}}function Qa(l){let e,t;return{c(){e=X("rect"),t=X("polyline"),o(e,"x","2"),o(e,"y","4"),o(e,"width","20"),o(e,"height","16"),o(e,"rx","2"),o(t,"points","10 9 16 12 10 15 10 9")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Xa(l){let e,t,n;return{c(){e=X("rect"),t=X("circle"),n=X("polyline"),o(e,"x","3"),o(e,"y","3"),o(e,"width","18"),o(e,"height","18"),o(e,"rx","2"),o(e,"ry","2"),o(t,"cx","8.5"),o(t,"cy","8.5"),o(t,"r","1.5"),o(n,"points","21 15 16 10 5 21")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},d(s){s&&(w(e),w(t),w(n))}}}function Za(l){let e;return{c(){e=X("path"),o(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function xa(l){let e;function t(i,r){return i[0]==="folder"?Za:i[0]==="image"?Xa:i[0]==="video"?Qa:i[0]==="audio"?Ya:i[0]==="pdf"?qa:i[0]==="document"?Ja:i[0]==="spreadsheet"?Ga:i[0]==="presentation"?Ka:i[0]==="archive"?Ua:i[0]==="code"?Ha:i[0]==="text"?Ba:Wa}let n=t(l),s=n(l);return{c(){e=X("svg"),s.c(),o(e,"width",l[1]),o(e,"height",l[1]),o(e,"viewBox","0 0 24 24"),o(e,"fill","none"),o(e,"stroke","currentColor"),o(e,"stroke-width","1.5"),o(e,"stroke-linecap","round"),o(e,"stroke-linejoin","round"),o(e,"xmlns","http://www.w3.org/2000/svg")},m(i,r){C(i,e,r),s.m(e,null)},p(i,[r]){n!==(n=t(i))&&(s.d(1),s=n(i),s&&(s.c(),s.m(e,null))),r&2&&o(e,"width",i[1]),r&2&&o(e,"height",i[1])},i:ee,o:ee,d(i){i&&w(e),s.d()}}}function $a(l,e,t){let{kind:n="generic"}=e,{size:s=20}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,s=i.size)},[n,s]}class Ci extends Ze{constructor(e){super(),Xe(this,e,$a,xa,Qe,{kind:0,size:1})}}const eu={"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.backLabel":"Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.interval":"Автосинхронизация (мин)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","error.vaultNotOpen":"Хранилище не открыто","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","settings.title":"Настройки","settings.general":"Общие","settings.generalDesc":"Основные настройки интерфейса.","settings.workspace":"Рабочее пространство","settings.workspaceDesc":"Управление хранилищем данных.","settings.appearance":"Внешний вид","settings.localization":"Локализация","settings.templates":"Шаблоны","settings.plugins":"Плагины","settings.files":"Файлы","settings.activity":"Активность","settings.sync":"Синхронизация","settings.backup":"Резервные копии","settings.close":"Закрыть настройки","settings.noPlugins":"Плагины пока не установлены.","settings.openPluginsDir":"Открыть папку plugins","settings.activityStub":"Здесь будут настройки отслеживания активности.","settings.backupStub":"Здесь будут настройки резервного копирования.","settings.theme":"Тема интерфейса","settings.themeSystem":"Системная","settings.themeLight":"Светлая","settings.themeDark":"Тёмная","settings.language":"Язык интерфейса","settings.langRu":"Русский","settings.langEn":"Английский","settings.langSoon":"будет доступно позже","settings.save":"Сохранить настройки","settings.saved":"Настройки сохранены","settings.vaultPath":"Путь к рабочему пространству","settings.noVaultInfo":"Нет информации о хранилище.","settings.vaultInfo":"Информация о рабочем пространстве","settings.openVault":"Открыть папку vault","settings.changeVault":"Изменить путь","settings.checkIntegrity":"Проверить целостность","settings.templatesDesc":"Включите или выключите шаблоны создания элементов.","settings.templateEnabled":"Включён","settings.templateDisabled":"Выключен","settings.filesStub":"Здесь будут настройки файлового хранилища.","settings.syncEnabled":"Синхронизация включена","settings.syncDisabled":"Синхронизация отключена","settings.syncDesc":"Настройте подключение к серверу синхронизации.","settings.serverUrl":"URL сервера","settings.deviceName":"Имя устройства","settings.deviceId":"ID устройства","settings.lastSync":"Последняя синхронизация","settings.lastError":"Последняя ошибка","settings.pendingChanges":"Ожидающие изменения","settings.checkConnection":"Проверить подключение","settings.syncNow":"Синхронизировать сейчас","settings.reconnect":"Переподключить","settings.disconnect":"Отключить устройство","settings.resetKey":"Сбросить ключ","settings.confirmDisconnect":"Вы уверены, что хотите отключить устройство?","settings.confirmDisconnectDesc":"Синхронизация будет остановлена. Для повторного подключения потребуется логин и пароль.","settings.confirmResetKey":"Сбросить ключ синхронизации?","settings.confirmResetKeyDesc":"Текущий ключ устройства будет удалён. Потребуется переподключение.","settings.connected":"Подключено","settings.disconnected":"Не подключено","settings.notConfigured":"Не настроено","settings.error":"Ошибка","settings.revoked":"Отозвано","settings.status":"Статус","firstrun.title":"Добро пожаловать в Верстак","firstrun.desc":"Верстак хранит данные в локальном рабочем пространстве — vault.","firstrun.pathLabel":"Путь к vault","firstrun.defaultPath":"Путь по умолчанию","firstrun.browse":"Выбрать папку","firstrun.create":"Создать рабочее пространство","firstrun.quit":"Выйти","firstrun.pathExists":"Папка существует. Будет создан новый vault.","firstrun.pathHasVault":"Найден существующий vault. Будет подключён.","firstrun.pathNew":"Путь не существует. Будет создан новый vault.","firstrun.errorNoWrite":"Нет прав на запись в выбранную папку.","firstrun.creating":"Создание рабочего пространства...","firstrun.created":"Рабочее пространство создано!","recovery.title":"Рабочее пространство не найдено","recovery.expected":"Ожидался путь","recovery.choose":"Выбрать другой vault","recovery.create":"Создать новый vault","recovery.settings":"Открыть настройки","recovery.quit":"Выйти","recovery.createConfirm":"Будет создано новое пустое рабочее пространство. Старый путь в настройках будет заменён.","recovery.createConfirmTitle":"Создать новое рабочее пространство?","sync.status.connected":"Синхронизация доступна","sync.status.disconnected":"Сервер недоступен","sync.status.disabled":"Синхронизация не настроена","sync.status.syncing":"Синхронизация...","sync.status.error":"Ошибка синхронизации","sync.changes":"изменений","sync.details":"Подробнее","sync.configure":"Настроить","sync.retry":"Повторить","sync.run":"Синхронизировать","sync.running":"Синхронизация...","sync.conflictsCount":"Конфликты: {count}","sync.applyErrorsCount":"Ошибки применения: {count}","sync.pushedPulled":"Отправлено: {pushed}, получено: {pulled}","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},tu={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.journal":"Journal","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.sync":"Sync","nav.syncSettings":"Sync settings","nav.syncNow":"Sync now","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.backLabel":"Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.copy":"Copy","common.cut":"Cut","common.paste":"Paste","common.duplicate":"Duplicate","common.run":"Run","common.test":"Test","common.all":"All","common.open":"Open","common.no":"No","common.date":"Date","common.search":"Search","common.testAgain":"Check","common.connect":"Connect","common.disconnect":"Disconnect","common.settings":"Settings","common.name":"Name","common.type":"Type","common.section":"Section","common.created":"Created","common.empty":"None","common.newName":"New name","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.createCase":"Or create a new case with the + button.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.folderAdded":"Folder added","event.folderDeleted":"Folder deleted","event.folderRenamed":"Folder renamed","event.caseCreated":"Case created","event.caseUpdated":"Case updated","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","action.addAction":"+ Add action","action.newAction":"New action","action.noActions":"No actions yet","action.run":"Run","action.dataUrl":"URL","action.dataPath":"Path","action.dataCommand":"Command","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"command","action.namePlaceholder":"Example: Open website","note.add":"+ Add note","note.new":"New note","note.title":"Note title","note.noNotes":"No notes","note.createFirst":"Create the first note for this case.","note.placeholder":"Start writing...","note.unsavedTitle":"Unsaved changes","note.unsavedMessage":"Close the editor? All unsaved changes will be lost.","note.unsavedClose":"Close","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.newFile":"+ New file","file.addFileSimple":"Add file","file.addFolderSimple":"Add folder","file.noFiles":"No files in this folder yet","file.noFilesCase":"No files in this project yet","file.hint":"Add a file or folder to store project materials.","file.root":"Files","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.more":"More","file.delete":"Delete","file.ariaFolder":"Folder","file.ariaFile":"File","file.scanning":"Scanning...","file.pickSingle":"Select file","file.pickMultiple":"Select files","file.pickDirectory":"Select folder","file.importTitle":"Add to","file.importFiles":"Files:","file.importFolders":"Folders:","file.importSize":"Size:","file.importCopy":"Copy","file.importLink":"Link","file.selectCaseFirst":"Select a case before adding files","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","worklog.date":"Date","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"From suggestion","worklog.sourceSuggestionNoEvents":"From suggestion, but related events missing","worklog.sourceManual":"Manual entry","worklog.sourceUnknown":"Unknown source","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.deviceId":"Device ID","sync.unpushed":"Unpushed","sync.lastSync":"Last sync","sync.revoked":"Revoked","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","sync.serverUrl":"Server URL","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Username","sync.usernamePlaceholder":"username","sync.password":"Password","sync.passwordPlaceholder":"password","sync.interval":"Auto sync (min)","sync.saveInterval":"Save interval","sync.syncNow":"Sync now","sync.disconnect":"Disconnect","sync.connect":"Connect","sync.test":"Check","sync.settingsSaved":"interval saved","today.title":"Today","today.changedCases":"Changed today","today.timeline":"Timeline for today","today.empty":"Nothing happened today yet","today.emptyHint":"Cases, notes, files, and actions you worked with today will appear here.","today.plural.case_one":"case","today.plural.case_few":"cases","today.plural.case_many":"cases","today.plural.note_one":"note","today.plural.note_few":"notes","today.plural.note_many":"notes","today.plural.file_one":"file","today.plural.file_few":"files","today.plural.file_many":"files","today.plural.event_one":"event","today.plural.event_few":"events","today.plural.event_many":"events","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected","activity.title":"Activity","activity.empty":"No activity recorded yet","activity.perCaseEmpty":"No activity recorded yet","overview.type":"Type","overview.section":"Section","overview.created":"Created","overview.newNote":"New note","overview.addFile":"Add file","overview.addAction":"Add action","overview.logTime":"Log time","overview.recentNotes":"Recent notes","overview.recentEntries":"Recent entries","rename.title":"Rename","rename.emptyError":"Name cannot be empty","rename.invalidError":"Invalid name","delete.confirmTitle":"Delete","delete.confirmMessage":"Delete","delete.folder":"folder","delete.file":"file","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","mime.jpeg":"JPEG image","mime.png":"PNG image","mime.gif":"GIF image","mime.webp":"WebP image","mime.svg":"SVG image","mime.bmp":"BMP image","mime.tiff":"TIFF image","mime.avif":"AVIF image","mime.pdf":"PDF document","mime.word":"Word document","mime.excel":"Excel spreadsheet","mime.ppt":"PowerPoint presentation","mime.zip":"ZIP archive","mime.gzip":"GZIP archive","mime.tar":"TAR archive","mime.sevenz":"7z archive","mime.rar":"RAR archive","mime.text":"Text file","mime.html":"HTML file","mime.css":"CSS file","mime.js":"JavaScript file","mime.json":"JSON file","mime.xml":"XML file","mime.yaml":"YAML file","mime.binary":"Binary file","mime.executable":"Executable file","mime.folder":"Folder","mime.unknown":"Unknown","mime.file":"File","error.nameEmpty":"Name cannot be empty","error.nameInvalid":"Invalid name","error.selectCaseFirst":"Select a case first","error.vaultNotOpen":"Vault not open","delete.files":"files ({count})","file.namePrompt":"Enter file name:","file.pdfUnavailable":"PDF preview is unavailable.","file.previewUnavailable":"Preview is unavailable for this file type.","case.new":"New case","case.namePlaceholder":"Case name","settings.title":"Settings","settings.general":"General","settings.generalDesc":"Basic interface settings.","settings.workspace":"Workspace","settings.workspaceDesc":"Manage data storage.","settings.appearance":"Appearance","settings.localization":"Localization","settings.templates":"Templates","settings.plugins":"Plugins","settings.files":"Files","settings.activity":"Activity","settings.sync":"Sync","settings.backup":"Backups","settings.close":"Close settings","settings.noPlugins":"No plugins installed yet.","settings.openPluginsDir":"Open plugins folder","settings.activityStub":"Activity tracking settings will be here.","settings.backupStub":"Backup settings will be here.","settings.theme":"Interface theme","settings.themeSystem":"System","settings.themeLight":"Light","settings.themeDark":"Dark","settings.language":"Interface language","settings.langRu":"Russian","settings.langEn":"English","settings.langSoon":"coming soon","settings.save":"Save settings","settings.saved":"Settings saved","settings.vaultPath":"Workspace path","settings.noVaultInfo":"No workspace information.","settings.vaultInfo":"Workspace information","settings.openVault":"Open vault folder","settings.changeVault":"Change path","settings.checkIntegrity":"Check integrity","settings.templatesDesc":"Enable or disable templates for creating items.","settings.templateEnabled":"Enabled","settings.templateDisabled":"Disabled","settings.filesStub":"File storage settings will be here.","settings.syncEnabled":"Sync enabled","settings.syncDisabled":"Sync disabled","settings.syncDesc":"Configure connection to the sync server.","settings.serverUrl":"Server URL","settings.deviceName":"Device name","settings.deviceId":"Device ID","settings.lastSync":"Last sync","settings.lastError":"Last error","settings.pendingChanges":"Pending changes","settings.checkConnection":"Check connection","settings.syncNow":"Sync now","settings.reconnect":"Reconnect","settings.disconnect":"Disconnect device","settings.resetKey":"Reset key","settings.confirmDisconnect":"Are you sure you want to disconnect this device?","settings.confirmDisconnectDesc":"Sync will stop. Reconnecting will require username and password.","settings.confirmResetKey":"Reset sync key?","settings.confirmResetKeyDesc":"The current device key will be removed. Reconnection will be required.","settings.connected":"Connected","settings.disconnected":"Disconnected","settings.notConfigured":"Not configured","settings.error":"Error","settings.revoked":"Revoked","settings.status":"Status","firstrun.title":"Welcome to Verstak","firstrun.desc":"Verstak stores data in a local workspace called a vault.","firstrun.pathLabel":"Vault path","firstrun.defaultPath":"Default path","firstrun.browse":"Choose folder","firstrun.create":"Create workspace","firstrun.quit":"Quit","firstrun.pathExists":"The folder exists. A new vault will be created.","firstrun.pathHasVault":"Existing vault found. It will be connected.","firstrun.pathNew":"The path does not exist. A new vault will be created.","firstrun.errorNoWrite":"No write permission for the selected folder.","firstrun.creating":"Creating workspace...","firstrun.created":"Workspace created!","recovery.title":"Workspace not found","recovery.expected":"Expected path","recovery.choose":"Choose another vault","recovery.create":"Create new vault","recovery.settings":"Open settings","recovery.quit":"Quit","recovery.createConfirm":"A new empty workspace will be created. The old path in settings will be replaced.","recovery.createConfirmTitle":"Create a new workspace?","sync.status.connected":"Sync available","sync.status.disconnected":"Server unavailable","sync.status.disabled":"Sync is not configured","sync.status.syncing":"Syncing...","sync.status.error":"Sync error","sync.changes":"changes","sync.details":"Details","sync.configure":"Configure","sync.retry":"Retry","sync.run":"Sync","sync.running":"Syncing...","sync.conflictsCount":"Conflicts: {count}","sync.applyErrorsCount":"Apply errors: {count}","sync.pushedPulled":"Pushed: {pushed}, pulled: {pulled}","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","error.accountBlocked":"Account blocked","error.emailNotConfirmed":"Email not confirmed","error.tokenInvalid":"Invalid or expired token","error.tokenExpired":"Token expired"},Sn={ru:eu,en:tu};let jn="ru";function p(l,e){var s;const t=Sn[jn];let n=t==null?void 0:t[l];if(n==null&&jn!=="ru"&&(n=(s=Sn.ru)==null?void 0:s[l]),n==null&&(n=l),e!=null)for(const[i,r]of Object.entries(e))n=n.replace(`{${i}}`,String(r));return n}function tl(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 Dl={"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 Tn(l){return l?Dl[l]||l:p("mime.unknown")}function lu(l){if(l.type==="folder")return p("mime.folder");const e=(l.mime||"").toLowerCase();if(Dl[e])return Dl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():p("mime.file")}function Si(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 ji=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Ti=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Ei=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Ni=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function nu(l){if(l.type==="folder")return!1;const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return!!(ji.includes(e)||Ni.includes(n)||e.includes("pdf")||Ti.includes(e)||Ei.includes(n))}function Di(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return ji.includes(e)||Ni.includes(n)}function Mi(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Ti.includes(e)||Ei.includes(n)&&n!=="md"&&n!=="markdown"}function Ii(l){return(l.mime||"").toLowerCase().includes("pdf")}function Ai(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function su(l){return Di(l)||Ii(l)}function ou(l){return Mi(l)||Ai(l)}const{window:iu}=Il;function ru(l){let e,t,n,s=tl(l[0].size)+"",i;return{c(){e=f("span"),e.textContent="·",t=h(),n=f("span"),i=F(s),o(e,"class","meta-sep svelte-1skuef2")},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),c(n,i)},p(r,a){a[0]&1&&s!==(s=tl(r[0].size)+"")&&G(i,s)},d(r){r&&(w(e),w(t),w(n))}}}function cu(l){let e,t,n,s,i;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',o(e,"class","action-btn svelte-1skuef2"),o(e,"title",p("file.openFolder")),o(e,"aria-label",p("file.openFolder")),o(n,"class","action-btn svelte-1skuef2"),o(n,"title",p("file.showInExplorer")),o(n,"aria-label",p("file.showInExplorer"))},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),s||(i=[I(e,"click",Ye(l[30])),I(n,"click",Ye(l[11]))],s=!0)},p:ee,d(r){r&&(w(e),w(t),w(n)),s=!1,ve(i)}}}function au(l){let e,t,n,s,i,r,a;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',s=h(),i=f("button"),i.innerHTML='',o(e,"class","action-btn svelte-1skuef2"),o(e,"title",p("file.preview")),o(e,"aria-label",p("file.preview")),o(n,"class","action-btn svelte-1skuef2"),o(n,"title",p("file.openExternal")),o(n,"aria-label",p("file.openExternal")),o(i,"class","action-btn svelte-1skuef2"),o(i,"title",p("file.showInExplorer")),o(i,"aria-label",p("file.showInExplorer"))},m(u,d){C(u,e,d),C(u,t,d),C(u,n,d),C(u,s,d),C(u,i,d),r||(a=[I(e,"click",Ye(l[29])),I(n,"click",Ye(l[10])),I(i,"click",Ye(l[11]))],r=!0)},p:ee,d(u){u&&(w(e),w(t),w(n),w(s),w(i)),r=!1,ve(a)}}}function En(l){let e,t,n,s,i,r,a,u,d=p("common.open")+"",_,g,v,b,k,y,S,j,T=p("file.openExternal")+"",D,N,E,A,M,R,W=p("file.showInExplorer")+"",B,K,Y,q,J,H,U,P,V,z=p("common.rename")+"",O,se,ie,$,le,te,ce,pe=p("common.duplicate")+"",ye,He,Ae,Q,x,ue,ge,Se,De,Ue=p("common.cut")+"",Ge,qe,Je,Fe,Pe,ke,Ve,Ne=p("common.copy")+"",ze,je,we,Me,Te,Ee,Oe,_e,ae,Z=p("common.delete")+"",Ce,et,rt;return{c(){e=f("div"),t=h(),n=f("div"),s=f("button"),i=X("svg"),r=X("path"),a=X("circle"),u=h(),_=F(d),g=h(),v=f("button"),b=X("svg"),k=X("path"),y=X("polyline"),S=X("line"),j=h(),D=F(T),N=h(),E=f("button"),A=X("svg"),M=X("path"),R=h(),B=F(W),K=h(),Y=f("div"),q=h(),J=f("button"),H=X("svg"),U=X("path"),P=X("path"),V=h(),O=F(z),se=h(),ie=f("button"),$=X("svg"),le=X("rect"),te=X("path"),ce=h(),ye=F(pe),He=h(),Ae=f("button"),Q=X("svg"),x=X("circle"),ue=X("circle"),ge=X("line"),Se=X("line"),De=h(),Ge=F(Ue),qe=h(),Je=f("button"),Fe=X("svg"),Pe=X("rect"),ke=X("path"),Ve=h(),ze=F(Ne),je=h(),we=f("div"),Me=h(),Te=f("button"),Ee=X("svg"),Oe=X("polyline"),_e=X("path"),ae=h(),Ce=F(Z),o(e,"class","menu-backdrop svelte-1skuef2"),o(e,"role","presentation"),o(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),o(a,"cx","12"),o(a,"cy","12"),o(a,"r","3"),o(i,"width","14"),o(i,"height","14"),o(i,"viewBox","0 0 24 24"),o(i,"fill","none"),o(i,"stroke","currentColor"),o(i,"stroke-width","2"),o(i,"stroke-linecap","round"),o(i,"stroke-linejoin","round"),o(s,"class","menu-item svelte-1skuef2"),o(s,"role","menuitem"),o(k,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),o(y,"points","15 3 21 3 21 9"),o(S,"x1","10"),o(S,"y1","14"),o(S,"x2","21"),o(S,"y2","3"),o(b,"width","14"),o(b,"height","14"),o(b,"viewBox","0 0 24 24"),o(b,"fill","none"),o(b,"stroke","currentColor"),o(b,"stroke-width","2"),o(b,"stroke-linecap","round"),o(b,"stroke-linejoin","round"),o(v,"class","menu-item svelte-1skuef2"),o(v,"role","menuitem"),o(M,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),o(A,"width","14"),o(A,"height","14"),o(A,"viewBox","0 0 24 24"),o(A,"fill","none"),o(A,"stroke","currentColor"),o(A,"stroke-width","2"),o(A,"stroke-linecap","round"),o(A,"stroke-linejoin","round"),o(E,"class","menu-item svelte-1skuef2"),o(E,"role","menuitem"),o(Y,"class","menu-sep svelte-1skuef2"),o(U,"d","M12 20h9"),o(P,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),o(H,"width","14"),o(H,"height","14"),o(H,"viewBox","0 0 24 24"),o(H,"fill","none"),o(H,"stroke","currentColor"),o(H,"stroke-width","2"),o(H,"stroke-linecap","round"),o(H,"stroke-linejoin","round"),o(J,"class","menu-item svelte-1skuef2"),o(J,"role","menuitem"),o(le,"x","9"),o(le,"y","9"),o(le,"width","13"),o(le,"height","13"),o(le,"rx","2"),o(le,"ry","2"),o(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),o($,"width","14"),o($,"height","14"),o($,"viewBox","0 0 24 24"),o($,"fill","none"),o($,"stroke","currentColor"),o($,"stroke-width","2"),o($,"stroke-linecap","round"),o($,"stroke-linejoin","round"),o(ie,"class","menu-item svelte-1skuef2"),o(ie,"role","menuitem"),o(x,"cx","6"),o(x,"cy","6"),o(x,"r","3"),o(ue,"cx","6"),o(ue,"cy","18"),o(ue,"r","3"),o(ge,"x1","20"),o(ge,"y1","4"),o(ge,"x2","8.12"),o(ge,"y2","15.88"),o(Se,"x1","8.12"),o(Se,"y1","8.12"),o(Se,"x2","20"),o(Se,"y2","20"),o(Q,"width","14"),o(Q,"height","14"),o(Q,"viewBox","0 0 24 24"),o(Q,"fill","none"),o(Q,"stroke","currentColor"),o(Q,"stroke-width","2"),o(Q,"stroke-linecap","round"),o(Q,"stroke-linejoin","round"),o(Ae,"class","menu-item svelte-1skuef2"),o(Ae,"role","menuitem"),o(Pe,"x","9"),o(Pe,"y","9"),o(Pe,"width","13"),o(Pe,"height","13"),o(Pe,"rx","2"),o(Pe,"ry","2"),o(ke,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),o(Fe,"width","14"),o(Fe,"height","14"),o(Fe,"viewBox","0 0 24 24"),o(Fe,"fill","none"),o(Fe,"stroke","currentColor"),o(Fe,"stroke-width","2"),o(Fe,"stroke-linecap","round"),o(Fe,"stroke-linejoin","round"),o(Je,"class","menu-item svelte-1skuef2"),o(Je,"role","menuitem"),o(we,"class","menu-sep svelte-1skuef2"),o(Oe,"points","3 6 5 6 21 6"),o(_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"),o(Ee,"width","14"),o(Ee,"height","14"),o(Ee,"viewBox","0 0 24 24"),o(Ee,"fill","none"),o(Ee,"stroke","currentColor"),o(Ee,"stroke-width","2"),o(Ee,"stroke-linecap","round"),o(Ee,"stroke-linejoin","round"),o(Te,"class","menu-item menu-item-danger svelte-1skuef2"),o(Te,"role","menuitem"),o(n,"class","menu svelte-1skuef2"),ct(n,"left",l[3]+"px"),ct(n,"top",l[4]+"px"),ct(n,"position","fixed"),o(n,"role","menu"),o(n,"tabindex","-1")},m(st,Re){C(st,e,Re),C(st,t,Re),C(st,n,Re),c(n,s),c(s,i),c(i,r),c(i,a),c(s,u),c(s,_),c(n,g),c(n,v),c(v,b),c(b,k),c(b,y),c(b,S),c(v,j),c(v,D),c(n,N),c(n,E),c(E,A),c(A,M),c(E,R),c(E,B),c(n,K),c(n,Y),c(n,q),c(n,J),c(J,H),c(H,U),c(H,P),c(J,V),c(J,O),c(n,se),c(n,ie),c(ie,$),c($,le),c($,te),c(ie,ce),c(ie,ye),c(n,He),c(n,Ae),c(Ae,Q),c(Q,x),c(Q,ue),c(Q,ge),c(Q,Se),c(Ae,De),c(Ae,Ge),c(n,qe),c(n,Je),c(Je,Fe),c(Fe,Pe),c(Fe,ke),c(Je,Ve),c(Je,ze),c(n,je),c(n,we),c(n,Me),c(n,Te),c(Te,Ee),c(Ee,Oe),c(Ee,_e),c(Te,ae),c(Te,Ce),et||(rt=[I(e,"click",Ye(l[19])),I(s,"click",l[17]),I(v,"click",l[10]),I(E,"click",l[11]),I(J,"click",l[13]),I(ie,"click",l[14]),I(Ae,"click",l[15]),I(Je,"click",l[16]),I(Te,"click",l[12]),I(n,"click",Ye(l[28])),I(n,"keydown",l[31])],et=!0)},p(st,Re){Re[0]&8&&ct(n,"left",st[3]+"px"),Re[0]&16&&ct(n,"top",st[4]+"px")},d(st){st&&(w(e),w(t),w(n)),et=!1,ve(rt)}}}function uu(l){let e,t,n,s,i,r,a=l[0].name+"",u,d,_,g,v,b,k,y,S,j,T,D,N,E,A,M,R,W,B,K,Y,q;n=new Ci({props:{kind:l[6],size:22}});let J=!l[7]&&ru(l);function H(z,O){return z[7]?cu:au}let P=H(l)(l),V=l[2]&&En(l);return{c(){e=f("div"),t=f("div"),Ke(n.$$.fragment),s=h(),i=f("div"),r=f("div"),u=F(a),_=h(),g=f("div"),v=f("span"),v.textContent=`${l[8]}`,b=h(),J&&J.c(),k=h(),y=f("div"),P.c(),S=h(),j=f("button"),T=X("svg"),D=X("circle"),N=X("circle"),E=X("circle"),A=h(),M=f("button"),M.innerHTML='',W=h(),V&&V.c(),B=ot(),o(t,"class","file-row-icon svelte-1skuef2"),o(r,"class","file-row-name svelte-1skuef2"),o(r,"title",d=l[0].name),o(g,"class","file-row-meta svelte-1skuef2"),o(i,"class","file-row-body svelte-1skuef2"),o(D,"cx","12"),o(D,"cy","5"),o(D,"r","2"),o(N,"cx","12"),o(N,"cy","12"),o(N,"r","2"),o(E,"cx","12"),o(E,"cy","19"),o(E,"r","2"),o(T,"width","16"),o(T,"height","16"),o(T,"viewBox","0 0 24 24"),o(T,"fill","currentColor"),o(j,"class","action-btn svelte-1skuef2"),o(j,"title",p("file.more")),o(j,"aria-label",p("file.more")),o(j,"aria-expanded",l[2]),o(M,"class","action-btn action-btn-danger svelte-1skuef2"),o(M,"title",p("common.delete")),o(M,"aria-label",p("common.delete")),o(y,"class","file-row-actions svelte-1skuef2"),o(e,"class","file-row svelte-1skuef2"),o(e,"role","button"),o(e,"tabindex","0"),o(e,"draggable","true"),o(e,"aria-label",R=l[7]?p("file.ariaFolder")+" "+l[0].name:p("file.ariaFile")+" "+l[0].name),he(e,"file-row--selected",l[1])},m(z,O){C(z,e,O),c(e,t),We(n,t,null),c(e,s),c(e,i),c(i,r),c(r,u),c(i,_),c(i,g),c(g,v),c(g,b),J&&J.m(g,null),c(e,k),c(e,y),P.m(y,null),c(y,S),c(y,j),c(j,T),c(T,D),c(T,N),c(T,E),c(y,A),c(y,M),C(z,W,O),V&&V.m(z,O),C(z,B,O),K=!0,Y||(q=[I(iu,"click",l[19]),I(j,"click",Ye(l[18])),I(M,"click",Ye(l[12])),I(e,"click",l[9]),I(e,"keydown",l[24]),I(e,"contextmenu",l[23]),I(e,"dragstart",l[20]),I(e,"dragover",l[21]),I(e,"drop",l[22])],Y=!0)},p(z,O){(!K||O[0]&1)&&a!==(a=z[0].name+"")&&G(u,a),(!K||O[0]&1&&d!==(d=z[0].name))&&o(r,"title",d),z[7]||J.p(z,O),P.p(z,O),(!K||O[0]&4)&&o(j,"aria-expanded",z[2]),(!K||O[0]&1&&R!==(R=z[7]?p("file.ariaFolder")+" "+z[0].name:p("file.ariaFile")+" "+z[0].name))&&o(e,"aria-label",R),(!K||O[0]&2)&&he(e,"file-row--selected",z[1]),z[2]?V?V.p(z,O):(V=En(z),V.c(),V.m(B.parentNode,B)):V&&(V.d(1),V=null)},i(z){K||(re(n.$$.fragment,z),K=!0)},o(z){de(n.$$.fragment,z),K=!1},d(z){z&&(w(e),w(W),w(B)),Be(n),J&&J.d(),P.d(),V&&V.d(z),Y=!1,ve(q)}}}function fu(l,e,t){let{item:n}=e,{selected:s=!1}=e,{onDragStart:i}=e,{onDragOver:r}=e,{onDrop:a}=e;const u=nl(),d=Si(n),_=n.type==="folder",g=lu(n);let v=!1,b=0,k=0,y=null;function S(O){O.ctrlKey||O.metaKey?u("toggleSelect",n.id):O.shiftKey?u("rangeSelect",n.id):y?(clearTimeout(y),y=null,_?u("navigate",n.id):u("preview",n)):y=setTimeout(()=>{y=null,u("selectOne",n.id)},250)}function j(){u("openExternal",n.fileId)}function T(){t(2,v=!1),u("showInFolder",n.nodeId||n.id)}function D(){t(2,v=!1),u("delete",{id:n.id,type:n.type})}function N(){t(2,v=!1),u("rename",{id:n.id,name:n.name})}function E(){t(2,v=!1),u("duplicate",n.id)}function A(){t(2,v=!1),u("cut",n.id)}function M(){t(2,v=!1),u("copy",n.id)}function R(){t(2,v=!1),_?u("navigate",n.id):u("preview",n)}function W(){t(2,v=!v)}function B(){t(2,v=!1)}function K(O){i&&i(O,n.id)}function Y(O){r&&_&&r(O,n.id)}function q(O){a&&_&&a(O,n.id)}function J(O){O.preventDefault(),t(3,b=Math.min(O.clientX,window.innerWidth-240)),t(4,k=Math.min(O.clientY,window.innerHeight-320)),t(2,v=!0)}function H(O){(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),S(O))}function U(O){bi.call(this,l,O)}const P=()=>u("preview",n),V=()=>u("navigate",n.id),z=O=>{O.key==="Escape"&&(O.stopPropagation(),B())};return l.$$set=O=>{"item"in O&&t(0,n=O.item),"selected"in O&&t(1,s=O.selected),"onDragStart"in O&&t(25,i=O.onDragStart),"onDragOver"in O&&t(26,r=O.onDragOver),"onDrop"in O&&t(27,a=O.onDrop)},[n,s,v,b,k,u,d,_,g,S,j,T,D,N,E,A,M,R,W,B,K,Y,q,J,H,i,r,a,U,P,V,z]}class du extends Ze{constructor(e){super(),Xe(this,e,fu,uu,Qe,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function Nn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function pu(l){let e;return{c(){e=f("span"),e.textContent="/",o(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function mu(l){let e,t=l[4].name+"",n,s,i;function r(){return l[2](l[6])}return{c(){e=f("button"),n=F(t),o(e,"class","crumb crumb--link svelte-csi2lb")},m(a,u){C(a,e,u),c(e,n),s||(i=I(e,"click",r),s=!0)},p(a,u){l=a,u&1&&t!==(t=l[4].name+"")&&G(n,t)},d(a){a&&w(e),s=!1,i()}}}function _u(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=F(t),o(e,"class","crumb crumb--current svelte-csi2lb")},m(s,i){C(s,e,i),c(e,n)},p(s,i){i&1&&t!==(t=s[4].name+"")&&G(n,t)},d(s){s&&w(e)}}}function Dn(l){let e,t,n=l[6]>0&&pu();function s(a,u){return a[6]===a[0].length-1?_u:mu}let i=s(l),r=i(l);return{c(){n&&n.c(),e=h(),r.c(),t=ot()},m(a,u){n&&n.m(a,u),C(a,e,u),r.m(a,u),C(a,t,u)},p(a,u){i===(i=s(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 vu(l){let e,t=fe(l[0]),n=[];for(let s=0;si(a);return l.$$set=a=>{"crumbs"in a&&t(0,n=a.crumbs)},[n,i,r]}class Fi extends Ze{constructor(e){super(),Xe(this,e,gu,vu,Qe,{crumbs:0})}}function hu(l){let e,t,n,s,i,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.previewUnavailable")}`,n=h(),s=f("button"),s.textContent=`${p("file.openExternal")}`,o(s,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),i||(r=I(s,"click",l[9]),i=!0)},p:ee,d(a){a&&w(e),i=!1,r()}}}function bu(l){let e,t;function n(r,a){return a&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?ju:Su}let s=n(l,-1),i=s(l);return{c(){i.c(),t=ot()},m(r,a){i.m(r,a),C(r,t,a)},p(r,a){s===(s=n(r,a))&&i?i.p(r,a):(i.d(1),i=s(r),i&&(i.c(),i.m(t.parentNode,t)))},d(r){r&&w(t),i.d(r)}}}function ku(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=F(l[1]),o(e,"class","preview-text svelte-1cw3u0m")},m(s,i){C(s,e,i),c(e,t),c(t,n)},p(s,i){i&2&&G(n,s[1])},d(s){s&&w(e)}}}function yu(l){let e,t,n,s;return{c(){e=f("div"),t=f("img"),el(t.src,n=l[1])||o(t,"src",n),o(t,"alt",s=l[0].name),o(t,"class","preview-image svelte-1cw3u0m"),o(e,"class","preview-image-container svelte-1cw3u0m")},m(i,r){C(i,e,r),c(e,t)},p(i,r){r&2&&!el(t.src,n=i[1])&&o(t,"src",n),r&1&&s!==(s=i[0].name)&&o(t,"alt",s)},d(i){i&&w(e)}}}function wu(l){let e,t,n,s,i,r,a;return{c(){e=f("div"),t=f("p"),n=F(l[3]),s=h(),i=f("button"),i.textContent=`${p("file.openExternal")}`,o(i,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(u,d){C(u,e,d),c(e,t),c(t,n),c(e,s),c(e,i),r||(a=I(i,"click",l[9]),r=!0)},p(u,d){d&8&&G(n,u[3])},d(u){u&&w(e),r=!1,a()}}}function Cu(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,o(e,"class","preview-status svelte-1cw3u0m")},m(n,s){C(n,e,s),c(e,t)},p:ee,d(n){n&&w(e)}}}function Su(l){let e,t,n,s,i,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.pdfUnavailable")}`,n=h(),s=f("button"),s.textContent=`${p("file.openExternal")}`,o(s,"class","btn btn-sm svelte-1cw3u0m"),o(e,"class","preview-status svelte-1cw3u0m")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),i||(r=I(s,"click",l[9]),i=!0)},p:ee,d(a){a&&w(e),i=!1,r()}}}function ju(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),el(t.src,n=l[1])||o(t,"src",n),o(t,"type","application/pdf"),o(t,"class","preview-pdf svelte-1cw3u0m"),o(e,"class","preview-pdf-container svelte-1cw3u0m")},m(s,i){C(s,e,i),c(e,t)},p(s,i){i&2&&!el(t.src,n=s[1])&&o(t,"src",n)},d(s){s&&w(e)}}}function Tu(l){let e,t,n,s,i,r,a,u=l[0].name+"",d,_,g,v,b=tl(l[0].size)+"",k,y,S=Tn(l[0].mime)+"",j,T,D,N,E,A,M,R,W,B,K;i=new Ci({props:{kind:l[8],size:18}});function Y(H,U){return H[2]?Cu:H[3]?wu:H[6]&&H[1]?yu:H[5]&&H[1]?ku:H[4]?bu:hu}let q=Y(l),J=q(l);return{c(){e=f("div"),t=f("div"),n=f("header"),s=f("div"),Ke(i.$$.fragment),r=h(),a=f("span"),d=F(u),g=h(),v=f("div"),k=F(b),y=F(" · "),j=F(S),T=h(),D=f("div"),N=f("button"),N.innerHTML='',E=h(),A=f("button"),A.innerHTML='',M=h(),R=f("div"),J.c(),o(a,"class","preview-name svelte-1cw3u0m"),o(a,"title",_=l[0].name),o(s,"class","preview-title svelte-1cw3u0m"),o(v,"class","preview-meta svelte-1cw3u0m"),o(N,"class","action-btn svelte-1cw3u0m"),o(N,"title",p("file.openExternal")),o(N,"aria-label",p("file.openExternal")),o(A,"class","action-btn action-btn-close svelte-1cw3u0m"),o(A,"title","Close"),o(A,"aria-label","Close preview"),o(D,"class","preview-actions svelte-1cw3u0m"),o(n,"class","preview-header svelte-1cw3u0m"),o(R,"class","preview-body svelte-1cw3u0m"),o(t,"class","modal svelte-1cw3u0m"),o(e,"class","overlay svelte-1cw3u0m"),o(e,"role","presentation")},m(H,U){C(H,e,U),c(e,t),c(t,n),c(n,s),We(i,s,null),c(s,r),c(s,a),c(a,d),c(n,g),c(n,v),c(v,k),c(v,y),c(v,j),c(n,T),c(n,D),c(D,N),c(D,E),c(D,A),c(t,M),c(t,R),J.m(R,null),W=!0,B||(K=[I(N,"click",l[9]),I(A,"click",l[10]),I(e,"click",ft(l[11])),I(e,"keydown",l[12])],B=!0)},p(H,[U]){(!W||U&1)&&u!==(u=H[0].name+"")&&G(d,u),(!W||U&1&&_!==(_=H[0].name))&&o(a,"title",_),(!W||U&1)&&b!==(b=tl(H[0].size)+"")&&G(k,b),(!W||U&1)&&S!==(S=Tn(H[0].mime)+"")&&G(j,S),q===(q=Y(H))&&J?J.p(H,U):(J.d(1),J=q(H),J&&(J.c(),J.m(R,null)))},i(H){W||(re(i.$$.fragment,H),W=!0)},o(H){de(i.$$.fragment,H),W=!1},d(H){H&&w(e),Be(i),J.d(),B=!1,ve(K)}}}function Eu(l,e,t){let n,s,i,{item:r}=e,{content:a=""}=e,{loading:u=!1}=e,{error:d=""}=e;const _=nl(),g=Si(r);function v(j){j.key==="Escape"&&_("close")}function b(){_("openExternal",r.fileId)}hi(()=>{window.addEventListener("keydown",v)}),Pl(()=>{window.removeEventListener("keydown",v)});const k=()=>_("close"),y=()=>_("close"),S=j=>{j.key==="Escape"&&(j.preventDefault(),_("close"))};return l.$$set=j=>{"item"in j&&t(0,r=j.item),"content"in j&&t(1,a=j.content),"loading"in j&&t(2,u=j.loading),"error"in j&&t(3,d=j.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Di(r)&&a&&a.startsWith("data:")),l.$$.dirty&1&&t(5,s=Mi(r)||Ai(r)),l.$$.dirty&1&&t(4,i=Ii(r))},[r,a,u,d,i,s,n,_,g,b,k,y,S]}class Nu extends Ze{constructor(e){super(),Xe(this,e,Eu,Tu,Qe,{item:0,content:1,loading:2,error:3})}}function Du(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j;return{c(){e=f("div"),t=f("div"),n=f("h3"),s=F(l[0]),i=h(),r=f("p"),a=F(l[1]),u=h(),d=f("div"),_=f("button"),g=F(l[2]),b=h(),k=f("button"),y=F(l[3]),o(n,"class","svelte-1fv6yyk"),o(r,"class","message svelte-1fv6yyk"),o(_,"class",v="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),o(k,"class","btn svelte-1fv6yyk"),o(d,"class","actions svelte-1fv6yyk"),o(t,"class","modal svelte-1fv6yyk"),o(e,"class","overlay svelte-1fv6yyk"),o(e,"role","presentation")},m(T,D){C(T,e,D),c(e,t),c(t,n),c(n,s),c(t,i),c(t,r),c(r,a),c(t,u),c(t,d),c(d,_),c(_,g),c(d,b),c(d,k),c(k,y),S||(j=[I(_,"click",l[6]),I(k,"click",l[7]),I(e,"click",ft(l[8])),I(e,"keydown",l[9])],S=!0)},p(T,[D]){D&1&&G(s,T[0]),D&2&&G(a,T[1]),D&4&&G(g,T[2]),D&16&&v!==(v="btn "+(T[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&o(_,"class",v),D&8&&G(y,T[3])},i:ee,o:ee,d(T){T&&w(e),S=!1,ve(j)}}}function Mu(l,e,t){let{title:n=p("common.confirm")}=e,{message:s=""}=e,{confirmText:i=p("common.delete")}=e,{cancelText:r=p("common.cancel")}=e,{danger:a=!1}=e;const u=nl(),d=()=>u("confirm"),_=()=>u("cancel"),g=()=>u("cancel"),v=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,s=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,s,i,r,a,u,d,_,g,v]}class Iu extends Ze{constructor(e){super(),Xe(this,e,Mu,Du,Qe,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Au(l){let e,t,n;return{c(){e=X("circle"),t=X("line"),n=X("line"),o(e,"cx","12"),o(e,"cy","12"),o(e,"r","10"),o(t,"x1","12"),o(t,"y1","16"),o(t,"x2","12"),o(t,"y2","12"),o(n,"x1","12"),o(n,"y1","8"),o(n,"x2","12.01"),o(n,"y2","8")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},d(s){s&&(w(e),w(t),w(n))}}}function Fu(l){let e,t,n,s;return{c(){e=X("rect"),t=X("polyline"),n=X("line"),s=X("line"),o(e,"x","3"),o(e,"y","5"),o(e,"width","18"),o(e,"height","14"),o(e,"rx","2"),o(t,"points","3 10 21 10"),o(n,"x1","8"),o(n,"y1","5"),o(n,"x2","8"),o(n,"y2","19"),o(s,"x1","16"),o(s,"y1","5"),o(s,"x2","16"),o(s,"y2","19")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function Pu(l){let e,t;return{c(){e=X("path"),t=X("polyline"),o(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),o(t,"points","13 2 13 9 20 9")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Lu(l){let e,t;return{c(){e=X("path"),t=X("path"),o(e,"d","M12 20h9"),o(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Ru(l){let e,t,n,s,i;return{c(){e=X("path"),t=X("path"),n=X("line"),s=X("line"),i=X("line"),o(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),o(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),o(n,"x1","8"),o(n,"y1","7"),o(n,"x2","16"),o(n,"y2","7"),o(s,"x1","8"),o(s,"y1","11"),o(s,"x2","14"),o(s,"y2","11"),o(i,"x1","8"),o(i,"y1","15"),o(i,"x2","12"),o(i,"y2","15")},m(r,a){C(r,e,a),C(r,t,a),C(r,n,a),C(r,s,a),C(r,i,a)},d(r){r&&(w(e),w(t),w(n),w(s),w(i))}}}function zu(l){let e,t,n,s;return{c(){e=X("path"),t=X("polyline"),n=X("line"),s=X("line"),o(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),o(t,"points","14 2 14 8 20 8"),o(n,"x1","16"),o(n,"y1","13"),o(n,"x2","8"),o(n,"y2","13"),o(s,"x1","16"),o(s,"y1","17"),o(s,"x2","8"),o(s,"y2","17")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function Vu(l){let e,t;return{c(){e=X("path"),t=X("circle"),o(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),o(t,"cx","12"),o(t,"cy","7"),o(t,"r","4")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Ou(l){let e,t,n,s;return{c(){e=X("rect"),t=X("rect"),n=X("rect"),s=X("rect"),o(e,"x","3"),o(e,"y","3"),o(e,"width","7"),o(e,"height","7"),o(e,"rx","1"),o(t,"x","14"),o(t,"y","3"),o(t,"width","7"),o(t,"height","4"),o(t,"rx","1"),o(n,"x","14"),o(n,"y","10"),o(n,"width","7"),o(n,"height","11"),o(n,"rx","1"),o(s,"x","3"),o(s,"y","14"),o(s,"width","7"),o(s,"height","7"),o(s,"rx","1")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function Wu(l){let e;return{c(){e=X("path"),o(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Bu(l){let e;function t(i,r){return i[0]==="folder"?Wu:i[0]==="project"?Ou:i[0]==="client"?Vu:i[0]==="document"?zu:i[0]==="recipe"?Ru:i[0]==="note"?Lu:i[0]==="file"?Pu:i[0]==="case"?Fu:Au}let n=t(l),s=n(l);return{c(){e=X("svg"),s.c(),o(e,"width",l[1]),o(e,"height",l[1]),o(e,"viewBox","0 0 24 24"),o(e,"fill","none"),o(e,"stroke","currentColor"),o(e,"stroke-width","1.5"),o(e,"stroke-linecap","round"),o(e,"stroke-linejoin","round"),o(e,"xmlns","http://www.w3.org/2000/svg")},m(i,r){C(i,e,r),s.m(e,null)},p(i,[r]){n!==(n=t(i))&&(s.d(1),s=n(i),s&&(s.c(),s.m(e,null))),r&2&&o(e,"width",i[1]),r&2&&o(e,"height",i[1])},i:ee,o:ee,d(i){i&&w(e),s.d()}}}function Hu(l,e,t){let{kind:n="generic"}=e,{size:s=18}=e;return l.$$set=i=>{"kind"in i&&t(0,n=i.kind),"size"in i&&t(1,s=i.size)},[n,s]}class sl extends Ze{constructor(e){super(),Xe(this,e,Hu,Bu,Qe,{kind:0,size:1})}}function Mn(l,e,t){const n=l.slice();return n[44]=e[t],n}function Uu(l){let e;return{c(){e=f("span"),o(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function Ku(l){let e,t,n=l[1][l[44].id]?"▾":"▸",s,i,r;function a(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),s=F(n),o(t,"class","tree-arrow"),o(e,"class","tree-toggle svelte-zj71cl")},m(u,d){C(u,e,d),c(e,t),c(t,s),i||(r=I(e,"click",Ye(a)),i=!0)},p(u,d){l=u,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&G(s,n)},d(u){u&&w(e),i=!1,r()}}}function In(l){let e,t;return e=new Pi({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,s){We(e,n,s),t=!0},p(n,s){const i={};s[0]&1&&(i.nodes=n[44].children||[]),s[0]&2&&(i.expanded=n[1]),s[0]&4&&(i.selectedNodeId=n[2]),s[0]&8&&(i.level=n[3]+1),s[0]&16&&(i.onSelect=n[4]),s[0]&32&&(i.onToggle=n[5]),s[0]&64&&(i.onContextMenu=n[6]),s[0]&128&&(i.onDrop=n[7]),e.$set(i)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function An(l,e){let t,n,s,i,r,a,u,d=e[44].title+"",_,g,v=e[1][e[44].id]&&Ml(e[44]),b,k,y,S;function j(P,V){return V[0]&1&&(n=null),n==null&&(n=!!Vt(P[44])),n?Ku:Uu}let T=j(e,[-1,-1]),D=T(e);r=new sl({props:{kind:Fn(e[44]),size:16}});function N(...P){return e[26](e[44],...P)}function E(...P){return e[27](e[44],...P)}function A(){return e[28](e[44])}function M(...P){return e[29](e[44],...P)}function R(...P){return e[30](e[44],...P)}function W(...P){return e[31](e[44],...P)}function B(...P){return e[32](e[44],...P)}function K(...P){return e[33](e[44],...P)}function Y(...P){return e[34](e[44],...P)}function q(...P){return e[35](e[44],...P)}function J(...P){return e[36](e[44],...P)}function H(...P){return e[37](e[44],...P)}let U=v&&In(e);return{key:l,first:null,c(){t=f("div"),D.c(),s=h(),i=f("span"),Ke(r.$$.fragment),a=h(),u=f("span"),_=F(d),g=h(),U&&U.c(),b=ot(),o(i,"class","tree-icon svelte-zj71cl"),o(i,"role","button"),o(i,"tabindex","-1"),o(u,"class","tree-label svelte-zj71cl"),o(u,"role","button"),o(u,"tabindex","-1"),o(t,"class","tree-item svelte-zj71cl"),ct(t,"padding-left",e[3]*16+4+"px"),o(t,"draggable","true"),o(t,"role","button"),o(t,"tabindex","0"),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,V){C(P,t,V),D.m(t,null),c(t,s),c(t,i),We(r,i,null),c(t,a),c(t,u),c(u,_),C(P,g,V),U&&U.m(P,V),C(P,b,V),k=!0,y||(S=[I(i,"click",N),I(i,"keydown",E),I(i,"dblclick",Ye(e[24])),I(u,"click",Ye(A)),I(u,"keydown",M),I(t,"dragstart",R),I(t,"dragover",W),I(t,"dragleave",B),I(t,"drop",K),I(t,"click",Y),I(t,"keydown",q),I(t,"dblclick",J),I(t,"contextmenu",Al(H))],y=!0)},p(P,V){e=P,T===(T=j(e,V))&&D?D.p(e,V):(D.d(1),D=T(e),D&&(D.c(),D.m(t,s)));const z={};V[0]&1&&(z.kind=Fn(e[44])),r.$set(z),(!k||V[0]&1)&&d!==(d=e[44].title+"")&&G(_,d),(!k||V[0]&8)&&ct(t,"padding-left",e[3]*16+4+"px"),(!k||V[0]&5)&&he(t,"selected",e[2]===e[44].id),(!k||V[0]&769)&&he(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!k||V[0]&769)&&he(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),V[0]&3&&(v=e[1][e[44].id]&&Ml(e[44])),v?U?(U.p(e,V),V[0]&3&&re(U,1)):(U=In(e),U.c(),re(U,1),U.m(b.parentNode,b)):U&&(lt(),de(U,1,1,()=>{U=null}),nt())},i(P){k||(re(r.$$.fragment,P),re(U),k=!0)},o(P){de(r.$$.fragment,P),de(U),k=!1},d(P){P&&(w(t),w(g),w(b)),D.d(),Be(r),U&&U.d(P),y=!1,ve(S)}}}function Gu(l){let e=[],t=new Map,n,s,i,r,a=fe(l[0]);const u=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function Pn(l){const e={};function t(n,s){for(const i of n)e[i.id]=s,i.children&&t(i.children,i.id)}return t(l,""),e}function Ln(l){const e=[];function t(n){for(const s of n)e.push(s),s.children&&t(s.children)}return t(l),e}function Ju(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function qu(l,e,t){let n,s,i,{nodes:r=[]}=e,{expanded:a={}}=e,{selectedNodeId:u=""}=e,{level:d=0}=e,{onSelect:_=void 0}=e,{onToggle:g=void 0}=e,{onContextMenu:v=void 0}=e,{onDrop:b=void 0}=e,k={},y=null,S="",j="";const T=["folder","project","client","document","recipe","case"];Pl(()=>{for(const Q of Object.keys(k))clearTimeout(k[Q]);y&&clearInterval(y)});function D(Q){return T.includes(Q.type)}function N(Q,x,ue){if(!Q||!x||x===Q.id||!D(Q))return!1;let ge=Q.id;for(;ge;){if(ge===x)return!1;ge=ue[ge]||""}return!0}function E(Q,x){Q.stopPropagation(),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.setData("text/plain",x.id),t(21,S=x.id)}function A(Q,x){Q.preventDefault(),Q.stopPropagation(),Q.dataTransfer.dropEffect="move",j!==x.id&&t(8,j=x.id),Vt(x)&&!a[x.id]&&!k[x.id]&&(k[x.id]=setTimeout(()=>{g&&g(x.id),delete k[x.id]},600));const ue=Q.currentTarget.closest(".workspace-tree-area");if(ue){const ge=ue.getBoundingClientRect(),Se=30;Q.clientY-ge.top{ue.scrollTop-=10},50)):ge.bottom-Q.clientY{ue.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function M(Q,x){const ue=Q.relatedTarget;ue&&Q.currentTarget.contains(ue)||(j===x.id&&t(8,j=""),k[x.id]&&(clearTimeout(k[x.id]),delete k[x.id]),y&&(clearInterval(y),y=null))}function R(Q,x){Q.preventDefault(),Q.stopPropagation(),k[x.id]&&(clearTimeout(k[x.id]),delete k[x.id]),y&&(clearInterval(y),y=null);const ue=Ln(r),ge=Pn(ue),Se=Ju(Q);if(!N(x,Se,ge)){t(8,j=""),t(21,S="");return}b&&b(Se,x.id),t(8,j=""),t(21,S="")}function W(){t(8,j=""),t(21,S="");for(const Q of Object.keys(k))clearTimeout(k[Q]),delete k[Q];y&&(clearInterval(y),y=null)}function B(Q,x){Q.target.closest(".tree-toggle")||Q.target.closest(".tree-icon")||_&&_(x)}function K(Q,x){Vt(x)&&g&&g(x.id)}function Y(Q,x){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),_&&_(x))}function q(Q,x){Q.stopPropagation(),Vt(x)&&g&&g(x.id)}function J(Q,x){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),Q.stopPropagation(),Vt(x)&&g&&g(x.id))}function H(Q,x){(Q.key==="Enter"||Q.key===" ")&&(Q.preventDefault(),_&&_(x))}function U(Q,x,ue){const ge={};function Se(De){for(const Ue of De)ge[Ue.id]=N(Ue,x,ue),Ue.children&&Se(Ue.children)}return Se(Q),ge}function P(Q){bi.call(this,l,Q)}const V=Q=>g&&g(Q.id),z=(Q,x)=>q(x,Q),O=(Q,x)=>J(x,Q),se=Q=>_&&_(Q),ie=(Q,x)=>H(x,Q),$=(Q,x)=>E(x,Q),le=(Q,x)=>A(x,Q),te=(Q,x)=>M(x,Q),ce=(Q,x)=>R(x,Q),pe=(Q,x)=>B(x,Q),ye=(Q,x)=>Y(x,Q),He=(Q,x)=>K(x,Q),Ae=(Q,x)=>v&&v(x,Q);return l.$$set=Q=>{"nodes"in Q&&t(0,r=Q.nodes),"expanded"in Q&&t(1,a=Q.expanded),"selectedNodeId"in Q&&t(2,u=Q.selectedNodeId),"level"in Q&&t(3,d=Q.level),"onSelect"in Q&&t(4,_=Q.onSelect),"onToggle"in Q&&t(5,g=Q.onToggle),"onContextMenu"in Q&&t(6,v=Q.onContextMenu),"onDrop"in Q&&t(7,b=Q.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=Ln(r)),l.$$.dirty[0]&8388608&&t(22,s=Pn(n)),l.$$.dirty[0]&14680064&&t(9,i=U(n,S,s))},[r,a,u,d,_,g,v,b,j,i,E,A,M,R,W,B,K,Y,q,J,H,S,s,n,P,V,z,O,se,ie,$,le,te,ce,pe,ye,He,Ae]}class Pi extends Ze{constructor(e){super(),Xe(this,e,qu,Gu,Qe,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Rn(l){let e,t;return{c(){e=f("div"),t=F(l[4]),o(e,"class","path-info svelte-11u707d")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&16&&G(t,n[4])},d(n){n&&w(e)}}}function zn(l){let e,t;return{c(){e=f("div"),t=F(l[3]),o(e,"class","error-msg svelte-11u707d")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&8&&G(t,n[3])},d(n){n&&w(e)}}}function Yu(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j=p("firstrun.browse")+"",T,D,N,E,A,M,R=(l[2]?p("firstrun.creating"):p("firstrun.create"))+"",W,B,K,Y,q,J,H=l[4]&&Rn(l),U=l[3]&&zn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚒",s=h(),i=f("h1"),i.textContent=`${p("firstrun.title")}`,r=h(),a=f("p"),a.textContent=`${p("firstrun.desc")}`,u=h(),d=f("div"),_=f("label"),_.textContent=`${p("firstrun.pathLabel")}`,g=h(),v=f("div"),b=f("input"),y=h(),S=f("button"),T=F(j),D=h(),H&&H.c(),N=h(),U&&U.c(),E=h(),A=f("div"),M=f("button"),W=F(R),K=h(),Y=f("button"),Y.textContent=`${p("firstrun.quit")}`,o(n,"class","first-run-logo svelte-11u707d"),o(i,"class","svelte-11u707d"),o(a,"class","first-run-desc svelte-11u707d"),o(_,"class","form-label svelte-11u707d"),o(_,"for","vault-path"),o(b,"id","vault-path"),o(b,"type","text"),o(b,"placeholder",k=l[1]||p("firstrun.defaultPath")),b.disabled=l[2],o(b,"class","svelte-11u707d"),o(S,"class","btn"),S.disabled=l[2],o(v,"class","input-row svelte-11u707d"),o(d,"class","form-group svelte-11u707d"),o(M,"class","btn btn-primary btn-lg svelte-11u707d"),M.disabled=B=!l[0].trim()||l[2],o(Y,"class","btn btn-lg svelte-11u707d"),o(A,"class","first-run-actions svelte-11u707d"),o(t,"class","first-run-card svelte-11u707d"),o(e,"class","first-run-screen svelte-11u707d")},m(P,V){C(P,e,V),c(e,t),c(t,n),c(t,s),c(t,i),c(t,r),c(t,a),c(t,u),c(t,d),c(d,_),c(d,g),c(d,v),c(v,b),be(b,l[0]),c(v,y),c(v,S),c(S,T),c(t,D),H&&H.m(t,null),c(t,N),U&&U.m(t,null),c(t,E),c(t,A),c(A,M),c(M,W),c(A,K),c(A,Y),q||(J=[I(b,"input",l[12]),I(b,"input",l[6]),I(b,"keydown",l[9]),I(S,"click",l[5]),I(M,"click",l[7]),I(Y,"click",l[8])],q=!0)},p(P,[V]){V&2&&k!==(k=P[1]||p("firstrun.defaultPath"))&&o(b,"placeholder",k),V&4&&(b.disabled=P[2]),V&1&&b.value!==P[0]&&be(b,P[0]),V&4&&(S.disabled=P[2]),P[4]?H?H.p(P,V):(H=Rn(P),H.c(),H.m(t,N)):H&&(H.d(1),H=null),P[3]?U?U.p(P,V):(U=zn(P),U.c(),U.m(t,E)):U&&(U.d(1),U=null),V&4&&R!==(R=(P[2]?p("firstrun.creating"):p("firstrun.create"))+"")&&G(W,R),V&5&&B!==(B=!P[0].trim()||P[2])&&(M.disabled=B)},i:ee,o:ee,d(P){P&&w(e),H&&H.d(),U&&U.d(),q=!1,ve(J)}}}function Xt(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{onComplete:n=null}=e,{onQuit:s=null}=e,i="",r="",a=!1,u="",d="",_=null;async function g(){try{const T=await Xt("GetDefaultVaultPath");t(1,r=T||""),t(0,i=r||""),i&&await b()}catch{t(1,r="")}}g();async function v(){try{const T=await Xt("PickDirectory");T&&(t(0,i=T),await b())}catch(T){t(3,u=String(T))}}async function b(){if(!i||!i.trim()){t(4,d=""),_=null;return}try{_=await Xt("CheckVaultPath",i.trim()),_&&t(4,d=_.description)}catch{t(4,d=""),_=null}}async function k(){if(!(!i||!i.trim())){if(t(2,a=!0),t(3,u=""),_&&!_.writable){t(3,u=p("firstrun.errorNoWrite")),t(2,a=!1);return}try{const T=await Xt("CreateVault",i.trim());T&&T.status==="ready"&&n&&n(T)}catch(T){t(3,u=String(T))}t(2,a=!1)}}function y(){s&&s()}function S(T){T.key==="Enter"&&!a&&i.trim()&&k()}function j(){i=this.value,t(0,i)}return l.$$set=T=>{"onComplete"in T&&t(10,n=T.onComplete),"onQuit"in T&&t(11,s=T.onQuit)},[i,r,a,u,d,v,b,k,y,S,n,s,j]}class Xu extends Ze{constructor(e){super(),Xe(this,e,Qu,Yu,Qe,{onComplete:10,onQuit:11})}}function Vn(l){let e,t;return{c(){e=f("div"),t=F(l[2]),o(e,"class","error-msg svelte-s3o8c3")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&4&&G(t,n[2])},d(n){n&&w(e)}}}function On(l){let e,t,n,s,i,r,a,u,d=p("common.yes")+"",_,g,v,b,k;return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("recovery.createConfirmTitle")}`,s=h(),i=f("p"),i.textContent=`${p("recovery.createConfirm")}`,r=h(),a=f("div"),u=f("button"),_=F(d),g=h(),v=f("button"),v.textContent=`${p("common.cancel")}`,o(n,"class","svelte-s3o8c3"),o(i,"class","modal-desc svelte-s3o8c3"),o(u,"class","btn btn-primary"),u.disabled=l[1],o(v,"class","btn"),o(a,"class","modal-actions svelte-s3o8c3"),o(t,"class","modal svelte-s3o8c3"),o(e,"class","modal-overlay svelte-s3o8c3"),o(e,"role","button"),o(e,"tabindex","0")},m(y,S){C(y,e,S),c(e,t),c(t,n),c(t,s),c(t,i),c(t,r),c(t,a),c(a,u),c(u,_),c(a,g),c(a,v),b||(k=[I(u,"click",l[6]),I(v,"click",l[7]),I(e,"click",ft(l[7])),I(e,"keydown",l[11])],b=!0)},p(y,S){S&2&&(u.disabled=y[1])},d(y){y&&w(e),b=!1,ve(k)}}}function Zu(l){let e,t,n,s,i,r,a,u,d,_=(l[0]||"—")+"",g,v,b,k,y,S=p("recovery.choose")+"",j,T,D,N=p("recovery.create")+"",E,A,M,R,W,B,K,Y=l[2]&&Vn(l),q=l[3]&&On(l);return{c(){e=f("div"),t=f("div"),n=f("div"),n.textContent="⚠",s=h(),i=f("h1"),i.textContent=`${p("recovery.title")}`,r=h(),a=f("p"),a.textContent=`${p("recovery.expected")}:`,u=h(),d=f("code"),g=F(_),v=h(),Y&&Y.c(),b=h(),k=f("div"),y=f("button"),j=F(S),T=h(),D=f("button"),E=F(N),A=h(),M=f("button"),M.textContent=`${p("recovery.quit")}`,R=h(),q&&q.c(),W=ot(),o(n,"class","recovery-icon svelte-s3o8c3"),o(i,"class","svelte-s3o8c3"),o(a,"class","recovery-desc svelte-s3o8c3"),o(d,"class","recovery-path svelte-s3o8c3"),o(y,"class","btn btn-primary btn-lg svelte-s3o8c3"),y.disabled=l[1],o(D,"class","btn btn-lg svelte-s3o8c3"),D.disabled=l[1],o(M,"class","btn btn-lg svelte-s3o8c3"),o(k,"class","recovery-actions svelte-s3o8c3"),o(t,"class","recovery-card svelte-s3o8c3"),o(e,"class","recovery-screen svelte-s3o8c3")},m(J,H){C(J,e,H),c(e,t),c(t,n),c(t,s),c(t,i),c(t,r),c(t,a),c(t,u),c(t,d),c(d,g),c(t,v),Y&&Y.m(t,null),c(t,b),c(t,k),c(k,y),c(y,j),c(k,T),c(k,D),c(D,E),c(k,A),c(k,M),C(J,R,H),q&&q.m(J,H),C(J,W,H),B||(K=[I(y,"click",l[4]),I(D,"click",l[5]),I(M,"click",l[8])],B=!0)},p(J,[H]){H&1&&_!==(_=(J[0]||"—")+"")&&G(g,_),J[2]?Y?Y.p(J,H):(Y=Vn(J),Y.c(),Y.m(t,b)):Y&&(Y.d(1),Y=null),H&2&&(y.disabled=J[1]),H&2&&(D.disabled=J[1]),J[3]?q?q.p(J,H):(q=On(J),q.c(),q.m(W.parentNode,W)):q&&(q.d(1),q=null)},i:ee,o:ee,d(J){J&&(w(e),w(R),w(W)),Y&&Y.d(),q&&q.d(J),B=!1,ve(K)}}}function Tl(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 xu(l,e,t){let{vaultPath:n=""}=e,{onComplete:s=null}=e,{onQuit:i=null}=e,r=!1,a="",u=!1;async function d(){try{const y=await Tl("PickDirectory");if(!y)return;t(1,r=!0),t(2,a="");const S=await Tl("OpenVault",y);S&&S.status==="ready"&&s&&s(S)}catch(y){t(2,a=String(y))}t(1,r=!1)}function _(){t(3,u=!0)}async function g(){t(3,u=!1),t(1,r=!0),t(2,a="");try{const y=await Tl("CreateVault",n);y&&y.status==="ready"&&s&&s(y)}catch(y){t(2,a=String(y))}t(1,r=!1)}function v(){t(3,u=!1)}function b(){i&&i()}const k=y=>y.key==="Enter"&&v();return l.$$set=y=>{"vaultPath"in y&&t(0,n=y.vaultPath),"onComplete"in y&&t(9,s=y.onComplete),"onQuit"in y&&t(10,i=y.onQuit)},[n,r,a,u,d,_,g,v,b,s,i,k]}class $u extends Ze{constructor(e){super(),Xe(this,e,xu,Zu,Qe,{vaultPath:0,onComplete:9,onQuit:10})}}function Wn(l,e,t){const n=l.slice();return n[5]=e[t],n}function ef(l){let e,t,n;return{c(){e=X("path"),t=X("path"),n=X("path"),o(e,"d","M5 4h12l2 2v14H5z"),o(t,"d","M8 4v6h8V4"),o(n,"d","M8 20v-6h8v6")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},d(s){s&&(w(e),w(t),w(n))}}}function tf(l){let e,t,n,s;return{c(){e=X("path"),t=X("path"),n=X("path"),s=X("path"),o(e,"d","M20 11a8 8 0 0 0-14-4l-2 2"),o(t,"d","M4 5v4h4"),o(n,"d","M4 13a8 8 0 0 0 14 4l2-2"),o(s,"d","M20 19v-4h-4")},m(i,r){C(i,e,r),C(i,t,r),C(i,n,r),C(i,s,r)},d(i){i&&(w(e),w(t),w(n),w(s))}}}function lf(l){let e;return{c(){e=X("path"),o(e,"d","M4 19V9M10 19V5M16 19v-7M22 19H2")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function nf(l){let e;return{c(){e=X("path"),o(e,"d","M3 6h6l2 2h10v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function sf(l){let e,t;return{c(){e=X("path"),t=X("path"),o(e,"d","M9 3v5M15 3v5M7 8h10v3a5 5 0 0 1-10 0V8z"),o(t,"d","M12 16v5")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function of(l){let e,t;return{c(){e=X("rect"),t=X("path"),o(e,"x","4"),o(e,"y","3"),o(e,"width","16"),o(e,"height","18"),o(e,"rx","2"),o(t,"d","M8 7h8M8 11h8M8 15h5")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function rf(l){let e,t,n;return{c(){e=X("path"),t=X("path"),n=X("path"),o(e,"d","M3 10.5 12 3l9 7.5"),o(t,"d","M5 9.5V21h14V9.5"),o(n,"d","M10 21v-6h4v6")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},d(s){s&&(w(e),w(t),w(n))}}}function cf(l){let e,t;return{c(){e=X("circle"),t=X("path"),o(e,"cx","12"),o(e,"cy","12"),o(e,"r","3"),o(t,"d","M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V22h-4v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 0 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H2v-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 0 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V2h4v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 0 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1h.2v4h-.2a1.7 1.7 0 0 0-1.4 1z")},m(n,s){C(n,e,s),C(n,t,s)},d(n){n&&(w(e),w(t))}}}function Bn(l){let e,t,n,s,i,r,a,u;function d(b,k){if(b[5].id==="general")return cf;if(b[5].id==="workspace")return rf;if(b[5].id==="templates")return of;if(b[5].id==="plugins")return sf;if(b[5].id==="files")return nf;if(b[5].id==="activity")return lf;if(b[5].id==="sync")return tf;if(b[5].id==="backup")return ef}let _=d(l),g=_&&_(l);function v(){return l[4](l[5])}return{c(){e=f("button"),t=f("span"),n=X("svg"),g&&g.c(),s=h(),i=f("span"),i.textContent=`${l[5].label}`,r=h(),o(n,"width","16"),o(n,"height","16"),o(n,"viewBox","0 0 24 24"),o(n,"fill","none"),o(n,"stroke","currentColor"),o(n,"stroke-width","1.8"),o(n,"stroke-linecap","round"),o(n,"stroke-linejoin","round"),o(n,"aria-hidden","true"),o(t,"class","settings-nav-icon svelte-1uolm3f"),o(i,"class","settings-nav-label svelte-1uolm3f"),o(e,"class","settings-nav-item svelte-1uolm3f"),he(e,"active",l[0]===l[5].id),he(e,"disabled",l[5].id==="plugins"||l[5].id==="files"||l[5].id==="activity"||l[5].id==="backup")},m(b,k){C(b,e,k),c(e,t),c(t,n),g&&g.m(n,null),c(e,s),c(e,i),c(e,r),a||(u=I(e,"click",v),a=!0)},p(b,k){l=b,k&3&&he(e,"active",l[0]===l[5].id)},d(b){b&&w(e),g&&g.d(),a=!1,u()}}}function af(l){let e,t=fe(l[1]),n=[];for(let s=0;sr(u.id);return l.$$set=u=>{"activeSection"in u&&t(0,n=u.activeSection),"onSelect"in u&&t(3,s=u.onSelect)},[n,i,r,s,a]}class ff extends Ze{constructor(e){super(),Xe(this,e,uf,af,Qe,{activeSection:0,onSelect:3})}}function Hn(l){let e;return{c(){e=f("div"),e.textContent=`${p("settings.saved")}`,o(e,"class","save-notice svelte-1e2uhdh")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function df(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j,T,D,N,E,A,M,R,W,B,K,Y,q,J,H,U,P,V=l[1]&&Hn();return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.general")}`,n=h(),s=f("p"),s.textContent=`${p("settings.generalDesc")}`,i=h(),r=f("div"),a=f("h3"),a.textContent=`${p("settings.appearance")}`,u=h(),d=f("div"),_=f("label"),g=f("span"),g.textContent=`${p("settings.theme")}`,v=h(),b=f("select"),k=f("option"),k.textContent=`${p("settings.themeSystem")}`,y=f("option"),y.textContent=`${p("settings.themeLight")} (${p("settings.langSoon")})`,S=f("option"),S.textContent=`${p("settings.themeDark")} (${p("settings.langSoon")})`,j=h(),T=f("div"),D=f("h3"),D.textContent=`${p("settings.localization")}`,N=h(),E=f("div"),A=f("label"),M=f("span"),M.textContent=`${p("settings.language")}`,R=h(),W=f("select"),B=f("option"),B.textContent=`${p("settings.langRu")}`,K=f("option"),K.textContent=`${p("settings.langEn")} (${p("settings.langSoon")})`,Y=h(),q=f("div"),V&&V.c(),J=h(),H=f("button"),H.textContent=`${p("settings.save")}`,o(t,"class","svelte-1e2uhdh"),o(s,"class","section-desc svelte-1e2uhdh"),o(a,"class","card-title svelte-1e2uhdh"),o(g,"class","label-text svelte-1e2uhdh"),k.__value="system",be(k,k.__value),y.__value="light",be(y,y.__value),y.disabled=!0,S.__value="dark",be(S,S.__value),S.disabled=!0,l[0]===void 0&&wt(()=>l[5].call(b)),o(d,"class","form-group svelte-1e2uhdh"),o(r,"class","settings-card svelte-1e2uhdh"),o(D,"class","card-title svelte-1e2uhdh"),o(M,"class","label-text svelte-1e2uhdh"),B.__value="ru",be(B,B.__value),K.__value="en",be(K,K.__value),W.disabled=!0,o(E,"class","form-group svelte-1e2uhdh"),o(T,"class","settings-card svelte-1e2uhdh"),o(H,"class","btn btn-primary"),o(q,"class","settings-actions svelte-1e2uhdh"),o(e,"class","settings-section svelte-1e2uhdh")},m(z,O){C(z,e,O),c(e,t),c(e,n),c(e,s),c(e,i),c(e,r),c(r,a),c(r,u),c(r,d),c(d,_),c(_,g),c(_,v),c(_,b),c(b,k),c(b,y),c(b,S),pt(b,l[0],!0),c(e,j),c(e,T),c(T,D),c(T,N),c(T,E),c(E,A),c(A,M),c(A,R),c(A,W),c(W,B),c(W,K),c(e,Y),c(e,q),V&&V.m(q,null),c(q,J),c(q,H),U||(P=[I(b,"change",l[5]),I(H,"click",l[2])],U=!0)},p(z,[O]){O&1&&pt(b,z[0]),z[1]?V||(V=Hn(),V.c(),V.m(q,J)):V&&(V.d(1),V=null)},i:ee,o:ee,d(z){z&&w(e),V&&V.d(),U=!1,ve(P)}}}function pf(l,e,t){let{appConfig:n=null}=e,{onSave:s=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),s&&await s(n),t(1,r=!0),setTimeout(()=>t(1,r=!1),2e3))}function d(){i=xt(this),t(0,i)}return l.$$set=_=>{"appConfig"in _&&t(3,n=_.appConfig),"onSave"in _&&t(4,s=_.onSave)},l.$$.update=()=>{l.$$.dirty&8&&n&&a()},[i,r,u,n,s,d]}class mf extends Ze{constructor(e){super(),Xe(this,e,pf,df,Qe,{appConfig:3,onSave:4})}}function Un(l){let e,t;return{c(){e=f("div"),t=F(l[1]),o(e,"class","notice svelte-1zbky3")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s&2&&G(t,n[1])},d(n){n&&w(e)}}}function _f(l){let e;return{c(){e=f("p"),e.textContent=`${p("settings.noVaultInfo")}`,o(e,"class","no-data svelte-1zbky3")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function vf(l){let e,t,n,s,i,r=l[0].path+"",a,u,d,_,g,v,b=l[0].dbPath+"",k,y,S,j=l[0].nodeCount!==void 0&&Kn(l),T=l[0].fileCount!==void 0&&Gn(l);return{c(){e=f("div"),t=f("div"),n=f("span"),n.textContent=`${p("settings.vaultPath")}`,s=h(),i=f("span"),a=F(r),u=h(),d=f("div"),_=f("span"),_.textContent="DB",g=h(),v=f("span"),k=F(b),y=h(),j&&j.c(),S=h(),T&&T.c(),o(n,"class","info-label svelte-1zbky3"),o(i,"class","info-value mono svelte-1zbky3"),o(t,"class","info-row svelte-1zbky3"),o(_,"class","info-label svelte-1zbky3"),o(v,"class","info-value mono small svelte-1zbky3"),o(d,"class","info-row svelte-1zbky3"),o(e,"class","vault-info svelte-1zbky3")},m(D,N){C(D,e,N),c(e,t),c(t,n),c(t,s),c(t,i),c(i,a),c(e,u),c(e,d),c(d,_),c(d,g),c(d,v),c(v,k),c(e,y),j&&j.m(e,null),c(e,S),T&&T.m(e,null)},p(D,N){N&1&&r!==(r=D[0].path+"")&&G(a,r),N&1&&b!==(b=D[0].dbPath+"")&&G(k,b),D[0].nodeCount!==void 0?j?j.p(D,N):(j=Kn(D),j.c(),j.m(e,S)):j&&(j.d(1),j=null),D[0].fileCount!==void 0?T?T.p(D,N):(T=Gn(D),T.c(),T.m(e,null)):T&&(T.d(1),T=null)},d(D){D&&w(e),j&&j.d(),T&&T.d()}}}function Kn(l){let e,t,n,s,i=l[0].nodeCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Nodes",n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1zbky3"),o(s,"class","info-value svelte-1zbky3"),o(e,"class","info-row svelte-1zbky3")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u&1&&i!==(i=a[0].nodeCount+"")&&G(r,i)},d(a){a&&w(e)}}}function Gn(l){let e,t,n,s,i=l[0].fileCount+"",r;return{c(){e=f("div"),t=f("span"),t.textContent="Files",n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1zbky3"),o(s,"class","info-value svelte-1zbky3"),o(e,"class","info-row svelte-1zbky3")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u&1&&i!==(i=a[0].fileCount+"")&&G(r,i)},d(a){a&&w(e)}}}function gf(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j=l[1]&&Un(l);function T(E,A){return E[0]?vf:_f}let D=T(l),N=D(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.workspace")}`,n=h(),s=f("p"),s.textContent=`${p("settings.workspaceDesc")}`,i=h(),j&&j.c(),r=h(),a=f("div"),N.c(),u=h(),d=f("div"),_=f("button"),_.textContent=`${p("settings.openVault")}`,g=h(),v=f("button"),v.textContent=`${p("settings.changeVault")}`,b=h(),k=f("button"),k.textContent=`${p("settings.checkIntegrity")}`,o(t,"class","svelte-1zbky3"),o(s,"class","section-desc svelte-1zbky3"),o(a,"class","settings-card svelte-1zbky3"),o(_,"class","btn svelte-1zbky3"),o(v,"class","btn svelte-1zbky3"),o(k,"class","btn svelte-1zbky3"),o(d,"class","workspace-actions svelte-1zbky3"),o(e,"class","settings-section svelte-1zbky3")},m(E,A){C(E,e,A),c(e,t),c(e,n),c(e,s),c(e,i),j&&j.m(e,null),c(e,r),c(e,a),N.m(a,null),c(e,u),c(e,d),c(d,_),c(d,g),c(d,v),c(d,b),c(d,k),y||(S=[I(_,"click",l[2]),I(v,"click",l[4]),I(k,"click",l[3])],y=!0)},p(E,[A]){E[1]?j?j.p(E,A):(j=Un(E),j.c(),j.m(e,r)):j&&(j.d(1),j=null),D===(D=T(E))&&N?N.p(E,A):(N.d(1),N=D(E),N&&(N.c(),N.m(a,null)))},i:ee,o:ee,d(E){E&&w(e),j&&j.d(),N.d(),y=!1,ve(S)}}}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 hf(l,e,t){let{onRefresh:n=null}=e,s=null,i="";async function r(){try{t(0,s=await Mt("GetVaultInfo"))}catch{t(0,s=null)}}r();async function a(){try{await Mt("OpenVaultFolder")}catch(_){t(1,i=String(_))}}async function u(){try{const _=await Mt("VaultCheck");_.healthy?t(1,i="Vault healthy"):t(1,i="Issues found: "+(_.errors||[]).join("; "))}catch(_){t(1,i=String(_))}}async function d(){try{const _=await Mt("PickDirectory");if(!_)return;const g=await Mt("OpenVault",_);g&&g.status==="ready"&&(t(0,s=await Mt("GetVaultInfo")),n&&n())}catch(_){t(1,i=String(_))}}return l.$$set=_=>{"onRefresh"in _&&t(5,n=_.onRefresh)},[s,i,a,u,d,n]}class bf extends Ze{constructor(e){super(),Xe(this,e,hf,gf,Qe,{onRefresh:5})}}function Jn(l,e,t){const n=l.slice();return n[6]=e[t],n}function kf(l){let e,t=fe(l[0]),n=[];for(let s=0;sa(d);return l.$$set=d=>{"onRefresh"in d&&t(3,n=d.onRefresh)},[s,i,a,n,u]}class jf extends Ze{constructor(e){super(),Xe(this,e,Sf,Cf,Qe,{onRefresh:3})}}function Tf(l){let e,t,n,s,i,r,a,u;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.plugins")}`,n=h(),s=f("p"),s.textContent=`${p("settings.noPlugins")}`,i=h(),r=f("button"),r.textContent=`${p("settings.openPluginsDir")}`,o(t,"class","svelte-8jch95"),o(s,"class","section-desc svelte-8jch95"),o(r,"class","btn"),o(e,"class","settings-section svelte-8jch95")},m(d,_){C(d,e,_),c(e,t),c(e,n),c(e,s),c(e,i),c(e,r),a||(u=I(r,"click",Nf),a=!0)},p:ee,i:ee,o:ee,d(d){d&&w(e),a=!1,u()}}}function Ef(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 Nf(){try{await Ef("OpenPluginsFolder")}catch{}}class Df extends Ze{constructor(e){super(),Xe(this,e,null,Tf,Qe,{})}}function Mf(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.files")}`,n=h(),s=f("p"),s.textContent=`${p("settings.filesStub")}`,o(t,"class","svelte-19bo7bn"),o(s,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(i,r){C(i,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class If extends Ze{constructor(e){super(),Xe(this,e,null,Mf,Qe,{})}}function Af(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.activity")}`,n=h(),s=f("p"),s.textContent=`${p("settings.activityStub")}`,o(t,"class","svelte-19bo7bn"),o(s,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(i,r){C(i,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class Ff extends Ze{constructor(e){super(),Xe(this,e,null,Af,Qe,{})}}function Qn(l){let e,t;return{c(){e=f("div"),t=F(l[2]),o(e,"class","error-msg svelte-1fx1e1e")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[0]&4&&G(t,n[2])},d(n){n&&w(e)}}}function Xn(l){let e,t;return{c(){e=f("div"),t=F(l[3]),o(e,"class","result-msg svelte-1fx1e1e"),he(e,"warning",l[4]==="warning")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[0]&8&&G(t,n[3]),s[0]&16&&he(e,"warning",n[4]==="warning")},d(n){n&&w(e)}}}function Pf(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j,T,D,N,E,A,M=p("settings.checkConnection")+"",R,W,B,K,Y=p("common.connect")+"",q,J,H,U,P,V=l[11]!==null&&Zn(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("label"),i=f("span"),i.textContent=`${p("settings.serverUrl")}`,r=h(),a=f("input"),u=h(),d=f("div"),_=f("label"),g=f("span"),g.textContent=`${p("sync.username")}`,v=h(),b=f("input"),k=h(),y=f("div"),S=f("label"),j=f("span"),j.textContent=`${p("sync.password")}`,T=h(),D=f("input"),N=h(),E=f("div"),A=f("button"),R=F(M),B=h(),K=f("button"),q=F(Y),H=h(),V&&V.c(),o(i,"class","label-text"),o(a,"type","text"),o(a,"placeholder","https://example.com"),o(n,"class","form-group svelte-1fx1e1e"),o(g,"class","label-text"),o(b,"type","text"),o(d,"class","form-group svelte-1fx1e1e"),o(j,"class","label-text"),o(D,"type","password"),o(y,"class","form-group svelte-1fx1e1e"),o(A,"class","btn"),A.disabled=W=l[1]||!l[5],o(K,"class","btn btn-primary"),K.disabled=J=l[1]||!l[5]||!l[6]||!l[7],o(E,"class","sync-setup-actions svelte-1fx1e1e"),o(t,"class","sync-setup svelte-1fx1e1e"),o(e,"class","settings-card svelte-1fx1e1e")},m(z,O){C(z,e,O),c(e,t),c(t,n),c(n,s),c(s,i),c(s,r),c(s,a),be(a,l[5]),c(t,u),c(t,d),c(d,_),c(_,g),c(_,v),c(_,b),be(b,l[6]),c(t,k),c(t,y),c(y,S),c(S,j),c(S,T),c(S,D),be(D,l[7]),c(t,N),c(t,E),c(E,A),c(A,R),c(E,B),c(E,K),c(K,q),c(t,H),V&&V.m(t,null),U||(P=[I(a,"input",l[23]),I(b,"input",l[24]),I(D,"input",l[25]),I(A,"click",l[12]),I(K,"click",l[13])],U=!0)},p(z,O){O[0]&32&&a.value!==z[5]&&be(a,z[5]),O[0]&64&&b.value!==z[6]&&be(b,z[6]),O[0]&128&&D.value!==z[7]&&be(D,z[7]),O[0]&34&&W!==(W=z[1]||!z[5])&&(A.disabled=W),O[0]&226&&J!==(J=z[1]||!z[5]||!z[6]||!z[7])&&(K.disabled=J),z[11]!==null?V?V.p(z,O):(V=Zn(z),V.c(),V.m(t,null)):V&&(V.d(1),V=null)},d(z){z&&w(e),V&&V.d(),U=!1,ve(P)}}}function Lf(l){let e,t,n,s,i,r,a=l[20](l[0].lastStatus)+"",u,d,_,g,v,b,k,y,S,j=p("settings.syncNow")+"",T,D,N,E=p("settings.disconnect")+"",A,M,R,W=p("settings.resetKey")+"",B,K,Y,q,J,H,U,P,V,z,O,se,ie=l[0].serverUrl&&xn(l),$=l[0].deviceName&&$n(l),le=l[0].deviceId&&es(l),te=l[0].lastSyncAt&&ts(l),ce=l[0].lastError&&ls(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("span"),s.textContent=`${p("settings.status")}`,i=h(),r=f("span"),u=F(a),d=h(),ie&&ie.c(),_=h(),$&&$.c(),g=h(),le&&le.c(),v=h(),te&&te.c(),b=h(),ce&&ce.c(),k=h(),y=f("div"),S=f("button"),T=F(j),D=h(),N=f("button"),A=F(E),M=h(),R=f("button"),B=F(W),K=h(),Y=f("div"),q=f("label"),J=f("span"),J.textContent=`${p("sync.interval")}`,H=h(),U=f("div"),P=f("input"),V=h(),z=f("button"),z.textContent=`${p("common.save")}`,o(s,"class","info-label svelte-1fx1e1e"),o(r,"class","info-value svelte-1fx1e1e"),he(r,"status-ok",l[0].lastStatus==="connected"),he(r,"status-err",l[0].lastStatus==="error"||l[0].lastStatus==="revoked"),o(n,"class","info-row svelte-1fx1e1e"),o(t,"class","sync-info svelte-1fx1e1e"),o(e,"class","settings-card svelte-1fx1e1e"),o(S,"class","btn btn-primary"),S.disabled=l[1],o(N,"class","btn"),N.disabled=l[1],o(R,"class","btn"),R.disabled=l[1],o(y,"class","sync-actions svelte-1fx1e1e"),o(J,"class","label-text"),o(P,"type","number"),o(P,"min","0"),o(P,"placeholder","0"),o(P,"class","svelte-1fx1e1e"),o(z,"class","btn btn-sm"),o(U,"class","interval-row svelte-1fx1e1e"),o(Y,"class","sync-interval svelte-1fx1e1e")},m(pe,ye){C(pe,e,ye),c(e,t),c(t,n),c(n,s),c(n,i),c(n,r),c(r,u),c(t,d),ie&&ie.m(t,null),c(t,_),$&&$.m(t,null),c(t,g),le&&le.m(t,null),c(t,v),te&&te.m(t,null),c(t,b),ce&&ce.m(t,null),C(pe,k,ye),C(pe,y,ye),c(y,S),c(S,T),c(y,D),c(y,N),c(N,A),c(y,M),c(y,R),c(R,B),C(pe,K,ye),C(pe,Y,ye),c(Y,q),c(q,J),c(q,H),c(q,U),c(U,P),be(P,l[8]),c(U,V),c(U,z),O||(se=[I(S,"click",l[14]),I(N,"click",l[16]),I(R,"click",l[18]),I(P,"input",l[22]),I(z,"click",l[15])],O=!0)},p(pe,ye){ye[0]&1&&a!==(a=pe[20](pe[0].lastStatus)+"")&&G(u,a),ye[0]&1&&he(r,"status-ok",pe[0].lastStatus==="connected"),ye[0]&1&&he(r,"status-err",pe[0].lastStatus==="error"||pe[0].lastStatus==="revoked"),pe[0].serverUrl?ie?ie.p(pe,ye):(ie=xn(pe),ie.c(),ie.m(t,_)):ie&&(ie.d(1),ie=null),pe[0].deviceName?$?$.p(pe,ye):($=$n(pe),$.c(),$.m(t,g)):$&&($.d(1),$=null),pe[0].deviceId?le?le.p(pe,ye):(le=es(pe),le.c(),le.m(t,v)):le&&(le.d(1),le=null),pe[0].lastSyncAt?te?te.p(pe,ye):(te=ts(pe),te.c(),te.m(t,b)):te&&(te.d(1),te=null),pe[0].lastError?ce?ce.p(pe,ye):(ce=ls(pe),ce.c(),ce.m(t,null)):ce&&(ce.d(1),ce=null),ye[0]&2&&(S.disabled=pe[1]),ye[0]&2&&(N.disabled=pe[1]),ye[0]&2&&(R.disabled=pe[1]),ye[0]&256&&ll(P.value)!==pe[8]&&be(P,pe[8])},d(pe){pe&&(w(e),w(k),w(y),w(K),w(Y)),ie&&ie.d(),$&&$.d(),le&&le.d(),te&&te.d(),ce&&ce.d(),O=!1,ve(se)}}}function Zn(l){let e,t=(l[11]?p("common.test")+" OK":p("error.generic"))+"",n;return{c(){e=f("div"),n=F(t),o(e,"class","connection-result svelte-1fx1e1e"),he(e,"ok",l[11]),he(e,"fail",!l[11])},m(s,i){C(s,e,i),c(e,n)},p(s,i){i[0]&2048&&t!==(t=(s[11]?p("common.test")+" OK":p("error.generic"))+"")&&G(n,t),i[0]&2048&&he(e,"ok",s[11]),i[0]&2048&&he(e,"fail",!s[11])},d(s){s&&w(e)}}}function xn(l){let e,t,n,s,i=l[0].serverUrl+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.serverUrl")}`,n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1fx1e1e"),o(s,"class","info-value mono svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&1&&i!==(i=a[0].serverUrl+"")&&G(r,i)},d(a){a&&w(e)}}}function $n(l){let e,t,n,s,i=l[0].deviceName+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceName")}`,n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1fx1e1e"),o(s,"class","info-value svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&1&&i!==(i=a[0].deviceName+"")&&G(r,i)},d(a){a&&w(e)}}}function es(l){let e,t,n,s,i=l[0].deviceId+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.deviceId")}`,n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1fx1e1e"),o(s,"class","info-value mono svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&1&&i!==(i=a[0].deviceId+"")&&G(r,i)},d(a){a&&w(e)}}}function ts(l){let e,t,n,s,i=l[0].lastSyncAt+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastSync")}`,n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1fx1e1e"),o(s,"class","info-value svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&1&&i!==(i=a[0].lastSyncAt+"")&&G(r,i)},d(a){a&&w(e)}}}function ls(l){let e,t,n,s,i=l[0].lastError+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("settings.lastError")}`,n=h(),s=f("span"),r=F(i),o(t,"class","info-label svelte-1fx1e1e"),o(s,"class","info-value error svelte-1fx1e1e"),o(e,"class","info-row svelte-1fx1e1e")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&1&&i!==(i=a[0].lastError+"")&&G(r,i)},d(a){a&&w(e)}}}function ns(l){let e,t,n,s,i,r,a,u,d,_,g,v;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmDisconnect")}`,s=h(),i=f("p"),i.textContent=`${p("settings.confirmDisconnectDesc")}`,r=h(),a=f("div"),u=f("button"),u.textContent=`${p("common.disconnect")}`,d=h(),_=f("button"),_.textContent=`${p("common.cancel")}`,o(n,"class","svelte-1fx1e1e"),o(i,"class","modal-desc svelte-1fx1e1e"),o(u,"class","btn btn-danger"),o(_,"class","btn"),o(a,"class","modal-actions svelte-1fx1e1e"),o(t,"class","modal svelte-1fx1e1e"),o(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(t,s),c(t,i),c(t,r),c(t,a),c(a,u),c(a,d),c(a,_),g||(v=[I(u,"click",l[17]),I(_,"click",l[26]),I(e,"click",l[27])],g=!0)},p:ee,d(b){b&&w(e),g=!1,ve(v)}}}function ss(l){let e,t,n,s,i,r,a,u,d,_,g,v;return{c(){e=f("button"),t=f("div"),n=f("h3"),n.textContent=`${p("settings.confirmResetKey")}`,s=h(),i=f("p"),i.textContent=`${p("settings.confirmResetKeyDesc")}`,r=h(),a=f("div"),u=f("button"),u.textContent=`${p("settings.resetKey")}`,d=h(),_=f("button"),_.textContent=`${p("common.cancel")}`,o(n,"class","svelte-1fx1e1e"),o(i,"class","modal-desc svelte-1fx1e1e"),o(u,"class","btn btn-danger"),o(_,"class","btn"),o(a,"class","modal-actions svelte-1fx1e1e"),o(t,"class","modal svelte-1fx1e1e"),o(e,"class","modal-overlay svelte-1fx1e1e")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(t,s),c(t,i),c(t,r),c(t,a),c(a,u),c(a,d),c(a,_),g||(v=[I(u,"click",l[19]),I(_,"click",l[28]),I(e,"click",l[29])],g=!0)},p:ee,d(b){b&&w(e),g=!1,ve(v)}}}function Rf(l){let e,t,n,s,i,r,a,u,d,_,g=l[2]&&Qn(l),v=l[3]&&!l[2]&&Xn(l);function b(T,D){return T[0]&&T[0].enabled?Lf:Pf}let k=b(l),y=k(l),S=l[9]&&ns(l),j=l[10]&&ss(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.sync")}`,n=h(),s=f("p"),s.textContent=`${p("settings.syncDesc")}`,i=h(),g&&g.c(),r=h(),v&&v.c(),a=h(),y.c(),u=h(),S&&S.c(),d=h(),j&&j.c(),_=ot(),o(t,"class","svelte-1fx1e1e"),o(s,"class","section-desc svelte-1fx1e1e"),o(e,"class","settings-section svelte-1fx1e1e")},m(T,D){C(T,e,D),c(e,t),c(e,n),c(e,s),c(e,i),g&&g.m(e,null),c(e,r),v&&v.m(e,null),c(e,a),y.m(e,null),C(T,u,D),S&&S.m(T,D),C(T,d,D),j&&j.m(T,D),C(T,_,D)},p(T,D){T[2]?g?g.p(T,D):(g=Qn(T),g.c(),g.m(e,r)):g&&(g.d(1),g=null),T[3]&&!T[2]?v?v.p(T,D):(v=Xn(T),v.c(),v.m(e,a)):v&&(v.d(1),v=null),k===(k=b(T))&&y?y.p(T,D):(y.d(1),y=k(T),y&&(y.c(),y.m(e,null))),T[9]?S?S.p(T,D):(S=ns(T),S.c(),S.m(d.parentNode,d)):S&&(S.d(1),S=null),T[10]?j?j.p(T,D):(j=ss(T),j.c(),j.m(_.parentNode,_)):j&&(j.d(1),j=null)},i:ee,o:ee,d(T){T&&(w(e),w(u),w(d),w(_)),g&&g.d(),v&&v.d(),y.d(),S&&S.d(T),j&&j.d(T)}}}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 zf(l,e,t){let{onRefresh:n=null}=e,s=null,i=!1,r="",a="",u="",d="",_="",g="",v=0,b=!1,k=!1,y=null;async function S(){try{t(0,s=await kt("GetSyncSettings")),s&&(t(5,d=s.serverUrl||""),t(8,v=s.syncInterval||0))}catch{t(0,s=null)}}S();async function j(){t(1,i=!0),t(2,r=""),t(4,u=""),t(11,y=null);try{await kt("SyncTestConnection",d,_,g),t(11,y=!0),t(3,a="connection ok")}catch(z){t(11,y=!1),t(3,a="connection failed: "+String(z))}t(1,i=!1)}async function T(){t(1,i=!0),t(2,r=""),t(4,u="");try{await kt("SyncConfigure",d,_,g),t(3,a="configured"),t(6,_=""),t(7,g=""),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,i=!1)}function D(z){const O=Array.isArray(z==null?void 0:z.conflicts)?z.conflicts:[],se=Array.isArray(z==null?void 0:z.applyErrors)?z.applyErrors:[],ie=[];return O.length>0&&ie.push(p("sync.conflictsCount",{count:O.length})),se.length>0&&ie.push(p("sync.applyErrorsCount",{count:se.length})),ie.join(" · ")}async function N(){t(1,i=!0),t(2,r=""),t(4,u="");try{const z=await kt("SyncNow"),O=p("sync.pushedPulled",{pushed:(z==null?void 0:z.pushed)||0,pulled:(z==null?void 0:z.pulled)||0}),se=D(z);t(3,a=se?O+" · "+se:O),t(4,u=se?"warning":""),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,i=!1)}async function E(){try{await kt("SyncSetInterval",v),t(3,a=p("sync.settingsSaved")),t(4,u="")}catch(z){t(2,r=String(z))}}function A(){t(9,b=!0)}async function M(){t(9,b=!1),t(1,i=!0),t(4,u="");try{await kt("SyncDisconnect"),t(3,a="disconnected"),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,i=!1)}function R(){t(10,k=!0)}async function W(){t(10,k=!1),t(1,i=!0),t(4,u="");try{await kt("ResetSyncKey"),t(3,a="key reset"),await S(),n&&n()}catch(z){t(2,r=String(z))}t(1,i=!1)}function B(z){return z?{connected:p("settings.connected"),disconnected:p("settings.disconnected"),disabled:p("settings.notConfigured"),error:p("settings.error"),revoked:p("settings.revoked")}[z]||z:p("settings.notConfigured")}function K(){v=ll(this.value),t(8,v)}function Y(){d=this.value,t(5,d)}function q(){_=this.value,t(6,_)}function J(){g=this.value,t(7,g)}const H=()=>t(9,b=!1),U=()=>t(9,b=!1),P=()=>t(10,k=!1),V=()=>t(10,k=!1);return l.$$set=z=>{"onRefresh"in z&&t(21,n=z.onRefresh)},[s,i,r,a,u,d,_,g,v,b,k,y,j,T,N,E,A,M,R,W,B,n,K,Y,q,J,H,U,P,V]}class Vf extends Ze{constructor(e){super(),Xe(this,e,zf,Rf,Qe,{onRefresh:21},null,[-1,-1])}}function Of(l){let e,t,n,s;return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("settings.backup")}`,n=h(),s=f("p"),s.textContent=`${p("settings.backupStub")}`,o(t,"class","svelte-19bo7bn"),o(s,"class","section-desc svelte-19bo7bn"),o(e,"class","settings-section svelte-19bo7bn")},m(i,r){C(i,e,r),c(e,t),c(e,n),c(e,s)},p:ee,i:ee,o:ee,d(i){i&&w(e)}}}class Wf extends Ze{constructor(e){super(),Xe(this,e,null,Of,Qe,{})}}const{window:Bf}=Il;function Hf(l){let e,t;return e=new Wf({}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Uf(l){let e,t;return e=new Vf({props:{onRefresh:l[6]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Kf(l){let e,t;return e=new Ff({}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Gf(l){let e,t;return e=new If({}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Jf(l){let e,t;return e=new Df({}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function qf(l){let e,t;return e=new jf({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Yf(l){let e,t;return e=new bf({props:{onRefresh:l[2]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Qf(l){let e,t;return e=new mf({props:{appConfig:l[1],onSave:l[5]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p(n,s){const i={};s&2&&(i.appConfig=n[1]),e.$set(i)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function Xf(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S;d=new ff({props:{activeSection:l[0],onSelect:l[3]}});const j=[Qf,Yf,qf,Jf,Gf,Kf,Uf,Hf],T=[];function D(N,E){return N[0]==="general"?0:N[0]==="workspace"?1:N[0]==="templates"?2:N[0]==="plugins"?3:N[0]==="files"?4:N[0]==="activity"?5:N[0]==="sync"?6:N[0]==="backup"?7:-1}return~(v=D(l))&&(b=T[v]=j[v](l)),{c(){e=f("button"),t=f("div"),n=f("div"),s=f("h2"),s.textContent=`${p("settings.title")}`,i=h(),r=f("button"),r.innerHTML='',a=h(),u=f("div"),Ke(d.$$.fragment),_=h(),g=f("div"),b&&b.c(),o(s,"class","svelte-zf2zsc"),o(r,"class","close-btn svelte-zf2zsc"),o(r,"title",p("settings.close")),o(n,"class","settings-header svelte-zf2zsc"),o(g,"class","settings-content svelte-zf2zsc"),o(u,"class","settings-body svelte-zf2zsc"),o(t,"class","settings-window svelte-zf2zsc"),o(e,"class","settings-overlay svelte-zf2zsc")},m(N,E){C(N,e,E),c(e,t),c(t,n),c(n,s),c(n,i),c(n,r),c(t,a),c(t,u),We(d,u,null),c(u,_),c(u,g),~v&&T[v].m(g,null),k=!0,y||(S=[I(Bf,"keydown",l[7]),I(r,"click",l[4]),I(e,"click",ft(l[4]))],y=!0)},p(N,[E]){const A={};E&1&&(A.activeSection=N[0]),d.$set(A);let M=v;v=D(N),v===M?~v&&T[v].p(N,E):(b&&(lt(),de(T[M],1,1,()=>{T[M]=null}),nt()),~v?(b=T[v],b?b.p(N,E):(b=T[v]=j[v](N),b.c()),re(b,1),b.m(g,null)):b=null)},i(N){k||(re(d.$$.fragment,N),re(b),k=!0)},o(N){de(d.$$.fragment,N),de(b),k=!1},d(N){N&&w(e),Be(d),~v&&T[v].d(),y=!1,ve(S)}}}function os(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:s=null}=e,{initialSection:i="general"}=e,r=i,a=null;async function u(){try{t(1,a=await os("GetAppConfig"))}catch{t(1,a=null)}}u();function d(k){t(0,r=k)}function _(){n&&n()}async function g(k){try{await os("SaveAppConfig",k),t(1,a=k)}catch(y){console.error(y)}}function v(){s&&s()}function b(k){k.key==="Escape"&&_()}return l.$$set=k=>{"onClose"in k&&t(8,n=k.onClose),"onSyncRefresh"in k&&t(9,s=k.onSyncRefresh),"initialSection"in k&&t(10,i=k.initialSection)},[r,a,u,d,_,g,v,b,n,s,i]}class xf extends Ze{constructor(e){super(),Xe(this,e,Zf,Xf,Qe,{onClose:8,onSyncRefresh:9,initialSection:10})}}function $f(l){let e,t,n,s,i,r,a,u;return{c(){e=f("div"),t=f("span"),n=h(),s=f("span"),s.textContent=`${p("sync.status.disabled")}`,i=h(),r=f("button"),r.textContent=`${p("sync.configure")}`,o(t,"class","sync-dot dot-disabled svelte-1rxbx0"),o(s,"class","sync-label svelte-1rxbx0"),o(r,"class","btn btn-xs svelte-1rxbx0"),o(e,"class","sync-status-row svelte-1rxbx0")},m(d,_){C(d,e,_),c(e,t),c(e,n),c(e,s),c(e,i),c(e,r),a||(u=I(r,"click",function(){mt(l[5])&&l[5].apply(this,arguments)}),a=!0)},p(d,_){l=d},d(d){d&&w(e),a=!1,u()}}}function ed(l){let e,t,n,s,i,r=l[7](l[0])+"",a,u,d,_,g,v=(l[1]?p("sync.running"):p("sync.run"))+"",b,k,y,S,j,T,D,N=l[0].unpushedOps>0&&is(l),E=l[2]&&rs(l);return{c(){e=f("div"),t=f("span"),s=h(),i=f("span"),a=F(r),u=h(),N&&N.c(),d=h(),_=f("div"),g=f("button"),b=F(v),k=h(),y=f("button"),y.textContent=`${p("sync.details")}`,S=h(),E&&E.c(),j=ot(),o(t,"class",n="sync-dot "+l[6](l[0])+" svelte-1rxbx0"),o(i,"class","sync-label svelte-1rxbx0"),o(g,"class","btn btn-xs svelte-1rxbx0"),g.disabled=l[1],o(y,"class","btn btn-xs btn-link svelte-1rxbx0"),o(_,"class","sync-actions-row svelte-1rxbx0"),o(e,"class","sync-status-row svelte-1rxbx0")},m(A,M){C(A,e,M),c(e,t),c(e,s),c(e,i),c(i,a),c(e,u),N&&N.m(e,null),c(e,d),c(e,_),c(_,g),c(g,b),c(_,k),c(_,y),C(A,S,M),E&&E.m(A,M),C(A,j,M),T||(D=[I(g,"click",function(){mt(l[4])&&l[4].apply(this,arguments)}),I(y,"click",function(){mt(l[5])&&l[5].apply(this,arguments)})],T=!0)},p(A,M){l=A,M&1&&n!==(n="sync-dot "+l[6](l[0])+" svelte-1rxbx0")&&o(t,"class",n),M&1&&r!==(r=l[7](l[0])+"")&&G(a,r),l[0].unpushedOps>0?N?N.p(l,M):(N=is(l),N.c(),N.m(e,d)):N&&(N.d(1),N=null),M&2&&v!==(v=(l[1]?p("sync.running"):p("sync.run"))+"")&&G(b,v),M&2&&(g.disabled=l[1]),l[2]?E?E.p(l,M):(E=rs(l),E.c(),E.m(j.parentNode,j)):E&&(E.d(1),E=null)},d(A){A&&(w(e),w(S),w(j)),N&&N.d(),E&&E.d(A),T=!1,ve(D)}}}function is(l){let e,t=l[0].unpushedOps+"",n,s,i=p("sync.changes")+"",r;return{c(){e=f("span"),n=F(t),s=h(),r=F(i),o(e,"class","sync-count svelte-1rxbx0")},m(a,u){C(a,e,u),c(e,n),c(e,s),c(e,r)},p(a,u){u&1&&t!==(t=a[0].unpushedOps+"")&&G(n,t)},d(a){a&&w(e)}}}function rs(l){let e,t,n;return{c(){e=f("div"),t=F(l[2]),o(e,"class",n=yn(l[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")},m(s,i){C(s,e,i),c(e,t)},p(s,i){i&4&&G(t,s[2]),i&8&&n!==(n=yn(s[3]==="warning"?"sync-message sync-message-warning":"sync-message")+" svelte-1rxbx0")&&o(e,"class",n)},d(s){s&&w(e)}}}function td(l){let e;function t(i,r){var a;return(a=i[0])!=null&&a.configured?ed:$f}let n=t(l),s=n(l);return{c(){e=f("div"),s.c(),o(e,"class","sync-status-widget svelte-1rxbx0")},m(i,r){C(i,e,r),s.m(e,null)},p(i,[r]){n===(n=t(i))&&s?s.p(i,r):(s.d(1),s=n(i),s&&(s.c(),s.m(e,null)))},i:ee,o:ee,d(i){i&&w(e),s.d()}}}function ld(l,e,t){let{syncStatus:n=null}=e,{syncLoading:s=!1}=e,{syncMessage:i=""}=e,{syncMessageKind:r=""}=e,{onSync:a=null}=e,{onOpenSettings:u=null}=e;function d(g){return!g||!g.configured?"dot-disabled":s?"dot-syncing":g.revoked?"dot-disabled":g.connected?"dot-connected":g.configured?"dot-warning":"dot-disabled"}function _(g){return!g||!g.configured?p("sync.status.disabled"):s?p("sync.status.syncing"):g.revoked?p("sync.status.error"):g.connected?p("sync.status.connected"):p("sync.status.disconnected")}return l.$$set=g=>{"syncStatus"in g&&t(0,n=g.syncStatus),"syncLoading"in g&&t(1,s=g.syncLoading),"syncMessage"in g&&t(2,i=g.syncMessage),"syncMessageKind"in g&&t(3,r=g.syncMessageKind),"onSync"in g&&t(4,a=g.onSync),"onOpenSettings"in g&&t(5,u=g.onOpenSettings)},[n,s,i,r,a,u,d,_]}class nd extends Ze{constructor(e){super(),Xe(this,e,ld,td,Qe,{syncStatus:0,syncLoading:1,syncMessage:2,syncMessageKind:3,onSync:4,onOpenSettings:5})}}const{Boolean:Li}=Il;function cs(l,e,t){const n=l.slice();return n[310]=e[t],n}function as(l,e,t){const n=l.slice();return n[313]=e[t],n}function us(l,e,t){const n=l.slice();return n[313]=e[t],n}function fs(l,e,t){const n=l.slice();return n[334]=e[t],n}function ds(l,e,t){const n=l.slice();return n[334]=e[t],n}function ps(l,e,t){const n=l.slice();return n[365]=e[t],n}function ms(l,e,t){const n=l.slice();return n[334]=e[t],n}function _s(l,e,t){const n=l.slice();return n[337]=e[t],n[370]=e,n[371]=t,n}function vs(l,e,t){const n=l.slice();return n[334]=e[t],n}function gs(l,e,t){const n=l.slice();return n[347]=e[t],n}function hs(l,e,t){const n=l.slice();return n[334]=e[t],n}function bs(l,e,t){const n=l.slice();return n[352]=e[t],n}function ks(l,e,t){const n=l.slice();return n[352]=e[t],n}function ys(l,e,t){const n=l.slice();return n[337]=e[t],n[357]=e,n[358]=t,n}function ws(l,e,t){const n=l.slice();return n[334]=e[t],n}function Cs(l,e,t){const n=l.slice();return n[347]=e[t],n}function Ss(l,e,t){const n=l.slice();return n[334]=e[t],n}function js(l,e,t){const n=l.slice();return n[318]=e[t],n}function Ts(l,e,t){const n=l.slice();return n[334]=e[t],n}function Es(l,e,t){const n=l.slice();return n[337]=e[t],n[338]=e,n[339]=t,n}function Ns(l,e,t){const n=l.slice();return n[334]=e[t],n}function Ds(l,e,t){const n=l.slice();return n[329]=e[t],n}function Ms(l,e,t){const n=l.slice();return n[326]=e[t],n}function Is(l,e,t){const n=l.slice();return n[321]=e[t],n}function As(l,e,t){const n=l.slice();return n[318]=e[t],n}function Fs(l,e,t){const n=l.slice();return n[321]=e[t],n}function Ps(l,e,t){const n=l.slice();return n[344]=e[t],n}function Ls(l,e,t){const n=l.slice();return n[376]=e[t],n}function Rs(l,e,t){const n=l.slice();return n[379]=e[t],n}function sd(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j,T,D,N,E,A,M,R,W,B,K,Y,q,J,H,U,P,V,z,O,se,ie,$,le,te,ce,pe,ye,He,Ae,Q,x,ue,ge,Se=fe(l[4]),De=[];for(let Z=0;Z0?0:1}D=qe(l),N=Ge[D]=Ue[D](l),M=new nd({props:{syncStatus:l[76],syncLoading:l[77],syncMessage:l[78],syncMessageKind:l[79],onSync:l[162],onOpenSettings:l[167]}});function Je(Z,Ce){return Z[26]?fd:Z[25]?ud:ad}let Fe=Je(l),Pe=Fe(l),ke=l[24]&&Ws(l);const Ve=[gd,vd,_d,md,pd,dd],Ne=[];function ze(Z,Ce){return Z[29]?0:Z[26]?1:Z[25]==="journal"?2:Z[25]==="today"&&Z[7]?3:Z[25]==="activity"?4:5}ie=ze(l),$=Ne[ie]=Ve[ie](l);let je=l[41]&&ei(l),we=l[45].visible&&ni(l),Me=l[32]&&ri(l),Te=l[48]&&ci(l),Ee=l[55]&&l[54]&&ui(l),Oe=l[73]&&di(l),_e=l[68]&&mi(l),ae=l[3]&&_i(l);return{c(){e=f("div"),t=f("aside"),n=f("div"),s=f("span"),s.textContent="⚒",i=h(),r=f("span"),r.textContent=`${p("nav.brand")}`,a=h(),u=f("nav"),d=f("div"),_=f("div"),_.textContent=`${p("nav.system")}`,g=h();for(let Z=0;Z',K=h(),Y=f("span"),q=F(l[23]),J=h(),H=f("main"),U=f("header"),P=f("div"),Pe.c(),V=h(),z=f("div"),z.innerHTML="",O=h(),ke&&ke.c(),se=h(),$.c(),le=h(),je&&je.c(),te=h(),we&&we.c(),ce=h(),Me&&Me.c(),pe=h(),Te&&Te.c(),ye=h(),Ee&&Ee.c(),He=h(),Oe&&Oe.c(),Ae=h(),_e&&_e.c(),Q=h(),ae&&ae.c(),o(s,"class","logo svelte-1n7o7cr"),o(r,"class","brand-name svelte-1n7o7cr"),o(n,"class","sidebar-brand svelte-1n7o7cr"),o(_,"class","nav-label svelte-1n7o7cr"),o(d,"class","nav-group svelte-1n7o7cr"),o(y,"class","svelte-1n7o7cr"),o(j,"class","nav-add-btn svelte-1n7o7cr"),o(j,"title",p("common.create")),o(k,"class","nav-label-row svelte-1n7o7cr"),o(b,"class","nav-group svelte-1n7o7cr"),o(u,"class","sidebar-nav svelte-1n7o7cr"),o(B,"class","sidebar-settings-btn svelte-1n7o7cr"),o(B,"title",p("common.settings")),o(Y,"class","version svelte-1n7o7cr"),o(W,"class","sidebar-footer-row svelte-1n7o7cr"),o(A,"class","sidebar-footer svelte-1n7o7cr"),o(t,"class","sidebar svelte-1n7o7cr"),o(P,"class","header-left svelte-1n7o7cr"),o(z,"class","header-right svelte-1n7o7cr"),o(U,"class","header svelte-1n7o7cr"),o(H,"class","main svelte-1n7o7cr"),o(e,"class","app svelte-1n7o7cr")},m(Z,Ce){C(Z,e,Ce),c(e,t),c(t,n),c(n,s),c(n,i),c(n,r),c(t,a),c(t,u),c(u,d),c(d,_),c(d,g);for(let et=0;et{Ge[et]=null}),nt(),N=Ge[D],N?N.p(Z,Ce):(N=Ge[D]=Ue[D](Z),N.c()),re(N,1),N.m(b,null));const rt={};Ce[2]&16384&&(rt.syncStatus=Z[76]),Ce[2]&32768&&(rt.syncLoading=Z[77]),Ce[2]&65536&&(rt.syncMessage=Z[78]),Ce[2]&131072&&(rt.syncMessageKind=Z[79]),M.$set(rt),(!x||Ce[0]&8388608)&&G(q,Z[23]),Fe===(Fe=Je(Z))&&Pe?Pe.p(Z,Ce):(Pe.d(1),Pe=Fe(Z),Pe&&(Pe.c(),Pe.m(P,null))),Z[24]?ke?ke.p(Z,Ce):(ke=Ws(Z),ke.c(),ke.m(H,se)):ke&&(ke.d(1),ke=null);let st=ie;ie=ze(Z),ie===st?Ne[ie].p(Z,Ce):(lt(),de(Ne[st],1,1,()=>{Ne[st]=null}),nt(),$=Ne[ie],$?$.p(Z,Ce):($=Ne[ie]=Ve[ie](Z),$.c()),re($,1),$.m(H,le)),Z[41]?je?(je.p(Z,Ce),Ce[1]&1024&&re(je,1)):(je=ei(Z),je.c(),re(je,1),je.m(H,te)):je&&(lt(),de(je,1,1,()=>{je=null}),nt()),Z[45].visible?we?(we.p(Z,Ce),Ce[1]&16384&&re(we,1)):(we=ni(Z),we.c(),re(we,1),we.m(H,ce)):we&&(lt(),de(we,1,1,()=>{we=null}),nt()),Z[32]?Me?Me.p(Z,Ce):(Me=ri(Z),Me.c(),Me.m(H,pe)):Me&&(Me.d(1),Me=null),Z[48]?Te?Te.p(Z,Ce):(Te=ci(Z),Te.c(),Te.m(H,ye)):Te&&(Te.d(1),Te=null),Z[55]&&Z[54]?Ee?Ee.p(Z,Ce):(Ee=ui(Z),Ee.c(),Ee.m(H,He)):Ee&&(Ee.d(1),Ee=null),Z[73]?Oe?Oe.p(Z,Ce):(Oe=di(Z),Oe.c(),Oe.m(H,Ae)):Oe&&(Oe.d(1),Oe=null),Z[68]?_e?(_e.p(Z,Ce),Ce[2]&64&&re(_e,1)):(_e=mi(Z),_e.c(),re(_e,1),_e.m(H,Q)):_e&&(lt(),de(_e,1,1,()=>{_e=null}),nt()),Z[3]?ae?(ae.p(Z,Ce),Ce[0]&8&&re(ae,1)):(ae=_i(Z),ae.c(),re(ae,1),ae.m(H,null)):ae&&(lt(),de(ae,1,1,()=>{ae=null}),nt())},i(Z){x||(re(N),re(M.$$.fragment,Z),re($),re(je),re(we),re(_e),re(ae),x=!0)},o(Z){de(N),de(M.$$.fragment,Z),de($),de(je),de(we),de(_e),de(ae),x=!1},d(Z){Z&&w(e),Le(De,Z),Ge[D].d(),Be(M),Pe.d(),ke&&ke.d(),Ne[ie].d(),je&&je.d(),we&&we.d(),Me&&Me.d(),Te&&Te.d(),Ee&&Ee.d(),Oe&&Oe.d(),_e&&_e.d(),ae&&ae.d(),ue=!1,ve(ge)}}}function od(l){var n;let e,t;return e=new $u({props:{vaultPath:((n=l[0])==null?void 0:n.vaultPath)||"",onComplete:l[164]}}),{c(){Ke(e.$$.fragment)},m(s,i){We(e,s,i),t=!0},p(s,i){var a;const r={};i[0]&1&&(r.vaultPath=((a=s[0])==null?void 0:a.vaultPath)||""),e.$set(r)},i(s){t||(re(e.$$.fragment,s),t=!0)},o(s){de(e.$$.fragment,s),t=!1},d(s){Be(e,s)}}}function id(l){let e,t;return e=new Xu({props:{onComplete:l[163]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function zs(l){let e,t;return{c(){e=f("span"),t=F(l[40]),o(e,"class","nav-badge svelte-1n7o7cr")},m(n,s){C(n,e,s),c(e,t)},p(n,s){s[1]&512&&G(t,n[40])},d(n){n&&w(e)}}}function Vs(l){let e,t=l[379].label+"",n,s,i,r,a,u,d=l[379].id==="journal"&&l[40]>0&&zs(l);function _(){return l[166](l[379])}return{c(){e=f("button"),n=F(t),s=h(),d&&d.c(),i=h(),o(e,"class",r="nav-item "+(l[25]===l[379].id?"selected":"")+" svelte-1n7o7cr")},m(g,v){C(g,e,v),c(e,n),c(e,s),d&&d.m(e,null),c(e,i),a||(u=I(e,"click",_),a=!0)},p(g,v){l=g,v[0]&16&&t!==(t=l[379].label+"")&&G(n,t),l[379].id==="journal"&&l[40]>0?d?d.p(l,v):(d=zs(l),d.c(),d.m(e,i)):d&&(d.d(1),d=null),v[0]&33554448&&r!==(r="nav-item "+(l[25]===l[379].id?"selected":"")+" svelte-1n7o7cr")&&o(e,"class",r)},d(g){g&&w(e),d&&d.d(),a=!1,u()}}}function rd(l){let e;return{c(){e=f("div"),e.textContent=`${p("nav.noNodes")}`,o(e,"class","nav-empty svelte-1n7o7cr")},m(t,n){C(t,e,n)},p:ee,i:ee,o:ee,d(t){t&&w(e)}}}function cd(l){var r;let e,t,n,s,i;return t=new Pi({props:{nodes:l[5],expanded:l[56],selectedNodeId:((r=l[26])==null?void 0:r.id)||"",onSelect:l[85],onToggle:l[115],onContextMenu:l[113],onDrop:l[116]}}),{c(){e=f("div"),Ke(t.$$.fragment),o(e,"class","workspace-tree-area svelte-1n7o7cr"),o(e,"role","region"),o(e,"aria-label",p("nav.workspace")),he(e,"drop-valid",l[67])},m(a,u){C(a,e,u),We(t,e,null),n=!0,s||(i=[I(e,"dragover",Al(l[118])),I(e,"dragleave",l[119]),I(e,"drop",l[117])],s=!0)},p(a,u){var _;const d={};u[0]&32&&(d.nodes=a[5]),u[1]&33554432&&(d.expanded=a[56]),u[0]&67108864&&(d.selectedNodeId=((_=a[26])==null?void 0:_.id)||""),t.$set(d),(!n||u[2]&32)&&he(e,"drop-valid",a[67])},i(a){n||(re(t.$$.fragment,a),n=!0)},o(a){de(t.$$.fragment,a),n=!1},d(a){a&&w(e),Be(t),s=!1,ve(i)}}}function ad(l){let e;return{c(){e=f("span"),e.textContent=`${p("nav.selectPrompt")}`,o(e,"class","crumb placeholder svelte-1n7o7cr")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function ud(l){let e,t=fe(l[4]),n=[];for(let s=0;s',o(i,"class","dismiss-btn svelte-1n7o7cr"),o(i,"aria-label","Dismiss"),o(e,"class","error-banner svelte-1n7o7cr"),o(e,"role","button"),o(e,"tabindex","0")},m(u,d){C(u,e,d),c(e,n),c(e,s),c(e,i),r||(a=[I(i,"click",Ye(l[169])),I(e,"click",l[170]),I(e,"keydown",function(){mt(at(l[171]))&&at(l[171]).apply(this,arguments)})],r=!0)},p(u,d){l=u,d[0]&16777216&&t!==(t=l[81](l[24])+"")&&G(n,t)},d(u){u&&w(e),r=!1,ve(a)}}}function dd(l){let e,t,n;function s(a,u){if(a[52])return kd;if(a[4].length>0)return bd;if(a[24])return hd}let i=s(l),r=i&&i(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${p("welcome.title")}`,n=h(),r&&r.c(),o(t,"class","svelte-1n7o7cr"),o(e,"class","welcome svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,t),c(e,n),r&&r.m(e,null)},p(a,u){i===(i=s(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 pd(l){let e,t,n,s;function i(u,d){return u[8].length===0?wd:yd}let r=i(l),a=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("activity.title")}`,s=h(),a.c(),o(n,"class","svelte-1n7o7cr"),o(t,"class","activity-feed-header svelte-1n7o7cr"),o(e,"class","activity-feed svelte-1n7o7cr")},m(u,d){C(u,e,d),c(e,t),c(t,n),c(e,s),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 md(l){let e,t,n,s,i,r=l[7].date+"",a,u,d,_,g=l[7].summary&&Us(l),v=l[39].length>0&&qs(l);function b(S,j){return S[7].groups&&S[7].groups.length>0?Sd:Cd}let k=b(l),y=k(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("today.title")}`,s=h(),i=f("span"),a=F(r),u=h(),g&&g.c(),d=h(),v&&v.c(),_=h(),y.c(),o(n,"class","svelte-1n7o7cr"),o(i,"class","today-date svelte-1n7o7cr"),o(t,"class","today-header svelte-1n7o7cr"),o(e,"class","today-dashboard svelte-1n7o7cr")},m(S,j){C(S,e,j),c(e,t),c(t,n),c(t,s),c(t,i),c(i,a),c(e,u),g&&g.m(e,null),c(e,d),v&&v.m(e,null),c(e,_),y.m(e,null)},p(S,j){j[0]&128&&r!==(r=S[7].date+"")&&G(a,r),S[7].summary?g?g.p(S,j):(g=Us(S),g.c(),g.m(e,d)):g&&(g.d(1),g=null),S[39].length>0?v?v.p(S,j):(v=qs(S),v.c(),v.m(e,_)):v&&(v.d(1),v=null),k===(k=b(S))&&y?y.p(S,j):(y.d(1),y=k(S),y&&(y.c(),y.m(e,null)))},i:ee,o:ee,d(S){S&&w(e),g&&g.d(),v&&v.d(),y.d()}}}function _d(l){let e,t,n,s,i,r,a,u,d,_,g,v,b,k,y,S,j,T,D,N,E,A,M,R,W,B,K,Y,q,J,H,U,P,V,z,O,se,ie,$,le,te,ce,pe,ye,He,Ae,Q,x,ue,ge,Se,De,Ue,Ge,qe,Je,Fe,Pe,ke;function Ve(ae,Z){return ae[17]?Nd:Ed}let Ne=Ve(l),ze=Ne(l),je=l[14]&&io(l),we=l[18]&&ro(l),Me=l[39].length>0&&co(l),Te=l[10]&&mo(l);function Ee(ae,Z){return ae[9].length===0?Md:Dd}let Oe=Ee(l),_e=Oe(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${p("journal.title")}`,s=h(),i=f("div"),r=f("div"),r.textContent=`${p("journal.filterHeading")}`,a=h(),u=f("div"),d=f("label"),_=f("span"),_.textContent=`${p("journal.dateFrom")}`,g=h(),v=f("input"),b=h(),k=f("label"),y=f("span"),y.textContent=`${p("journal.dateTo")}`,S=h(),j=f("input"),T=h(),D=f("label"),N=f("span"),N.textContent=`${p("journal.node")}`,E=h(),A=f("div"),ze.c(),M=h(),je&&je.c(),R=h(),W=f("label"),B=f("span"),B.textContent=`${p("journal.billable")}`,K=h(),Y=f("select"),q=f("option"),q.textContent=`${p("common.all")}`,J=f("option"),J.textContent=`${p("journal.billableYes")}`,H=f("option"),H.textContent=`${p("journal.billableNo")}`,U=h(),P=f("label"),V=f("span"),V.textContent=`${p("journal.approx")}`,z=h(),O=f("select"),se=f("option"),se.textContent=`${p("common.all")}`,ie=f("option"),ie.textContent=`${p("journal.approxExact")}`,$=f("option"),$.textContent=`${p("journal.approxEstimated")}`,le=h(),te=f("button"),te.textContent=`${p("journal.filter")}`,ce=h(),pe=f("button"),pe.textContent=`${p("journal.reset")}`,ye=h(),He=f("div"),Ae=f("div"),Ae.textContent=`${p("journal.exportHeading")}`,Q=h(),x=f("div"),ue=f("button"),ue.textContent=`${p("journal.exportCSV")}`,ge=h(),Se=f("button"),Se.textContent=`${p("journal.exportMarkdown")}`,De=h(),Ue=f("button"),Ue.textContent="PDF",Ge=h(),we&&we.c(),qe=h(),Me&&Me.c(),Je=h(),Te&&Te.c(),Fe=h(),_e.c(),o(n,"class","svelte-1n7o7cr"),o(r,"class","journal-filter-heading svelte-1n7o7cr"),o(_,"class","label-text svelte-1n7o7cr"),o(v,"type","date"),o(v,"class","svelte-1n7o7cr"),o(d,"class","svelte-1n7o7cr"),o(y,"class","label-text svelte-1n7o7cr"),o(j,"type","date"),o(j,"class","svelte-1n7o7cr"),o(k,"class","svelte-1n7o7cr"),o(N,"class","label-text svelte-1n7o7cr"),o(A,"class","journal-node-picker svelte-1n7o7cr"),ct(A,"position","relative"),o(D,"class","svelte-1n7o7cr"),o(B,"class","label-text svelte-1n7o7cr"),q.__value="all",be(q,q.__value),o(q,"class","svelte-1n7o7cr"),J.__value="yes",be(J,J.__value),o(J,"class","svelte-1n7o7cr"),H.__value="no",be(H,H.__value),o(H,"class","svelte-1n7o7cr"),o(Y,"class","svelte-1n7o7cr"),l[15]===void 0&&wt(()=>l[218].call(Y)),o(W,"title",p("journal.billableHint")),o(W,"class","svelte-1n7o7cr"),o(V,"class","label-text svelte-1n7o7cr"),se.__value="all",be(se,se.__value),o(se,"class","svelte-1n7o7cr"),ie.__value="no",be(ie,ie.__value),o(ie,"class","svelte-1n7o7cr"),$.__value="yes",be($,$.__value),o($,"class","svelte-1n7o7cr"),o(O,"class","svelte-1n7o7cr"),l[16]===void 0&&wt(()=>l[219].call(O)),o(P,"title",p("journal.approxHint")),o(P,"class","svelte-1n7o7cr"),o(te,"class","btn btn-sm svelte-1n7o7cr"),o(pe,"class","btn btn-sm svelte-1n7o7cr"),o(u,"class","journal-filters-row svelte-1n7o7cr"),o(i,"class","journal-filter-section svelte-1n7o7cr"),o(Ae,"class","journal-export-heading svelte-1n7o7cr"),o(ue,"class","btn btn-sm svelte-1n7o7cr"),o(Se,"class","btn btn-sm svelte-1n7o7cr"),o(Ue,"class","btn btn-sm svelte-1n7o7cr"),o(x,"class","journal-export-row svelte-1n7o7cr"),o(He,"class","journal-export-section svelte-1n7o7cr"),o(t,"class","journal-header svelte-1n7o7cr"),o(e,"class","journal-screen svelte-1n7o7cr")},m(ae,Z){C(ae,e,Z),c(e,t),c(t,n),c(t,s),c(t,i),c(i,r),c(i,a),c(i,u),c(u,d),c(d,_),c(d,g),c(d,v),be(v,l[11]),c(u,b),c(u,k),c(k,y),c(k,S),c(k,j),be(j,l[12]),c(u,T),c(u,D),c(D,N),c(D,E),c(D,A),ze.m(A,null),c(u,M),je&&je.m(u,null),c(u,R),c(u,W),c(W,B),c(W,K),c(W,Y),c(Y,q),c(Y,J),c(Y,H),pt(Y,l[15],!0),c(u,U),c(u,P),c(P,V),c(P,z),c(P,O),c(O,se),c(O,ie),c(O,$),pt(O,l[16],!0),c(u,le),c(u,te),c(u,ce),c(u,pe),c(t,ye),c(t,He),c(He,Ae),c(He,Q),c(He,x),c(x,ue),c(x,ge),c(x,Se),c(x,De),c(x,Ue),c(x,Ge),we&&we.m(x,null),c(e,qe),Me&&Me.m(e,null),c(e,Je),Te&&Te.m(e,null),c(e,Fe),_e.m(e,null),Pe||(ke=[I(v,"input",l[211]),I(j,"input",l[212]),I(Y,"change",l[218]),I(O,"change",l[219]),I(te,"click",l[136]),I(pe,"click",l[143]),I(ue,"click",l[220]),I(Se,"click",l[221]),I(Ue,"click",l[222])],Pe=!0)},p(ae,Z){Z[0]&2048&&be(v,ae[11]),Z[0]&4096&&be(j,ae[12]),Ne===(Ne=Ve(ae))&&ze?ze.p(ae,Z):(ze.d(1),ze=Ne(ae),ze&&(ze.c(),ze.m(A,null))),ae[14]?je?je.p(ae,Z):(je=io(ae),je.c(),je.m(u,R)):je&&(je.d(1),je=null),Z[0]&32768&&pt(Y,ae[15]),Z[0]&65536&&pt(O,ae[16]),ae[18]?we?we.p(ae,Z):(we=ro(ae),we.c(),we.m(x,null)):we&&(we.d(1),we=null),ae[39].length>0?Me?Me.p(ae,Z):(Me=co(ae),Me.c(),Me.m(e,Je)):Me&&(Me.d(1),Me=null),ae[10]?Te?Te.p(ae,Z):(Te=mo(ae),Te.c(),Te.m(e,Fe)):Te&&(Te.d(1),Te=null),Oe===(Oe=Ee(ae))&&_e?_e.p(ae,Z):(_e.d(1),_e=Oe(ae),_e&&(_e.c(),_e.m(e,null)))},i:ee,o:ee,d(ae){ae&&w(e),ze.d(),je&&je.d(),we&&we.d(),Me&&Me.d(),Te&&Te.d(),_e.d(),Pe=!1,ve(ke)}}}function vd(l){let e,t,n,s,i,r,a=fe(l[83]),u=[];for(let v=0;v{_[k]=null}),nt()),~s?(i=_[s],i?i.p(v,b):(i=_[s]=d[s](v),i.c()),re(i,1),i.m(n,null)):i=null)},i(v){r||(re(i),r=!0)},o(v){de(i),r=!1},d(v){v&&(w(e),w(t),w(n)),Le(u,v),~s&&_[s].d()}}}function gd(l){let e,t,n,s=l[29].title+"",i,r,a,u,d,_,g,v,b,k,y,S=l[29].dirty&&$o();return{c(){e=f("div"),t=f("div"),n=f("span"),i=F(s),r=h(),S&&S.c(),a=h(),u=f("div"),d=f("button"),d.textContent=`${p("common.save")}`,_=h(),g=f("button"),g.textContent=`${p("common.close")}`,v=h(),b=f("textarea"),o(n,"class","note-title svelte-1n7o7cr"),o(d,"class","btn btn-primary svelte-1n7o7cr"),o(g,"class","btn svelte-1n7o7cr"),o(u,"class","note-editor-actions svelte-1n7o7cr"),o(t,"class","note-editor-header svelte-1n7o7cr"),o(b,"class","note-textarea svelte-1n7o7cr"),o(b,"placeholder",p("note.placeholder")),o(e,"class","note-editor svelte-1n7o7cr")},m(j,T){C(j,e,T),c(e,t),c(t,n),c(n,i),c(t,r),S&&S.m(t,null),c(t,a),c(t,u),c(u,d),c(u,_),c(u,g),c(e,v),c(e,b),be(b,l[29].content),k||(y=[I(d,"click",l[130]),I(g,"click",l[128]),I(b,"input",l[172]),I(b,"input",l[129])],k=!0)},p(j,T){T[0]&536870912&&s!==(s=j[29].title+"")&&G(i,s),j[29].dirty?S||(S=$o(),S.c(),S.m(t,a)):S&&(S.d(1),S=null),T[0]&536870912&&be(b,j[29].content)},i:ee,o:ee,d(j){j&&w(e),S&&S.d(),k=!1,ve(y)}}}function hd(l){let e,t=p("common.error")+"",n,s,i;return{c(){e=f("p"),n=F(t),s=h(),i=F(l[24]),o(e,"class","error-text svelte-1n7o7cr")},m(r,a){C(r,e,a),c(e,n),c(e,s),c(e,i)},p(r,a){a[0]&16777216&&G(i,r[24])},d(r){r&&w(e)}}}function bd(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${p("welcome.selectSection")}`,t=h(),n=f("p"),n.textContent=`${p("welcome.createCase")}`,o(e,"class","svelte-1n7o7cr"),o(n,"class","hint svelte-1n7o7cr")},m(s,i){C(s,e,i),C(s,t,i),C(s,n,i)},p:ee,d(s){s&&(w(e),w(t),w(n))}}}function kd(l){let e;return{c(){e=f("p"),e.textContent=`${p("common.loading")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function yd(l){let e,t=fe(l[8]),n=[];for(let s=0;s0&&Ks(l),i=l[7].summary.notes>0&&Gs(l),r=l[7].summary.files>0&&Js(l);return{c(){e=f("div"),s&&s.c(),t=h(),i&&i.c(),n=h(),r&&r.c(),o(e,"class","today-summary svelte-1n7o7cr")},m(a,u){C(a,e,u),s&&s.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?s?s.p(a,u):(s=Ks(a),s.c(),s.m(e,t)):s&&(s.d(1),s=null),a[7].summary.notes>0?i?i.p(a,u):(i=Gs(a),i.c(),i.m(e,n)):i&&(i.d(1),i=null),a[7].summary.files>0?r?r.p(a,u):(r=Js(a),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(a){a&&w(e),s&&s.d(),i&&i.d(),r&&r.d()}}}function Ks(l){let e,t=l[7].summary.changedCases+"",n,s,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),s=h(),r=F(i),o(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,n),c(e,s),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.changedCases+"")&&G(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"))+"")&&G(r,i)},d(a){a&&w(e)}}}function Gs(l){let e,t=l[7].summary.notes+"",n,s,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),s=h(),r=F(i),o(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,n),c(e,s),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.notes+"")&&G(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"))+"")&&G(r,i)},d(a){a&&w(e)}}}function Js(l){let e,t=l[7].summary.files+"",n,s,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),s=h(),r=F(i),o(e,"class","summary-chip svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,n),c(e,s),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[7].summary.files+"")&&G(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"))+"")&&G(r,i)},d(a){a&&w(e)}}}function qs(l){let e,t,n,s=fe(l[39]),i=[];for(let r=0;r0&&Ys(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("button"),r=F(i),a=h(),u=f("span"),_=F(d),g=h(),v=f("span"),k=F(b),y=h(),S=f("div"),j=f("input"),D=h(),N=f("span"),N.textContent=`${p("suggest.minutes")}`,E=h(),A=f("button"),A.textContent=`${p("suggest.apply")}`,M=h(),U&&U.c(),R=h(),o(s,"class","suggestion-node link-btn svelte-1n7o7cr"),o(u,"class","suggestion-summary svelte-1n7o7cr"),o(v,"class","suggestion-confidence svelte-1n7o7cr"),he(v,"low",l[337].confidence==="low"),he(v,"medium",l[337].confidence==="medium"),he(v,"high",l[337].confidence==="high"),o(n,"class","suggestion-info svelte-1n7o7cr"),o(j,"type","number"),o(j,"class","suggestion-min-input svelte-1n7o7cr"),j.value=T=l[337].suggestedMin,o(j,"min","1"),o(j,"max","480"),o(N,"class","suggestion-min-label svelte-1n7o7cr"),o(A,"class","btn btn-sm btn-primary svelte-1n7o7cr"),o(S,"class","suggestion-actions svelte-1n7o7cr"),o(t,"class","suggestion-main svelte-1n7o7cr"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-1n7o7cr"),he(e,"expanded",l[337]._expanded)},m(P,V){C(P,e,V),c(e,t),c(t,n),c(n,s),c(s,r),c(n,a),c(n,u),c(u,_),c(n,g),c(n,v),c(v,k),c(t,y),c(t,S),c(S,j),c(S,D),c(S,N),c(S,E),c(S,A),c(e,M),U&&U.m(e,null),c(e,R),W||(B=[I(s,"click",Ye(K)),I(j,"change",Ye(Y)),I(A,"click",Ye(q)),I(t,"click",J),I(t,"keydown",H)],W=!0)},p(P,V){l=P,V[1]&256&&i!==(i=l[337].nodeTitle+"")&&G(r,i),V[1]&256&&d!==(d=l[337].summary+"")&&G(_,d),V[1]&256&&b!==(b=p("suggest.confidence."+l[337].confidence)+"")&&G(k,b),V[1]&256&&he(v,"low",l[337].confidence==="low"),V[1]&256&&he(v,"medium",l[337].confidence==="medium"),V[1]&256&&he(v,"high",l[337].confidence==="high"),V[1]&256&&T!==(T=l[337].suggestedMin)&&j.value!==T&&(j.value=T),l[337]._expanded&&l[337].events&&l[337].events.length>0?U?U.p(l,V):(U=Ys(l),U.c(),U.m(e,R)):U&&(U.d(1),U=null),V[1]&256&&he(e,"expanded",l[337]._expanded)},d(P){P&&w(e),U&&U.d(),W=!1,ve(B)}}}function Cd(l){let e,t,n,s;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("today.empty")}`,n=h(),s=f("p"),s.textContent=`${p("today.emptyHint")}`,o(t,"class","svelte-1n7o7cr"),o(s,"class","hint svelte-1n7o7cr"),o(e,"class","today-empty svelte-1n7o7cr")},m(i,r){C(i,e,r),c(e,t),c(e,n),c(e,s)},p:ee,d(i){i&&w(e)}}}function Sd(l){let e,t,n=fe(l[7].groups),s=[];for(let r=0;r0&&lo(l);return{c(){for(let r=0;r0?i?i.p(r,a):(i=lo(r),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(r){r&&(w(e),w(t)),Le(s,r),i&&i.d(r)}}}function xs(l){let e,t=l[365].events.length+"",n,s,i=_t(l[365].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),s=h(),r=F(i),o(e,"class","today-case-count svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,n),c(e,s),c(e,r)},p(a,u){u[0]&128&&t!==(t=a[365].events.length+"")&&G(n,t),u[0]&128&&i!==(i=_t(a[365].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"")&&G(r,i)},d(a){a&&w(e)}}}function jd(l){let e;return{c(){e=f("div"),e.textContent=`${p("today.changedCases")}`,o(e,"class","today-events-empty svelte-1n7o7cr")},m(t,n){C(t,e,n)},p:ee,d(t){t&&w(e)}}}function Td(l){let e,t=fe(l[365].events),n=[];for(let s=0;s0?Td:jd}let A=E(l),M=A(l);return{c(){e=f("div"),t=f("div"),n=f("span"),i=F(s),r=h(),a=f("span"),d=F(u),_=h(),T&&T.c(),g=h(),v=f("span"),k=F(b),y=h(),M.c(),o(n,"class","today-case-title svelte-1n7o7cr"),o(a,"class","today-case-type svelte-1n7o7cr"),o(v,"class","today-case-time svelte-1n7o7cr"),o(t,"class","today-case-header svelte-1n7o7cr"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","today-case svelte-1n7o7cr")},m(R,W){C(R,e,W),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,_),T&&T.m(t,null),c(t,g),c(t,v),c(v,k),c(e,y),M.m(e,null),S||(j=[I(t,"click",D),I(t,"keydown",N)],S=!0)},p(R,W){l=R,W[0]&128&&s!==(s=l[365].nodeTitle+"")&&G(i,s),W[0]&128&&u!==(u=l[150](l[365].nodeKind)+"")&&G(d,u),l[365].events?T?T.p(l,W):(T=xs(l),T.c(),T.m(t,g)):T&&(T.d(1),T=null),W[0]&128&&b!==(b=$e(l[365].lastActivityAt)+"")&&G(k,b),A===(A=E(l))&&M?M.p(l,W):(M.d(1),M=A(l),M&&(M.c(),M.m(e,null)))},d(R){R&&w(e),T&&T.d(),M.d(),S=!1,ve(j)}}}function lo(l){let e,t,n,s=fe(l[7].events),i=[];for(let r=0;r0&&ao(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("button"),r=F(i),a=h(),u=f("span"),_=F(d),g=h(),v=f("span"),k=F(b),y=h(),S=f("div"),j=f("input"),D=h(),N=f("span"),N.textContent=`${p("suggest.minutes")}`,E=h(),A=f("button"),A.textContent=`${p("suggest.apply")}`,M=h(),U&&U.c(),R=h(),o(s,"class","suggestion-node link-btn svelte-1n7o7cr"),o(u,"class","suggestion-summary svelte-1n7o7cr"),o(v,"class","suggestion-confidence svelte-1n7o7cr"),he(v,"low",l[337].confidence==="low"),he(v,"medium",l[337].confidence==="medium"),he(v,"high",l[337].confidence==="high"),o(n,"class","suggestion-info svelte-1n7o7cr"),o(j,"type","number"),o(j,"class","suggestion-min-input svelte-1n7o7cr"),j.value=T=l[337].suggestedMin,o(j,"min","1"),o(j,"max","480"),o(N,"class","suggestion-min-label svelte-1n7o7cr"),o(A,"class","btn btn-sm btn-primary svelte-1n7o7cr"),o(S,"class","suggestion-actions svelte-1n7o7cr"),o(t,"class","suggestion-main svelte-1n7o7cr"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-1n7o7cr"),he(e,"expanded",l[337]._expanded)},m(P,V){C(P,e,V),c(e,t),c(t,n),c(n,s),c(s,r),c(n,a),c(n,u),c(u,_),c(n,g),c(n,v),c(v,k),c(t,y),c(t,S),c(S,j),c(S,D),c(S,N),c(S,E),c(S,A),c(e,M),U&&U.m(e,null),c(e,R),W||(B=[I(s,"click",Ye(K)),I(j,"change",Ye(Y)),I(A,"click",Ye(q)),I(t,"click",J),I(t,"keydown",H)],W=!0)},p(P,V){l=P,V[1]&256&&i!==(i=l[337].nodeTitle+"")&&G(r,i),V[1]&256&&d!==(d=l[337].summary+"")&&G(_,d),V[1]&256&&b!==(b=p("suggest.confidence."+l[337].confidence)+"")&&G(k,b),V[1]&256&&he(v,"low",l[337].confidence==="low"),V[1]&256&&he(v,"medium",l[337].confidence==="medium"),V[1]&256&&he(v,"high",l[337].confidence==="high"),V[1]&256&&T!==(T=l[337].suggestedMin)&&j.value!==T&&(j.value=T),l[337]._expanded&&l[337].events&&l[337].events.length>0?U?U.p(l,V):(U=ao(l),U.c(),U.m(e,R)):U&&(U.d(1),U=null),V[1]&256&&he(e,"expanded",l[337]._expanded)},d(P){P&&w(e),U&&U.d(),W=!1,ve(B)}}}function mo(l){let e,t,n=p("journal.total")+"",s,i,r=Math.floor(l[10].totalMinutes/60)+"",a,u,d=l[10].totalMinutes%60+"",_,g,v=l[10].totalEntries+"",b,k,y=p("worklog.min")+"",S,j,T,D,N=l[10].byDay&&l[10].byDay.length>0&&_o(l),E=l[10].byNode&&l[10].byNode.length>0&&go(l);return{c(){e=f("div"),t=f("div"),s=F(n),i=F(": "),a=F(r),u=F("ч "),_=F(d),g=F("м ("),b=F(v),k=h(),S=F(y),j=F(")"),T=h(),N&&N.c(),D=h(),E&&E.c(),o(t,"class","summary-total svelte-1n7o7cr"),o(e,"class","journal-summary svelte-1n7o7cr")},m(A,M){C(A,e,M),c(e,t),c(t,s),c(t,i),c(t,a),c(t,u),c(t,_),c(t,g),c(t,b),c(t,k),c(t,S),c(t,j),c(e,T),N&&N.m(e,null),c(e,D),E&&E.m(e,null)},p(A,M){M[0]&1024&&r!==(r=Math.floor(A[10].totalMinutes/60)+"")&&G(a,r),M[0]&1024&&d!==(d=A[10].totalMinutes%60+"")&&G(_,d),M[0]&1024&&v!==(v=A[10].totalEntries+"")&&G(b,v),A[10].byDay&&A[10].byDay.length>0?N?N.p(A,M):(N=_o(A),N.c(),N.m(e,D)):N&&(N.d(1),N=null),A[10].byNode&&A[10].byNode.length>0?E?E.p(A,M):(E=go(A),E.c(),E.m(e,null)):E&&(E.d(1),E=null)},d(A){A&&w(e),N&&N.d(),E&&E.d()}}}function _o(l){let e,t,n,s=fe(l[10].byDay),i=[];for(let r=0;r0?Ld:y[347].source==="suggestion"?Pd:y[347].source==="unknown"||y[347].source==="imported"?Fd:y[347]._hasEvents?Ad:Id}let v=g(l),b=v(l),k=l[347]._events&&Co(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),_&&_.c(),s=h(),i=f("div"),r=f("span"),r.textContent=`${p("worklog.source")}`,a=h(),b.c(),u=h(),k&&k.c(),d=h(),o(r,"class","journal-detail-label svelte-1n7o7cr"),o(i,"class","journal-detail-section svelte-1n7o7cr"),o(n,"class","journal-detail-body svelte-1n7o7cr"),o(t,"colspan","8"),o(t,"class","svelte-1n7o7cr"),o(e,"class","journal-row-detail svelte-1n7o7cr")},m(y,S){C(y,e,S),c(e,t),c(t,n),_&&_.m(n,null),c(n,s),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,S){y[347].details?_?_.p(y,S):(_=wo(y),_.c(),_.m(n,s)):_&&(_.d(1),_=null),v!==(v=g(y))&&(b.d(1),b=v(y),b&&(b.c(),b.m(i,null))),y[347]._events?k?k.p(y,S):(k=Co(y),k.c(),k.m(n,null)):k&&(k.d(1),k=null)},d(y){y&&w(e),_&&_.d(),b.d(),k&&k.d()}}}function wo(l){let e,t,n,s,i=l[347].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=h(),s=f("p"),r=F(i),o(t,"class","journal-detail-label svelte-1n7o7cr"),o(s,"class","svelte-1n7o7cr"),o(e,"class","journal-detail-section svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[0]&512&&i!==(i=a[347].details+"")&&G(r,i)},d(a){a&&w(e)}}}function Id(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ad(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Fd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Pd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ld(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Rd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Co(l){let e,t,n,s=fe(l[347]._events),i=[];for(let r=0;r0,r,a,u,d=i&&Do(l);function _(b,k){return b[31].length===0?Jd:Gd}let g=_(l),v=g(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${p("worklog.addEntry")}`,s=h(),d&&d.c(),r=h(),v.c(),o(n,"class","btn btn-primary btn-sm svelte-1n7o7cr"),o(t,"class","worklog-toolbar svelte-1n7o7cr"),o(e,"class","worklog-tab svelte-1n7o7cr")},m(b,k){C(b,e,k),c(e,t),c(t,n),c(e,s),d&&d.m(e,null),c(e,r),v.m(e,null),a||(u=I(n,"click",l[131]),a=!0)},p(b,k){k[0]&67108864|k[1]&256&&(i=b[26]&&b[39].filter(b[165]).length>0),i?d?d.p(b,k):(d=Do(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),g===(g=_(b))&&v?v.p(b,k):(v.d(1),v=g(b),v&&(v.c(),v.m(e,null)))},i:ee,o:ee,d(b){b&&w(e),d&&d.d(),v.d(),a=!1,u()}}}function Od(l){let e,t,n,s,i,r;function a(_,g){return _[30].length===0?$d:xd}let u=a(l),d=u(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("action.addAction")}`,s=h(),d.c(),o(n,"class","btn btn-primary svelte-1n7o7cr"),o(t,"class","tab-toolbar svelte-1n7o7cr"),o(e,"class","actions-tab svelte-1n7o7cr")},m(_,g){C(_,e,g),c(e,t),c(t,n),c(e,s),d.m(e,null),i||(r=I(n,"click",l[151]),i=!0)},p(_,g){u===(u=a(_))&&d?d.p(_,g):(d.d(1),d=u(_),d&&(d.c(),d.m(e,null)))},i:ee,o:ee,d(_){_&&w(e),d.d(),i=!1,r()}}}function Wd(l){let e,t,n,s=p("file.addFile")+"",i,r,a,u=p("file.addFolder")+"",d,_,g,v,b,k,y,S,j,T,D,N,E,A=l[65].items.length>0&&Uo(l);const M=[t1,e1],R=[];function W(Y,q){return Y[57]?0:1}k=W(l),y=R[k]=M[k](l);let B=l[53]&&!l[55]&&Go(),K=l[61]&&Jo(l);return{c(){e=f("div"),t=f("div"),n=f("button"),i=F(s),r=h(),a=f("button"),d=F(u),_=h(),g=f("button"),g.textContent=`${p("file.newFile")}`,v=h(),A&&A.c(),b=h(),y.c(),S=h(),B&&B.c(),j=h(),K&&K.c(),T=ot(),o(n,"class","btn btn-primary svelte-1n7o7cr"),n.disabled=l[53],o(a,"class","btn svelte-1n7o7cr"),a.disabled=l[53],o(g,"class","btn svelte-1n7o7cr"),o(t,"class","tab-toolbar svelte-1n7o7cr"),o(e,"class","files-tab svelte-1n7o7cr")},m(Y,q){C(Y,e,q),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,_),c(t,g),c(t,v),A&&A.m(t,null),c(e,b),R[k].m(e,null),c(e,S),B&&B.m(e,null),C(Y,j,q),K&&K.m(Y,q),C(Y,T,q),D=!0,N||(E=[I(n,"click",l[144]),I(a,"click",l[145]),I(g,"click",l[92])],N=!0)},p(Y,q){(!D||q[1]&4194304)&&(n.disabled=Y[53]),(!D||q[1]&4194304)&&(a.disabled=Y[53]),Y[65].items.length>0?A?A.p(Y,q):(A=Uo(Y),A.c(),A.m(t,null)):A&&(A.d(1),A=null);let J=k;k=W(Y),k===J?R[k].p(Y,q):(lt(),de(R[J],1,1,()=>{R[J]=null}),nt(),y=R[k],y?y.p(Y,q):(y=R[k]=M[k](Y),y.c()),re(y,1),y.m(e,S)),Y[53]&&!Y[55]?B||(B=Go(),B.c(),B.m(e,null)):B&&(B.d(1),B=null),Y[61]?K?(K.p(Y,q),q[1]&1073741824&&re(K,1)):(K=Jo(Y),K.c(),re(K,1),K.m(T.parentNode,T)):K&&(lt(),de(K,1,1,()=>{K=null}),nt())},i(Y){D||(re(y),re(K),D=!0)},o(Y){de(y),de(K),D=!1},d(Y){Y&&(w(e),w(j),w(T)),A&&A.d(),R[k].d(),B&&B.d(),K&&K.d(Y),N=!1,ve(E)}}}function Bd(l){let e,t,n,s,i,r,a,u=l[46]&&qo(l);function d(v,b){return v[28].length===0&&!v[46]?r1:i1}let _=d(l),g=_(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${p("note.add")}`,s=h(),u&&u.c(),i=h(),g.c(),o(n,"class","btn btn-primary svelte-1n7o7cr"),o(t,"class","tab-toolbar svelte-1n7o7cr"),o(e,"class","notes-tab svelte-1n7o7cr")},m(v,b){C(v,e,b),c(e,t),c(t,n),c(e,s),u&&u.m(e,null),c(e,i),g.m(e,null),r||(a=I(n,"click",l[124]),r=!0)},p(v,b){v[46]?u?u.p(v,b):(u=qo(v),u.c(),u.m(e,i)):u&&(u.d(1),u=null),_===(_=d(v))&&g?g.p(v,b):(g.d(1),g=_(v),g&&(g.c(),g.m(e,null)))},i:ee,o:ee,d(v){v&&w(e),u&&u.d(),g.d(),r=!1,a()}}}function Hd(l){let e,t,n=l[26].title+"",s,i,r,a,u,d,_=l[150](l[26].type)+"",g,v,b,k,y,S=(l[26].section||"—")+"",j,T,D,N,E,A=ut(l[26].createdAt)+"",M,R,W,B,K,Y,q,J,H=p("overview.newNote")+"",U,P,V,z,O,se,ie=p("overview.addFile")+"",$,le,te,ce,pe,ye,He=p("overview.addAction")+"",Ae,Q,x,ue,ge,Se,De,Ue=p("overview.logTime")+"",Ge,qe,Je,Fe,Pe,ke=l[28].length>0&&Qo(l),Ve=l[31].length>0&&Zo(l);return{c(){e=f("div"),t=f("h2"),s=F(n),i=h(),r=f("div"),a=f("div"),u=f("span"),u.textContent=`${p("overview.type")}`,d=f("span"),g=F(_),v=h(),b=f("div"),k=f("span"),k.textContent=`${p("overview.section")}`,y=f("span"),j=F(S),T=h(),D=f("div"),N=f("span"),N.textContent=`${p("overview.created")}`,E=f("span"),M=F(A),R=h(),W=f("div"),B=f("button"),K=X("svg"),Y=X("path"),q=X("path"),J=h(),U=F(H),P=h(),V=f("button"),z=X("svg"),O=X("path"),se=h(),$=F(ie),le=h(),te=f("button"),ce=X("svg"),pe=X("polygon"),ye=h(),Ae=F(He),Q=h(),x=f("button"),ue=X("svg"),ge=X("circle"),Se=X("polyline"),De=h(),Ge=F(Ue),qe=h(),ke&&ke.c(),Je=h(),Ve&&Ve.c(),o(t,"class","svelte-1n7o7cr"),o(u,"class","meta-label svelte-1n7o7cr"),o(d,"class","svelte-1n7o7cr"),o(a,"class","meta-item svelte-1n7o7cr"),o(k,"class","meta-label svelte-1n7o7cr"),o(y,"class","svelte-1n7o7cr"),o(b,"class","meta-item svelte-1n7o7cr"),o(N,"class","meta-label svelte-1n7o7cr"),o(E,"class","svelte-1n7o7cr"),o(D,"class","meta-item svelte-1n7o7cr"),o(r,"class","meta-grid svelte-1n7o7cr"),o(Y,"d","M12 20h9"),o(Y,"class","svelte-1n7o7cr"),o(q,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),o(q,"class","svelte-1n7o7cr"),o(K,"width","16"),o(K,"height","16"),o(K,"viewBox","0 0 24 24"),o(K,"fill","none"),o(K,"stroke","currentColor"),o(K,"stroke-width","2"),o(K,"stroke-linecap","round"),o(K,"stroke-linejoin","round"),o(K,"class","svelte-1n7o7cr"),o(B,"class","qa-btn svelte-1n7o7cr"),o(O,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),o(O,"class","svelte-1n7o7cr"),o(z,"width","16"),o(z,"height","16"),o(z,"viewBox","0 0 24 24"),o(z,"fill","none"),o(z,"stroke","currentColor"),o(z,"stroke-width","2"),o(z,"stroke-linecap","round"),o(z,"stroke-linejoin","round"),o(z,"class","svelte-1n7o7cr"),o(V,"class","qa-btn svelte-1n7o7cr"),o(pe,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),o(pe,"class","svelte-1n7o7cr"),o(ce,"width","16"),o(ce,"height","16"),o(ce,"viewBox","0 0 24 24"),o(ce,"fill","none"),o(ce,"stroke","currentColor"),o(ce,"stroke-width","2"),o(ce,"stroke-linecap","round"),o(ce,"stroke-linejoin","round"),o(ce,"class","svelte-1n7o7cr"),o(te,"class","qa-btn svelte-1n7o7cr"),o(ge,"cx","12"),o(ge,"cy","12"),o(ge,"r","10"),o(ge,"class","svelte-1n7o7cr"),o(Se,"points","12 6 12 12 16 14"),o(Se,"class","svelte-1n7o7cr"),o(ue,"width","16"),o(ue,"height","16"),o(ue,"viewBox","0 0 24 24"),o(ue,"fill","none"),o(ue,"stroke","currentColor"),o(ue,"stroke-width","2"),o(ue,"stroke-linecap","round"),o(ue,"stroke-linejoin","round"),o(ue,"class","svelte-1n7o7cr"),o(x,"class","qa-btn svelte-1n7o7cr"),o(W,"class","quick-actions svelte-1n7o7cr"),o(e,"class","overview svelte-1n7o7cr")},m(Ne,ze){C(Ne,e,ze),c(e,t),c(t,s),c(e,i),c(e,r),c(r,a),c(a,u),c(a,d),c(d,g),c(r,v),c(r,b),c(b,k),c(b,y),c(y,j),c(r,T),c(r,D),c(D,N),c(D,E),c(E,M),c(e,R),c(e,W),c(W,B),c(B,K),c(K,Y),c(K,q),c(B,J),c(B,U),c(W,P),c(W,V),c(V,z),c(z,O),c(V,se),c(V,$),c(W,le),c(W,te),c(te,ce),c(ce,pe),c(te,ye),c(te,Ae),c(W,Q),c(W,x),c(x,ue),c(ue,ge),c(ue,Se),c(x,De),c(x,Ge),c(e,qe),ke&&ke.m(e,null),c(e,Je),Ve&&Ve.m(e,null),Fe||(Pe=[I(B,"click",l[174]),I(V,"click",l[175]),I(te,"click",l[151]),I(x,"click",l[176])],Fe=!0)},p(Ne,ze){ze[0]&67108864&&n!==(n=Ne[26].title+"")&&G(s,n),ze[0]&67108864&&_!==(_=Ne[150](Ne[26].type)+"")&&G(g,_),ze[0]&67108864&&S!==(S=(Ne[26].section||"—")+"")&&G(j,S),ze[0]&67108864&&A!==(A=ut(Ne[26].createdAt)+"")&&G(M,A),Ne[28].length>0?ke?ke.p(Ne,ze):(ke=Qo(Ne),ke.c(),ke.m(e,Je)):ke&&(ke.d(1),ke=null),Ne[31].length>0?Ve?Ve.p(Ne,ze):(Ve=Zo(Ne),Ve.c(),Ve.m(e,null)):Ve&&(Ve.d(1),Ve=null)},i:ee,o:ee,d(Ne){Ne&&w(e),ke&&ke.d(),Ve&&Ve.d(),Fe=!1,ve(Pe)}}}function Ud(l){let e,t=fe(l[22]),n=[];for(let s=0;s0&&Mo(l);return{c(){e=f("div"),t=f("div"),n=f("div"),s=f("span"),r=F(i),a=h(),u=f("span"),_=F(d),g=h(),b=F(v),k=F(" · "),S=F(y),j=h(),T=f("div"),D=f("button"),D.textContent=`${p("worklog.apply")}`,N=h(),K&&K.c(),E=h(),o(s,"class","suggestion-summary svelte-1n7o7cr"),o(u,"class","suggestion-meta svelte-1n7o7cr"),o(n,"class","suggestion-info svelte-1n7o7cr"),o(D,"class","btn btn-sm btn-primary svelte-1n7o7cr"),o(T,"class","suggestion-actions svelte-1n7o7cr"),o(t,"class","suggestion-main svelte-1n7o7cr"),o(t,"role","button"),o(t,"tabindex","0"),o(e,"class","suggestion-card svelte-1n7o7cr"),he(e,"expanded",l[337]._expanded)},m(Y,q){C(Y,e,q),c(e,t),c(t,n),c(n,s),c(s,r),c(n,a),c(n,u),c(u,_),c(u,g),c(u,b),c(u,k),c(u,S),c(t,j),c(t,T),c(T,D),c(e,N),K&&K.m(e,null),c(e,E),A||(M=[I(D,"click",Ye(R)),I(t,"click",W),I(t,"keydown",B)],A=!0)},p(Y,q){l=Y,q[0]&67108864|q[1]&256&&i!==(i=l[337].summary+"")&&G(r,i),q[0]&67108864|q[1]&256&&d!==(d=l[337].suggestedMin+"")&&G(_,d),q[0]&67108864|q[1]&256&&y!==(y=p("suggest.confidence."+l[337].confidence)+"")&&G(S,y),l[337]._expanded&&l[337].events&&l[337].events.length>0?K?K.p(l,q):(K=Mo(l),K.c(),K.m(e,E)):K&&(K.d(1),K=null),q[0]&67108864|q[1]&256&&he(e,"expanded",l[337]._expanded)},d(Y){Y&&w(e),K&&K.d(),A=!1,ve(M)}}}function Gd(l){let e,t=fe(l[31]),n=[];for(let s=0;s0?Xd:v[318].source==="suggestion"?Qd:v[318].source==="unknown"||v[318].source==="imported"?Yd:qd}let d=u(l),_=d(l),g=l[318].source==="suggestion"&&l[318]._events&&l[318]._events.length>0&&Vo(l);return{c(){e=f("div"),a&&a.c(),t=h(),n=f("div"),s=f("span"),s.textContent=`${p("worklog.source")}`,i=h(),_.c(),r=h(),g&&g.c(),o(s,"class","wl-detail-label svelte-1n7o7cr"),o(n,"class","wl-detail-section svelte-1n7o7cr"),o(e,"class","worklog-entry-detail svelte-1n7o7cr")},m(v,b){C(v,e,b),a&&a.m(e,null),c(e,t),c(e,n),c(n,s),c(n,i),_.m(n,null),c(e,r),g&&g.m(e,null)},p(v,b){v[318].details?a?a.p(v,b):(a=zo(v),a.c(),a.m(e,t)):a&&(a.d(1),a=null),d!==(d=u(v))&&(_.d(1),_=d(v),_&&(_.c(),_.m(n,null))),v[318].source==="suggestion"&&v[318]._events&&v[318]._events.length>0?g?g.p(v,b):(g=Vo(v),g.c(),g.m(e,null)):g&&(g.d(1),g=null)},d(v){v&&w(e),a&&a.d(),_.d(),g&&g.d()}}}function zo(l){let e,t,n,s,i=l[318].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${p("worklog.details")}`,n=h(),s=f("p"),r=F(i),o(t,"class","wl-detail-label svelte-1n7o7cr"),o(s,"class","svelte-1n7o7cr"),o(e,"class","wl-detail-section svelte-1n7o7cr")},m(a,u){C(a,e,u),c(e,t),c(e,n),c(e,s),c(s,r)},p(a,u){u[1]&1&&i!==(i=a[318].details+"")&&G(r,i)},d(a){a&&w(e)}}}function qd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Yd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceUnknown")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Qd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestionNoEvents")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Xd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceSuggestion")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Zd(l){let e;return{c(){e=f("p"),e.textContent=`${p("worklog.sourceManual")}`,o(e,"class","svelte-1n7o7cr")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Vo(l){let e,t,n,s=fe(l[318]._events),i=[];for(let r=0;r',D=h(),o(n,"class","action-title svelte-1n7o7cr"),o(a,"class","action-type svelte-1n7o7cr"),o(g,"class","action-data svelte-1n7o7cr"),o(t,"class","action-info svelte-1n7o7cr"),o(S,"class","btn btn-sm svelte-1n7o7cr"),o(T,"class","btn btn-sm btn-danger svelte-1n7o7cr"),o(y,"class","action-btns svelte-1n7o7cr"),o(e,"class","action-card svelte-1n7o7cr")},m(R,W){C(R,e,W),c(e,t),c(t,n),c(n,i),c(t,r),c(t,a),c(a,d),c(t,_),c(t,g),c(g,b),c(e,k),c(e,y),c(y,S),c(y,j),c(y,T),c(e,D),N||(E=[I(S,"click",A),I(T,"click",M)],N=!0)},p(R,W){l=R,W[0]&1073741824&&s!==(s=l[329].title+"")&&G(i,s),W[0]&1073741824&&u!==(u=l[155](l[329].type)+"")&&G(d,u),W[0]&1073741824&&v!==(v=l[329].data+"")&&G(b,v)},d(R){R&&w(e),N=!1,ve(E)}}}function Uo(l){let e,t=p("common.paste")+"",n,s,i=l[65].items.length+"",r,a,u;return{c(){e=f("button"),n=F(t),s=h(),r=F(i),o(e,"class","btn svelte-1n7o7cr")},m(d,_){C(d,e,_),c(e,n),c(e,s),c(e,r),a||(u=I(e,"click",l[97]),a=!0)},p(d,_){_[2]&8&&i!==(i=d[65].items.length+"")&&G(r,i)},d(d){d&&w(e),a=!1,u()}}}function e1(l){let e,t,n,s,i,r,a;const u=[n1,l1],d=[];function _(k,y){return k[59].length>0?0:1}e=_(l),t=d[e]=u[e](l);const g=[o1,s1],v=[];function b(k,y){return k[60].length===0?0:1}return s=b(l),i=v[s]=g[s](l),{c(){t.c(),n=h(),i.c(),r=ot()},m(k,y){d[e].m(k,y),C(k,n,y),v[s].m(k,y),C(k,r,y),a=!0},p(k,y){let S=e;e=_(k),e===S?d[e].p(k,y):(lt(),de(d[S],1,1,()=>{d[S]=null}),nt(),t=d[e],t?t.p(k,y):(t=d[e]=u[e](k),t.c()),re(t,1),t.m(n.parentNode,n));let j=s;s=b(k),s===j?v[s].p(k,y):(lt(),de(v[j],1,1,()=>{v[j]=null}),nt(),i=v[s],i?i.p(k,y):(i=v[s]=g[s](k),i.c()),re(i,1),i.m(r.parentNode,r))},i(k){a||(re(t),re(i),a=!0)},o(k){de(t),de(i),a=!1},d(k){k&&(w(n),w(r)),d[e].d(k),v[s].d(k)}}}function t1(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("common.loading")}`,o(t,"class","svelte-1n7o7cr"),o(e,"class","empty-state svelte-1n7o7cr")},m(n,s){C(n,e,s),c(e,t)},p:ee,i:ee,o:ee,d(n){n&&w(e)}}}function l1(l){let e,t;return e=new Fi({props:{crumbs:[{name:p("file.root")}]}}),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p:ee,i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function n1(l){let e,t,n,s,i,r,a,u=p("common.backLabel")+"",d,_,g,v;return e=new Fi({props:{crumbs:[{name:p("file.root")},...l[59]]}}),e.$on("navigate",l[183]),{c(){Ke(e.$$.fragment),t=h(),n=f("button"),s=X("svg"),i=X("line"),r=X("polyline"),a=h(),d=F(u),o(i,"x1","19"),o(i,"y1","12"),o(i,"x2","5"),o(i,"y2","12"),o(i,"class","svelte-1n7o7cr"),o(r,"points","12 19 5 12 12 5"),o(r,"class","svelte-1n7o7cr"),o(s,"width","14"),o(s,"height","14"),o(s,"viewBox","0 0 24 24"),o(s,"fill","none"),o(s,"stroke","currentColor"),o(s,"stroke-width","2"),o(s,"stroke-linecap","round"),o(s,"stroke-linejoin","round"),o(s,"class","svelte-1n7o7cr"),o(n,"class","btn btn-sm back-btn svelte-1n7o7cr")},m(b,k){We(e,b,k),C(b,t,k),C(b,n,k),c(n,s),c(s,i),c(s,r),c(n,a),c(n,d),_=!0,g||(v=I(n,"click",l[88]),g=!0)},p(b,k){const y={};k[1]&268435456&&(y.crumbs=[{name:p("file.root")},...b[59]]),e.$set(y)},i(b){_||(re(e.$$.fragment,b),_=!0)},o(b){de(e.$$.fragment,b),_=!1},d(b){b&&(w(t),w(n)),Be(e,b),g=!1,v()}}}function s1(l){let e,t=[],n=new Map,s,i=fe(l[60]);const r=a=>a[326].id;for(let a=0;a0?p("file.noFiles"):p("file.noFilesCase"))+"",r,a,u,d,_,g,v,b,k,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=h(),s=f("p"),r=F(i),a=h(),u=f("p"),u.textContent=`${p("file.hint")}`,d=h(),_=f("div"),g=f("button"),g.textContent=`${p("file.addFileSimple")}`,v=h(),b=f("button"),b.textContent=`${p("file.addFolderSimple")}`,o(t,"class","empty-icon svelte-1n7o7cr"),o(s,"class","svelte-1n7o7cr"),o(u,"class","hint svelte-1n7o7cr"),o(g,"class","btn btn-primary svelte-1n7o7cr"),o(b,"class","btn svelte-1n7o7cr"),o(_,"class","empty-actions svelte-1n7o7cr"),o(e,"class","empty-state svelte-1n7o7cr")},m(S,j){C(S,e,j),c(e,t),c(e,n),c(e,s),c(s,r),c(e,a),c(e,u),c(e,d),c(e,_),c(_,g),c(_,v),c(_,b),k||(y=[I(g,"click",l[144]),I(b,"click",l[145])],k=!0)},p(S,j){j[1]&268435456&&i!==(i=(S[59].length>0?p("file.noFiles"):p("file.noFilesCase"))+"")&&G(r,i)},i:ee,o:ee,d(S){S&&w(e),k=!1,ve(y)}}}function Ko(l,e){let t,n,s;return n=new du({props:{item:e[326],selected:e[66].includes(e[326].id),onDragStart:e[101],onDragOver:e[102],onDrop:e[103]}}),n.$on("navigate",e[184]),n.$on("preview",e[185]),n.$on("openExternal",e[186]),n.$on("showInFolder",e[187]),n.$on("delete",e[188]),n.$on("rename",e[189]),n.$on("duplicate",e[190]),n.$on("cut",e[191]),n.$on("copy",e[192]),n.$on("selectOne",e[193]),n.$on("toggleSelect",e[194]),n.$on("rangeSelect",e[195]),{key:l,first:null,c(){t=ot(),Ke(n.$$.fragment),this.first=t},m(i,r){C(i,t,r),We(n,i,r),s=!0},p(i,r){e=i;const a={};r[1]&536870912&&(a.item=e[326]),r[1]&536870912|r[2]&16&&(a.selected=e[66].includes(e[326].id)),n.$set(a)},i(i){s||(re(n.$$.fragment,i),s=!0)},o(i){de(n.$$.fragment,i),s=!1},d(i){i&&w(t),Be(n,i)}}}function Go(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${p("file.scanning")}`,o(t,"class","svelte-1n7o7cr"),o(e,"class","empty-state svelte-1n7o7cr")},m(n,s){C(n,e,s),c(e,t)},d(n){n&&w(e)}}}function Jo(l){let e,t;return e=new Nu({props:{item:l[61],content:l[62],loading:l[63],error:l[64]}}),e.$on("close",l[91]),e.$on("openExternal",l[196]),{c(){Ke(e.$$.fragment)},m(n,s){We(e,n,s),t=!0},p(n,s){const i={};s[1]&1073741824&&(i.item=n[61]),s[2]&1&&(i.content=n[62]),s[2]&2&&(i.loading=n[63]),s[2]&4&&(i.error=n[64]),e.$set(i)},i(n){t||(re(e.$$.fragment,n),t=!0)},o(n){de(e.$$.fragment,n),t=!1},d(n){Be(e,n)}}}function qo(l){let e,t,n,s,i,r,a,u,d;return{c(){e=f("div"),t=f("input"),n=h(),s=f("div"),i=f("button"),i.textContent=`${p("common.create")}`,r=h(),a=f("button"),a.textContent=`${p("common.cancel")}`,o(t,"type","text"),o(t,"placeholder",p("note.title")),o(t,"class","svelte-1n7o7cr"),o(i,"class","btn btn-primary svelte-1n7o7cr"),o(a,"class","btn svelte-1n7o7cr"),o(s,"class","form-actions svelte-1n7o7cr"),o(e,"class","create-form svelte-1n7o7cr")},m(_,g){C(_,e,g),c(e,t),be(t,l[47]),c(e,n),c(e,s),c(s,i),c(s,r),c(s,a),u||(d=[I(t,"input",l[179]),I(t,"keydown",l[180]),I(i,"click",l[126]),I(a,"click",l[125])],u=!0)},p(_,g){g[1]&65536&&t.value!==_[47]&&be(t,_[47])},d(_){_&&w(e),u=!1,ve(d)}}}function i1(l){let e,t=fe(l[28]),n=[];for(let s=0;sde(se[$],1,1,()=>{se[$]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${p("nav.createNode")}`,s=h(),z&&z.c(),i=h(),r=f("div"),a=f("span"),a.textContent=`${p("template.select")}`,u=h(),d=f("div"),_=f("button"),Ke(g.$$.fragment),v=h(),b=f("div"),k=f("span"),k.textContent=`${p("template.optionNone")}`,y=h(),S=f("span"),S.textContent=`${p("template.none.desc")}`,j=h();for(let $=0;${k=null}),nt()),S[45].node&&S[45].node.parent_id?y?y.p(S,j):(y=ii(S),y.c(),y.m(t,i)):y&&(y.d(1),y=null),(!g||j[1]&16384)&&ct(t,"left",S[45].x+"px"),(!g||j[1]&16384)&&ct(t,"top",S[45].y+"px")},i(S){g||(re(k),g=!0)},o(S){de(k),g=!1},d(S){S&&w(e),k&&k.d(),y&&y.d(),v=!1,ve(b)}}}function si(l){let e,t,n,s,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=h();for(let d=0;d0?d[6]:[{id:"",title:"template.optionNone",icon:"folder"}]);let g;for(g=0;gl[266].call(y)),o(v,"class","svelte-1n7o7cr"),o(g,"class","form-group svelte-1n7o7cr"),o(D,"class","label-text svelte-1n7o7cr"),o(M,"type","text"),o(M,"placeholder",R=l[50]==="open_url"?p("action.urlPlaceholder"):l[50]==="open_folder"||l[50]==="open_file"?p("action.pathPlaceholder"):p("action.commandPlaceholder")),o(M,"class","svelte-1n7o7cr"),o(T,"class","svelte-1n7o7cr"),o(j,"class","form-group svelte-1n7o7cr"),o(K,"class","btn btn-primary svelte-1n7o7cr"),o(q,"class","btn svelte-1n7o7cr"),o(B,"class","modal-actions svelte-1n7o7cr"),o(t,"class","modal svelte-1n7o7cr"),o(e,"class","modal-overlay svelte-1n7o7cr"),o(e,"role","button"),o(e,"tabindex","0")},m(V,z){C(V,e,z),c(e,t),c(t,n),c(t,s),c(t,i),c(i,r),c(r,a),c(r,u),c(r,d),be(d,l[49]),c(t,_),c(t,g),c(g,v),c(v,b),c(v,k),c(v,y);for(let O=0;O{r[_]=null}),nt(),t=r[e],t?t.p(u,d):(t=r[e]=i[e](u),t.c()),re(t,1),t.m(n.parentNode,n))},i(u){s||(re(t),s=!0)},o(u){de(t),s=!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 Ot(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&&Ot(n.children,e,t))return!0}return!1}function Ri(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&&Ri(n.children,e,t))return!0}return!1}function vi(l){return l.eventIds&&l.eventIds.length?l.eventIds:l.events&&l.events.length?l.events.map(e=>e.id).filter(Boolean):[]}function Zt(l){try{oe("WriteDebugLog",l)}catch{}}function El(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function $e(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 a1(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 u1(l,e,t){let n=null,s=!1,i=!1,r=!1,a=!1,u=[],d=[],_=[],g=null,v=[],b=0,k=!0,y=[],S=null,j="",T="",D=!1,N="",E="all",A="all",M="",R="",W="",B=[],K=!1,Y=[],q="",J="";function H(m){return{"vault not open":p("error.vaultNotOpen")}[m]||m}let U="",P=null,V="overview",z=[],O=null,se=[],ie=[],$=[],le=!1,te="",ce="",pe="",ye="",He=!1,Ae=!1,Q=[],x=0,ue=!1,ge="",Se=null,De=null,Ue={visible:!1,x:0,y:0,node:null},Ge=!1,qe="",Je=!1,Fe="",Pe="open_url",ke="",Ve=[{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,ze=!1,je=null,we=!1,Me="",Te="",Ee={},Oe=!1,_e=null,ae=[],Z=[],Ce=null,et="",rt=!1,st="",Re={items:[],mode:"copy"},Ie=[],Pt=[],ol=!1,il=!1,Ll="",Rl="",zl=!1,Vl=p("common.delete"),Ht=null,Ut=null,Kt=!1,Gt="",Ct="",St="",rl=null,cl=!1,Lt="",Jt="";const zi=[{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 al=null;hi(async()=>{try{if(t(0,n=await oe("GetStartupStatus")),s=!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(m){t(24,J=String(m))}try{t(23,q=await oe("VerstakVersion")||"verstak-gui/v2"),t(4,u=await oe("ListSystemViews")||[]),t(5,d=await oe("ListWorkspaceTree")||[]),t(6,_=await oe("ListEnabledTemplates")||[])}catch(m){t(24,J=String(m)),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,_=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",br),al=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Zl),t(52,Ne=!1),yl()}),Pl(()=>{al&&al(),window.removeEventListener("keydown",Zl)});async function Ol(m){t(25,U=m),t(26,P=null),t(27,V="overview"),t(28,z=[]),se=[],t(30,ie=[]),t(31,$=[]),t(39,Q=[]),t(41,ue=!1),t(24,J=""),t(7,g=null),t(8,v=[]),b=0,k=!0,t(9,y=[]),t(10,S=null);try{m==="today"?(t(7,g=await oe("ListTodayView")||{cases:[]}),t(39,Q=await oe("GetSuggestions")||[]),t(40,x=Q.length)):m==="journal"?await Nt():m==="activity"&&(t(8,v=await oe("ListActivityFeed",50,0)||[]),b=v.length,k=v.length===50)}catch(L){t(24,J=String(L)),t(7,g={cases:[]}),t(8,v=[])}}async function vt(m){t(26,P=m),t(27,V="overview"),t(28,z=[]),se=[],t(30,ie=[]),t(31,$=[]),t(39,Q=[]),t(60,Z=[]),t(59,ae=[]),t(58,_e=null),t(61,Ce=null),t(62,et=""),t(66,Ie=[]),Pt=[],t(29,O=null),t(41,ue=!1),t(46,Ge=!1),t(24,J=""),t(22,Y=[]),await Wl(m.id)}async function Wl(m){try{t(28,z=await oe("ListNotes",m)||[])}catch{}try{se=await oe("ListFiles",m)||[]}catch{}try{t(30,ie=await oe("ListActions",m)||[])}catch{}try{t(31,$=El(await oe("ListWorklog",m)))}catch{}try{t(39,Q=await oe("GetSuggestions")||[]),t(40,x=Q.length)}catch{t(39,Q=[]),t(40,x=0)}try{t(22,Y=await oe("ListActivityByNode",m,50,0)||[])}catch{}}async function tt(m){t(57,Oe=!0);try{let L=await oe("ListItems",m)||[];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,Oe=!1)}async function ul(m){if(!P)return;try{const ne=await oe("GetNodeDetail",m);ne&&t(59,ae=[...ae,{id:m,name:ne.title}])}catch{t(59,ae=[...ae,{id:m,name:"..."}])}t(58,_e=m),t(56,Ee={...Ee,[m]:!0});const L=await oe("ListWorkspaceChildren",m)||[];Ot(d,m,L),t(5,d=[...d]),await tt(m)}function Bl(){if(ae.length<2)t(59,ae=[]),t(58,_e=null),tt(P.id);else{const m=ae[ae.length-2];t(59,ae=ae.slice(0,-1)),t(58,_e=m.id),tt(m.id)}}function Hl(m){const L=ae[m];t(59,ae=ae.slice(0,m+1)),t(58,_e=L.id),tt(L.id)}async function qt(m){t(61,Ce=m),t(62,et=""),t(64,st=""),t(63,rt=!0);try{su(m)?t(62,et=await oe("GetFileBase64",m.fileId)||""):ou(m)&&t(62,et=await oe("ReadFileText",m.fileId)||"")}catch(L){t(64,st=String(L))}t(63,rt=!1)}function fl(){t(61,Ce=null),t(62,et=""),t(64,st="")}async function Vi(){const m=prompt(p("file.namePrompt"));if(!(!m||!m.trim()))try{const L=_e||P.id;await oe("CreateEmptyFile",L,m.trim()),await tt(L),await ml(L)}catch(L){t(24,J=String(L))}}async function Ul(m){try{await oe("DuplicateNode",m);const L=_e||P.id;await tt(L),await ml(L)}catch(L){t(24,J=String(L))}}function Kl(m){const L=Z.find(ne=>ne.id===m);L&&pl(L.id,L.name)}function Gl(m){t(65,Re={items:[m],mode:"cut"})}function Jl(m){t(65,Re={items:[m],mode:"copy"})}async function ql(){if(Re.items.length===0)return;const m=_e||P.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,m);t(65,Re={items:[],mode:"copy"}),await tt(m)}catch(L){t(24,J=String(L))}}function Yl(m){Ie.includes(m)?t(66,Ie=Ie.filter(L=>L!==m)):t(66,Ie=[...Ie,m])}function Ql(m){t(66,Ie=[m])}function Oi(){t(66,Ie=Z.map(m=>m.id))}function Xl(m){if(Z.length===0)return;const L=Ie.length>0?Ie[Ie.length-1]:Z[0].id,ne=Z.findIndex(bt=>bt.id===L),me=Z.findIndex(bt=>bt.id===m);if(ne===-1||me===-1)return;const xe=Math.min(ne,me),it=Math.max(ne,me),Cl=Z.slice(xe,it+1).map(bt=>bt.id),bn=new Set(Ie);Cl.forEach(bt=>bn.add(bt)),t(66,Ie=[...bn])}function Wi(){t(66,Ie=[])}function dl(m){return m.length>0?m:Z.map(L=>L.id)}async function Bi(){const m=dl(Ie),L=Z.find(me=>me.id===m[0]);let ne;m.length===1&&(L==null?void 0:L.type)==="folder"?ne=p("delete.folder"):m.length===1?ne=p("delete.file"):ne=p("delete.files",{count:m.length}),Rt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{for(const xe of m)try{await oe("DeleteFileOrFolder",xe)}catch(it){t(24,J=String(it))}t(66,Ie=[]);const me=_e||P.id;await tt(me)}})}function Hi(){const m=dl(Ie);t(65,Re={items:m,mode:"cut"}),t(66,Ie=[])}function Ui(){const m=dl(Ie);t(65,Re={items:m,mode:"copy"}),t(66,Ie=[])}function Ki(m,L){const ne=Ie.includes(L)?Ie:[L];Pt=ne,m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",ne.join(","))}function Gi(m,L){const ne=Z.find(me=>me.id===L);ne&&ne.type==="folder"&&(m.preventDefault(),m.dataTransfer.dropEffect="move")}async function Ji(m,L){if(m.preventDefault(),Pt.length!==0){for(const ne of Pt)try{await oe("MoveNode",ne,L)}catch(me){t(24,J=String(me))}Pt=[],t(66,Ie=[]),await tt(_e||P.id)}}function Zl(m){if(V==="files"&&!(m.target.tagName==="INPUT"||m.target.tagName==="TEXTAREA"))if(m.ctrlKey||m.metaKey)m.key==="c"||m.key==="C"?(m.preventDefault(),Ui()):m.key==="x"||m.key==="X"?(m.preventDefault(),Hi()):m.key==="v"||m.key==="V"?(m.preventDefault(),ql()):m.key==="a"||m.key==="A"?(m.preventDefault(),Oi()):m.key==="o"||m.key==="O"?(m.preventDefault(),qi()):m.key==="Enter"&&(m.preventDefault(),xl());else if(m.key==="Enter")m.preventDefault(),xl();else if(m.key==="Delete"||m.key==="Backspace"){if(Ce){m.preventDefault(),fl();return}if(Ie.length>0){m.preventDefault(),Bi();return}if(m.key==="Backspace"&&ae.length>0){m.preventDefault(),Bl();return}}else if(m.key==="Escape"){if(Ce){fl();return}if(Ie.length>0){Wi();return}}else m.key==="F2"&&(m.preventDefault(),Yi())}function xl(){if(Ie.length===1){const m=Z.find(L=>L.id===Ie[0]);m&&(m.type==="folder"?ul(m.id):qt(m))}}function qi(){if(Ie.length===1){const m=Z.find(L=>L.id===Ie[0]);m&&m.fileId&&oe("OpenFile",m.fileId)}}function pl(m,L){Gt=m,t(74,Ct=L),t(75,St=""),t(73,Kt=!0)}function Yi(){if(Ie.length===1){const m=Z.find(L=>L.id===Ie[0]);m&&pl(m.id,m.name)}}async function $l(){const m=Ct.trim();if(!m){t(75,St=p("rename.emptyError"));return}try{await oe("ValidateName",m)}catch{t(75,St=p("rename.invalidError"));return}t(73,Kt=!1);const L=Gt;Gt="";try{await oe("RenameNode",L,m),P&&P.id===L&&t(26,P={...P,title:m}),await zt(),_e&&await tt(_e)}catch(ne){t(24,J=String(ne))}}function Qi(){t(73,Kt=!1),Gt="",t(74,Ct=""),t(75,St="")}function Xi(m){m.key==="Enter"?$l():t(75,St="")}function Rt(m){t(69,Ll=m.title||p("common.confirm")),t(70,Rl=m.message||""),t(71,zl=m.danger!==void 0?m.danger:!0),t(72,Vl=m.confirmText||p("common.delete")),Ht=m.onConfirm||null,Ut=m.onCancel||null,t(68,il=!0)}function en(){t(68,il=!1),Ht=null,Ut=null}function Zi(){Ht&&Ht(),en()}function xi(){Ut&&Ut(),en()}function tn(m){t(43,Se=Ue.node),t(44,De=m),t(42,ge=""),t(41,ue=!0),jt()}function $i(){t(43,Se=null),t(44,De=void 0),t(42,ge=""),t(41,ue=!0)}function er(){t(41,ue=!1),t(42,ge=""),t(43,Se=null),t(44,De=void 0)}async function ln(){if(!(!ge.trim()||De===void 0))try{const m=Se?Se.id:"",L=De?De.id:"",ne=await oe("CreateNodeFromTemplate",m,ge.trim(),L);t(41,ue=!1),t(42,ge="");const me=ne?ne.id:null;if(t(43,Se=null),t(44,De=void 0),m){t(56,Ee={...Ee,[m]:!0});const xe=await oe("ListWorkspaceChildren",m)||[];Ot(d,m,xe),t(5,d=[...d])}else t(5,d=await oe("ListWorkspaceTree")||d);if(me){const xe=await oe("GetNodeDetail",me);xe&&(t(25,U=""),vt(xe))}}catch(m){t(24,J=String(m))}}function tr(m,L){t(45,Ue={visible:!0,x:m.clientX,y:m.clientY,node:L})}function jt(){t(45,Ue={visible:!1,x:0,y:0,node:null})}async function lr(m){const L=!Ee[m];if(t(56,Ee={...Ee,[m]:L}),!L)return;const ne=await oe("ListWorkspaceChildren",m)||[];Ot(d,m,ne),t(5,d=[...d])}async function nr(m,L){if(!(!m||!L||m===L))try{const ne=await oe("MoveNode",m,L);await zt();const me=await oe("GetNodeDetail",m);me&&(t(25,U=""),vt(me))}catch(ne){t(24,J=String(ne))}}async function sr(m){m.preventDefault();try{const L=m.dataTransfer.getData("text/plain");if(!L)return;const ne=await oe("GetNodeDetail",L);if(!ne||!ne.parent_id)return;await oe("MoveNode",L,""),await zt();const me=await oe("GetNodeDetail",L);me&&(t(25,U=""),vt(me))}catch(L){t(24,J=String(L))}}function or(m){m.preventDefault(),m.dataTransfer.dropEffect="move",t(67,ol=!0)}function ir(m){t(67,ol=!1)}function nn(m){pl(m.id,m.title),jt()}function sn(m){jt(),Rt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+m.title+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteNode",m.id),await zt(),P&&P.id===m.id&&t(26,P=null)}catch(L){t(24,J=String(L))}}})}async function Tt(m){jt();const L=typeof m=="string"?m:m.id;try{await oe("OpenFolder",L)}catch(ne){t(24,J=String(ne))}}async function on(m){jt();try{await oe("MoveNode",m.id,""),await zt();const L=await oe("GetNodeDetail",m.id);L&&(t(25,U=""),vt(L))}catch(L){t(24,J=String(L))}}async function zt(){const m=Object.keys(Ee).filter(ne=>Ee[ne]),L=await oe("ListWorkspaceTree")||[];for(const ne of m){const xe=(await oe("ListWorkspaceChildren",ne)||[]).map(it=>({...it}));Ri(L,ne,xe)}t(5,d=L)}async function ml(m){const L=await oe("ListWorkspaceChildren",m)||[];Ot(d,m,L),t(5,d=[...d])}function rn(){t(46,Ge=!0),t(47,qe="")}function rr(){t(46,Ge=!1),t(47,qe="")}async function cn(){if(!(!qe.trim()||!P))try{const m=await oe("CreateNote",P.id,qe.trim());t(28,z=[...z,m&&m.id?m:{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,z=[...z,L]),t(46,Ge=!1),t(47,qe="")}}async function Et(m){if(O&&O.dirty){Rt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:async()=>{await an(m)}});return}await an(m)}async function an(m){try{const L=await oe("ReadNote",m.id);t(29,O={id:m.id,title:m.title,content:L||"",dirty:!1})}catch{t(29,O={id:m.id,title:m.title,content:"# "+m.title+` - -`,dirty:!1})}}function cr(){if(O&&O.dirty){Rt({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:()=>{t(29,O=null)}});return}t(29,O=null)}function ar(m){O&&(t(29,O.content=m.target.value,O),t(29,O.dirty=!0,O))}async function ur(){if(O)try{await oe("SaveNote",O.id,O.content),t(29,O.dirty=!1,O)}catch{t(29,O.dirty=!1,O)}}function fr(){t(33,te=""),t(34,ce=""),t(35,pe=""),t(36,ye=""),t(37,He=!1),t(38,Ae=!1),t(32,le=!0)}function dr(){t(32,le=!1)}async function pr(){const m=parseInt(ce,10);if(!(!te.trim()||isNaN(m)||m<=0||!P)){try{await oe("CreateWorklogFull",P.id,te.trim(),ye,pe,m,Ae,He)}catch{}t(31,$=El(await oe("ListWorklog",P.id))||$),t(32,le=!1)}}async function un(){t(39,Q=await oe("GetSuggestions")||[]),t(40,x=Q.length),P&&t(31,$=El(await oe("ListWorklog",P.id))),U==="journal"&&await Nt()}async function _l(m){try{const L=vi(m),ne=JSON.stringify(L);Zt("acceptTodaySuggestion: nodeId="+m.nodeId+" eventIds="+ne+" events="+JSON.stringify((m.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",m.nodeId,m.summary,m.suggestedMin,"",ne),await un()}catch(L){Zt("acceptTodaySuggestion error: "+L)}}async function fn(m){try{const L=vi(m),ne=JSON.stringify(L);Zt("acceptJournalSuggestion: nodeId="+m.nodeId+" eventIds="+ne+" events="+JSON.stringify((m.events||[]).map(me=>({id:me.id,type:me.eventType,title:me.title})))),await oe("AcceptSuggestionWith",m.nodeId,m.summary,m.suggestedMin,"",ne),await un()}catch(L){Zt("acceptJournalSuggestion error: "+L)}}async function Nt(){try{const[m,L,ne]=await Promise.all([oe("ListWorklogReport",j,T,N,D,E,A),oe("WorklogReportSummary",j,T,N,D,E,A),oe("GetSuggestions")]);if(t(9,y=(m||[]).map(me=>(me._expanded===void 0&&(me._expanded=!1),me))),t(10,S=L||null),t(39,Q=ne||[]),t(40,x=Q.length),N&&!M)if(m&&m.length>0&&m[0].nodePath)t(17,M=m[0].nodePath);else try{t(17,M=await oe("GetNodeTitle",N))}catch{t(17,M="")}}catch{t(9,y=[]),t(10,S=null),t(39,Q=[]),t(40,x=0)}}async function Yt(m){try{const L=await oe("SaveWorklogReport",m,j,T,N,D,E,A);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 dn;async function vl(m){if(m._expanded=!m._expanded,t(9,y),m._expanded&&!m._events&&m._hasEvents===void 0)try{m._events=await oe("GetWorklogEntryEvents",m.id)||[],m._hasEvents=m._events.length>0,t(9,y)}catch{m._events=[],m._hasEvents=!1,t(9,y)}}async function gl(m){if(m._expanded=!m._expanded,m._expanded&&m.source==="suggestion"&&!m._events&&m._hasEvents===void 0)try{m._events=await oe("GetWorklogEntryEvents",m.id)||[],m._hasEvents=m._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(31,$)}async function mr(){const m=W.trim();if(!m||m.length<2){t(20,B=[]),t(21,K=!1);return}try{t(20,B=await oe("SearchNodes",m)||[]),t(21,K=B.length>0)}catch{t(20,B=[]),t(21,K=!1)}}function _r(){clearTimeout(dn),dn=setTimeout(mr,200)}function pn(m){t(14,N=m.id),t(17,M=m.path||m.title),t(13,D=!0),t(19,W=""),t(20,B=[]),t(21,K=!1),Nt()}function mn(){t(14,N=""),t(13,D=!1),t(17,M=""),t(19,W=""),t(20,B=[]),t(21,K=!1),Nt()}function vr(){t(11,j=""),t(12,T=""),t(14,N=""),t(13,D=!1),t(15,E="all"),t(16,A="all"),t(17,M=""),t(19,W=""),t(20,B=[]),t(21,K=!1),Nt()}async function _n(){const m=await oe("PickFile");if(!m)return;const L=_e||P.id;await hl(L,m)}async function gr(){const m=await oe("PickDirectory");if(!m)return;const L=_e||P.id;await hl(L,m)}async function hl(m,L){t(53,ze=!0);try{const ne=await oe("PreviewImport",L);t(54,je=ne),Me=L,Te=m,t(55,we=!0)}catch(ne){t(24,J=String(ne))}t(53,ze=!1)}async function bl(m){try{const L=Te||P.id,ne=m==="copy"?await oe("AddPathCopy",L,Me):await oe("AddPathLink",L,Me);t(55,we=!1),t(54,je=null),t(59,ae=[]),t(58,_e=null),await Promise.all([Wl(L),tt(L),ml(L)])}catch(L){t(24,J=String(L))}}function hr(){t(55,we=!1),t(54,je=null)}async function vn({id:m,type:L}){const ne=p(L==="folder"?"delete.folder":"delete.file");Rt({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await oe("DeleteFileOrFolder",m),se=se.filter(xe=>xe.nodeId!==m);const me=_e||P.id;await tt(me)}catch(me){t(24,J=String(me))}}})}async function br(m){if(!m||m.length===0)return;if(!P){t(24,J=p("error.selectCaseFirst"));return}const L=m[0];await hl(P.id,L)}function kr(m){return{note_created:p("event.noteCreated"),note_updated:p("event.noteUpdated"),note_deleted:"Заметка удалена",file_added:p("event.fileAdded"),file_deleted:p("event.fileDeleted"),file_renamed:p("event.fileRenamed"),file_copied:p("event.fileCopied"),file_moved:p("event.fileMoved"),folder_added:p("event.folderAdded"),folder_deleted:p("event.folderDeleted"),folder_renamed:p("event.folderRenamed"),folder_moved:"Папка перемещена",node_created:p("event.caseCreated"),node_updated:p("event.caseUpdated"),node_deleted:"Узел удалён",action_created:"Действие создано",action_done:"Действие выполнено",worklog_added:"Запись времени добавлена"}[m]||m}function yr(m){return{project:p("kind.project"),client:p("kind.client"),document:p("kind.document"),recipe:p("kind.recipe"),folder:p("kind.folder"),note:p("kind.note"),file:p("kind.file"),archive:p("kind.archive"),case:p("kind.case")}[m]||m||p("kind.case")}function wr(){t(48,Je=!0),t(49,Fe=""),t(50,Pe="open_url"),t(51,ke="")}function Cr(){t(48,Je=!1),t(49,Fe=""),t(51,ke="")}async function kl(){if(!(!Fe.trim()||!ke.trim()||!P))try{const m=await oe("CreateAction",P.id,Pe,Fe.trim(),ke.trim());m&&m.id&&t(30,ie=[...ie,m]),t(48,Je=!1),t(49,Fe=""),t(51,ke="")}catch(m){t(24,J=String(m))}}async function gn(m){try{await oe("DeleteAction",m),t(30,ie=ie.filter(L=>L.id!==m))}catch(L){t(24,J=String(L))}}function Sr(m){const L=Ve.find(ne=>ne.id===m);return L?L.label:m}async function dt(m){try{const L=await oe("GetNodeDetail",m);L&&vt(L)}catch(L){t(24,J=String(L))}}async function gt(m){const L=a1(m),ne=L.nodeId;if(ne)try{const me=await oe("GetNodeDetail",ne);if(!me)return;if(vt(me),L.tab==="notes"){if(t(27,V="notes"),L.targetId){try{t(28,z=await oe("ListNotes",ne)||[])}catch{}const xe=z.find(it=>it.id===L.targetId);xe&&setTimeout(()=>Et(xe),100)}}else if(L.tab==="files")if(t(27,V="files"),L.targetId)try{const xe=await oe("GetNodeDetail",L.targetId);if(xe&&xe.parent_id){await tt(xe.parent_id);const it=Z.find(Cl=>Cl.id===L.targetId);it&&it.type==="file"&&nu(it)&&setTimeout(()=>qt(it),150)}else await tt(ne)}catch{await tt(ne)}else await tt(ne)}catch(me){t(24,J=String(me))}}async function ht(m){return gt(m)}async function yl(){try{t(76,rl=await oe("SyncStatus"))}catch{t(76,rl={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}let hn="general";function wl(m){t(80,hn=m||"general"),t(3,a=!0)}function jr(){t(3,a=!1)}function Tr(m){const L=Array.isArray(m==null?void 0:m.conflicts)?m.conflicts:[],ne=Array.isArray(m==null?void 0:m.applyErrors)?m.applyErrors:[],me=[];return L.length>0&&me.push(p("sync.conflictsCount",{count:L.length})),ne.length>0&&me.push(p("sync.applyErrorsCount",{count:ne.length})),me.join(" · ")}async function Er(){t(77,cl=!0),t(78,Lt=""),t(79,Jt="");try{const m=await oe("SyncNow");await yl(),t(78,Lt=Tr(m)),t(79,Jt=Lt?"warning":"")}catch(m){console.error("sync error:",m),t(78,Lt=`${p("sync.status.error")}: ${(m==null?void 0:m.message)||m}`),t(79,Jt="warning")}finally{t(77,cl=!1)}}function Nr(m){t(1,i=!1),t(0,n=m),t(52,Ne=!1),window.location.reload()}function Dr(m){t(2,r=!1),t(0,n=m),t(52,Ne=!1),window.location.reload()}const Mr=m=>m.nodeId===P.id,Ir=m=>Ol(m.id),Ar=()=>wl("sync"),Fr=()=>wl(),Pr=()=>t(24,J=""),Lr=()=>t(24,J=""),Rr=()=>t(24,J="");function zr(){O.content=this.value,t(29,O)}const Vr=m=>{t(27,V=m.id),m.id==="files"&&P&&Z.length===0&&!_e&&tt(P.id)},Or=()=>{t(27,V="notes"),rn()},Wr=()=>{t(27,V="files"),_n()},Br=()=>t(27,V="worklog"),Hr=m=>Et(m),Ur=m=>Et(m);function Kr(){qe=this.value,t(47,qe)}const Gr=m=>m.key==="Enter"&&cn(),Jr=m=>Et(m),qr=m=>Et(m),Yr=m=>{const L=m.detail;L===0?(t(59,ae=[]),t(58,_e=null),tt(P.id)):Hl(L-1)},Qr=m=>ul(m.detail),Xr=m=>qt(m.detail),Zr=m=>oe("OpenFile",m.detail),xr=m=>oe("OpenFolder",m.detail),$r=m=>vn(m.detail),ec=m=>Kl(m.detail.id),tc=m=>Ul(m.detail),lc=m=>Gl(m.detail),nc=m=>Jl(m.detail),sc=m=>Ql(m.detail),oc=m=>Yl(m.detail),ic=m=>Xl(m.detail),rc=m=>oe("OpenFile",m.detail),cc=m=>oe("RunAction",m.id),ac=m=>gn(m.id),uc=m=>m.nodeId===P.id,fc=m=>_l(m),dc=(m,L,ne)=>t(39,L[ne]._expanded=!m._expanded,Q,t(26,P)),pc=(m,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!m._expanded,Q,t(26,P)),mc=m=>gt(m),_c=m=>Tt(m.nodeId),vc=m=>gt(m),gc=m=>Tt(m.nodeId),hc=m=>gl(m),bc=(m,L)=>L.key==="Enter"&&gl(m),kc=m=>ht(m),yc=(m,L)=>L.key==="Enter"&&ht(m);function wc(){j=this.value,t(11,j)}function Cc(){T=this.value,t(12,T)}const Sc=()=>{t(19,W=""),t(17,M=""),mn()};function jc(){W=this.value,t(19,W)}const Tc=()=>setTimeout(()=>t(21,K=!1),200),Ec=m=>pn(m);function Nc(){D=this.checked,t(13,D)}function Dc(){E=xt(this),t(15,E)}function Mc(){A=xt(this),t(16,A)}const Ic=()=>Yt("csv"),Ac=()=>Yt("markdown"),Fc=()=>Yt("pdf"),Pc=m=>dt(m.nodeId),Lc=(m,L,ne,me)=>t(39,L[ne].suggestedMin=parseInt(me.target.value),Q),Rc=m=>fn(m),zc=(m,L,ne)=>t(39,L[ne]._expanded=!m._expanded,Q),Vc=(m,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!m._expanded,Q),Oc=m=>gt(m),Wc=m=>Tt(m.nodeId),Bc=m=>dt(m.nodeId),Hc=m=>vl(m),Uc=(m,L)=>L.key==="Enter"&&vl(m),Kc=m=>gt(m),Gc=m=>dt(m.nodeId),Jc=(m,L,ne,me)=>t(39,L[ne].suggestedMin=parseInt(me.target.value),Q),qc=m=>_l(m),Yc=(m,L,ne)=>t(39,L[ne]._expanded=!m._expanded,Q),Qc=(m,L,ne,me)=>me.key==="Enter"&&t(39,L[ne]._expanded=!m._expanded,Q),Xc=m=>gt(m),Zc=m=>Tt(m.nodeId),xc=m=>dt(m.nodeId),$c=(m,L)=>L.key==="Enter"&&dt(m.nodeId),ea=m=>dt(m.nodeId),ta=(m,L)=>L.key==="Enter"&&dt(m.nodeId),la=m=>ht(m),na=(m,L)=>L.key==="Enter"&&ht(m),sa=m=>ht(m),oa=(m,L)=>L.key==="Enter"&&ht(m),ia=()=>t(44,De=null),ra=m=>t(44,De=m);function ca(){ge=this.value,t(42,ge)}const aa=m=>m.key==="Enter"&&ln(),ua=m=>tn(m),fa=()=>on(Ue.node),da=()=>nn(Ue.node),pa=()=>sn(Ue.node),ma=()=>Tt(Ue.node);function _a(){pe=this.value,t(35,pe)}function va(){te=this.value,t(33,te)}function ga(){ce=ll(this.value),t(34,ce)}function ha(){ye=this.value,t(36,ye)}function ba(){He=this.checked,t(37,He)}function ka(){Ae=this.checked,t(38,Ae)}function ya(){Fe=this.value,t(49,Fe)}const wa=m=>m.key==="Enter"&&kl();function Ca(){Pe=xt(this),t(50,Pe),t(82,Ve)}function Sa(){ke=this.value,t(51,ke)}const ja=m=>m.key==="Enter"&&kl(),Ta=()=>bl("copy"),Ea=()=>bl("link");function Na(){Ct=this.value,t(74,Ct)}return[n,i,r,a,u,d,_,g,v,y,S,j,T,D,N,E,A,M,R,W,B,K,Y,q,J,U,P,V,z,O,ie,$,le,te,ce,pe,ye,He,Ae,Q,x,ue,ge,Se,De,Ue,Ge,qe,Je,Fe,Pe,ke,Ne,ze,je,we,Ee,Oe,_e,ae,Z,Ce,et,rt,st,Re,Ie,ol,il,Ll,Rl,zl,Vl,Kt,Ct,St,rl,cl,Lt,Jt,hn,H,Ve,zi,Ol,vt,tt,ul,Bl,Hl,qt,fl,Vi,Ul,Kl,Gl,Jl,ql,Yl,Ql,Xl,Ki,Gi,Ji,$l,Qi,Xi,Zi,xi,tn,$i,er,ln,tr,jt,lr,nr,sr,or,ir,nn,sn,Tt,on,rn,rr,cn,Et,cr,ar,ur,fr,dr,pr,_l,fn,Nt,Yt,vl,gl,_r,pn,mn,vr,_n,gr,bl,hr,vn,kr,yr,wr,Cr,kl,gn,Sr,dt,gt,ht,yl,wl,jr,Er,Nr,Dr,Mr,Ir,Ar,Fr,Pr,Lr,Rr,zr,Vr,Or,Wr,Br,Hr,Ur,Kr,Gr,Jr,qr,Yr,Qr,Xr,Zr,xr,$r,ec,tc,lc,nc,sc,oc,ic,rc,cc,ac,uc,fc,dc,pc,mc,_c,vc,gc,hc,bc,kc,yc,wc,Cc,Sc,jc,Tc,Ec,Nc,Dc,Mc,Ic,Ac,Fc,Pc,Lc,Rc,zc,Vc,Oc,Wc,Bc,Hc,Uc,Kc,Gc,Jc,qc,Yc,Qc,Xc,Zc,xc,$c,ea,ta,la,na,sa,oa,ia,ra,ca,aa,ua,fa,da,pa,ma,_a,va,ga,ha,ba,ka,ya,wa,Ca,Sa,ja,Ta,Ea,Na]}class f1 extends Ze{constructor(e){super(),Xe(this,e,u1,c1,Qe,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new f1({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index 4fc9d9b..c9c9a63 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/suggest_test.go b/cmd/verstak-gui/suggest_test.go index db804b1..24e960c 100644 --- a/cmd/verstak-gui/suggest_test.go +++ b/cmd/verstak-gui/suggest_test.go @@ -6,6 +6,7 @@ import ( "time" "verstak/internal/core/activity" + syncsvc "verstak/internal/core/sync" "verstak/internal/core/util" "verstak/internal/core/worklog" ) @@ -282,3 +283,112 @@ func TestManualWorklogEntry(t *testing.T) { t.Errorf("dto.Source = %q, want %q", dto.Source, worklog.SourceManual) } } + +func hasWorklogSyncOp(t *testing.T, app *App, entryID, opType string) bool { + t.Helper() + ops, err := app.sync.GetUnpushedOps() + if err != nil { + t.Fatalf("GetUnpushedOps: %v", err) + } + for _, op := range ops { + if op.EntityType == syncsvc.EntityWorklog && op.EntityID == entryID && op.OpType == opType { + return true + } + } + return false +} + +func TestUpdateAndDeleteWorklogEntryBinding(t *testing.T) { + app, _ := setupTestApp(t) + + n, err := app.CreateNodeFromTemplate("", "Editable Worklog Node", "folder.default") + if err != nil { + t.Fatalf("create node: %v", err) + } + dto, err := app.CreateWorklogFull(n.ID, "Old summary", "Old details", "2026-01-01", 30, false, false) + if err != nil { + t.Fatalf("CreateWorklogFull: %v", err) + } + eventID := insertTestEvent(t, app, n.ID, activity.TypeNoteUpdated, "note", "note-1", "Связанное событие") + if _, err := app.db.Exec(`INSERT INTO worklog_entry_events(entry_id,event_id) VALUES(?,?)`, dto.ID, eventID); err != nil { + t.Fatalf("insert worklog event link: %v", err) + } + + updated, err := app.UpdateWorklogEntry(dto.ID, "New summary", "New details", "2026-01-02", 45, true, true) + if err != nil { + t.Fatalf("UpdateWorklogEntry: %v", err) + } + if updated.Summary != "New summary" || updated.Details != "New details" || updated.Date != "2026-01-02" { + t.Fatalf("updated DTO = %#v", updated) + } + if updated.Minutes != 45 || !updated.Approximate || !updated.Billable { + t.Fatalf("updated flags/minutes = %#v", updated) + } + if !hasWorklogSyncOp(t, app, dto.ID, syncsvc.OpUpdate) { + t.Fatal("missing worklog update sync op") + } + if n := countLinked(t, app, dto.ID); n != 1 { + t.Fatalf("event links after update = %d, want 1", n) + } + + if err := app.DeleteWorklogEntry(dto.ID); err != nil { + t.Fatalf("DeleteWorklogEntry: %v", err) + } + if _, err := app.worklog.Get(dto.ID); err == nil { + t.Fatal("expected deleted worklog entry to be gone") + } + if n := countLinked(t, app, dto.ID); n != 0 { + t.Fatalf("event links after delete = %d, want 0", n) + } + if !hasWorklogSyncOp(t, app, dto.ID, syncsvc.OpDelete) { + t.Fatal("missing worklog delete sync op") + } +} + +func TestApplyRemoteWorklogUpdate(t *testing.T) { + app, _ := setupTestApp(t) + + n, err := app.CreateNodeFromTemplate("", "Remote Worklog Node", "folder.default") + if err != nil { + t.Fatalf("create node: %v", err) + } + dto, err := app.CreateWorklogFull(n.ID, "Before remote", "", "2026-01-03", 15, false, false) + if err != nil { + t.Fatalf("CreateWorklogFull: %v", err) + } + + payload, err := json.Marshal(map[string]interface{}{ + "id": dto.ID, + "node_id": n.ID, + "summary": "After remote", + "details": "Remote details", + "minutes": 75, + "date": "2026-01-04", + "approximate": true, + "billable": true, + "updated_at": nowISO(), + }) + if err != nil { + t.Fatalf("marshal payload: %v", err) + } + + if err := app.applyRemoteWorklogOp(syncsvc.Op{ + EntityType: syncsvc.EntityWorklog, + EntityID: dto.ID, + OpType: syncsvc.OpUpdate, + PayloadJSON: string(payload), + }); err != nil { + t.Fatalf("applyRemoteWorklogOp update: %v", err) + } + + got, err := app.worklog.Get(dto.ID) + if err != nil { + t.Fatalf("get updated entry: %v", err) + } + if got.Summary != "After remote" || got.Details != "Remote details" || got.Date != "2026-01-04" { + t.Fatalf("remote updated entry = %#v", got) + } + if got.Minutes == nil || *got.Minutes != 75 || !got.Approximate || !got.Billable { + t.Fatalf("remote updated minutes/flags = %#v", got) + } +} diff --git a/cmd/verstak-gui/sync_apply.go b/cmd/verstak-gui/sync_apply.go index 375676a..7944ce2 100644 --- a/cmd/verstak-gui/sync_apply.go +++ b/cmd/verstak-gui/sync_apply.go @@ -885,7 +885,12 @@ func (a *App) applyRemoteWorklogOp(op syncsvc.Op) error { switch op.OpType { case syncsvc.OpCreate: return a.applyRemoteWorklogCreate(op) + case syncsvc.OpUpdate: + return a.applyRemoteWorklogUpdate(op) case syncsvc.OpDelete: + if _, err := a.db.Exec(`DELETE FROM worklog_entry_events WHERE entry_id=?`, op.EntityID); err != nil { + return err + } _, err := a.db.Exec(`DELETE FROM worklog_entries WHERE id=?`, op.EntityID) return err } @@ -921,3 +926,36 @@ func (a *App) applyRemoteWorklogCreate(op syncsvc.Op) error { payload.Summary, payload.Details, payload.CreatedAt, payload.UpdatedAt) return err } + +func (a *App) applyRemoteWorklogUpdate(op syncsvc.Op) error { + var payload struct { + ID string `json:"id"` + Summary string `json:"summary"` + Details string `json:"details"` + Minutes int `json:"minutes"` + Date string `json:"date"` + Approximate bool `json:"approximate"` + Billable bool `json:"billable"` + UpdatedAt string `json:"updated_at"` + } + if err := json.Unmarshal([]byte(op.PayloadJSON), &payload); err != nil { + return fmt.Errorf("unmarshal worklog update: %w", err) + } + id := payload.ID + if id == "" { + id = op.EntityID + } + if id == "" { + return nil + } + updatedAt := payload.UpdatedAt + if updatedAt == "" { + updatedAt = time.Now().UTC().Format(time.RFC3339) + } + _, err := a.db.Exec( + `UPDATE worklog_entries SET date=?, minutes=?, approximate=?, billable=?, + summary=?, details=?, updated_at=? WHERE id=?`, + payload.Date, payload.Minutes, boolToInt(payload.Approximate), boolToInt(payload.Billable), + payload.Summary, payload.Details, updatedAt, id) + return err +} diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index a87c7c3..ac0ab7b 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -87,6 +87,7 @@ let wlModalDetails = '' let wlModalBillable = false let wlModalApprox = false + let editingWorklogEntry = null let suggestions = [] let suggestionCount = 0 let showCreateNode = false @@ -965,28 +966,67 @@ } // ===== Worklog ===== - function openWorklogModal() { - wlModalSummary = '' - wlModalMinutes = '' - wlModalDate = '' - wlModalDetails = '' - wlModalBillable = false - wlModalApprox = false + function openWorklogModal(entry = null) { + editingWorklogEntry = entry + wlModalSummary = entry ? entry.summary : '' + wlModalMinutes = entry ? String(entry.minutes || '') : '' + wlModalDate = entry ? (entry.date || '') : '' + wlModalDetails = entry ? (entry.details || '') : '' + wlModalBillable = entry ? !!entry.billable : false + wlModalApprox = entry ? !!entry.approximate : false showWorklogModal = true } function closeWorklogModal() { showWorklogModal = false + editingWorklogEntry = null + } + + async function refreshWorklogViews(nodeID = '') { + const targetNodeID = nodeID || (selectedNode ? selectedNode.id : '') + if (selectedNode && selectedNode.id === targetNodeID) { + worklog = initWorklogEntries(await wailsCall('ListWorklog', selectedNode.id)) || worklog + } + if (selectedSection === 'journal') { + await loadJournal() + } } async function submitWorklogModal() { const mins = parseInt(wlModalMinutes, 10) - if (!wlModalSummary.trim() || isNaN(mins) || mins <= 0 || !selectedNode) return + if (!wlModalSummary.trim() || isNaN(mins) || mins <= 0) return + if (!editingWorklogEntry && !selectedNode) return try { - await wailsCall('CreateWorklogFull', selectedNode.id, wlModalSummary.trim(), wlModalDetails, wlModalDate, mins, wlModalApprox, wlModalBillable) - } catch (e) { /* fallback */ } - worklog = initWorklogEntries(await wailsCall('ListWorklog', selectedNode.id)) || worklog + if (editingWorklogEntry) { + await wailsCall('UpdateWorklogEntry', editingWorklogEntry.id, wlModalSummary.trim(), wlModalDetails, wlModalDate, mins, wlModalApprox, wlModalBillable) + await refreshWorklogViews(editingWorklogEntry.nodeId) + } else { + await wailsCall('CreateWorklogFull', selectedNode.id, wlModalSummary.trim(), wlModalDetails, wlModalDate, mins, wlModalApprox, wlModalBillable) + await refreshWorklogViews(selectedNode.id) + } + } catch (e) { + error = String(e) + return + } showWorklogModal = false + editingWorklogEntry = null + } + + function deleteWorklogEntry(entry) { + openConfirm({ + title: t('worklog.deleteEntry'), + message: t('worklog.deleteConfirm'), + confirmText: t('common.delete'), + danger: true, + onConfirm: async () => { + try { + await wailsCall('DeleteWorklogEntry', entry.id) + await refreshWorklogViews(entry.nodeId) + } catch (e) { + error = String(e) + } + } + }) } async function refreshAfterSuggestion() { @@ -1803,7 +1843,7 @@ {:else if activeTab === 'worklog'}
- +
{#if selectedNode && suggestions.filter(s => s.nodeId === selectedNode.id).length > 0}
@@ -1852,10 +1892,14 @@ {e.minutes} {t('worklog.min')} {#if e.billable}{t('journal.billableYes')}{/if} {#if e.approximate}{t('journal.approxEstimated')}{/if} - +
{#if e._expanded}
+
+ + +
{#if e.details}
{t('worklog.details')} @@ -2088,6 +2132,10 @@
+
+ + +
{#if r.details}
{t('worklog.details')} @@ -2352,7 +2400,7 @@ {#if showWorklogModal}