mirror of
https://github.com/kingomarnajjar/flex-template-web.git
synced 2026-07-28 03:43:28 +10:00
Check for transition type before rendering it
Also moved a utility function that is used only once away from util/propTypes.
This commit is contained in:
parent
ead540a126
commit
b3f1489dec
3 changed files with 44 additions and 20 deletions
|
|
@ -78,6 +78,12 @@ export const WithTransitions = {
|
|||
by: propTypes.TX_TRANSITION_ACTOR_PROVIDER,
|
||||
transition: propTypes.TX_TRANSITION_ACCEPT,
|
||||
}),
|
||||
// this should not be visible in the feed
|
||||
createTxTransition({
|
||||
at: new Date(Date.UTC(2017, 10, 16, 8, 12)),
|
||||
by: propTypes.TX_TRANSITION_ACTOR_PROVIDER,
|
||||
transition: propTypes.TX_TRANSITION_AUTO_COMPLETE_WITHOUT_REVIEWS,
|
||||
}),
|
||||
],
|
||||
}),
|
||||
messages: [],
|
||||
|
|
|
|||
|
|
@ -66,6 +66,34 @@ Review.propTypes = {
|
|||
rating: number.isRequired,
|
||||
};
|
||||
|
||||
// Check if a transition is the kind that
|
||||
// should be rendered in he ActivityFeed
|
||||
const isTransitionRendered = transition => {
|
||||
return [
|
||||
propTypes.TX_TRANSITION_PREAUTHORIZE,
|
||||
propTypes.TX_TRANSITION_ACCEPT,
|
||||
propTypes.TX_TRANSITION_DECLINE,
|
||||
propTypes.TX_TRANSITION_AUTO_DECLINE,
|
||||
propTypes.TX_TRANSITION_CANCEL,
|
||||
propTypes.TX_TRANSITION_MARK_DELIVERED,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_PROVIDER_FIRST,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_PROVIDER_SECOND,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_FIRST,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_SECOND,
|
||||
].includes(transition);
|
||||
};
|
||||
|
||||
// Check if a user giving a review is related to
|
||||
// given tx transition.
|
||||
const isReviewTransition = transition => {
|
||||
return [
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_PROVIDER_FIRST,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_FIRST,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_PROVIDER_SECOND,
|
||||
propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_SECOND,
|
||||
].includes(transition);
|
||||
};
|
||||
|
||||
const hasUserLeftAReviewFirst = (userRole, lastTransition) => {
|
||||
return (
|
||||
(lastTransition === propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_FIRST &&
|
||||
|
|
@ -204,10 +232,7 @@ const Transition = props => {
|
|||
|
||||
let reviewComponent = null;
|
||||
|
||||
if (
|
||||
propTypes.isReviewTransition(currentTransition) &&
|
||||
propTypes.areReviewsCompleted(lastTransition)
|
||||
) {
|
||||
if (isReviewTransition(currentTransition) && propTypes.areReviewsCompleted(lastTransition)) {
|
||||
const customerReview =
|
||||
currentTransition === propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_FIRST ||
|
||||
currentTransition === propTypes.TX_TRANSITION_REVIEW_BY_CUSTOMER_SECOND;
|
||||
|
|
@ -357,11 +382,15 @@ export const ActivityFeedComponent = props => {
|
|||
};
|
||||
|
||||
const transitionListItem = transition => {
|
||||
return (
|
||||
<li key={transition.transition} className={css.transitionItem}>
|
||||
{transitionComponent(transition)}
|
||||
</li>
|
||||
);
|
||||
if (isTransitionRendered(transition.transition)) {
|
||||
return (
|
||||
<li key={transition.transition} className={css.transitionItem}>
|
||||
{transitionComponent(transition)}
|
||||
</li>
|
||||
);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -247,17 +247,6 @@ export const areReviewsCompleted = transition => {
|
|||
].includes(transition);
|
||||
};
|
||||
|
||||
// Check if a user giving a review is related to
|
||||
// given tx transition.
|
||||
export const isReviewTransition = transition => {
|
||||
return [
|
||||
TX_TRANSITION_REVIEW_BY_PROVIDER_FIRST,
|
||||
TX_TRANSITION_REVIEW_BY_CUSTOMER_FIRST,
|
||||
TX_TRANSITION_REVIEW_BY_PROVIDER_SECOND,
|
||||
TX_TRANSITION_REVIEW_BY_CUSTOMER_SECOND,
|
||||
].includes(transition);
|
||||
};
|
||||
|
||||
// Possible amount of stars in a review
|
||||
export const REVIEW_RATINGS = [1, 2, 3, 4, 5];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue