From 6e26943db00a4d270524f18bf7104b0d8ff9ba07 Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Mon, 27 Feb 2023 00:51:48 +0000 Subject: [PATCH] update dependencies and a tiny bit of refactoring --- go.mod | 16 ++++++------- go.sum | 57 +++++++++++++++++++++++++++++++------------- internal/ui/app.go | 3 ++- internal/ui/init.go | 23 +++++++++--------- main | Bin 0 -> 4821177 bytes 5 files changed, 61 insertions(+), 38 deletions(-) create mode 100755 main diff --git a/go.mod b/go.mod index c52ed27..28f3143 100644 --- a/go.mod +++ b/go.mod @@ -3,18 +3,18 @@ module codeflow.dananglin.me.uk/apollo/canal go 1.19 require ( - github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 + github.com/gdamore/tcell/v2 v2.6.0 github.com/magefile/mage v1.14.0 - github.com/rivo/tview v0.0.0-20210923051754-2cb20002bc4c - go.etcd.io/bbolt v1.3.6 + github.com/rivo/tview v0.0.0-20230226195229-47e7db7885b4 + go.etcd.io/bbolt v1.3.7 ) require ( github.com/gdamore/encoding v1.0.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 // indirect - golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect - golang.org/x/text v0.3.6 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/rivo/uniseg v0.4.3 // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/term v0.5.0 // indirect + golang.org/x/text v0.7.0 // indirect ) diff --git a/go.sum b/go.sum index e47f6e8..9f8a0bc 100644 --- a/go.sum +++ b/go.sum @@ -1,27 +1,50 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 h1:QqwPZCwh/k1uYqq6uXSb9TRDhTkfQbO80v8zhnIe5zM= -github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04= +github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= +github.com/gdamore/tcell/v2 v2.6.0/go.mod h1:be9omFATkdr0D9qewWW3d+MEvl5dha+Etb5y65J2H8Y= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/rivo/tview v0.0.0-20210923051754-2cb20002bc4c h1:ye4bWm8SafYmr0DADOKSfeVZ1Swzm9aLW+baCOcHDWE= -github.com/rivo/tview v0.0.0-20210923051754-2cb20002bc4c/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/rivo/tview v0.0.0-20230226195229-47e7db7885b4 h1:tj6c++jeZxE3+Z+8+3/HOY/KpqaVt1tZ8i6sNRmjQ1M= +github.com/rivo/tview v0.0.0-20230226195229-47e7db7885b4/go.mod h1:nVwGv4MP47T0jvlk7KuTTjjuSmrGO4JF0iaiNt4bufE= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210309074719-68d13333faf2 h1:46ULzRKLh1CwgRq2dC5SlBzEqqNCi8rreOZnNrbqcIY= -golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+DBX9vMVanchswa69toE= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/internal/ui/app.go b/internal/ui/app.go index 7397bed..635e68e 100644 --- a/internal/ui/app.go +++ b/internal/ui/app.go @@ -81,6 +81,7 @@ func (a *App) refresh() error { func (a *App) updateBoard(statusList []board.Status) error { a.flex.Clear() + columns := make([]column, len(statusList)) for i := range statusList { @@ -131,7 +132,7 @@ func (a *App) setColumnFocus() { // newCard creates a new card and saves it to the database. func (a *App) newCard(title, content string) error { args := board.CardArgs{ - NewTitle: title, + NewTitle: title, NewContent: content, } diff --git a/internal/ui/init.go b/internal/ui/init.go index d691d4e..fce54af 100644 --- a/internal/ui/init.go +++ b/internal/ui/init.go @@ -19,7 +19,7 @@ func NewApp() App { return a } -// initApp initialises App +// initApp initialises App. func initApp(a *App) { a.pages.AddPage(mainPage, a.flex, true, true) @@ -48,17 +48,16 @@ func initApp(a *App) { // newQuitModal returns a new modal for the user's confirmation // for quitting the application. -func newQuitModal(a *App) *tview.Modal { - +func newQuitModal(app *App) *tview.Modal { quit := *tview.NewModal() quitDoneFunc := func(_ int, buttonLabel string) { switch buttonLabel { case "Quit": - a.shutdown() + app.shutdown() default: - a.pages.SwitchToPage("main") - a.setColumnFocus() + app.pages.SwitchToPage("main") + app.setColumnFocus() } } @@ -70,7 +69,7 @@ func newQuitModal(a *App) *tview.Modal { } // newAddForm creates a new Form primitive for creating a new card. -func newAddForm(a *App) *tview.Form { +func newAddForm(app *App) *tview.Form { add := tview.NewForm() titleField := "Title" @@ -80,16 +79,16 @@ func newAddForm(a *App) *tview.Form { add.AddButton("Save", func() { title := add.GetFormItemByLabel(titleField).(*tview.InputField).GetText() // TODO: error value needs handling - _ = a.newCard(title, "") + _ = app.newCard(title, "") add.GetFormItemByLabel(titleField).(*tview.InputField).SetText("") - a.pages.SwitchToPage(mainPage) - a.setColumnFocus() + app.pages.SwitchToPage(mainPage) + app.setColumnFocus() }) add.AddButton("Cancel", func() { - a.pages.SwitchToPage(mainPage) + app.pages.SwitchToPage(mainPage) add.GetFormItemByLabel(titleField).(*tview.InputField).SetText("") - a.setColumnFocus() + app.setColumnFocus() }) add.SetBorder(true) diff --git a/main b/main new file mode 100755 index 0000000000000000000000000000000000000000..0f7b70f9bf8488a64008b435056ec553b253d8bb GIT binary patch literal 4821177 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