-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparte02App.js
More file actions
116 lines (106 loc) · 2.99 KB
/
parte02App.js
File metadata and controls
116 lines (106 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import React from 'react';
// import logo from './logo.svg';
import './App.css';
import './lib/api';
import api from './lib/api';
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
modalActivo: false,
personajes: []
}
}
componentDidMount() {
api.getAllCharacters()
.then(results => {
this.setState({
personajes: results
})
})
.catch(e => console.error(e))
}
activarModal() {
this.setState({
modalActivo: true
})
}
desactivarModal() {
this.setState({
modalActivo: false
})
}
renderCards(p) {
return (
<div key={p.id} className='Card' onClick={p => this.activarModal()}>
<div className='Card-imagen'>
<figure>
<img alt='test' src={p.image} />
</figure>
</div>
<div className='Card-descripcion'>
<div className='Card-name'>
<h3>{p.name}</h3>
</div>
</div>
</div>
)
}
render() {
const { modalActivo, personajes } = this.state
// const fakeData = [1,2,3,4,5,6,7]
const cards = personajes.map(personaje => this.renderCards(personaje))
console.log(cards)
return (
<div className="App">
<div className='App-contenedor'>
<h1>Rick and Morty</h1>
<div className='Cards-contenedor'>
{cards}
</div>
{ modalActivo ? (
<div className='Modal' onClick={e => this.desactivarModal()}>
<div className='Card-detalle'>
<div className='Card-imagen'>
<figure>
<img alt='test' src={'https://rickandmortyapi.com/api/character/avatar/167.jpeg'} />
</figure>
</div>
<div className='Card-detalle-descripcion'>
<div className='descripcion'>
<h3>Name</h3>
<div className='caracteristica'>
<p>Status</p>
<p className='caracteristica-valor'>
Muerto
</p>
</div>
<div className='caracteristica'>
<p>Especie</p>
<p className='caracteristica-valor'>
Humano
</p>
</div>
<div className='caracteristica'>
<p>Genero</p>
<p className='caracteristica-valor'>
??
</p>
</div>
<div className='caracteristica'>
<p>Origen</p>
<p className='caracteristica-valor'>
Tierra
</p>
</div>
</div>
</div>
</div>
</div>
) : null }
</div>
</div>
);
}
}
export default App;