@@ -1028,49 +1028,26 @@ func substituteArgs(content string, args map[string]string) string {
10281028}
10291029
10301030func (m *UI) openAuthenticationDialog(provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) tea.Cmd {
1031+ var (
1032+ dlg dialog.Dialog
1033+ cmd tea.Cmd
1034+ )
1035+
10311036 switch provider.ID {
10321037 case "hyper":
1033− return m.openOAuthHyperDialog(provider, model, modelType)
1038+ dlg, cmd = dialog.NewOAuthHyper(m.com, provider, model, modelType)
10341039 case catwalk.InferenceProviderCopilot:
1035− return m.openOAuthCopilotDialog(provider, model, modelType)
1040+ dlg, cmd = dialog.NewOAuthCopilot(m.com, provider, model, modelType)
10361041 default:
1037− return m.openAPIKeyInputDialog(provider, model, modelType)
1038− }
1039−}
1040−
1041−func (m *UI) openAPIKeyInputDialog(provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) tea.Cmd {
1042− if m.dialog.ContainsDialog(dialog.APIKeyInputID) {
1043− m.dialog.BringToFront(dialog.APIKeyInputID)
1044− return nil
1045− }
1046−
1047− apiKeyInputDialog, err := dialog.NewAPIKeyInput(m.com, provider, model, modelType)
1048− if err != nil {
1049− return uiutil.ReportError(err)
1042+ dlg, cmd = dialog.NewAPIKeyInput(m.com, provider, model, modelType)
10501043 }
1051− m.dialog.OpenDialog(apiKeyInputDialog)
1052− return nil
1053−}
1054−
1055−func (m *UI) openOAuthHyperDialog(provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) tea.Cmd {
1056− if m.dialog.ContainsDialog(dialog.OAuthID) {
1057− m.dialog.BringToFront(dialog.OAuthID)
1058− return nil
1059− }
1060−
1061− oAuthDialog, cmd := dialog.NewOAuthHyper(m.com, provider, model, modelType)
1062− m.dialog.OpenDialog(oAuthDialog)
1063− return cmd
1064−}
10651044
1066−func (m *UI) openOAuthCopilotDialog(provider catwalk.Provider, model config.SelectedModel, modelType config.SelectedModelType) tea.Cmd {
1067− if m.dialog.ContainsDialog(dialog.OAuthID) {
1068− m.dialog.BringToFront(dialog.OAuthID)
1045+ if m.dialog.ContainsDialog(dlg.ID()) {
1046+ m.dialog.BringToFront(dlg.ID())
10691047 return nil
10701048 }
10711049
1072− oAuthDialog, cmd := dialog.NewOAuthCopilot(m.com, provider, model, modelType)
1073− m.dialog.OpenDialog(oAuthDialog)
1050+ m.dialog.OpenDialog(dlg)
10741051 return cmd
10751052}
10761053