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,47 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:news/data/models/appLanguageModel.dart';
import 'package:news/data/repositories/language/languageRepository.dart';
abstract class LanguageState {}
class LanguageInitial extends LanguageState {}
class LanguageFetchInProgress extends LanguageState {}
class LanguageFetchSuccess extends LanguageState {
final List<LanguageModel> language;
LanguageFetchSuccess({required this.language});
}
class LanguageFetchFailure extends LanguageState {
final String errorMessage;
LanguageFetchFailure(this.errorMessage);
}
class LanguageCubit extends Cubit<LanguageState> {
final LanguageRepository _languageRepository;
LanguageCubit(this._languageRepository) : super(LanguageInitial());
Future<List<LanguageModel>> getLanguage() async {
try {
emit(LanguageFetchInProgress());
final result = await _languageRepository.getLanguage();
emit(LanguageFetchSuccess(language: result['Language']));
return result['Language'];
} catch (e) {
emit(LanguageFetchFailure(e.toString()));
return [];
}
}
List<LanguageModel> langList() {
return (state is LanguageFetchSuccess) ? (state as LanguageFetchSuccess).language : [];
}
int getLanguageIndex({required String langName}) {
return (state is LanguageFetchSuccess) ? (state as LanguageFetchSuccess).language.indexWhere((element) => element.language == langName) : 0;
}
}