diff --git a/internal/ui/dialog/oauth.go b/internal/ui/dialog/oauth.go index 96ea4ee81cf35627926fe920b5ca2680ef9b67af..ae5a2ab25a1ec596ba50ea6b3a0d03f560f1b10d 100644 --- a/internal/ui/dialog/oauth.go +++ b/internal/ui/dialog/oauth.go @@ -71,7 +71,7 @@ type OAuth struct { var _ Dialog = (*OAuth)(nil) // newOAuth creates a new device flow component. -func newOAuth(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType, oAuthProvider OAuthProvider) (*OAuth, error) { +func newOAuth(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType, oAuthProvider OAuthProvider) (*OAuth, tea.Cmd) { t := com.Styles m := OAuth{} @@ -101,7 +101,7 @@ func newOAuth(com *common.Common, provider catwalk.Provider, model config.Select ) m.keyMap.Close = CloseKey - return &m, nil + return &m, tea.Batch(m.spinner.Tick, m.oAuthProvider.initiateAuth) } // ID implements Dialog. @@ -109,11 +109,6 @@ func (m *OAuth) ID() string { return OAuthID } -// Init implements Dialog. -func (m *OAuth) Init() tea.Cmd { - return tea.Batch(m.spinner.Tick, m.oAuthProvider.initiateAuth) -} - // HandleMsg handles messages and state transitions. func (m *OAuth) HandleMsg(msg tea.Msg) Action { switch msg := msg.(type) { diff --git a/internal/ui/dialog/oauth_copilot.go b/internal/ui/dialog/oauth_copilot.go index 2364c02804ffc0eca776b24849bdb38aacf1df94..19e389b38a965c4c22ba1b2080b029975aaedc19 100644 --- a/internal/ui/dialog/oauth_copilot.go +++ b/internal/ui/dialog/oauth_copilot.go @@ -12,7 +12,7 @@ import ( "github.com/charmbracelet/crush/internal/ui/common" ) -func NewOAuthCopilot(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) (*OAuth, error) { +func NewOAuthCopilot(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) (*OAuth, tea.Cmd) { return newOAuth(com, provider, model, modelType, &OAuthCopilot{}) } diff --git a/internal/ui/dialog/oauth_hyper.go b/internal/ui/dialog/oauth_hyper.go index 65d3e34e817384e8e123e4720f7cdd310213aa87..478960b0df10f62d88b65450de360f4db6d6cd0c 100644 --- a/internal/ui/dialog/oauth_hyper.go +++ b/internal/ui/dialog/oauth_hyper.go @@ -12,7 +12,7 @@ import ( "github.com/charmbracelet/crush/internal/ui/common" ) -func NewOAuthHyper(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) (*OAuth, error) { +func NewOAuthHyper(com *common.Common, provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) (*OAuth, tea.Cmd) { return newOAuth(com, provider, model, modelType, &OAuthHyper{}) } diff --git a/internal/ui/model/ui.go b/internal/ui/model/ui.go index a79598bd857688491b57c58d85244e2499408498..4d3ecafe07eeb3a88c4b88f90bc60b0fe4d8266e 100644 --- a/internal/ui/model/ui.go +++ b/internal/ui/model/ui.go @@ -1058,13 +1058,9 @@ func (m *UI) openOAuthHyperDialog(provider catwalk.Provider, model config.Select return nil } - oAuthDialog, err := dialog.NewOAuthHyper(m.com, provider, model, modelType) - if err != nil { - return uiutil.ReportError(err) - } + oAuthDialog, cmd := dialog.NewOAuthHyper(m.com, provider, model, modelType) m.dialog.OpenDialog(oAuthDialog) - - return oAuthDialog.Init() + return cmd } func (m *UI) openOAuthCopilotDialog(provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) tea.Cmd { @@ -1073,13 +1069,9 @@ func (m *UI) openOAuthCopilotDialog(provider catwalk.Provider, model config.Sele return nil } - oAuthDialog, err := dialog.NewOAuthCopilot(m.com, provider, model, modelType) - if err != nil { - return uiutil.ReportError(err) - } + oAuthDialog, cmd := dialog.NewOAuthCopilot(m.com, provider, model, modelType) m.dialog.OpenDialog(oAuthDialog) - - return oAuthDialog.Init() + return cmd } func (m *UI) handleKeyPressMsg(msg tea.KeyPressMsg) tea.Cmd {