File tree 5 files changed +49
-5
lines changed
5 files changed +49
-5
lines changed Original file line number Diff line number Diff line change 1
1
import React from 'react' ;
2
2
import './App.css' ;
3
+
3
4
import Stories from './Stories' ;
4
5
5
- const App = ( { stories } ) =>
6
+ const App = ( { stories, onArchive } ) =>
6
7
< div className = "app" >
7
- < Stories stories = { stories } />
8
+ < Stories
9
+ stories = { stories }
10
+ onArchive = { onArchive }
11
+ />
8
12
</ div >
9
13
10
14
export default App ;
Original file line number Diff line number Diff line change
1
+ import React from 'react' ;
2
+
3
+ const ButtonInline = ( {
4
+ onClick,
5
+ type = 'button' ,
6
+ children
7
+ } ) =>
8
+ < Button
9
+ type = { type }
10
+ className = "button-inline"
11
+ onClick = { onClick }
12
+ >
13
+ { children }
14
+ </ Button >
15
+
16
+ const Button = ( {
17
+ onClick,
18
+ className,
19
+ type = 'button' ,
20
+ children
21
+ } ) =>
22
+ < button
23
+ type = { type }
24
+ className = { className }
25
+ onClick = { onClick }
26
+ >
27
+ { children }
28
+ </ button >
29
+
30
+ export default Button ;
31
+
32
+ export {
33
+ ButtonInline
34
+ } ;
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ const COLUMNS = {
24
24
} ,
25
25
} ;
26
26
27
- const Stories = ( { stories } ) =>
27
+ const Stories = ( { stories, onArchive } ) =>
28
28
< div className = "stories" >
29
29
< StoriesHeader columns = { COLUMNS } />
30
30
@@ -33,6 +33,7 @@ const Stories = ({ stories }) =>
33
33
key = { story . objectID }
34
34
story = { story }
35
35
columns = { COLUMNS }
36
+ onArchive = { onArchive }
36
37
/>
37
38
) }
38
39
</ div >
Original file line number Diff line number Diff line change 1
1
import React from 'react' ;
2
+ import { ButtonInline } from './Button' ;
2
3
import './Story.css' ;
3
4
4
- const Story = ( { story, columns } ) => {
5
+ const Story = ( { story, columns, onArchive } ) => {
5
6
const {
6
7
title,
7
8
url,
8
9
author,
9
10
num_comments,
10
11
points,
12
+ objectID,
11
13
} = story ;
12
14
13
15
return (
@@ -25,6 +27,9 @@ const Story = ({ story, columns }) => {
25
27
{ points }
26
28
</ span >
27
29
< span style = { { width : columns . archive . width } } >
30
+ < ButtonInline onClick = { ( ) => onArchive ( objectID ) } >
31
+ Archive
32
+ </ ButtonInline >
28
33
</ span >
29
34
</ div >
30
35
) ;
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ const stories = [
23
23
] ;
24
24
25
25
ReactDOM . render (
26
- < App stories = { stories } /> ,
26
+ < App stories = { stories } onArchive = { ( objectID ) => { console . log ( objectID ) ; } } /> ,
27
27
document . getElementById ( 'root' )
28
28
) ;
29
29
registerServiceWorker ( ) ;
You can’t perform that action at this time.
0 commit comments