@@ -31,24 +31,27 @@ const createFragment = () => {
31
31
const fragments = [ text2 , text4 , text1 , text3 ] ;
32
32
33
33
class Content extends React . Component {
34
- state = { items : fragments } ;
35
-
36
34
render ( ) {
37
35
const gutter = 16 ;
38
36
const sizes = times ( identity , 100 ) . map ( columns => {
39
37
const mq = `${ columns * 288 + ( columns - 1 ) * 16 } px` ;
40
- console . log ( mq ) ;
41
38
return {
42
39
columns,
43
40
mq,
44
41
gutter
45
42
} ;
46
43
} ) ;
47
44
48
- const { items } = this . state ;
45
+ const { items } = this . props ;
49
46
50
47
return (
51
- < div style = { { padding : "16px" } } >
48
+ < div
49
+ style = { {
50
+ paddingTop : "1rem" ,
51
+ display : "flex" ,
52
+ alignSelf : "center"
53
+ } }
54
+ >
52
55
< Masonry sizes = { sizes } >
53
56
{ ( { forcePack } ) =>
54
57
items . map ( ( fragment , index ) => (
@@ -59,18 +62,6 @@ class Content extends React.Component {
59
62
< Group section = "body" >
60
63
< Text size = "small" > { fragment } </ Text >
61
64
</ Group >
62
- < Button
63
- size = "large"
64
- variant = "warning"
65
- onClick = { ( ) => {
66
- const newItems = [ ...items ] ;
67
- newItems . push ( createFragment ( ) ) ;
68
- this . setState ( { items : newItems } ) ;
69
- forcePack ( ) ;
70
- } }
71
- >
72
- Add Item
73
- </ Button >
74
65
</ Card >
75
66
) )
76
67
}
@@ -79,21 +70,33 @@ class Content extends React.Component {
79
70
) ;
80
71
}
81
72
}
73
+
82
74
class App extends React . Component {
83
75
state = {
84
- isOpen : false
76
+ isOpen : false ,
77
+ items : fragments
78
+ } ;
79
+
80
+ addItem = ( ) => {
81
+ const newItems = [ ...this . state . items ] ;
82
+ newItems . push ( createFragment ( ) ) ;
83
+ this . setState ( { items : newItems } ) ;
85
84
} ;
86
85
87
86
render ( ) {
88
87
const toggle = ( ) => this . setState ( { isOpen : ! this . state . isOpen } ) ;
89
88
const links = [
89
+ {
90
+ onClick : this . addItem ,
91
+ title : "Add Item" ,
92
+ level : 1
93
+ } ,
90
94
{
91
95
href : "https://condescending-wing-149611.netlify.com/" ,
92
96
title : "Contribute" ,
93
97
level : 3
94
98
}
95
99
] ;
96
-
97
100
return (
98
101
< ThemeProvider theme = { theme } >
99
102
< AppShell
@@ -109,7 +112,7 @@ class App extends React.Component {
109
112
content = "width=device-width, initial-scale=1"
110
113
/>
111
114
</ Head >
112
- < Content />
115
+ < Content items = { this . state . items } />
113
116
</ AppShell >
114
117
</ ThemeProvider >
115
118
) ;
0 commit comments