Files
plezy/lib/utils/provider_extensions.dart
T
2025-10-30 19:50:50 +01:00

26 lines
842 B
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../providers/plex_client_provider.dart';
import '../providers/user_profile_provider.dart';
import '../client/plex_client.dart';
extension ProviderExtensions on BuildContext {
PlexClientProvider get plexClient =>
Provider.of<PlexClientProvider>(this, listen: false);
UserProfileProvider get userProfile =>
Provider.of<UserProfileProvider>(this, listen: false);
PlexClientProvider watchPlexClient() =>
Provider.of<PlexClientProvider>(this, listen: true);
UserProfileProvider watchUserProfile() =>
Provider.of<UserProfileProvider>(this, listen: true);
// Direct client access (nullable)
PlexClient? get client => plexClient.client;
// Null-safe client access
PlexClient get clientSafe => plexClient.client!;
}