loadLogo method
Implementation
Future<void> loadLogo() async {
// 1. Check memory first
if (logoUrl.value.isNotEmpty) return;
// 2. Check local storage
final cachedLogo = storageUtils.getClientLogo();
if (cachedLogo != null && cachedLogo.isNotEmpty) {
logoUrl.value = cachedLogo;
return;
}
// 3. Call API
try {
final response = await apiService.getData(
AppUrls.getSystemConfigParamValByName,
queryParams: {'configParamName': 'CLIENT_LOGO_URL'},
);
final url = response.data['data']['ConfigParamVal'];
// Save in memory
logoUrl.value = url;
// Save in local storage
await storageUtils.setClientLogo(url);
} catch (e) {
// fallback
logoUrl.value =
'https://s3bucket.onthecloud.in:9000/apkupdates/images/vega_logo.svg';
}
}