bookmark
This commit is contained in:
parent
fd8c319809
commit
bc58cfc4c0
@ -8,6 +8,7 @@ import 'package:pocketbase/pocketbase.dart';
|
|||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
import 'package:uae_stat/config/api_config.dart';
|
import 'package:uae_stat/config/api_config.dart';
|
||||||
import 'package:uae_stat/config/connectivity_provider.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/config/toggle_lang_service.dart';
|
||||||
import 'package:uae_stat/domain/use_cases/language.dart';
|
import 'package:uae_stat/domain/use_cases/language.dart';
|
||||||
import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/bookmark_asset_path.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
|
// Current selected tab index
|
||||||
int selectedTabIndex = 0;
|
int selectedTabIndex = 0;
|
||||||
late UserService _userService;
|
late UserService _userService;
|
||||||
|
late ThemeMode currentTheme;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_userService = UserService();
|
_userService = UserService();
|
||||||
final locale = ref.read(localeProvider);
|
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) {
|
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 {
|
try {
|
||||||
final prefs = await SharedPreferences.getInstance();
|
final prefs = await SharedPreferences.getInstance();
|
||||||
final userID = prefs.getString('userId') ?? '';
|
final userID = prefs.getString('userId') ?? '';
|
||||||
@ -74,7 +85,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
|
|
||||||
final response = await Dio().get(
|
final response = await Dio().get(
|
||||||
'$apiUrl/api/getUserBookmark',
|
'$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) {
|
if (response.statusCode == 200 && response.data != null) {
|
||||||
@ -196,8 +207,19 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
await _pb.collection('bookmark').delete(bookmarkId!, headers: {
|
await _pb.collection('bookmark').delete(bookmarkId!, headers: {
|
||||||
'Authorization': adminToken,
|
'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);
|
final locale = ref.read(localeProvider);
|
||||||
fetchBookmarks(locale?.languageCode ?? 'en');
|
|
||||||
|
fetchBookmarks(locale?.languageCode ?? 'en',themeMode);
|
||||||
// ToastUtil.showSuccessToast("Removed from Bookmark.");
|
// ToastUtil.showSuccessToast("Removed from Bookmark.");
|
||||||
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
@ -376,9 +398,40 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
});
|
});
|
||||||
await _userService.updateLanguage(localeCode);
|
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 =
|
List<Map<String, dynamic>> bookmarks =
|
||||||
dataList.where((item) => item['isBookmark'] == true).toList();
|
dataList.where((item) => item['isBookmark'] == true).toList();
|
||||||
List<Map<String, dynamic>> filteredBookmarks = dataList.where((bookmark) {
|
List<Map<String, dynamic>> filteredBookmarks = dataList.where((bookmark) {
|
||||||
@ -405,6 +458,7 @@ class _BookMarkState extends ConsumerState<BookMark> {
|
|||||||
title: Text(
|
title: Text(
|
||||||
AppLocalizations.of(context)!.bookmarks,
|
AppLocalizations.of(context)!.bookmarks,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
color: isDarkTheme ? Colors.white : Colors.black,
|
||||||
fontFamily: context.translate(
|
fontFamily: context.translate(
|
||||||
'Roboto',
|
'Roboto',
|
||||||
'NotoKufi',
|
'NotoKufi',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user