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');
    }
  }
}