From 2885ec32bc0bb48741d6cdaeb4245e41e4f04b7c Mon Sep 17 00:00:00 2001 From: The Magician Date: Mon, 10 Jun 2024 14:15:10 +0100 Subject: [PATCH] Start search UI --- sevenkeys/tui/home.go | 10 +++------- sevenkeys/tui/searchui/searchui.go | 28 +++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/sevenkeys/tui/home.go b/sevenkeys/tui/home.go index f612984..bbaa691 100644 --- a/sevenkeys/tui/home.go +++ b/sevenkeys/tui/home.go @@ -135,6 +135,7 @@ func (m MainModel) View() string { func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { var cmd tea.Cmd + var cmds []tea.Cmd switch msg := msg.(type) { case tea.WindowSizeMsg: @@ -157,14 +158,10 @@ func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch { case key.Matches(msg, m.keyMappings.Update): m.state = updateView - break case key.Matches(msg, m.keyMappings.Search): m.state = searchView - break } - break } - break case updateView: newUpdate, newCmd := m.updateModel.Update(msg) @@ -175,7 +172,6 @@ func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.updateModel = newUpdateModel cmd = newCmd - break case searchView: newSearch, newCmd := m.searchModel.Update(msg) newSearchModel, ok := newSearch.(searchui.Model) @@ -185,8 +181,8 @@ func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.searchModel = newSearchModel cmd = newCmd - break } - return m, cmd + cmds = append(cmds, cmd) + return m, tea.Batch(cmds...) } diff --git a/sevenkeys/tui/searchui/searchui.go b/sevenkeys/tui/searchui/searchui.go index 62fba71..1d80e26 100644 --- a/sevenkeys/tui/searchui/searchui.go +++ b/sevenkeys/tui/searchui/searchui.go @@ -1,8 +1,16 @@ package searchui -import tea "github.com/charmbracelet/bubbletea" +import ( + "sevenkeys/figlet" + "sevenkeys/logic" + + tea "github.com/charmbracelet/bubbletea" +) type Model struct { + searchOptions logic.SearchOptions + selectedCardPrintingId int + selectedCardPrintingSearch string } func NewSearchModel() Model { @@ -14,9 +22,23 @@ func (m Model) Init() tea.Cmd { } func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { - return m, nil + /* + var cmd tea.Cmd + + switch msg := msg.(type) { + case cardPrintingsLoadedMsg: + m.cardPrintingsLoaded = true + break + } + */ + + return m, tea.Quit } func (m Model) View() string { - return "Search" + var ui string + + ui += figlet.SprintMsgSlant("Insert Cards") + + return ui }