Extract shared model validation helper in model selection panel

Agent-Logs-Url: https://github.com/AkhilKonduru1/Atoll/sessions/d40c666d-f589-48ca-9539-1fd33c799962

Co-authored-by: AkhilKonduru1 <210101196+AkhilKonduru1@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-15 03:16:34 +00:00 • committed by GitHub
commit c640921fa5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -309,9 +309,7 @@ struct ModelSelectionView: View {
private func loadCurrentConfiguration() { private func loadCurrentConfiguration() {
selectedProvider = Defaults[.selectedAIProvider] selectedProvider = Defaults[.selectedAIProvider]
selectedModel = Defaults[.selectedAIModel] selectedModel = Defaults[.selectedAIModel]
if selectedModel == nil || !selectedProvider.supportedModels.contains(where: { $0.id == selectedModel?.id }) { ensureValidModelSelection()
selectedModel = selectedProvider.supportedModels.first
}
enableThinking = Defaults[.enableThinkingMode] enableThinking = Defaults[.enableThinkingMode]
geminiApiKey = Defaults[.geminiApiKey] geminiApiKey = Defaults[.geminiApiKey]
@ -322,9 +320,7 @@ struct ModelSelectionView: View {
} }
private func saveConfiguration() { private func saveConfiguration() {
if selectedModel == nil || !selectedProvider.supportedModels.contains(where: { $0.id == selectedModel?.id }) { ensureValidModelSelection()
selectedModel = selectedProvider.supportedModels.first
}
Defaults[.selectedAIProvider] = selectedProvider Defaults[.selectedAIProvider] = selectedProvider
Defaults[.selectedAIModel] = selectedModel Defaults[.selectedAIModel] = selectedModel
@ -344,8 +340,12 @@ struct ModelSelectionView: View {
private func selectProvider(_ provider: AIModelProvider) { private func selectProvider(_ provider: AIModelProvider) {
selectedProvider = provider selectedProvider = provider
if !provider.supportedModels.contains(where: { $0.id == selectedModel?.id }) { ensureValidModelSelection()
selectedModel = provider.supportedModels.first }
private func ensureValidModelSelection() {
if selectedModel == nil || !selectedProvider.supportedModels.contains(where: { $0.id == selectedModel?.id }) {
selectedModel = selectedProvider.supportedModels.first
} }
} }