(_ model: String)
| 3595 | } |
| 3596 | |
| 3597 | private func removeModel(_ model: String) { |
| 3598 | // Don't remove if it's currently selected |
| 3599 | if self.selectedModel == model { |
| 3600 | // Switch to first available model that's not the one being removed |
| 3601 | if let firstOther = availableModels.first(where: { $0 != model }) { |
| 3602 | self.selectedModel = firstOther |
| 3603 | } |
| 3604 | } |
| 3605 | |
| 3606 | // Remove from current provider's model list |
| 3607 | self.availableModels.removeAll { $0 == model } |
| 3608 | |
| 3609 | // Update the stored models for this provider |
| 3610 | let key = self.providerKey(for: self.selectedProviderID) |
| 3611 | self.availableModelsByProvider[key] = self.availableModels |
| 3612 | SettingsStore.shared.availableModelsByProvider = self.availableModelsByProvider |
| 3613 | |
| 3614 | // If this is a saved custom provider, update its models array too |
| 3615 | if let providerIndex = savedProviders.firstIndex(where: { $0.id == selectedProviderID }) { |
| 3616 | let updatedProvider = SettingsStore.SavedProvider( |
| 3617 | id: self.savedProviders[providerIndex].id, |
| 3618 | name: self.savedProviders[providerIndex].name, |
| 3619 | baseURL: self.savedProviders[providerIndex].baseURL, |
| 3620 | models: self.availableModels |
| 3621 | ) |
| 3622 | self.savedProviders[providerIndex] = updatedProvider |
| 3623 | self.saveSavedProviders() |
| 3624 | } |
| 3625 | |
| 3626 | // Update selected model mapping for this provider |
| 3627 | self.selectedModelByProvider[key] = self.selectedModel |
| 3628 | SettingsStore.shared.selectedModelByProvider = self.selectedModelByProvider |
| 3629 | } |
| 3630 | |
| 3631 | // Deprecated: hotkey persistence is handled via SettingsStore |
| 3632 | } |
nothing calls this directly
no test coverage detected