making the enter/details key switch focus between issues and details; using the v key for switching between kanban and list view; making the footer stay at the buttom of the screen in kanban view
This commit is contained in:
@@ -19,8 +19,8 @@ type KanbanKeyMap struct {
|
||||
var defaultKanbanKeyMap = KanbanKeyMap{
|
||||
CommonKeyMap: components.DefaultCommonKeyMap(),
|
||||
SwitchToDashboard: key.NewBinding(
|
||||
key.WithKeys("1"),
|
||||
key.WithHelp("1", "dashboard 1"),
|
||||
key.WithKeys("v"),
|
||||
key.WithHelp("v", "dashboard 1"),
|
||||
),
|
||||
MoveColumnLeft: key.NewBinding(
|
||||
key.WithKeys("h"),
|
||||
@@ -68,7 +68,7 @@ func (d *Model) handleKeyMsg(msg tea.KeyMsg) tea.Cmd {
|
||||
cmd = d.moveIssue(-1)
|
||||
case d.IsFocusedOnList() && key.Matches(msg, d.keyMap.SelectIssue):
|
||||
d.FocusDetail()
|
||||
case d.IsFocusedOnDetail() && key.Matches(msg, d.keyMap.BackToList):
|
||||
case d.IsFocusedOnDetail() && (key.Matches(msg, d.keyMap.BackToList) || key.Matches(msg, d.keyMap.SelectIssue)):
|
||||
d.FocusList()
|
||||
case d.IsFocusedOnDetail() && key.Matches(msg, d.keyMap.ScrollUp):
|
||||
d.issueDetail.ScrollUp(1)
|
||||
|
||||
@@ -66,7 +66,15 @@ func (m *Model) View() string {
|
||||
board := lipgloss.JoinHorizontal(lipgloss.Left, todoCol, inProgCol, doneCol)
|
||||
content := lipgloss.JoinVertical(lipgloss.Left, board, m.issueDetail.View())
|
||||
|
||||
// Add spacer to lock footer to bottom of screen when content is shorter than available space
|
||||
// This is to avoid having the footer floating above the bottom of the screen
|
||||
mainView := lipgloss.JoinVertical(lipgloss.Left, header, content, footer)
|
||||
mainViewHeight := lipgloss.Height(mainView)
|
||||
if mainViewHeight < m.height {
|
||||
spacerHeight := m.height - mainViewHeight
|
||||
spacer := lipgloss.NewStyle().Height(spacerHeight).Width(m.width).Render("")
|
||||
mainView = lipgloss.JoinVertical(lipgloss.Left, header, content, spacer, footer)
|
||||
}
|
||||
|
||||
return components.RenderModals(
|
||||
m.width,
|
||||
|
||||
Reference in New Issue
Block a user