From 3482ba70eb88b4dbd15724401bdb6803f5c56084 Mon Sep 17 00:00:00 2001 From: The Magician Date: Mon, 27 May 2024 12:15:42 +0100 Subject: [PATCH] Implement skeleton of UI --- sevenkeys/cmd/storagemgr/main.go | 14 ++++++++++++-- sevenkeys/ui/model.go | 27 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 sevenkeys/ui/model.go diff --git a/sevenkeys/cmd/storagemgr/main.go b/sevenkeys/cmd/storagemgr/main.go index 8a68a4e..5e81fac 100644 --- a/sevenkeys/cmd/storagemgr/main.go +++ b/sevenkeys/cmd/storagemgr/main.go @@ -1,7 +1,17 @@ package main -import "fmt" +import ( + "log" + "sevenkeys/ui" + + tea "github.com/charmbracelet/bubbletea" +) func main() { - fmt.Println("storage manager") + var model ui.StoragemgrModel + p := tea.NewProgram(model) + + if _, err := p.Run(); err != nil { + log.Fatal(err) + } } diff --git a/sevenkeys/ui/model.go b/sevenkeys/ui/model.go new file mode 100644 index 0000000..aa6375a --- /dev/null +++ b/sevenkeys/ui/model.go @@ -0,0 +1,27 @@ +package ui + +import tea "github.com/charmbracelet/bubbletea" + +type StoragemgrModel struct { +} + +func (m StoragemgrModel) Init() tea.Cmd { + return nil +} + +func (m StoragemgrModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { + switch msg := msg.(type) { + case tea.KeyMsg: + switch msg.String() { + case "ctrl+c": + return m, tea.Quit + } + } + + return m, nil +} + +func (m StoragemgrModel) View() string { + ui := "Hello, world\n" + return ui +}