streamscreen UI changes

This commit is contained in:
tapframe 2025-07-28 08:21:59 +05:30
parent f43ff3a086
commit 1683c915b9
3 changed files with 24 additions and 11 deletions

@ -1 +1 @@
Subproject commit aefc318d6be92936d4e3512388bffc13d0862eb3
Subproject commit 4584f97614bc10382bd5f37edb762ee73dc7bc1c

View file

@ -87,13 +87,16 @@ const StreamCard = memo(({ stream, onPress, index, isLoading, statusMessage, the
sizeDisplay = formatSize(stream.size);
}
// Extract quality for badge display
const basicQuality = title.match(/(\d+)p/)?.[1] || null;
return {
quality: title.match(/(\d+)p/)?.[1] || null,
quality: basicQuality,
isHDR: title.toLowerCase().includes('hdr'),
isDolby: title.toLowerCase().includes('dolby') || title.includes('DV'),
size: sizeDisplay,
isDebrid: stream.behaviorHints?.cached,
displayName: name || title || 'Unnamed Stream',
displayName: name || 'Unnamed Stream',
subTitle: title && title !== name ? title : null
};
}, [stream.name, stream.title, stream.behaviorHints, stream.size]);
@ -140,10 +143,6 @@ const StreamCard = memo(({ stream, onPress, index, isLoading, statusMessage, the
</View>
<View style={styles.streamMetaRow}>
{streamInfo.quality && streamInfo.quality >= "720" && (
<QualityBadge type="HD" />
)}
{streamInfo.isDolby && (
<QualityBadge type="VISION" />
)}

View file

@ -437,15 +437,29 @@ class LocalScraperService {
}
return results.map((result, index) => {
// Build title with quality information for UI compatibility
let title = result.title || result.name || `${scraper.name} Stream ${index + 1}`;
// Add quality to title if available and not already present
if (result.quality && !title.includes(result.quality)) {
title = `${title} ${result.quality}`;
}
// Build name with quality information
let streamName = result.name || `${scraper.name}`;
if (result.quality && !streamName.includes(result.quality)) {
streamName = `${streamName} - ${result.quality}`;
}
const stream: Stream = {
// Preserve scraper's name and title if provided, otherwise use fallbacks
name: result.name || result.title || `${scraper.name} Stream ${index + 1}`,
title: result.title || result.name || `${scraper.name} Stream ${index + 1}`,
// Include quality in name field for proper display
name: streamName,
title: title,
url: result.url,
addon: scraper.id,
addonId: scraper.id,
addonName: scraper.name,
description: result.quality ? `${result.quality}${result.size ? `${result.size}` : ''}` : undefined,
description: result.size ? `${result.size}` : undefined,
size: result.size ? this.parseSize(result.size) : undefined,
behaviorHints: {
bingeGroup: `local-scraper-${scraper.id}`