@@ -6,6 +6,8 @@ import PostDropdown from '../../dropdowns/PostDropdown';
6
6
import EditPostModal from '../../modals/EditPostModal' ;
7
7
8
8
import withAuthorization from '../../../Authentication/withAuthorization' ;
9
+ import AuthUserContext from '../../../Authentication/AuthUserContext' ;
10
+
9
11
import { db } from '../../../../firebase' ;
10
12
11
13
const PostInput = ( { createPost, post_details, onChange } ) => (
@@ -31,7 +33,7 @@ const Post = ({ children, index }) => (
31
33
</ div >
32
34
) ;
33
35
34
- const PostHeader = ( { timestamp, onRemovePost, canEdit, onEditPost } ) => (
36
+ const PostHeader = ( { timestamp, onRemovePost, canEdit, onEditPost, onSavePost } ) => (
35
37
< div style = { { display : 'flex' , justifyContent : 'space-between' } } >
36
38
< p > { timestamp } </ p >
37
39
{ canEdit !== false && < PostDropdown onRemovePost = { onRemovePost } onEditPost = { onEditPost } /> }
@@ -107,7 +109,7 @@ class ProfilePosts extends Component {
107
109
event . preventDefault ( ) ;
108
110
109
111
const { description } = this . state ;
110
- const { projectId } = this . props ;
112
+ const { isOwner , projectId } = this . props ;
111
113
let date = new Date ( ) ;
112
114
113
115
const docId = await db . createProjectPostWithFields ( description , date , projectId ) ;
@@ -131,50 +133,62 @@ class ProfilePosts extends Component {
131
133
} ;
132
134
133
135
onSavePost = async ( ) => {
134
- const { posts, description, index } = this . state ;
136
+ const { editable, posts, description, index } = this . state ;
137
+ console . log ( description ) ;
138
+ console . log ( index ) ;
139
+ this . setState ( { editable : ! editable } ) ;
135
140
const { projectId } = this . props ;
136
-
137
- this . setState ( prevState => ( { editable : ! prevState . editable } ) ) ;
138
141
await db . editProjectPost ( projectId , posts [ index ] . pid , description ) ;
139
142
const newPost = [ ...posts ] ;
140
143
newPost [ index ] . description = description ;
141
144
this . setState ( { posts : newPost } ) ;
142
145
} ;
143
146
144
147
render ( ) {
145
- const { isOwner } = this . props ;
146
- const { posts, description, editable } = this . state ;
148
+ const { isOwner, projectId } = this . props ;
149
+ const { posts, description, editable, index } = this . state ;
150
+ console . log ( projectId ) ;
147
151
return (
148
- < SizeMe >
149
- { ( { size } ) => (
150
- < div
151
- style = { { paddingLeft : size . width < 720 ? 0 : 50 ,
152
- paddingRight : size . width < 720 ? 0 : 100 } }
153
- >
154
- < div >
155
- { isOwner ? (
156
- < AuthSocialView
157
- post_details = { description }
158
- createPost = { this . createPost }
159
- onChange = { event => this . setState ( { description : event . target . value } ) }
160
- posts = { posts }
161
- onRemovePost = { this . onRemovePost }
162
- onEditPost = { this . onEditPost }
163
- />
164
- ) : (
165
- < GuestSocialView posts = { posts } />
152
+ < div >
153
+ < AuthUserContext . Consumer >
154
+ { authUser => (
155
+ < SizeMe >
156
+ { ( { size } ) => (
157
+ < div
158
+ style = { { paddingLeft : size . width < 720 ? 0 : 50 ,
159
+ paddingRight : size . width < 720 ? 0 : 100 } }
160
+ >
161
+ { editable ? (
162
+ < EditPostModal
163
+ post = { posts [ index ] . pid }
164
+ onSavePost = { this . onSavePost }
165
+ description = { description }
166
+ onChange = { event => this . setState ( { description : event . target . value } ) }
167
+ editable = { editable }
168
+ toggle = { event => this . setState ( { editable : ! editable } ) }
169
+ />
170
+ ) : (
171
+ < div >
172
+ { isOwner ? (
173
+ < AuthSocialView
174
+ post_details = { description }
175
+ createPost = { this . createPost }
176
+ onChange = { event => this . setState ( { description : event . target . value } ) }
177
+ posts = { posts }
178
+ onRemovePost = { this . onRemovePost }
179
+ onEditPost = { this . onEditPost }
180
+ />
181
+ ) : (
182
+ < GuestSocialView posts = { posts } />
183
+ ) }
184
+ </ div >
185
+ ) }
186
+ </ div >
166
187
) }
167
- </ div >
168
- < EditPostModal
169
- onSavePost = { this . onSavePost }
170
- description = { description }
171
- onChange = { event => this . setState ( { description : event . target . value } ) }
172
- editable = { editable }
173
- toggle = { ( ) => this . setState ( { editable : ! editable } ) }
174
- />
175
- </ div >
176
- ) }
177
- </ SizeMe >
188
+ </ SizeMe >
189
+ ) }
190
+ </ AuthUserContext . Consumer >
191
+ </ div >
178
192
) ;
179
193
}
180
194
}
0 commit comments