diff --git a/Views/Feed.js b/Views/Feed.js
index 2ea2967..388d981 100644
--- a/Views/Feed.js
+++ b/Views/Feed.js
@@ -69,6 +69,9 @@ let Feed = ({ navigation, route }) => {
onRefresh={() => {
API.getPosts().then(setPosts);
}}
+ initialNumToRender={3}
+ maxToRenderPerBatch={3}
+ removeClippedSubviews={true}
/>
diff --git a/Views/Profile.js b/Views/Profile.js
index f76c320..550e512 100644
--- a/Views/Profile.js
+++ b/Views/Profile.js
@@ -72,7 +72,9 @@ let Profile = ({ navigation, route }) => {
keyExtractor={item => item._id || item.createdAt}
ListHeaderComponent={header}
refreshing={Posts.length === 0}
- initialNumToRender={2}
+ initialNumToRender={3}
+ maxToRenderPerBatch={3}
+ removeClippedSubviews={true}
onRefresh={() => {
API.getPosts(route.params.profileid).then(setPosts);
}}
diff --git a/components/Media.js b/components/Media.js
index de48bc0..4aef258 100644
--- a/components/Media.js
+++ b/components/Media.js
@@ -1,5 +1,5 @@
import React, { useState, useEffect } from 'react';
-import { Text, View, ScrollView, Image, StyleSheet } from 'react-native';
+import { Text, View, TouchableHighlight, Image, StyleSheet } from 'react-native';
import API from './../API.js';
import VideoPlayer from './VideoPlayer.js';
import VimeoPlayer from './VimeoPlayer.js';
@@ -41,17 +41,25 @@ let Media = (props) => {
const imageStyle = imagesTag.length == 1 ? styles.image : styles.multipleImage;
const videosId = videoIdF(props.content);
const iframeSrc = iframeTagF(props.content) || [];
- let [videosFiles, setVideosFiles] = useState([]);
- let [poster, setPoster] = useState('');
+ const [videosFiles, setVideosFiles] = useState([]);
+ const [poster, setPoster] = useState('');
+ const [loaded, setLoaded] = useState(false);
useEffect(async () => {
if (!videosId[1]) return 0;
let videoObj = await API.getVideo(videosId[1]);
if(videoObj && videoObj.files){
setVideosFiles(videoObj.files);
- setPoster(videoObj.pictures.sizes[videoObj.pictures.sizes.length - 1].link);
+ setPoster(videoObj.pictures.sizes[4].link);
}
}, [props.content])
- const video = videosFiles.length ? :
+ const video = videosFiles.length ? (
+ loaded ? :
+ (
+ setLoaded(true)}>
+
+
+ )
+ ) :
(videosId.length ? : <>>);
const iframe = iframeSrc.length ?
{
const onLoad = ()=>{
if(!viewer.data[videoId]) return 0;
+ console.log(videoId + " loaded")
video.current.setPositionAsync(viewer.data[videoId].time*1000);
};
@@ -25,16 +26,11 @@ const VideoPlayer = ({ videosFiles, videoId, poster }) => {
ref={video}
style={styles.video}
source={{
- uri: chosenVideo[0].link,
+ uri: chosenVideo[chosenVideo.length-1].link,
}}
- usePoster={true}
- posterSource={poster ? {
- uri: poster
- } : ''}
useNativeControls
+ shouldPlay={true}
resizeMode="contain"
- isLooping
- shouldPlay={false}
onPlaybackStatusUpdate={status => setStatus(() => status)}
onLoad={onLoad}
/>