1
1
import { Customer , Order } from "@medusajs/medusa"
2
2
import { Container } from "@medusajs/ui"
3
- import { formatAmount } from "@lib/util/prices"
4
3
5
4
import ChevronDown from "@modules/common/icons/chevron-down"
6
5
import LocalizedClientLink from "@modules/common/components/localized-client-link"
6
+ import { convertToLocale } from "@lib/util/money"
7
7
8
8
type OverviewProps = {
9
9
customer : Omit < Customer , "password_hash" > | null
@@ -15,10 +15,18 @@ const Overview = ({ customer, orders }: OverviewProps) => {
15
15
< div data-testid = "overview-page-wrapper" >
16
16
< div className = "hidden small:block" >
17
17
< div className = "text-xl-semi flex justify-between items-center mb-4" >
18
- < span data-testid = "welcome-message" data-value = { customer ?. first_name } > Hello { customer ?. first_name } </ span >
18
+ < span data-testid = "welcome-message" data-value = { customer ?. first_name } >
19
+ Hello { customer ?. first_name }
20
+ </ span >
19
21
< span className = "text-small-regular text-ui-fg-base" >
20
22
Signed in as:{ " " }
21
- < span className = "font-semibold" data-testid = "customer-email" data-value = { customer ?. email } > { customer ?. email } </ span >
23
+ < span
24
+ className = "font-semibold"
25
+ data-testid = "customer-email"
26
+ data-value = { customer ?. email }
27
+ >
28
+ { customer ?. email }
29
+ </ span >
22
30
</ span >
23
31
</ div >
24
32
< div className = "flex flex-col py-8 border-t border-gray-200" >
@@ -27,7 +35,11 @@ const Overview = ({ customer, orders }: OverviewProps) => {
27
35
< div className = "flex flex-col gap-y-4" >
28
36
< h3 className = "text-large-semi" > Profile</ h3 >
29
37
< div className = "flex items-end gap-x-2" >
30
- < span className = "text-3xl-semi leading-none" data-testid = "customer-profile-completion" data-value = { getProfileCompletion ( customer ) } >
38
+ < span
39
+ className = "text-3xl-semi leading-none"
40
+ data-testid = "customer-profile-completion"
41
+ data-value = { getProfileCompletion ( customer ) }
42
+ >
31
43
{ getProfileCompletion ( customer ) } %
32
44
</ span >
33
45
< span className = "uppercase text-base-regular text-ui-fg-subtle" >
@@ -39,7 +51,11 @@ const Overview = ({ customer, orders }: OverviewProps) => {
39
51
< div className = "flex flex-col gap-y-4" >
40
52
< h3 className = "text-large-semi" > Addresses</ h3 >
41
53
< div className = "flex items-end gap-x-2" >
42
- < span className = "text-3xl-semi leading-none" data-testid = "addresses-count" data-value = { customer ?. shipping_addresses ?. length || 0 } >
54
+ < span
55
+ className = "text-3xl-semi leading-none"
56
+ data-testid = "addresses-count"
57
+ data-value = { customer ?. shipping_addresses ?. length || 0 }
58
+ >
43
59
{ customer ?. shipping_addresses ?. length || 0 }
44
60
</ span >
45
61
< span className = "uppercase text-base-regular text-ui-fg-subtle" >
@@ -53,11 +69,18 @@ const Overview = ({ customer, orders }: OverviewProps) => {
53
69
< div className = "flex items-center gap-x-2" >
54
70
< h3 className = "text-large-semi" > Recent orders</ h3 >
55
71
</ div >
56
- < ul className = "flex flex-col gap-y-4" data-testid = "orders-wrapper" >
72
+ < ul
73
+ className = "flex flex-col gap-y-4"
74
+ data-testid = "orders-wrapper"
75
+ >
57
76
{ orders && orders . length > 0 ? (
58
77
orders . slice ( 0 , 5 ) . map ( ( order ) => {
59
78
return (
60
- < li key = { order . id } data-testid = "order-wrapper" data-value = { order . id } >
79
+ < li
80
+ key = { order . id }
81
+ data-testid = "order-wrapper"
82
+ data-value = { order . id }
83
+ >
61
84
< LocalizedClientLink
62
85
href = { `/account/orders/details/${ order . id } ` }
63
86
>
@@ -73,16 +96,23 @@ const Overview = ({ customer, orders }: OverviewProps) => {
73
96
< span data-testid = "order-created-date" >
74
97
{ new Date ( order . created_at ) . toDateString ( ) }
75
98
</ span >
76
- < span data-testid = "order-id" data-value = { order . display_id } > #{ order . display_id } </ span >
99
+ < span
100
+ data-testid = "order-id"
101
+ data-value = { order . display_id }
102
+ >
103
+ #{ order . display_id }
104
+ </ span >
77
105
< span data-testid = "order-amount" >
78
- { formatAmount ( {
106
+ { convertToLocale ( {
79
107
amount : order . total ,
80
- region : order . region ,
81
- includeTaxes : false ,
108
+ currency_code : order . region . currency_code ,
82
109
} ) }
83
110
</ span >
84
111
</ div >
85
- < button className = "flex items-center justify-between" data-testid = "open-order-button" >
112
+ < button
113
+ className = "flex items-center justify-between"
114
+ data-testid = "open-order-button"
115
+ >
86
116
< span className = "sr-only" >
87
117
Go to order #{ order . display_id }
88
118
</ span >
0 commit comments