reviewflow 3.4.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/cli/parseCliArgs.d.ts +6 -1
- package/dist/cli/parseCliArgs.d.ts.map +1 -1
- package/dist/cli/parseCliArgs.js +11 -1
- package/dist/cli/parseCliArgs.js.map +1 -1
- package/dist/config/projectConfig.d.ts +6 -0
- package/dist/config/projectConfig.d.ts.map +1 -1
- package/dist/config/projectConfig.js +13 -0
- package/dist/config/projectConfig.js.map +1 -1
- package/dist/entities/language/language.schema.d.ts +7 -0
- package/dist/entities/language/language.schema.d.ts.map +1 -0
- package/dist/entities/language/language.schema.js +3 -0
- package/dist/entities/language/language.schema.js.map +1 -0
- package/dist/frameworks/claude/claudeInvoker.d.ts +1 -1
- package/dist/frameworks/claude/claudeInvoker.d.ts.map +1 -1
- package/dist/frameworks/claude/claudeInvoker.js +6 -3
- package/dist/frameworks/claude/claudeInvoker.js.map +1 -1
- package/dist/frameworks/claude/languageDirective.d.ts +3 -0
- package/dist/frameworks/claude/languageDirective.d.ts.map +1 -0
- package/dist/frameworks/claude/languageDirective.js +9 -0
- package/dist/frameworks/claude/languageDirective.js.map +1 -0
- package/dist/frameworks/queue/pQueueAdapter.d.ts +2 -0
- package/dist/frameworks/queue/pQueueAdapter.d.ts.map +1 -1
- package/dist/frameworks/queue/pQueueAdapter.js +1 -1
- package/dist/frameworks/queue/pQueueAdapter.js.map +1 -1
- package/dist/frameworks/settings/runtimeSettings.d.ts +4 -0
- package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -1
- package/dist/frameworks/settings/runtimeSettings.js +8 -1
- package/dist/frameworks/settings/runtimeSettings.js.map +1 -1
- package/dist/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/http/settings.routes.js +12 -1
- package/dist/interface-adapters/controllers/http/settings.routes.js.map +1 -1
- package/dist/interface-adapters/controllers/webhook/github.controller.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/webhook/github.controller.js +2 -1
- package/dist/interface-adapters/controllers/webhook/github.controller.js.map +1 -1
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.d.ts.map +1 -1
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js +2 -1
- package/dist/interface-adapters/controllers/webhook/gitlab.controller.js.map +1 -1
- package/dist/interface-adapters/views/dashboard/index.html +974 -393
- package/dist/interface-adapters/views/dashboard/modules/assignee.d.ts +7 -0
- package/dist/interface-adapters/views/dashboard/modules/assignee.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/assignee.js +47 -0
- package/dist/interface-adapters/views/dashboard/modules/assignee.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/constants.d.ts +7 -0
- package/dist/interface-adapters/views/dashboard/modules/constants.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/constants.js +6 -0
- package/dist/interface-adapters/views/dashboard/modules/constants.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.d.ts +23 -0
- package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.js +37 -0
- package/dist/interface-adapters/views/dashboard/modules/desktopNotifications.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/formatting.d.ts +23 -0
- package/dist/interface-adapters/views/dashboard/modules/formatting.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/formatting.js +57 -0
- package/dist/interface-adapters/views/dashboard/modules/formatting.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/html.d.ts +16 -0
- package/dist/interface-adapters/views/dashboard/modules/html.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/html.js +68 -0
- package/dist/interface-adapters/views/dashboard/modules/html.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts +11 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.js +500 -0
- package/dist/interface-adapters/views/dashboard/modules/i18n.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/icons.d.ts +13 -0
- package/dist/interface-adapters/views/dashboard/modules/icons.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/icons.js +29 -0
- package/dist/interface-adapters/views/dashboard/modules/icons.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/loading.d.ts +30 -0
- package/dist/interface-adapters/views/dashboard/modules/loading.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/loading.js +48 -0
- package/dist/interface-adapters/views/dashboard/modules/loading.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/notifications.d.ts +39 -0
- package/dist/interface-adapters/views/dashboard/modules/notifications.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/notifications.js +131 -0
- package/dist/interface-adapters/views/dashboard/modules/notifications.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/priority.d.ts +10 -0
- package/dist/interface-adapters/views/dashboard/modules/priority.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/priority.js +86 -0
- package/dist/interface-adapters/views/dashboard/modules/priority.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/quality.d.ts +30 -0
- package/dist/interface-adapters/views/dashboard/modules/quality.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/quality.js +83 -0
- package/dist/interface-adapters/views/dashboard/modules/quality.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/queueLanes.d.ts +22 -0
- package/dist/interface-adapters/views/dashboard/modules/queueLanes.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/queueLanes.js +27 -0
- package/dist/interface-adapters/views/dashboard/modules/queueLanes.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.d.ts +54 -0
- package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.d.ts.map +1 -0
- package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.js +120 -0
- package/dist/interface-adapters/views/dashboard/modules/sessionMetrics.js.map +1 -0
- package/dist/interface-adapters/views/dashboard/styles.css +1031 -93
- package/dist/main/cli.d.ts +41 -1
- package/dist/main/cli.d.ts.map +1 -1
- package/dist/main/cli.js +228 -88
- package/dist/main/cli.js.map +1 -1
- package/dist/tests/factories/reviewJob.factory.d.ts.map +1 -1
- package/dist/tests/factories/reviewJob.factory.js +1 -0
- package/dist/tests/factories/reviewJob.factory.js.map +1 -1
- package/dist/tests/units/cli/parseCliArgs.test.js +14 -0
- package/dist/tests/units/cli/parseCliArgs.test.js.map +1 -1
- package/dist/tests/units/config/projectConfig.test.d.ts +2 -0
- package/dist/tests/units/config/projectConfig.test.d.ts.map +1 -0
- package/dist/tests/units/config/projectConfig.test.js +69 -0
- package/dist/tests/units/config/projectConfig.test.js.map +1 -0
- package/dist/tests/units/entities/language/language.schema.test.d.ts +2 -0
- package/dist/tests/units/entities/language/language.schema.test.d.ts.map +1 -0
- package/dist/tests/units/entities/language/language.schema.test.js +17 -0
- package/dist/tests/units/entities/language/language.schema.test.js.map +1 -0
- package/dist/tests/units/frameworks/claude/languageDirective.test.d.ts +2 -0
- package/dist/tests/units/frameworks/claude/languageDirective.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/claude/languageDirective.test.js +13 -0
- package/dist/tests/units/frameworks/claude/languageDirective.test.js.map +1 -0
- package/dist/tests/units/frameworks/settings/runtimeSettings.test.d.ts +2 -0
- package/dist/tests/units/frameworks/settings/runtimeSettings.test.d.ts.map +1 -0
- package/dist/tests/units/frameworks/settings/runtimeSettings.test.js +20 -0
- package/dist/tests/units/frameworks/settings/runtimeSettings.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js +1 -0
- package/dist/tests/units/interface-adapters/controllers/webhook/gitlab.controller.test.js.map +1 -1
- package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.js +35 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/assignee.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.js +17 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/constants.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.js +54 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/desktopNotifications.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.js +95 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/formatting.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.js +55 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/html.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js +98 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/i18n.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.js +28 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/icons.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.js +51 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/loading.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.js +43 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/notifications.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.js +78 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/priority.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.js +87 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/quality.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.js +29 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/queueLanes.test.js.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.d.ts +2 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.d.ts.map +1 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.js +60 -0
- package/dist/tests/units/interface-adapters/views/dashboard/modules/sessionMetrics.test.js.map +1 -0
- package/dist/tests/units/main/executeDiscover.test.d.ts +2 -0
- package/dist/tests/units/main/executeDiscover.test.d.ts.map +1 -0
- package/dist/tests/units/main/executeDiscover.test.js +106 -0
- package/dist/tests/units/main/executeDiscover.test.js.map +1 -0
- package/dist/tests/units/main/executeInit.test.d.ts +2 -0
- package/dist/tests/units/main/executeInit.test.d.ts.map +1 -0
- package/dist/tests/units/main/executeInit.test.js +290 -0
- package/dist/tests/units/main/executeInit.test.js.map +1 -0
- package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.d.ts +2 -0
- package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.js +127 -0
- package/dist/tests/units/usecases/cli/addRepositoriesToConfig.usecase.test.js.map +1 -0
- package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.d.ts +2 -0
- package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.d.ts.map +1 -0
- package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.js +57 -0
- package/dist/tests/units/usecases/cli/checkInitPrerequisites.test.js.map +1 -0
- package/dist/usecases/cli/addRepositoriesToConfig.usecase.d.ts +27 -0
- package/dist/usecases/cli/addRepositoriesToConfig.usecase.d.ts.map +1 -0
- package/dist/usecases/cli/addRepositoriesToConfig.usecase.js +34 -0
- package/dist/usecases/cli/addRepositoriesToConfig.usecase.js.map +1 -0
- package/dist/usecases/cli/checkInitPrerequisites.d.ts +16 -0
- package/dist/usecases/cli/checkInitPrerequisites.d.ts.map +1 -0
- package/dist/usecases/cli/checkInitPrerequisites.js +23 -0
- package/dist/usecases/cli/checkInitPrerequisites.js.map +1 -0
- package/dist/usecases/cli/configureMcp.usecase.d.ts +1 -1
- package/dist/usecases/cli/configureMcp.usecase.d.ts.map +1 -1
- package/dist/usecases/cli/validateConfig.usecase.d.ts +1 -1
- package/dist/usecases/cli/validateConfig.usecase.d.ts.map +1 -1
- package/dist/usecases/triggerReview.usecase.d.ts +2 -0
- package/dist/usecases/triggerReview.usecase.d.ts.map +1 -1
- package/dist/usecases/triggerReview.usecase.js +1 -0
- package/dist/usecases/triggerReview.usecase.js.map +1 -1
- package/package.json +1 -1
- package/templates/SETUP.md +23 -8
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
/** @type {'en' | 'fr'} */
|
|
2
|
+
let currentLanguage = 'en';
|
|
3
|
+
|
|
4
|
+
const translations = {
|
|
5
|
+
en: {
|
|
6
|
+
// Time
|
|
7
|
+
'time.justNow': 'Just now',
|
|
8
|
+
'time.minutesAgo': '{{minutes}} min ago',
|
|
9
|
+
'time.hoursAgo': '{{hours}}h ago',
|
|
10
|
+
|
|
11
|
+
// Phases
|
|
12
|
+
'phase.initializing': 'Initializing',
|
|
13
|
+
'phase.agents-running': 'Agents running',
|
|
14
|
+
'phase.synthesizing': 'Synthesizing',
|
|
15
|
+
'phase.publishing': 'Publishing',
|
|
16
|
+
'phase.completed': 'Completed',
|
|
17
|
+
|
|
18
|
+
// Header
|
|
19
|
+
'header.checkClaude': 'Check Claude',
|
|
20
|
+
'header.logs': 'Logs',
|
|
21
|
+
'header.hideLogs': 'Hide Logs',
|
|
22
|
+
|
|
23
|
+
// Cards
|
|
24
|
+
'card.running': 'Running',
|
|
25
|
+
'card.queued': 'Queued',
|
|
26
|
+
'card.completed': 'Completed',
|
|
27
|
+
'card.claudeCli': 'Claude CLI',
|
|
28
|
+
'card.model': 'Model',
|
|
29
|
+
'card.language': 'Language',
|
|
30
|
+
'card.gitCli': 'Git CLI',
|
|
31
|
+
'card.gitlabCli': 'GitLab CLI',
|
|
32
|
+
'card.githubCli': 'GitHub CLI',
|
|
33
|
+
|
|
34
|
+
// Focus strip
|
|
35
|
+
'strip.now': 'To handle now',
|
|
36
|
+
'strip.nowMeta': 'Running reviews + MRs pending fix',
|
|
37
|
+
'strip.next': 'Up next',
|
|
38
|
+
'strip.nextMeta': 'Queued reviews + MRs pending approval',
|
|
39
|
+
'strip.blocked': 'Blocking feedback',
|
|
40
|
+
'strip.blockedMeta': 'MRs with unresolved threads',
|
|
41
|
+
'strip.modeCompact': 'Compact view',
|
|
42
|
+
'strip.modeDetailed': 'Detailed view',
|
|
43
|
+
|
|
44
|
+
// Priority lane
|
|
45
|
+
'lane.nowKicker': 'Take action now',
|
|
46
|
+
'lane.nowMeta': '{{count}} open thread(s) to resolve',
|
|
47
|
+
'lane.owner': 'Owner: {{owner}}',
|
|
48
|
+
|
|
49
|
+
// Quality score
|
|
50
|
+
'quality.kicker': 'Quality score',
|
|
51
|
+
'quality.target': 'Target {{target}}/10',
|
|
52
|
+
'quality.notAvailable': 'No score yet',
|
|
53
|
+
'quality.perfect': 'Perfect quality',
|
|
54
|
+
'quality.onTarget': 'On target',
|
|
55
|
+
'quality.belowTarget': 'Needs improvements',
|
|
56
|
+
'quality.lovableQuality': 'Lovable quality',
|
|
57
|
+
'quality.progress': 'Progress',
|
|
58
|
+
'quality.trendUp': 'Improving {{delta}}',
|
|
59
|
+
'quality.trendDown': 'Dropping {{delta}}',
|
|
60
|
+
'quality.trendFlat': 'Stable',
|
|
61
|
+
'quality.trendUnknown': 'No trend yet',
|
|
62
|
+
|
|
63
|
+
// Notifications
|
|
64
|
+
'notify.reviewStarted': 'Review started for !{{mrNumber}}',
|
|
65
|
+
'notify.followupStarted': 'Follow-up started for !{{mrNumber}}',
|
|
66
|
+
'notify.reviewCompleted': 'Review completed for !{{mrNumber}}',
|
|
67
|
+
'notify.followupCompleted': 'Follow-up completed for !{{mrNumber}}',
|
|
68
|
+
'notify.reviewFailed': 'Review failed for !{{mrNumber}}',
|
|
69
|
+
'notify.followupRequested': 'Follow-up requested for !{{mrNumber}}',
|
|
70
|
+
'notify.desktopTitle': 'Reviewflow alert',
|
|
71
|
+
|
|
72
|
+
// Loading
|
|
73
|
+
'loading.data': 'Syncing dashboard data...',
|
|
74
|
+
'loading.section': 'Loading...',
|
|
75
|
+
'loading.status': 'Refreshing live status...',
|
|
76
|
+
'loading.reviewFiles': 'Loading review files...',
|
|
77
|
+
'loading.stats': 'Loading project stats...',
|
|
78
|
+
'loading.mrTracking': 'Refreshing MR tracking...',
|
|
79
|
+
|
|
80
|
+
// Session metrics
|
|
81
|
+
'metrics.session': 'Session',
|
|
82
|
+
'metrics.firstAction': 'First useful action',
|
|
83
|
+
'metrics.actions': 'actions',
|
|
84
|
+
'metrics.pending': 'pending',
|
|
85
|
+
'metrics.priorityResolution': 'Priority resolution',
|
|
86
|
+
'metrics.breakdown': 'Action breakdown',
|
|
87
|
+
'metrics.action.followup': 'Followup',
|
|
88
|
+
'metrics.action.open': 'Open',
|
|
89
|
+
'metrics.action.approve': 'Approve',
|
|
90
|
+
'metrics.action.cancelReview': 'Cancel',
|
|
91
|
+
'metrics.action.syncThreads': 'Sync',
|
|
92
|
+
|
|
93
|
+
// Model options
|
|
94
|
+
'model.opus': 'Opus (powerful)',
|
|
95
|
+
'model.sonnet': 'Sonnet (fast)',
|
|
96
|
+
|
|
97
|
+
// Status
|
|
98
|
+
'status.connecting': 'Connecting...',
|
|
99
|
+
'status.checking': 'Checking...',
|
|
100
|
+
'status.loading': 'Loading...',
|
|
101
|
+
'status.loadProject': 'Load a project...',
|
|
102
|
+
'status.operational': 'Operational',
|
|
103
|
+
'status.undefined': 'not set',
|
|
104
|
+
|
|
105
|
+
// Connection
|
|
106
|
+
'connection.websocket': 'WebSocket real-time',
|
|
107
|
+
'connection.fallback': 'Fallback polling 5s',
|
|
108
|
+
'connection.online': 'Online',
|
|
109
|
+
'connection.onlinePolling': 'Online (polling)',
|
|
110
|
+
'connection.offline': 'Offline',
|
|
111
|
+
'connection.disconnected': 'Disconnected',
|
|
112
|
+
'connection.polling': 'Polling mode',
|
|
113
|
+
|
|
114
|
+
// Project loader
|
|
115
|
+
'project.selectPlaceholder': '-- Select a project --',
|
|
116
|
+
'project.inputPlaceholder': 'Or enter a new path...',
|
|
117
|
+
'project.load': 'Load',
|
|
118
|
+
'project.removeTooltip': 'Remove from list',
|
|
119
|
+
'project.removed': 'Project removed',
|
|
120
|
+
'project.noProjectSelected': 'No project selected',
|
|
121
|
+
|
|
122
|
+
// Login / Auth
|
|
123
|
+
'login.claude.title': 'Claude is not authenticated',
|
|
124
|
+
'login.claude.instruction': 'Run this command in a terminal:',
|
|
125
|
+
'login.claude.reload': 'Then reload this page.',
|
|
126
|
+
'login.git.title': 'CLI not authenticated',
|
|
127
|
+
'login.gitlab.title': 'GitLab CLI not authenticated',
|
|
128
|
+
'login.github.title': 'GitHub CLI not authenticated',
|
|
129
|
+
|
|
130
|
+
// Setup instructions
|
|
131
|
+
'setup.installAndAuth': '1. Install and authenticate {{cli}}:',
|
|
132
|
+
'setup.configureWebhook': '2. Configure the {{platform}} webhook:',
|
|
133
|
+
'setup.webhookPath': 'Settings → Webhooks → Add webhook',
|
|
134
|
+
'setup.reload': 'Then reload this page.',
|
|
135
|
+
'setup.github.contentType': 'Content type: application/json',
|
|
136
|
+
'setup.github.events': 'Events: Pull requests',
|
|
137
|
+
'setup.gitlab.trigger': 'Trigger: Merge request events',
|
|
138
|
+
|
|
139
|
+
// Sections
|
|
140
|
+
'section.logs': 'Recent logs',
|
|
141
|
+
'section.stats': 'Project statistics',
|
|
142
|
+
'section.activeReviews': 'Active reviews',
|
|
143
|
+
'section.activeFollowups': 'Active followups',
|
|
144
|
+
'section.pendingFix': 'Pending fix',
|
|
145
|
+
'section.pendingApproval': 'Pending approval',
|
|
146
|
+
'section.queueLanes': 'Priority lanes',
|
|
147
|
+
'section.completedReviews': 'Completed reviews',
|
|
148
|
+
|
|
149
|
+
// Queue lanes
|
|
150
|
+
'queueLane.now': 'Handle now',
|
|
151
|
+
'queueLane.needsFix': 'Needs fixes',
|
|
152
|
+
'queueLane.readyToApprove': 'Ready for approval',
|
|
153
|
+
'queueLane.emptyNow': 'No immediate priority',
|
|
154
|
+
'queueLane.emptyNeedsFix': 'No MR waiting for fixes',
|
|
155
|
+
'queueLane.emptyReadyToApprove': 'No MR ready to approve',
|
|
156
|
+
|
|
157
|
+
// Empty states
|
|
158
|
+
'empty.logs': 'No logs',
|
|
159
|
+
'empty.stats': 'Load a project to see stats',
|
|
160
|
+
'empty.statsNoData': 'No statistics available',
|
|
161
|
+
'empty.activeReviews': 'No active reviews',
|
|
162
|
+
'empty.activeFollowups': 'No follow-up in progress',
|
|
163
|
+
'empty.pendingFix': 'No MR pending fix',
|
|
164
|
+
'empty.pendingApproval': 'No MR pending approval',
|
|
165
|
+
'empty.reviewFiles': 'No review files',
|
|
166
|
+
'empty.reviewsNoProject': 'Load a project to see reviews',
|
|
167
|
+
'empty.statsNoProject': 'Load a project to see stats',
|
|
168
|
+
'empty.serverNotAccessible': 'Server not accessible',
|
|
169
|
+
|
|
170
|
+
// Stats labels
|
|
171
|
+
'stats.reviews': 'Reviews',
|
|
172
|
+
'stats.averageScore': 'Average score',
|
|
173
|
+
'stats.totalTime': 'Total time',
|
|
174
|
+
'stats.averageTime': 'Average time',
|
|
175
|
+
'stats.blocking': 'Blocking',
|
|
176
|
+
'stats.warnings': 'Important',
|
|
177
|
+
|
|
178
|
+
// Review types
|
|
179
|
+
'review.type.review': 'Review',
|
|
180
|
+
'review.type.followup': 'Follow-up',
|
|
181
|
+
'review.description': 'Description',
|
|
182
|
+
'review.status.running': 'Review in progress',
|
|
183
|
+
'review.status.queued': 'Waiting in queue',
|
|
184
|
+
'review.status.completed': 'Review completed',
|
|
185
|
+
'review.status.failed': 'Action needed',
|
|
186
|
+
|
|
187
|
+
// Buttons
|
|
188
|
+
'button.cancel': 'Cancel',
|
|
189
|
+
'button.open': 'Open',
|
|
190
|
+
'button.followup': 'Run follow-up',
|
|
191
|
+
'button.autoFollowup': 'Auto follow-up',
|
|
192
|
+
'button.delete': 'Delete',
|
|
193
|
+
'button.syncThreads': 'Sync GitLab threads',
|
|
194
|
+
|
|
195
|
+
// MR details
|
|
196
|
+
'mr.threads.open': '{{count}} open',
|
|
197
|
+
'mr.threads.resolved': 'Resolved',
|
|
198
|
+
'mr.threads.openAction': '{{count}} open - fix now',
|
|
199
|
+
'mr.threads.warningAction': '{{count}} important - review before approve',
|
|
200
|
+
'mr.threads.resolvedAction': 'All resolved - ready to approve',
|
|
201
|
+
'mr.detail.source': 'Source:',
|
|
202
|
+
'mr.detail.target': 'Target:',
|
|
203
|
+
'mr.detail.created': 'Created:',
|
|
204
|
+
'mr.detail.lastReview': 'Last review:',
|
|
205
|
+
'mr.detail.history': 'History ({{count}}):',
|
|
206
|
+
'mr.review.blocking': '{{count}} blocking',
|
|
207
|
+
|
|
208
|
+
// Logs
|
|
209
|
+
'logs.errorCount': '{{count}} errors',
|
|
210
|
+
|
|
211
|
+
// Modal
|
|
212
|
+
'modal.cancel.title': 'Cancel the {{type}} of {{label}} !{{number}} ({{type}})?',
|
|
213
|
+
'modal.cancel.message': 'This action is irreversible. The review will be stopped immediately.',
|
|
214
|
+
'modal.back': 'Go back',
|
|
215
|
+
'modal.confirm': 'Confirm',
|
|
216
|
+
|
|
217
|
+
// Confirm dialogs
|
|
218
|
+
'confirm.deleteReview': 'Delete {{filename}}?',
|
|
219
|
+
'confirm.removeProject': 'Remove "{{name}}" from the list?',
|
|
220
|
+
'confirm.approveMr': 'Mark this {{label}} as approved?',
|
|
221
|
+
|
|
222
|
+
// Success
|
|
223
|
+
'success.reviewCancelled': 'Review cancelled',
|
|
224
|
+
'success.reviewAlreadyCompleted': 'This review is already completed',
|
|
225
|
+
|
|
226
|
+
// Errors
|
|
227
|
+
'error.loading': 'Loading error',
|
|
228
|
+
'error.loadingStats': 'Error loading stats',
|
|
229
|
+
'error.loadingConfig': 'Loading error',
|
|
230
|
+
'error.checkStatus': 'Check error',
|
|
231
|
+
'error.deleteReview': 'Error deleting review',
|
|
232
|
+
'error.triggerFollowup': 'Error triggering followup',
|
|
233
|
+
'error.toggleAutoFollowup': 'Error changing auto follow-up',
|
|
234
|
+
'error.approveMr': 'Error approving',
|
|
235
|
+
'error.syncThreads': 'Error syncing threads',
|
|
236
|
+
'error.cancelReview': 'Error cancelling review',
|
|
237
|
+
'error.selectOrEnterPath': 'Select or enter a path',
|
|
238
|
+
'error.projectNotLoaded': 'Load a project first',
|
|
239
|
+
},
|
|
240
|
+
fr: {
|
|
241
|
+
// Time
|
|
242
|
+
'time.justNow': "À l'instant",
|
|
243
|
+
'time.minutesAgo': 'Il y a {{minutes}} min',
|
|
244
|
+
'time.hoursAgo': 'Il y a {{hours}}h',
|
|
245
|
+
|
|
246
|
+
// Phases
|
|
247
|
+
'phase.initializing': 'Initialisation',
|
|
248
|
+
'phase.agents-running': 'Agents en cours',
|
|
249
|
+
'phase.synthesizing': 'Synthèse',
|
|
250
|
+
'phase.publishing': 'Publication',
|
|
251
|
+
'phase.completed': 'Terminé',
|
|
252
|
+
|
|
253
|
+
// Header
|
|
254
|
+
'header.checkClaude': 'Vérifier Claude',
|
|
255
|
+
'header.logs': 'Logs',
|
|
256
|
+
'header.hideLogs': 'Masquer Logs',
|
|
257
|
+
|
|
258
|
+
// Cards
|
|
259
|
+
'card.running': 'En cours',
|
|
260
|
+
'card.queued': 'En attente',
|
|
261
|
+
'card.completed': 'Terminées',
|
|
262
|
+
'card.claudeCli': 'Claude CLI',
|
|
263
|
+
'card.model': 'Modèle',
|
|
264
|
+
'card.language': 'Langue',
|
|
265
|
+
'card.gitCli': 'Git CLI',
|
|
266
|
+
'card.gitlabCli': 'GitLab CLI',
|
|
267
|
+
'card.githubCli': 'GitHub CLI',
|
|
268
|
+
|
|
269
|
+
// Focus strip
|
|
270
|
+
'strip.now': 'À traiter',
|
|
271
|
+
'strip.nowMeta': 'Reviews en cours + MR en attente de correctif',
|
|
272
|
+
'strip.next': 'À venir',
|
|
273
|
+
'strip.nextMeta': 'Reviews en file + MR en attente d’approbation',
|
|
274
|
+
'strip.blocked': 'Retours bloquants',
|
|
275
|
+
'strip.blockedMeta': 'MR avec threads non résolus',
|
|
276
|
+
'strip.modeCompact': 'Vue compacte',
|
|
277
|
+
'strip.modeDetailed': 'Vue détaillée',
|
|
278
|
+
|
|
279
|
+
// Priority lane
|
|
280
|
+
'lane.nowKicker': 'Action prioritaire',
|
|
281
|
+
'lane.nowMeta': '{{count}} thread(s) ouverts à résoudre',
|
|
282
|
+
'lane.owner': 'Responsable: {{owner}}',
|
|
283
|
+
|
|
284
|
+
// Quality score
|
|
285
|
+
'quality.kicker': 'Score qualité',
|
|
286
|
+
'quality.target': 'Cible {{target}}/10',
|
|
287
|
+
'quality.notAvailable': 'Score indisponible',
|
|
288
|
+
'quality.perfect': 'Qualité parfaite',
|
|
289
|
+
'quality.onTarget': 'Objectif atteint',
|
|
290
|
+
'quality.belowTarget': 'Améliorations requises',
|
|
291
|
+
'quality.lovableQuality': 'Qualité lovable',
|
|
292
|
+
'quality.progress': 'Progression',
|
|
293
|
+
'quality.trendUp': 'En amélioration {{delta}}',
|
|
294
|
+
'quality.trendDown': 'En baisse {{delta}}',
|
|
295
|
+
'quality.trendFlat': 'Stable',
|
|
296
|
+
'quality.trendUnknown': 'Pas de tendance',
|
|
297
|
+
|
|
298
|
+
// Notifications
|
|
299
|
+
'notify.reviewStarted': 'Review démarrée pour !{{mrNumber}}',
|
|
300
|
+
'notify.followupStarted': 'Follow-up démarré pour !{{mrNumber}}',
|
|
301
|
+
'notify.reviewCompleted': 'Review terminée pour !{{mrNumber}}',
|
|
302
|
+
'notify.followupCompleted': 'Follow-up terminé pour !{{mrNumber}}',
|
|
303
|
+
'notify.reviewFailed': 'Review en échec pour !{{mrNumber}}',
|
|
304
|
+
'notify.followupRequested': 'Follow-up demandé pour !{{mrNumber}}',
|
|
305
|
+
'notify.desktopTitle': 'Alerte Reviewflow',
|
|
306
|
+
|
|
307
|
+
// Loading
|
|
308
|
+
'loading.data': 'Synchronisation des données du dashboard...',
|
|
309
|
+
'loading.section': 'Chargement...',
|
|
310
|
+
'loading.status': 'Rafraîchissement du statut en direct...',
|
|
311
|
+
'loading.reviewFiles': 'Chargement des fichiers de review...',
|
|
312
|
+
'loading.stats': 'Chargement des statistiques projet...',
|
|
313
|
+
'loading.mrTracking': 'Rafraîchissement du suivi MR...',
|
|
314
|
+
|
|
315
|
+
// Session metrics
|
|
316
|
+
'metrics.session': 'Session',
|
|
317
|
+
'metrics.firstAction': '1ère action utile',
|
|
318
|
+
'metrics.actions': 'actions',
|
|
319
|
+
'metrics.pending': 'en attente',
|
|
320
|
+
'metrics.priorityResolution': 'Résolution des priorités',
|
|
321
|
+
'metrics.breakdown': 'Détail des actions',
|
|
322
|
+
'metrics.action.followup': 'Followup',
|
|
323
|
+
'metrics.action.open': 'Ouvrir',
|
|
324
|
+
'metrics.action.approve': 'Approuver',
|
|
325
|
+
'metrics.action.cancelReview': 'Annuler',
|
|
326
|
+
'metrics.action.syncThreads': 'Synchroniser',
|
|
327
|
+
|
|
328
|
+
// Model options
|
|
329
|
+
'model.opus': 'Opus (puissant)',
|
|
330
|
+
'model.sonnet': 'Sonnet (rapide)',
|
|
331
|
+
|
|
332
|
+
// Status
|
|
333
|
+
'status.connecting': 'Connexion...',
|
|
334
|
+
'status.checking': 'Vérification...',
|
|
335
|
+
'status.loading': 'Chargement...',
|
|
336
|
+
'status.loadProject': 'Charger un projet...',
|
|
337
|
+
'status.operational': 'Opérationnel',
|
|
338
|
+
'status.undefined': 'non défini',
|
|
339
|
+
|
|
340
|
+
// Connection
|
|
341
|
+
'connection.websocket': 'WebSocket temps réel',
|
|
342
|
+
'connection.fallback': 'Fallback polling 5s',
|
|
343
|
+
'connection.online': 'En ligne',
|
|
344
|
+
'connection.onlinePolling': 'En ligne (polling)',
|
|
345
|
+
'connection.offline': 'Hors ligne',
|
|
346
|
+
'connection.disconnected': 'Déconnecté',
|
|
347
|
+
'connection.polling': 'Mode polling',
|
|
348
|
+
|
|
349
|
+
// Project loader
|
|
350
|
+
'project.selectPlaceholder': '-- Sélectionner un projet --',
|
|
351
|
+
'project.inputPlaceholder': 'Ou entrer un nouveau chemin...',
|
|
352
|
+
'project.load': 'Charger',
|
|
353
|
+
'project.removeTooltip': 'Retirer de la liste',
|
|
354
|
+
'project.removed': 'Projet retiré',
|
|
355
|
+
'project.noProjectSelected': 'Aucun projet sélectionné',
|
|
356
|
+
|
|
357
|
+
// Login / Auth
|
|
358
|
+
'login.claude.title': "Claude n'est pas authentifié",
|
|
359
|
+
'login.claude.instruction': 'Exécutez cette commande dans un terminal :',
|
|
360
|
+
'login.claude.reload': 'Puis rechargez cette page.',
|
|
361
|
+
'login.git.title': 'CLI non authentifié',
|
|
362
|
+
'login.gitlab.title': 'GitLab CLI non authentifié',
|
|
363
|
+
'login.github.title': 'GitHub CLI non authentifié',
|
|
364
|
+
|
|
365
|
+
// Setup instructions
|
|
366
|
+
'setup.installAndAuth': '1. Installer et authentifier {{cli}} :',
|
|
367
|
+
'setup.configureWebhook': '2. Configurer le webhook {{platform}} :',
|
|
368
|
+
'setup.webhookPath': 'Settings → Webhooks → Add webhook',
|
|
369
|
+
'setup.reload': 'Puis rechargez cette page.',
|
|
370
|
+
'setup.github.contentType': 'Content type: application/json',
|
|
371
|
+
'setup.github.events': 'Events: Pull requests',
|
|
372
|
+
'setup.gitlab.trigger': 'Trigger: Merge request events',
|
|
373
|
+
|
|
374
|
+
// Sections
|
|
375
|
+
'section.logs': 'Logs récents',
|
|
376
|
+
'section.stats': 'Statistiques du projet',
|
|
377
|
+
'section.activeReviews': 'Reviews actives',
|
|
378
|
+
'section.activeFollowups': 'Followups actifs',
|
|
379
|
+
'section.pendingFix': 'En attente de correctif',
|
|
380
|
+
'section.pendingApproval': "En attente d'approbation",
|
|
381
|
+
'section.queueLanes': 'Priorité',
|
|
382
|
+
'section.completedReviews': 'Reviews terminées',
|
|
383
|
+
|
|
384
|
+
// Queue lanes
|
|
385
|
+
'queueLane.now': 'À traiter maintenant',
|
|
386
|
+
'queueLane.needsFix': 'Corrections requises',
|
|
387
|
+
'queueLane.readyToApprove': 'Prêtes pour approbation',
|
|
388
|
+
'queueLane.emptyNow': 'Aucune priorité immédiate',
|
|
389
|
+
'queueLane.emptyNeedsFix': 'Aucune MR en attente de correction',
|
|
390
|
+
'queueLane.emptyReadyToApprove': 'Aucune MR prête à approuver',
|
|
391
|
+
|
|
392
|
+
// Empty states
|
|
393
|
+
'empty.logs': 'Aucun log',
|
|
394
|
+
'empty.stats': 'Charger un projet pour voir les stats',
|
|
395
|
+
'empty.statsNoData': 'Aucune statistique disponible',
|
|
396
|
+
'empty.activeReviews': 'Aucune review en cours',
|
|
397
|
+
'empty.activeFollowups': 'Aucun follow-up en cours',
|
|
398
|
+
'empty.pendingFix': 'Aucune MR en attente de correctif',
|
|
399
|
+
'empty.pendingApproval': "Aucune MR en attente d'approbation",
|
|
400
|
+
'empty.reviewFiles': 'Aucun fichier de review',
|
|
401
|
+
'empty.reviewsNoProject': 'Charger un projet pour voir les reviews',
|
|
402
|
+
'empty.statsNoProject': 'Charger un projet pour voir les stats',
|
|
403
|
+
'empty.serverNotAccessible': 'Serveur non accessible',
|
|
404
|
+
|
|
405
|
+
// Stats labels
|
|
406
|
+
'stats.reviews': 'Reviews',
|
|
407
|
+
'stats.averageScore': 'Score moyen',
|
|
408
|
+
'stats.totalTime': 'Temps total',
|
|
409
|
+
'stats.averageTime': 'Durée moyenne',
|
|
410
|
+
'stats.blocking': 'Bloquants',
|
|
411
|
+
'stats.warnings': 'Importants',
|
|
412
|
+
|
|
413
|
+
// Review types
|
|
414
|
+
'review.type.review': 'Review',
|
|
415
|
+
'review.type.followup': 'Follow-up',
|
|
416
|
+
'review.description': 'Description',
|
|
417
|
+
'review.status.running': 'Review en cours',
|
|
418
|
+
'review.status.queued': 'En attente dans la file',
|
|
419
|
+
'review.status.completed': 'Review terminée',
|
|
420
|
+
'review.status.failed': 'Action requise',
|
|
421
|
+
|
|
422
|
+
// Buttons
|
|
423
|
+
'button.cancel': 'Annuler',
|
|
424
|
+
'button.open': 'Ouvrir',
|
|
425
|
+
'button.followup': 'Lancer le follow-up',
|
|
426
|
+
'button.autoFollowup': 'Auto follow-up',
|
|
427
|
+
'button.delete': 'Supprimer',
|
|
428
|
+
'button.syncThreads': 'Synchroniser les threads GitLab',
|
|
429
|
+
|
|
430
|
+
// MR details
|
|
431
|
+
'mr.threads.open': '{{count}} ouvert(s)',
|
|
432
|
+
'mr.threads.resolved': 'Résolus',
|
|
433
|
+
'mr.threads.openAction': '{{count}} ouvert(s) - corriger maintenant',
|
|
434
|
+
'mr.threads.warningAction': '{{count}} important(s) - vérifier avant approbation',
|
|
435
|
+
'mr.threads.resolvedAction': 'Tout résolu - prêt à approuver',
|
|
436
|
+
'mr.detail.source': 'Source :',
|
|
437
|
+
'mr.detail.target': 'Target :',
|
|
438
|
+
'mr.detail.created': 'Créée :',
|
|
439
|
+
'mr.detail.lastReview': 'Dernière review :',
|
|
440
|
+
'mr.detail.history': 'Historique ({{count}}) :',
|
|
441
|
+
'mr.review.blocking': '{{count}} bloquant(s)',
|
|
442
|
+
|
|
443
|
+
// Logs
|
|
444
|
+
'logs.errorCount': '{{count}} erreurs',
|
|
445
|
+
|
|
446
|
+
// Modal
|
|
447
|
+
'modal.cancel.title': 'Annuler la {{type}} de la {{label}} !{{number}} ({{type}}) ?',
|
|
448
|
+
'modal.cancel.message': 'Cette action est irréversible. La review sera arrêtée immédiatement.',
|
|
449
|
+
'modal.back': 'Revenir',
|
|
450
|
+
'modal.confirm': 'Confirmer',
|
|
451
|
+
|
|
452
|
+
// Confirm dialogs
|
|
453
|
+
'confirm.deleteReview': 'Supprimer {{filename}} ?',
|
|
454
|
+
'confirm.removeProject': 'Retirer "{{name}}" de la liste ?',
|
|
455
|
+
'confirm.approveMr': 'Marquer cette {{label}} comme approuvée ?',
|
|
456
|
+
|
|
457
|
+
// Success
|
|
458
|
+
'success.reviewCancelled': 'Review annulée',
|
|
459
|
+
'success.reviewAlreadyCompleted': 'Cette review est déjà terminée',
|
|
460
|
+
|
|
461
|
+
// Errors
|
|
462
|
+
'error.loading': 'Erreur de chargement',
|
|
463
|
+
'error.loadingStats': 'Erreur de chargement des stats',
|
|
464
|
+
'error.loadingConfig': 'Erreur de chargement',
|
|
465
|
+
'error.checkStatus': 'Erreur de vérification',
|
|
466
|
+
'error.deleteReview': 'Erreur lors de la suppression',
|
|
467
|
+
'error.triggerFollowup': 'Erreur lors du déclenchement du followup',
|
|
468
|
+
'error.toggleAutoFollowup': 'Erreur lors du changement de auto follow-up',
|
|
469
|
+
'error.approveMr': "Erreur lors de l'approbation",
|
|
470
|
+
'error.syncThreads': 'Erreur lors de la synchronisation des threads',
|
|
471
|
+
'error.cancelReview': "Erreur lors de l'annulation",
|
|
472
|
+
'error.selectOrEnterPath': 'Sélectionnez ou entrez un chemin',
|
|
473
|
+
'error.projectNotLoaded': "Charger un projet d'abord",
|
|
474
|
+
},
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
/** @returns {'en' | 'fr'} */
|
|
478
|
+
export function getLanguage() {
|
|
479
|
+
return currentLanguage;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/** @param {'en' | 'fr'} language */
|
|
483
|
+
export function setLanguage(language) {
|
|
484
|
+
currentLanguage = language;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* @param {string} key
|
|
489
|
+
* @param {Record<string, string | number>} [params]
|
|
490
|
+
* @returns {string}
|
|
491
|
+
*/
|
|
492
|
+
export function t(key, params) {
|
|
493
|
+
let value = translations[currentLanguage]?.[key] ?? key;
|
|
494
|
+
if (params) {
|
|
495
|
+
for (const [param, replacement] of Object.entries(params)) {
|
|
496
|
+
value = value.replaceAll(`{{${param}}}`, String(replacement));
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
return value;
|
|
500
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../../../src/interface-adapters/views/dashboard/modules/i18n.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {string} status
|
|
3
|
+
* @returns {string}
|
|
4
|
+
*/
|
|
5
|
+
export function getAgentIcon(status: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* @param {string} name
|
|
8
|
+
* @param {string} [className]
|
|
9
|
+
* @returns {string}
|
|
10
|
+
*/
|
|
11
|
+
export function icon(name: string, className?: string): string;
|
|
12
|
+
export function refreshIcons(): void;
|
|
13
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../../../src/interface-adapters/views/dashboard/modules/icons.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,qCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,2BAJW,MAAM,cACN,MAAM,GACJ,MAAM,CAIlB;AAED,qCAIC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const agentIconNames = {
|
|
2
|
+
pending: 'clock',
|
|
3
|
+
running: 'loader',
|
|
4
|
+
completed: 'check',
|
|
5
|
+
failed: 'x',
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @param {string} status
|
|
10
|
+
* @returns {string}
|
|
11
|
+
*/
|
|
12
|
+
export function getAgentIcon(status) {
|
|
13
|
+
return `<i data-lucide="${agentIconNames[status] || 'help-circle'}"></i>`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @param {string} name
|
|
18
|
+
* @param {string} [className]
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export function icon(name, className = '') {
|
|
22
|
+
return `<i data-lucide="${name}" class="${className}"></i>`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function refreshIcons() {
|
|
26
|
+
if (typeof lucide !== 'undefined') {
|
|
27
|
+
lucide.createIcons();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../src/interface-adapters/views/dashboard/modules/icons.js"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAM;IACjC,OAAO,mBAAmB,cAAc,CAAC,MAAM,CAAC,IAAI,aAAa,QAAQ,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,EAAE;IACvC,OAAO,mBAAmB,IAAI,YAAY,SAAS,QAAQ,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {{ status: number, reviewFiles: number, stats: number, mrTracking: number }} loadingState
|
|
3
|
+
* @param {{ hasLoadedStatusOnce: boolean }} options
|
|
4
|
+
* @returns {{ showGlobalLoading: boolean, isQuietRefresh: boolean }}
|
|
5
|
+
*/
|
|
6
|
+
export function getLoadingPresentation(loadingState: {
|
|
7
|
+
status: number;
|
|
8
|
+
reviewFiles: number;
|
|
9
|
+
stats: number;
|
|
10
|
+
mrTracking: number;
|
|
11
|
+
}, options: {
|
|
12
|
+
hasLoadedStatusOnce: boolean;
|
|
13
|
+
}): {
|
|
14
|
+
showGlobalLoading: boolean;
|
|
15
|
+
isQuietRefresh: boolean;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @param {{ status: number, reviewFiles: number, stats: number, mrTracking: number }} loadingState
|
|
19
|
+
* @param {{ hasLoadedStatusOnce: boolean }} options
|
|
20
|
+
* @returns {string[]}
|
|
21
|
+
*/
|
|
22
|
+
export function getQuietRefreshSectionIdentifiers(loadingState: {
|
|
23
|
+
status: number;
|
|
24
|
+
reviewFiles: number;
|
|
25
|
+
stats: number;
|
|
26
|
+
mrTracking: number;
|
|
27
|
+
}, options: {
|
|
28
|
+
hasLoadedStatusOnce: boolean;
|
|
29
|
+
}): string[];
|
|
30
|
+
//# sourceMappingURL=loading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../../src/interface-adapters/views/dashboard/modules/loading.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qDAJW;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,WAC1E;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,GAC9B;IAAE,iBAAiB,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAmBnE;AAED;;;;GAIG;AACH,gEAJW;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,WAC1E;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,GAC9B,MAAM,EAAE,CAoBpB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {{ status: number, reviewFiles: number, stats: number, mrTracking: number }} loadingState
|
|
3
|
+
* @param {{ hasLoadedStatusOnce: boolean }} options
|
|
4
|
+
* @returns {{ showGlobalLoading: boolean, isQuietRefresh: boolean }}
|
|
5
|
+
*/
|
|
6
|
+
export function getLoadingPresentation(loadingState, options) {
|
|
7
|
+
const isLoading = Object.values(loadingState).some((value) => value > 0);
|
|
8
|
+
if (!isLoading) {
|
|
9
|
+
return {
|
|
10
|
+
showGlobalLoading: false,
|
|
11
|
+
isQuietRefresh: false,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const hasHeavyRefresh = loadingState.reviewFiles > 0 || loadingState.stats > 0;
|
|
16
|
+
const hasPollingRefresh = loadingState.status > 0 || loadingState.mrTracking > 0;
|
|
17
|
+
const isQuietRefresh = options.hasLoadedStatusOnce && hasPollingRefresh && !hasHeavyRefresh;
|
|
18
|
+
|
|
19
|
+
return {
|
|
20
|
+
showGlobalLoading: !isQuietRefresh,
|
|
21
|
+
isQuietRefresh,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {{ status: number, reviewFiles: number, stats: number, mrTracking: number }} loadingState
|
|
27
|
+
* @param {{ hasLoadedStatusOnce: boolean }} options
|
|
28
|
+
* @returns {string[]}
|
|
29
|
+
*/
|
|
30
|
+
export function getQuietRefreshSectionIdentifiers(loadingState, options) {
|
|
31
|
+
const loadingPresentation = getLoadingPresentation(loadingState, options);
|
|
32
|
+
if (!loadingPresentation.isQuietRefresh) {
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const sectionIdentifiers = [];
|
|
37
|
+
if (loadingState.mrTracking > 0) {
|
|
38
|
+
sectionIdentifiers.push('pending-fix-section');
|
|
39
|
+
}
|
|
40
|
+
if (loadingState.status > 0) {
|
|
41
|
+
sectionIdentifiers.push(
|
|
42
|
+
'active-reviews-section',
|
|
43
|
+
'active-followups-section',
|
|
44
|
+
'completed-reviews-section',
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
return sectionIdentifiers;
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../src/interface-adapters/views/dashboard/modules/loading.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAY,EAAE,OAAO;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,IAAI,iBAAiB,IAAI,CAAC,eAAe,CAAC;IAE5F,OAAO;QACL,iBAAiB,EAAE,CAAC,cAAc;QAClC,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,YAAY,EAAE,OAAO;IACrE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,IAAI,YAAY,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,kBAAkB,CAAC,IAAI,CACrB,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|