diff --git a/src/components/OrderDetailsPanel/OrderDetailsPanel.css b/src/components/OrderDetailsPanel/OrderDetailsPanel.css
index 0b01a556..3f2ea112 100644
--- a/src/components/OrderDetailsPanel/OrderDetailsPanel.css
+++ b/src/components/OrderDetailsPanel/OrderDetailsPanel.css
@@ -4,6 +4,10 @@
margin: 35px 24px 0 24px;
}
+.mainTitle {
+ display: block;
+}
+
.messagesContainer {
display: flex;
flex-direction: column;
@@ -14,6 +18,10 @@
margin: 24px 24px 0 24px;
}
+.transitionDate {
+ white-space: nowrap;
+}
+
.bookingBreakdownTitle {
margin: 47px 24px 0 24px;
color: var(--matterColorAnti);
diff --git a/src/components/OrderDetailsPanel/OrderDetailsPanel.js b/src/components/OrderDetailsPanel/OrderDetailsPanel.js
index c42e2821..246561e4 100644
--- a/src/components/OrderDetailsPanel/OrderDetailsPanel.js
+++ b/src/components/OrderDetailsPanel/OrderDetailsPanel.js
@@ -3,7 +3,7 @@ import { FormattedDate, FormattedMessage } from 'react-intl';
import * as propTypes from '../../util/propTypes';
import { createSlug } from '../../util/urlHelpers';
import { types } from '../../util/sdkLoader';
-import { Avatar, BookingInfo, NamedLink } from '../../components';
+import { BookingInfo, NamedLink } from '../../components';
import css from './OrderDetailsPanel.css';
@@ -14,6 +14,85 @@ const formatName = (user, defaultName) => {
return defaultName;
};
+const orderTitle = (orderState, listingLink, customerName) => {
+ switch (orderState) {
+ case propTypes.TX_STATE_PREAUTHORIZED:
+ return (
+
+
+
+
+
+
+ );
+ case propTypes.TX_STATE_ACCEPTED:
+ return (
+
+
+
+
+
+
+ );
+ case propTypes.TX_STATE_REJECTED:
+ return (
+
+ );
+ case propTypes.TX_STATE_DELIVERED:
+ return (
+
+ );
+ default:
+ return null;
+ }
+};
+
+const orderMessage = (orderState, listingTitle, providerName, lastTransitionedAt) => {
+ const transitionDate = (
+
+
+
+ );
+ switch (orderState) {
+ case propTypes.TX_STATE_PREAUTHORIZED:
+ return (
+
+ );
+ case propTypes.TX_STATE_ACCEPTED:
+ return (
+
+ );
+ case propTypes.TX_STATE_REJECTED:
+ return (
+
+ );
+ case propTypes.TX_STATE_DELIVERED:
+ return (
+
+ );
+ default:
+ return null;
+ }
+};
+
const OrderDetailsPanel = props => {
const {
className,
@@ -50,92 +129,14 @@ const OrderDetailsPanel = props => {
:
{'priceRequiredMessage'}
;
// orderState affects to both title and message section
- let stateMsgData = {};
- switch (orderState) {
- case propTypes.TX_STATE_PREAUTHORIZED:
- stateMsgData = {
- title: (
-
- ),
- message: (
-
-
-
- ),
- };
- break;
- case propTypes.TX_STATE_ACCEPTED:
- stateMsgData = {
- title: (
-
- ),
- message: (
-
-
-
-
- ),
- };
- break;
- case propTypes.TX_STATE_REJECTED:
- stateMsgData = {
- title: (
-
- ),
- message: (
-
-
-
-
- ),
- };
- break;
- case propTypes.TX_STATE_DELIVERED:
- stateMsgData = {
- title: (
-
- ),
- message: (
-
-
-
-
- ),
- };
- break;
- default:
- stateMsgData = { title: null, message: null };
- }
+ const title = orderTitle(orderState, listingLink, customerName);
+ const message = orderMessage(orderState, listingLink, providerName, lastTransitionedAt);
return (
-
{stateMsgData.title}
+
{title}
- {stateMsgData.message}
+ {message}
diff --git a/src/components/OrderDetailsPanel/OrderDetailsPanel.test.js b/src/components/OrderDetailsPanel/OrderDetailsPanel.test.js
index a0e9af4c..23505cdf 100644
--- a/src/components/OrderDetailsPanel/OrderDetailsPanel.test.js
+++ b/src/components/OrderDetailsPanel/OrderDetailsPanel.test.js
@@ -19,6 +19,7 @@ describe('OrderDetailsPanel', () => {
),
listing: createListing('listing1'),
provider: createUser('provider'),
+ customer: createUser('customer'),
};
const tree = renderShallow();
expect(tree).toMatchSnapshot();
diff --git a/src/components/OrderDetailsPanel/__snapshots__/OrderDetailsPanel.test.js.snap b/src/components/OrderDetailsPanel/__snapshots__/OrderDetailsPanel.test.js.snap
index ff16a639..bffc413f 100644
--- a/src/components/OrderDetailsPanel/__snapshots__/OrderDetailsPanel.test.js.snap
+++ b/src/components/OrderDetailsPanel/__snapshots__/OrderDetailsPanel.test.js.snap
@@ -2,34 +2,42 @@ exports[`OrderDetailsPanel matches snapshot 1`] = `
-
- listing1 title
- ,
- }
- } />
-
-
-
+
+
+
+
+ listing1 title
+ ,
}
} />
-
+
+
+
+