Step 16.1: global worklog dashboard + conservative suggestions
- Fix date timezone: worklog.Add uses local date (was UTC) - Conservative suggestion estimator: - burst detection (10min window), time spread analysis - 5-30 min range, 60+ only with strong evidence - confidence levels: low/medium/high with reason - worklog/report.go: ReportFilter, ListReport, Summary, ExportCSV, ExportMarkdown - Expanded WorklogDTO: date, details, approximate, billable, nodeTitle - New bindings: CreateWorklogFull, ListWorklogReport, WorklogSummary, Export* - New system section 'Журнал' in sidebar with badge (suggestion count) - Global journal screen: filters (date range, includeChildren), table, summary - Suggestions shown on Today dashboard + Journal screen + per-node worklog tab - Suggestion cards: editable minutes, confidence display, apply/open buttons - i18n: all new keys in ru + en
This commit is contained in:
@@ -123,4 +123,33 @@ export default {
|
||||
|
||||
'worklog.suggestions': 'Suggestions for today',
|
||||
'worklog.apply': 'Apply',
|
||||
|
||||
'nav.journal': 'Journal',
|
||||
|
||||
'journal.title': 'Work Log',
|
||||
'journal.empty': 'No entries for the selected period',
|
||||
'journal.dateFrom': 'From',
|
||||
'journal.dateTo': 'To',
|
||||
'journal.filter': 'Filter',
|
||||
'journal.total': 'Total',
|
||||
'journal.exportCSV': 'CSV',
|
||||
'journal.exportMarkdown': 'Markdown',
|
||||
'journal.billable': 'Billable',
|
||||
'journal.approximate': 'Approx',
|
||||
'journal.node': 'Case',
|
||||
'journal.path': 'Path',
|
||||
'journal.byDay': 'By day',
|
||||
'journal.byNode': 'By case',
|
||||
'journal.includeChildren': 'Include subtasks',
|
||||
|
||||
'suggest.title': 'Suggestions',
|
||||
'suggest.apply': 'Log',
|
||||
'suggest.dismiss': 'Dismiss',
|
||||
'suggest.open': 'Open',
|
||||
'suggest.confidence.low': 'Low confidence',
|
||||
'suggest.confidence.medium': 'Medium confidence',
|
||||
'suggest.confidence.high': 'High confidence',
|
||||
'suggest.minutes': 'min',
|
||||
'suggest.edit': 'Edit',
|
||||
'suggest.noSuggestions': 'No suggestions',
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ export default {
|
||||
'nav.today': 'Сегодня',
|
||||
'nav.inbox': 'Неразобранное',
|
||||
'nav.activity': 'Активность',
|
||||
'nav.journal': 'Журнал',
|
||||
'nav.clients': 'Клиенты',
|
||||
'nav.projects': 'Проекты',
|
||||
'nav.recipes': 'Рецепты',
|
||||
@@ -198,6 +199,33 @@ export default {
|
||||
'today.plural.event_few': 'события',
|
||||
'today.plural.event_many': 'событий',
|
||||
|
||||
'journal.title': 'Журнал работы',
|
||||
'journal.empty': 'Нет записей за выбранный период',
|
||||
'journal.dateFrom': 'От',
|
||||
'journal.dateTo': 'До',
|
||||
'journal.filter': 'Фильтр',
|
||||
'journal.total': 'Всего',
|
||||
'journal.exportCSV': 'CSV',
|
||||
'journal.exportMarkdown': 'Markdown',
|
||||
'journal.billable': 'Оплачиваемое',
|
||||
'journal.approximate': 'Примерно',
|
||||
'journal.node': 'Дело',
|
||||
'journal.path': 'Путь',
|
||||
'journal.byDay': 'По дням',
|
||||
'journal.byNode': 'По делам',
|
||||
'journal.includeChildren': 'С подзадачами',
|
||||
|
||||
'suggest.title': 'Предложения на сегодня',
|
||||
'suggest.apply': 'Записать',
|
||||
'suggest.dismiss': 'Скрыть',
|
||||
'suggest.open': 'Открыть',
|
||||
'suggest.confidence.low': 'Низкая уверенность',
|
||||
'suggest.confidence.medium': 'Средняя уверенность',
|
||||
'suggest.confidence.high': 'Высокая уверенность',
|
||||
'suggest.minutes': 'мин',
|
||||
'suggest.edit': 'Изменить',
|
||||
'suggest.noSuggestions': 'Нет предложений для журнала',
|
||||
|
||||
'activity.title': 'Активность',
|
||||
'activity.empty': 'Активность пока не зафиксирована',
|
||||
'activity.perCaseEmpty': 'Активность пока не зафиксирована',
|
||||
|
||||
Reference in New Issue
Block a user