refactor: migrate Phase 6 internal providers (1-2/2) ✅
Migrated internal/private providers: - _conversationsCacheTimestamp → _ConversationsCacheTimestamp - _wasOfflineProvider → _WasOffline Both are private providers with minimal usage. Phase 6 Complete!
This commit is contained in:
@@ -703,12 +703,8 @@ final defaultModelAutoSelectionProvider = Provider<void>((ref) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Cache timestamp for conversations to prevent rapid re-fetches
|
// Cache timestamp for conversations to prevent rapid re-fetches
|
||||||
final _conversationsCacheTimestamp =
|
@riverpod
|
||||||
NotifierProvider<_ConversationsCacheTimestampNotifier, DateTime?>(
|
class _ConversationsCacheTimestamp extends _$ConversationsCacheTimestamp {
|
||||||
_ConversationsCacheTimestampNotifier.new,
|
|
||||||
);
|
|
||||||
|
|
||||||
class _ConversationsCacheTimestampNotifier extends Notifier<DateTime?> {
|
|
||||||
@override
|
@override
|
||||||
DateTime? build() => null;
|
DateTime? build() => null;
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,18 @@
|
|||||||
|
import 'dart:io' show Platform;
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||||
import 'package:flutter_animate/flutter_animate.dart';
|
import 'package:flutter_animate/flutter_animate.dart';
|
||||||
import 'dart:io' show Platform;
|
|
||||||
import '../../core/services/connectivity_service.dart';
|
import '../../core/services/connectivity_service.dart';
|
||||||
import '../../core/providers/app_providers.dart';
|
import '../../core/providers/app_providers.dart';
|
||||||
import '../theme/theme_extensions.dart';
|
import '../theme/theme_extensions.dart';
|
||||||
import 'package:conduit/l10n/app_localizations.dart';
|
import 'package:conduit/l10n/app_localizations.dart';
|
||||||
|
|
||||||
|
part 'offline_indicator.g.dart';
|
||||||
|
|
||||||
class OfflineIndicator extends ConsumerWidget {
|
class OfflineIndicator extends ConsumerWidget {
|
||||||
final Widget child;
|
final Widget child;
|
||||||
final bool showBanner;
|
final bool showBanner;
|
||||||
@@ -52,11 +57,8 @@ class OfflineIndicator extends ConsumerWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Tracks if the app was recently offline to enable a one-shot back-online toast
|
// Tracks if the app was recently offline to enable a one-shot back-online toast
|
||||||
final _wasOfflineProvider = NotifierProvider<_WasOfflineNotifier, bool>(
|
@riverpod
|
||||||
_WasOfflineNotifier.new,
|
class _WasOffline extends _$WasOffline {
|
||||||
);
|
|
||||||
|
|
||||||
class _WasOfflineNotifier extends Notifier<bool> {
|
|
||||||
@override
|
@override
|
||||||
bool build() {
|
bool build() {
|
||||||
// Initialize based on current connectivity (assume online until proven otherwise)
|
// Initialize based on current connectivity (assume online until proven otherwise)
|
||||||
|
|||||||
Reference in New Issue
Block a user