remove pointer reference for models

This commit is contained in:
juancwu 2026-01-26 18:20:09 +00:00
commit 55675e0c1b
4 changed files with 32 additions and 40 deletions

View file

@ -15,10 +15,10 @@ import (
type MainModel struct {
currentPage messages.Page
login *login.Model
menu *menu.Model
listDomains *listdomains.Model
dnsRetrieve dns.RetrieveModel
login tea.Model
menu tea.Model
listDomains tea.Model
dnsRetrieve tea.Model
isMenuInit bool
width int
height int
@ -61,8 +61,7 @@ func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
m.listDomains = listdomains.New(msg.Client)
m.dnsRetrieve = dns.NewRetrieveModel(msg.Client)
if m.width > 0 && m.height > 0 {
newMenu, _ := m.menu.Update(tea.WindowSizeMsg{Width: m.width, Height: m.height})
m.menu = newMenu.(*menu.Model)
m.menu, _ = m.menu.Update(tea.WindowSizeMsg{Width: m.width, Height: m.height})
}
m.currentPage = messages.PageMenu
m.isMenuInit = true
@ -73,22 +72,15 @@ func (m MainModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
m.currentPage = messages.PageDNSRetrieve
}
var newModel tea.Model
switch m.currentPage {
case messages.PageLogin:
var newLogin tea.Model
newLogin, cmd = m.login.Update(msg)
m.login = newLogin.(*login.Model)
m.login, cmd = m.login.Update(msg)
case messages.PageMenu:
var newMenu tea.Model
newMenu, cmd = m.menu.Update(msg)
m.menu = newMenu.(*menu.Model)
m.menu, cmd = m.menu.Update(msg)
case messages.PageListDomains:
newModel, cmd = m.listDomains.Update(msg)
m.listDomains = newModel.(*listdomains.Model)
m.listDomains, cmd = m.listDomains.Update(msg)
case messages.PageDNSRetrieve:
newModel, cmd = m.dnsRetrieve.Update(msg)
m.dnsRetrieve = newModel.(dns.RetrieveModel)
m.dnsRetrieve, cmd = m.dnsRetrieve.Update(msg)
}
cmds = append(cmds, cmd)