Arkadaşlar ne yaptıysam düzeltemedim (flutter- wordpress) altyapıısıyla bir uygulamam var herşey stabil ama attığım bildirimler bezen tıklayınca uygulama üzerin'den bildirimi açıyor bazen sadece üst sekmeden siliniyor uygulamaya yönlendirmiyor lütfen yardım edebilirmisin.
Teşekkürler R10+
ONESİGNAL kodlarının geçtiği yerler aşşağıda arkadaşlar ama sorun kodlardamı yoksa onesignal ayarlarındamı çözmedim
MAİN.DART import 'package:async/async.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:goksoy_medya/AppLocalizations.dart';
import 'package:goksoy_medya/AppTheme.dart';
import 'package:goksoy_medya/models/FontSizeModel.dart';
import 'package:goksoy_medya/screens/SplashScreen.dart';
import 'package:goksoy_medya/store/AppStore.dart';
import 'package:goksoy_medya/utils/Constants.dart';
import 'package:nb_utils/nb_utils.dart';
import 'package:onesignal_flutter/onesignal_flutter.dart';
import 'models/LanguageModel.dart';
import 'models/WeatherResponse.dart';
AppStore appStore = AppStore();
int mAdShowCount = 0;
Language? language;
List<Language> languages = Language.getLanguages();
FontSizeModel? fontSize;
List<FontSizeModel> fontSizes = FontSizeModel.fontSizes();
Language? ttsLang;
List<Language> ttsLanguage = Language.getLanguagesForTTS();
var weatherMemoizer = AsyncMemoizer<WeatherResponse>();
RemoteConfig? remoteConfig;
int retryCount = 0;
AppLocalizations? appLocale;
void main() async {
WidgetsFlutterBinding.ensureInitialized();
defaultRadius = 10;
defaultAppButtonRadius = 30;
defaultBlurRadius = 4.0;
await initialize(defaultDialogBorderRadius: 10);
appStore.setLanguage(getStringAsync(LANGUAGE, defaultValue: defaultLanguage));
appStore.setNotification(getBoolAsync(IS_NOTIFICATION_ON, defaultValue: true));
appStore.setTTSLanguage(getStringAsync(TEXT_TO_SPEECH_LANG, defaultValue: defaultTTSLanguage));
///Uncomment below line if you want to skip https certificate
//HttpOverrides.global = HttpOverridesSkipCertificate();
int themeModeIndex = getIntAsync(THEME_MODE_INDEX);
if (themeModeIndex == ThemeModeLight) {
appStore.setDarkMode(false);
} else if (themeModeIndex == ThemeModeDark) {
appStore.setDarkMode(true);
}
fontSize = fontSizes.firstWhere((element) => element.fontSize == getIntAsync(FONT_SIZE_PREF, defaultValue: 16));
ttsLang = ttsLanguage.firstWhere((element) => element.fullLanguageCode == getStringAsync(TEXT_TO_SPEECH_LANG, defaultValue: defaultTTSLanguage));
if (isMobile) {
await Firebase.initializeApp().then((value) {
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;
MobileAds.instance.initialize();
});
await OneSignal.shared.setAppId(mOneSignalAPPKey);
OneSignal.shared.consentGranted(true);
OneSignal.shared.promptUserForPushNotificationPermission();
// OneSignal.shared.setInFocusDisplayType(OSNotificationDisplayType.notification);
}
setOrientationPortrait();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Observer(
builder: (_) => MaterialApp(
navigatorKey: navigatorKey,
title: mAppName,
debugShowCheckedModeBanner: false,
theme: AppTheme.lightTheme,
darkTheme: AppTheme.darkTheme,
themeMode: appStore.isDarkMode ? ThemeMode.dark : ThemeMode.light,
supportedLocales: Language.languagesLocale(),
localizationsDelegates: [AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate],
localeResolutionCallback: (locale, supportedLocales) => locale,
locale: Locale(appStore.selectedLanguageCode),
home: SplashScreen(),
scrollBehavior: SBehavior(),
),
);
}
}NotificationService.swift import UserNotifications
import OneSignal
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var receivedRequest: UNNotificationRequest!
var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
self.receivedRequest = request;
self.contentHandler = contentHandler
bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
if let bestAttemptContent = bestAttemptContent {
OneSignal.didReceiveNotificationExtensionRequest(self.receivedRequest, with: self.bestAttemptContent)
contentHandler(bestAttemptContent)
}
}
override func serviceExtensionTimeWillExpire() {
// Called just before the extension will be terminated by the system.
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
OneSignal.serviceExtensionTimeWillExpireRequest(self.receivedRequest, with: self.bestAttemptContent)
contentHandler(bestAttemptContent)
}
}
}DashboardScreen.dart import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
import 'package:goksoy_medya/AppLocalizations.dart';
import 'package:goksoy_medya/components/AppWidgets.dart';
import 'package:goksoy_medya/main.dart';
import 'package:goksoy_medya/screens/ChooseTopicScreen.dart';
import 'package:goksoy_medya/screens/HomeFragment.dart';
import 'package:goksoy_medya/screens/LoginScreen.dart';
import 'package:goksoy_medya/screens/NewsDetailScreen.dart';
import 'package:goksoy_medya/screens/ProfileFragment.dart';
import 'package:goksoy_medya/utils/Colors.dart';
import 'package:goksoy_medya/utils/Common.dart';
import 'package:goksoy_medya/utils/Constants.dart';
import 'package:nb_utils/nb_utils.dart';
import 'package:onesignal_flutter/onesignal_flutter.dart';
import 'package:package_info/package_info.dart';
import 'CategoryFragment.dart';
import 'SearchNewsFragment.dart';
import 'SuggestedForYouFragment.dart';
class DashboardScreen extends StatefulWidget {
static String tag = '/DashboardScreen';
@override
DashboardScreenState createState() => DashboardScreenState();
}
class DashboardScreenState extends State<DashboardScreen> with AfterLayoutMixin<DashboardScreen> {
List<Widget> widgets = [];
int currentIndex = 0;
DateTime? currentBackPressTime;
@override
void initState() {
super.initState();
init();
}
init() async {
setDynamicStatusBarColor();
widgets.add(HomeFragment());
widgets.add(SuggestedForYouFragment());
widgets.add(CategoryFragment());
widgets.add(SearchNewsFragment());
widgets.add(ProfileFragment());
setState(() {});
LiveStream().on(checkMyTopics, (v) {
currentIndex = 0;
setState(() {});
});
LiveStream().on(tokenStream, (v) {
LoginScreen(isNewTask: false).launch(context);
});
await Future.delayed(Duration(milliseconds: 400));
if (getIntAsync(THEME_MODE_INDEX) == ThemeModeSystem) {
appStore.setDarkMode(MediaQuery.of(context).platformBrightness == Brightness.dark);
}
window.onPlatformBrightnessChanged = () async {
if (getIntAsync(THEME_MODE_INDEX) == ThemeModeSystem) {
appStore.setDarkMode(context.platformBrightness() == Brightness.light);
}
};
}
@override
void afterFirstLayout(BuildContext context) {
appLocale = AppLocalizations.of(context);
appStore.setLanguage(appStore.selectedLanguageCode, context: context);
if (isMobile) {
OneSignal.shared.setNotificationOpenedHandler((OSNotificationOpenedResult notification) async {
if (notification.notification.additionalData!.containsKey('ID')) {
String? notId = notification.notification.additionalData!["ID"];
if (notId.validate().isNotEmpty) {
String heroTag = '$notId${currentTimeStamp()}';
NewsDetailScreen(id: notId.toString(), heroTag: heroTag, disableAd: false).launch(context);
}
}
});
}
if (isAndroid) {
PackageInfo.fromPlatform().then((value) {
checkForceUpdateForAndroid(currentVersion: value.buildNumber.toInt(), forceUpdateVersion: getIntAsync(FORCE_UPDATE_VERSION_CODE), packageName: value.packageName);
});
}
}
@override
void dispose() {
super.dispose();
LiveStream().dispose(checkMyTopics);
LiveStream().dispose(tokenStream);
window.onPlatformBrightnessChanged = null;
}
@override
void setState(fn) {
if (mounted) super.setState(fn);
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: WillPopScope(
onWillPop: () async {
DateTime now = DateTime.now();
if (currentIndex == 0) {
if (currentBackPressTime == null || now.difference(currentBackPressTime!) > 2.seconds) {
currentBackPressTime = now;
toast(AppLocalizations.of(context)!.translate('exit_app'));
return Future.value(false);
}
} else {
currentIndex = 0;
setState(() {});
return Future.value(false);
}
return Future.value(true);
},
child: Scaffold(
body: Container(child: widgets[currentIndex]),
bottomNavigationBar: Observer(
builder: (_) => BottomNavigationBar(
currentIndex: currentIndex,
items: [
BottomNavigationBarItem(
icon: Icon(AntDesign.home, color: context.theme.iconTheme.color),
label: 'Home',
activeIcon: Icon(AntDesign.home, color: colorPrimary),
),
BottomNavigationBarItem(
icon: Icon(Icons.dashboard_outlined, color: context.theme.iconTheme.color),
label: 'Suggested For You',
activeIcon: Icon(Icons.dashboard_outlined, color: colorPrimary),
),
BottomNavigationBarItem(
icon: Icon(Icons.category_outlined, color: context.theme.iconTheme.color),
label: 'Category',
activeIcon: Icon(Icons.category_outlined, color: colorPrimary),
),
BottomNavigationBarItem(
icon: Icon(Ionicons.ios_search, color: context.theme.iconTheme.color),
label: 'Search News',
activeIcon: Icon(Ionicons.ios_search, color: colorPrimary),
),
BottomNavigationBarItem(
icon: appStore.isLoggedIn
? cachedImage(appStore.userProfileImage, height: 24, width: 24, fit: BoxFit.cover).cornerRadiusWithClipRRect(15)
: Icon(MaterialIcons.person_outline, color: context.theme.iconTheme.color),
label: 'Profile',
activeIcon: appStore.isLoggedIn
? Container(
decoration: BoxDecoration(border: Border.all(color: colorPrimary), shape: BoxShape.circle),
child: cachedImage(
appStore.userProfileImage,
height: 24,
width: 24,
fit: BoxFit.cover,
).cornerRadiusWithClipRRect(15))
: Icon(MaterialIcons.person_outline, color: colorPrimary),
),
],
type: BottomNavigationBarType.fixed,
showUnselectedLabels: false,
showSelectedLabels: false,
onTap: (i) async {
if (i == 1) {
if (!appStore.isLoggedIn) {
LoginScreen().launch(context);
} else if (appStore.myTopics.isEmpty && i == 1) {
await ChooseTopicScreen().launch(context);
if (appStore.myTopics.isNotEmpty) {
currentIndex = 1;
}
} else {
currentIndex = i;
}
} else {
currentIndex = i;
}
setState(() {});
},
),
),
),
),
);
}
}pubspec.lock # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
_fe_analyzer_shared:
dependency: transitive
description:
name: _fe_analyzer_shared
url: "https://pub.dartlang.org"
source: hosted
version: "30.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
url: "https://pub.dartlang.org"
source: hosted
version: "2.7.0"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.0"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.1"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
build:
dependency: transitive
description:
name: build
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
build_config:
dependency: transitive
description:
name: build_config
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
build_daemon:
dependency: transitive
description:
name: build_daemon
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
build_runner:
dependency: "direct dev"
description:
name: build_runner
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
url: "https://pub.dartlang.org"
source: hosted
version: "7.2.2"
built_collection:
dependency: transitive
description:
name: built_collection
url: "https://pub.dartlang.org"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
url: "https://pub.dartlang.org"
source: hosted
version: "8.1.3"
cached_network_image:
dependency: "direct main"
description:
name: cached_network_image
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
cached_network_image_platform_interface:
dependency: transitive
description:
name: cached_network_image_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
cached_network_image_web:
dependency: transitive
description:
name: cached_network_image_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
chewie:
dependency: transitive
description:
name: chewie
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.2"
chewie_audio:
dependency: transitive
description:
name: chewie_audio
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
cli_util:
dependency: transitive
description:
name: cli_util
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.5"
clippy_flutter:
dependency: "direct main"
description:
name: clippy_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0-nullsafety.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
code_builder:
dependency: transitive
description:
name: code_builder
url: "https://pub.dartlang.org"
source: hosted
version: "4.1.0"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0"
connectivity_plus:
dependency: transitive
description:
name: connectivity_plus
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
connectivity_plus_linux:
dependency: transitive
description:
name: connectivity_plus_linux
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
connectivity_plus_macos:
dependency: transitive
description:
name: connectivity_plus_macos
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.1"
connectivity_plus_platform_interface:
dependency: transitive
description:
name: connectivity_plus_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
connectivity_plus_web:
dependency: transitive
description:
name: connectivity_plus_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0+1"
connectivity_plus_windows:
dependency: transitive
description:
name: connectivity_plus_windows
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
convert:
dependency: transitive
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
country_code_picker:
dependency: "direct main"
description:
name: country_code_picker
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
cross_file:
dependency: transitive
description:
name: cross_file
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.2"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.1"
cupertino_icons:
dependency: "direct main"
description:
name: cupertino_icons
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
dart_style:
dependency: transitive
description:
name: dart_style
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
dbus:
dependency: transitive
description:
name: dbus
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.6"
fading_edge_scrollview:
dependency: "direct main"
description:
name: fading_edge_scrollview
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
ffi:
dependency: transitive
description:
name: ffi
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
file:
dependency: transitive
description:
name: file
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.2"
firebase_auth:
dependency: "direct main"
description:
name: firebase_auth
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.4"
firebase_auth_platform_interface:
dependency: transitive
description:
name: firebase_auth_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.2"
firebase_auth_web:
dependency: transitive
description:
name: firebase_auth_web
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.3"
firebase_core:
dependency: "direct main"
description:
name: firebase_core
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.1"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
firebase_crashlytics:
dependency: "direct main"
description:
name: firebase_crashlytics
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.4"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.4"
firebase_remote_config:
dependency: "direct main"
description:
name: firebase_remote_config
url: "https://pub.dartlang.org"
source: hosted
version: "0.11.0+2"
firebase_remote_config_platform_interface:
dependency: transitive
description:
name: firebase_remote_config_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0+7"
fixnum:
dependency: transitive
description:
name: fixnum
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_blurhash:
dependency: transitive
description:
name: flutter_blurhash
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.0"
flutter_cache_manager:
dependency: transitive
description:
name: flutter_cache_manager
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.2"
flutter_html:
dependency: "direct main"
description:
name: flutter_html
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.5"
flutter_layout_grid:
dependency: transitive
description:
name: flutter_layout_grid
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
flutter_localizations:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_math_fork:
dependency: transitive
description:
name: flutter_math_fork
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3+1"
flutter_mobx:
dependency: "direct main"
description:
name: flutter_mobx
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
flutter_svg:
dependency: transitive
description:
name: flutter_svg
url: "https://pub.dartlang.org"
source: hosted
version: "0.22.0"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
flutter_tts:
dependency: "direct main"
description:
name: flutter_tts
url: "https://pub.dartlang.org"
source: hosted
version: "3.2.2"
flutter_vector_icons:
dependency: "direct main"
description:
name: flutter_vector_icons
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
flutter_web_plugins:
dependency: transitive
description: flutter
source: sdk
version: "0.0.0"
fluttertoast:
dependency: transitive
description:
name: fluttertoast
url: "https://pub.dartlang.org"
source: hosted
version: "8.0.8"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
geolocator:
dependency: "direct main"
description:
name: geolocator
url: "https://pub.dartlang.org"
source: hosted
version: "7.7.1"
geolocator_android:
dependency: transitive
description:
name: geolocator_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
geolocator_apple:
dependency: transitive
description:
name: geolocator_apple
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.2"
geolocator_platform_interface:
dependency: transitive
description:
name: geolocator_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.3.6"
geolocator_web:
dependency: transitive
description:
name: geolocator_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
glob:
dependency: transitive
description:
name: glob
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
google_fonts:
dependency: "direct main"
description:
name: google_fonts
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
google_mobile_ads:
dependency: "direct main"
description:
name: google_mobile_ads
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.5"
google_sign_in:
dependency: "direct main"
description:
name: google_sign_in
url: "https://pub.dartlang.org"
source: hosted
version: "5.2.1"
google_sign_in_platform_interface:
dependency: transitive
description:
name: google_sign_in_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
google_sign_in_web:
dependency: transitive
description:
name: google_sign_in_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.0+3"
graphs:
dependency: transitive
description:
name: graphs
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
html:
dependency: "direct main"
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.15.0"
http:
dependency: "direct main"
description:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.4"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.0"
image_picker:
dependency: "direct main"
description:
name: image_picker
url: "https://pub.dartlang.org"
source: hosted
version: "0.8.4+4"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.1"
intl:
dependency: "direct main"
description:
name: intl
url: "https://pub.dartlang.org"
source: hosted
version: "0.17.0"
io:
dependency: transitive
description:
name: io
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.3"
js:
dependency: transitive
description:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.3"
json_annotation:
dependency: transitive
description:
name: json_annotation
url: "https://pub.dartlang.org"
source: hosted
version: "4.3.0"
logging:
dependency: transitive
description:
name: logging
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.10"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
mime:
dependency: transitive
description:
name: mime
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
mobx:
dependency: "direct main"
description:
name: mobx
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
mobx_codegen:
dependency: "direct dev"
description:
name: mobx_codegen
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
modal_bottom_sheet:
dependency: transitive
description:
name: modal_bottom_sheet
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
native_ads:
dependency: "direct main"
description:
name: native_ads
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.0"
nb_utils:
dependency: "direct main"
description:
name: nb_utils
url: "https://pub.dartlang.org"
source: hosted
version: "4.4.10"
nested:
dependency: transitive
description:
name: nested
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
nm:
dependency: transitive
description:
name: nm
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
numerus:
dependency: transitive
description:
name: numerus
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
octo_image:
dependency: transitive
description:
name: octo_image
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0+1"
onesignal_flutter:
dependency: "direct main"
description:
name: onesignal_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "3.2.4"
otp_text_field:
dependency: "direct main"
description:
name: otp_text_field
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
package_config:
dependency: transitive
description:
name: package_config
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
package_info:
dependency: "direct main"
description:
name: package_info
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.0"
path_drawing:
dependency: transitive
description:
name: path_drawing
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.1+1"
path_parsing:
dependency: transitive
description:
name: path_parsing
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.1"
path_provider:
dependency: transitive
description:
name: path_provider
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
path_provider_linux:
dependency: transitive
description:
name: path_provider_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
path_provider_macos:
dependency: transitive
description:
name: path_provider_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
path_provider_platform_interface:
dependency: transitive
description:
name: path_provider_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1"
path_provider_windows:
dependency: transitive
description:
name: path_provider_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.3"
pedantic:
dependency: transitive
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.11.1"
petitparser:
dependency: transitive
description:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "4.4.0"
photo_view:
dependency: "direct main"
description:
name: photo_view
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0"
platform:
dependency: transitive
description:
name: platform
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.2"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
pool:
dependency: transitive
description:
name: pool
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.0"
process:
dependency: transitive
description:
name: process
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.4"
provider:
dependency: transitive
description:
name: provider
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.0"
pub_semver:
dependency: transitive
description:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1+1"
rive:
dependency: "direct main"
description:
name: rive
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.33"
rxdart:
dependency: transitive
description:
name: rxdart
url: "https://pub.dartlang.org"
source: hosted
version: "0.26.0"
share:
dependency: "direct main"
description:
name: share
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
shared_preferences:
dependency: transitive
description:
name: shared_preferences
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
shared_preferences_linux:
dependency: transitive
description:
name: shared_preferences_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
shared_preferences_macos:
dependency: transitive
description:
name: shared_preferences_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
shared_preferences_platform_interface:
dependency: transitive
description:
name: shared_preferences_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
shared_preferences_web:
dependency: transitive
description:
name: shared_preferences_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
shared_preferences_windows:
dependency: transitive
description:
name: shared_preferences_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
shelf:
dependency: transitive
description:
name: shelf
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
shimmer:
dependency: "direct main"
description:
name: shimmer
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
source_gen:
dependency: transitive
description:
name: source_gen
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
source_span:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
sqflite:
dependency: transitive
description:
name: sqflite
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0+4"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1+1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.10.0"
story_view:
dependency: "direct main"
description:
name: story_view
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.1"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
stream_transform:
dependency: transitive
description:
name: stream_transform
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
synchronized:
dependency: transitive
description:
name: synchronized
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.2"
the_apple_sign_in:
dependency: "direct main"
description:
name: the_apple_sign_in
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
timing:
dependency: transitive
description:
name: timing
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
tuple:
dependency: transitive
description:
name: tuple
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
universal_platform:
dependency: transitive
description:
name: universal_platform
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0+1"
url_launcher:
dependency: "direct main"
description:
name: url_launcher
url: "https://pub.dartlang.org"
source: hosted
version: "6.0.12"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
url_launcher_platform_interface:
dependency: transitive
description:
name: url_launcher_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
url_launcher_web:
dependency: transitive
description:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
url_launcher_windows:
dependency: transitive
description:
name: url_launcher_windows
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.2"
uuid:
dependency: transitive
description:
name: uuid
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.5"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
video_player:
dependency: "direct main"
description:
name: video_player
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.6"
video_player_platform_interface:
dependency: transitive
description:
name: video_player_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "4.2.0"
video_player_web:
dependency: transitive
description:
name: video_player_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.4"
wakelock:
dependency: transitive
description:
name: wakelock
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.6"
wakelock_macos:
dependency: transitive
description:
name: wakelock_macos
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_platform_interface:
dependency: transitive
description:
name: wakelock_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.0"
wakelock_web:
dependency: transitive
description:
name: wakelock_web
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0"
wakelock_windows:
dependency: transitive
description:
name: wakelock_windows
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
watcher:
dependency: transitive
description:
name: watcher
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
webview_flutter:
dependency: transitive
description:
name: webview_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.2"
webview_flutter_android:
dependency: transitive
description:
name: webview_flutter_android
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
webview_flutter_platform_interface:
dependency: transitive
description:
name: webview_flutter_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
webview_flutter_wkwebview:
dependency: transitive
description:
name: webview_flutter_wkwebview
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
win32:
dependency: transitive
description:
name: win32
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.10"
xdg_directories:
dependency: transitive
description:
name: xdg_directories
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.0"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "5.3.1"
yaml:
dependency: transitive
description:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
sdks:
dart: ">=2.14.0 <3.0.0"
flutter: ">=2.5.0"AppStore.dart import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:goksoy_medya/utils/Colors.dart';
import 'package:goksoy_medya/utils/Common.dart';
import 'package:goksoy_medya/utils/Constants.dart';
import 'package:mobx/mobx.dart';
import 'package:nb_utils/nb_utils.dart';
import 'package:onesignal_flutter/onesignal_flutter.dart';
import '../AppLocalizations.dart';
import '../main.dart';
part 'AppStore.g.dart';
class AppStore = _AppStore with _$AppStore;
abstract class _AppStore with Store {
@observable
bool isLoggedIn = false;
@observable
bool isNotificationOn = true;
@observable
bool isDarkMode = false;
@observable
bool isLoading = false;
@observable
String selectedLanguageCode = defaultLanguage;
@observable
String? userProfileImage = '';
@observable
String? userFirstName = '';
@observable
String? userLastName = '';
@observable
String? userEmail = '';
@observable
int? userId = -1;
@observable
List<int?> myTopics = [];
@observable
String languageForTTS = '';
@observable
AppBarTheme appBarTheme = AppBarTheme();
@action
void setTTSLanguage(String lang) {
languageForTTS = lang;
setValue(TEXT_TO_SPEECH_LANG, lang);
}
@action
void setMyTopics(List<int> val) {
myTopics.clear();
myTopics.addAll(val);
}
@action
void addToMyTopics(int? val) {
myTopics.add(val);
}
@action
void removeFromMyTopics(int? val) {
myTopics.remove(val);
}
@action
void setUserProfile(String? image) {
userProfileImage = image;
}
@action
void setUserId(int? val) {
userId = val;
}
@action
void setUserEmail(String? email) {
userEmail = email;
}
@action
void setFirstName(String? name) {
userFirstName = name;
}
@action
void setLastName(String? name) {
userLastName = name;
}
@action
Future<void> setLoggedIn(bool val) async {
isLoggedIn = val;
await setValue(IS_LOGGED_IN, val);
}
@action
void setLoading(bool val) {
isLoading = val;
}
@action
void setNotification(bool val) {
isNotificationOn = val;
setValue(IS_NOTIFICATION_ON, val);
if (isMobile) {
OneSignal.shared.disablePush(!val);
}
}
@action
Future<void> setDarkMode(bool aIsDarkMode) async {
isDarkMode = aIsDarkMode;
if (isDarkMode) {
textPrimaryColorGlobal = Colors.white;
textSecondaryColorGlobal = textSecondaryColor;
defaultLoaderBgColorGlobal = scaffoldSecondaryDark;
appButtonBackgroundColorGlobal = appButtonColorDark;
shadowColorGlobal = Colors.white12;
} else {
textPrimaryColorGlobal = textPrimaryColor;
textSecondaryColorGlobal = textSecondaryColor;
defaultLoaderBgColorGlobal = Colors.white;
appButtonBackgroundColorGlobal = Colors.white;
shadowColorGlobal = Colors.black12;
}
appBarTheme = AppBarTheme(
brightness: getSystemBrightness(),
systemOverlayStyle: SystemUiOverlayStyle(statusBarIconBrightness: getSystemIconBrightness()),
);
setDynamicStatusBarColor();
}
@action
Future<void> setLanguage(String aSelectedLanguageCode, {BuildContext? context}) async {
selectedLanguageCode = aSelectedLanguageCode;
language = languages.firstWhere((element) => element.languageCode == aSelectedLanguageCode);
await setValue(LANGUAGE, aSelectedLanguageCode);
if (context != null) {
appLocale = AppLocalizations.of(context);
errorThisFieldRequired = appLocale!.translate('field_Required');
}
}
}