Событие печати, смена адреса, иконки

This commit is contained in:
Халимов Рустам
2026-04-17 16:23:52 +03:00
parent cea3f4d669
commit 8c00d1376d
20 changed files with 95 additions and 26 deletions
@@ -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) }
}