Compare commits

..

3 commits

6 changed files with 43 additions and 27 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/test/databases/*.db /test/databases/*.db
/pelican /pelican
/*.pelican /*.pelican
/hack

2
go.mod
View file

@ -6,7 +6,7 @@ require (
github.com/gdamore/tcell/v2 v2.7.0 github.com/gdamore/tcell/v2 v2.7.0
github.com/magefile/mage v1.15.0 github.com/magefile/mage v1.15.0
github.com/rivo/tview v0.0.0-20231206124440-5f078138442e github.com/rivo/tview v0.0.0-20231206124440-5f078138442e
go.etcd.io/bbolt v1.3.7 go.etcd.io/bbolt v1.3.8
) )
require ( require (

4
go.sum
View file

@ -20,8 +20,8 @@ github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 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.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA=
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/bbolt v1.3.8/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-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/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/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=

View file

@ -47,23 +47,28 @@ func (a *App) initCardForm() {
a.cardForm.setDoneFunc(doneFunc) a.cardForm.setDoneFunc(doneFunc)
} }
// initDeleteCardModal initialises the modal for deleting cards. // initDeleteModal initialises the modal for deleting cards or statuses.
func (a *App) initDeleteCardModal() { func (a *App) initDeleteModal() {
doneFunc := func(_ int, buttonLabel string) { doneFunc := func(_ int, buttonLabel string) {
if buttonLabel == "Confirm" { if buttonLabel == "Confirm" {
a.deleteFocusedCard() switch a.mode {
case normal:
a.deleteFocusedCard()
case boardEdit:
a.deleteFocusedStatusColumn()
}
} }
a.pages.HidePage(deleteCardModalPage) a.pages.HidePage(deleteModalPage)
a.setColumnFocus() a.setColumnFocus()
} }
a.deleteCardModal.AddButtons([]string{"Confirm", "Cancel"}).SetDoneFunc(doneFunc) a.deleteModal.AddButtons([]string{"Cancel", "Confirm"}).SetDoneFunc(doneFunc)
a.deleteCardModal.SetBorder(true).SetBorderColor(tcell.ColorOrangeRed) a.deleteModal.SetBorder(true).SetBorderColor(tcell.ColorOrangeRed)
a.deleteCardModal.SetBackgroundColor(tcell.ColorBlack.TrueColor()) a.deleteModal.SetBackgroundColor(tcell.ColorBlack.TrueColor())
a.deleteCardModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor()) a.deleteModal.SetButtonBackgroundColor(tcell.ColorBlueViolet.TrueColor())
a.deleteCardModal.SetTextColor(tcell.ColorWhite.TrueColor()) a.deleteModal.SetTextColor(tcell.ColorWhite.TrueColor())
} }
// initQuitModal initialises the quit modal. // initQuitModal initialises the quit modal.

View file

@ -87,16 +87,22 @@ func (a *App) edit() {
} }
func (a *App) delete() { func (a *App) delete() {
if a.mode == normal { switch a.mode {
case normal:
card, ok := a.getFocusedCard() card, ok := a.getFocusedCard()
if !ok { if !ok {
return return
} }
text := fmt.Sprintf("Do you want to delete '%s'?", card.Title) text := fmt.Sprintf("Do you want to delete the CARD %q?", card.Title)
a.deleteCardModal.SetText(text) a.deleteModal.SetText(text)
a.pages.ShowPage(deleteCardModalPage) a.pages.ShowPage(deleteModalPage)
a.SetFocus(a.deleteCardModal) a.SetFocus(a.deleteModal)
case boardEdit:
text := fmt.Sprintf("Do you want to delete the STATUS %q?", a.focusedStatusName())
a.deleteModal.SetText(text)
a.pages.ShowPage(deleteModalPage)
a.SetFocus(a.deleteModal)
} }
} }

View file

@ -19,12 +19,12 @@ const (
) )
const ( const (
mainPage string = "main" mainPage string = "main"
quitPage string = "quit" quitPage string = "quit"
cardFormPage string = "card form" cardFormPage string = "card form"
deleteCardModalPage string = "delete card modal" deleteModalPage string = "delete modal"
viewPage string = "view" viewPage string = "view"
statusFormPage string = "status form" statusFormPage string = "status form"
) )
const ( const (
@ -51,7 +51,7 @@ type App struct {
modeView *modeView modeView *modeView
quitModal *tview.Modal quitModal *tview.Modal
cardForm *cardForm cardForm *cardForm
deleteCardModal *tview.Modal deleteModal *tview.Modal
statusSelection statusSelection statusSelection statusSelection
cardView *cardView cardView *cardView
statusbar *statusbar statusbar *statusbar
@ -75,7 +75,7 @@ func NewApp(path string) (App, error) {
focusedColumn: 0, focusedColumn: 0,
columns: nil, columns: nil,
board: kanban, board: kanban,
deleteCardModal: tview.NewModal(), deleteModal: tview.NewModal(),
mode: normal, mode: normal,
modeView: newModeView(), modeView: newModeView(),
statusSelection: statusSelection{0, 0, 0}, statusSelection: statusSelection{0, 0, 0},
@ -108,8 +108,8 @@ func (a *App) Init() error {
a.initCardForm() a.initCardForm()
a.pages.AddPage(cardFormPage, a.cardForm, false, false) a.pages.AddPage(cardFormPage, a.cardForm, false, false)
a.initDeleteCardModal() a.initDeleteModal()
a.pages.AddPage(deleteCardModalPage, a.deleteCardModal, false, false) a.pages.AddPage(deleteModalPage, a.deleteModal, false, false)
a.initCardView() a.initCardView()
a.pages.AddPage(viewPage, a.cardView, false, false) a.pages.AddPage(viewPage, a.cardView, false, false)
@ -366,3 +366,7 @@ func (a *App) saveNewStatus(name string) {
a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true}) a.refresh(refreshArgs{updateFocusedColumnOnly: false, reinitialiseColumns: true})
} }
// TODO
func (a *App) deleteFocusedStatusColumn() {
}