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: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',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user