jumbo-cli 3.11.0 → 3.12.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/dist/application/context/project/stats/AudiencePainStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/AudiencePainStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/AudiencePainStatsView.js +2 -0
- package/dist/application/context/project/stats/AudiencePainStatsView.js.map +1 -0
- package/dist/application/context/project/stats/AudiencePainsCount.d.ts +2 -0
- package/dist/application/context/project/stats/AudiencePainsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/AudiencePainsCount.js +2 -0
- package/dist/application/context/project/stats/AudiencePainsCount.js.map +1 -0
- package/dist/application/context/project/stats/AudienceStatsView.d.ts +9 -0
- package/dist/application/context/project/stats/AudienceStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/AudienceStatsView.js +2 -0
- package/dist/application/context/project/stats/AudienceStatsView.js.map +1 -0
- package/dist/application/context/project/stats/ClosedGoalsCount.d.ts +2 -0
- package/dist/application/context/project/stats/ClosedGoalsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/ClosedGoalsCount.js +2 -0
- package/dist/application/context/project/stats/ClosedGoalsCount.js.map +1 -0
- package/dist/application/context/project/stats/ComponentStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/ComponentStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/ComponentStatsView.js +2 -0
- package/dist/application/context/project/stats/ComponentStatsView.js.map +1 -0
- package/dist/application/context/project/stats/ComponentsCount.d.ts +2 -0
- package/dist/application/context/project/stats/ComponentsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/ComponentsCount.js +2 -0
- package/dist/application/context/project/stats/ComponentsCount.js.map +1 -0
- package/dist/application/context/project/stats/DecisionStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/DecisionStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/DecisionStatsView.js +2 -0
- package/dist/application/context/project/stats/DecisionStatsView.js.map +1 -0
- package/dist/application/context/project/stats/DecisionsCount.d.ts +2 -0
- package/dist/application/context/project/stats/DecisionsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/DecisionsCount.js +2 -0
- package/dist/application/context/project/stats/DecisionsCount.js.map +1 -0
- package/dist/application/context/project/stats/DefinedGoalsCount.d.ts +2 -0
- package/dist/application/context/project/stats/DefinedGoalsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/DefinedGoalsCount.js +2 -0
- package/dist/application/context/project/stats/DefinedGoalsCount.js.map +1 -0
- package/dist/application/context/project/stats/DependenciesCount.d.ts +2 -0
- package/dist/application/context/project/stats/DependenciesCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/DependenciesCount.js +2 -0
- package/dist/application/context/project/stats/DependenciesCount.js.map +1 -0
- package/dist/application/context/project/stats/DependencyStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/DependencyStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/DependencyStatsView.js +2 -0
- package/dist/application/context/project/stats/DependencyStatsView.js.map +1 -0
- package/dist/application/context/project/stats/GoalStatsView.d.ts +13 -0
- package/dist/application/context/project/stats/GoalStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/GoalStatsView.js +2 -0
- package/dist/application/context/project/stats/GoalStatsView.js.map +1 -0
- package/dist/application/context/project/stats/GraphStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/GraphStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/GraphStatsView.js +2 -0
- package/dist/application/context/project/stats/GraphStatsView.js.map +1 -0
- package/dist/application/context/project/stats/GuidelineStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/GuidelineStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/GuidelineStatsView.js +2 -0
- package/dist/application/context/project/stats/GuidelineStatsView.js.map +1 -0
- package/dist/application/context/project/stats/GuidelinesCount.d.ts +2 -0
- package/dist/application/context/project/stats/GuidelinesCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/GuidelinesCount.js +2 -0
- package/dist/application/context/project/stats/GuidelinesCount.js.map +1 -0
- package/dist/application/context/project/stats/InProgressGoalsCount.d.ts +2 -0
- package/dist/application/context/project/stats/InProgressGoalsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/InProgressGoalsCount.js +2 -0
- package/dist/application/context/project/stats/InProgressGoalsCount.js.map +1 -0
- package/dist/application/context/project/stats/InvariantStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/InvariantStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/InvariantStatsView.js +2 -0
- package/dist/application/context/project/stats/InvariantStatsView.js.map +1 -0
- package/dist/application/context/project/stats/InvariantsCount.d.ts +2 -0
- package/dist/application/context/project/stats/InvariantsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/InvariantsCount.js +2 -0
- package/dist/application/context/project/stats/InvariantsCount.js.map +1 -0
- package/dist/application/context/project/stats/MemoryStatsView.d.ts +13 -0
- package/dist/application/context/project/stats/MemoryStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/MemoryStatsView.js +2 -0
- package/dist/application/context/project/stats/MemoryStatsView.js.map +1 -0
- package/dist/application/context/project/stats/PrimaryAudiences.d.ts +2 -0
- package/dist/application/context/project/stats/PrimaryAudiences.d.ts.map +1 -0
- package/dist/application/context/project/stats/PrimaryAudiences.js +2 -0
- package/dist/application/context/project/stats/PrimaryAudiences.js.map +1 -0
- package/dist/application/context/project/stats/ProjectStatsSnapshotView.d.ts +6 -74
- package/dist/application/context/project/stats/ProjectStatsSnapshotView.d.ts.map +1 -1
- package/dist/application/context/project/stats/ProjectStatsView.d.ts +9 -0
- package/dist/application/context/project/stats/ProjectStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/ProjectStatsView.js +2 -0
- package/dist/application/context/project/stats/ProjectStatsView.js.map +1 -0
- package/dist/application/context/project/stats/RefinedGoalsCount.d.ts +2 -0
- package/dist/application/context/project/stats/RefinedGoalsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/RefinedGoalsCount.js +2 -0
- package/dist/application/context/project/stats/RefinedGoalsCount.js.map +1 -0
- package/dist/application/context/project/stats/RelationCount.d.ts +2 -0
- package/dist/application/context/project/stats/RelationCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/RelationCount.js +2 -0
- package/dist/application/context/project/stats/RelationCount.js.map +1 -0
- package/dist/application/context/project/stats/SecondaryAudiences.d.ts +2 -0
- package/dist/application/context/project/stats/SecondaryAudiences.d.ts.map +1 -0
- package/dist/application/context/project/stats/SecondaryAudiences.js +2 -0
- package/dist/application/context/project/stats/SecondaryAudiences.js.map +1 -0
- package/dist/application/context/project/stats/SessionsCount.d.ts +2 -0
- package/dist/application/context/project/stats/SessionsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/SessionsCount.js +2 -0
- package/dist/application/context/project/stats/SessionsCount.js.map +1 -0
- package/dist/application/context/project/stats/SessionsStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/SessionsStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/SessionsStatsView.js +2 -0
- package/dist/application/context/project/stats/SessionsStatsView.js.map +1 -0
- package/dist/application/context/project/stats/SubmittedGoalsCount.d.ts +2 -0
- package/dist/application/context/project/stats/SubmittedGoalsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/SubmittedGoalsCount.js +2 -0
- package/dist/application/context/project/stats/SubmittedGoalsCount.js.map +1 -0
- package/dist/application/context/project/stats/TotalAudiences.d.ts +2 -0
- package/dist/application/context/project/stats/TotalAudiences.d.ts.map +1 -0
- package/dist/application/context/project/stats/TotalAudiences.js +2 -0
- package/dist/application/context/project/stats/TotalAudiences.js.map +1 -0
- package/dist/application/context/project/stats/ValuePropositionsCount.d.ts +2 -0
- package/dist/application/context/project/stats/ValuePropositionsCount.d.ts.map +1 -0
- package/dist/application/context/project/stats/ValuePropositionsCount.js +2 -0
- package/dist/application/context/project/stats/ValuePropositionsCount.js.map +1 -0
- package/dist/application/context/project/stats/ValuePropositionsStatsView.d.ts +5 -0
- package/dist/application/context/project/stats/ValuePropositionsStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/ValuePropositionsStatsView.js +2 -0
- package/dist/application/context/project/stats/ValuePropositionsStatsView.js.map +1 -0
- package/dist/application/context/project/stats/WorkStatsView.d.ts +7 -0
- package/dist/application/context/project/stats/WorkStatsView.d.ts.map +1 -0
- package/dist/application/context/project/stats/WorkStatsView.js +2 -0
- package/dist/application/context/project/stats/WorkStatsView.js.map +1 -0
- package/dist/presentation/cli/commands/goals/show/GoalShowOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/goals/show/GoalShowOutputBuilder.js +10 -2
- package/dist/presentation/cli/commands/goals/show/GoalShowOutputBuilder.js.map +1 -1
- package/dist/presentation/shared/DesignTokens.d.ts +12 -2
- package/dist/presentation/shared/DesignTokens.d.ts.map +1 -1
- package/dist/presentation/shared/DesignTokens.js +12 -2
- package/dist/presentation/shared/DesignTokens.js.map +1 -1
- package/dist/presentation/tui/application-shell/App.d.ts.map +1 -1
- package/dist/presentation/tui/application-shell/App.js +25 -35
- package/dist/presentation/tui/application-shell/App.js.map +1 -1
- package/dist/presentation/tui/application-shell/ApplicationLauncher.d.ts.map +1 -1
- package/dist/presentation/tui/application-shell/ApplicationLauncher.js +1 -0
- package/dist/presentation/tui/application-shell/ApplicationLauncher.js.map +1 -1
- package/dist/presentation/tui/application-shell/Footer.d.ts +2 -1
- package/dist/presentation/tui/application-shell/Footer.d.ts.map +1 -1
- package/dist/presentation/tui/application-shell/Footer.js +10 -4
- package/dist/presentation/tui/application-shell/Footer.js.map +1 -1
- package/dist/presentation/tui/application-shell/FooterShortcutDescriptor.d.ts +5 -1
- package/dist/presentation/tui/application-shell/FooterShortcutDescriptor.d.ts.map +1 -1
- package/dist/presentation/tui/application-shell/FooterShortcutDescriptor.js +5 -1
- package/dist/presentation/tui/application-shell/FooterShortcutDescriptor.js.map +1 -1
- package/dist/presentation/tui/cockpit/DaemonActionLine.d.ts.map +1 -1
- package/dist/presentation/tui/cockpit/DaemonActionLine.js +3 -3
- package/dist/presentation/tui/cockpit/DaemonActionLine.js.map +1 -1
- package/dist/presentation/tui/goals/AddGoalRequestFactory.d.ts +14 -0
- package/dist/presentation/tui/goals/AddGoalRequestFactory.d.ts.map +1 -0
- package/dist/presentation/tui/goals/AddGoalRequestFactory.js +36 -0
- package/dist/presentation/tui/goals/AddGoalRequestFactory.js.map +1 -0
- package/dist/presentation/tui/goals/GoalsScreen.d.ts +13 -1
- package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -1
- package/dist/presentation/tui/goals/GoalsScreen.js +360 -86
- package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -1
- package/dist/presentation/tui/goals/GoalsScreenConstants.d.ts +41 -17
- package/dist/presentation/tui/goals/GoalsScreenConstants.d.ts.map +1 -1
- package/dist/presentation/tui/goals/GoalsScreenConstants.js +47 -16
- package/dist/presentation/tui/goals/GoalsScreenConstants.js.map +1 -1
- package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/components/ComponentsScreen.js +1 -2
- package/dist/presentation/tui/memory/components/ComponentsScreen.js.map +1 -1
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.js +1 -2
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.js.map +1 -1
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js +1 -2
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js.map +1 -1
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts +4 -4
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts.map +1 -1
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js +33 -25
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js.map +1 -1
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts +1 -2
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js +47 -78
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js.map +1 -1
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js +1 -2
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js.map +1 -1
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts.map +1 -1
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.js +1 -2
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.js.map +1 -1
- package/dist/presentation/tui/navigation/MegaMenu.d.ts +6 -1
- package/dist/presentation/tui/navigation/MegaMenu.d.ts.map +1 -1
- package/dist/presentation/tui/navigation/MegaMenu.js +20 -7
- package/dist/presentation/tui/navigation/MegaMenu.js.map +1 -1
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts +14 -0
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts.map +1 -1
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.js +59 -120
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.js.map +1 -1
- package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts +2 -2
- package/dist/presentation/tui/navigation/ScreenDefinitions.js +1 -1
- package/dist/presentation/tui/navigation/ScreenDefinitions.js.map +1 -1
- package/dist/presentation/tui/navigation/ScreenRouter.d.ts +8 -1
- package/dist/presentation/tui/navigation/ScreenRouter.d.ts.map +1 -1
- package/dist/presentation/tui/navigation/ScreenRouter.js +6 -3
- package/dist/presentation/tui/navigation/ScreenRouter.js.map +1 -1
- package/dist/presentation/tui/settings/SettingsScreen.d.ts +3 -0
- package/dist/presentation/tui/settings/SettingsScreen.d.ts.map +1 -0
- package/dist/presentation/tui/settings/SettingsScreen.js +14 -0
- package/dist/presentation/tui/settings/SettingsScreen.js.map +1 -0
- package/dist/presentation/tui/state-reading/StateReaderControllers.d.ts +2 -0
- package/dist/presentation/tui/state-reading/StateReaderControllers.d.ts.map +1 -1
- package/dist/presentation/tui/state-reading/useGoalContext.d.ts +4 -0
- package/dist/presentation/tui/state-reading/useGoalContext.d.ts.map +1 -0
- package/dist/presentation/tui/state-reading/useGoalContext.js +17 -0
- package/dist/presentation/tui/state-reading/useGoalContext.js.map +1 -0
- package/dist/presentation/tui/state-reading/useGoalsList.d.ts +1 -1
- package/dist/presentation/tui/state-reading/useGoalsList.d.ts.map +1 -1
- package/dist/presentation/tui/state-reading/useGoalsList.js +1 -1
- package/dist/presentation/tui/state-reading/useGoalsList.js.map +1 -1
- package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts.map +1 -1
- package/dist/presentation/tui/ui-primitives/KeyBadge.js +2 -1
- package/dist/presentation/tui/ui-primitives/KeyBadge.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,94 +1,63 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
2
|
import { Box, Text, useInput } from "ink";
|
|
3
3
|
import { SemanticColors } from "../../../shared/DesignTokens.js";
|
|
4
4
|
import { KeyBadge } from "../../ui-primitives/KeyBadge.js";
|
|
5
|
-
import {
|
|
6
|
-
import { EntityColumn } from "./EntityColumn.js";
|
|
5
|
+
import { HorizontalRule } from "../../ui-primitives/HorizontalRule.js";
|
|
7
6
|
import { EntityDetailView } from "./EntityDetailView.js";
|
|
8
|
-
const
|
|
9
|
-
const DETAIL_WIDTH = 78;
|
|
10
|
-
const LOADING_ENTRY_ID = "loading";
|
|
7
|
+
const EMPTY_POSITION_INDICATOR = "0/0";
|
|
11
8
|
const MEMORY_ENTITY_SCREEN_COPY = {
|
|
12
|
-
|
|
9
|
+
showingLabel: "Showing:",
|
|
10
|
+
scrollBadge: "↑↓",
|
|
13
11
|
loadingPrefix: "Loading",
|
|
14
|
-
|
|
15
|
-
eventReplayTitle: "Event Replay",
|
|
16
|
-
actionHintsTitle: "Action Hints",
|
|
17
|
-
currentStatePrefix: "Current state",
|
|
18
|
-
eventLabel: "event",
|
|
19
|
-
eventReplayEvents: [
|
|
20
|
-
"Loaded entity read model",
|
|
21
|
-
"Selected entity row",
|
|
22
|
-
"Rendered projected detail view",
|
|
23
|
-
],
|
|
24
|
-
actionHints: {
|
|
25
|
-
select: "select",
|
|
26
|
-
previousEvent: "previous event",
|
|
27
|
-
nextEvent: "next event",
|
|
28
|
-
},
|
|
12
|
+
emptySuffix: "available",
|
|
29
13
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
14
|
+
export function MemoryEntityScreen({ entityType, title, rows, loading = false, error = null, shortcutsEnabled = true, }) {
|
|
15
|
+
const [focusedIndex, setFocusedIndex] = useState(0);
|
|
16
|
+
const focusedEntity = rows[focusedIndex] ?? rows[0];
|
|
17
|
+
const positionIndicator = focusedEntity === undefined
|
|
18
|
+
? EMPTY_POSITION_INDICATOR
|
|
19
|
+
: `${Math.min(focusedIndex, rows.length - 1) + 1}/${rows.length}`;
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
setFocusedIndex((currentIndex) => {
|
|
22
|
+
if (rows.length === 0) {
|
|
23
|
+
return 0;
|
|
24
|
+
}
|
|
25
|
+
return Math.min(currentIndex, rows.length - 1);
|
|
26
|
+
});
|
|
27
|
+
}, [rows.length]);
|
|
28
|
+
useInput((_input, key) => {
|
|
29
|
+
if (rows.length === 0) {
|
|
40
30
|
return;
|
|
41
31
|
}
|
|
42
|
-
if (key.upArrow
|
|
43
|
-
|
|
32
|
+
if (key.upArrow) {
|
|
33
|
+
setFocusedIndex((currentIndex) => wrapIndex(currentIndex - 1, rows.length));
|
|
44
34
|
return;
|
|
45
35
|
}
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (input === "[") {
|
|
51
|
-
const nextEventIndex = eventIndex === 0 ? MEMORY_REPLAY_EVENTS.length - 1 : eventIndex - 1;
|
|
52
|
-
setEventIndex(nextEventIndex);
|
|
36
|
+
if (key.downArrow) {
|
|
37
|
+
setFocusedIndex((currentIndex) => wrapIndex(currentIndex + 1, rows.length));
|
|
53
38
|
}
|
|
54
39
|
}, { isActive: shortcutsEnabled });
|
|
55
|
-
return (React.createElement(Box, { flexDirection: "column",
|
|
56
|
-
React.createElement(Box, { flexDirection: "column" },
|
|
57
|
-
React.createElement(Text, { color: SemanticColors.
|
|
58
|
-
React.createElement(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
React.createElement(Text, { color: SemanticColors.primary },
|
|
77
|
-
MEMORY_ENTITY_SCREEN_COPY.currentStatePrefix,
|
|
78
|
-
":",
|
|
79
|
-
" ",
|
|
80
|
-
MEMORY_ENTITY_SCREEN_COPY.eventLabel,
|
|
81
|
-
" ",
|
|
82
|
-
eventIndex + 1,
|
|
83
|
-
" of",
|
|
84
|
-
" ",
|
|
85
|
-
MEMORY_REPLAY_EVENTS.length),
|
|
86
|
-
React.createElement(Text, { color: SemanticColors.secondary }, MEMORY_REPLAY_EVENTS[eventIndex]))),
|
|
87
|
-
React.createElement(Panel, { title: MEMORY_ENTITY_SCREEN_COPY.actionHintsTitle },
|
|
88
|
-
React.createElement(Box, { gap: 2 },
|
|
89
|
-
React.createElement(KeyBadge, { char: "\u2191\u2193", label: MEMORY_ENTITY_SCREEN_COPY.actionHints.select }),
|
|
90
|
-
React.createElement(KeyBadge, { char: "[", label: MEMORY_ENTITY_SCREEN_COPY.actionHints.previousEvent }),
|
|
91
|
-
React.createElement(KeyBadge, { char: "]", label: MEMORY_ENTITY_SCREEN_COPY.actionHints.nextEvent })))));
|
|
40
|
+
return (React.createElement(Box, { flexDirection: "column", paddingTop: 1 },
|
|
41
|
+
React.createElement(Box, { flexDirection: "column", paddingX: 1 },
|
|
42
|
+
React.createElement(Text, { color: SemanticColors.h2, bold: true }, title),
|
|
43
|
+
React.createElement(Box, null,
|
|
44
|
+
React.createElement(Text, { color: SemanticColors.label },
|
|
45
|
+
MEMORY_ENTITY_SCREEN_COPY.showingLabel,
|
|
46
|
+
" "),
|
|
47
|
+
React.createElement(Text, { color: SemanticColors.primary }, positionIndicator),
|
|
48
|
+
React.createElement(KeyBadge, { char: MEMORY_ENTITY_SCREEN_COPY.scrollBadge }))),
|
|
49
|
+
React.createElement(HorizontalRule, { color: SemanticColors.label }),
|
|
50
|
+
React.createElement(Box, { flexDirection: "column", paddingX: 1 }, error !== null ? (React.createElement(Text, { color: SemanticColors.error }, error.message)) : loading && focusedEntity === undefined ? (React.createElement(Text, { color: SemanticColors.muted },
|
|
51
|
+
MEMORY_ENTITY_SCREEN_COPY.loadingPrefix,
|
|
52
|
+
" ",
|
|
53
|
+
title.toLowerCase())) : focusedEntity === undefined ? (React.createElement(Text, { color: SemanticColors.muted, italic: true },
|
|
54
|
+
"No ",
|
|
55
|
+
title.toLowerCase(),
|
|
56
|
+
" ",
|
|
57
|
+
MEMORY_ENTITY_SCREEN_COPY.emptySuffix)) : (React.createElement(EntityDetailView, { entityType: entityType, entity: focusedEntity, heading: labelForRow(entityType, focusedEntity) })))));
|
|
58
|
+
}
|
|
59
|
+
function wrapIndex(index, itemCount) {
|
|
60
|
+
return (index + itemCount) % itemCount;
|
|
92
61
|
}
|
|
93
62
|
function labelForRow(entityType, row) {
|
|
94
63
|
switch (entityType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryEntityScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/entity-browser/MemoryEntityScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryEntityScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/entity-browser/MemoryEntityScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidelinesScreen.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/guidelines/GuidelinesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"GuidelinesScreen.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/guidelines/GuidelinesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,gBAAuB,EAAE,GAAE,qBAA0B,GACtD,KAAK,CAAC,YAAY,CAapB"}
|
|
@@ -3,11 +3,10 @@ import { MemoryEntityScreen } from "../entity-browser/MemoryEntityScreen.js";
|
|
|
3
3
|
import { useGuidelinesList } from "../../state-reading/useGuidelinesList.js";
|
|
4
4
|
const GUIDELINES_SCREEN_COPY = {
|
|
5
5
|
title: "Guidelines",
|
|
6
|
-
subtitle: "Focused guideline memory list and selected guideline detail",
|
|
7
6
|
};
|
|
8
7
|
export function GuidelinesScreen({ shortcutsEnabled = true } = {}) {
|
|
9
8
|
const guidelinesList = useGuidelinesList();
|
|
10
|
-
return (React.createElement(MemoryEntityScreen, { entityType: "guideline", title: GUIDELINES_SCREEN_COPY.title,
|
|
9
|
+
return (React.createElement(MemoryEntityScreen, { entityType: "guideline", title: GUIDELINES_SCREEN_COPY.title, rows: (guidelinesList.data?.guidelines ?? []).map(toGuidelineEntityRow), loading: guidelinesList.loading, error: guidelinesList.error, shortcutsEnabled: shortcutsEnabled }));
|
|
11
10
|
}
|
|
12
11
|
function toGuidelineEntityRow(guideline) {
|
|
13
12
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidelinesScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/guidelines/GuidelinesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"GuidelinesScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/guidelines/GuidelinesScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,YAAY;CACX,CAAC;AAMX,MAAM,UAAU,gBAAgB,CAC9B,EAAE,gBAAgB,GAAG,IAAI,KAA4B,EAAE;IAEvD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,CACL,oBAAC,kBAAkB,IACjB,UAAU,EAAC,WAAW,EACtB,KAAK,EAAE,sBAAsB,CAAC,KAAK,EACnC,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EACvE,OAAO,EAAE,cAAc,CAAC,OAAO,EAC/B,KAAK,EAAE,cAAc,CAAC,KAAK,EAC3B,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAwB;IACpD,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,WAAW;QACzB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvariantsScreen.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/invariants/InvariantsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InvariantsScreen.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/invariants/InvariantsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,gBAAuB,EAAE,GAAE,qBAA0B,GACtD,KAAK,CAAC,YAAY,CAapB"}
|
|
@@ -3,11 +3,10 @@ import { MemoryEntityScreen } from "../entity-browser/MemoryEntityScreen.js";
|
|
|
3
3
|
import { useInvariantsList } from "../../state-reading/useInvariantsList.js";
|
|
4
4
|
const INVARIANTS_SCREEN_COPY = {
|
|
5
5
|
title: "Invariants",
|
|
6
|
-
subtitle: "Focused invariant memory list and selected invariant detail",
|
|
7
6
|
};
|
|
8
7
|
export function InvariantsScreen({ shortcutsEnabled = true } = {}) {
|
|
9
8
|
const invariantsList = useInvariantsList();
|
|
10
|
-
return (React.createElement(MemoryEntityScreen, { entityType: "invariant", title: INVARIANTS_SCREEN_COPY.title,
|
|
9
|
+
return (React.createElement(MemoryEntityScreen, { entityType: "invariant", title: INVARIANTS_SCREEN_COPY.title, rows: (invariantsList.data?.invariants ?? []).map(toInvariantEntityRow), loading: invariantsList.loading, error: invariantsList.error, shortcutsEnabled: shortcutsEnabled }));
|
|
11
10
|
}
|
|
12
11
|
function toInvariantEntityRow(invariant) {
|
|
13
12
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvariantsScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/invariants/InvariantsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"InvariantsScreen.js","sourceRoot":"","sources":["../../../../../src/presentation/tui/memory/invariants/InvariantsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAG7E,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,YAAY;CACX,CAAC;AAMX,MAAM,UAAU,gBAAgB,CAC9B,EAAE,gBAAgB,GAAG,IAAI,KAA4B,EAAE;IAEvD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO,CACL,oBAAC,kBAAkB,IACjB,UAAU,EAAC,WAAW,EACtB,KAAK,EAAE,sBAAsB,CAAC,KAAK,EACnC,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EACvE,OAAO,EAAE,cAAc,CAAC,OAAO,EAC/B,KAAK,EAAE,cAAc,CAAC,KAAK,EAC3B,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAwB;IACpD,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,WAAW;QACzB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import type { GoalStatusType } from "../../../domain/goals/Constants.js";
|
|
2
3
|
interface MegaMenuProps {
|
|
3
4
|
activeScreenIndex: number;
|
|
4
|
-
onScreenSelect: (
|
|
5
|
+
onScreenSelect: (selection: MegaMenuScreenSelection) => void;
|
|
5
6
|
onClose: () => void;
|
|
6
7
|
terminalWidth: number;
|
|
7
8
|
}
|
|
9
|
+
export interface MegaMenuScreenSelection {
|
|
10
|
+
readonly screenIndex: number;
|
|
11
|
+
readonly goalStatusFilter?: readonly GoalStatusType[];
|
|
12
|
+
}
|
|
8
13
|
export declare function MegaMenu({ activeScreenIndex, onScreenSelect, onClose, terminalWidth, }: MegaMenuProps): React.ReactElement;
|
|
9
14
|
export {};
|
|
10
15
|
//# sourceMappingURL=MegaMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MegaMenu.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgBxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,UAAU,aAAa;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,CAAC,SAAS,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACvD;AAmJD,wBAAgB,QAAQ,CAAC,EACvB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,aAAa,GACd,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA2IpC"}
|
|
@@ -54,6 +54,17 @@ function getItemsAtLevel(level, highlightedIndices) {
|
|
|
54
54
|
}
|
|
55
55
|
return items;
|
|
56
56
|
}
|
|
57
|
+
function getRenderedLevels(highlightedIndices) {
|
|
58
|
+
const levels = [];
|
|
59
|
+
for (let level = 0; level < MAX_MENU_DEPTH; level += 1) {
|
|
60
|
+
const items = getItemsAtLevel(level, highlightedIndices);
|
|
61
|
+
if (items.length === 0) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
levels.push(level);
|
|
65
|
+
}
|
|
66
|
+
return levels;
|
|
67
|
+
}
|
|
57
68
|
function MenuColumn({ items, highlightedIndex, activeLevel, columnLevel, activeScreenIndex, }) {
|
|
58
69
|
const isActiveColumn = columnLevel === activeLevel;
|
|
59
70
|
const activeScreenKey = activeScreenKeyForIndex(activeScreenIndex);
|
|
@@ -95,7 +106,12 @@ export function MegaMenu({ activeScreenIndex, onScreenSelect, onClose, terminalW
|
|
|
95
106
|
if (highlightedItem?.screenKey) {
|
|
96
107
|
const screenIndex = screenIndexForKey(highlightedItem.screenKey);
|
|
97
108
|
if (screenIndex >= 0) {
|
|
98
|
-
onScreenSelect(
|
|
109
|
+
onScreenSelect(highlightedItem.goalStatusFilter === undefined
|
|
110
|
+
? { screenIndex }
|
|
111
|
+
: {
|
|
112
|
+
screenIndex,
|
|
113
|
+
goalStatusFilter: highlightedItem.goalStatusFilter,
|
|
114
|
+
});
|
|
99
115
|
}
|
|
100
116
|
return;
|
|
101
117
|
}
|
|
@@ -146,15 +162,12 @@ export function MegaMenu({ activeScreenIndex, onScreenSelect, onClose, terminalW
|
|
|
146
162
|
return;
|
|
147
163
|
}
|
|
148
164
|
});
|
|
149
|
-
|
|
165
|
+
const renderedLevels = getRenderedLevels(highlightedIndices);
|
|
166
|
+
return (React.createElement(Box, { flexDirection: "column", width: terminalWidth, backgroundColor: SemanticColors.surface, borderStyle: "single", borderColor: SemanticColors.muted, paddingX: 1 },
|
|
150
167
|
React.createElement(Box, { marginBottom: 1 },
|
|
151
168
|
React.createElement(Text, { color: SemanticColors.headline, bold: true }, MEGA_MENU_COPY.title)),
|
|
152
|
-
React.createElement(Box, null,
|
|
169
|
+
React.createElement(Box, null, renderedLevels.map((level) => {
|
|
153
170
|
const items = getItemsAtLevel(level, highlightedIndices);
|
|
154
|
-
if (items.length === 0) {
|
|
155
|
-
return (React.createElement(Box, { key: level, width: COLUMN_WIDTH },
|
|
156
|
-
React.createElement(Text, { color: SemanticColors.muted }, " ")));
|
|
157
|
-
}
|
|
158
171
|
return (React.createElement(React.Fragment, { key: level },
|
|
159
172
|
level > 0 && (React.createElement(Box, { marginX: 1 },
|
|
160
173
|
React.createElement(Text, { color: SemanticColors.muted }, TuiGlyphs.accentBar))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"MegaMenu.js","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAgBlC,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO;KACf;CACO,CAAC;AAEX,SAAS,iBAAiB,CAAC,SAAoB;IAC7C,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,uBAAuB,CAAC,iBAAyB;IACxD,OAAO,CACL,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAoC,EACpC,eAA0B;IAE1B,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAC9C,IAAI,KAAK,CAAC;AACb,CAAC;AAED,SAAS,2BAA2B,CAClC,eAA0B;IAE1B,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5D,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAChD,CAAC;IACF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACtD,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAC9C,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,eAAe,GACnB,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CACxC,qBAAqB,CAAC,UAAU,EAAE,eAAe,CAAC,CACnD,IAAI,CAAC,CAAC,CAAC;IAEV,OAAO;QACL,YAAY;QACZ,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;QAC/B,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,KAAa,EACb,kBAAqC;IAErC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,GAAgD,kBAAkB,CAAC;IAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,kBAAqC;IAErC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,GAOlB;IACC,MAAM,cAAc,GAAG,WAAW,KAAK,WAAW,CAAC;IACnD,MAAM,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IAEnE,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,YAAY,IAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,aAAa,GAAG,cAAc,IAAI,KAAK,KAAK,gBAAgB,CAAC;QACnE,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACrE,MAAM,WAAW,GACf,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAElE,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG;YAChB,oBAAC,IAAI,IACH,KAAK,EACH,aAAa;oBACX,CAAC,CAAC,UAAU,CAAC,SAAS;oBACtB,CAAC,CAAC,cAAc;wBACd,CAAC,CAAC,cAAc,CAAC,OAAO;wBACxB,CAAC,CAAC,cAAc,CAAC,KAAK,EAE5B,IAAI,EAAE,aAAa;gBAElB,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG;gBAAE,GAAG;gBAC7C,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,KAAK;gBACV,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1B,WAAW,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CACrD,CACH,CACP,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,aAAa,GACC;IACd,MAAM,eAAe,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IACnE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAE1D,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhD,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtE,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,eAAe,EAAE,SAAS,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;gBACjE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;oBACrB,cAAc,CACZ,eAAe,CAAC,gBAAgB,KAAK,SAAS;wBAC5C,CAAC,CAAC,EAAE,WAAW,EAAE;wBACjB,CAAC,CAAC;4BACE,WAAW;4BACX,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;yBACnD,CACN,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IACE,eAAe;gBACf,UAAU,IAAI,eAAe;gBAC7B,eAAe,CAAC,QAAQ;gBACxB,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACnC,WAAW,GAAG,cAAc,GAAG,CAAC,EAChC,CAAC;gBACD,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAA6B,CAAC;gBACnD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAA6B,CAAC;gBACnD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,IAAI,WAAW,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;IAEH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE7D,OAAO,CACL,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,cAAc,CAAC,OAAO,EACvC,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,cAAc,CAAC,KAAK,EACjC,QAAQ,EAAE,CAAC;QAEX,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,IAAI,UACvC,cAAc,CAAC,KAAK,CAChB,CACH;QACN,oBAAC,GAAG,QACD,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACzD,OAAO,CACL,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,KAAK;gBACvB,KAAK,GAAG,CAAC,IAAI,CACZ,oBAAC,GAAG,IAAC,OAAO,EAAE,CAAC;oBACb,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,KAAK,IAAG,SAAS,CAAC,SAAS,CAAQ,CAC3D,CACP;gBACD,oBAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAC3C,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,KAAK,EAClB,iBAAiB,EAAE,iBAAiB,GACpC,CACa,CAClB,CAAC;QACJ,CAAC,CAAC,CACE;QACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,KAAK;;gBAC3B,cAAc,CAAC,KAAK,CAAC,KAAK;;gBAAG,SAAS,CAAC,GAAG;gBAAE,GAAG;gBAClD,cAAc,CAAC,KAAK,CAAC,MAAM;;gBAAG,SAAS,CAAC,GAAG;;gBAAM,GAAG;gBACpD,WAAW,GAAG,CAAC;oBACd,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;oBAC3B,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CACzB,CACH,CACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
import type { ScreenKey } from "./ScreenDefinitions.js";
|
|
2
|
+
import type { GoalStatusType } from "../../../domain/goals/Constants.js";
|
|
2
3
|
export interface MegaMenuItem {
|
|
3
4
|
readonly key: string;
|
|
4
5
|
readonly label: string;
|
|
5
6
|
readonly screenKey?: ScreenKey;
|
|
7
|
+
readonly goalStatusFilter?: readonly GoalStatusType[];
|
|
6
8
|
readonly children?: readonly MegaMenuItem[];
|
|
7
9
|
}
|
|
8
10
|
export interface MegaMenuSection {
|
|
9
11
|
readonly key: string;
|
|
10
12
|
readonly label: string;
|
|
11
13
|
readonly screenKey?: ScreenKey;
|
|
14
|
+
readonly goalStatusFilter?: readonly GoalStatusType[];
|
|
12
15
|
readonly shortcut: string;
|
|
13
16
|
readonly children: readonly MegaMenuItem[];
|
|
14
17
|
}
|
|
18
|
+
export declare const MEGA_MENU_GOAL_STATUS_FILTERS: {
|
|
19
|
+
readonly backlog: readonly ["defined", "refined"];
|
|
20
|
+
readonly active: readonly ["doing", "blocked", "in-review"];
|
|
21
|
+
readonly archive: readonly ["done"];
|
|
22
|
+
readonly defined: readonly ["defined"];
|
|
23
|
+
readonly refined: readonly ["refined"];
|
|
24
|
+
readonly doing: readonly ["doing"];
|
|
25
|
+
readonly blocked: readonly ["blocked"];
|
|
26
|
+
readonly inReview: readonly ["in-review"];
|
|
27
|
+
readonly done: readonly ["done"];
|
|
28
|
+
};
|
|
15
29
|
export declare const MEGA_MENU_SECTIONS: readonly MegaMenuSection[];
|
|
16
30
|
export declare const MAX_MENU_DEPTH = 3;
|
|
17
31
|
//# sourceMappingURL=MegaMenuDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MegaMenuDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenuDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"MegaMenuDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/navigation/MegaMenuDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAkBD,eAAO,MAAM,6BAA6B;;;;;;;;;;CAUoB,CAAC;AAE/D,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAoH/C,CAAC;AAEX,eAAO,MAAM,cAAc,IAAI,CAAC"}
|