gui: fix sidebar icons, create modal, and type display

- TreeNode.svelte: no white spacer for leaf nodes, iconKind maps node.type
  directly, 32px rows with hover/selected states
- App.svelte: header shows localized nodeKindLabel, auto-select created
  node, create modal with Пустое дело card + template descriptions,
  disable button until name+type chosen
- i18n: add kind.folder/note/file, template descriptions,
  template.optionNone → Пустое дело / Empty case
This commit is contained in:
2026-06-03 02:58:27 +08:00
parent a6b0f9d7e6
commit f022f46909
9 changed files with 151 additions and 46 deletions
+28 -2
View File
@@ -7,11 +7,16 @@ export default {
'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.selectPrompt': 'Select a section or case',
'nav.brand': 'Verstak',
'tab.overview': 'Overview',
'tab.notes': 'Notes',
@@ -80,14 +85,35 @@ export default {
'sync.notConnected': 'Not connected',
'sync.disabled': 'Disabled',
'template.optionNone': 'No template',
'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.select': 'Select template',
'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',
+13 -2
View File
@@ -79,6 +79,9 @@ export default {
'kind.client': 'Клиент',
'kind.document': 'Документ',
'kind.recipe': 'Рецепт',
'kind.folder': 'Папка',
'kind.note': 'Заметка',
'kind.file': 'Файл',
'kind.archive': 'Архив',
'kind.case': 'Дело',
@@ -214,14 +217,22 @@ export default {
'delete.folder': 'папку',
'delete.file': 'файл',
'template.optionNone': 'Без шаблона',
'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.select': 'Выберите шаблон',
'template.recipe.desc': 'Повторяемая процедура или инструкция',
'template.note': 'Заметка',
'template.file': 'Файл',
'template.select': 'Выберите тип',
'mime.jpeg': 'Изображение JPEG',
'mime.png': 'Изображение PNG',