Notif Gate full screen at /onboarding/notif-gate, reached from waiting payment on confirmed/consumed status. Auto-advances to /chat/searching when permission is already granted; otherwise shows izinkan/nanti aja HaloButton CTAs. NotifPermission helper wraps firebase_messaging + permission_handler with readStatus/request/openAppSettings; cached in notifPermissionStatusProvider that re-reads on app foreground via an internal WidgetsBindingObserver. home_screen amber banner above-the-fold when notifPermissionStatusProvider reports denied. Dismissable for the session via homeNotifBannerDismissedProvider (in-memory StateProvider, no persistence - cold-restart re-shows). nyalain CTA -> openAppSettings(). Manifest + Info.plist permission entries added. Note: main.dart still pre-requests FirebaseMessaging permission at boot, which can pre-resolve status so the gate auto-advances instead of acting as the first prompt. Left intact for now; can be removed in a later stage if the gate should be the first-ask UX. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
21 lines
751 B
C++
21 lines
751 B
C++
//
|
|
// Generated file. Do not edit.
|
|
//
|
|
|
|
// clang-format off
|
|
|
|
#include "generated_plugin_registrant.h"
|
|
|
|
#include <firebase_core/firebase_core_plugin_c_api.h>
|
|
#include <flutter_secure_storage_windows/flutter_secure_storage_windows_plugin.h>
|
|
#include <permission_handler_windows/permission_handler_windows_plugin.h>
|
|
|
|
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
|
FirebaseCorePluginCApiRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
|
|
FlutterSecureStorageWindowsPluginRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin"));
|
|
PermissionHandlerWindowsPluginRegisterWithRegistrar(
|
|
registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
|
|
}
|