@manuscripts/style-guide 3.2.1 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,12 +25,27 @@ const RelativeDate = ({ date, ...props }) => {
25
25
  return null;
26
26
  }
27
27
  const formatter = new Intl.RelativeTimeFormat('en', { style: 'short' });
28
- let value = Math.floor((date - Date.now()) / 3600000);
29
- let unit = 'hour';
30
- if (Math.abs(value) > 24) {
31
- value = Math.floor(value / 24);
28
+ const msAgo = Date.now() - date;
29
+ const minutesAgo = msAgo / 60000;
30
+ const HOUR = 60;
31
+ const DAY = 24 * 60;
32
+ let value;
33
+ let unit;
34
+ if (minutesAgo < 1) {
35
+ return react_1.default.createElement("span", { ...props }, "just now");
36
+ }
37
+ else if (minutesAgo < HOUR) {
38
+ value = Math.round(minutesAgo);
39
+ unit = 'minute';
40
+ }
41
+ else if (minutesAgo < DAY) {
42
+ value = Math.round(minutesAgo / HOUR);
43
+ unit = 'hour';
44
+ }
45
+ else {
46
+ value = Math.round(minutesAgo / DAY);
32
47
  unit = 'day';
33
48
  }
34
- return react_1.default.createElement("span", { ...props }, formatter.format(value, unit));
49
+ return react_1.default.createElement("span", { ...props }, formatter.format(-value, unit));
35
50
  };
36
51
  exports.RelativeDate = RelativeDate;
@@ -19,11 +19,26 @@ export const RelativeDate = ({ date, ...props }) => {
19
19
  return null;
20
20
  }
21
21
  const formatter = new Intl.RelativeTimeFormat('en', { style: 'short' });
22
- let value = Math.floor((date - Date.now()) / 3600000);
23
- let unit = 'hour';
24
- if (Math.abs(value) > 24) {
25
- value = Math.floor(value / 24);
22
+ const msAgo = Date.now() - date;
23
+ const minutesAgo = msAgo / 60000;
24
+ const HOUR = 60;
25
+ const DAY = 24 * 60;
26
+ let value;
27
+ let unit;
28
+ if (minutesAgo < 1) {
29
+ return React.createElement("span", { ...props }, "just now");
30
+ }
31
+ else if (minutesAgo < HOUR) {
32
+ value = Math.round(minutesAgo);
33
+ unit = 'minute';
34
+ }
35
+ else if (minutesAgo < DAY) {
36
+ value = Math.round(minutesAgo / HOUR);
37
+ unit = 'hour';
38
+ }
39
+ else {
40
+ value = Math.round(minutesAgo / DAY);
26
41
  unit = 'day';
27
42
  }
28
- return React.createElement("span", { ...props }, formatter.format(value, unit));
43
+ return React.createElement("span", { ...props }, formatter.format(-value, unit));
29
44
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@manuscripts/style-guide",
3
3
  "description": "Shared components for Manuscripts applications",
4
- "version": "3.2.1",
4
+ "version": "3.2.2",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-style-guide",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",