diff --git a/cmd/verstak-gui/bindings_settings.go b/cmd/verstak-gui/bindings_settings.go index fb62f9c..74b16bf 100644 --- a/cmd/verstak-gui/bindings_settings.go +++ b/cmd/verstak-gui/bindings_settings.go @@ -118,9 +118,21 @@ func (a *App) OpenFolder(nodeID string) error { if err != nil { return err } - target := filepath.Join(a.vault, n.FsPath) - if n.Type == nodes.TypeFile { + var target string + if n.Type == nodes.TypeFile && n.FsPath == "" { + records, _ := a.files.ListByNode(nodeID) + if len(records) > 0 { + target = filepath.Join(a.vault, records[0].Path) + } + if target == "" { + target = a.vault + } target = filepath.Dir(target) + } else { + target = filepath.Join(a.vault, n.FsPath) + if n.Type == nodes.TypeFile { + target = filepath.Dir(target) + } } if _, err := os.Stat(target); os.IsNotExist(err) { target = a.vault diff --git a/cmd/verstak-gui/frontend-dist/assets/main-CuGUigdf.js b/cmd/verstak-gui/frontend-dist/assets/main-CuGUigdf.js new file mode 100644 index 0000000..3b947e0 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-CuGUigdf.js @@ -0,0 +1,3 @@ +var ms=Object.defineProperty;var ps=(l,e,t)=>e in l?ms(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var Yt=(l,e,t)=>ps(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=t(o);fetch(o.href,s)}})();function ee(){}function ii(l){return l()}function Sl(){return Object.create(null)}function ue(l){l.forEach(ii)}function oi(l){return typeof l=="function"}function at(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let It;function Et(l,e){return l===e?!0:(It||(It=document.createElement("a")),It.href=e,l===It.href)}function vs(l){return Object.keys(l).length===0}function _s(l){return l??""}const ks=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function c(l,e){l.appendChild(e)}function g(l,e,t){l.insertBefore(e,t||null)}function y(l){l.parentNode&&l.parentNode.removeChild(l)}function We(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function xt(l){return function(e){return e.preventDefault(),l.call(this,e)}}function Qe(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function pt(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 Lt(l){return l===""?null:+l}function hs(l){return Array.from(l.childNodes)}function G(l,e){e=""+e,l.data!==e&&(l.data=e)}function Me(l,e){l.value=e??""}function Be(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function Tl(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const s=ys(e,t,{cancelable:n});return o.slice().forEach(r=>{r.call(l,s)}),!s.defaultPrevented}return!0}}function ci(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const bt=[],Nl=[];let gt=[];const Dl=[],gs=Promise.resolve();let Jt=!1;function ws(){Jt||(Jt=!0,gs.then(ai))}function Pt(l){gt.push(l)}const Xt=new Set;let ht=0;function ai(){if(ht!==0)return;const l=Nt;do{try{for(;htl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),gt=e}const Mt=new Set;let mt;function Ge(){mt={r:0,c:[],p:mt}}function qe(){mt.r||ue(mt.c),mt=mt.p}function te(l,e){l&&l.i&&(Mt.delete(l),l.i(e))}function oe(l,e,t,n){if(l&&l.o){if(Mt.has(l))return;Mt.add(l),mt.c.push(()=>{Mt.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function ae(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Ss(l,e){oe(l,1,1,()=>{e.delete(l.key)})}function Ts(l,e,t,n,o,s,r,a,f,m,k,_){let v=l.length,b=s.length,h=v;const C={};for(;h--;)C[l[h].key]=h;const S=[],j=new Map,T=new Map,F=[];for(h=b;h--;){const M=_(o,s,h),A=t(M);let W=r.get(A);W?F.push(()=>W.p(M,e)):(W=m(A,M),W.c()),j.set(A,S[h]=W),A in C&&T.set(A,Math.abs(h-C[A]))}const D=new Set,V=new Set;function I(M){te(M,1),M.m(a,k),r.set(M.key,M),k=M.first,b--}for(;v&&b;){const M=S[b-1],A=l[v-1],W=M.key,R=A.key;M===A?(k=M.first,v--,b--):j.has(R)?!r.has(W)||D.has(W)?I(M):V.has(R)?v--:T.get(W)>T.get(R)?(V.add(W),I(M)):(D.add(R),v--):(f(A,r),v--)}for(;v--;){const M=l[v];j.has(M.key)||f(M,r)}for(;b;)I(S[b-1]);return ue(F),S}function xe(l){l&&l.c()}function Je(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),Pt(()=>{const s=l.$$.on_mount.map(ii).filter(oi);l.$$.on_destroy?l.$$.on_destroy.push(...s):ue(s),l.$$.on_mount=[]}),o.forEach(Pt)}function Ze(l,e){const t=l.$$;t.fragment!==null&&(Cs(t.after_update),ue(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Ns(l,e){l.$$.dirty[0]===-1&&(bt.push(l),ws(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const h=b.length?b[0]:v;return m.ctx&&o(m.ctx[_],m.ctx[_]=h)&&(!m.skip_bound&&m.bound[_]&&m.bound[_](h),k&&Ns(l,_)),v}):[],m.update(),k=!0,ue(m.before_update),m.fragment=n?n(m.ctx):!1,e.target){if(e.hydrate){const _=hs(e.target);m.fragment&&m.fragment.l(_),_.forEach(y)}else m.fragment&&m.fragment.c();e.intro&&te(l.$$.fragment),Je(l,e.target,e.anchor),ai()}Tt(f)}class ut{constructor(){Yt(this,"$$");Yt(this,"$$set")}$destroy(){Ze(this,1),this.$destroy=ee}$on(e,t){if(!oi(t))return ee;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!vs(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Ds="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ds);function Fs(l){let e,t;return{c(){e=z("path"),t=z("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function Is(l){let e,t,n,o,s;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),s=z("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17"),i(s,"points","10 9 9 9 8 9")},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),g(r,o,a),g(r,s,a)},d(r){r&&(y(e),y(t),y(n),y(o),y(s))}}}function Ms(l){let e,t;return{c(){e=z("polyline"),t=z("polyline"),i(e,"points","16 18 22 12 16 6"),i(t,"points","8 6 2 12 8 18")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function As(l){let e,t,n,o;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("rect"),i(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),i(t,"points","7 3 12 8 17 3"),i(n,"x1","3"),i(n,"y1","8"),i(n,"x2","21"),i(n,"y2","8"),i(o,"x","10"),i(o,"y","12"),i(o,"width","4"),i(o,"height","4"),i(o,"rx","1")},m(s,r){g(s,e,r),g(s,t,r),g(s,n,r),g(s,o,r)},d(s){s&&(y(e),y(t),y(n),y(o))}}}function Es(l){let e,t,n,o,s;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),s=z("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","9"),i(n,"y1","12"),i(n,"x2","15"),i(n,"y2","12"),i(o,"x1","9"),i(o,"y1","15"),i(o,"x2","13"),i(o,"y2","15"),i(s,"x1","12"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","18")},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),g(r,o,a),g(r,s,a)},d(r){r&&(y(e),y(t),y(n),y(o),y(s))}}}function Ls(l){let e,t,n,o,s,r;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),s=z("line"),r=z("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14"),i(r,"x1","12"),i(r,"y1","12"),i(r,"x2","12"),i(r,"y2","18")},m(a,f){g(a,e,f),g(a,t,f),g(a,n,f),g(a,o,f),g(a,s,f),g(a,r,f)},d(a){a&&(y(e),y(t),y(n),y(o),y(s),y(r))}}}function Ps(l){let e,t,n,o;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){g(s,e,r),g(s,t,r),g(s,n,r),g(s,o,r)},d(s){s&&(y(e),y(t),y(n),y(o))}}}function Os(l){let e,t,n,o,s;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),s=z("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14")},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),g(r,o,a),g(r,s,a)},d(r){r&&(y(e),y(t),y(n),y(o),y(s))}}}function zs(l){let e,t,n;return{c(){e=z("path"),t=z("circle"),n=z("circle"),i(e,"d","M9 18V5l12-2v13"),i(t,"cx","6"),i(t,"cy","18"),i(t,"r","3"),i(n,"cx","18"),i(n,"cy","16"),i(n,"r","3")},m(o,s){g(o,e,s),g(o,t,s),g(o,n,s)},d(o){o&&(y(e),y(t),y(n))}}}function Bs(l){let e,t;return{c(){e=z("rect"),t=z("polyline"),i(e,"x","2"),i(e,"y","4"),i(e,"width","20"),i(e,"height","16"),i(e,"rx","2"),i(t,"points","10 9 16 12 10 15 10 9")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function Rs(l){let e,t,n;return{c(){e=z("rect"),t=z("circle"),n=z("polyline"),i(e,"x","3"),i(e,"y","3"),i(e,"width","18"),i(e,"height","18"),i(e,"rx","2"),i(e,"ry","2"),i(t,"cx","8.5"),i(t,"cy","8.5"),i(t,"r","1.5"),i(n,"points","21 15 16 10 5 21")},m(o,s){g(o,e,s),g(o,t,s),g(o,n,s)},d(o){o&&(y(e),y(t),y(n))}}}function Hs(l){let e;return{c(){e=z("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){g(t,e,n)},d(t){t&&y(e)}}}function Vs(l){let e;function t(s,r){return s[0]==="folder"?Hs:s[0]==="image"?Rs:s[0]==="video"?Bs:s[0]==="audio"?zs:s[0]==="pdf"?Os:s[0]==="document"?Ps:s[0]==="spreadsheet"?Ls:s[0]==="presentation"?Es:s[0]==="archive"?As:s[0]==="code"?Ms:s[0]==="text"?Is:Fs}let n=t(l),o=n(l);return{c(){e=z("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){g(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ee,o:ee,d(s){s&&y(e),o.d()}}}function Us(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class fi extends ut{constructor(e){super(),ft(this,e,Us,Vs,at,{kind:0,size:1})}}const Ws={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.activity":"Активность","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.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.empty":"Записей работы пока нет","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.autoSync":"Автосинхронизация (мин, 0 = отключено)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},Ks={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.caseCreated":"Case created","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password"},Fl={ru:Ws,en:Ks};let Il="ru";function p(l,e){var o;const t=Fl[Il];let n=t==null?void 0:t[l];if(n==null&&Il!=="ru"&&(n=(o=Fl.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[s,r]of Object.entries(e))n=n.replace(`{${s}}`,String(r));return n}function Ot(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 Zt={"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 Ml(l){return l?Zt[l]||l:p("mime.unknown")}function Gs(l){if(l.type==="folder")return p("mime.folder");const e=(l.mime||"").toLowerCase();if(Zt[e])return Zt[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():p("mime.file")}function ui(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 qs=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Ys=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Xs=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Js=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function di(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return qs.includes(e)||Js.includes(n)}function mi(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Ys.includes(e)||Xs.includes(n)&&n!=="md"&&n!=="markdown"}function pi(l){return(l.mime||"").toLowerCase().includes("pdf")}function vi(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function Zs(l){return di(l)||pi(l)}function Qs(l){return mi(l)||vi(l)}const{window:xs}=ks;function $s(l){let e,t,n,o=Ot(l[0].size)+"",s;return{c(){e=u("span"),e.textContent="·",t=w(),n=u("span"),s=P(o),i(e,"class","meta-sep svelte-1skuef2")},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),c(n,s)},p(r,a){a&1&&o!==(o=Ot(r[0].size)+"")&&G(s,o)},d(r){r&&(y(e),y(t),y(n))}}}function er(l){let e,t,n,o,s;return{c(){e=u("button"),e.innerHTML='',t=w(),n=u("button"),n.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",p("file.openFolder")),i(e,"aria-label",p("file.openFolder")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",p("file.showInExplorer")),i(n,"aria-label",p("file.showInExplorer"))},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),o||(s=[L(e,"click",Qe(l[29])),L(n,"click",Qe(l[11]))],o=!0)},p:ee,d(r){r&&(y(e),y(t),y(n)),o=!1,ue(s)}}}function tr(l){let e,t,n,o,s,r,a;return{c(){e=u("button"),e.innerHTML='',t=w(),n=u("button"),n.innerHTML='',o=w(),s=u("button"),s.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",p("file.preview")),i(e,"aria-label",p("file.preview")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",p("file.openExternal")),i(n,"aria-label",p("file.openExternal")),i(s,"class","action-btn svelte-1skuef2"),i(s,"title",p("file.showInExplorer")),i(s,"aria-label",p("file.showInExplorer"))},m(f,m){g(f,e,m),g(f,t,m),g(f,n,m),g(f,o,m),g(f,s,m),r||(a=[L(e,"click",Qe(l[28])),L(n,"click",Qe(l[10])),L(s,"click",Qe(l[11]))],r=!0)},p:ee,d(f){f&&(y(e),y(t),y(n),y(o),y(s)),r=!1,ue(a)}}}function Al(l){let e,t,n,o,s,r,a,f,m=p("common.open")+"",k,_,v,b,h,C,S,j,T=p("file.openExternal")+"",F,D,V,I,M,A,W=p("file.showInExplorer")+"",R,B,H,U,K,Y,J,E,O,Z=p("common.rename")+"",q,be,x,se,$,re,me,ce=p("common.duplicate")+"",fe,je,Le,ye,ze,ge,we,le,Ve,et=p("common.cut")+"",tt,Ye,pe,Pe,De,Te,Fe,Ce=p("common.copy")+"",ke,Ae,Ee,Xe,he,Oe,ve,_e,Ie,de=p("common.delete")+"",He,Ne,Re;return{c(){e=u("div"),t=w(),n=u("div"),o=u("button"),s=z("svg"),r=z("path"),a=z("circle"),f=w(),k=P(m),_=w(),v=u("button"),b=z("svg"),h=z("path"),C=z("polyline"),S=z("line"),j=w(),F=P(T),D=w(),V=u("button"),I=z("svg"),M=z("path"),A=w(),R=P(W),B=w(),H=u("div"),U=w(),K=u("button"),Y=z("svg"),J=z("path"),E=z("path"),O=w(),q=P(Z),be=w(),x=u("button"),se=z("svg"),$=z("rect"),re=z("path"),me=w(),fe=P(ce),je=w(),Le=u("button"),ye=z("svg"),ze=z("circle"),ge=z("circle"),we=z("line"),le=z("line"),Ve=w(),tt=P(et),Ye=w(),pe=u("button"),Pe=z("svg"),De=z("rect"),Te=z("path"),Fe=w(),ke=P(Ce),Ae=w(),Ee=u("div"),Xe=w(),he=u("button"),Oe=z("svg"),ve=z("polyline"),_e=z("path"),Ie=w(),He=P(de),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(a,"cx","12"),i(a,"cy","12"),i(a,"r","3"),i(s,"width","14"),i(s,"height","14"),i(s,"viewBox","0 0 24 24"),i(s,"fill","none"),i(s,"stroke","currentColor"),i(s,"stroke-width","2"),i(s,"stroke-linecap","round"),i(s,"stroke-linejoin","round"),i(o,"class","menu-item svelte-1skuef2"),i(o,"role","menuitem"),i(h,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),i(C,"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(v,"class","menu-item svelte-1skuef2"),i(v,"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(V,"class","menu-item svelte-1skuef2"),i(V,"role","menuitem"),i(H,"class","menu-sep svelte-1skuef2"),i(J,"d","M12 20h9"),i(E,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(Y,"width","14"),i(Y,"height","14"),i(Y,"viewBox","0 0 24 24"),i(Y,"fill","none"),i(Y,"stroke","currentColor"),i(Y,"stroke-width","2"),i(Y,"stroke-linecap","round"),i(Y,"stroke-linejoin","round"),i(K,"class","menu-item svelte-1skuef2"),i(K,"role","menuitem"),i($,"x","9"),i($,"y","9"),i($,"width","13"),i($,"height","13"),i($,"rx","2"),i($,"ry","2"),i(re,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(se,"width","14"),i(se,"height","14"),i(se,"viewBox","0 0 24 24"),i(se,"fill","none"),i(se,"stroke","currentColor"),i(se,"stroke-width","2"),i(se,"stroke-linecap","round"),i(se,"stroke-linejoin","round"),i(x,"class","menu-item svelte-1skuef2"),i(x,"role","menuitem"),i(ze,"cx","6"),i(ze,"cy","6"),i(ze,"r","3"),i(ge,"cx","6"),i(ge,"cy","18"),i(ge,"r","3"),i(we,"x1","20"),i(we,"y1","4"),i(we,"x2","8.12"),i(we,"y2","15.88"),i(le,"x1","8.12"),i(le,"y1","8.12"),i(le,"x2","20"),i(le,"y2","20"),i(ye,"width","14"),i(ye,"height","14"),i(ye,"viewBox","0 0 24 24"),i(ye,"fill","none"),i(ye,"stroke","currentColor"),i(ye,"stroke-width","2"),i(ye,"stroke-linecap","round"),i(ye,"stroke-linejoin","round"),i(Le,"class","menu-item svelte-1skuef2"),i(Le,"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(Te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(Pe,"width","14"),i(Pe,"height","14"),i(Pe,"viewBox","0 0 24 24"),i(Pe,"fill","none"),i(Pe,"stroke","currentColor"),i(Pe,"stroke-width","2"),i(Pe,"stroke-linecap","round"),i(Pe,"stroke-linejoin","round"),i(pe,"class","menu-item svelte-1skuef2"),i(pe,"role","menuitem"),i(Ee,"class","menu-sep svelte-1skuef2"),i(ve,"points","3 6 5 6 21 6"),i(_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"),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(he,"class","menu-item menu-item-danger svelte-1skuef2"),i(he,"role","menuitem"),i(n,"class","menu svelte-1skuef2"),Be(n,"left",l[3]+"px"),Be(n,"top",l[4]+"px"),Be(n,"position","fixed"),i(n,"role","menu")},m(Ue,X){g(Ue,e,X),g(Ue,t,X),g(Ue,n,X),c(n,o),c(o,s),c(s,r),c(s,a),c(o,f),c(o,k),c(n,_),c(n,v),c(v,b),c(b,h),c(b,C),c(b,S),c(v,j),c(v,F),c(n,D),c(n,V),c(V,I),c(I,M),c(V,A),c(V,R),c(n,B),c(n,H),c(n,U),c(n,K),c(K,Y),c(Y,J),c(Y,E),c(K,O),c(K,q),c(n,be),c(n,x),c(x,se),c(se,$),c(se,re),c(x,me),c(x,fe),c(n,je),c(n,Le),c(Le,ye),c(ye,ze),c(ye,ge),c(ye,we),c(ye,le),c(Le,Ve),c(Le,tt),c(n,Ye),c(n,pe),c(pe,Pe),c(Pe,De),c(Pe,Te),c(pe,Fe),c(pe,ke),c(n,Ae),c(n,Ee),c(n,Xe),c(n,he),c(he,Oe),c(Oe,ve),c(Oe,_e),c(he,Ie),c(he,He),Ne||(Re=[L(e,"click",Qe(l[19])),L(o,"click",l[17]),L(v,"click",l[10]),L(V,"click",l[11]),L(K,"click",l[13]),L(x,"click",l[14]),L(Le,"click",l[15]),L(pe,"click",l[16]),L(he,"click",l[12]),L(n,"click",Qe(l[27]))],Ne=!0)},p(Ue,X){X&8&&Be(n,"left",Ue[3]+"px"),X&16&&Be(n,"top",Ue[4]+"px")},d(Ue){Ue&&(y(e),y(t),y(n)),Ne=!1,ue(Re)}}}function lr(l){let e,t,n,o,s,r,a=l[0].name+"",f,m,k,_,v,b,h,C,S,j,T,F,D,V,I,M,A,W,R,B,H,U;n=new fi({props:{kind:l[6],size:22}});let K=!l[7]&&$s(l);function Y(Z,q){return Z[7]?er:tr}let E=Y(l)(l),O=l[2]&&Al(l);return{c(){e=u("div"),t=u("div"),xe(n.$$.fragment),o=w(),s=u("div"),r=u("div"),f=P(a),k=w(),_=u("div"),v=u("span"),v.textContent=`${l[8]}`,b=w(),K&&K.c(),h=w(),C=u("div"),E.c(),S=w(),j=u("button"),T=z("svg"),F=z("circle"),D=z("circle"),V=z("circle"),I=w(),M=u("button"),M.innerHTML='',W=w(),O&&O.c(),R=lt(),i(t,"class","file-row-icon svelte-1skuef2"),i(r,"class","file-row-name svelte-1skuef2"),i(r,"title",m=l[0].name),i(_,"class","file-row-meta svelte-1skuef2"),i(s,"class","file-row-body svelte-1skuef2"),i(F,"cx","12"),i(F,"cy","5"),i(F,"r","2"),i(D,"cx","12"),i(D,"cy","12"),i(D,"r","2"),i(V,"cx","12"),i(V,"cy","19"),i(V,"r","2"),i(T,"width","16"),i(T,"height","16"),i(T,"viewBox","0 0 24 24"),i(T,"fill","currentColor"),i(j,"class","action-btn svelte-1skuef2"),i(j,"title",p("file.more")),i(j,"aria-label",p("file.more")),i(j,"aria-expanded",l[2]),i(M,"class","action-btn action-btn-danger svelte-1skuef2"),i(M,"title",p("common.delete")),i(M,"aria-label",p("common.delete")),i(C,"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",A=l[7]?p("file.ariaFolder")+" "+l[0].name:p("file.ariaFile")+" "+l[0].name),it(e,"file-row--selected",l[1])},m(Z,q){g(Z,e,q),c(e,t),Je(n,t,null),c(e,o),c(e,s),c(s,r),c(r,f),c(s,k),c(s,_),c(_,v),c(_,b),K&&K.m(_,null),c(e,h),c(e,C),E.m(C,null),c(C,S),c(C,j),c(j,T),c(T,F),c(T,D),c(T,V),c(C,I),c(C,M),g(Z,W,q),O&&O.m(Z,q),g(Z,R,q),B=!0,H||(U=[L(xs,"click",l[19]),L(j,"click",Qe(l[18])),L(M,"click",Qe(l[12])),L(e,"click",l[9]),L(e,"contextmenu",l[23]),L(e,"dragstart",l[20]),L(e,"dragover",l[21]),L(e,"drop",l[22])],H=!0)},p(Z,[q]){(!B||q&1)&&a!==(a=Z[0].name+"")&&G(f,a),(!B||q&1&&m!==(m=Z[0].name))&&i(r,"title",m),Z[7]||K.p(Z,q),E.p(Z,q),(!B||q&4)&&i(j,"aria-expanded",Z[2]),(!B||q&1&&A!==(A=Z[7]?p("file.ariaFolder")+" "+Z[0].name:p("file.ariaFile")+" "+Z[0].name))&&i(e,"aria-label",A),(!B||q&2)&&it(e,"file-row--selected",Z[1]),Z[2]?O?O.p(Z,q):(O=Al(Z),O.c(),O.m(R.parentNode,R)):O&&(O.d(1),O=null)},i(Z){B||(te(n.$$.fragment,Z),B=!0)},o(Z){oe(n.$$.fragment,Z),B=!1},d(Z){Z&&(y(e),y(W),y(R)),Ze(n),K&&K.d(),E.d(),O&&O.d(Z),H=!1,ue(U)}}}function nr(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:s}=e,{onDragOver:r}=e,{onDrop:a}=e;const f=zt(),m=ui(n),k=n.type==="folder",_=Gs(n);let v=!1,b=0,h=0,C=null;function S(O){O.ctrlKey||O.metaKey?f("toggleSelect",n.id):O.shiftKey?f("rangeSelect",n.id):C?(clearTimeout(C),C=null,k?f("navigate",n.id):f("preview",n)):C=setTimeout(()=>{C=null,f("selectOne",n.id)},250)}function j(){f("openExternal",n.fileId)}function T(){t(2,v=!1),f("showInFolder",n.nodeId||n.id)}function F(){t(2,v=!1),f("delete",{id:n.id,type:n.type})}function D(){t(2,v=!1),f("rename",{id:n.id,name:n.name})}function V(){t(2,v=!1),f("duplicate",n.id)}function I(){t(2,v=!1),f("cut",n.id)}function M(){t(2,v=!1),f("copy",n.id)}function A(){t(2,v=!1),k?f("navigate",n.id):f("preview",n)}function W(){t(2,v=!v)}function R(){t(2,v=!1)}function B(O){s&&s(O,n.id)}function H(O){r&&k&&r(O,n.id)}function U(O){a&&k&&a(O,n.id)}function K(O){O.preventDefault(),t(3,b=Math.min(O.clientX,window.innerWidth-240)),t(4,h=Math.min(O.clientY,window.innerHeight-320)),t(2,v=!0)}function Y(O){ci.call(this,l,O)}const J=()=>f("preview",n),E=()=>f("navigate",n.id);return l.$$set=O=>{"item"in O&&t(0,n=O.item),"selected"in O&&t(1,o=O.selected),"onDragStart"in O&&t(24,s=O.onDragStart),"onDragOver"in O&&t(25,r=O.onDragOver),"onDrop"in O&&t(26,a=O.onDrop)},[n,o,v,b,h,f,m,k,_,S,j,T,F,D,V,I,M,A,W,R,B,H,U,K,s,r,a,Y,J,E]}class ir extends ut{constructor(e){super(),ft(this,e,nr,lr,at,{item:0,selected:1,onDragStart:24,onDragOver:25,onDrop:26})}}function El(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function or(l){let e;return{c(){e=u("span"),e.textContent="/",i(e,"class","sep svelte-csi2lb")},m(t,n){g(t,e,n)},d(t){t&&y(e)}}}function sr(l){let e,t=l[4].name+"",n,o,s;function r(){return l[2](l[6])}return{c(){e=u("button"),n=P(t),i(e,"class","crumb crumb--link svelte-csi2lb")},m(a,f){g(a,e,f),c(e,n),o||(s=L(e,"click",r),o=!0)},p(a,f){l=a,f&1&&t!==(t=l[4].name+"")&&G(n,t)},d(a){a&&y(e),o=!1,s()}}}function rr(l){let e,t=l[4].name+"",n;return{c(){e=u("span"),n=P(t),i(e,"class","crumb crumb--current svelte-csi2lb")},m(o,s){g(o,e,s),c(e,n)},p(o,s){s&1&&t!==(t=o[4].name+"")&&G(n,t)},d(o){o&&y(e)}}}function Ll(l){let e,t,n=l[6]>0&&or();function o(a,f){return a[6]===a[0].length-1?rr:sr}let s=o(l),r=s(l);return{c(){n&&n.c(),e=w(),r.c(),t=lt()},m(a,f){n&&n.m(a,f),g(a,e,f),r.m(a,f),g(a,t,f)},p(a,f){s===(s=o(a))&&r?r.p(a,f):(r.d(1),r=s(a),r&&(r.c(),r.m(t.parentNode,t)))},d(a){a&&(y(e),y(t)),n&&n.d(a),r.d(a)}}}function cr(l){let e,t=ae(l[0]),n=[];for(let o=0;os(a);return l.$$set=a=>{"crumbs"in a&&t(0,n=a.crumbs)},[n,s,r]}class _i extends ut{constructor(e){super(),ft(this,e,ar,cr,at,{crumbs:0})}}function fr(l){let e,t,n,o,s,r;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.previewUnavailable")}`,n=w(),o=u("button"),o.textContent=`${p("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(a,f){g(a,e,f),c(e,t),c(e,n),c(e,o),s||(r=L(o,"click",l[9]),s=!0)},p:ee,d(a){a&&y(e),s=!1,r()}}}function ur(l){let e,t;function n(r,a){return a&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?kr:_r}let o=n(l,-1),s=o(l);return{c(){s.c(),t=lt()},m(r,a){s.m(r,a),g(r,t,a)},p(r,a){o===(o=n(r,a))&&s?s.p(r,a):(s.d(1),s=o(r),s&&(s.c(),s.m(t.parentNode,t)))},d(r){r&&y(t),s.d(r)}}}function dr(l){let e,t,n;return{c(){e=u("pre"),t=u("code"),n=P(l[1]),i(e,"class","preview-text svelte-1cw3u0m")},m(o,s){g(o,e,s),c(e,t),c(t,n)},p(o,s){s&2&&G(n,o[1])},d(o){o&&y(e)}}}function mr(l){let e,t,n,o;return{c(){e=u("div"),t=u("img"),Et(t.src,n=l[1])||i(t,"src",n),i(t,"alt",o=l[0].name),i(t,"class","preview-image svelte-1cw3u0m"),i(e,"class","preview-image-container svelte-1cw3u0m")},m(s,r){g(s,e,r),c(e,t)},p(s,r){r&2&&!Et(t.src,n=s[1])&&i(t,"src",n),r&1&&o!==(o=s[0].name)&&i(t,"alt",o)},d(s){s&&y(e)}}}function pr(l){let e,t,n,o,s,r,a;return{c(){e=u("div"),t=u("p"),n=P(l[3]),o=w(),s=u("button"),s.textContent=`${p("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(f,m){g(f,e,m),c(e,t),c(t,n),c(e,o),c(e,s),r||(a=L(s,"click",l[9]),r=!0)},p(f,m){m&8&&G(n,f[3])},d(f){f&&y(e),r=!1,a()}}}function vr(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("common.loading")}`,i(e,"class","preview-status svelte-1cw3u0m")},m(n,o){g(n,e,o),c(e,t)},p:ee,d(n){n&&y(e)}}}function _r(l){let e,t,n,o,s,r;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.pdfUnavailable")}`,n=w(),o=u("button"),o.textContent=`${p("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(a,f){g(a,e,f),c(e,t),c(e,n),c(e,o),s||(r=L(o,"click",l[9]),s=!0)},p:ee,d(a){a&&y(e),s=!1,r()}}}function kr(l){let e,t,n;return{c(){e=u("div"),t=u("embed"),Et(t.src,n=l[1])||i(t,"src",n),i(t,"type","application/pdf"),i(t,"class","preview-pdf svelte-1cw3u0m"),i(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,s){g(o,e,s),c(e,t)},p(o,s){s&2&&!Et(t.src,n=o[1])&&i(t,"src",n)},d(o){o&&y(e)}}}function hr(l){let e,t,n,o,s,r,a,f=l[0].name+"",m,k,_,v,b=Ot(l[0].size)+"",h,C,S=Ml(l[0].mime)+"",j,T,F,D,V,I,M,A,W,R,B,H;s=new fi({props:{kind:l[8],size:18}});function U(J,E){return J[2]?vr:J[3]?pr:J[6]&&J[1]?mr:J[5]&&J[1]?dr:J[4]?ur:fr}let K=U(l),Y=K(l);return{c(){e=u("div"),t=u("div"),n=u("header"),o=u("div"),xe(s.$$.fragment),r=w(),a=u("span"),m=P(f),_=w(),v=u("div"),h=P(b),C=P(" · "),j=P(S),T=w(),F=u("div"),D=u("button"),D.innerHTML='',V=w(),I=u("button"),I.innerHTML='',M=w(),A=u("div"),Y.c(),i(a,"class","preview-name svelte-1cw3u0m"),i(a,"title",k=l[0].name),i(o,"class","preview-title svelte-1cw3u0m"),i(v,"class","preview-meta svelte-1cw3u0m"),i(D,"class","action-btn svelte-1cw3u0m"),i(D,"title",p("file.openExternal")),i(D,"aria-label",p("file.openExternal")),i(I,"class","action-btn action-btn-close svelte-1cw3u0m"),i(I,"title","Close"),i(I,"aria-label","Close preview"),i(F,"class","preview-actions svelte-1cw3u0m"),i(n,"class","preview-header svelte-1cw3u0m"),i(A,"class","preview-body svelte-1cw3u0m"),i(t,"class","modal svelte-1cw3u0m"),i(e,"class","overlay svelte-1cw3u0m"),i(e,"role","dialog"),i(e,"aria-modal","true"),i(e,"aria-label",W=`Preview: ${l[0].name}`)},m(J,E){g(J,e,E),c(e,t),c(t,n),c(n,o),Je(s,o,null),c(o,r),c(o,a),c(a,m),c(n,_),c(n,v),c(v,h),c(v,C),c(v,j),c(n,T),c(n,F),c(F,D),c(F,V),c(F,I),c(t,M),c(t,A),Y.m(A,null),R=!0,B||(H=[L(D,"click",l[9]),L(I,"click",l[10]),L(e,"click",pt(l[11]))],B=!0)},p(J,[E]){(!R||E&1)&&f!==(f=J[0].name+"")&&G(m,f),(!R||E&1&&k!==(k=J[0].name))&&i(a,"title",k),(!R||E&1)&&b!==(b=Ot(J[0].size)+"")&&G(h,b),(!R||E&1)&&S!==(S=Ml(J[0].mime)+"")&&G(j,S),K===(K=U(J))&&Y?Y.p(J,E):(Y.d(1),Y=K(J),Y&&(Y.c(),Y.m(A,null))),(!R||E&1&&W!==(W=`Preview: ${J[0].name}`))&&i(e,"aria-label",W)},i(J){R||(te(s.$$.fragment,J),R=!0)},o(J){oe(s.$$.fragment,J),R=!1},d(J){J&&y(e),Ze(s),Y.d(),B=!1,ue(H)}}}function br(l,e,t){let n,o,s,{item:r}=e,{content:a=""}=e,{loading:f=!1}=e,{error:m=""}=e;const k=zt(),_=ui(r);function v(S){S.key==="Escape"&&k("close")}function b(){k("openExternal",r.fileId)}si(()=>{window.addEventListener("keydown",v)}),ri(()=>{window.removeEventListener("keydown",v)});const h=()=>k("close"),C=()=>k("close");return l.$$set=S=>{"item"in S&&t(0,r=S.item),"content"in S&&t(1,a=S.content),"loading"in S&&t(2,f=S.loading),"error"in S&&t(3,m=S.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=di(r)&&a&&a.startsWith("data:")),l.$$.dirty&1&&t(5,o=mi(r)||vi(r)),l.$$.dirty&1&&t(4,s=pi(r))},[r,a,f,m,s,o,n,k,_,b,h,C]}class yr extends ut{constructor(e){super(),ft(this,e,br,hr,at,{item:0,content:1,loading:2,error:3})}}function gr(l){let e,t,n,o,s,r,a,f,m,k,_,v,b,h,C,S,j;return{c(){e=u("div"),t=u("div"),n=u("h3"),o=P(l[0]),s=w(),r=u("p"),a=P(l[1]),f=w(),m=u("div"),k=u("button"),_=P(l[2]),b=w(),h=u("button"),C=P(l[3]),i(n,"class","svelte-1fv6yyk"),i(r,"class","message svelte-1fv6yyk"),i(k,"class",v="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),i(h,"class","btn svelte-1fv6yyk"),i(m,"class","actions svelte-1fv6yyk"),i(t,"class","modal svelte-1fv6yyk"),i(e,"class","overlay svelte-1fv6yyk"),i(e,"role","dialog"),i(e,"aria-modal","true"),i(e,"aria-label",l[0])},m(T,F){g(T,e,F),c(e,t),c(t,n),c(n,o),c(t,s),c(t,r),c(r,a),c(t,f),c(t,m),c(m,k),c(k,_),c(m,b),c(m,h),c(h,C),S||(j=[L(k,"click",l[6]),L(h,"click",l[7]),L(e,"click",pt(l[8]))],S=!0)},p(T,[F]){F&1&&G(o,T[0]),F&2&&G(a,T[1]),F&4&&G(_,T[2]),F&16&&v!==(v="btn "+(T[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&i(k,"class",v),F&8&&G(C,T[3]),F&1&&i(e,"aria-label",T[0])},i:ee,o:ee,d(T){T&&y(e),S=!1,ue(j)}}}function wr(l,e,t){let{title:n=p("common.confirm")}=e,{message:o=""}=e,{confirmText:s=p("common.delete")}=e,{cancelText:r=p("common.cancel")}=e,{danger:a=!1}=e;const f=zt(),m=()=>f("confirm"),k=()=>f("cancel"),_=()=>f("cancel");return l.$$set=v=>{"title"in v&&t(0,n=v.title),"message"in v&&t(1,o=v.message),"confirmText"in v&&t(2,s=v.confirmText),"cancelText"in v&&t(3,r=v.cancelText),"danger"in v&&t(4,a=v.danger)},[n,o,s,r,a,f,m,k,_]}class jr extends ut{constructor(e){super(),ft(this,e,wr,gr,at,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Cr(l){let e,t,n;return{c(){e=z("circle"),t=z("line"),n=z("line"),i(e,"cx","12"),i(e,"cy","12"),i(e,"r","10"),i(t,"x1","12"),i(t,"y1","16"),i(t,"x2","12"),i(t,"y2","12"),i(n,"x1","12"),i(n,"y1","8"),i(n,"x2","12.01"),i(n,"y2","8")},m(o,s){g(o,e,s),g(o,t,s),g(o,n,s)},d(o){o&&(y(e),y(t),y(n))}}}function Sr(l){let e,t,n,o;return{c(){e=z("rect"),t=z("polyline"),n=z("line"),o=z("line"),i(e,"x","3"),i(e,"y","5"),i(e,"width","18"),i(e,"height","14"),i(e,"rx","2"),i(t,"points","3 10 21 10"),i(n,"x1","8"),i(n,"y1","5"),i(n,"x2","8"),i(n,"y2","19"),i(o,"x1","16"),i(o,"y1","5"),i(o,"x2","16"),i(o,"y2","19")},m(s,r){g(s,e,r),g(s,t,r),g(s,n,r),g(s,o,r)},d(s){s&&(y(e),y(t),y(n),y(o))}}}function Tr(l){let e,t;return{c(){e=z("path"),t=z("polyline"),i(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),i(t,"points","13 2 13 9 20 9")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function Nr(l){let e,t;return{c(){e=z("path"),t=z("path"),i(e,"d","M12 20h9"),i(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function Dr(l){let e,t,n,o,s;return{c(){e=z("path"),t=z("path"),n=z("line"),o=z("line"),s=z("line"),i(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),i(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),i(n,"x1","8"),i(n,"y1","7"),i(n,"x2","16"),i(n,"y2","7"),i(o,"x1","8"),i(o,"y1","11"),i(o,"x2","14"),i(o,"y2","11"),i(s,"x1","8"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","15")},m(r,a){g(r,e,a),g(r,t,a),g(r,n,a),g(r,o,a),g(r,s,a)},d(r){r&&(y(e),y(t),y(n),y(o),y(s))}}}function Fr(l){let e,t,n,o;return{c(){e=z("path"),t=z("polyline"),n=z("line"),o=z("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){g(s,e,r),g(s,t,r),g(s,n,r),g(s,o,r)},d(s){s&&(y(e),y(t),y(n),y(o))}}}function Ir(l){let e,t;return{c(){e=z("path"),t=z("circle"),i(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),i(t,"cx","12"),i(t,"cy","7"),i(t,"r","4")},m(n,o){g(n,e,o),g(n,t,o)},d(n){n&&(y(e),y(t))}}}function Mr(l){let e,t,n,o;return{c(){e=z("rect"),t=z("rect"),n=z("rect"),o=z("rect"),i(e,"x","3"),i(e,"y","3"),i(e,"width","7"),i(e,"height","7"),i(e,"rx","1"),i(t,"x","14"),i(t,"y","3"),i(t,"width","7"),i(t,"height","4"),i(t,"rx","1"),i(n,"x","14"),i(n,"y","10"),i(n,"width","7"),i(n,"height","11"),i(n,"rx","1"),i(o,"x","3"),i(o,"y","14"),i(o,"width","7"),i(o,"height","7"),i(o,"rx","1")},m(s,r){g(s,e,r),g(s,t,r),g(s,n,r),g(s,o,r)},d(s){s&&(y(e),y(t),y(n),y(o))}}}function Ar(l){let e;return{c(){e=z("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){g(t,e,n)},d(t){t&&y(e)}}}function Er(l){let e;function t(s,r){return s[0]==="folder"?Ar:s[0]==="project"?Mr:s[0]==="client"?Ir:s[0]==="document"?Fr:s[0]==="recipe"?Dr:s[0]==="note"?Nr:s[0]==="file"?Tr:s[0]==="case"?Sr:Cr}let n=t(l),o=n(l);return{c(){e=z("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){g(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ee,o:ee,d(s){s&&y(e),o.d()}}}function Lr(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class Bt extends ut{constructor(e){super(),ft(this,e,Lr,Er,at,{kind:0,size:1})}}function Pl(l,e,t){const n=l.slice();return n[30]=e[t],n}function Pr(l){let e;return{c(){e=u("span"),i(e,"class","tree-toggle-placeholder svelte-gydsvv")},m(t,n){g(t,e,n)},p:ee,d(t){t&&y(e)}}}function Or(l){let e,t,n=l[1][l[30].id]?"▾":"▸",o,s,r;function a(){return l[15](l[30])}return{c(){e=u("button"),t=u("span"),o=P(n),i(t,"class","tree-arrow"),i(e,"class","tree-toggle svelte-gydsvv")},m(f,m){g(f,e,m),c(e,t),c(t,o),s||(r=L(e,"click",Qe(a)),s=!0)},p(f,m){l=f,m[0]&3&&n!==(n=l[1][l[30].id]?"▾":"▸")&&G(o,n)},d(f){f&&y(e),s=!1,r()}}}function Ol(l){let e,t;return e=new hi({props:{nodes:l[30].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){xe(e.$$.fragment)},m(n,o){Je(e,n,o),t=!0},p(n,o){const s={};o[0]&1&&(s.nodes=n[30].children||[]),o[0]&2&&(s.expanded=n[1]),o[0]&4&&(s.selectedNodeId=n[2]),o[0]&8&&(s.level=n[3]+1),o[0]&16&&(s.onSelect=n[4]),o[0]&32&&(s.onToggle=n[5]),o[0]&64&&(s.onContextMenu=n[6]),o[0]&128&&(s.onDrop=n[7]),e.$set(s)},i(n){t||(te(e.$$.fragment,n),t=!0)},o(n){oe(e.$$.fragment,n),t=!1},d(n){Ze(e,n)}}}function zl(l){let e,t,n,o,s,r,a,f=l[30].title+"",m,k,_=l[1][l[30].id]&&Qt(l[30]),v,b,h,C;function S(U,K){return K[0]&1&&(t=null),t==null&&(t=!!At(U[30])),t?Or:Pr}let j=S(l,[-1,-1]),T=j(l);s=new Bt({props:{kind:Bl(l[30]),size:16}});function F(...U){return l[16](l[30],...U)}function D(){return l[17](l[30])}function V(...U){return l[18](l[30],...U)}function I(...U){return l[19](l[30],...U)}function M(...U){return l[20](l[30],...U)}function A(...U){return l[21](l[30],...U)}function W(...U){return l[22](l[30],...U)}function R(...U){return l[23](l[30],...U)}function B(...U){return l[24](l[30],...U)}let H=_&&Ol(l);return{c(){e=u("div"),T.c(),n=w(),o=u("span"),xe(s.$$.fragment),r=w(),a=u("span"),m=P(f),k=w(),H&&H.c(),v=lt(),i(o,"class","tree-icon svelte-gydsvv"),i(a,"class","tree-label svelte-gydsvv"),i(e,"class","tree-item svelte-gydsvv"),Be(e,"padding-left",l[3]*16+4+"px"),i(e,"draggable","true"),it(e,"selected",l[2]===l[30].id)},m(U,K){g(U,e,K),T.m(e,null),c(e,n),c(e,o),Je(s,o,null),c(e,r),c(e,a),c(a,m),g(U,k,K),H&&H.m(U,K),g(U,v,K),b=!0,h||(C=[L(o,"click",F),L(o,"dblclick",Qe(l[14])),L(a,"click",Qe(D)),L(e,"dragstart",V),L(e,"dragover",I),L(e,"dragleave",M),L(e,"drop",A),L(e,"click",W),L(e,"dblclick",R),L(e,"contextmenu",xt(B))],h=!0)},p(U,K){l=U,j===(j=S(l,K))&&T?T.p(l,K):(T.d(1),T=j(l),T&&(T.c(),T.m(e,n)));const Y={};K[0]&1&&(Y.kind=Bl(l[30])),s.$set(Y),(!b||K[0]&1)&&f!==(f=l[30].title+"")&&G(m,f),(!b||K[0]&8)&&Be(e,"padding-left",l[3]*16+4+"px"),(!b||K[0]&5)&&it(e,"selected",l[2]===l[30].id),K[0]&3&&(_=l[1][l[30].id]&&Qt(l[30])),_?H?(H.p(l,K),K[0]&3&&te(H,1)):(H=Ol(l),H.c(),te(H,1),H.m(v.parentNode,v)):H&&(Ge(),oe(H,1,1,()=>{H=null}),qe())},i(U){b||(te(s.$$.fragment,U),te(H),b=!0)},o(U){oe(s.$$.fragment,U),oe(H),b=!1},d(U){U&&(y(e),y(k),y(v)),T.d(),Ze(s),H&&H.d(U),h=!1,ue(C)}}}function zr(l){let e,t,n=ae(l[0]),o=[];for(let r=0;roe(o[r],1,1,()=>{o[r]=null});return{c(){for(let r=0;r0:l.has_children===!0}function ki(l,e){if(!l.children)return!1;for(const t of l.children)if(t.id===e||ki(t,e))return!0;return!1}function Rl(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function Br(l,e){l.stopPropagation(),l.dataTransfer.effectAllowed="move",l.dataTransfer.setData("text/plain",e.id)}function Rr(l,e,t){let{nodes:n=[]}=e,{expanded:o={}}=e,{selectedNodeId:s=""}=e,{level:r=0}=e,{onSelect:a}=e,{onToggle:f}=e,{onContextMenu:m}=e,{onDrop:k}=e,_={},v=null;const b=["folder","project","client","document","recipe","case"];function h(E){return b.includes(E.type)}function C(E,O){return!(!E||!O||O===E.id||!h(E)||ki(E,O))}function S(E,O){const Z=Rl(E);if(!C(O,Z))return;E.preventDefault(),E.stopPropagation(),E.dataTransfer.dropEffect="move",E.currentTarget.classList.add("drop-valid"),At(O)&&!o[O.id]&&!_[O.id]&&(_[O.id]=setTimeout(()=>{f&&f(O.id),delete _[O.id]},500));const q=E.currentTarget.closest(".workspace-tree-area");if(q){const be=q.getBoundingClientRect(),x=30;E.clientY-be.top{q.scrollTop-=10},50)):be.bottom-E.clientY{q.scrollTop+=10},50)):v&&(clearInterval(v),v=null)}}function j(E){E.currentTarget.classList.remove("drop-valid");const O=E.currentTarget.dataset.nodeId;O&&_[O]&&(clearTimeout(_[O]),delete _[O]),v&&(clearInterval(v),v=null)}function T(E,O){E.preventDefault(),E.stopPropagation(),E.currentTarget.classList.remove("drop-valid"),_[O.id]&&(clearTimeout(_[O.id]),delete _[O.id]),v&&(clearInterval(v),v=null);const Z=Rl(E);C(O,Z)&&k&&k(Z,O.id)}function F(E,O){E.target.closest(".tree-toggle")||E.target.closest(".tree-icon")||a&&a(O)}function D(E,O){At(O)&&f&&f(O.id)}function V(E,O){E.stopPropagation(),At(O)&&f&&f(O.id)}function I(E){ci.call(this,l,E)}const M=E=>f&&f(E.id),A=(E,O)=>V(O,E),W=E=>a&&a(E),R=(E,O)=>Br(O,E),B=(E,O)=>S(O,E),H=(E,O)=>j(O),U=(E,O)=>T(O,E),K=(E,O)=>F(O,E),Y=(E,O)=>D(O,E),J=(E,O)=>m&&m(O,E);return l.$$set=E=>{"nodes"in E&&t(0,n=E.nodes),"expanded"in E&&t(1,o=E.expanded),"selectedNodeId"in E&&t(2,s=E.selectedNodeId),"level"in E&&t(3,r=E.level),"onSelect"in E&&t(4,a=E.onSelect),"onToggle"in E&&t(5,f=E.onToggle),"onContextMenu"in E&&t(6,m=E.onContextMenu),"onDrop"in E&&t(7,k=E.onDrop)},[n,o,s,r,a,f,m,k,S,j,T,F,D,V,I,M,A,W,R,B,H,U,K,Y,J]}class hi extends ut{constructor(e){super(),ft(this,e,Rr,zr,at,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Hl(l,e,t){const n=l.slice();return n[221]=e[t],n}function Vl(l,e,t){const n=l.slice();return n[224]=e[t],n}function Ul(l,e,t){const n=l.slice();return n[224]=e[t],n}function Wl(l,e,t){const n=l.slice();return n[245]=e[t],n}function Kl(l,e,t){const n=l.slice();return n[245]=e[t],n}function Gl(l,e,t){const n=l.slice();return n[253]=e[t],n}function ql(l,e,t){const n=l.slice();return n[245]=e[t],n}function Yl(l,e,t){const n=l.slice();return n[245]=e[t],n}function Xl(l,e,t){const n=l.slice();return n[229]=e[t],n}function Jl(l,e,t){const n=l.slice();return n[240]=e[t],n}function Zl(l,e,t){const n=l.slice();return n[237]=e[t],n}function Ql(l,e,t){const n=l.slice();return n[232]=e[t],n}function xl(l,e,t){const n=l.slice();return n[229]=e[t],n}function $l(l,e,t){const n=l.slice();return n[232]=e[t],n}function en(l,e,t){const n=l.slice();return n[248]=e[t],n}function tn(l,e,t){const n=l.slice();return n[260]=e[t],n}function ln(l,e,t){const n=l.slice();return n[263]=e[t],n}function nn(l){let e,t=l[263].label+"",n,o,s,r,a;function f(){return l[128](l[263])}return{c(){e=u("button"),n=P(t),o=w(),i(e,"class",s="nav-item "+(l[8]===l[263].id?"selected":"")+" svelte-1k9v32j")},m(m,k){g(m,e,k),c(e,n),c(e,o),r||(a=L(e,"click",f),r=!0)},p(m,k){l=m,k[0]&1&&t!==(t=l[263].label+"")&&G(n,t),k[0]&257&&s!==(s="nav-item "+(l[8]===l[263].id?"selected":"")+" svelte-1k9v32j")&&i(e,"class",s)},d(m){m&&y(e),r=!1,a()}}}function Hr(l){let e;return{c(){e=u("div"),e.textContent=`${p("nav.noNodes")}`,i(e,"class","nav-empty svelte-1k9v32j")},m(t,n){g(t,e,n)},p:ee,i:ee,o:ee,d(t){t&&y(e)}}}function Vr(l){var r;let e,t,n,o,s;return t=new hi({props:{nodes:l[1],expanded:l[32],selectedNodeId:((r=l[9])==null?void 0:r.id)||"",onSelect:l[62],onToggle:l[92],onContextMenu:l[90],onDrop:l[93]}}),{c(){e=u("div"),xe(t.$$.fragment),i(e,"class","workspace-tree-area svelte-1k9v32j")},m(a,f){g(a,e,f),Je(t,e,null),n=!0,o||(s=[L(e,"dragover",xt(Ac)),L(e,"drop",l[94])],o=!0)},p(a,f){var k;const m={};f[0]&2&&(m.nodes=a[1]),f[1]&2&&(m.expanded=a[32]),f[0]&512&&(m.selectedNodeId=((k=a[9])==null?void 0:k.id)||""),t.$set(m)},i(a){n||(te(t.$$.fragment,a),n=!0)},o(a){oe(t.$$.fragment,a),n=!1},d(a){a&&y(e),Ze(t),o=!1,ue(s)}}}function Ur(l){let e;return{c(){e=u("span"),e.textContent=`${p("nav.selectPrompt")}`,i(e,"class","crumb placeholder svelte-1k9v32j")},m(t,n){g(t,e,n)},p:ee,d(t){t&&y(e)}}}function Wr(l){let e,t=ae(l[0]),n=[];for(let o=0;o0&&rn(l);return{c(){e=u("button"),t=z("svg"),n=z("polyline"),o=z("polyline"),s=z("path"),r=w(),m&&m.c(),i(n,"points","23 4 23 10 17 10"),i(n,"class","svelte-1k9v32j"),i(o,"points","1 20 1 14 7 14"),i(o,"class","svelte-1k9v32j"),i(s,"d","M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"),i(s,"class","svelte-1k9v32j"),i(t,"width","16"),i(t,"height","16"),i(t,"viewBox","0 0 24 24"),i(t,"fill","none"),i(t,"stroke","currentColor"),i(t,"stroke-width","2"),i(t,"stroke-linecap","round"),i(t,"stroke-linejoin","round"),i(t,"class","svelte-1k9v32j"),i(e,"class","header-sync-btn svelte-1k9v32j"),e.disabled=l[53],i(e,"title",p("nav.syncNow"))},m(k,_){g(k,e,_),c(e,t),c(t,n),c(t,o),c(t,s),c(e,r),m&&m.m(e,null),a||(f=L(e,"click",l[127]),a=!0)},p(k,_){k[52].unpushedOps>0?m?m.p(k,_):(m=rn(k),m.c(),m.m(e,null)):m&&(m.d(1),m=null),_[1]&4194304&&(e.disabled=k[53])},d(k){k&&y(e),m&&m.d(),a=!1,f()}}}function rn(l){let e,t=l[52].unpushedOps+"",n;return{c(){e=u("span"),n=P(t),i(e,"class","sync-badge svelte-1k9v32j")},m(o,s){g(o,e,s),c(e,n)},p(o,s){s[1]&2097152&&t!==(t=o[52].unpushedOps+"")&&G(n,t)},d(o){o&&y(e)}}}function cn(l){let e,t,n,o,s,r;return{c(){e=u("div"),t=P(l[7]),n=w(),o=u("button"),o.innerHTML='',i(o,"class","dismiss-btn svelte-1k9v32j"),i(o,"aria-label","Dismiss"),i(e,"class","error-banner svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,t),c(e,n),c(e,o),s||(r=[L(o,"click",Qe(l[129])),L(e,"click",l[130])],s=!0)},p(a,f){f[0]&128&&G(t,a[7])},d(a){a&&y(e),s=!1,ue(r)}}}function Gr(l){let e,t,n;function o(a,f){if(a[28])return xr;if(a[0].length>0)return Qr;if(a[7])return Zr}let s=o(l),r=s&&s(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${p("welcome.title")}`,n=w(),r&&r.c(),i(t,"class","svelte-1k9v32j"),i(e,"class","welcome svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,t),c(e,n),r&&r.m(e,null)},p(a,f){s===(s=o(a))&&r?r.p(a,f):(r&&r.d(1),r=s&&s(a),r&&(r.c(),r.m(e,null)))},i:ee,o:ee,d(a){a&&y(e),r&&r.d()}}}function qr(l){let e,t,n,o;function s(f,m){return f[4].length===0?ec:$r}let r=s(l),a=r(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${p("activity.title")}`,o=w(),a.c(),i(n,"class","svelte-1k9v32j"),i(t,"class","activity-feed-header svelte-1k9v32j"),i(e,"class","activity-feed svelte-1k9v32j")},m(f,m){g(f,e,m),c(e,t),c(t,n),c(e,o),a.m(e,null)},p(f,m){r===(r=s(f))&&a?a.p(f,m):(a.d(1),a=r(f),a&&(a.c(),a.m(e,null)))},i:ee,o:ee,d(f){f&&y(e),a.d()}}}function Yr(l){let e,t,n,o,s,r=l[3].date+"",a,f,m,k=l[3].summary&&un(l);function _(h,C){return h[3].groups&&h[3].groups.length>0?lc:tc}let v=_(l),b=v(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${p("today.title")}`,o=w(),s=u("span"),a=P(r),f=w(),k&&k.c(),m=w(),b.c(),i(n,"class","svelte-1k9v32j"),i(s,"class","today-date svelte-1k9v32j"),i(t,"class","today-header svelte-1k9v32j"),i(e,"class","today-dashboard svelte-1k9v32j")},m(h,C){g(h,e,C),c(e,t),c(t,n),c(t,o),c(t,s),c(s,a),c(e,f),k&&k.m(e,null),c(e,m),b.m(e,null)},p(h,C){C[0]&8&&r!==(r=h[3].date+"")&&G(a,r),h[3].summary?k?k.p(h,C):(k=un(h),k.c(),k.m(e,m)):k&&(k.d(1),k=null),v===(v=_(h))&&b?b.p(h,C):(b.d(1),b=v(h),b&&(b.c(),b.m(e,null)))},i:ee,o:ee,d(h){h&&y(e),k&&k.d(),b.d()}}}function Xr(l){let e,t,n,o,s,r,a=ae(l[60]),f=[];for(let v=0;v{k[h]=null}),qe()),~o?(s=k[o],s?s.p(v,b):(s=k[o]=m[o](v),s.c()),te(s,1),s.m(n,null)):s=null)},i(v){r||(te(s),r=!0)},o(v){oe(s),r=!1},d(v){v&&(y(e),y(t),y(n)),We(f,v),~o&&k[o].d()}}}function Jr(l){let e,t,n,o=l[12].title+"",s,r,a,f,m,k,_,v,b,h,C,S=l[12].dirty&&On();return{c(){e=u("div"),t=u("div"),n=u("span"),s=P(o),r=w(),S&&S.c(),a=w(),f=u("div"),m=u("button"),m.textContent=`${p("common.save")}`,k=w(),_=u("button"),_.textContent=`${p("common.close")}`,v=w(),b=u("textarea"),i(n,"class","note-title svelte-1k9v32j"),i(m,"class","btn btn-primary svelte-1k9v32j"),i(_,"class","btn svelte-1k9v32j"),i(f,"class","note-editor-actions svelte-1k9v32j"),i(t,"class","note-editor-header svelte-1k9v32j"),i(b,"class","note-textarea svelte-1k9v32j"),i(b,"placeholder",p("note.placeholder")),i(e,"class","note-editor svelte-1k9v32j")},m(j,T){g(j,e,T),c(e,t),c(t,n),c(n,s),c(t,r),S&&S.m(t,null),c(t,a),c(t,f),c(f,m),c(f,k),c(f,_),c(e,v),c(e,b),Me(b,l[12].content),h||(C=[L(m,"click",l[105]),L(_,"click",l[103]),L(b,"input",l[131]),L(b,"input",l[104])],h=!0)},p(j,T){T[0]&4096&&o!==(o=j[12].title+"")&&G(s,o),j[12].dirty?S||(S=On(),S.c(),S.m(t,a)):S&&(S.d(1),S=null),T[0]&4096&&Me(b,j[12].content)},i:ee,o:ee,d(j){j&&y(e),S&&S.d(),h=!1,ue(C)}}}function Zr(l){let e,t=p("common.error")+"",n,o,s;return{c(){e=u("p"),n=P(t),o=w(),s=P(l[7]),i(e,"class","error-text svelte-1k9v32j")},m(r,a){g(r,e,a),c(e,n),c(e,o),c(e,s)},p(r,a){a[0]&128&&G(s,r[7])},d(r){r&&y(e)}}}function Qr(l){let e,t,n;return{c(){e=u("p"),e.textContent=`${p("welcome.selectSection")}`,t=w(),n=u("p"),n.textContent=`${p("welcome.createCase")}`,i(e,"class","svelte-1k9v32j"),i(n,"class","hint svelte-1k9v32j")},m(o,s){g(o,e,s),g(o,t,s),g(o,n,s)},p:ee,d(o){o&&(y(e),y(t),y(n))}}}function xr(l){let e;return{c(){e=u("p"),e.textContent=`${p("common.loading")}`,i(e,"class","svelte-1k9v32j")},m(t,n){g(t,e,n)},p:ee,d(t){t&&y(e)}}}function $r(l){let e,t=ae(l[4]),n=[];for(let o=0;o0&&dn(l),s=l[3].summary.notes>0&&mn(l),r=l[3].summary.files>0&&pn(l);return{c(){e=u("div"),o&&o.c(),t=w(),s&&s.c(),n=w(),r&&r.c(),i(e,"class","today-summary svelte-1k9v32j")},m(a,f){g(a,e,f),o&&o.m(e,null),c(e,t),s&&s.m(e,null),c(e,n),r&&r.m(e,null)},p(a,f){a[3].summary.changedCases>0?o?o.p(a,f):(o=dn(a),o.c(),o.m(e,t)):o&&(o.d(1),o=null),a[3].summary.notes>0?s?s.p(a,f):(s=mn(a),s.c(),s.m(e,n)):s&&(s.d(1),s=null),a[3].summary.files>0?r?r.p(a,f):(r=pn(a),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(a){a&&y(e),o&&o.d(),s&&s.d(),r&&r.d()}}}function dn(l){let e,t=l[3].summary.changedCases+"",n,o,s=ct(l[3].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"",r;return{c(){e=u("span"),n=P(t),o=w(),r=P(s),i(e,"class","summary-chip svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,n),c(e,o),c(e,r)},p(a,f){f[0]&8&&t!==(t=a[3].summary.changedCases+"")&&G(n,t),f[0]&8&&s!==(s=ct(a[3].summary.changedCases,p("today.plural.case_one"),p("today.plural.case_few"),p("today.plural.case_many"))+"")&&G(r,s)},d(a){a&&y(e)}}}function mn(l){let e,t=l[3].summary.notes+"",n,o,s=ct(l[3].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"",r;return{c(){e=u("span"),n=P(t),o=w(),r=P(s),i(e,"class","summary-chip svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,n),c(e,o),c(e,r)},p(a,f){f[0]&8&&t!==(t=a[3].summary.notes+"")&&G(n,t),f[0]&8&&s!==(s=ct(a[3].summary.notes,p("today.plural.note_one"),p("today.plural.note_few"),p("today.plural.note_many"))+"")&&G(r,s)},d(a){a&&y(e)}}}function pn(l){let e,t=l[3].summary.files+"",n,o,s=ct(l[3].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"",r;return{c(){e=u("span"),n=P(t),o=w(),r=P(s),i(e,"class","summary-chip svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,n),c(e,o),c(e,r)},p(a,f){f[0]&8&&t!==(t=a[3].summary.files+"")&&G(n,t),f[0]&8&&s!==(s=ct(a[3].summary.files,p("today.plural.file_one"),p("today.plural.file_few"),p("today.plural.file_many"))+"")&&G(r,s)},d(a){a&&y(e)}}}function tc(l){let e,t,n,o;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("today.empty")}`,n=w(),o=u("p"),o.textContent=`${p("today.emptyHint")}`,i(t,"class","svelte-1k9v32j"),i(o,"class","hint svelte-1k9v32j"),i(e,"class","today-empty svelte-1k9v32j")},m(s,r){g(s,e,r),c(e,t),c(e,n),c(e,o)},p:ee,d(s){s&&y(e)}}}function lc(l){let e,t,n=ae(l[3].groups),o=[];for(let r=0;r0&&bn(l);return{c(){for(let r=0;r0?s?s.p(r,a):(s=bn(r),s.c(),s.m(t.parentNode,t)):s&&(s.d(1),s=null)},d(r){r&&(y(e),y(t)),We(o,r),s&&s.d(r)}}}function vn(l){let e,t=l[253].events.length+"",n,o,s=ct(l[253].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"",r;return{c(){e=u("span"),n=P(t),o=w(),r=P(s),i(e,"class","today-case-count svelte-1k9v32j")},m(a,f){g(a,e,f),c(e,n),c(e,o),c(e,r)},p(a,f){f[0]&8&&t!==(t=a[253].events.length+"")&&G(n,t),f[0]&8&&s!==(s=ct(a[253].events.length,p("today.plural.event_one"),p("today.plural.event_few"),p("today.plural.event_many"))+"")&&G(r,s)},d(a){a&&y(e)}}}function nc(l){let e;return{c(){e=u("div"),e.textContent=`${p("today.changedCases")}`,i(e,"class","today-events-empty svelte-1k9v32j")},m(t,n){g(t,e,n)},p:ee,d(t){t&&y(e)}}}function ic(l){let e,t=ae(l[253].events),n=[];for(let o=0;o0?ic:nc}let I=V(l),M=I(l);return{c(){e=u("div"),t=u("div"),n=u("span"),s=P(o),r=w(),a=u("span"),m=P(f),k=w(),T&&T.c(),_=w(),v=u("span"),h=P(b),C=w(),M.c(),i(n,"class","today-case-title svelte-1k9v32j"),i(a,"class","today-case-type svelte-1k9v32j"),i(v,"class","today-case-time svelte-1k9v32j"),i(t,"class","today-case-header svelte-1k9v32j"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","today-case svelte-1k9v32j")},m(A,W){g(A,e,W),c(e,t),c(t,n),c(n,s),c(t,r),c(t,a),c(a,m),c(t,k),T&&T.m(t,null),c(t,_),c(t,v),c(v,h),c(e,C),M.m(e,null),S||(j=[L(t,"click",F),L(t,"keydown",D)],S=!0)},p(A,W){l=A,W[0]&8&&o!==(o=l[253].nodeTitle+"")&&G(s,o),W[0]&8&&f!==(f=l[114](l[253].nodeKind)+"")&&G(m,f),l[253].events?T?T.p(l,W):(T=vn(l),T.c(),T.m(t,_)):T&&(T.d(1),T=null),W[0]&8&&b!==(b=ot(l[253].lastActivityAt)+"")&&G(h,b),I===(I=V(l))&&M?M.p(l,W):(M.d(1),M=I(l),M&&(M.c(),M.m(e,null)))},d(A){A&&y(e),T&&T.d(),M.d(),S=!1,ue(j)}}}function bn(l){let e,t,n,o=ae(l[3].events),s=[];for(let r=0;r0&&Tn(l);const M=[hc,kc],A=[];function W(H,U){return H[33]?0:1}h=W(l),C=A[h]=M[h](l);let R=l[29]&&!l[31]&&Dn(),B=l[37]&&Fn(l);return{c(){e=u("div"),t=u("div"),n=u("button"),s=P(o),r=w(),a=u("button"),m=P(f),k=w(),_=u("button"),_.textContent=`${p("file.newFile")}`,v=w(),I&&I.c(),b=w(),C.c(),S=w(),R&&R.c(),j=w(),B&&B.c(),T=lt(),i(n,"class","btn btn-primary svelte-1k9v32j"),n.disabled=l[29],i(a,"class","btn svelte-1k9v32j"),a.disabled=l[29],i(_,"class","btn svelte-1k9v32j"),i(t,"class","tab-toolbar svelte-1k9v32j"),i(e,"class","files-tab svelte-1k9v32j")},m(H,U){g(H,e,U),c(e,t),c(t,n),c(n,s),c(t,r),c(t,a),c(a,m),c(t,k),c(t,_),c(t,v),I&&I.m(t,null),c(e,b),A[h].m(e,null),c(e,S),R&&R.m(e,null),g(H,j,U),B&&B.m(H,U),g(H,T,U),F=!0,D||(V=[L(n,"click",l[107]),L(a,"click",l[108]),L(_,"click",l[69])],D=!0)},p(H,U){(!F||U[0]&536870912)&&(n.disabled=H[29]),(!F||U[0]&536870912)&&(a.disabled=H[29]),H[41].items.length>0?I?I.p(H,U):(I=Tn(H),I.c(),I.m(t,null)):I&&(I.d(1),I=null);let K=h;h=W(H),h===K?A[h].p(H,U):(Ge(),oe(A[K],1,1,()=>{A[K]=null}),qe(),C=A[h],C?C.p(H,U):(C=A[h]=M[h](H),C.c()),te(C,1),C.m(e,S)),H[29]&&!H[31]?R||(R=Dn(),R.c(),R.m(e,null)):R&&(R.d(1),R=null),H[37]?B?(B.p(H,U),U[1]&64&&te(B,1)):(B=Fn(H),B.c(),te(B,1),B.m(T.parentNode,T)):B&&(Ge(),oe(B,1,1,()=>{B=null}),qe())},i(H){F||(te(C),te(B),F=!0)},o(H){oe(C),oe(B),F=!1},d(H){H&&(y(e),y(j),y(T)),I&&I.d(),A[h].d(),R&&R.d(),B&&B.d(H),D=!1,ue(V)}}}function ac(l){let e,t,n,o,s,r,a,f=l[22]&&In(l);function m(v,b){return v[11].length===0&&!v[22]?Cc:jc}let k=m(l),_=k(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${p("note.add")}`,o=w(),f&&f.c(),s=w(),_.c(),i(n,"class","btn btn-primary svelte-1k9v32j"),i(t,"class","tab-toolbar svelte-1k9v32j"),i(e,"class","notes-tab svelte-1k9v32j")},m(v,b){g(v,e,b),c(e,t),c(t,n),c(e,o),f&&f.m(e,null),c(e,s),_.m(e,null),r||(a=L(n,"click",l[99]),r=!0)},p(v,b){v[22]?f?f.p(v,b):(f=In(v),f.c(),f.m(e,s)):f&&(f.d(1),f=null),k===(k=m(v))&&_?_.p(v,b):(_.d(1),_=k(v),_&&(_.c(),_.m(e,null)))},i:ee,o:ee,d(v){v&&y(e),f&&f.d(),_.d(),r=!1,a()}}}function fc(l){let e,t,n=l[9].title+"",o,s,r,a,f,m,k=l[114](l[9].type)+"",_,v,b,h,C,S=(l[9].section||"—")+"",j,T,F,D,V,I=st(l[9].createdAt)+"",M,A,W,R,B,H,U,K,Y=p("overview.newNote")+"",J,E,O,Z,q,be,x=p("overview.addFile")+"",se,$,re,me,ce,fe,je=p("overview.addAction")+"",Le,ye,ze,ge,we,le,Ve,et=p("overview.logTime")+"",tt,Ye,pe,Pe,De,Te=l[11].length>0&&An(l),Fe=l[14].length>0&&Ln(l);return{c(){e=u("div"),t=u("h2"),o=P(n),s=w(),r=u("div"),a=u("div"),f=u("span"),f.textContent=`${p("overview.type")}`,m=u("span"),_=P(k),v=w(),b=u("div"),h=u("span"),h.textContent=`${p("overview.section")}`,C=u("span"),j=P(S),T=w(),F=u("div"),D=u("span"),D.textContent=`${p("overview.created")}`,V=u("span"),M=P(I),A=w(),W=u("div"),R=u("button"),B=z("svg"),H=z("path"),U=z("path"),K=w(),J=P(Y),E=w(),O=u("button"),Z=z("svg"),q=z("path"),be=w(),se=P(x),$=w(),re=u("button"),me=z("svg"),ce=z("polygon"),fe=w(),Le=P(je),ye=w(),ze=u("button"),ge=z("svg"),we=z("circle"),le=z("polyline"),Ve=w(),tt=P(et),Ye=w(),Te&&Te.c(),pe=w(),Fe&&Fe.c(),i(t,"class","svelte-1k9v32j"),i(f,"class","meta-label svelte-1k9v32j"),i(m,"class","svelte-1k9v32j"),i(a,"class","meta-item svelte-1k9v32j"),i(h,"class","meta-label svelte-1k9v32j"),i(C,"class","svelte-1k9v32j"),i(b,"class","meta-item svelte-1k9v32j"),i(D,"class","meta-label svelte-1k9v32j"),i(V,"class","svelte-1k9v32j"),i(F,"class","meta-item svelte-1k9v32j"),i(r,"class","meta-grid svelte-1k9v32j"),i(H,"d","M12 20h9"),i(H,"class","svelte-1k9v32j"),i(U,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(U,"class","svelte-1k9v32j"),i(B,"width","16"),i(B,"height","16"),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(B,"class","svelte-1k9v32j"),i(R,"class","qa-btn svelte-1k9v32j"),i(q,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),i(q,"class","svelte-1k9v32j"),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-1k9v32j"),i(O,"class","qa-btn svelte-1k9v32j"),i(ce,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),i(ce,"class","svelte-1k9v32j"),i(me,"width","16"),i(me,"height","16"),i(me,"viewBox","0 0 24 24"),i(me,"fill","none"),i(me,"stroke","currentColor"),i(me,"stroke-width","2"),i(me,"stroke-linecap","round"),i(me,"stroke-linejoin","round"),i(me,"class","svelte-1k9v32j"),i(re,"class","qa-btn svelte-1k9v32j"),i(we,"cx","12"),i(we,"cy","12"),i(we,"r","10"),i(we,"class","svelte-1k9v32j"),i(le,"points","12 6 12 12 16 14"),i(le,"class","svelte-1k9v32j"),i(ge,"width","16"),i(ge,"height","16"),i(ge,"viewBox","0 0 24 24"),i(ge,"fill","none"),i(ge,"stroke","currentColor"),i(ge,"stroke-width","2"),i(ge,"stroke-linecap","round"),i(ge,"stroke-linejoin","round"),i(ge,"class","svelte-1k9v32j"),i(ze,"class","qa-btn svelte-1k9v32j"),i(W,"class","quick-actions svelte-1k9v32j"),i(e,"class","overview svelte-1k9v32j")},m(Ce,ke){g(Ce,e,ke),c(e,t),c(t,o),c(e,s),c(e,r),c(r,a),c(a,f),c(a,m),c(m,_),c(r,v),c(r,b),c(b,h),c(b,C),c(C,j),c(r,T),c(r,F),c(F,D),c(F,V),c(V,M),c(e,A),c(e,W),c(W,R),c(R,B),c(B,H),c(B,U),c(R,K),c(R,J),c(W,E),c(W,O),c(O,Z),c(Z,q),c(O,be),c(O,se),c(W,$),c(W,re),c(re,me),c(me,ce),c(re,fe),c(re,Le),c(W,ye),c(W,ze),c(ze,ge),c(ge,we),c(ge,le),c(ze,Ve),c(ze,tt),c(e,Ye),Te&&Te.m(e,null),c(e,pe),Fe&&Fe.m(e,null),Pe||(De=[L(R,"click",l[133]),L(O,"click",l[134]),L(re,"click",l[115]),L(ze,"click",l[135])],Pe=!0)},p(Ce,ke){ke[0]&512&&n!==(n=Ce[9].title+"")&&G(o,n),ke[0]&512&&k!==(k=Ce[114](Ce[9].type)+"")&&G(_,k),ke[0]&512&&S!==(S=(Ce[9].section||"—")+"")&&G(j,S),ke[0]&512&&I!==(I=st(Ce[9].createdAt)+"")&&G(M,I),Ce[11].length>0?Te?Te.p(Ce,ke):(Te=An(Ce),Te.c(),Te.m(e,pe)):Te&&(Te.d(1),Te=null),Ce[14].length>0?Fe?Fe.p(Ce,ke):(Fe=Ln(Ce),Fe.c(),Fe.m(e,null)):Fe&&(Fe.d(1),Fe=null)},i:ee,o:ee,d(Ce){Ce&&y(e),Te&&Te.d(),Fe&&Fe.d(),Pe=!1,ue(De)}}}function uc(l){let e,t=ae(l[5]),n=[];for(let o=0;o',F=w(),i(n,"class","action-title svelte-1k9v32j"),i(a,"class","action-type svelte-1k9v32j"),i(_,"class","action-data svelte-1k9v32j"),i(t,"class","action-info svelte-1k9v32j"),i(S,"class","btn btn-sm svelte-1k9v32j"),i(T,"class","btn btn-sm btn-danger svelte-1k9v32j"),i(C,"class","action-btns svelte-1k9v32j"),i(e,"class","action-card svelte-1k9v32j")},m(A,W){g(A,e,W),c(e,t),c(t,n),c(n,s),c(t,r),c(t,a),c(a,m),c(t,k),c(t,_),c(_,b),c(e,h),c(e,C),c(C,S),c(C,j),c(C,T),c(e,F),D||(V=[L(S,"click",I),L(T,"click",M)],D=!0)},p(A,W){l=A,W[0]&8192&&o!==(o=l[240].title+"")&&G(s,o),W[0]&8192&&f!==(f=l[119](l[240].type)+"")&&G(m,f),W[0]&8192&&v!==(v=l[240].data+"")&&G(b,v)},d(A){A&&y(e),D=!1,ue(V)}}}function Tn(l){let e,t=p("common.paste")+"",n,o,s=l[41].items.length+"",r,a,f;return{c(){e=u("button"),n=P(t),o=w(),r=P(s),i(e,"class","btn svelte-1k9v32j")},m(m,k){g(m,e,k),c(e,n),c(e,o),c(e,r),a||(f=L(e,"click",l[74]),a=!0)},p(m,k){k[1]&1024&&s!==(s=m[41].items.length+"")&&G(r,s)},d(m){m&&y(e),a=!1,f()}}}function kc(l){let e,t,n,o,s,r,a;const f=[yc,bc],m=[];function k(h,C){return h[35].length>0?0:1}e=k(l),t=m[e]=f[e](l);const _=[wc,gc],v=[];function b(h,C){return h[36].length===0?0:1}return o=b(l),s=v[o]=_[o](l),{c(){t.c(),n=w(),s.c(),r=lt()},m(h,C){m[e].m(h,C),g(h,n,C),v[o].m(h,C),g(h,r,C),a=!0},p(h,C){let S=e;e=k(h),e===S?m[e].p(h,C):(Ge(),oe(m[S],1,1,()=>{m[S]=null}),qe(),t=m[e],t?t.p(h,C):(t=m[e]=f[e](h),t.c()),te(t,1),t.m(n.parentNode,n));let j=o;o=b(h),o===j?v[o].p(h,C):(Ge(),oe(v[j],1,1,()=>{v[j]=null}),qe(),s=v[o],s?s.p(h,C):(s=v[o]=_[o](h),s.c()),te(s,1),s.m(r.parentNode,r))},i(h){a||(te(t),te(s),a=!0)},o(h){oe(t),oe(s),a=!1},d(h){h&&(y(n),y(r)),m[e].d(h),v[o].d(h)}}}function hc(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("common.loading")}`,i(t,"class","svelte-1k9v32j"),i(e,"class","empty-state svelte-1k9v32j")},m(n,o){g(n,e,o),c(e,t)},p:ee,i:ee,o:ee,d(n){n&&y(e)}}}function bc(l){let e,t;return e=new _i({props:{crumbs:[{name:p("file.root")}]}}),{c(){xe(e.$$.fragment)},m(n,o){Je(e,n,o),t=!0},p:ee,i(n){t||(te(e.$$.fragment,n),t=!0)},o(n){oe(e.$$.fragment,n),t=!1},d(n){Ze(e,n)}}}function yc(l){let e,t,n,o,s,r,a,f=p("common.back")+"",m,k,_,v;return e=new _i({props:{crumbs:[{name:p("file.root")},...l[35]]}}),e.$on("navigate",l[140]),{c(){xe(e.$$.fragment),t=w(),n=u("button"),o=z("svg"),s=z("line"),r=z("polyline"),a=w(),m=P(f),i(s,"x1","19"),i(s,"y1","12"),i(s,"x2","5"),i(s,"y2","12"),i(s,"class","svelte-1k9v32j"),i(r,"points","12 19 5 12 12 5"),i(r,"class","svelte-1k9v32j"),i(o,"width","14"),i(o,"height","14"),i(o,"viewBox","0 0 24 24"),i(o,"fill","none"),i(o,"stroke","currentColor"),i(o,"stroke-width","2"),i(o,"stroke-linecap","round"),i(o,"stroke-linejoin","round"),i(o,"class","svelte-1k9v32j"),i(n,"class","btn btn-sm back-btn svelte-1k9v32j")},m(b,h){Je(e,b,h),g(b,t,h),g(b,n,h),c(n,o),c(o,s),c(o,r),c(n,a),c(n,m),k=!0,_||(v=L(n,"click",l[65]),_=!0)},p(b,h){const C={};h[1]&16&&(C.crumbs=[{name:p("file.root")},...b[35]]),e.$set(C)},i(b){k||(te(e.$$.fragment,b),k=!0)},o(b){oe(e.$$.fragment,b),k=!1},d(b){b&&(y(t),y(n)),Ze(e,b),_=!1,v()}}}function gc(l){let e,t=[],n=new Map,o,s=ae(l[36]);const r=a=>a[237].id;for(let a=0;a0?p("file.noFiles"):p("file.noFilesCase"))+"",r,a,f,m,k,_,v,b,h,C;return{c(){e=u("div"),t=u("div"),t.innerHTML='',n=w(),o=u("p"),r=P(s),a=w(),f=u("p"),f.textContent=`${p("file.hint")}`,m=w(),k=u("div"),_=u("button"),_.textContent=`${p("file.addFileSimple")}`,v=w(),b=u("button"),b.textContent=`${p("file.addFolderSimple")}`,i(t,"class","empty-icon svelte-1k9v32j"),i(o,"class","svelte-1k9v32j"),i(f,"class","hint svelte-1k9v32j"),i(_,"class","btn btn-primary svelte-1k9v32j"),i(b,"class","btn svelte-1k9v32j"),i(k,"class","empty-actions svelte-1k9v32j"),i(e,"class","empty-state svelte-1k9v32j")},m(S,j){g(S,e,j),c(e,t),c(e,n),c(e,o),c(o,r),c(e,a),c(e,f),c(e,m),c(e,k),c(k,_),c(k,v),c(k,b),h||(C=[L(_,"click",l[107]),L(b,"click",l[108])],h=!0)},p(S,j){j[1]&16&&s!==(s=(S[35].length>0?p("file.noFiles"):p("file.noFilesCase"))+"")&&G(r,s)},i:ee,o:ee,d(S){S&&y(e),h=!1,ue(C)}}}function Nn(l,e){let t,n,o;return n=new ir({props:{item:e[237],selected:e[42].includes(e[237].id),onDragStart:e[78],onDragOver:e[79],onDrop:e[80]}}),n.$on("navigate",e[141]),n.$on("preview",e[142]),n.$on("openExternal",e[143]),n.$on("showInFolder",e[144]),n.$on("delete",e[145]),n.$on("rename",e[146]),n.$on("duplicate",e[147]),n.$on("cut",e[148]),n.$on("copy",e[149]),n.$on("selectOne",e[150]),n.$on("toggleSelect",e[151]),n.$on("rangeSelect",e[152]),{key:l,first:null,c(){t=lt(),xe(n.$$.fragment),this.first=t},m(s,r){g(s,t,r),Je(n,s,r),o=!0},p(s,r){e=s;const a={};r[1]&32&&(a.item=e[237]),r[1]&2080&&(a.selected=e[42].includes(e[237].id)),n.$set(a)},i(s){o||(te(n.$$.fragment,s),o=!0)},o(s){oe(n.$$.fragment,s),o=!1},d(s){s&&y(t),Ze(n,s)}}}function Dn(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${p("file.scanning")}`,i(t,"class","svelte-1k9v32j"),i(e,"class","empty-state svelte-1k9v32j")},m(n,o){g(n,e,o),c(e,t)},d(n){n&&y(e)}}}function Fn(l){let e,t;return e=new yr({props:{item:l[37],content:l[38],loading:l[39],error:l[40]}}),e.$on("close",l[68]),e.$on("openExternal",l[153]),{c(){xe(e.$$.fragment)},m(n,o){Je(e,n,o),t=!0},p(n,o){const s={};o[1]&64&&(s.item=n[37]),o[1]&128&&(s.content=n[38]),o[1]&256&&(s.loading=n[39]),o[1]&512&&(s.error=n[40]),e.$set(s)},i(n){t||(te(e.$$.fragment,n),t=!0)},o(n){oe(e.$$.fragment,n),t=!1},d(n){Ze(e,n)}}}function In(l){let e,t,n,o,s,r,a,f,m;return{c(){e=u("div"),t=u("input"),n=w(),o=u("div"),s=u("button"),s.textContent=`${p("common.create")}`,r=w(),a=u("button"),a.textContent=`${p("common.cancel")}`,i(t,"type","text"),i(t,"placeholder",p("note.title")),i(t,"class","svelte-1k9v32j"),i(s,"class","btn btn-primary svelte-1k9v32j"),i(a,"class","btn svelte-1k9v32j"),i(o,"class","form-actions svelte-1k9v32j"),i(e,"class","create-form svelte-1k9v32j")},m(k,_){g(k,e,_),c(e,t),Me(t,l[23]),c(e,n),c(e,o),c(o,s),c(o,r),c(o,a),f||(m=[L(t,"input",l[137]),L(t,"keydown",l[138]),L(s,"click",l[101]),L(a,"click",l[100])],f=!0)},p(k,_){_[0]&8388608&&t.value!==k[23]&&Me(t,k[23])},d(k){k&&y(e),f=!1,ue(m)}}}function jc(l){let e,t=ae(l[11]),n=[];for(let o=0;ooe(q[x],1,1,()=>{q[x]=null});return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${p("nav.createNode")}`,o=w(),O&&O.c(),s=w(),r=u("div"),a=u("label"),a.textContent=`${p("template.select")}`,f=w(),m=u("div"),k=u("button"),xe(_.$$.fragment),v=w(),b=u("div"),h=u("span"),h.textContent=`${p("template.optionNone")}`,C=w(),S=u("span"),S.textContent=`${p("template.none.desc")}`,j=w();for(let x=0;x{h=null}),qe()),S[21].node&&S[21].node.parent_id?C?C.p(S,j):(C=Wn(S),C.c(),C.m(t,s)):C&&(C.d(1),C=null),(!_||j[0]&2097152)&&Be(t,"left",S[21].x+"px"),(!_||j[0]&2097152)&&Be(t,"top",S[21].y+"px")},i(S){_||(te(h),_=!0)},o(S){oe(h),_=!1},d(S){S&&y(e),h&&h.d(),C&&C.d(),v=!1,ue(b)}}}function Vn(l){let e,t,n,o,s,r=ae(l[2].length>0?l[2]:[{id:"",title:"template.optionNone",icon:"folder"}]),a=[];for(let m=0;moe(a[m],1,1,()=>{a[m]=null});return{c(){e=u("div"),e.textContent=`${p("common.create")}`,t=w();for(let m=0;m0?m[2]:[{id:"",title:"template.optionNone",icon:"folder"}]);let _;for(_=0;_l[177].call(b)),i(k,"class","form-group svelte-1k9v32j"),i(S,"class","svelte-1k9v32j"),i(D,"type","text"),i(D,"placeholder",V=l[26]==="open_url"?p("action.urlPlaceholder"):l[26]==="open_folder"||l[26]==="open_file"?p("action.pathPlaceholder"):p("action.commandPlaceholder")),i(D,"class","svelte-1k9v32j"),i(C,"class","form-group svelte-1k9v32j"),i(A,"class","btn btn-primary svelte-1k9v32j"),i(R,"class","btn svelte-1k9v32j"),i(M,"class","modal-actions svelte-1k9v32j"),i(t,"class","modal svelte-1k9v32j"),i(e,"class","modal-overlay svelte-1k9v32j")},m(Y,J){g(Y,e,J),c(e,t),c(t,n),c(t,o),c(t,s),c(s,r),c(s,a),c(s,f),Me(f,l[25]),c(t,m),c(t,k),c(k,_),c(k,v),c(k,b);for(let E=0;E0?0:1}F=Te(l),D=De[F]=Pe[F](l);function Fe(X,ie){return X[9]?Kr:X[8]?Wr:Ur}let Ce=Fe(l),ke=Ce(l),Ae=((Ue=l[52])==null?void 0:Ue.configured)&&sn(l),Ee=l[7]&&cn(l);const Xe=[Jr,Xr,Yr,qr,Gr],he=[];function Oe(X,ie){return X[12]?0:X[9]?1:X[8]==="today"&&X[3]?2:X[8]==="activity"?3:4}ce=Oe(l),fe=he[ce]=Xe[ce](l);let ve=l[17]&&zn(l),_e=l[21].visible&&Hn(l),Ie=l[24]&&Kn(l),de=l[31]&&l[30]&&qn(l),He=l[48]&&Xn(l),Ne=l[43]&&Zn(l),Re=l[51]&&Qn(l);return{c(){var X;e=u("div"),t=u("aside"),n=u("div"),o=u("span"),o.textContent="⚒",s=w(),r=u("span"),r.textContent=`${p("nav.brand")}`,a=w(),f=u("nav"),m=u("div"),k=u("div"),k.textContent=`${p("nav.system")}`,_=w();for(let ie=0;ie{De[$e]=null}),qe(),D=De[F],D?D.p(X,ie):(D=De[F]=Pe[F](X),D.c()),te(D,1),D.m(b,null)),(!Ve||ie[1]&2097152)&&it(U,"active",(jt=X[52])==null?void 0:jt.configured),(!Ve||ie[0]&64)&&G(O,X[6]),Ce===(Ce=Fe(X))&&ke?ke.p(X,ie):(ke.d(1),ke=Ce(X),ke&&(ke.c(),ke.m(x,null))),(_t=X[52])!=null&&_t.configured?Ae?Ae.p(X,ie):(Ae=sn(X),Ae.c(),Ae.m($,null)):Ae&&(Ae.d(1),Ae=null),X[7]?Ee?Ee.p(X,ie):(Ee=cn(X),Ee.c(),Ee.m(q,me)):Ee&&(Ee.d(1),Ee=null);let vt=ce;ce=Oe(X),ce===vt?he[ce].p(X,ie):(Ge(),oe(he[vt],1,1,()=>{he[vt]=null}),qe(),fe=he[ce],fe?fe.p(X,ie):(fe=he[ce]=Xe[ce](X),fe.c()),te(fe,1),fe.m(q,je)),X[17]?ve?(ve.p(X,ie),ie[0]&131072&&te(ve,1)):(ve=zn(X),ve.c(),te(ve,1),ve.m(q,Le)):ve&&(Ge(),oe(ve,1,1,()=>{ve=null}),qe()),X[21].visible?_e?(_e.p(X,ie),ie[0]&2097152&&te(_e,1)):(_e=Hn(X),_e.c(),te(_e,1),_e.m(q,ye)):_e&&(Ge(),oe(_e,1,1,()=>{_e=null}),qe()),X[24]?Ie?Ie.p(X,ie):(Ie=Kn(X),Ie.c(),Ie.m(q,ze)):Ie&&(Ie.d(1),Ie=null),X[31]&&X[30]?de?de.p(X,ie):(de=qn(X),de.c(),de.m(q,ge)):de&&(de.d(1),de=null),X[48]?He?He.p(X,ie):(He=Xn(X),He.c(),He.m(q,we)):He&&(He.d(1),He=null),X[43]?Ne?(Ne.p(X,ie),ie[1]&4096&&te(Ne,1)):(Ne=Zn(X),Ne.c(),te(Ne,1),Ne.m(q,le)):Ne&&(Ge(),oe(Ne,1,1,()=>{Ne=null}),qe()),X[51]?Re?Re.p(X,ie):(Re=Qn(X),Re.c(),Re.m(q,null)):Re&&(Re.d(1),Re=null)},i(X){Ve||(te(D),te(fe),te(ve),te(_e),te(Ne),Ve=!0)},o(X){oe(D),oe(fe),oe(ve),oe(_e),oe(Ne),Ve=!1},d(X){X&&y(e),We(pe,X),De[F].d(),ke.d(),Ae&&Ae.d(),Ee&&Ee.d(),he[ce].d(),ve&&ve.d(),_e&&_e.d(),Ie&&Ie.d(),de&&de.d(),He&&He.d(),Ne&&Ne.d(),Re&&Re.d(),et=!1,ue(tt)}}}function Q(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function yt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&yt(n.children,e,t))return!0}return!1}function Ac(l){l.preventDefault(),l.dataTransfer.dropEffect="move"}function wt(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 ot(l){if(!l)return"";try{return new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"})}catch{return""}}function st(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function ct(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 Ec(l,e,t){let n=[],o=[],s=[],r=null,a=[],f=0,m=!0,k=[],_="",v="",b="",h=null,C="overview",S=[],j=null,T=[],F=[],D=[],V="",I="",M=!1,A="",W=null,R=null,B={visible:!1,x:0,y:0,node:null},H=!1,U="",K=!1,Y="",J="open_url",E="",O=[{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")}],Z=!0,q=!1,be=null,x=!1,se="",$="",re={},me=!1,ce=null,fe=[],je=[],Le=null,ye="",ze=!1,ge="",we={items:[],mode:"copy"},le=[],Ve=[],et=!1,tt="",Ye="",pe=!1,Pe=p("common.delete"),De=null,Te=null,Fe=!1,Ce="",ke="",Ae="",Ee=!1,Xe=null,he=!1,Oe="",ve="",_e="",Ie=0,de="";const He=[{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 Ne=null;si(async()=>{try{t(6,_=await Q("VerstakVersion")||"verstak-gui/v2"),t(0,n=await Q("ListSystemViews")||[]),t(1,o=await Q("ListWorkspaceTree")||[]),t(2,s=await Q("ListEnabledTemplates")||[])}catch(d){t(7,v=String(d)),t(0,n=[{id:"today",label:p("nav.today")},{id:"inbox",label:p("nav.inbox")},{id:"activity",label:p("nav.activity")}]),t(1,o=[]),t(2,s=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",qi),Ne=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",cl),t(28,Z=!1),St()}),ri(()=>{Ne&&Ne(),window.removeEventListener("keydown",cl)});async function Re(d){t(8,b=d),t(9,h=null),t(10,C="overview"),t(11,S=[]),T=[],t(13,F=[]),t(14,D=[]),t(17,M=!1),t(7,v=""),t(3,r=null),t(4,a=[]),f=0,m=!0;try{d==="today"?t(3,r=await Q("ListTodayView")||{cases:[]}):d==="activity"&&(t(4,a=await Q("ListActivityFeed",50,0)||[]),f=a.length,m=a.length===50)}catch(N){t(7,v=String(N)),t(3,r={cases:[]}),t(4,a=[])}}async function Ue(d){t(9,h=d),t(10,C="overview"),t(11,S=[]),T=[],t(13,F=[]),t(14,D=[]),t(36,je=[]),t(35,fe=[]),t(34,ce=null),t(37,Le=null),t(38,ye=""),t(42,le=[]),Ve=[],t(12,j=null),t(17,M=!1),t(22,H=!1),t(7,v=""),t(5,k=[]),await X(d.id)}async function X(d){try{t(11,S=await Q("ListNotes",d)||[])}catch{}try{T=await Q("ListFiles",d)||[]}catch{}try{t(13,F=await Q("ListActions",d)||[])}catch{}try{t(14,D=await Q("ListWorklog",d)||[])}catch{}try{t(5,k=await Q("ListActivityByNode",d,50,0)||[])}catch{}}async function ie(d){t(33,me=!0);try{let N=await Q("ListItems",d)||[];N.sort((ne,Se)=>ne.type!==Se.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(Se.name||"")),t(36,je=N)}catch{t(36,je=[])}t(33,me=!1)}async function $e(d){if(!h)return;try{const ne=await Q("GetNodeDetail",d);ne&&t(35,fe=[...fe,{id:d,name:ne.title}])}catch{t(35,fe=[...fe,{id:d,name:"..."}])}t(34,ce=d),t(32,re={...re,[d]:!0});const N=await Q("ListWorkspaceChildren",d)||[];yt(o,d,N),t(1,o=[...o]),await ie(d)}function vt(){if(fe.length<2)t(35,fe=[]),t(34,ce=null),ie(h.id);else{const d=fe[fe.length-2];t(35,fe=fe.slice(0,-1)),t(34,ce=d.id),ie(d.id)}}function jt(d){const N=fe[d];t(35,fe=fe.slice(0,d+1)),t(34,ce=N.id),ie(N.id)}async function _t(d){t(37,Le=d),t(38,ye=""),t(40,ge=""),t(39,ze=!0);try{Zs(d)?t(38,ye=await Q("GetFileBase64",d.fileId)||""):Qs(d)&&t(38,ye=await Q("ReadFileText",d.fileId)||"")}catch(N){t(40,ge=String(N))}t(39,ze=!1)}function Ke(){t(37,Le=null),t(38,ye=""),t(40,ge="")}async function Dt(){const d=prompt(p("file.namePrompt"));if(!(!d||!d.trim()))try{const N=ce||h.id;await Q("CreateEmptyFile",N,d.trim()),await ie(N),await Vt(N)}catch(N){t(7,v=String(N))}}async function el(d){try{await Q("DuplicateNode",d);const N=ce||h.id;await ie(N),await Vt(N)}catch(N){t(7,v=String(N))}}function tl(d){const N=je.find(ne=>ne.id===d);N&&Ht(N.id,N.name)}function ll(d){t(41,we={items:[d],mode:"cut"})}function nl(d){t(41,we={items:[d],mode:"copy"})}async function il(){if(we.items.length===0)return;const d=ce||h.id;try{if(we.mode==="copy")for(const N of we.items)await Q("DuplicateNode",N);else for(const N of we.items)await Q("MoveNode",N,d);t(41,we={items:[],mode:"copy"}),await ie(d)}catch(N){t(7,v=String(N))}}function ol(d){le.includes(d)?t(42,le=le.filter(N=>N!==d)):t(42,le=[...le,d])}function sl(d){t(42,le=[d])}function bi(){t(42,le=je.map(d=>d.id))}function rl(d){if(je.length===0)return;const N=le.length>0?le[le.length-1]:je[0].id,ne=je.findIndex(dt=>dt.id===N),Se=je.findIndex(dt=>dt.id===d);if(ne===-1||Se===-1)return;const nt=Math.min(ne,Se),qt=Math.max(ne,Se),ds=je.slice(nt,qt+1).map(dt=>dt.id),Cl=new Set(le);ds.forEach(dt=>Cl.add(dt)),t(42,le=[...Cl])}function yi(){t(42,le=[])}function Rt(d){return d.length>0?d:je.map(N=>N.id)}async function gi(){const d=Rt(le),N=je.find(Se=>Se.id===d[0]);let ne;d.length===1&&(N==null?void 0:N.type)==="folder"?ne=p("delete.folder"):d.length===1?ne=p("delete.file"):ne=p("delete.files",{count:d.length}),Ct({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{for(const nt of d)try{await Q("DeleteFileOrFolder",nt)}catch(qt){t(7,v=String(qt))}t(42,le=[]);const Se=ce||h.id;await ie(Se)}})}function wi(){const d=Rt(le);t(41,we={items:d,mode:"cut"}),t(42,le=[])}function ji(){const d=Rt(le);t(41,we={items:d,mode:"copy"}),t(42,le=[])}function Ci(d,N){const ne=le.includes(N)?le:[N];Ve=ne,d.dataTransfer.effectAllowed="move",d.dataTransfer.setData("text/plain",ne.join(","))}function Si(d,N){const ne=je.find(Se=>Se.id===N);ne&&ne.type==="folder"&&(d.preventDefault(),d.dataTransfer.dropEffect="move")}async function Ti(d,N){if(d.preventDefault(),Ve.length!==0){for(const ne of Ve)try{await Q("MoveNode",ne,N)}catch(Se){t(7,v=String(Se))}Ve=[],t(42,le=[]),await ie(ce||h.id)}}function cl(d){if(C==="files"&&!(d.target.tagName==="INPUT"||d.target.tagName==="TEXTAREA"))if(d.ctrlKey||d.metaKey)d.key==="c"||d.key==="C"?(d.preventDefault(),ji()):d.key==="x"||d.key==="X"?(d.preventDefault(),wi()):d.key==="v"||d.key==="V"?(d.preventDefault(),il()):d.key==="a"||d.key==="A"?(d.preventDefault(),bi()):d.key==="o"||d.key==="O"?(d.preventDefault(),Ni()):d.key==="Enter"&&(d.preventDefault(),al());else if(d.key==="Enter")d.preventDefault(),al();else if(d.key==="Delete"||d.key==="Backspace"){if(Le){d.preventDefault(),Ke();return}if(le.length>0){d.preventDefault(),gi();return}if(d.key==="Backspace"&&fe.length>0){d.preventDefault(),vt();return}}else if(d.key==="Escape"){if(Le){Ke();return}if(le.length>0){yi();return}}else d.key==="F2"&&(d.preventDefault(),Di())}function al(){if(le.length===1){const d=je.find(N=>N.id===le[0]);d&&(d.type==="folder"?$e(d.id):_t(d))}}function Ni(){if(le.length===1){const d=je.find(N=>N.id===le[0]);d&&d.fileId&&Q("OpenFile",d.fileId)}}function Ht(d,N){Ce=d,t(49,ke=N),t(50,Ae=""),t(48,Fe=!0)}function Di(){if(le.length===1){const d=je.find(N=>N.id===le[0]);d&&Ht(d.id,d.name)}}async function fl(){const d=ke.trim();if(!d){t(50,Ae=p("rename.emptyError"));return}try{await Q("ValidateName",d)}catch{t(50,Ae=p("rename.invalidError"));return}t(48,Fe=!1),Ce="";try{await Q("RenameNode",Ce,d);const N=ce||h.id;await ie(N)}catch(N){t(7,v=String(N))}}function Fi(){t(48,Fe=!1),Ce="",t(49,ke=""),t(50,Ae="")}function Ii(d){d.key==="Enter"?fl():t(50,Ae="")}function Ct(d){t(44,tt=d.title||p("common.confirm")),t(45,Ye=d.message||""),t(46,pe=d.danger!==void 0?d.danger:!0),t(47,Pe=d.confirmText||p("common.delete")),De=d.onConfirm||null,Te=d.onCancel||null,t(43,et=!0)}function ul(){t(43,et=!1),De=null,Te=null}function Mi(){De&&De(),ul()}function Ai(){Te&&Te(),ul()}function dl(d){t(19,W=B.node),t(20,R=d),t(18,A=""),t(17,M=!0),kt()}function Ei(){t(19,W=null),t(20,R=void 0),t(18,A=""),t(17,M=!0)}function Li(){t(17,M=!1),t(18,A=""),t(19,W=null),t(20,R=void 0)}async function ml(){if(!(!A.trim()||R===void 0))try{const d=W?W.id:"",N=R?R.id:"",ne=await Q("CreateNodeFromTemplate",d,A.trim(),N);t(17,M=!1),t(18,A="");const Se=ne?ne.id:null;if(t(19,W=null),t(20,R=void 0),d){t(32,re={...re,[d]:!0});const nt=await Q("ListWorkspaceChildren",d)||[];yt(o,d,nt),t(1,o=[...o])}else t(1,o=await Q("ListWorkspaceTree")||o);if(Se){const nt=await Q("GetNodeDetail",Se);nt&&(t(8,b=""),Ue(nt))}}catch(d){t(7,v=String(d))}}function Pi(d,N){t(21,B={visible:!0,x:d.clientX,y:d.clientY,node:N})}function kt(){t(21,B={visible:!1,x:0,y:0,node:null})}async function Oi(d){const N=!re[d];if(t(32,re={...re,[d]:N}),!N)return;const ne=await Q("ListWorkspaceChildren",d)||[];yt(o,d,ne),t(1,o=[...o])}async function zi(d,N){if(!(!d||!N||d===N))try{const ne=await Q("MoveNode",d,N);await Ft();const Se=await Q("GetNodeDetail",d);Se&&(t(8,b=""),Ue(Se))}catch(ne){t(7,v=String(ne))}}async function Bi(d){d.preventDefault();try{const N=d.dataTransfer.getData("text/plain");if(!N)return;const ne=await Q("GetNodeDetail",N);if(!ne||!ne.parent_id)return;await Q("MoveNode",N,""),await Ft();const Se=await Q("GetNodeDetail",N);Se&&(t(8,b=""),Ue(Se))}catch(N){t(7,v=String(N))}}function pl(d){Ht(d.id,d.title),kt()}function vl(d){kt(),Ct({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+d.title+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await Q("DeleteNode",d.id),await Ft(),h&&h.id===d.id&&t(9,h=null)}catch(N){t(7,v=String(N))}}})}async function _l(d){kt();try{await Q("OpenFolder",d.id)}catch(N){t(7,v=String(N))}}async function kl(d){kt();try{await Q("MoveNode",d.id,""),await Ft();const N=await Q("GetNodeDetail",d.id);N&&(t(8,b=""),Ue(N))}catch(N){t(7,v=String(N))}}async function Ft(){const d=Object.keys(re).filter(N=>re[N]);for(const N of d){const ne=await Q("ListWorkspaceChildren",N)||[];yt(o,N,ne)}t(1,o=[...o])}async function Vt(d){const N=await Q("ListWorkspaceChildren",d)||[];yt(o,d,N),t(1,o=[...o])}function hl(){t(22,H=!0),t(23,U="")}function Ri(){t(22,H=!1),t(23,U="")}async function bl(){if(!(!U.trim()||!h))try{const d=await Q("CreateNote",h.id,U.trim());t(11,S=[...S,d&&d.id?d:{id:Date.now().toString(),title:U.trim(),createdAt:new Date().toISOString()}]),t(22,H=!1),t(23,U="")}catch{const N={id:Date.now().toString(),title:U.trim(),createdAt:new Date().toISOString()};t(11,S=[...S,N]),t(22,H=!1),t(23,U="")}}async function Ut(d){if(j&&j.dirty){Ct({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:async()=>{await yl(d)}});return}await yl(d)}async function yl(d){try{const N=await Q("ReadNote",d.id);t(12,j={id:d.id,title:d.title,content:N||"",dirty:!1})}catch{t(12,j={id:d.id,title:d.title,content:"# "+d.title+` + +`,dirty:!1})}}function Hi(){if(j&&j.dirty){Ct({title:p("note.unsavedTitle"),message:p("note.unsavedMessage"),confirmText:p("note.unsavedClose"),danger:!1,onConfirm:()=>{t(12,j=null)}});return}t(12,j=null)}function Vi(d){j&&(t(12,j.content=d.target.value,j),t(12,j.dirty=!0,j))}async function Ui(){if(j)try{await Q("SaveNote",j.id,j.content),t(12,j.dirty=!1,j)}catch{t(12,j.dirty=!1,j)}}async function Wi(){const d=parseInt(V,10);if(!(!I.trim()||isNaN(d)||d<=0||!h)){try{const N=await Q("CreateWorklog",h.id,I.trim(),d);t(14,D=[...D,N&&N.id?N:{id:Date.now().toString(),nodeId:h.id,summary:I.trim(),minutes:d,createdAt:new Date().toISOString()}])}catch{t(14,D=[...D,{id:Date.now().toString(),nodeId:h.id,summary:I.trim(),minutes:d,createdAt:new Date().toISOString()}])}t(16,I=""),t(15,V="")}}async function gl(){const d=await Q("PickFile");if(!d)return;const N=ce||h.id;await Wt(N,d)}async function Ki(){const d=await Q("PickDirectory");if(!d)return;const N=ce||h.id;await Wt(N,d)}async function Wt(d,N){t(29,q=!0);try{const ne=await Q("PreviewImport",N);t(30,be=ne),se=N,$=d,t(31,x=!0)}catch(ne){t(7,v=String(ne))}t(29,q=!1)}async function Kt(d){try{const N=$||h.id,ne=d==="copy"?await Q("AddPathCopy",N,se):await Q("AddPathLink",N,se);t(31,x=!1),t(30,be=null),t(35,fe=[]),t(34,ce=null),await Promise.all([X(N),ie(N),Vt(N)])}catch(N){t(7,v=String(N))}}function Gi(){t(31,x=!1),t(30,be=null)}async function wl({id:d,type:N}){const ne=p(N==="folder"?"delete.folder":"delete.file");Ct({title:p("delete.confirmTitle"),message:p("delete.confirmMessage")+" "+ne+"?",confirmText:p("common.delete"),danger:!0,onConfirm:async()=>{try{await Q("DeleteFileOrFolder",d),T=T.filter(nt=>nt.nodeId!==d);const Se=ce||h.id;await ie(Se)}catch(Se){t(7,v=String(Se))}}})}async function qi(d){if(!d||d.length===0)return;if(!h){t(7,v=p("error.selectCaseFirst"));return}const N=d[0];await Wt(h.id,N)}function Yi(d){return C===d?"tab active":"tab"}function Xi(d){return{note_created:p("event.noteCreated"),note_updated:p("event.noteUpdated"),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"),node_created:p("event.caseCreated"),node_updated:p("event.caseUpdated")}[d]||d}function Ji(d){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")}[d]||d||p("kind.case")}function Zi(){t(24,K=!0),t(25,Y=""),t(26,J="open_url"),t(27,E="")}function Qi(){t(24,K=!1),t(25,Y=""),t(27,E="")}async function Gt(){if(!(!Y.trim()||!E.trim()||!h))try{const d=await Q("CreateAction",h.id,J,Y.trim(),E.trim());d&&d.id&&t(13,F=[...F,d]),t(24,K=!1),t(25,Y=""),t(27,E="")}catch(d){t(7,v=String(d))}}async function jl(d){try{await Q("DeleteAction",d),t(13,F=F.filter(N=>N.id!==d))}catch(N){t(7,v=String(N))}}function xi(d){const N=O.find(ne=>ne.id===d);return N?N.label:d}async function rt(d){try{const N=await Q("GetNodeDetail",d);N&&Ue(N)}catch(N){t(7,v=String(N))}}async function St(){try{t(52,Xe=await Q("SyncStatus"))}catch{t(52,Xe={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}function $i(){t(51,Ee=!0),t(54,Oe=(Xe==null?void 0:Xe.serverUrl)||""),t(55,ve=""),t(56,_e=""),t(57,Ie=(Xe==null?void 0:Xe.syncInterval)||0),t(58,de="")}function eo(){t(51,Ee=!1),t(58,de="")}async function to(){t(53,he=!0),t(58,de="");try{await Q("SyncConfigure",Oe,ve,_e),Ie>0&&await Q("SyncSetInterval",Ie),t(56,_e=""),t(55,ve=""),await St(),t(51,Ee=!1)}catch(d){t(58,de="err: "+String(d))}t(53,he=!1)}async function lo(){t(53,he=!0),t(58,de="");try{await Q("SyncSetInterval",Ie),t(58,de=p("sync.settingsSaved")),await St()}catch(d){t(58,de="err: "+String(d))}t(53,he=!1)}async function no(){t(53,he=!0),t(58,de="");try{await Q("SyncTestConnection",Oe,ve,_e),t(58,de="connection ok")}catch(d){t(58,de="connection failed: "+String(d))}t(53,he=!1)}async function io(){t(53,he=!0),t(58,de="");try{await Q("SyncDisconnect"),t(58,de="disconnected"),await St()}catch(d){t(58,de="err: "+String(d))}t(53,he=!1)}async function oo(){t(53,he=!0),t(58,de="");try{const d=await Q("SyncNow");t(58,de="pushed "+d.pushed+", pulled "+d.pulled+" (seq "+d.serverSequence+")"),await St()}catch(d){t(58,de="err: "+String(d))}t(53,he=!1)}const so=d=>Re(d.id),ro=()=>t(7,v=""),co=()=>t(7,v="");function ao(){j.content=this.value,t(12,j)}const fo=d=>{t(10,C=d.id),d.id==="files"&&h&&je.length===0&&!ce&&ie(h.id)},uo=()=>{t(10,C="notes"),hl()},mo=()=>{t(10,C="files"),gl()},po=()=>t(10,C="worklog"),vo=d=>Ut(d);function _o(){U=this.value,t(23,U)}const ko=d=>d.key==="Enter"&&bl(),ho=d=>Ut(d),bo=d=>{const N=d.detail;N===0?(t(35,fe=[]),t(34,ce=null),ie(h.id)):jt(N-1)},yo=d=>$e(d.detail),go=d=>_t(d.detail),wo=d=>Q("OpenFile",d.detail),jo=d=>Q("OpenFolder",d.detail),Co=d=>wl(d.detail),So=d=>tl(d.detail.id),To=d=>el(d.detail),No=d=>ll(d.detail),Do=d=>nl(d.detail),Fo=d=>sl(d.detail),Io=d=>ol(d.detail),Mo=d=>rl(d.detail),Ao=d=>Q("OpenFile",d.detail),Eo=d=>Q("RunAction",d.id),Lo=d=>jl(d.id);function Po(){I=this.value,t(16,I)}function Oo(){V=Lt(this.value),t(15,V)}const zo=d=>rt(d.nodeId),Bo=(d,N)=>N.key==="Enter"&&rt(d.nodeId),Ro=d=>rt(d.nodeId),Ho=(d,N)=>N.key==="Enter"&&rt(d.nodeId),Vo=d=>rt(d.nodeId),Uo=(d,N)=>N.key==="Enter"&&rt(d.nodeId),Wo=d=>rt(d.nodeId),Ko=(d,N)=>N.key==="Enter"&&rt(d.nodeId),Go=()=>t(20,R=null),qo=d=>t(20,R=d);function Yo(){A=this.value,t(18,A)}const Xo=d=>d.key==="Enter"&&ml(),Jo=d=>dl(d),Zo=()=>kl(B.node),Qo=()=>pl(B.node),xo=()=>vl(B.node),$o=()=>_l(B.node);function es(){Y=this.value,t(25,Y)}const ts=d=>d.key==="Enter"&&Gt();function ls(){J=bs(this),t(26,J),t(59,O)}function ns(){E=this.value,t(27,E)}const is=d=>d.key==="Enter"&&Gt(),os=()=>Kt("copy"),ss=()=>Kt("link");function rs(){ke=this.value,t(49,ke)}function cs(){Oe=this.value,t(54,Oe)}function as(){ve=this.value,t(55,ve)}function fs(){_e=this.value,t(56,_e)}function us(){Ie=Lt(this.value),t(57,Ie)}return[n,o,s,r,a,k,_,v,b,h,C,S,j,F,D,V,I,M,A,W,R,B,H,U,K,Y,J,E,Z,q,be,x,re,me,ce,fe,je,Le,ye,ze,ge,we,le,et,tt,Ye,pe,Pe,Fe,ke,Ae,Ee,Xe,he,Oe,ve,_e,Ie,de,O,He,Re,Ue,ie,$e,vt,jt,_t,Ke,Dt,el,tl,ll,nl,il,ol,sl,rl,Ci,Si,Ti,fl,Fi,Ii,Mi,Ai,dl,Ei,Li,ml,Pi,kt,Oi,zi,Bi,pl,vl,_l,kl,hl,Ri,bl,Ut,Hi,Vi,Ui,Wi,gl,Ki,Kt,Gi,wl,Yi,Xi,Ji,Zi,Qi,Gt,jl,xi,rt,$i,eo,to,lo,no,io,oo,so,ro,co,ao,fo,uo,mo,po,vo,_o,ko,ho,bo,yo,go,wo,jo,Co,So,To,No,Do,Fo,Io,Mo,Ao,Eo,Lo,Po,Oo,zo,Bo,Ro,Ho,Vo,Uo,Wo,Ko,Go,qo,Yo,Xo,Jo,Zo,Qo,xo,$o,es,ts,ls,ns,is,os,ss,rs,cs,as,fs,us]}class Lc extends ut{constructor(e){super(),ft(this,e,Ec,Mc,at,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new Lc({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-D-hpY-IS.css b/cmd/verstak-gui/frontend-dist/assets/main-D-hpY-IS.css new file mode 100644 index 0000000..c620350 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-D-hpY-IS.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-gydsvv.svelte-gydsvv{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-gydsvv.svelte-gydsvv:hover{background:#223}.tree-item.selected.svelte-gydsvv.svelte-gydsvv{background:#2a2a4a;color:#fff;font-weight:500}.tree-toggle.svelte-gydsvv.svelte-gydsvv{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-gydsvv.svelte-gydsvv:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-gydsvv.svelte-gydsvv{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-gydsvv.svelte-gydsvv{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-gydsvv.svelte-gydsvv:hover,.tree-item.selected.svelte-gydsvv .tree-icon.svelte-gydsvv{color:#a5b4fc}.tree-label.svelte-gydsvv.svelte-gydsvv{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.svelte-1k9v32j.svelte-1k9v32j,.svelte-1k9v32j.svelte-1k9v32j:before,.svelte-1k9v32j.svelte-1k9v32j:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1k9v32j.svelte-1k9v32j{font-size:20px;line-height:1}.brand-name.svelte-1k9v32j.svelte-1k9v32j{font-size:16px;font-weight:600}.sidebar-nav.svelte-1k9v32j.svelte-1k9v32j{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:16px}.nav-label.svelte-1k9v32j.svelte-1k9v32j{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j:hover{background:#223}.nav-item.selected.svelte-1k9v32j.svelte-1k9v32j{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1k9v32j.svelte-1k9v32j{min-height:32px}.nav-empty.svelte-1k9v32j.svelte-1k9v32j{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1k9v32j.svelte-1k9v32j:hover{color:#ccc}.tree-item.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;padding:4px 8px 4px 0;cursor:default;font-size:13px;color:#ccc}.tree-item.svelte-1k9v32j.svelte-1k9v32j:hover{background:#223}.tree-item.selected.svelte-1k9v32j.svelte-1k9v32j{background:#2a2a4a;color:#fff;font-weight:500}.tree-toggle.svelte-1k9v32j.svelte-1k9v32j{background:none;border:none;color:#666;cursor:pointer;padding:2px 4px;font-size:10px;width:20px;text-align:center;flex-shrink:0;font-family:inherit;line-height:1}.tree-toggle.svelte-1k9v32j.svelte-1k9v32j:hover{color:#888}.tree-arrow.svelte-1k9v32j.svelte-1k9v32j{display:inline-block}.tree-spacer.svelte-1k9v32j.svelte-1k9v32j{display:inline-block;width:12px}.tree-label.svelte-1k9v32j.svelte-1k9v32j{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;cursor:pointer}.context-menu-backdrop.svelte-1k9v32j.svelte-1k9v32j{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1k9v32j.svelte-1k9v32j{color:#ff6b6b}.context-menu-item.danger.svelte-1k9v32j.svelte-1k9v32j:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1k9v32j.svelte-1k9v32j{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1k9v32j.svelte-1k9v32j{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1k9v32j.svelte-1k9v32j{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.version.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;text-align:center}.main.svelte-1k9v32j.svelte-1k9v32j{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1k9v32j.svelte-1k9v32j{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px}.header-sync-btn.svelte-1k9v32j.svelte-1k9v32j{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#c0c0f0;font-family:inherit;font-size:13px;position:relative}.header-sync-btn.svelte-1k9v32j.svelte-1k9v32j:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.header-sync-btn.svelte-1k9v32j.svelte-1k9v32j:disabled{opacity:.5;cursor:not-allowed}.sync-badge.svelte-1k9v32j.svelte-1k9v32j{background:#6366f1;color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:-6px}.crumb.svelte-1k9v32j.svelte-1k9v32j{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1k9v32j.svelte-1k9v32j{color:#666}.crumb-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1k9v32j.svelte-1k9v32j:hover{color:#f44}.tabs.svelte-1k9v32j.svelte-1k9v32j{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1k9v32j.svelte-1k9v32j{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1k9v32j.svelte-1k9v32j:hover{color:#a5b4fc}.tab.active.svelte-1k9v32j.svelte-1k9v32j{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-1k9v32j.svelte-1k9v32j{flex:1;overflow-y:auto}.note-editor.svelte-1k9v32j.svelte-1k9v32j{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1k9v32j.svelte-1k9v32j{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1k9v32j.svelte-1k9v32j{font-size:16px;font-weight:500}.dirty-mark.svelte-1k9v32j.svelte-1k9v32j{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1k9v32j.svelte-1k9v32j{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{padding:24px}.overview.svelte-1k9v32j h2.svelte-1k9v32j{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1k9v32j.svelte-1k9v32j{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1k9v32j.svelte-1k9v32j{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1k9v32j.svelte-1k9v32j{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j:hover{background:#223}.qa-btn.svelte-1k9v32j.svelte-1k9v32j:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:24px}.recent-section.svelte-1k9v32j h3.svelte-1k9v32j{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1k9v32j.svelte-1k9v32j{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1k9v32j.svelte-1k9v32j:hover{background:#1a1a28}.recent-date.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555}.recent-entry.svelte-1k9v32j.svelte-1k9v32j{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1k9v32j.svelte-1k9v32j{padding:24px}.tab-toolbar.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:16px}.create-form.svelte-1k9v32j.svelte-1k9v32j{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1k9v32j input.svelte-1k9v32j{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-1k9v32j input.svelte-1k9v32j:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px}.notes-list.svelte-1k9v32j.svelte-1k9v32j{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1k9v32j.svelte-1k9v32j{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1k9v32j.svelte-1k9v32j:hover{border-color:#3a3a5c}.note-card-title.svelte-1k9v32j.svelte-1k9v32j{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555}.worklog-tab.svelte-1k9v32j.svelte-1k9v32j{padding:24px}.worklog-form.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px;margin-bottom:24px;align-items:center}.worklog-form.svelte-1k9v32j input.svelte-1k9v32j{padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.worklog-form.svelte-1k9v32j input.svelte-1k9v32j:focus{outline:none;border-color:#6366f1}.worklog-form.svelte-1k9v32j input[type=text].svelte-1k9v32j{flex:1}.worklog-form.svelte-1k9v32j input[type=number].svelte-1k9v32j{width:70px}.worklog-entry.svelte-1k9v32j.svelte-1k9v32j{padding:12px 0;border-bottom:1px solid #1a1a28}.wl-meta.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;margin-top:2px}.actions-tab.svelte-1k9v32j.svelte-1k9v32j{padding:24px}.action-card.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1k9v32j.svelte-1k9v32j{font-weight:500}.action-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1k9v32j .btn-danger.svelte-1k9v32j{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1k9v32j .btn-danger.svelte-1k9v32j:hover{background:#3a2222}.empty-state.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1k9v32j p.svelte-1k9v32j{margin:0;font-size:14px;color:#666}.empty-state.svelte-1k9v32j .empty-icon.svelte-1k9v32j{margin-bottom:12px;color:#444}.empty-state.svelte-1k9v32j .hint.svelte-1k9v32j{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1k9v32j .empty-actions.svelte-1k9v32j{display:flex;gap:8px;justify-content:center;margin-top:16px}.empty-note.svelte-1k9v32j.svelte-1k9v32j{font-size:12px;color:#444;margin-top:16px}.welcome.svelte-1k9v32j.svelte-1k9v32j{padding:48px 24px;text-align:center}.welcome.svelte-1k9v32j h2.svelte-1k9v32j{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1k9v32j p.svelte-1k9v32j{color:#666;font-size:14px}.error-text.svelte-1k9v32j.svelte-1k9v32j{color:#f88}.fab.svelte-1k9v32j.svelte-1k9v32j{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#6366f1;color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #6366f166}.fab.svelte-1k9v32j.svelte-1k9v32j:hover{background:#4f46e5}.modal-overlay.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1k9v32j h3.svelte-1k9v32j{font-size:18px;margin-bottom:16px}.form-group.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:12px}.form-group.svelte-1k9v32j label.svelte-1k9v32j{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1k9v32j input.svelte-1k9v32j,.form-group.svelte-1k9v32j select.svelte-1k9v32j{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-1k9v32j select.svelte-1k9v32j{-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-1k9v32j input.svelte-1k9v32j:focus,.form-group.svelte-1k9v32j select.svelte-1k9v32j:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-1k9v32j.svelte-1k9v32j{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1k9v32j.svelte-1k9v32j:hover{background:#223}.btn-primary.svelte-1k9v32j.svelte-1k9v32j{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1k9v32j.svelte-1k9v32j:hover{background:#4f46e5}.btn.svelte-1k9v32j.svelte-1k9v32j:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1k9v32j.svelte-1k9v32j{padding:4px 10px;font-size:12px}.btn-danger.svelte-1k9v32j.svelte-1k9v32j{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1k9v32j.svelte-1k9v32j:hover{background:#3a2222}.files-tab.svelte-1k9v32j.svelte-1k9v32j{padding:20px}.files-tab.svelte-1k9v32j .tab-toolbar.svelte-1k9v32j{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column}.back-btn.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:16px}.summary-row.svelte-1k9v32j.svelte-1k9v32j{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1k9v32j.svelte-1k9v32j{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1k9v32j.svelte-1k9v32j{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1k9v32j.svelte-1k9v32j{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1k9v32j.svelte-1k9v32j{font-weight:500}.template-card-desc.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#888}.today-dashboard.svelte-1k9v32j.svelte-1k9v32j{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-1k9v32j h2.svelte-1k9v32j{font-size:24px}.today-date.svelte-1k9v32j.svelte-1k9v32j{font-size:13px;color:#666}.today-summary.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-1k9v32j.svelte-1k9v32j{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-1k9v32j.svelte-1k9v32j{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-1k9v32j.svelte-1k9v32j{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-1k9v32j.svelte-1k9v32j:hover{background:#1e1e30}.today-case-title.svelte-1k9v32j.svelte-1k9v32j{font-weight:500}.today-case-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-1k9v32j.svelte-1k9v32j{padding:8px 16px}.today-event.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-1k9v32j.svelte-1k9v32j:hover{color:#e4e4ef}.today-event-icon.svelte-1k9v32j.svelte-1k9v32j{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-1k9v32j.svelte-1k9v32j{flex:1}.today-event-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#666}.today-event-time.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-1k9v32j.svelte-1k9v32j{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-1k9v32j.svelte-1k9v32j{padding:48px 24px;text-align:center}.today-empty.svelte-1k9v32j p.svelte-1k9v32j{color:#666;font-size:14px;margin:0}.today-empty.svelte-1k9v32j .hint.svelte-1k9v32j{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-1k9v32j.svelte-1k9v32j{margin-top:24px}.today-timeline.svelte-1k9v32j h3.svelte-1k9v32j{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-1k9v32j.svelte-1k9v32j{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-1k9v32j.svelte-1k9v32j:hover{color:#e4e4ef}.timeline-dot.svelte-1k9v32j.svelte-1k9v32j{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-1k9v32j.svelte-1k9v32j{flex:1}.timeline-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#666}.timeline-time.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555}.activity-tab.svelte-1k9v32j.svelte-1k9v32j{padding:24px}.activity-events.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1k9v32j.svelte-1k9v32j:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1k9v32j.svelte-1k9v32j{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1k9v32j.svelte-1k9v32j{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1k9v32j.svelte-1k9v32j{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1k9v32j.svelte-1k9v32j{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1k9v32j.svelte-1k9v32j{margin-bottom:20px}.activity-feed-header.svelte-1k9v32j h2.svelte-1k9v32j{font-size:24px}.activity-feed-events.svelte-1k9v32j.svelte-1k9v32j{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1k9v32j.svelte-1k9v32j:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1k9v32j.svelte-1k9v32j{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1k9v32j.svelte-1k9v32j{flex:1;min-width:0}.activity-feed-title.svelte-1k9v32j.svelte-1k9v32j{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1k9v32j.svelte-1k9v32j{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#666}.activity-feed-target.svelte-1k9v32j.svelte-1k9v32j{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1k9v32j.svelte-1k9v32j{font-size:11px;color:#555}.sidebar-sync-btn.svelte-1k9v32j.svelte-1k9v32j{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:8px 12px;cursor:pointer;width:100%;display:flex;align-items:center;gap:8px;color:#c0c0f0;font-family:inherit;font-size:13px}.sidebar-sync-btn.svelte-1k9v32j.svelte-1k9v32j:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.sidebar-sync-label.svelte-1k9v32j.svelte-1k9v32j{flex:1;text-align:left}.sync-dot.svelte-1k9v32j.svelte-1k9v32j{width:8px;height:8px;border-radius:50%;background:#4a4a4a;flex-shrink:0}.sync-dot.active.svelte-1k9v32j.svelte-1k9v32j{background:#4ade80;box-shadow:0 0 6px #4ade8080}.modal-sync.svelte-1k9v32j.svelte-1k9v32j{width:460px}.sync-status.svelte-1k9v32j.svelte-1k9v32j{background:#13131f;border-radius:8px;padding:12px;margin-bottom:16px}.sync-row.svelte-1k9v32j.svelte-1k9v32j{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.sync-label.svelte-1k9v32j.svelte-1k9v32j{color:#666}.sync-value.svelte-1k9v32j.svelte-1k9v32j{color:#e4e4ef}.sync-value.mono.svelte-1k9v32j.svelte-1k9v32j{font-family:SF Mono,Fira Code,monospace;font-size:12px}.sync-result.svelte-1k9v32j.svelte-1k9v32j{font-size:12px;color:#6366f1;padding:4px 0}.sync-connected-actions.svelte-1k9v32j.svelte-1k9v32j{display:flex;gap:8px;margin-bottom:16px} diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index d92179d..ea47aa2 100644 --- a/cmd/verstak-gui/frontend-dist/index.html +++ b/cmd/verstak-gui/frontend-dist/index.html @@ -16,8 +16,8 @@ background: #13131f; } - - + +
diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index f3c7064..f6c6966 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -1904,7 +1904,7 @@ .tabs { display: flex; border-bottom: 1px solid #2a2a3c; flex-shrink: 0; padding: 0 24px; } .tab { padding: 10px 16px; border: none; background: none; color: #888; font-size: 13px; cursor: pointer; border-bottom: 2px solid transparent; font-family: inherit; } .tab:hover { color: #a5b4fc; } -.tab.active { color: #e4e4ef; border-bottom-color: #6366f1; background: rgba(99,102,241,0.06); font-weight: 500; } +.tab.active { color: #e4e4ef; border-bottom-color: #818cf8; background: rgba(99,102,241,0.12); font-weight: 600; } /* Tab content */ .tab-content { flex: 1; overflow-y: auto; } diff --git a/frontend/src/FileTreeRow.svelte b/frontend/src/FileTreeRow.svelte index d4ac585..1949aa7 100644 --- a/frontend/src/FileTreeRow.svelte +++ b/frontend/src/FileTreeRow.svelte @@ -50,6 +50,7 @@ } function handleShowInFolder() { + menuOpen = false dispatch('showInFolder', item.nodeId || item.id) }