16 Commits

Author SHA1 Message Date
eda4200585 Switch to GoLand. 2024-03-31 01:07:31 -07:00
f67323c5f4 Support hardcoded starting prices.
The Coindesk API doesn't have data going all the way back. But since history
isn't changing, we can simply put in known prices.

Also, extend the CDPR cells to have four digits instead of just two.
2024-03-29 19:24:10 -07:00
4d5dcc46d2 Misc small improvements. 2024-03-29 18:40:33 -07:00
9e6abb1112 Naming things is hard. 2024-03-29 01:15:59 -07:00
2d991880ce Schedule refreshes more consistently.
Instead of returning the `scheduleRefresh` command only after receiving
an `update` message, do it while handling the `refresh` message. For
this not to cause weird behavior, the refresh deadline should be shorter
than the refresh interval.
2024-03-24 23:01:51 -07:00
7b445a02a2 Refresh indicator goes red on error.
It will stay flashing red until the next refresh, at which point it goes
back to its normal color. On a successful refresh, it still stops.

Also, add a deadline of 15 seconds to the refresh command.
2024-03-24 02:29:45 -07:00
97f4793ec3 Write errors to log file. 2024-03-22 22:55:41 -07:00
270534c0d5 Pause spinner ticks when not refreshing.
Also, add a quick-and-dirty model for displaying basic performance
stats, currently just the number of calls to the root Update() and
View() methods.
2024-03-22 21:14:34 -07:00
c4dde38d23 Support multiple assets simultaneously. 2024-03-22 17:43:15 -07:00
4a40899653 Spice up the UI.
* Full screen ("alt framebuffer").
* Rounded borders.
* Spinner that starts during a refresh.
* Colored table headers.
* Table header have bottom border.
2024-03-21 02:43:38 -07:00
80855a15a9 Minor reformatting. 2024-03-21 00:17:29 -07:00
19de412fc5 Add spinner that indicates an ongoing refresh. 2024-03-21 00:08:58 -07:00
1c6d5e9917 Simplify projection table generation.
Instead of pre-allocating the grid and using tricky indexing to fill in
the cells, just fully regenerate it. But do it columnwise first, and
then transpose it.
2024-03-20 23:40:38 -07:00
8b8307cc57 How about actually use the goal name? 2024-03-19 21:55:27 -07:00
60a4574c5a Initial configuration support. 2024-03-19 21:44:11 -07:00
bf50ba4539 Move TUI code into separate package. 2024-03-19 18:40:42 -07:00