Skip to content

Instantly share code, notes, and snippets.

View 3wcircus's full-sized avatar
💭
Tempus Fugit

Kevin Yancy 3wcircus

💭
Tempus Fugit
View GitHub Profile
import 'dart:ui' as ui;
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:damn_the_potholes/spottherough/models/rough_group.dart';
import 'package:damn_the_potholes/spottherough/models/user_role.dart';
import 'package:damn_the_potholes/spottherough/pages/hazard_group_details_page.dart';
import 'package:damn_the_potholes/spottherough/widgets/app_scaffold.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
// lib/services/auth/auth_service.dart
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/foundation.dart';
import 'package:therollplay/models/oneSignalUser.dart';
import 'package:therollplay/models/user_profile.dart';
import 'package:therollplay/services/notifications/onesignal_notification_service.dart';
import 'package:therollplay/constants.dart';
import 'package:therollplay/services/logging/talker.dart';
// lib/components/auth_gate.dart
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:provider/provider.dart';
import 'package:therollplay/pages/login_screen.dart';
import 'package:therollplay/pages/story_list_page.dart';
import 'package:therollplay/services/auth/auth_service.dart';
import 'package:therollplay/services/logging/talker.dart'; // global log
class AuthGate extends StatelessWidget {
// lib/pages/login_screen.dart
import 'package:flutter/material.dart';
import 'package:flutter_login/flutter_login.dart';
import 'package:provider/provider.dart';
import 'package:therollplay/constants.dart';
import 'package:therollplay/services/auth/auth_service.dart';
import 'package:therollplay/services/logging/talker.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:therollplay/util/app_utils.dart';
// lib/services/logging/talker.dart
//
// Shared logger — use this import everywhere:
// import 'package:therollplay/services/logging/talker.dart';
//
// Then call:
// log.info('Loading...');
// log.warning('No stories');
// log.error('Failed', e, st);
// log.verbose('Story: ${story.title}');
import 'package:flutter/foundation.dart';
import 'package:talker_flutter/talker_flutter.dart';
import 'package:therollplay/services/logging/custom_talker_observer.dart';
import 'package:therollplay/services/logging/firebase_storage_logger.dart';
// Set this to true to enable Firebase logging in debug mode
const bool _forceFirebaseLoggingInDebug = false;
/// Global Talker instance — defined ONCE, imported everywhere
final talker = TalkerFlutter.init(
import 'package:firebase_storage/firebase_storage.dart';
import 'package:intl/intl.dart';
import 'package:talker/talker.dart';
const bool _forceFirebaseLoggingOff = true;
class FirebaseStorageLogger extends TalkerObserver {
final FirebaseStorage _storage = FirebaseStorage.instance;
final DateFormat _dateFormat = DateFormat('yyyy-MM-dd');
final DateFormat _timeFormat = DateFormat('HH:mm:ss');
import 'package:therollplay/constants.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:talker_flutter/talker_flutter.dart';
import 'dart:io';
import 'package:intl/intl.dart';
import 'package:path_provider/path_provider.dart';
// final talker = TalkerFlutter.init();
class FirebaseStorageLoggerMobile extends TalkerObserver {
import 'package:therollplay/services/logging/firebase_storage_logger.dart';
import 'package:talker_flutter/talker_flutter.dart';
import 'package:therollplay/services/logging/talker.dart';
// Talker talker = Talker();
class CustomTalkerObserver extends TalkerObserver {
@override
void onLog(TalkerData log) {
super.onLog(log);
// Send log data to your monitoring service
import 'package:talker_flutter/talker_flutter.dart';
/// Global application logger using Talker
class AppLogger {
static final Talker _talker = TalkerFlutter.init();
/// Flag to enable/disable logging
/// Set to false in production to disable all logs
static bool isLoggingEnabled = true;