57 lines
1019 B
Go
57 lines
1019 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"time"
|
|
|
|
"git.akyoto.dev/cli/dash/clock"
|
|
"git.akyoto.dev/cli/dash/core"
|
|
"git.akyoto.dev/cli/dash/editor"
|
|
"github.com/gdamore/tcell/v2"
|
|
"github.com/rivo/tview"
|
|
)
|
|
|
|
func main() {
|
|
app := tview.NewApplication()
|
|
|
|
grid := tview.NewGrid()
|
|
grid.SetRows(3, 0, 3)
|
|
grid.SetColumns(0, 80, 0)
|
|
grid.SetBorders(false)
|
|
grid.SetBackgroundColor(tcell.ColorDefault)
|
|
|
|
dataDir := core.ConfigDir()
|
|
err := os.MkdirAll(dataDir, 0700)
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
header := clock.New("15:04:05", time.Second)
|
|
main := editor.New(filepath.Join(dataDir, "main"))
|
|
footer := clock.New("2006-01-02", time.Hour)
|
|
|
|
grid.AddItem(header, 0, 0, 1, 3, 0, 0, false)
|
|
grid.AddItem(main.Pages, 1, 1, 1, 1, 0, 0, false)
|
|
grid.AddItem(footer, 2, 0, 1, 3, 0, 0, false)
|
|
|
|
app.EnableMouse(true)
|
|
app.SetRoot(grid, true)
|
|
app.SetFocus(main.Pages)
|
|
|
|
go func() {
|
|
tick := time.NewTicker(time.Second)
|
|
|
|
for range tick.C {
|
|
app.Draw()
|
|
}
|
|
}()
|
|
|
|
err = app.Run()
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|