Событие печати, смена адреса, иконки
This commit is contained in:
@@ -31,7 +31,7 @@ class SettingsViewModel @Inject constructor(
|
||||
|
||||
init {
|
||||
refreshState()
|
||||
loadConfig()
|
||||
// loadConfig() убран - вызывается только по кнопке Refresh или если URL уже введён
|
||||
}
|
||||
|
||||
private fun refreshState() {
|
||||
@@ -44,6 +44,13 @@ class SettingsViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
fun loadConfig() {
|
||||
// Не загружаем конфиг, если URL не введён
|
||||
val currentUrl = serverConfig.getBaseUrl()
|
||||
if (currentUrl.isBlank()) {
|
||||
android.util.Log.d("SettingsViewModel", "Base URL is empty, skipping config load")
|
||||
return
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
_state.update { it.copy(isLoading = true, error = null) }
|
||||
val result = authRepository.fetchConfig()
|
||||
@@ -58,6 +65,16 @@ class SettingsViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
fun saveBaseUrl(url: String) {
|
||||
val currentUrl = serverConfig.getBaseUrl()
|
||||
|
||||
// Если URL действительно изменился, очищаем токен и логируем
|
||||
if (currentUrl != url) {
|
||||
android.util.Log.d("SettingsViewModel", "Server URL changed: $currentUrl -> $url, clearing token")
|
||||
viewModelScope.launch {
|
||||
authRepository.logout()
|
||||
}
|
||||
}
|
||||
|
||||
serverConfig.setBaseUrl(url)
|
||||
_state.update { it.copy(baseUrl = url) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user