Skip to content

Commit 2da3ae5

Browse files
committed
validando pantalla movie
1 parent 43736d5 commit 2da3ae5

File tree

36 files changed

+116
-88
lines changed

36 files changed

+116
-88
lines changed

App.js

+6-38
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,15 @@
11
import React, { Component } from "react";
2-
import {
3-
Text
4-
} from 'react-native'
5-
import Home from "./src/screens/containers/home";
6-
import Header from "./src/sections/components/header";
7-
import SuggestionList from "./src/videos/containers/suggestion-list";
8-
import API from "./utils/api";
9-
import CategoryList from "./src/videos/containers/category-list.js";
10-
import Player from "./src/player/containers/player";
2+
113
import { Provider } from 'react-redux';
124
import { PersistGate } from 'redux-persist/integration/react';
135
import { store, persistor } from './store';
6+
147
import Loading from "./src/sections/components/loading";
8+
import AppLayout from "./src/app";
159

16-
export default class App extends Component {
17-
// state = {
18-
// categoryList: [],
19-
// suggestionList: [],
20-
// loading: true
21-
// };
22-
async componentDidMount() {
23-
const categoryList = await API.getMovies();
24-
console.log(categoryList)
25-
store.dispatch({
26-
type: 'SET_CATEGORY_LIST',
27-
payload: {
28-
categoryList
29-
}
30-
})
31-
const suggestionList = await API.getSuggestions(10);
32-
store.dispatch({
33-
type: 'SET_SUGGESTION_LIST',
34-
payload: {
35-
suggestionList
36-
}
37-
})
3810

39-
}
11+
12+
export default class App extends Component {
4013
render() {
4114
return (
4215
<Provider
@@ -46,12 +19,7 @@ export default class App extends Component {
4619
loading={<Loading />}
4720
persistor={persistor}
4821
>
49-
<Home>
50-
<Header />
51-
<Player />
52-
<CategoryList />
53-
<SuggestionList />
54-
</Home>
22+
<AppLayout />
5523
</PersistGate>
5624
</Provider >
5725
);
Binary file not shown.

ios/build/LineApp/Logs/Build/A8668C50-42D5-4C8A-9861-CA8E42D15A01.xcactivitylog

Whitespace-only changes.

ios/build/LineApp/Logs/Build/FF0A02AA-77AD-40BC-9803-849852F2D387.xcactivitylog

Whitespace-only changes.

ios/build/LineApp/Logs/Build/LogStoreManifest.plist

-32
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,6 @@
66
<integer>10</integer>
77
<key>logs</key>
88
<dict>
9-
<key>86AFF40C-C647-4348-8039-F10490B08607</key>
10-
<dict>
11-
<key>className</key>
12-
<string>IDECommandLineBuildLog</string>
13-
<key>documentTypeString</key>
14-
<string>&lt;nil&gt;</string>
15-
<key>domainType</key>
16-
<string>Xcode.IDEActivityLogDomainType.BuildLog</string>
17-
<key>fileName</key>
18-
<string>86AFF40C-C647-4348-8039-F10490B08607.xcactivitylog</string>
19-
<key>primaryObservable</key>
20-
<dict>
21-
<key>highLevelStatus</key>
22-
<string>S</string>
23-
</dict>
24-
<key>schemeIdentifier-containerName</key>
25-
<string>LineApp project</string>
26-
<key>schemeIdentifier-schemeName</key>
27-
<string>LineApp</string>
28-
<key>schemeIdentifier-sharedScheme</key>
29-
<integer>1</integer>
30-
<key>signature</key>
31-
<string>Building project LineApp with scheme LineApp and configuration Debug</string>
32-
<key>timeStartedRecording</key>
33-
<real>588468388.36826301</real>
34-
<key>timeStoppedRecording</key>
35-
<real>588468389.74422204</real>
36-
<key>title</key>
37-
<string>Building project LineApp with scheme LineApp and configuration Debug</string>
38-
<key>uniqueIdentifier</key>
39-
<string>86AFF40C-C647-4348-8039-F10490B08607</string>
40-
</dict>
419
<key>B80A73AB-D564-4D3D-B531-3A6E7C2D6A93</key>
4210
<dict>
4311
<key>className</key>

ios/build/LineApp/info.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>LastAccessedDate</key>
6-
<date>2019-08-26T18:51:44Z</date>
6+
<date>2019-08-26T19:32:36Z</date>
77
<key>WorkspacePath</key>
88
<string>/Users/minamac/Desktop/Proyectos/lineVideo/ios/LineApp.xcodeproj</string>
99
</dict>

reducers/videos.js

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ function videos(state = {}, action) {
66
case 'SET_SUGGESTION_LIST': {
77
return { ...state, ...action.payload }
88
}
9+
case 'SET_SELECTED_MOVIE': {
10+
return { ...state, selectedMovie: action.payload.movie }
11+
}
912
default:
1013
return state
1114
}

src/app.js

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import React, { Component } from 'react';
2+
import { connect } from 'react-redux';
3+
import API from "../utils/api";
4+
import Home from "./screens/containers/home";
5+
import Header from "./sections/components/header";
6+
import SuggestionList from "./videos/containers/suggestion-list";
7+
import CategoryList from "./videos/containers/category-list.js";
8+
import Movie from './screens/containers/movie'
9+
10+
11+
class AppLayout extends Component {
12+
async componentDidMount() {
13+
const categoryList = await API.getMovies();
14+
console.log(categoryList)
15+
this.props.dispatch({
16+
type: 'SET_CATEGORY_LIST',
17+
payload: {
18+
categoryList
19+
}
20+
})
21+
const suggestionList = await API.getSuggestions(10);
22+
this.props.dispatch({
23+
type: 'SET_SUGGESTION_LIST',
24+
payload: {
25+
suggestionList
26+
}
27+
})
28+
}
29+
render() {
30+
if (this.props.selectedMovie) {
31+
return <Movie />
32+
}
33+
return (
34+
<Home>
35+
<Header />
36+
<CategoryList />
37+
<SuggestionList />
38+
</Home>
39+
)
40+
41+
}
42+
}
43+
function mapStateToProps(state) {
44+
return {
45+
selectedMovie: state.selectedMovie,
46+
}
47+
}
48+
49+
export default connect(mapStateToProps)(AppLayout);

src/screens/components/movie.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from 'react';
2+
3+
function MovieLayout(props) {
4+
return props.children
5+
}
6+
7+
export default MovieLayout;

src/screens/containers/movie.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import React, { Component } from 'react';
2+
import MovieLayout from '../components/movie';
3+
import Player from "../../player/containers/player";
4+
import Header from '../../sections/components/header';
5+
6+
class Movie extends Component {
7+
render() {
8+
return (
9+
<MovieLayout>
10+
<Header />
11+
<Player />
12+
</MovieLayout>
13+
)
14+
15+
}
16+
}
17+
18+
export default Movie

src/videos/components/suggestions.js

+20-16
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,31 @@ import {
55
Image,
66
Text,
77
StyleSheet,
8+
TouchableOpacity
89
} from 'react-native';
910

10-
1111
function Suggestion(props) {
1212
return (
13-
<View style={styles.contanier}>
14-
<View style={styles.left}>
15-
<Image
16-
style={styles.cover}
17-
source={{ uri: props.medium_cover_image }}
18-
/>
19-
</View>
20-
<View style={styles.genre}>
21-
<Text style={styles.genreText}>{props.genres[0]}</Text>
22-
</View>
23-
<View style={styles.right}>
24-
<Text style={styles.title}>{props.title}</Text>
25-
<Text style={styles.year}>{props.year}</Text>
26-
<Text style={styles.rating}>IMDB {props.rating}</Text>
13+
<TouchableOpacity
14+
onPress={props.onPress}
15+
>
16+
<View style={styles.contanier}>
17+
<View style={styles.left}>
18+
<Image
19+
style={styles.cover}
20+
source={{ uri: props.medium_cover_image }}
21+
/>
22+
</View>
23+
<View style={styles.genre}>
24+
<Text style={styles.genreText}>{props.genres[0]}</Text>
25+
</View>
26+
<View style={styles.right}>
27+
<Text style={styles.title}>{props.title}</Text>
28+
<Text style={styles.year}>{props.year}</Text>
29+
<Text style={styles.rating}>IMDB {props.rating}</Text>
30+
</View>
2731
</View>
28-
</View>
32+
</TouchableOpacity>
2933
)
3034
}
3135

src/videos/containers/suggestion-list.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,20 @@ function mapStateToProps(state) {
1717
class SuggestionList extends Component {
1818
keyExtractor = (item) => item.id.toString()
1919
itemSeparator = () => <Separator />
20+
viewMovie = (item) => {
21+
this.props.dispatch({
22+
type: 'SET_SELECTED_MOVIE',
23+
payload: {
24+
movie: item,
25+
}
26+
27+
})
28+
}
2029
renderItem = ({ item }) => {
2130
return (
22-
<Suggestion{...item} />
31+
<Suggestion{...item}
32+
onPress={() => { this.viewMovie(item) }}
33+
/>
2334
)
2435
}
2536
render() {

0 commit comments

Comments
 (0)