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