tui

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2022 License: GPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	COLOR_SUBJECT_UNREAD = "teal"
	COLOR_SUBJECT_READ   = "white"
)

Variables

View Source
View Source
var HELP_TEMPLATE = `
HELP!

Default shortcuts:

%s
`
View Source
var INFO_TEMPLATE = "%s"
View Source
var STATS_TEMPLATE = `` /* 150-byte string literal not displayed */

Functions

func MillisecondsToDate

func MillisecondsToDate(ms int64) string

Types

type GroupMapEntry

type GroupMapEntry struct {
	Index int
}

type Mainscreen

type Mainscreen struct {
	T      *TUI
	Canvas *tview.Grid

	Header *tview.TextView
	Stats  *tview.TextView
	Info   *tview.TextView
	Footer *tview.TextView

	Groups   *tview.List
	Articles *tview.List
	Preview  *tview.TextView

	CurrentGroupSelected   int
	CurrentArticleSelected int

	GroupsMap  map[string]GroupMapEntry
	GroupsList []string

	ArticlesList []*models.Article

	MarkTimer *time.Timer

	ArticlesListView int8
}

func (*Mainscreen) GetCanvas

func (mainscreen *Mainscreen) GetCanvas() tview.Primitive

func (*Mainscreen) GetDefaultFocus

func (mainscreen *Mainscreen) GetDefaultFocus() tview.Primitive

func (*Mainscreen) HandleInput

func (mainscreen *Mainscreen) HandleInput(event *tcell.EventKey) *tcell.EventKey

func (*Mainscreen) Refresh

func (mainscreen *Mainscreen) Refresh()

func (*Mainscreen) SetFooter

func (mainscreen *Mainscreen) SetFooter(text string)

func (*Mainscreen) SetInfo added in v0.0.5

func (mainscreen *Mainscreen) SetInfo(info map[string]string)

func (*Mainscreen) SetStats

func (mainscreen *Mainscreen) SetStats(stats map[string]int64)

func (*Mainscreen) SetVersion added in v0.0.7

func (mainscreen *Mainscreen) SetVersion(version string, versionLatest string)

type ModalButton

type ModalButton struct {
	Rune     rune
	Callback func()
}

type Splashscreen

type Splashscreen struct {
	T          *TUI
	Canvas     *tview.TextView
	ImageBytes []byte
}

func (*Splashscreen) GetCanvas

func (splashscreen *Splashscreen) GetCanvas() tview.Primitive

func (*Splashscreen) GetDefaultFocus

func (splashscreen *Splashscreen) GetDefaultFocus() tview.Primitive

func (*Splashscreen) HandleInput

func (splashscreen *Splashscreen) HandleInput(event *tcell.EventKey) *tcell.EventKey

func (*Splashscreen) Refresh

func (splashscreen *Splashscreen) Refresh()

type TUI

type TUI struct {
	App        *tview.Application
	Views      map[string]View
	ActiveView string

	Modal        *tview.Modal
	ModalVisible bool
	ModalButtons map[string]ModalButton

	ArticlesDatasource *[]*models.Article
	ArticlesRoots      *[]*models.Article

	CallbackRefreshArticles func() error
	CallbackSubmitArticle   func(article *models.Article) error

	Config *config.Config
	Cache  *cache.Cache
	Logger *zap.Logger

	Stats map[string]int64

	Version       string
	VersionLatest string

	Meta map[string]interface{}
}

func Init

func Init(embedfs *embed.FS, cfg *config.Config, cch *cache.Cache, logger *zap.Logger) *TUI

func (*TUI) HideModal

func (t *TUI) HideModal()

func (*TUI) Launch

func (t *TUI) Launch()

func (*TUI) NewMainscreen

func (t *TUI) NewMainscreen() *Mainscreen

func (*TUI) NewSplashscreen

func (t *TUI) NewSplashscreen(logo *[]byte) *Splashscreen

func (*TUI) OpenArticle

func (t *TUI) OpenArticle(article *models.Article, readOnly bool) (models.Article, error)

func (*TUI) Refresh

func (t *TUI) Refresh()

func (*TUI) RefreshData

func (t *TUI) RefreshData()

func (*TUI) RefreshMainscreen added in v0.0.5

func (t *TUI) RefreshMainscreen()

func (*TUI) SetInfo added in v0.0.5

func (t *TUI) SetInfo(refresh bool)

func (*TUI) SetStats

func (t *TUI) SetStats(peers, rateIn, rateOut, totalIn, totalOut int64)

func (*TUI) SetVersion added in v0.0.7

func (t *TUI) SetVersion(version string, versionLatest string)

func (*TUI) SetView

func (t *TUI) SetView(name string, redraw bool)

func (*TUI) ShowErrorModal

func (t *TUI) ShowErrorModal(text string)

func (*TUI) ShowHelpModal added in v0.1.1

func (t *TUI) ShowHelpModal(text string)

func (*TUI) ShowModal

func (t *TUI) ShowModal(text string, buttons map[string]ModalButton)

type View

type View interface {
	GetCanvas() tview.Primitive
	GetDefaultFocus() tview.Primitive

	Refresh()

	HandleInput(event *tcell.EventKey) *tcell.EventKey
}

Jump to

Keyboard shortcuts

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