mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-03-24 03:27:43 +00:00
streamscreen UI changes
This commit is contained in:
parent
f43ff3a086
commit
1683c915b9
3 changed files with 24 additions and 11 deletions
|
|
@ -1 +1 @@
|
|||
Subproject commit aefc318d6be92936d4e3512388bffc13d0862eb3
|
||||
Subproject commit 4584f97614bc10382bd5f37edb762ee73dc7bc1c
|
||||
|
|
@ -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" />
|
||||
)}
|
||||
|
|
|
|||
|
|
@ -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}`
|
||||
|
|
|
|||
Loading…
Reference in a new issue