import * as React from 'react'; import { Animated, Dimensions, StatusBar, StyleSheet, TouchableOpacity, View } from 'react-native'; const { width, height } = Dimensions.get('window'); const colors = { black: '#323F4E', red: '#F76A6A', text: '#ffffff', }; const timers = [...Array(13).keys()].map((i) => (i === 0 ? 1 : i * 5)); const ITEM_SIZE = width * 0.38; const ITEM_SPACING = (width - ITEM_SIZE) / 2; /* Har bare skrevet timeren som en egen tab til å begynne med. Planen er at når bruker starter en task så vil de få opp denne timeren som viser TaskName og Description der tallene står nå Kanskje en animert figur hvis vi får tid */ export default function App() { const scrollX = React.useRef(new Animated.Value(0)).current; const [duration, setDuration] = React.useState(timers[0]) const timerAnimation = React.useRef(new Animated.Value(height)).current const buttonAnimation = React.useRef(new Animated.Value(0)).current const animation = React.useCallback(() => { Animated.sequence([ Animated.timing(buttonAnimation, { toValue: 1, duration: 300, useNativeDriver: true }), Animated.timing(timerAnimation, { toValue: 0, duration: 300, useNativeDriver: true }), Animated.timing(timerAnimation, { toValue: height, duration: duration * 1000, useNativeDriver: true }), ]) .start(() => { Animated.timing(buttonAnimation, { toValue: 0, duration: 300, useNativeDriver: true }).start() }) }, [duration]) const opacity = buttonAnimation.interpolate({ inputRange: [0, 1], outputRange: [1, 0] }) const translateY = buttonAnimation.interpolate({ inputRange: [0, 1], outputRange: [0, 200] }) return ( ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: colors.black, }, roundButton: { width: 80, height: 80, borderRadius: 80, backgroundColor: colors.red, }, text: { fontSize: ITEM_SIZE * 0.8, fontFamily: 'Menlo', color: colors.text, fontWeight: '900', } });