@@ -28,7 +28,9 @@ func newTinyModel(skeleton *skeleton.Skeleton, title string) *tinyModel {
2828 }
2929}
3030
31- func (m tinyModel ) Init () tea.Cmd { return nil }
31+ func (m tinyModel ) Init () tea.Cmd {
32+ return nil
33+ }
3234func (m tinyModel ) Update (msg tea.Msg ) (tea.Model , tea.Cmd ) {
3335 return m , nil
3436}
@@ -40,60 +42,32 @@ func (m tinyModel) View() string {
4042}
4143
4244// -----------------------------------------------------------------------------
43- // Main Model
44- // The Main Model is the main model for the program. It contains the skeleton and the tab models.
45-
46- type mainModel struct {
47- skeleton * skeleton.Skeleton
48- }
49-
50- func (m * mainModel ) Init () tea.Cmd {
51- return tea .Batch (
52- tea .EnterAltScreen ,
53- tea .SetWindowTitle ("Basic Tab Example" ),
54- m .skeleton .Init (),
55- )
56- }
57-
58- func (m * mainModel ) Update (msg tea.Msg ) (tea.Model , tea.Cmd ) {
59- var cmd tea.Cmd
60- m .skeleton , cmd = m .skeleton .Update (msg )
61- return m , cmd
62- }
63-
64- func (m * mainModel ) View () string {
65- return m .skeleton .View ()
66- }
67-
45+ // Main Program
6846func main () {
69- skel := skeleton .NewSkeleton ()
47+ s := skeleton .NewSkeleton ()
7048
7149 // Add tabs (pages)
72- skel .AddPage ("first" , "First Tab" , newTinyModel (skel , "First" ))
73- skel .AddPage ("second" , "Second Tab" , newTinyModel (skel , "Second" ))
74- skel .AddPage ("third" , "Third Tab" , newTinyModel (skel , "Third" ))
50+ s .AddPage ("first" , "First Tab" , newTinyModel (s , "First" ))
51+ s .AddPage ("second" , "Second Tab" , newTinyModel (s , "Second" ))
52+ s .AddPage ("third" , "Third Tab" , newTinyModel (s , "Third" ))
7553
76- // Add a widget to entire screen
54+ // Add a widget to entire screen ( Optional )
7755 // Battery level is hardcoded. You can use a library to get the battery level of your system.
78- skel .AddWidget ("battery" , "Battery %92" ) // Add a widget to entire screen
56+ s .AddWidget ("battery" , "Battery %92" ) // Add a widget to entire screen
7957
80- // Add current time
81- skel .AddWidget ("time" , time .Now ().Format ("15:04:05" ))
58+ // Add current time ( Optional )
59+ s .AddWidget ("time" , time .Now ().Format ("15:04:05" ))
8260
83- // Update the time widget every second
61+ // Update the time widget every second ( Optional )
8462 go func () {
8563 time .Sleep (time .Second )
8664 for {
87- skel .UpdateWidgetValue ("time" , time .Now ().Format ("15:04:05" ))
65+ s .UpdateWidgetValue ("time" , time .Now ().Format ("15:04:05" ))
8866 time .Sleep (time .Second )
8967 }
9068 }()
9169
92- model := & mainModel {
93- skeleton : skel ,
94- }
95-
96- p := tea .NewProgram (model )
70+ p := tea .NewProgram (s )
9771 if err := p .Start (); err != nil {
9872 panic (err )
9973 }
0 commit comments