app

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 6, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SelectedEntryMode_Default = iota
	SelectedEntryMode_Editing
	SelectedEntryMode_ShowActions
	SelectedEntryMode_DeleteConfirm
	SelectedEntryMode_AddingChild
)
View Source
const (
	CtrlCExitDelayMs = 1000
)

Variables

This section is empty.

Functions

func App

func App(state *State, window *dom.Window) *dom.Node

func ConfirmDialog

func ConfirmDialog(props ConfirmDialogProps) *dom.Node

ConfirmDialog creates a confirmation dialog with action and cancel buttons

func DetailPage added in v0.0.4

func DetailPage(state *State, id int64) *dom.Node

func MainPage added in v0.0.4

func MainPage(state *State, window *dom.Window) *dom.Node
func Menu(props MenuProps) *dom.Node

func RenderEntryTree added in v0.0.4

func RenderEntryTree(state *State) []*dom.Node

RenderEntryTree builds and renders the tree of entries as DOM nodes

func SearchInput added in v0.0.4

func SearchInput(props InputProps) *dom.Node

func TodoItem added in v0.0.4

func TodoItem(props TodoItemProps) *dom.Node

Types

type ConfirmDialogProps

type ConfirmDialogProps struct {
	SelectedButton  int
	PromptText      string // e.g., "Delete todo?"
	DeleteText      string // e.g., "[Delete]" or "[OK]"
	CancelText      string // e.g., "[Cancel]"
	OnDelete        func()
	OnCancel        func()
	OnNavigateRight func()
	OnNavigateLeft  func()
}

ConfirmDialogProps contains the properties for the confirmation dialog

type EntryWithDepth added in v0.0.4

type EntryWithDepth struct {
	Entry       *models.LogEntryView
	Depth       int
	IsLastChild []bool // For each depth level, whether this entry is the last child at that level
}

EntryWithDepth represents a flattened entry with its depth and ancestor information

type InputProps

type InputProps struct {
	Placeholder string
	State       *models.InputState
	OnEnter     func(string) bool

	OnKeyDown func(event *dom.DOMEvent) bool
	// contains filtered or unexported fields
}
type MenuItem struct {
	Text     string
	Color    string
	OnSelect func()
}
type MenuProps struct {
	Title         string
	SelectedIndex int
	Items         []MenuItem
	OnSelect      func(index int)
	OnKeyDown     func(e *dom.DOMEvent)

	OnDismiss func()
}

type SelectedEntryMode added in v0.0.3

type SelectedEntryMode int

type State

type State struct {
	Entries models.LogEntryViews

	Input               models.InputState
	SelectedEntryID     int64
	LastSelectedEntryID int64
	SelectedEntryMode   SelectedEntryMode
	SelectedInputState  models.InputState
	ChildInputState     models.InputState

	SelectedDeleteConfirmButton int

	// in ZenMode, only show highlighted and
	// unfinished entries
	ZenMode bool

	SelectedActionIndex int

	EnteredEntryID int64

	ShowHistory bool // Whether to show historical (done) todos from before today

	// Search functionality
	SearchQuery    string // Current search query (without the ? prefix)
	IsSearchActive bool   // Whether search mode is active

	Quit func()

	Refresh func()

	OnAdd             func(string)
	OnAddChild        func(parentID int64, text string)
	OnUpdate          func(id int64, text string)
	OnDelete          func(id int64)
	OnToggle          func(id int64)
	OnPromote         func(id int64)
	OnUpdateHighlight func(id int64, highlightLevel int)

	OnAddNote    func(id int64, text string)
	OnDeleteNote func(entryID int64, noteID int64)

	OnRefreshEntries func() // Callback to refresh entries when ShowHistory changes

	LastCtrlC time.Time
}

func (*State) ClearSearch added in v0.0.4

func (state *State) ClearSearch()

type TodoItemProps added in v0.0.4

type TodoItemProps struct {
	Item        *models.LogEntryView
	Depth       int
	IsLastChild []bool
	IsSelected  bool
	State       *State
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL