From 9f8ca9a10950dfb139ada0a03020c7e2624fb007 Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Wed, 29 Nov 2017 15:13:16 +0200 Subject: [PATCH] ActivityFeed can open ReviewModal (defined in parent panel) --- .../ActivityFeed/ActivityFeed.example.js | 7 ++++++ src/components/ActivityFeed/ActivityFeed.js | 22 +++++++++---------- .../ActivityFeed/ActivityFeed.test.js | 1 + 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/components/ActivityFeed/ActivityFeed.example.js b/src/components/ActivityFeed/ActivityFeed.example.js index 8740b28d..9af2b14a 100644 --- a/src/components/ActivityFeed/ActivityFeed.example.js +++ b/src/components/ActivityFeed/ActivityFeed.example.js @@ -18,6 +18,7 @@ export const Empty = { props: { messages: [], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -32,6 +33,7 @@ export const WithoutCurrentUser = { createMessage('msg2', {}, { sender: createUser('user2') }), ], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -50,6 +52,7 @@ export const WithCurrentUser = { createMessage('msg5', {}, { sender: createUser('user1') }), ], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -79,6 +82,7 @@ export const WithTransitions = { }), messages: [], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -162,6 +166,7 @@ export const WithMessagesTransitionsAndReviews = { ), ], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -204,6 +209,7 @@ export const WithAReviewFromBothUsers = { }), messages: [], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, }, @@ -278,6 +284,7 @@ class PagedFeed extends Component { transaction, messages, hasOlderMessages: !this.state.showAllMessages, + onOpenReviewModal: noop, onShowOlderMessages: handleShowOlder, fetchMessagesInProgress: false, }; diff --git a/src/components/ActivityFeed/ActivityFeed.js b/src/components/ActivityFeed/ActivityFeed.js index 415f63cb..53b0edce 100644 --- a/src/components/ActivityFeed/ActivityFeed.js +++ b/src/components/ActivityFeed/ActivityFeed.js @@ -76,19 +76,14 @@ const hasUserLeftAReviewFirst = (userRole, lastTransition) => { ); }; -const onLeaveAReview = () => { - // TODO: Open up a review modal - - console.log('Leave a review button clicked'); -}; - const resolveTransitionMessage = ( transition, lastTransition, listingTitle, ownRole, otherUsersName, - intl + intl, + onOpenReviewModal ) => { const isOwnTransition = transition.by === ownRole; const currentTransition = transition.transition; @@ -130,7 +125,7 @@ const resolveTransitionMessage = ( // if current user is not the first to leave a review const reviewLink = deliveredState || !hasUserLeftAReviewFirst(ownRole, lastTransition) ? ( - + ) : null; @@ -144,7 +139,7 @@ const resolveTransitionMessage = ( // show the leave a review link if current user is not the first // one to leave a review const reviewLink = !hasUserLeftAReviewFirst(ownRole, lastTransition) ? ( - + ) : null; @@ -178,7 +173,7 @@ const reviewByAuthorId = (transaction, userId) => { }; const Transition = props => { - const { transition, transaction, currentUser, intl } = props; + const { transition, transaction, currentUser, intl, onOpenReviewModal } = props; const currentTransaction = ensureTransaction(transaction); const customer = currentTransaction.customer; @@ -202,7 +197,8 @@ const Transition = props => { listingTitle, ownRole, otherUsersName, - intl + intl, + onOpenReviewModal ); const currentTransition = transition.transition; @@ -252,6 +248,7 @@ Transition.propTypes = { transaction: propTypes.transaction.isRequired, currentUser: propTypes.currentUser.isRequired, intl: intlShape.isRequired, + onOpenReviewModal: func.isRequired, }; const EmptyTransition = () => { @@ -296,6 +293,7 @@ export const ActivityFeedComponent = props => { transaction, currentUser, hasOlderMessages, + onOpenReviewModal, onShowOlderMessages, fetchMessagesInProgress, intl, @@ -329,6 +327,7 @@ export const ActivityFeedComponent = props => { transaction={transaction} currentUser={currentUser} intl={intl} + onOpenReviewModal={onOpenReviewModal} /> ); } else { @@ -398,6 +397,7 @@ ActivityFeedComponent.propTypes = { transaction: propTypes.transaction, messages: arrayOf(propTypes.message), hasOlderMessages: bool.isRequired, + onOpenReviewModal: func.isRequired, onShowOlderMessages: func.isRequired, fetchMessagesInProgress: bool.isRequired, diff --git a/src/components/ActivityFeed/ActivityFeed.test.js b/src/components/ActivityFeed/ActivityFeed.test.js index 8281e746..9925a07d 100644 --- a/src/components/ActivityFeed/ActivityFeed.test.js +++ b/src/components/ActivityFeed/ActivityFeed.test.js @@ -21,6 +21,7 @@ describe('ActivityFeed', () => { createMessage('msg2', {}, { sender: createUser('user2') }), ], hasOlderMessages: false, + onOpenReviewModal: noop, onShowOlderMessages: noop, fetchMessagesInProgress: false, intl: fakeIntl,