Ran prettier
This commit is contained in:
parent
fff0bc97f5
commit
ed1cb0d064
|
@ -13,4 +13,4 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,4 +4,5 @@ module.exports = {
|
|||
bracketSpacing: false,
|
||||
singleQuote: true,
|
||||
trailingComma: 'all',
|
||||
};
|
||||
semi: false,
|
||||
}
|
||||
|
|
54
App.tsx
54
App.tsx
|
@ -1,49 +1,51 @@
|
|||
import {useState} from 'react';
|
||||
import {Button, View} from 'react-native';
|
||||
import AppIntroSlider from 'react-native-app-intro-slider';
|
||||
import {useState} from 'react'
|
||||
import {Button, View} from 'react-native'
|
||||
import AppIntroSlider from 'react-native-app-intro-slider'
|
||||
import DocumentPicker, {
|
||||
DocumentPickerResponse,
|
||||
} from 'react-native-document-picker';
|
||||
import {backgroundColor} from './constants';
|
||||
import Item from './Item';
|
||||
} from 'react-native-document-picker'
|
||||
import {backgroundColor} from './constants'
|
||||
import Item from './Item'
|
||||
|
||||
export default function App() {
|
||||
const [files, setFiles] = useState<DocumentPickerResponse[]>([]);
|
||||
const [slide, setSlide] = useState(0);
|
||||
const [files, setFiles] = useState<DocumentPickerResponse[]>([])
|
||||
const [slide, setSlide] = useState(0)
|
||||
|
||||
const pick = async () => {
|
||||
const picked = await DocumentPicker.pickMultiple();
|
||||
console.log(`Picked ${picked.length} files.`);
|
||||
setFiles(picked);
|
||||
};
|
||||
const picked = await DocumentPicker.pickMultiple()
|
||||
console.log(`Picked ${picked.length} files.`)
|
||||
setFiles(picked)
|
||||
}
|
||||
|
||||
const renderItem = ({
|
||||
item,
|
||||
index,
|
||||
}: {
|
||||
item: DocumentPickerResponse;
|
||||
index: number;
|
||||
item: DocumentPickerResponse
|
||||
index: number
|
||||
}) => {
|
||||
return <Item index={index} slide={slide} value={item} />;
|
||||
};
|
||||
|
||||
const slideChange = (index: number) => {
|
||||
setSlide(index);
|
||||
};
|
||||
return <Item index={index} slide={slide} value={item} />
|
||||
}
|
||||
|
||||
return (
|
||||
<View style={{height: '100%'}}>
|
||||
<View
|
||||
style={{
|
||||
backgroundColor,
|
||||
justifyContent: 'space-between',
|
||||
flex: 1,
|
||||
flexGrow: 1,
|
||||
padding: 10,
|
||||
}}>
|
||||
<Item />
|
||||
<AppIntroSlider
|
||||
style={{backgroundColor}}
|
||||
data={files}
|
||||
renderItem={renderItem}
|
||||
onSlideChange={setSlide}
|
||||
showDoneButton={false}
|
||||
showNextButton={false}
|
||||
onSlideChange={slideChange}
|
||||
initialNumToRender={3}
|
||||
/>
|
||||
<View style={{padding: 20, backgroundColor}}>
|
||||
<Button title="Pick" onPress={pick} />
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
|
39
Item.tsx
39
Item.tsx
|
@ -1,34 +1,35 @@
|
|||
import {Dimensions, View} from 'react-native';
|
||||
import {DocumentPickerResponse} from 'react-native-document-picker';
|
||||
import Video from 'react-native-video';
|
||||
import {backgroundColor} from './constants';
|
||||
import {useState} from 'react'
|
||||
import {Dimensions, View} from 'react-native'
|
||||
import {DocumentPickerResponse} from 'react-native-document-picker'
|
||||
import Video from 'react-native-video'
|
||||
|
||||
export default function Item({
|
||||
slide,
|
||||
value,
|
||||
index,
|
||||
}: {
|
||||
slide: number;
|
||||
value: DocumentPickerResponse;
|
||||
index: number;
|
||||
slide: number
|
||||
value: DocumentPickerResponse
|
||||
index: number
|
||||
}) {
|
||||
const height = Dimensions.get('screen').height;
|
||||
const [paused, setPaused] = useState(false)
|
||||
const [width, setWidth] = useState(0)
|
||||
|
||||
return (
|
||||
<View
|
||||
style={{
|
||||
height: '100%',
|
||||
width: '100%',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
backgroundColor,
|
||||
}}>
|
||||
<View style={{alignItems: 'center'}}>
|
||||
<Video
|
||||
key={value.name}
|
||||
paused={slide !== index}
|
||||
style={{width: 200, height: height / 2}}
|
||||
style={{
|
||||
height: Dimensions.get('screen').height - 125,
|
||||
width,
|
||||
alignItems: 'center',
|
||||
}}
|
||||
source={{uri: value.uri}}
|
||||
resizeMode="contain"
|
||||
onLoad={response => {
|
||||
setWidth(response.naturalSize.width)
|
||||
}}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
* @format
|
||||
*/
|
||||
|
||||
import 'react-native';
|
||||
import React from 'react';
|
||||
import App from '../App';
|
||||
import 'react-native'
|
||||
import React from 'react'
|
||||
import App from '../App'
|
||||
|
||||
// Note: test renderer must be required after react-native.
|
||||
import renderer from 'react-test-renderer';
|
||||
import renderer from 'react-test-renderer'
|
||||
|
||||
it('renders correctly', () => {
|
||||
renderer.create(<App />);
|
||||
});
|
||||
renderer.create(<App />)
|
||||
})
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
module.exports = {
|
||||
presets: ['module:metro-react-native-babel-preset'],
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
export const backgroundColor = '#121212';
|
||||
export const backgroundColor = '#121212'
|
||||
|
|
8
index.js
8
index.js
|
@ -2,8 +2,8 @@
|
|||
* @format
|
||||
*/
|
||||
|
||||
import {AppRegistry} from 'react-native';
|
||||
import App from './App';
|
||||
import {name as appName} from './app.json';
|
||||
import {AppRegistry} from 'react-native'
|
||||
import App from './App'
|
||||
import {name as appName} from './app.json'
|
||||
|
||||
AppRegistry.registerComponent(appName, () => App);
|
||||
AppRegistry.registerComponent(appName, () => App)
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
{
|
||||
"images" : [
|
||||
"images": [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
"idiom": "iphone",
|
||||
"scale": "2x",
|
||||
"size": "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
"idiom": "iphone",
|
||||
"scale": "3x",
|
||||
"size": "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
"idiom": "iphone",
|
||||
"scale": "2x",
|
||||
"size": "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
"idiom": "iphone",
|
||||
"scale": "3x",
|
||||
"size": "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
"idiom": "iphone",
|
||||
"scale": "2x",
|
||||
"size": "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
"idiom": "iphone",
|
||||
"scale": "3x",
|
||||
"size": "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
"idiom": "iphone",
|
||||
"scale": "2x",
|
||||
"size": "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
"idiom": "iphone",
|
||||
"scale": "3x",
|
||||
"size": "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
"idiom": "ios-marketing",
|
||||
"scale": "1x",
|
||||
"size": "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
"info": {
|
||||
"author": "xcode",
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"info": {
|
||||
"version": 1,
|
||||
"author": "xcode"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,4 +14,4 @@ module.exports = {
|
|||
},
|
||||
}),
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
"private": true,
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
"release": "react-native run-android --variant=release",
|
||||
"ios": "react-native run-ios",
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
|
|
Loading…
Reference in New Issue
Block a user