diff --git a/src/screens/PluginsScreen.tsx b/src/screens/PluginsScreen.tsx index ac643ee4..75053d6c 100644 --- a/src/screens/PluginsScreen.tsx +++ b/src/screens/PluginsScreen.tsx @@ -778,8 +778,8 @@ const InfoTooltip: React.FC<{ text: string; colors: any }> = ({ text, colors }) ); // Helper component for status badges -const StatusBadge: React.FC<{ - status: 'enabled' | 'disabled' | 'available' | 'platform-disabled' | 'error'; +const StatusBadge: React.FC<{ + status: 'enabled' | 'disabled' | 'available' | 'platform-disabled' | 'error' | 'limited'; colors: any; }> = ({ status, colors }) => { const getStatusConfig = () => { @@ -792,6 +792,8 @@ const StatusBadge: React.FC<{ return { color: colors.primary, text: 'Available' }; case 'platform-disabled': return { color: '#FF9500', text: 'Platform Disabled' }; + case 'limited': + return { color: '#FF9500', text: 'Limited' }; case 'error': return { color: '#FF3B30', text: 'Error' }; default: @@ -919,9 +921,10 @@ const PluginsScreen: React.FC = () => { })); }; - const getScraperStatus = (scraper: ScraperInfo): 'enabled' | 'disabled' | 'available' | 'platform-disabled' | 'error' => { + const getScraperStatus = (scraper: ScraperInfo): 'enabled' | 'disabled' | 'available' | 'platform-disabled' | 'error' | 'limited' => { if (scraper.manifestEnabled === false) return 'disabled'; if (scraper.disabledPlatforms?.includes(Platform.OS as 'ios' | 'android')) return 'platform-disabled'; + if (scraper.limited) return 'limited'; if (scraper.enabled) return 'enabled'; return 'available'; }; @@ -1816,9 +1819,13 @@ const PluginsScreen: React.FC = () => { About Plugins - Plugins are JavaScript modules that can search for streaming links from various sources. + Plugins are JavaScript modules that can search for streaming links from various sources. They run locally on your device and can be installed from trusted repositories. + + + Note: Providers marked as "Limited" depend on external APIs that may stop working without notice. + diff --git a/src/services/localScraperService.ts b/src/services/localScraperService.ts index 7a68a394..d0fbd8ac 100644 --- a/src/services/localScraperService.ts +++ b/src/services/localScraperService.ts @@ -36,6 +36,7 @@ export interface ScraperInfo { supportedFormats?: string[]; repositoryId?: string; // Which repository this scraper came from supportsExternalPlayer?: boolean; // Whether this scraper supports external players + limited?: boolean; // Whether this scraper has limited functionality } export interface RepositoryInfo {