feat(tui): add status bar, help overlay, tag filter, and entity actions
Status bar with entity count and context-sensitive key hints. Help overlay via ? key. Tag filter via # with cursor-navigable tag list. Todo toggle (x), pin (!), promote (p), demote (D), copy (c), edit (e) via $EDITOR. Delete confirmation with 3s timeout. Date-grouped list with completed todo and pinned indicators. Esc clears active tag filter. Adds CompletedAt/ClearCompleted to EntityUpdate for todo toggling.
This commit is contained in:
+18
-10
@@ -89,16 +89,18 @@ func DefaultListParams() ListParams {
|
||||
}
|
||||
|
||||
type EntityUpdate struct {
|
||||
Body *string
|
||||
Title *string
|
||||
Description *string
|
||||
Glyph *Glyph
|
||||
TimeAnchor *string
|
||||
ClearTime bool
|
||||
Pinned *bool
|
||||
CardType *CardType
|
||||
CardData *string
|
||||
Tags *[]string
|
||||
Body *string
|
||||
Title *string
|
||||
Description *string
|
||||
Glyph *Glyph
|
||||
TimeAnchor *string
|
||||
ClearTime bool
|
||||
CompletedAt *time.Time
|
||||
ClearCompleted bool
|
||||
Pinned *bool
|
||||
CardType *CardType
|
||||
CardData *string
|
||||
Tags *[]string
|
||||
}
|
||||
|
||||
func (s *Store) Create(e *Entity) error {
|
||||
@@ -311,6 +313,12 @@ func (s *Store) Update(id string, u *EntityUpdate) error {
|
||||
sets = append(sets, "time_anchor = ?")
|
||||
args = append(args, *u.TimeAnchor)
|
||||
}
|
||||
if u.ClearCompleted {
|
||||
sets = append(sets, "completed_at = NULL")
|
||||
} else if u.CompletedAt != nil {
|
||||
sets = append(sets, "completed_at = ?")
|
||||
args = append(args, u.CompletedAt.Format(time.RFC3339))
|
||||
}
|
||||
if u.Pinned != nil {
|
||||
sets = append(sets, "pinned = ?")
|
||||
args = append(args, boolToInt(*u.Pinned))
|
||||
|
||||
Reference in New Issue
Block a user