mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-03-11 17:45:38 +00:00
minor ui changes
This commit is contained in:
parent
68dd37cc1d
commit
fefb0cda01
5 changed files with 22 additions and 16 deletions
|
|
@ -2165,7 +2165,8 @@ const ContinueWatchingSection = React.forwardRef<ContinueWatchingRef>((props, re
|
|||
}
|
||||
|
||||
return (
|
||||
<View
|
||||
<Animated.View
|
||||
entering={FadeIn.duration(400)}
|
||||
style={styles.container}
|
||||
>
|
||||
<View style={[styles.header, { paddingHorizontal: horizontalPadding }]}>
|
||||
|
|
@ -2304,7 +2305,7 @@ const ContinueWatchingSection = React.forwardRef<ContinueWatchingRef>((props, re
|
|||
)}
|
||||
</BottomSheetView>
|
||||
</BottomSheetModal>
|
||||
</View>
|
||||
</Animated.View>
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ import Animated, {
|
|||
useAnimatedStyle,
|
||||
useSharedValue,
|
||||
withTiming,
|
||||
withSpring,
|
||||
runOnJS,
|
||||
} from 'react-native-reanimated';
|
||||
import { LinearGradient } from 'expo-linear-gradient';
|
||||
|
|
@ -83,7 +82,7 @@ export const CastDetailsModal: React.FC<CastDetailsModalProps> = ({
|
|||
useEffect(() => {
|
||||
if (visible && castMember) {
|
||||
modalOpacity.value = withTiming(1, { duration: 250 });
|
||||
modalScale.value = withSpring(1, { damping: 20, stiffness: 200 });
|
||||
modalScale.value = withTiming(1, { duration: 250 });
|
||||
|
||||
if (!hasFetched || personDetails?.id !== castMember.id) {
|
||||
fetchPersonDetails();
|
||||
|
|
|
|||
|
|
@ -110,26 +110,32 @@ const MetadataDetails: React.FC<MetadataDetailsProps> = ({
|
|||
checkMDBListEnabled();
|
||||
}, []);
|
||||
|
||||
const handleTextLayout = (event: any) => {
|
||||
const { lines } = event.nativeEvent;
|
||||
// If we have 3 or more lines, it means the text was truncated
|
||||
setIsTextTruncated(lines.length >= 3);
|
||||
};
|
||||
|
||||
|
||||
const handleCollapsedTextLayout = (event: any) => {
|
||||
const { height } = event.nativeEvent.layout;
|
||||
setMeasuredHeights(prev => ({ ...prev, collapsed: height }));
|
||||
// Only set initial measurement flag once we have a valid height
|
||||
setMeasuredHeights(prev => {
|
||||
const newHeights = { ...prev, collapsed: height };
|
||||
if (newHeights.expanded > 0 && height > 0) {
|
||||
setIsTextTruncated(newHeights.expanded > height);
|
||||
}
|
||||
return newHeights;
|
||||
});
|
||||
if (height > 0 && !hasInitialMeasurement) {
|
||||
setHasInitialMeasurement(true);
|
||||
// Update animated height immediately without animation for first measurement
|
||||
animatedHeight.value = height;
|
||||
}
|
||||
};
|
||||
|
||||
const handleExpandedTextLayout = (event: any) => {
|
||||
const { height } = event.nativeEvent.layout;
|
||||
setMeasuredHeights(prev => ({ ...prev, expanded: height }));
|
||||
setMeasuredHeights(prev => {
|
||||
const newHeights = { ...prev, expanded: height };
|
||||
if (newHeights.collapsed > 0 && height > 0) {
|
||||
setIsTextTruncated(height > newHeights.collapsed);
|
||||
}
|
||||
return newHeights;
|
||||
});
|
||||
};
|
||||
|
||||
// Animate height changes
|
||||
|
|
@ -382,7 +388,6 @@ const MetadataDetails: React.FC<MetadataDetailsProps> = ({
|
|||
}
|
||||
]}
|
||||
numberOfLines={isFullDescriptionOpen ? undefined : 3}
|
||||
onTextLayout={handleTextLayout}
|
||||
>
|
||||
{metadata.description}
|
||||
</Text>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,8 @@ import CustomAlert from '../components/CustomAlert';
|
|||
const { width, height } = Dimensions.get('window');
|
||||
const isTablet = width >= 768;
|
||||
const numColumns = isTablet ? 4 : 3;
|
||||
const posterWidth = (width - 60 - (numColumns - 1) * 12) / numColumns;
|
||||
const HORIZONTAL_PADDING = 20;
|
||||
const posterWidth = (width - (HORIZONTAL_PADDING * 2) - (numColumns - 1) * 12) / numColumns;
|
||||
const posterHeight = posterWidth * 1.5;
|
||||
|
||||
interface CastMovie {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Single source of truth for the app version displayed in Settings
|
||||
// Update this when bumping app version
|
||||
|
||||
export const APP_VERSION = '1.3.6';
|
||||
export const APP_VERSION = '1.3.5';
|
||||
|
||||
export function getDisplayedAppVersion(): string {
|
||||
return APP_VERSION;
|
||||
|
|
|
|||
Loading…
Reference in a new issue