This commit is contained in:
Surendiran 2025-06-24 11:33:42 +05:30
parent fd8c319809
commit bc58cfc4c0

View File

@ -8,6 +8,7 @@ import 'package:pocketbase/pocketbase.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:uae_stat/config/api_config.dart';
import 'package:uae_stat/config/connectivity_provider.dart';
import 'package:uae_stat/config/theme/theme_provider.dart';
import 'package:uae_stat/config/toggle_lang_service.dart';
import 'package:uae_stat/domain/use_cases/language.dart';
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/bookmark_asset_path.dart';
@ -31,13 +32,23 @@ class _BookMarkState extends ConsumerState<BookMark> {
// Current selected tab index
int selectedTabIndex = 0;
late UserService _userService;
late ThemeMode currentTheme;
@override
void initState() {
super.initState();
_userService = UserService();
final locale = ref.read(localeProvider);
fetchBookmarks(locale?.languageCode ?? 'en');
currentTheme = ref.read(themeProvider);
print('123456789');
print(currentTheme);
final isDark = currentTheme == ThemeMode.dark ||
(currentTheme == ThemeMode.system &&
MediaQuery.of(context).platformBrightness == Brightness.dark);
final themeMode = (isDark ? 'dark' : 'light');
fetchBookmarks(locale?.languageCode ?? 'en',themeMode);
}
String colorToHex(Color color) {
@ -60,7 +71,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
}
}
Future<void> fetchBookmarks(locale) async {
Future<void> fetchBookmarks(locale,themeMode) async {
try {
final prefs = await SharedPreferences.getInstance();
final userID = prefs.getString('userId') ?? '';
@ -74,7 +85,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
final response = await Dio().get(
'$apiUrl/api/getUserBookmark',
queryParameters: {'user_id': userID, 'language': locale},
queryParameters: {'user_id': userID, 'language': locale,'color_mode':themeMode},
);
if (response.statusCode == 200 && response.data != null) {
@ -196,8 +207,19 @@ class _BookMarkState extends ConsumerState<BookMark> {
await _pb.collection('bookmark').delete(bookmarkId!, headers: {
'Authorization': adminToken,
});
// currentTheme = ref.read(themeProvider);
// print('123456789');
// print(currentTheme);
final isDark = currentTheme == ThemeMode.dark ||
(currentTheme == ThemeMode.system &&
MediaQuery.of(context).platformBrightness == Brightness.dark);
final themeMode = (isDark ? 'dark' : 'light');
final locale = ref.read(localeProvider);
fetchBookmarks(locale?.languageCode ?? 'en');
fetchBookmarks(locale?.languageCode ?? 'en',themeMode);
// ToastUtil.showSuccessToast("Removed from Bookmark.");
ScaffoldMessenger.of(context).showSnackBar(
@ -376,9 +398,40 @@ class _BookMarkState extends ConsumerState<BookMark> {
});
await _userService.updateLanguage(localeCode);
fetchBookmarks(localeCode);
final currentTheme = ref.read(themeProvider);
final isDark = currentTheme == ThemeMode.dark ||
(currentTheme == ThemeMode.system &&
MediaQuery.of(context).platformBrightness == Brightness.dark);
final themeString = isDark ? 'dark' : 'light';
fetchBookmarks(localeCode,themeString);
});
ref.listen<ThemeMode>(themeProvider, (previous, next) async {
final localeCode = ref.watch(localeProvider)?.languageCode ?? 'en';
print(localeCode);
// Default to 'en' if null
setState(() {
isLoading = true;
print('isLoadingref $isLoading');
});
final currentTheme = ref.read(themeProvider);
final isDark = currentTheme == ThemeMode.dark ||
(currentTheme == ThemeMode.system &&
MediaQuery.of(context).platformBrightness == Brightness.dark);
final themeString = isDark ? 'dark' : 'light';
fetchBookmarks(localeCode,themeString);
});
final isDarkTheme = ref.watch(themeProvider) == ThemeMode.dark ||
(ref.watch(themeProvider) == ThemeMode.system &&
MediaQuery.of(context).platformBrightness == Brightness.dark);
List<Map<String, dynamic>> bookmarks =
dataList.where((item) => item['isBookmark'] == true).toList();
List<Map<String, dynamic>> filteredBookmarks = dataList.where((bookmark) {
@ -405,6 +458,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
title: Text(
AppLocalizations.of(context)!.bookmarks,
style: TextStyle(
color: isDarkTheme ? Colors.white : Colors.black,
fontFamily: context.translate(
'Roboto',
'NotoKufi',