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

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 (171) hide show
  1. package/dist/cli/cli.js +23 -5
  2. package/dist/cli/cli.js.map +1 -1
  3. package/dist/cli/lib/cli.d.ts.map +1 -1
  4. package/dist/cli/lib/cli.js +27 -5
  5. package/dist/cli/lib/cli.js.map +1 -1
  6. package/dist/cli/tui/App.d.ts.map +1 -1
  7. package/dist/cli/tui/App.js +60 -6
  8. package/dist/cli/tui/App.js.map +1 -1
  9. package/dist/cli/tui/components/CollapsibleSection.d.ts +20 -0
  10. package/dist/cli/tui/components/CollapsibleSection.d.ts.map +1 -0
  11. package/dist/cli/tui/components/CollapsibleSection.js +29 -0
  12. package/dist/cli/tui/components/CollapsibleSection.js.map +1 -0
  13. package/dist/cli/tui/components/ConfirmDialog.d.ts +14 -0
  14. package/dist/cli/tui/components/ConfirmDialog.d.ts.map +1 -0
  15. package/dist/cli/tui/components/ConfirmDialog.js +29 -0
  16. package/dist/cli/tui/components/ConfirmDialog.js.map +1 -0
  17. package/dist/cli/tui/components/CopyableText.d.ts +23 -0
  18. package/dist/cli/tui/components/CopyableText.d.ts.map +1 -0
  19. package/dist/cli/tui/components/CopyableText.js +49 -0
  20. package/dist/cli/tui/components/CopyableText.js.map +1 -0
  21. package/dist/cli/tui/components/EmptyState.d.ts +11 -0
  22. package/dist/cli/tui/components/EmptyState.d.ts.map +1 -0
  23. package/dist/cli/tui/components/EmptyState.js +34 -0
  24. package/dist/cli/tui/components/EmptyState.js.map +1 -0
  25. package/dist/cli/tui/components/ErrorDisplay.d.ts +17 -0
  26. package/dist/cli/tui/components/ErrorDisplay.d.ts.map +1 -0
  27. package/dist/cli/tui/components/ErrorDisplay.js +66 -0
  28. package/dist/cli/tui/components/ErrorDisplay.js.map +1 -0
  29. package/dist/cli/tui/components/Header.d.ts +4 -2
  30. package/dist/cli/tui/components/Header.d.ts.map +1 -1
  31. package/dist/cli/tui/components/Header.js +20 -4
  32. package/dist/cli/tui/components/Header.js.map +1 -1
  33. package/dist/cli/tui/components/KeyHelp.d.ts +11 -2
  34. package/dist/cli/tui/components/KeyHelp.d.ts.map +1 -1
  35. package/dist/cli/tui/components/KeyHelp.js +63 -9
  36. package/dist/cli/tui/components/KeyHelp.js.map +1 -1
  37. package/dist/cli/tui/components/ProposalRow.d.ts.map +1 -1
  38. package/dist/cli/tui/components/ProposalRow.js +46 -6
  39. package/dist/cli/tui/components/ProposalRow.js.map +1 -1
  40. package/dist/cli/tui/components/ScrollIndicator.d.ts +26 -0
  41. package/dist/cli/tui/components/ScrollIndicator.d.ts.map +1 -0
  42. package/dist/cli/tui/components/ScrollIndicator.js +59 -0
  43. package/dist/cli/tui/components/ScrollIndicator.js.map +1 -0
  44. package/dist/cli/tui/components/SearchBar.d.ts +12 -0
  45. package/dist/cli/tui/components/SearchBar.d.ts.map +1 -0
  46. package/dist/cli/tui/components/SearchBar.js +36 -0
  47. package/dist/cli/tui/components/SearchBar.js.map +1 -0
  48. package/dist/cli/tui/components/Skeleton.d.ts +22 -0
  49. package/dist/cli/tui/components/Skeleton.d.ts.map +1 -0
  50. package/dist/cli/tui/components/Skeleton.js +35 -0
  51. package/dist/cli/tui/components/Skeleton.js.map +1 -0
  52. package/dist/cli/tui/components/Spinner.d.ts +10 -0
  53. package/dist/cli/tui/components/Spinner.d.ts.map +1 -0
  54. package/dist/cli/tui/components/Spinner.js +24 -0
  55. package/dist/cli/tui/components/Spinner.js.map +1 -0
  56. package/dist/cli/tui/components/StageProgress.d.ts +12 -0
  57. package/dist/cli/tui/components/StageProgress.d.ts.map +1 -0
  58. package/dist/cli/tui/components/StageProgress.js +72 -0
  59. package/dist/cli/tui/components/StageProgress.js.map +1 -0
  60. package/dist/cli/tui/components/StageRow.d.ts.map +1 -1
  61. package/dist/cli/tui/components/StageRow.js +33 -10
  62. package/dist/cli/tui/components/StageRow.js.map +1 -1
  63. package/dist/cli/tui/components/StatusBar.d.ts +12 -0
  64. package/dist/cli/tui/components/StatusBar.d.ts.map +1 -0
  65. package/dist/cli/tui/components/StatusBar.js +14 -0
  66. package/dist/cli/tui/components/StatusBar.js.map +1 -0
  67. package/dist/cli/tui/components/Timeline.d.ts +12 -0
  68. package/dist/cli/tui/components/Timeline.d.ts.map +1 -0
  69. package/dist/cli/tui/components/Timeline.js +91 -0
  70. package/dist/cli/tui/components/Timeline.js.map +1 -0
  71. package/dist/cli/tui/components/Toast.d.ts +13 -0
  72. package/dist/cli/tui/components/Toast.d.ts.map +1 -0
  73. package/dist/cli/tui/components/Toast.js +35 -0
  74. package/dist/cli/tui/components/Toast.js.map +1 -0
  75. package/dist/cli/tui/components/TrackingProgress.d.ts +24 -0
  76. package/dist/cli/tui/components/TrackingProgress.d.ts.map +1 -0
  77. package/dist/cli/tui/components/TrackingProgress.js +82 -0
  78. package/dist/cli/tui/components/TrackingProgress.js.map +1 -0
  79. package/dist/cli/tui/components/ViewLayout.d.ts +9 -1
  80. package/dist/cli/tui/components/ViewLayout.d.ts.map +1 -1
  81. package/dist/cli/tui/components/ViewLayout.js +43 -7
  82. package/dist/cli/tui/components/ViewLayout.js.map +1 -1
  83. package/dist/cli/tui/components/VotingStats.d.ts +11 -0
  84. package/dist/cli/tui/components/VotingStats.d.ts.map +1 -0
  85. package/dist/cli/tui/components/VotingStats.js +87 -0
  86. package/dist/cli/tui/components/VotingStats.js.map +1 -0
  87. package/dist/cli/tui/config.d.ts +42 -0
  88. package/dist/cli/tui/config.d.ts.map +1 -0
  89. package/dist/cli/tui/config.js +144 -0
  90. package/dist/cli/tui/config.js.map +1 -0
  91. package/dist/cli/tui/hooks/index.d.ts +3 -1
  92. package/dist/cli/tui/hooks/index.d.ts.map +1 -1
  93. package/dist/cli/tui/hooks/index.js +5 -1
  94. package/dist/cli/tui/hooks/index.js.map +1 -1
  95. package/dist/cli/tui/hooks/useCache.d.ts.map +1 -1
  96. package/dist/cli/tui/hooks/useCache.js +32 -8
  97. package/dist/cli/tui/hooks/useCache.js.map +1 -1
  98. package/dist/cli/tui/hooks/useCliProcess.d.ts +19 -0
  99. package/dist/cli/tui/hooks/useCliProcess.d.ts.map +1 -0
  100. package/dist/cli/tui/hooks/useCliProcess.js +135 -0
  101. package/dist/cli/tui/hooks/useCliProcess.js.map +1 -0
  102. package/dist/cli/tui/hooks/useNavigation.d.ts +7 -1
  103. package/dist/cli/tui/hooks/useNavigation.d.ts.map +1 -1
  104. package/dist/cli/tui/hooks/useNavigation.js +73 -9
  105. package/dist/cli/tui/hooks/useNavigation.js.map +1 -1
  106. package/dist/cli/tui/hooks/useProposals.d.ts +2 -2
  107. package/dist/cli/tui/hooks/useProposals.d.ts.map +1 -1
  108. package/dist/cli/tui/hooks/useProposals.js +92 -27
  109. package/dist/cli/tui/hooks/useProposals.js.map +1 -1
  110. package/dist/cli/tui/hooks/useStageCalldata.d.ts +1 -1
  111. package/dist/cli/tui/hooks/useStageCalldata.d.ts.map +1 -1
  112. package/dist/cli/tui/hooks/useStageCalldata.js +45 -18
  113. package/dist/cli/tui/hooks/useStageCalldata.js.map +1 -1
  114. package/dist/cli/tui/hooks/useTracker.d.ts +4 -5
  115. package/dist/cli/tui/hooks/useTracker.d.ts.map +1 -1
  116. package/dist/cli/tui/hooks/useTracker.js +118 -78
  117. package/dist/cli/tui/hooks/useTracker.js.map +1 -1
  118. package/dist/cli/tui/index.d.ts +1 -0
  119. package/dist/cli/tui/index.d.ts.map +1 -1
  120. package/dist/cli/tui/index.js +38 -6
  121. package/dist/cli/tui/index.js.map +1 -1
  122. package/dist/cli/tui/types.d.ts +4 -1
  123. package/dist/cli/tui/types.d.ts.map +1 -1
  124. package/dist/cli/tui/utils/clipboard.d.ts +7 -0
  125. package/dist/cli/tui/utils/clipboard.d.ts.map +1 -0
  126. package/dist/cli/tui/utils/clipboard.js +46 -0
  127. package/dist/cli/tui/utils/clipboard.js.map +1 -0
  128. package/dist/cli/tui/utils/index.d.ts +1 -0
  129. package/dist/cli/tui/utils/index.d.ts.map +1 -1
  130. package/dist/cli/tui/utils/index.js +4 -1
  131. package/dist/cli/tui/utils/index.js.map +1 -1
  132. package/dist/cli/tui/utils/text.d.ts.map +1 -1
  133. package/dist/cli/tui/utils/text.js +2 -0
  134. package/dist/cli/tui/utils/text.js.map +1 -1
  135. package/dist/cli/tui/views/CalldataView.d.ts.map +1 -1
  136. package/dist/cli/tui/views/CalldataView.js +35 -21
  137. package/dist/cli/tui/views/CalldataView.js.map +1 -1
  138. package/dist/cli/tui/views/DescriptionView.d.ts.map +1 -1
  139. package/dist/cli/tui/views/DescriptionView.js +29 -21
  140. package/dist/cli/tui/views/DescriptionView.js.map +1 -1
  141. package/dist/cli/tui/views/ElectionView.d.ts.map +1 -1
  142. package/dist/cli/tui/views/ElectionView.js +64 -26
  143. package/dist/cli/tui/views/ElectionView.js.map +1 -1
  144. package/dist/cli/tui/views/HelpView.d.ts +10 -0
  145. package/dist/cli/tui/views/HelpView.d.ts.map +1 -0
  146. package/dist/cli/tui/views/HelpView.js +159 -0
  147. package/dist/cli/tui/views/HelpView.js.map +1 -0
  148. package/dist/cli/tui/views/ProposalDetail.d.ts +1 -1
  149. package/dist/cli/tui/views/ProposalDetail.d.ts.map +1 -1
  150. package/dist/cli/tui/views/ProposalDetail.js +45 -50
  151. package/dist/cli/tui/views/ProposalDetail.js.map +1 -1
  152. package/dist/cli/tui/views/ProposalList.d.ts.map +1 -1
  153. package/dist/cli/tui/views/ProposalList.js +47 -32
  154. package/dist/cli/tui/views/ProposalList.js.map +1 -1
  155. package/dist/cli/tui/views/SettingsView.d.ts +12 -0
  156. package/dist/cli/tui/views/SettingsView.d.ts.map +1 -0
  157. package/dist/cli/tui/views/SettingsView.js +203 -0
  158. package/dist/cli/tui/views/SettingsView.js.map +1 -0
  159. package/dist/cli/tui/views/SimulationView.d.ts.map +1 -1
  160. package/dist/cli/tui/views/SimulationView.js +26 -7
  161. package/dist/cli/tui/views/SimulationView.js.map +1 -1
  162. package/dist/cli/tui/views/StageView.d.ts.map +1 -1
  163. package/dist/cli/tui/views/StageView.js +34 -18
  164. package/dist/cli/tui/views/StageView.js.map +1 -1
  165. package/dist/stages/timelock.d.ts.map +1 -1
  166. package/dist/stages/timelock.js +5 -4
  167. package/dist/stages/timelock.js.map +1 -1
  168. package/dist/tracker/cache.d.ts.map +1 -1
  169. package/dist/tracker/cache.js +4 -0
  170. package/dist/tracker/cache.js.map +1 -1
  171. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DescriptionView.js","sourceRoot":"","sources":["../../../../src/cli/tui/views/DescriptionView.tsx"],"names":[],"mappings":";AAAA;;GAEG;;AAwKH,0CAwCC;AA9MD,sDAAoE;AAGpE,+DAAyD;AACzD,gDAAmD;AAanD,SAAS,cAAc,CAAC,QAA0B;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;IACpE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAEvE,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAgC,CAAC;QAC3D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IAChD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/B,aAAa;QACb,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,SAAS;QACX,CAAC;QAED,UAAU;QACV,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QAED,gBAAgB;QAChB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,eAAe,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChG,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC/B,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC5E,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,0BAA0B;QACtC,CAAC;QAED,4CAA4C;QAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAEtE,mBAAmB;QACnB,eAAe,CAAC,aAAa,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,KAAa,EACb,IAA2B,EAC3B,MAAc,EACd,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzD,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,WAAW,GAAG,IAAI,CAAC;YACnB,iDAAiD;YACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,sBAAsB,CAAC,EAAE,IAAI,EAA2B;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,IAAI;YACP,OAAO,CACL,qCAAC,qBAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM;gBACpB,MAAM;;gBAAI,IAAI,CAAC,IAAI,CACf,CACR,CAAC;QACJ,KAAK,IAAI;YACP,OAAO,CACL,qCAAC,qBAAI,IAAC,IAAI,QAAC,KAAK,EAAC,QAAQ;gBACtB,MAAM;;gBAAI,IAAI,CAAC,IAAI,CACf,CACR,CAAC;QACJ,KAAK,IAAI;YACP,OAAO,CACL,qCAAC,qBAAI,IAAC,IAAI;gBACP,MAAM;;gBAAI,IAAI,CAAC,IAAI,CACf,CACR,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,CACL,qCAAC,qBAAI;gBACF,MAAM;;gBAAI,IAAI,CAAC,IAAI,CACf,CACR,CAAC;QACJ,KAAK,WAAW;YACd,OAAO,qCAAC,qBAAI,IAAC,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,IAAI,CAAQ,CAAC;QAC/C;YACE,OAAO,qCAAC,qBAAI;gBAAE,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAQ,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,UAAU,GACW;IACrB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAA,yBAAc,EAAC,cAAc,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC;IAExF,IAAA,yBAAQ,EAAC,CAAC,KAAa,EAAE,GAAa,EAAE,EAAE;QACxC,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACvB,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,qCAAC,0BAAU,IAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,sBAAsB;QACxD,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,qCAAC,qBAAI,IAAC,KAAK,EAAC,MAAM;;YAAI,KAAK,CAAC,YAAY;2BAAoB;QACtF,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,qCAAC,sBAAsB,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM,IAAI,CACnD,qCAAC,qBAAI,IAAC,KAAK,EAAC,MAAM;;YAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,GAAG,YAAY;2BAAoB,CAC3F,CACU,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DescriptionView.js","sourceRoot":"","sources":["../../../../src/cli/tui/views/DescriptionView.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElectionView.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/ElectionView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKvD,UAAU,iBAAiB;IACzB,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AA6BD,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAwH7F"}
1
+ {"version":3,"file":"ElectionView.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/ElectionView.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKvD,UAAU,iBAAiB;IACzB,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AA8BD,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA8J7F"}
@@ -32,8 +32,13 @@ function ElectionView({ navigation, providers }) {
32
32
  proposals: [],
33
33
  loading: true,
34
34
  error: null,
35
+ warning: null,
35
36
  });
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)(() => {
40
+ setSelectedIndex(0);
41
+ }, [data.proposals.length]);
37
42
  (0, react_1.useEffect)(() => {
38
43
  if (!providers) {
39
44
  setData({
@@ -41,57 +46,90 @@ function ElectionView({ navigation, providers }) {
41
46
  proposals: [],
42
47
  loading: false,
43
48
  error: "RPC providers required. Use --l2-rpc and --l1-rpc options.",
49
+ warning: null,
44
50
  });
45
51
  return;
46
52
  }
53
+ let cancelled = false;
47
54
  const loadElectionData = async () => {
48
55
  try {
49
56
  setData((prev) => ({ ...prev, loading: true, error: null }));
50
- // Get overall election status
51
57
  const status = await (0, election_js_1.checkElectionStatus)(providers.l2Provider, providers.l1Provider);
52
- // Track last few elections
58
+ if (cancelled)
59
+ return;
53
60
  const proposals = [];
54
- const startIndex = Math.max(0, status.electionCount - 3);
55
- for (let i = status.electionCount; i >= startIndex; i--) {
56
- try {
57
- const proposal = await (0, election_js_1.trackElectionProposal)(i, providers.l2Provider, providers.l1Provider);
58
- proposals.push(proposal);
59
- }
60
- catch {
61
- // Skip elections that can't be tracked
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
+ }
62
74
  }
63
75
  }
64
- setData({
65
- status,
66
- proposals,
67
- loading: false,
68
- error: null,
69
- });
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
+ }
70
89
  }
71
90
  catch (err) {
72
- setData({
73
- status: null,
74
- proposals: [],
75
- loading: false,
76
- error: err instanceof Error ? err.message : String(err),
77
- });
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
+ }
78
100
  }
79
101
  };
80
102
  loadElectionData();
103
+ return () => {
104
+ cancelled = true;
105
+ };
81
106
  }, [providers]);
82
107
  (0, ink_wrapper_js_1.useInput)((input, key) => {
83
108
  if (input === "b" || key.escape) {
84
109
  navigation.back();
85
110
  }
86
- else if (key.upArrow) {
111
+ else if (key.upArrow || input === "k") {
87
112
  setSelectedIndex((prev) => Math.max(0, prev - 1));
88
113
  }
89
- else if (key.downArrow) {
114
+ else if ((key.downArrow || input === "j") && data.proposals.length > 0) {
90
115
  setSelectedIndex((prev) => Math.min(data.proposals.length - 1, prev + 1));
91
116
  }
117
+ else if (input === "g") {
118
+ setSelectedIndex(0);
119
+ }
120
+ else if (input === "G" && data.proposals.length > 0) {
121
+ setSelectedIndex(data.proposals.length - 1);
122
+ }
123
+ else if (input === "?") {
124
+ navigation.goToHelp();
125
+ }
92
126
  });
93
- const { status, proposals } = data;
94
- 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...", error: data.error },
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 },
130
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "yellow" },
131
+ "[Warning] ",
132
+ warning))),
95
133
  status && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginBottom: 1 },
96
134
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true }, "Security Council Election Status"),
97
135
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginLeft: 1, flexDirection: "column" },
@@ -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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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Help view showing all keyboard shortcuts
3
+ */
4
+ import type { UseNavigationResult } from "../hooks/index.js";
5
+ interface HelpViewProps {
6
+ navigation: UseNavigationResult;
7
+ }
8
+ export declare function HelpView({ navigation }: HelpViewProps): React.ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=HelpView.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * Help view showing all keyboard shortcuts
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.HelpView = HelpView;
7
+ const ink_wrapper_js_1 = require("../ink-wrapper.js");
8
+ const ScrollIndicator_js_1 = require("../components/ScrollIndicator.js");
9
+ const index_js_1 = require("../utils/index.js");
10
+ const HELP_SECTIONS = [
11
+ {
12
+ title: "Navigation (Vim-style)",
13
+ icon: "⌨",
14
+ shortcuts: [
15
+ { key: "j/↓", description: "Move down" },
16
+ { key: "k/↑", description: "Move up" },
17
+ { key: "Ctrl+d/PgDn", description: "Page down (10 items)" },
18
+ { key: "Ctrl+u/PgUp", description: "Page up (10 items)" },
19
+ { key: "g", description: "Jump to top" },
20
+ { key: "G", description: "Jump to bottom" },
21
+ { key: "Enter", description: "Select / Enter view" },
22
+ { key: "b/Esc", description: "Go back" },
23
+ ],
24
+ },
25
+ {
26
+ title: "List View",
27
+ icon: "📋",
28
+ shortcuts: [
29
+ { key: "/", description: "Start search", note: "Enter to finish, Esc to clear" },
30
+ { key: "Tab", description: "Cycle filter", note: "all → active → complete → timelocks" },
31
+ { key: "o", description: "Cycle sort", note: "newest → oldest → progress → status" },
32
+ { key: "R", description: "Reload cache from disk" },
33
+ { key: "d", description: "Discover proposals", note: "requires RPC" },
34
+ { key: "e", description: "Election status", note: "requires RPC" },
35
+ { key: "S", description: "Settings" },
36
+ { key: "q", description: "Quit" },
37
+ ],
38
+ },
39
+ {
40
+ title: "Detail View",
41
+ icon: "📄",
42
+ shortcuts: [
43
+ { key: "1-7", description: "Jump to stage number" },
44
+ { key: "y", description: "Copy proposal/operation ID" },
45
+ { key: "Y", description: "Copy transaction hash" },
46
+ { key: "d", description: "View description" },
47
+ { key: "c", description: "View calldata" },
48
+ { key: "s", description: "View simulation data" },
49
+ { key: "r", description: "Re-track proposal", note: "requires RPC" },
50
+ ],
51
+ },
52
+ {
53
+ title: "Calldata View",
54
+ icon: "🔍",
55
+ shortcuts: [
56
+ { key: "←/→", description: "Navigate between actions" },
57
+ { key: "Enter", description: "Toggle fold/unfold" },
58
+ { key: "e", description: "Expand all" },
59
+ { key: "c", description: "Collapse all" },
60
+ ],
61
+ },
62
+ {
63
+ title: "Settings View",
64
+ icon: "⚙",
65
+ shortcuts: [
66
+ { key: "j/k", description: "Navigate settings" },
67
+ { key: "Enter/Space", description: "Edit or toggle setting" },
68
+ { key: "r", description: "Reset all to defaults" },
69
+ { key: "b/Esc", description: "Save and close" },
70
+ ],
71
+ },
72
+ {
73
+ title: "Tips",
74
+ icon: "💡",
75
+ shortcuts: [
76
+ { key: "?", description: "Show/hide this help (works in any view)" },
77
+ { key: "Search", description: "Matches title and proposal ID" },
78
+ { key: "RPC", description: "Use --l2-rpc for tracking features" },
79
+ ],
80
+ },
81
+ ];
82
+ const RESERVED_LINES = 6;
83
+ function HelpView({ navigation }) {
84
+ const { state } = navigation;
85
+ const visibleRows = (0, index_js_1.getVisibleRows)(RESERVED_LINES);
86
+ const allLines = [];
87
+ for (const section of HELP_SECTIONS) {
88
+ allLines.push({ text: `${section.icon ?? "•"} ${section.title}`, isHeader: true });
89
+ for (const shortcut of section.shortcuts) {
90
+ allLines.push({
91
+ text: (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { key: `${section.title}-${shortcut.key}` },
92
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, shortcut.key.padEnd(12)),
93
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, shortcut.description),
94
+ shortcut.note && ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
95
+ " (",
96
+ shortcut.note,
97
+ ")"))),
98
+ });
99
+ }
100
+ allLines.push({ text: "", isSpacer: true });
101
+ }
102
+ const visibleLines = allLines.slice(state.scrollOffset, state.scrollOffset + visibleRows);
103
+ const hasMore = state.scrollOffset + visibleRows < allLines.length;
104
+ const hasLess = state.scrollOffset > 0;
105
+ (0, ink_wrapper_js_1.useInput)((input, key) => {
106
+ if (input === "?" || input === "b" || key.escape) {
107
+ navigation.back();
108
+ }
109
+ else if (key.upArrow || input === "k") {
110
+ navigation.moveUp();
111
+ }
112
+ else if (key.downArrow || input === "j") {
113
+ navigation.moveDown(allLines.length);
114
+ }
115
+ else if (key.pageUp || (key.ctrl && input === "u")) {
116
+ navigation.pageUp(allLines.length);
117
+ }
118
+ else if (key.pageDown || (key.ctrl && input === "d")) {
119
+ navigation.pageDown(allLines.length);
120
+ }
121
+ else if (input === "g") {
122
+ navigation.goToTop();
123
+ }
124
+ else if (input === "G") {
125
+ navigation.goToBottom(allLines.length);
126
+ }
127
+ });
128
+ return (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", height: "100%" },
129
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { borderStyle: "single", borderColor: "cyan", paddingX: 1 },
130
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true, color: "cyan" }, "Gov-Tracker Help"),
131
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, " - Keyboard Shortcuts Reference")),
132
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", paddingX: 2, paddingY: 1, flexGrow: 1 },
133
+ allLines.length > visibleRows && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
134
+ ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollPosition, { scrollOffset: state.scrollOffset, visibleRows: visibleRows, totalItems: allLines.length }))),
135
+ hasLess && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
136
+ ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollIndicatorTop, { scrollOffset: state.scrollOffset }))),
137
+ visibleLines.map((line, i) => {
138
+ if (line.isHeader) {
139
+ return (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { key: i, marginTop: i === 0 ? 0 : 1 },
140
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true, color: "yellow" }, line.text)));
141
+ }
142
+ if (line.isSpacer) {
143
+ return null;
144
+ }
145
+ return ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { key: i, marginLeft: 2 }, line.text);
146
+ }),
147
+ hasMore && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginTop: 1 },
148
+ ink_wrapper_js_1.React.createElement(ScrollIndicator_js_1.ScrollIndicatorBottom, { scrollOffset: state.scrollOffset, visibleRows: visibleRows, totalItems: allLines.length })))),
149
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { borderStyle: "single", borderColor: "gray", paddingX: 1 },
150
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, "j/k"),
151
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, ": Scroll "),
152
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, "Ctrl+d/u"),
153
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, ": Page "),
154
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, "g/G"),
155
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, ": Top/Bottom "),
156
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" }, "?/b"),
157
+ ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, ": Close"))));
158
+ }
159
+ //# sourceMappingURL=HelpView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpView.js","sourceRoot":"","sources":["../../../../src/cli/tui/views/HelpView.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Proposal detail view showing all stages
3
3
  */
4
4
  import type { ProposalListItem } from "../types.js";
5
- import type { UseNavigationResult } from "../hooks/index.js";
5
+ import { type UseNavigationResult } from "../hooks/index.js";
6
6
  import type { UseTrackerResult } from "../hooks/useTracker.js";
7
7
  interface ProposalDetailProps {
8
8
  proposal: ProposalListItem;
@@ -1 +1 @@
1
- {"version":3,"file":"ProposalDetail.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/ProposalDetail.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ/D,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AA+CD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAmK1C"}
1
+ {"version":3,"file":"ProposalDetail.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/views/ProposalDetail.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,mBAAmB,EAAe,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAY/D,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAOD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAiM1C"}
@@ -5,65 +5,36 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProposalDetail = ProposalDetail;
7
7
  const ink_wrapper_js_1 = require("../ink-wrapper.js");
8
+ const index_js_1 = require("../hooks/index.js");
8
9
  const Header_js_1 = require("../components/Header.js");
9
10
  const KeyHelp_js_1 = require("../components/KeyHelp.js");
10
11
  const StageRow_js_1 = require("../components/StageRow.js");
11
12
  const StatusBadge_js_1 = require("../components/StatusBadge.js");
13
+ const VotingStats_js_1 = require("../components/VotingStats.js");
14
+ const StageProgress_js_1 = require("../components/StageProgress.js");
12
15
  const constants_js_1 = require("../../../constants.js");
16
+ const stages_js_1 = require("../../../types/stages.js");
17
+ const CopyableText_js_1 = require("../components/CopyableText.js");
18
+ const ErrorDisplay_js_1 = require("../components/ErrorDisplay.js");
13
19
  function formatDate(timestamp) {
14
20
  if (timestamp === null)
15
21
  return "Unknown";
16
22
  return new Date(timestamp).toLocaleString();
17
23
  }
18
- function VotingStats({ data }) {
19
- const forPct = parseFloat(data.forVotes) || 0;
20
- const againstPct = parseFloat(data.againstVotes) || 0;
21
- const abstainPct = parseFloat(data.abstainVotes) || 0;
22
- const total = forPct + againstPct + abstainPct;
23
- const forBar = total > 0 ? Math.round((forPct / total) * 20) : 0;
24
- const againstBar = total > 0 ? Math.round((againstPct / total) * 20) : 0;
25
- return (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginBottom: 1 },
26
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true }, "Voting:"),
27
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginLeft: 1, flexDirection: "column" },
28
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
29
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "green" },
30
- "For: ",
31
- data.forVotes),
32
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
33
- " ",
34
- "█".repeat(forBar),
35
- "░".repeat(20 - forBar))),
36
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
37
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "red" },
38
- "Against: ",
39
- data.againstVotes),
40
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
41
- " ",
42
- "█".repeat(againstBar),
43
- "░".repeat(20 - againstBar))),
44
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
45
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
46
- "Abstain: ",
47
- data.abstainVotes)),
48
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
49
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "cyan" },
50
- "Quorum: ",
51
- data.quorum),
52
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: data.quorumReached ? "green" : "yellow" }, data.quorumReached ? " ✓ Reached" : " ○ Not reached")))));
53
- }
54
24
  function ProposalDetail({ proposal, navigation, tracker, }) {
55
25
  const { state } = navigation;
56
26
  const stages = proposal.checkpoint.cachedData.completedStages ?? [];
57
27
  const input = proposal.checkpoint.input;
28
+ const { feedback, feedbackType, copy } = (0, CopyableText_js_1.useCopyState)();
58
29
  (0, ink_wrapper_js_1.useInput)((inputKey, key) => {
59
30
  if (inputKey === "b" || key.escape) {
60
31
  navigation.back();
61
32
  }
62
- else if (key.upArrow) {
33
+ else if (key.upArrow || inputKey === "k") {
63
34
  navigation.moveUp();
64
35
  }
65
- else if (key.downArrow) {
66
- navigation.moveDown(7);
36
+ else if (key.downArrow || inputKey === "j") {
37
+ navigation.moveDown(index_js_1.STAGE_COUNT);
67
38
  }
68
39
  else if (key.return && stages[state.selectedStageIndex]) {
69
40
  navigation.goToStage(state.selectedStageIndex);
@@ -78,13 +49,13 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
78
49
  navigation.goToDescription();
79
50
  }
80
51
  else if (inputKey === "r" && tracker.canTrack && !tracker.isTracking) {
81
- tracker.track(proposal);
52
+ void tracker.track(proposal);
82
53
  }
83
54
  else if (inputKey === "g") {
84
55
  navigation.goToTop();
85
56
  }
86
57
  else if (inputKey === "G") {
87
- navigation.goToBottom(7);
58
+ navigation.goToBottom(index_js_1.STAGE_COUNT);
88
59
  }
89
60
  else if (inputKey >= "1" && inputKey <= "7") {
90
61
  const stageIndex = parseInt(inputKey, 10) - 1;
@@ -92,12 +63,29 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
92
63
  navigation.goToStage(stageIndex);
93
64
  }
94
65
  }
66
+ else if (inputKey === "?") {
67
+ navigation.goToHelp();
68
+ }
69
+ else if (inputKey === "y") {
70
+ // Copy based on context - proposal ID by default
71
+ const proposalId = getProposalIdDisplay();
72
+ copy(proposalId, "Proposal ID");
73
+ }
74
+ else if (inputKey === "Y") {
75
+ // Copy transaction hash
76
+ const hash = getTxHash();
77
+ if (hash) {
78
+ copy(hash, "TX Hash");
79
+ }
80
+ }
95
81
  });
96
82
  const getTxHash = () => {
97
83
  if (input.type === "governor")
98
84
  return input.creationTxHash;
99
85
  if (input.type === "timelock")
100
86
  return input.scheduledTxHash;
87
+ if (input.type === "discovery")
88
+ return "";
101
89
  return "";
102
90
  };
103
91
  const getProposalIdDisplay = () => {
@@ -107,15 +95,22 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
107
95
  if (input.type === "timelock") {
108
96
  return input.operationId;
109
97
  }
98
+ if (input.type === "discovery") {
99
+ return input.id;
100
+ }
110
101
  return "";
111
102
  };
112
103
  const txHash = getTxHash();
113
104
  const txUrl = txHash ? (0, constants_js_1.getTxUrl)(constants_js_1.CHAIN_IDS.ARB_ONE, txHash) : null;
114
- const votingStage = stages.find((s) => s.type === "VOTING_ACTIVE");
105
+ const votingStage = stages.find((s) => (0, stages_js_1.isStageType)(s, "VOTING_ACTIVE"));
115
106
  const votingData = votingStage?.data;
107
+ const shortTitle = proposal.title.length > 40
108
+ ? proposal.title.substring(0, 40) + "..."
109
+ : proposal.title;
116
110
  return (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", height: "100%" },
117
- ink_wrapper_js_1.React.createElement(Header_js_1.Header, { view: "detail", filter: state.filter, stats: null, hasProviders: tracker.canTrack, isTracking: tracker.isTracking, title: proposal.title, position: { current: state.selectedStageIndex + 1, total: 7 } }),
111
+ ink_wrapper_js_1.React.createElement(Header_js_1.Header, { view: "detail", filter: state.filter, stats: null, hasProviders: tracker.canTrack, isTracking: tracker.isTracking, title: proposal.title, position: { current: state.selectedStageIndex + 1, total: index_js_1.STAGE_COUNT }, breadcrumb: ["Proposals", shortTitle] }),
118
112
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", paddingX: 1, flexGrow: 1 },
113
+ ink_wrapper_js_1.React.createElement(StageProgress_js_1.StageProgress, { stages: stages, currentIndex: state.selectedStageIndex }),
119
114
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginBottom: 1 },
120
115
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
121
116
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Type: "),
@@ -125,8 +120,7 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
125
120
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
126
121
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" },
127
122
  input.type === "governor" ? "Proposal ID" : "Operation ID",
128
- ":",
129
- " "),
123
+ ": "),
130
124
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, null, getProposalIdDisplay())),
131
125
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, null,
132
126
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "TX: "),
@@ -140,10 +134,11 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
140
134
  tracker.isTracking && tracker.progress && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
141
135
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "yellow" }, tracker.progress))),
142
136
  tracker.error && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
143
- ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "red" },
144
- "Error: ",
145
- tracker.error))),
146
- votingData && ink_wrapper_js_1.React.createElement(VotingStats, { data: votingData }),
137
+ ink_wrapper_js_1.React.createElement(ErrorDisplay_js_1.ErrorBanner, { error: tracker.error }),
138
+ tracker.canTrack && ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, "Press r to retry"))),
139
+ feedback && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { marginBottom: 1 },
140
+ ink_wrapper_js_1.React.createElement(CopyableText_js_1.CopyFeedback, { message: feedback, type: feedbackType }))),
141
+ votingData && ink_wrapper_js_1.React.createElement(VotingStats_js_1.VotingStats, { data: votingData }),
147
142
  tracker.preparedTxs.length > 0 && (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginBottom: 1 },
148
143
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "green", bold: true },
149
144
  "Prepared Transactions (",
@@ -159,7 +154,7 @@ function ProposalDetail({ proposal, navigation, tracker, }) {
159
154
  tx.chain)))))),
160
155
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { flexDirection: "column", marginTop: 1 },
161
156
  ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { bold: true }, "Stages:"),
162
- stages.length === 0 ? (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, " No stages tracked yet")) : (stages.map((stage, i) => (ink_wrapper_js_1.React.createElement(StageRow_js_1.StageRow, { key: stage.type, stage: stage, index: i, isSelected: i === state.selectedStageIndex })))),
157
+ stages.length === 0 ? (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Text, { color: "gray" }, " No stages tracked yet")) : (stages.map((stage, i) => (ink_wrapper_js_1.React.createElement(StageRow_js_1.StageRow, { key: stage.type, stage: stage, index: i, isSelected: i === state.selectedStageIndex })))),
163
158
  stages.length > 0 &&
164
159
  stages.length < 7 &&
165
160
  Array.from({ length: 7 - stages.length }).map((_, i) => (ink_wrapper_js_1.React.createElement(ink_wrapper_js_1.Box, { key: `placeholder-${i}` },