creation formatTime function 🚑

Tests
Lucas Delanier 2 years ago
parent 221fcd4d31
commit 3892598991

@ -2,6 +2,7 @@ import {StyleSheet, Text, View} from "react-native";
import * as React from "react"; import * as React from "react";
import Stars from "./StarsComponent"; import Stars from "./StarsComponent";
import Movie from "../model/Movie"; import Movie from "../model/Movie";
import {formatTime} from "../model/formatTime";
type headerMovieProps = { type headerMovieProps = {
movie: Movie movie: Movie
@ -10,11 +11,6 @@ type headerMovieProps = {
export function HeaderMovie(props: headerMovieProps) { export function HeaderMovie(props: headerMovieProps) {
function formatTime(time: number) {
const hours = Math.floor(time / 60);
const minutes = time % 60;
return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`;
}
const styles = StyleSheet.create({ const styles = StyleSheet.create({
circle: { circle: {

@ -0,0 +1,5 @@
export function formatTime(time: number) {
const hours = Math.floor(time / 60);
const minutes = time % 60;
return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`;
}

@ -1,5 +1,5 @@
import * as React from 'react'; import * as React from 'react';
import {TouchableOpacity, ScrollView, View, Text, StyleSheet, Image, SafeAreaView, FlatList} from 'react-native'; import {TouchableOpacity, ScrollView, View, Text, StyleSheet, Image, SafeAreaView, FlatList, Animated} from 'react-native';
import {RootStackScreenProps} from "../types"; import {RootStackScreenProps} from "../types";
import {useSafeAreaInsets} from "react-native-safe-area-context"; import {useSafeAreaInsets} from "react-native-safe-area-context";
import Movie from "../model/Movie"; import Movie from "../model/Movie";
@ -12,6 +12,7 @@ import MinimalMovie from "../model/MinimalMovie";
import Review from "../model/review"; import Review from "../model/review";
import Stars from "../components/StarsComponent"; import Stars from "../components/StarsComponent";
import minimalMovie from "../model/MinimalMovie"; import minimalMovie from "../model/MinimalMovie";
import {formatTime} from "../model/formatTime";
export default function InfoScreen({navigation, route}: RootStackScreenProps<'Info'>) { export default function InfoScreen({navigation, route}: RootStackScreenProps<'Info'>) {
// @ts-ignore // @ts-ignore
@ -33,20 +34,14 @@ export default function InfoScreen({navigation, route}: RootStackScreenProps<'In
const [scaleBackground, setScaleBackground] = useState(1); const [scaleBackground, setScaleBackground] = useState(1);
function formatTime(time: number) {
const hours = Math.floor(time / 60);
const minutes = time % 60;
return `${hours}h ${minutes < 10 ? `0${minutes}` : minutes}m`;
}
const handleScroll = (event: any) => { const handleScroll = (event: any) => {
const {y} = event.nativeEvent.contentOffset; const {y} = event.nativeEvent.contentOffset;
let padTop = y / -5; let padTop = y / -20;
if (padTop <= 0) if (padTop <= 0)
setPaddingTopBackground(padTop);
setPaddingTopBackground(y / -5); setOpacityBackground(0.5 - y / 600);
setOpacityBackground(0.5 - y / 500); let scale = 1 - y / -2000
let scale = 1 - y / -1000
if (scale >= 1) if (scale >= 1)
setScaleBackground(scale); setScaleBackground(scale);
}; };
@ -421,7 +416,7 @@ export default function InfoScreen({navigation, route}: RootStackScreenProps<'In
<TouchableOpacity onPress={() => navigation.goBack()} style={{zIndex: 100}}> <TouchableOpacity onPress={() => navigation.goBack()} style={{zIndex: 100}}>
<Ionicons name="ios-arrow-back" size={30} color="white" style={styles.backButton}/> <Ionicons name="ios-arrow-back" size={30} color="white" style={styles.backButton}/>
</TouchableOpacity> </TouchableOpacity>
<ScrollView style={styles.list} showsVerticalScrollIndicator={false} onScroll={handleScroll} scrollEventThrottle={32} <ScrollView style={styles.list} showsVerticalScrollIndicator={false} onScroll={handleScroll} scrollEventThrottle={4}
> >
<View style={styles.section1}> <View style={styles.section1}>
<Text style={styles.title} numberOfLines={2}>{item.original_title}</Text> <Text style={styles.title} numberOfLines={2}>{item.original_title}</Text>

Loading…
Cancel
Save