feat: activity-based worklog suggestions (Step 16)

- Suggestion struct with nodeId, nodeTitle, summary, suggestedMin
- GetSuggestions binding: analyzes today's activity events, groups by
  node, skips nodes with existing today's worklog, generates summary
- AcceptSuggestion binding: creates worklog entry from suggestion
- HasTodayEntries helper on worklog.Service
- Suggestions panel in Worklog tab with Apply button
- i18n: worklog.suggestions / worklog.apply (ru + en)
This commit is contained in:
2026-06-03 09:31:40 +08:00
parent ca280a59c0
commit 57d13c9506
9 changed files with 200 additions and 2 deletions
+3
View File
@@ -120,4 +120,7 @@ export default {
'error.generic': 'An error occurred',
'error.invalidCredentials': 'Invalid username or password',
'worklog.suggestions': 'Suggestions for today',
'worklog.apply': 'Apply',
}
+2
View File
@@ -151,6 +151,8 @@ export default {
'worklog.min': 'мин',
'worklog.log': 'Записать',
'worklog.empty': 'Записей работы пока нет',
'worklog.suggestions': 'Предложения на сегодня',
'worklog.apply': 'Применить',
'sync.title': 'Синхронизация',
'sync.settings': 'Настройки синхронизации',