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