Documentation
¶
Overview ¶
Package app implements the arag terminal user interface.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectionConfig ¶
ConnectionConfig contains credentials entered for one WebDAV session.
type ConnectionDefaults ¶
ConnectionDefaults pre-fills non-sensitive connection fields.
type DirectoryReader ¶
DirectoryReader lists the contents of a WebDAV directory.
type Model ¶
type Model struct {
// contains filtered or unexported fields
}
Model stores the state of the arag terminal interface.
func NewConnectionModel ¶
func NewConnectionModel( ctx context.Context, factory SessionFactory, defaults ConnectionDefaults, ) *Model
NewConnectionModel creates a model that starts with a WebDAV connection form and transitions to the browser after authentication succeeds.
func (*Model) Init ¶
Init detects the terminal theme and starts loading the WebDAV root outside the rendering path.
type Session ¶
type Session struct {
Client DirectoryReader
Player player.Player
Entries []webdav.Entry
}
Session contains the authenticated dependencies required by the browser.
type SessionFactory ¶
type SessionFactory func(context.Context, ConnectionConfig) (Session, error)
SessionFactory authenticates a WebDAV session and loads its root entries.