Yimaru-Mobile/lib/ui/views/language/language_viewmodel.dart
BisratHailu 7f6a5f1d34 -feat(progress): Integrat my progress section with api.
-fix(localization): Localization state issue fixed.
-fix(profile_image): Fix profile image downloading issue.
2026-06-01 01:34:15 +03:00

42 lines
1.2 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:stacked/stacked.dart';
import 'package:stacked_services/stacked_services.dart';
import 'package:yimaru_app/services/localization_service.dart';
import '../../../app/app.locator.dart';
class LanguageViewModel extends ReactiveViewModel {
// Dependency injection
final _navigationService = locator<NavigationService>();
final _localizationService = locator<LocalizationService>();
@override
List<ListenableServiceMixin> get listenableServices => [_localizationService];
// Languages
List<Map<String, dynamic>> get _languages => _localizationService.languages;
List<Map<String, dynamic>> get languages => _languages;
Map<String, dynamic> get _selectedLanguage =>
_localizationService.selectedLanguage;
Map<String, dynamic> get selectedLanguage => _selectedLanguage;
// Languages
bool isSelectedLanguage(String title) =>
_localizationService.isSelectedLanguage(title);
Future<void> setSelectedLanguage(
{required BuildContext context,
required Map<String, dynamic> title}) async {
await _localizationService.setSelectedLanguage(
context: context, title: title);
rebuildUi();
}
// Navigation
void pop() => _navigationService.back();
}