@gzeoneth/gov-tracker 0.2.1-alpha.cli-preview.a5817b4 → 0.2.1-alpha.cli-preview.552bbdb

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.
Files changed (139) hide show
  1. package/README.md +37 -3
  2. package/dist/abis.d.ts.map +1 -1
  3. package/dist/abis.js +22 -1
  4. package/dist/abis.js.map +1 -1
  5. package/dist/cli/cli.js +206 -12
  6. package/dist/cli/cli.js.map +1 -1
  7. package/dist/cli/lib/cli.d.ts +9 -1
  8. package/dist/cli/lib/cli.d.ts.map +1 -1
  9. package/dist/cli/lib/cli.js +80 -4
  10. package/dist/cli/lib/cli.js.map +1 -1
  11. package/dist/cli/tui/App.d.ts.map +1 -1
  12. package/dist/cli/tui/App.js +29 -23
  13. package/dist/cli/tui/App.js.map +1 -1
  14. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  15. package/dist/cli/tui/components/StageRow.js +31 -36
  16. package/dist/cli/tui/components/StageRow.js.map +1 -1
  17. package/dist/cli/tui/hooks/index.d.ts +4 -0
  18. package/dist/cli/tui/hooks/index.d.ts.map +1 -1
  19. package/dist/cli/tui/hooks/index.js +5 -1
  20. package/dist/cli/tui/hooks/index.js.map +1 -1
  21. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  22. package/dist/cli/tui/hooks/useCache.js +30 -33
  23. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  24. package/dist/cli/tui/hooks/useElectionData.d.ts +14 -0
  25. package/dist/cli/tui/hooks/useElectionData.d.ts.map +1 -0
  26. package/dist/cli/tui/hooks/useElectionData.js +86 -0
  27. package/dist/cli/tui/hooks/useElectionData.js.map +1 -0
  28. package/dist/cli/tui/hooks/useElectionDetails.d.ts +18 -0
  29. package/dist/cli/tui/hooks/useElectionDetails.d.ts.map +1 -0
  30. package/dist/cli/tui/hooks/useElectionDetails.js +47 -0
  31. package/dist/cli/tui/hooks/useElectionDetails.js.map +1 -0
  32. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  33. package/dist/cli/tui/hooks/useNavigation.js +65 -119
  34. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  35. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  36. package/dist/cli/tui/hooks/useProposals.js +56 -73
  37. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  38. package/dist/cli/tui/hooks/useTracker.d.ts.map +1 -1
  39. package/dist/cli/tui/hooks/useTracker.js +36 -41
  40. package/dist/cli/tui/hooks/useTracker.js.map +1 -1
  41. package/dist/cli/tui/utils/calldata-formatter.d.ts +17 -0
  42. package/dist/cli/tui/utils/calldata-formatter.d.ts.map +1 -0
  43. package/dist/cli/tui/utils/calldata-formatter.js +91 -0
  44. package/dist/cli/tui/utils/calldata-formatter.js.map +1 -0
  45. package/dist/cli/tui/utils/help-data.d.ts +15 -0
  46. package/dist/cli/tui/utils/help-data.d.ts.map +1 -0
  47. package/dist/cli/tui/utils/help-data.js +88 -0
  48. package/dist/cli/tui/utils/help-data.js.map +1 -0
  49. package/dist/cli/tui/utils/index.d.ts +11 -0
  50. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  51. package/dist/cli/tui/utils/index.js +24 -1
  52. package/dist/cli/tui/utils/index.js.map +1 -1
  53. package/dist/cli/tui/utils/markdown-parser.d.ts +11 -0
  54. package/dist/cli/tui/utils/markdown-parser.d.ts.map +1 -0
  55. package/dist/cli/tui/utils/markdown-parser.js +100 -0
  56. package/dist/cli/tui/utils/markdown-parser.js.map +1 -0
  57. package/dist/cli/tui/utils/proposal-detail-helpers.d.ts +17 -0
  58. package/dist/cli/tui/utils/proposal-detail-helpers.d.ts.map +1 -0
  59. package/dist/cli/tui/utils/proposal-detail-helpers.js +46 -0
  60. package/dist/cli/tui/utils/proposal-detail-helpers.js.map +1 -0
  61. package/dist/cli/tui/utils/settings-data.d.ts +36 -0
  62. package/dist/cli/tui/utils/settings-data.d.ts.map +1 -0
  63. package/dist/cli/tui/utils/settings-data.js +220 -0
  64. package/dist/cli/tui/utils/settings-data.js.map +1 -0
  65. package/dist/cli/tui/utils/stage-formatter.d.ts +13 -0
  66. package/dist/cli/tui/utils/stage-formatter.d.ts.map +1 -0
  67. package/dist/cli/tui/utils/stage-formatter.js +100 -0
  68. package/dist/cli/tui/utils/stage-formatter.js.map +1 -0
  69. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  70. package/dist/cli/tui/views/CalldataView.js +14 -85
  71. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  72. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  73. package/dist/cli/tui/views/DescriptionView.js +1 -85
  74. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  75. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  76. package/dist/cli/tui/views/ElectionView.js +269 -169
  77. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  78. package/dist/cli/tui/views/HelpView.d.ts.map +1 -1
  79. package/dist/cli/tui/views/HelpView.js +53 -122
  80. package/dist/cli/tui/views/HelpView.js.map +1 -1
  81. package/dist/cli/tui/views/ProposalDetail.d.ts.map +1 -1
  82. package/dist/cli/tui/views/ProposalDetail.js +35 -80
  83. package/dist/cli/tui/views/ProposalDetail.js.map +1 -1
  84. package/dist/cli/tui/views/ProposalList.d.ts.map +1 -1
  85. package/dist/cli/tui/views/ProposalList.js +92 -75
  86. package/dist/cli/tui/views/ProposalList.js.map +1 -1
  87. package/dist/cli/tui/views/SettingsView.d.ts.map +1 -1
  88. package/dist/cli/tui/views/SettingsView.js +37 -107
  89. package/dist/cli/tui/views/SettingsView.js.map +1 -1
  90. package/dist/cli/tui/views/SimulationView.d.ts.map +1 -1
  91. package/dist/cli/tui/views/SimulationView.js +3 -2
  92. package/dist/cli/tui/views/SimulationView.js.map +1 -1
  93. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  94. package/dist/cli/tui/views/StageView.js +7 -95
  95. package/dist/cli/tui/views/StageView.js.map +1 -1
  96. package/dist/deduplication.d.ts +132 -0
  97. package/dist/deduplication.d.ts.map +1 -0
  98. package/dist/deduplication.js +270 -0
  99. package/dist/deduplication.js.map +1 -0
  100. package/dist/election.d.ts +141 -1
  101. package/dist/election.d.ts.map +1 -1
  102. package/dist/election.js +505 -88
  103. package/dist/election.js.map +1 -1
  104. package/dist/index.d.ts +4 -2
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +27 -3
  107. package/dist/index.js.map +1 -1
  108. package/dist/stages/builder.d.ts +4 -0
  109. package/dist/stages/builder.d.ts.map +1 -1
  110. package/dist/stages/builder.js +7 -0
  111. package/dist/stages/builder.js.map +1 -1
  112. package/dist/stages/voting.d.ts.map +1 -1
  113. package/dist/stages/voting.js +5 -4
  114. package/dist/stages/voting.js.map +1 -1
  115. package/dist/tracker/discovery.d.ts +39 -8
  116. package/dist/tracker/discovery.d.ts.map +1 -1
  117. package/dist/tracker/discovery.js +141 -12
  118. package/dist/tracker/discovery.js.map +1 -1
  119. package/dist/tracker.d.ts +24 -4
  120. package/dist/tracker.d.ts.map +1 -1
  121. package/dist/tracker.js +57 -8
  122. package/dist/tracker.js.map +1 -1
  123. package/dist/types/core.d.ts +1 -1
  124. package/dist/types/core.d.ts.map +1 -1
  125. package/dist/types/election.d.ts +88 -0
  126. package/dist/types/election.d.ts.map +1 -1
  127. package/dist/types/index.d.ts +2 -2
  128. package/dist/types/index.d.ts.map +1 -1
  129. package/dist/types/index.js.map +1 -1
  130. package/dist/types/stages.d.ts +6 -0
  131. package/dist/types/stages.d.ts.map +1 -1
  132. package/dist/types/stages.js.map +1 -1
  133. package/dist/types/tracking.d.ts +27 -1
  134. package/dist/types/tracking.d.ts.map +1 -1
  135. package/dist/utils/timing.d.ts +13 -0
  136. package/dist/utils/timing.d.ts.map +1 -1
  137. package/dist/utils/timing.js +35 -0
  138. package/dist/utils/timing.js.map +1 -1
  139. package/package.json +1 -1
@@ -5,193 +5,293 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ElectionView = ElectionView;
7
7
  const ink_wrapper_js_1 = require("../ink-wrapper.js");
8
- const react_1 = require("react");
9
8
  const ViewLayout_js_1 = require("../components/ViewLayout.js");
10
- const election_js_1 = require("../../../election.js");
9
+ const ScrollIndicator_js_1 = require("../components/ScrollIndicator.js");
10
+ const index_js_1 = require("../utils/index.js");
11
+ const useElectionData_js_1 = require("../hooks/useElectionData.js");
12
+ const useElectionDetails_js_1 = require("../hooks/useElectionDetails.js");
13
+ const PHASE_COLORS = {
14
+ COMPLETED: "green",
15
+ MEMBER_ELECTION: "yellow",
16
+ NOMINEE_SELECTION: "yellow",
17
+ VETTING_PERIOD: "cyan",
18
+ PENDING_EXECUTION: "magenta",
19
+ NOT_STARTED: "gray",
20
+ };
21
+ const PHASE_ICONS = {
22
+ COMPLETED: "✓",
23
+ MEMBER_ELECTION: "●",
24
+ NOMINEE_SELECTION: "●",
25
+ VETTING_PERIOD: "◐",
26
+ PENDING_EXECUTION: "→",
27
+ NOT_STARTED: "○",
28
+ };
11
29
  function formatTimestamp(ts) {
12
30
  return new Date(ts * 1000).toLocaleString();
13
31
  }
14
- function PhaseIcon({ phase }) {
15
- switch (phase) {
16
- case "COMPLETED":
17
- return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "green" }, "\u2713");
18
- case "MEMBER_ELECTION":
19
- case "NOMINEE_SELECTION":
20
- return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "yellow" }, "\u25CF");
21
- case "VETTING_PERIOD":
22
- return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, "\u25D0");
23
- case "PENDING_EXECUTION":
24
- return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "magenta" }, "\u2192");
25
- default:
26
- return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "\u25CB");
32
+ function formatVotes(votes) {
33
+ const str = votes.toString();
34
+ const WEI_DECIMALS = 18;
35
+ if (str.length <= WEI_DECIMALS)
36
+ return str;
37
+ const intPart = str.slice(0, str.length - WEI_DECIMALS);
38
+ return intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
39
+ }
40
+ function buildStatusLines(status) {
41
+ const lines = [];
42
+ const cohortName = status.cohort === 0 ? "FIRST" : "SECOND";
43
+ lines.push({ text: "Security Council Election Status", bold: true });
44
+ lines.push({ text: ` Election Count: ${status.electionCount}` });
45
+ lines.push({ text: ` Current Cohort: ${cohortName}`, color: status.cohort === 0 ? "cyan" : "magenta" });
46
+ lines.push({ text: ` Can Create: ${status.canCreateElection ? "Yes" : "No"}`, color: status.canCreateElection ? "green" : "gray" });
47
+ if (!status.canCreateElection) {
48
+ lines.push({ text: ` Next Election: ${formatTimestamp(status.nextElectionTimestamp)} (${status.timeUntilElection})` });
49
+ }
50
+ lines.push({ text: "" });
51
+ return lines;
52
+ }
53
+ function buildListLines(proposals, selectedIndex) {
54
+ const lines = [];
55
+ for (let i = 0; i < proposals.length; i++) {
56
+ const election = proposals[i];
57
+ const isSelected = i === selectedIndex;
58
+ const icon = PHASE_ICONS[election.phase] ?? "○";
59
+ const phaseColor = PHASE_COLORS[election.phase] ?? "gray";
60
+ const prefix = isSelected ? "> " : " ";
61
+ const phaseName = election.phase.replace(/_/g, " ");
62
+ lines.push({
63
+ text: `${prefix}${icon} Election #${election.electionIndex} - ${phaseName}`,
64
+ color: isSelected ? "cyan" : phaseColor,
65
+ bold: isSelected,
66
+ });
67
+ if (isSelected) {
68
+ const cohortName = election.cohort === 0 ? "FIRST" : "SECOND";
69
+ lines.push({ text: ` Cohort: ${cohortName}`, color: "gray" });
70
+ if (election.nomineeProposalId) {
71
+ lines.push({ text: ` Nominee State: ${election.nomineeProposalState}`, color: "gray" });
72
+ }
73
+ if (election.memberProposalId) {
74
+ lines.push({ text: ` Member State: ${election.memberProposalState}`, color: "gray" });
75
+ }
76
+ const nomineeColor = election.compliantNomineeCount >= election.targetNomineeCount ? "green" : "yellow";
77
+ lines.push({
78
+ text: ` Compliant Nominees: ${election.compliantNomineeCount}/${election.targetNomineeCount}`,
79
+ color: nomineeColor,
80
+ });
81
+ if (election.isInVettingPeriod) {
82
+ lines.push({ text: ` In vetting period until block ${election.vettingDeadline}`, color: "cyan" });
83
+ }
84
+ if (election.canProceedToMemberPhase) {
85
+ lines.push({ text: " Ready to trigger member election!", color: "green" });
86
+ }
87
+ if (election.canExecuteMember) {
88
+ lines.push({ text: " Ready to execute member election!", color: "green" });
89
+ }
90
+ }
91
+ }
92
+ return lines;
93
+ }
94
+ function buildDetailLines(election, nomineeDetails, memberDetails) {
95
+ const lines = [];
96
+ const icon = PHASE_ICONS[election.phase] ?? "○";
97
+ const phaseColor = PHASE_COLORS[election.phase] ?? "gray";
98
+ const phaseName = election.phase.replace(/_/g, " ");
99
+ const cohortName = election.cohort === 0 ? "FIRST" : "SECOND";
100
+ lines.push({ text: `${icon} Election #${election.electionIndex} - ${phaseName}`, color: phaseColor, bold: true });
101
+ lines.push({ text: "" });
102
+ lines.push({ text: ` Cohort: ${cohortName}` });
103
+ if (election.nomineeProposalId) {
104
+ lines.push({ text: ` Nominee Proposal ID: ${election.nomineeProposalId}`, dimColor: true });
105
+ }
106
+ if (election.memberProposalId) {
107
+ lines.push({ text: ` Member Proposal ID: ${election.memberProposalId}`, dimColor: true });
108
+ }
109
+ if (nomineeDetails) {
110
+ lines.push({ text: "" });
111
+ lines.push({ text: " ── Nominee Phase ──", color: "cyan", bold: true });
112
+ lines.push({ text: ` Quorum: ${formatVotes(nomineeDetails.quorumThreshold)} votes` });
113
+ lines.push({ text: ` Target: ${nomineeDetails.targetNomineeCount} nominees needed` });
114
+ if (nomineeDetails.contenders.length > 0) {
115
+ lines.push({ text: "" });
116
+ lines.push({ text: ` Contenders (${nomineeDetails.contenders.length})`, color: "yellow" });
117
+ for (const contender of nomineeDetails.contenders.slice(0, 10)) {
118
+ lines.push({ text: ` ${contender.address} (block ${contender.registeredAtBlock})`, color: "gray" });
119
+ }
120
+ if (nomineeDetails.contenders.length > 10) {
121
+ lines.push({ text: ` ... and ${nomineeDetails.contenders.length - 10} more`, color: "gray" });
122
+ }
123
+ }
124
+ if (nomineeDetails.compliantNominees.length > 0) {
125
+ lines.push({ text: "" });
126
+ lines.push({ text: ` Qualified Nominees (${nomineeDetails.compliantNominees.length})`, color: "green" });
127
+ for (const nominee of nomineeDetails.compliantNominees.slice(0, 10)) {
128
+ lines.push({ text: ` ${nominee.address} ${formatVotes(nominee.votesReceived)} votes`, color: "gray" });
129
+ }
130
+ if (nomineeDetails.compliantNominees.length > 10) {
131
+ lines.push({ text: ` ... and ${nomineeDetails.compliantNominees.length - 10} more`, color: "gray" });
132
+ }
133
+ }
134
+ if (nomineeDetails.excludedNominees.length > 0) {
135
+ lines.push({ text: "" });
136
+ lines.push({ text: ` Excluded (${nomineeDetails.excludedNominees.length})`, color: "red" });
137
+ for (const nominee of nomineeDetails.excludedNominees.slice(0, 5)) {
138
+ lines.push({ text: ` ${nominee.address} (excluded)`, color: "gray" });
139
+ }
140
+ if (nomineeDetails.excludedNominees.length > 5) {
141
+ lines.push({ text: ` ... and ${nomineeDetails.excludedNominees.length - 5} more`, color: "gray" });
142
+ }
143
+ }
144
+ }
145
+ if (memberDetails) {
146
+ lines.push({ text: "" });
147
+ lines.push({ text: " ── Member Phase ──", color: "magenta", bold: true });
148
+ lines.push({ text: ` Full Weight Deadline: block ${memberDetails.fullWeightDeadline}` });
149
+ lines.push({ text: ` Proposal Deadline: block ${memberDetails.proposalDeadline}` });
150
+ if (memberDetails.nominees.length > 0) {
151
+ lines.push({ text: "" });
152
+ lines.push({ text: ` Candidates by Weight (${memberDetails.nominees.length})`, color: "yellow" });
153
+ for (const nominee of memberDetails.nominees.slice(0, 12)) {
154
+ const rank = `#${nominee.rank.toString().padStart(2)}`;
155
+ const winner = nominee.isWinner ? " [WINNER]" : "";
156
+ const color = nominee.isWinner ? "green" : "gray";
157
+ lines.push({ text: ` ${rank} ${nominee.address} ${formatVotes(nominee.weightReceived)}${winner}`, color });
158
+ }
159
+ if (memberDetails.nominees.length > 12) {
160
+ lines.push({ text: ` ... and ${memberDetails.nominees.length - 12} more`, color: "gray" });
161
+ }
162
+ }
163
+ if (memberDetails.winners.length > 0) {
164
+ lines.push({ text: "" });
165
+ lines.push({ text: ` Elected Members (${memberDetails.winners.length})`, color: "green" });
166
+ for (const winner of memberDetails.winners) {
167
+ lines.push({ text: ` ✓ ${winner}`, color: "green" });
168
+ }
169
+ }
170
+ }
171
+ return lines;
172
+ }
173
+ const RESERVED_LINES = 8;
174
+ const PAGE_SIZE = 10;
175
+ function clamp(value, min, max) {
176
+ return Math.max(min, Math.min(max, value));
177
+ }
178
+ function getNavigationAction(input, key) {
179
+ if (key.upArrow || input === "k")
180
+ return "up";
181
+ if (key.downArrow || input === "j")
182
+ return "down";
183
+ if (key.pageUp || (key.ctrl && input === "u"))
184
+ return "pageUp";
185
+ if (key.pageDown || (key.ctrl && input === "d"))
186
+ return "pageDown";
187
+ if (input === "g")
188
+ return "top";
189
+ if (input === "G")
190
+ return "bottom";
191
+ return null;
192
+ }
193
+ function applyNavigation(current, action, max) {
194
+ switch (action) {
195
+ case "up": return clamp(current - 1, 0, max);
196
+ case "down": return clamp(current + 1, 0, max);
197
+ case "pageUp": return clamp(current - PAGE_SIZE, 0, max);
198
+ case "pageDown": return clamp(current + PAGE_SIZE, 0, max);
199
+ case "top": return 0;
200
+ case "bottom": return max;
201
+ default: return current;
27
202
  }
28
203
  }
29
204
  function ElectionView({ navigation, providers }) {
30
- const [data, setData] = (0, react_1.useState)({
31
- status: null,
32
- proposals: [],
33
- loading: true,
34
- error: null,
35
- warning: null,
36
- });
37
- const [selectedIndex, setSelectedIndex] = (0, react_1.useState)(0);
38
- // Reset selection when proposals change to avoid out-of-bounds index
39
- (0, react_1.useEffect)(() => {
205
+ const data = (0, useElectionData_js_1.useElectionData)(providers);
206
+ const { details, loadDetails, clearDetails } = (0, useElectionDetails_js_1.useElectionDetails)(providers);
207
+ const [selectedIndex, setSelectedIndex] = (0, ink_wrapper_js_1.useState)(0);
208
+ const [showDetails, setShowDetails] = (0, ink_wrapper_js_1.useState)(false);
209
+ const [scrollOffset, setScrollOffset] = (0, ink_wrapper_js_1.useState)(0);
210
+ (0, ink_wrapper_js_1.useEffect)(() => {
40
211
  setSelectedIndex(0);
41
- }, [data.proposals.length]);
42
- (0, react_1.useEffect)(() => {
43
- if (!providers) {
44
- setData({
45
- status: null,
46
- proposals: [],
47
- loading: false,
48
- error: "RPC providers required. Use --l2-rpc and --l1-rpc options.",
49
- warning: null,
50
- });
51
- return;
212
+ setShowDetails(false);
213
+ setScrollOffset(0);
214
+ clearDetails();
215
+ }, [data.proposals.length, clearDetails]);
216
+ const selectedElection = data.proposals[selectedIndex];
217
+ const lines = (0, ink_wrapper_js_1.useMemo)(() => {
218
+ const result = [];
219
+ const selected = data.proposals[selectedIndex];
220
+ if (data.status) {
221
+ result.push(...buildStatusLines(data.status));
222
+ }
223
+ const headerText = showDetails ? "Recent Elections • Press b to go back" : "Recent Elections • Press Enter for details";
224
+ result.push({ text: headerText, bold: true });
225
+ result.push({ text: "" });
226
+ if (data.proposals.length === 0) {
227
+ result.push({ text: " No elections found", color: "gray" });
228
+ }
229
+ else if (showDetails && selected) {
230
+ if (details.loading) {
231
+ result.push({ text: " Loading election details...", color: "cyan" });
232
+ }
233
+ else if (details.error) {
234
+ result.push({ text: ` Error: ${details.error}`, color: "red" });
235
+ }
236
+ else {
237
+ result.push(...buildDetailLines(selected, details.nomineeDetails, details.memberDetails));
238
+ }
239
+ }
240
+ else {
241
+ result.push(...buildListLines(data.proposals, selectedIndex));
52
242
  }
53
- let cancelled = false;
54
- const loadElectionData = async () => {
55
- try {
56
- setData((prev) => ({ ...prev, loading: true, error: null }));
57
- const status = await (0, election_js_1.checkElectionStatus)(providers.l2Provider, providers.l1Provider);
58
- if (cancelled)
59
- return;
60
- const proposals = [];
61
- let failedCount = 0;
62
- if (status.electionCount > 0) {
63
- const startIndex = Math.max(1, status.electionCount - 2);
64
- for (let i = status.electionCount; i >= startIndex; i--) {
65
- if (cancelled)
66
- return;
67
- try {
68
- const proposal = await (0, election_js_1.trackElectionProposal)(i, providers.l2Provider, providers.l1Provider);
69
- proposals.push(proposal);
70
- }
71
- catch {
72
- failedCount++;
73
- }
74
- }
75
- }
76
- if (!cancelled) {
77
- setData({
78
- status,
79
- proposals,
80
- loading: false,
81
- error: failedCount > 0 && proposals.length === 0
82
- ? `Failed to load ${failedCount} election(s)`
83
- : null,
84
- warning: failedCount > 0 && proposals.length > 0
85
- ? `Loaded ${proposals.length} election(s), ${failedCount} failed`
86
- : null,
87
- });
88
- }
89
- }
90
- catch (err) {
91
- if (!cancelled) {
92
- setData({
93
- status: null,
94
- proposals: [],
95
- loading: false,
96
- error: err instanceof Error ? err.message : String(err),
97
- warning: null,
98
- });
99
- }
100
- }
101
- };
102
- loadElectionData();
103
- return () => {
104
- cancelled = true;
105
- };
106
- }, [providers]);
243
+ return result;
244
+ }, [data.status, data.proposals, selectedIndex, showDetails, details]);
245
+ const visibleCount = (0, index_js_1.getVisibleRows)(RESERVED_LINES);
246
+ const visibleLines = lines.slice(scrollOffset, scrollOffset + visibleCount);
247
+ const hasMore = scrollOffset + visibleCount < lines.length;
248
+ const hasLess = scrollOffset > 0;
107
249
  (0, ink_wrapper_js_1.useInput)((input, key) => {
108
250
  if (input === "b" || key.escape) {
109
- navigation.back();
110
- }
111
- else if (key.upArrow || input === "k") {
112
- setSelectedIndex((prev) => Math.max(0, prev - 1));
251
+ if (showDetails) {
252
+ setShowDetails(false);
253
+ setScrollOffset(0);
254
+ clearDetails();
255
+ }
256
+ else {
257
+ navigation.back();
258
+ }
259
+ return;
113
260
  }
114
- else if ((key.downArrow || input === "j") && data.proposals.length > 0) {
115
- setSelectedIndex((prev) => Math.min(data.proposals.length - 1, prev + 1));
261
+ if (input === "?") {
262
+ navigation.goToHelp();
263
+ return;
116
264
  }
117
- else if (input === "g") {
118
- setSelectedIndex(0);
265
+ const action = getNavigationAction(input, key);
266
+ if (showDetails) {
267
+ const maxOffset = Math.max(0, lines.length - visibleCount);
268
+ if (action) {
269
+ setScrollOffset((prev) => applyNavigation(prev, action, maxOffset));
270
+ }
271
+ return;
119
272
  }
120
- else if (input === "G" && data.proposals.length > 0) {
121
- setSelectedIndex(data.proposals.length - 1);
273
+ if (data.proposals.length === 0)
274
+ return;
275
+ const maxIndex = data.proposals.length - 1;
276
+ if (action) {
277
+ setSelectedIndex((prev) => applyNavigation(prev, action, maxIndex));
278
+ return;
122
279
  }
123
- else if (input === "?") {
124
- navigation.goToHelp();
280
+ if ((key.return || input === "l") && selectedElection && providers) {
281
+ setShowDetails(true);
282
+ setScrollOffset(0);
283
+ loadDetails(selectedElection.electionIndex);
125
284
  }
126
285
  });
127
- const { status, proposals, warning } = data;
128
- return (ink_wrapper_js_1.React.createElement(ViewLayout_js_1.ViewLayout, { view: "election", hasProviders: !!providers, isTracking: data.loading, loading: data.loading, loadingText: "Loading election status...", skeletonType: "detail", error: data.error },
129
- warning && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
286
+ return (ink_wrapper_js_1.React.createElement(ViewLayout_js_1.ViewLayout, { view: "election", hasProviders: !!providers, isTracking: data.loading || details.loading, loading: data.loading, loadingText: "Loading election status...", skeletonType: "detail", error: data.error },
287
+ data.warning && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
130
288
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "yellow" },
131
289
  "[Warning] ",
132
- warning))),
133
- status && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginBottom: 1 },
134
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true }, "Security Council Election Status"),
135
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginLeft: 1, flexDirection: "column" },
136
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
137
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Election Count: "),
138
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, status.electionCount)),
139
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
140
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Current Cohort: "),
141
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: status.cohort === 0 ? "cyan" : "magenta" }, status.cohort === 0 ? "FIRST" : "SECOND")),
142
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
143
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Can Create Election: "),
144
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: status.canCreateElection ? "green" : "gray" }, status.canCreateElection ? "Yes" : "No")),
145
- !status.canCreateElection && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
146
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Next Election: "),
147
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, formatTimestamp(status.nextElectionTimestamp)),
148
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
149
- " (",
150
- status.timeUntilElection,
151
- ")")))))),
152
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column" },
153
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true }, "Recent Elections"),
154
- proposals.length === 0 ? (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray", marginLeft: 1 }, "No elections found")) : (proposals.map((election, i) => (ink_wrapper_js_1.React.createElement(ElectionItem, { key: election.electionIndex, election: election, isSelected: i === selectedIndex })))))));
155
- }
156
- function getPhaseColor(phase) {
157
- if (phase === "COMPLETED")
158
- return "green";
159
- if (phase === "NOT_STARTED")
160
- return "gray";
161
- return "yellow";
162
- }
163
- function ElectionItem({ election, isSelected }) {
164
- return (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginLeft: 1, flexDirection: "column" },
165
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
166
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: isSelected ? "cyan" : undefined }, isSelected ? "> " : " "),
167
- ink_wrapper_js_1.React.createElement(PhaseIcon, { phase: election.phase }),
168
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, " "),
169
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: isSelected ? "cyan" : undefined, bold: isSelected },
170
- "Election #",
171
- election.electionIndex),
172
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, " - "),
173
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: getPhaseColor(election.phase) }, election.phase.replace(/_/g, " "))),
174
- isSelected && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginLeft: 4, flexDirection: "column" },
175
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
176
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Cohort: "),
177
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, election.cohort === 0 ? "FIRST" : "SECOND")),
178
- election.nomineeProposalId && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
179
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Nominee State: "),
180
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, election.nomineeProposalState))),
181
- election.memberProposalId && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
182
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Member State: "),
183
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, election.memberProposalState))),
184
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
185
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Compliant Nominees: "),
186
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: election.compliantNomineeCount >= election.targetNomineeCount ? "green" : "yellow" },
187
- election.compliantNomineeCount,
188
- "/",
189
- election.targetNomineeCount)),
190
- election.isInVettingPeriod && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
191
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" },
192
- "In vetting period until block ",
193
- election.vettingDeadline))),
194
- election.canProceedToMemberPhase && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
195
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "green" }, "Ready to trigger member election!")))))));
290
+ data.warning))),
291
+ lines.length > visibleCount && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
292
+ ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollPosition, { scrollOffset: scrollOffset, visibleRows: visibleCount, totalItems: lines.length }))),
293
+ hasLess && ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollIndicatorTop, { scrollOffset: scrollOffset, unit: "lines" }),
294
+ visibleLines.map((line, i) => (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { key: i, color: line.color, bold: line.bold, dimColor: line.dimColor }, line.text))),
295
+ hasMore && (ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollIndicatorBottom, { scrollOffset: scrollOffset, visibleRows: visibleCount, totalItems: lines.length, unit: "lines" }))));
196
296
  }
197
297
  //# sourceMappingURL=ElectionView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElectionView.js","sourceRoot":"","sources":["../../../../src/cli/tui/views/ElectionView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ElectionView.js","sourceRoot":"","sources":["../../../../src/cli/tui/views/ElectionView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpView.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/HelpView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,UAAU,aAAa;IACrB,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAmFD,wBAAgB,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAwG1E"}
1
+ {"version":3,"file":"HelpView.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/HelpView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAQ7D,UAAU,aAAa;IACrB,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAyCD,wBAAgB,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAgF1E"}