Merge pull request #73 from LazyBachelor/LPM-138
LPM-138 Refactor Tui with composable modals and use canvas Refactors the TUI (dashboard + kanban) to use a shared, composable modal system with canvas-based overlay rendering, while consolidating styling into internal/style and expanding issue interactions (e.g., comments). Changes: Introduces a new pkg/tui/modal system (manager/stack + multiple modal types) and overlays modals using Lipgloss compositor layers. Refactors dashboard/kanban views and input handling to use the modal manager + focus manager instead of per-modal boolean state. Consolidates TUI styling by moving from pkg/tui/styles to internal/style and updates components to use the new style package; adds a shared footer renderer.
This commit is contained in:
@@ -10,35 +10,47 @@ import (
|
||||
|
||||
// Msg types used by both dashboard and kanban TUI views.
|
||||
type (
|
||||
SwitchToDashboardMsg struct{}
|
||||
|
||||
SwitchToKanbanBoardMsg struct{}
|
||||
|
||||
SelectIssueMsg struct{ IssueID string }
|
||||
|
||||
TitleUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
|
||||
DescriptionUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
|
||||
StatusUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
|
||||
PriorityUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
|
||||
TypeUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
|
||||
AssigneeUpdatedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
}
|
||||
SelectIssueMsg struct{ IssueID string }
|
||||
CreatedMsg struct {
|
||||
|
||||
CreatedMsg struct {
|
||||
Issue *models.Issue
|
||||
Err error
|
||||
}
|
||||
|
||||
DeletedMsg struct {
|
||||
IssueID string
|
||||
Err error
|
||||
@@ -50,11 +62,14 @@ type (
|
||||
Err error
|
||||
}
|
||||
|
||||
// SwitchToDashboardMsg signals to switch to the main dashboard view.
|
||||
SwitchToDashboardMsg struct{}
|
||||
ModalCompletedMsg struct {
|
||||
ModalID string
|
||||
Result interface{}
|
||||
}
|
||||
|
||||
// SwitchToKanbanBoardMsg signals to switch to the kanban board view.
|
||||
SwitchToKanbanBoardMsg struct{}
|
||||
ModalCancelledMsg struct {
|
||||
ModalID string
|
||||
}
|
||||
)
|
||||
|
||||
// UpdateIssueTitleCmd returns a command that updates an issue's title.
|
||||
|
||||
Reference in New Issue
Block a user