first commit

This commit is contained in:
Hamza-Ayed
2026-06-09 08:40:31 +03:00
commit d8901e1a87
3161 changed files with 536187 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../constant/box_name.dart';
import '../../main.dart';
import '../themes/themes.dart';
import '../profile/setting_controller.dart';
class LocaleController extends GetxController {
Locale? language;
String countryCode = '';
ThemeData get appTheme {
String lang = box.read(BoxName.lang) ?? 'en';
bool isDarkMode = box.read('isDarkMode') ?? false;
return _getThemeFor(lang, isDarkMode);
}
ThemeData get lightTheme {
String lang = box.read(BoxName.lang) ?? 'en';
return _getThemeFor(lang, false);
}
ThemeData get darkTheme {
String lang = box.read(BoxName.lang) ?? 'en';
return _getThemeFor(lang, true);
}
ThemeData _getThemeFor(String lang, bool isDarkMode) {
if (lang.startsWith('ar')) {
return isDarkMode ? darkThemeArabic : lightThemeArabic;
} else {
return isDarkMode ? darkThemeEnglish : lightThemeEnglish;
}
}
void refreshTheme() {
update();
}
void changeLang(String langcode) {
Locale locale = Locale(langcode);
box.write(BoxName.lang, langcode);
Get.updateLocale(locale);
update();
}
@override
void onInit() {
String? storedLang = box.read(BoxName.lang);
if (storedLang == null) {
storedLang = Get.deviceLocale!.languageCode;
box.write(BoxName.lang, storedLang);
}
language = Locale(storedLang);
super.onInit();
}
}