~whereswaldon/rosebud

cmd/rosebud: refactor tx service to extract helper type

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
deps:cmd/rosebud: switch to streaming state

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: rewrite ledger file to include new txs

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: log submitted transaction

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget: populate empty balance on submit

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: improve padding on form

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget{,/apptheme}: implement simple tx validation

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: show newest transactions first

This commit starts sorting transactions by their date to ensure the
latest transactions appear at the top of the list.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget: do not accept focus on editor wrapper

This commit ensures that the extra event handling wrapping our editor does
not accept focus, but instead passes it on to the nested editor. Otherwise
one needs to press tab twice to transfer focus into the editor.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget,cmd/rosebud,theme: switch ledger pkg to personal fork

I needed some features that aren't available upstream currently, so I've
created a minor fork and opened issues about them upstream.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget{,/apptheme}: use slice of pointers to avoid weird state bugs

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget: fix text insertion

This commit ensures that applying a suggestion results in the cursor being
at the end of the text, not the beginning.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: use new form as transaction editor

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget/apptheme: add editing form

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget: fix many small editing bugs

This commit fixes the following:

- the form type used to keep a slice of appwidget.TxEditor and append to it.
  When the underlying slice grew, it would be forced to copy the first few
  editors into a new slice. This made their addresses change, thus invalidating
  the input tags that they were using and making the active editor lose focus.
- when tabbing to move between editors, the TxEditor accidentally passed events
  into the underlying editor that the editor wasn't looking for. This made the
  editor behave very strangely, inserting characters in the wrong order.
- when typing in the editor, we now only show suggestions when you modify the
  text and it does not match the most recently applied suggestion.
- we now dismiss the suggestor when the editor loses focus.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget/apptheme: do not constrain suggestor width

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
deps,cmd/rosebud: add a tx editor to test it out

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
appwidget{,/apptheme}: import suggestion editor code

This code is borrowed from another of my projects.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebud: display txs and tree for loaded budget

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
cmd/rosebus,deps: create new main pkg

This commit starts over on the main package, focusing on usability
by regular people. This commit adds just the flow to open a ledger
file, but includes backing that file up to a cache directory as a
precaution before doing any manipulation on it.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
Next
Do not follow this link