elCaribe app - customization and branding

This commit is contained in:
2025-12-12 19:09:42 -04:00
parent 9e5d0d8ebf
commit ba7deac9f3
402 changed files with 31833 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import 'package:news/utils/api.dart';
import 'package:news/utils/strings.dart';
class LanguageJsonRemoteDataSource {
Future<dynamic> getLanguageJson({required String lanCode}) async {
try {
final body = {CODE: lanCode};
final result = await Api.sendApiRequest(body: body, url: Api.getLangJsonDataApi);
return result;
} catch (e) {
throw ApiMessageAndCodeException(errorMessage: e.toString());
}
}
}

View File

@@ -0,0 +1,40 @@
import 'package:hive/hive.dart';
import 'package:news/utils/api.dart';
import 'package:news/utils/hiveBoxKeys.dart';
import 'package:news/utils/strings.dart';
import 'languageJsonRemoteDataRepo.dart';
class LanguageJsonRepository {
static final LanguageJsonRepository _languageRepository = LanguageJsonRepository._internal();
late LanguageJsonRemoteDataSource _languageRemoteDataSource;
factory LanguageJsonRepository() {
_languageRepository._languageRemoteDataSource = LanguageJsonRemoteDataSource();
return _languageRepository;
}
LanguageJsonRepository._internal();
Future<dynamic> getLanguageJson({required String lanCode}) async {
try {
final result = await _languageRemoteDataSource.getLanguageJson(lanCode: lanCode);
return result[DATA];
} catch (e) {
throw ApiMessageAndCodeException(errorMessage: e.toString());
}
}
Future<Map<dynamic, dynamic>> fetchLanguageLabels(String langCode) async {
try {
Map<dynamic, dynamic> languageLabelsJson = {};
await getLanguageJson(lanCode: langCode).then((value) async {
languageLabelsJson = value as Map<dynamic, dynamic>;
await Hive.box(settingsBoxKey).put(langCode, languageLabelsJson);
});
return languageLabelsJson;
} catch (e) {
throw ApiException(e.toString());
}
}
}