@@ -18,6 +18,13 @@ import { BookDetailInfoWidget } from "./BookDetailInfoWidget";
18
18
export const LeftMetadata : React . FunctionComponent < {
19
19
book : Book ;
20
20
} > = observer ( ( props ) => {
21
+ const originalUploadDateAsString = props . book . uploadDate ! . toLocaleDateString ( ) ;
22
+ const lastUploadDateAsString = props . book . lastUploadedDate
23
+ ? props . book . lastUploadedDate ! . toLocaleDateString ( )
24
+ : undefined ;
25
+ const displayLastUploadDate =
26
+ originalUploadDateAsString !== lastUploadDateAsString ;
27
+
21
28
return (
22
29
< div
23
30
css = { css `
@@ -48,26 +55,39 @@ export const LeftMetadata: React.FunctionComponent<{
48
55
/> { " " }
49
56
< LicenseLink book = { props . book } />
50
57
</ div >
51
- < div >
52
- < FormattedMessage
53
- id = "book.metadata.uploadedBy"
54
- defaultMessage = "Uploaded {date} by {email}"
55
- values = { {
56
- date : props . book . uploadDate ! . toLocaleDateString ( ) ,
57
- email : obfuscateEmail ( props . book . uploader ) ,
58
- } }
59
- />
60
- </ div >
61
- { props . book . lastUploadedDate && (
58
+ { ! displayLastUploadDate ? (
62
59
< div >
63
60
< FormattedMessage
64
- id = "book.metadata.lastUploaded "
65
- defaultMessage = "Last uploaded on {date }"
61
+ id = "book.metadata.uploadedBy "
62
+ defaultMessage = "Uploaded {date} by {email }"
66
63
values = { {
67
- date : props . book . lastUploadedDate ! . toLocaleDateString ( ) ,
64
+ date : originalUploadDateAsString ,
65
+ email : obfuscateEmail ( props . book . uploader ) ,
68
66
} }
69
67
/>
70
68
</ div >
69
+ ) : (
70
+ < >
71
+ < div >
72
+ < FormattedMessage
73
+ id = "book.metadata.firstUploadedBy"
74
+ defaultMessage = "First uploaded {date} by {email}"
75
+ values = { {
76
+ date : originalUploadDateAsString ,
77
+ email : obfuscateEmail ( props . book . uploader ) ,
78
+ } }
79
+ />
80
+ </ div >
81
+ < div >
82
+ < FormattedMessage
83
+ id = "book.metadata.updatedOn"
84
+ defaultMessage = "Updated on {date}"
85
+ values = { {
86
+ date : lastUploadDateAsString ,
87
+ } }
88
+ />
89
+ </ div >
90
+ </ >
71
91
) }
72
92
{ props . book . importedBookSourceUrl &&
73
93
props . book . importedBookSourceUrl . length > 0 && (
0 commit comments