[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-merchant-backoffice] branch master updated: fix conversion betwee
From: |
gnunet |
Subject: |
[taler-merchant-backoffice] branch master updated: fix conversion between new timestamp format and javascript date |
Date: |
Fri, 01 Apr 2022 19:43:07 +0200 |
This is an automated email from the git hooks/post-receive script.
sebasjm pushed a commit to branch master
in repository merchant-backoffice.
The following commit(s) were added to refs/heads/master by this push:
new 35af67d fix conversion between new timestamp format and javascript
date
35af67d is described below
commit 35af67df3cda2c79c5ca9de78498f21f7d559db2
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Fri Apr 1 14:42:50 2022 -0300
fix conversion between new timestamp format and javascript date
---
.../src/components/form/InputDate.tsx | 4 +-
.../src/components/form/InputDuration.tsx | 2 +-
.../src/components/form/InputStock.stories.tsx | 4 +-
.../src/components/picker/DurationPicker.tsx | 217 +++++++++++++--------
.../src/components/product/ProductForm.tsx | 2 +-
packages/merchant-backoffice/src/hooks/order.ts | 4 +-
.../paths/instance/orders/create/CreatePage.tsx | 16 +-
.../instance/orders/details/Detail.stories.tsx | 6 +-
.../paths/instance/orders/details/DetailPage.tsx | 86 ++++----
.../paths/instance/orders/list/List.stories.tsx | 8 +-
.../src/paths/instance/orders/list/Table.tsx | 17 +-
.../src/paths/instance/products/list/Table.tsx | 2 +-
.../instance/reserves/details/Details.stories.tsx | 12 +-
.../paths/instance/reserves/list/List.stories.tsx | 12 +-
.../paths/instance/transfers/list/List.stories.tsx | 6 +-
15 files changed, 235 insertions(+), 163 deletions(-)
diff --git a/packages/merchant-backoffice/src/components/form/InputDate.tsx
b/packages/merchant-backoffice/src/components/form/InputDate.tsx
index cbc68a3..7719952 100644
--- a/packages/merchant-backoffice/src/components/form/InputDate.tsx
+++ b/packages/merchant-backoffice/src/components/form/InputDate.tsx
@@ -58,7 +58,7 @@ export function InputDate<T>({
? withTimestampSupport
? "never"
: ""
- : format(new Date(value.t_s), "yyyy/MM/dd");
+ : format(new Date(value.t_s * 1000), "yyyy/MM/dd");
}
return (
@@ -148,7 +148,7 @@ export function InputDate<T>({
closeFunction={() => setOpened(false)}
dateReceiver={(d) => {
if (withTimestampSupport) {
- onChange({ t_s: d.getTime() } as any);
+ onChange({ t_s: d.getTime() / 1000 } as any);
} else {
onChange(d as any);
}
diff --git a/packages/merchant-backoffice/src/components/form/InputDuration.tsx
b/packages/merchant-backoffice/src/components/form/InputDuration.tsx
index 6fe5976..d5c208e 100644
--- a/packages/merchant-backoffice/src/components/form/InputDuration.tsx
+++ b/packages/merchant-backoffice/src/components/form/InputDuration.tsx
@@ -53,7 +53,7 @@ export function InputDuration<T>({
strValue = i18n`forever`;
} else {
strValue = formatDuration(
- intervalToDuration({ start: 0, end: value.d_us }),
+ intervalToDuration({ start: 0, end: value.d_us / 1000 }),
{
locale: {
formatDistance: (name, value) => {
diff --git
a/packages/merchant-backoffice/src/components/form/InputStock.stories.tsx
b/packages/merchant-backoffice/src/components/form/InputStock.stories.tsx
index 2c01ff4..63c7e41 100644
--- a/packages/merchant-backoffice/src/components/form/InputStock.stories.tsx
+++ b/packages/merchant-backoffice/src/components/form/InputStock.stories.tsx
@@ -102,7 +102,7 @@ export const CreateStockWithRestock = () => {
current: 15,
lost: 0,
sold: 0,
- nextRestock: { t_s: addDays(new Date(), 1).getTime() },
+ nextRestock: { t_s: addDays(new Date(), 1).getTime() / 1000 },
},
});
return (
@@ -126,7 +126,7 @@ export const UpdatingProductWithManagedStock = () => {
current: 100,
lost: 0,
sold: 0,
- nextRestock: { t_s: addDays(new Date(), 1).getTime() },
+ nextRestock: { t_s: addDays(new Date(), 1).getTime() / 1000 },
},
});
return (
diff --git
a/packages/merchant-backoffice/src/components/picker/DurationPicker.tsx
b/packages/merchant-backoffice/src/components/picker/DurationPicker.tsx
index 235a63e..f32a48f 100644
--- a/packages/merchant-backoffice/src/components/picker/DurationPicker.tsx
+++ b/packages/merchant-backoffice/src/components/picker/DurationPicker.tsx
@@ -15,9 +15,9 @@
*/
/**
-*
-* @author Sebastian Javier Marchano (sebasjm)
-*/
+ *
+ * @author Sebastian Javier Marchano (sebasjm)
+ */
import { h, VNode } from "preact";
import { useState } from "preact/hooks";
@@ -30,75 +30,123 @@ export interface Props {
seconds?: boolean;
days?: boolean;
onChange: (value: number) => void;
- value: number
+ value: number;
}
// inspiration taken from https://github.com/flurmbo/react-duration-picker
-export function DurationPicker({ days, hours, minutes, seconds, onChange,
value }: Props): VNode {
- const ss = 1000
- const ms = ss * 60
- const hs = ms * 60
- const ds = hs * 24
- const i18n = useTranslator()
-
- return <div class="rdp-picker">
- {days && <DurationColumn unit={i18n`days`} max={99}
- value={Math.floor(value / ds)}
- onDecrease={value >= ds ? () => onChange(value - ds) : undefined}
- onIncrease={value < 99 * ds ? () => onChange(value + ds) : undefined}
- onChange={diff => onChange(value + diff * ds)}
- />}
- {hours && <DurationColumn unit={i18n`hours`} max={23} min={1}
- value={Math.floor(value / hs) % 24}
- onDecrease={value >= hs ? () => onChange(value - hs) : undefined}
- onIncrease={value < 99 * ds ? () => onChange(value + hs) : undefined}
- onChange={diff => onChange(value + diff * hs)}
- />}
- {minutes && <DurationColumn unit={i18n`minutes`} max={59} min={1}
- value={Math.floor(value / ms) % 60}
- onDecrease={value >= ms ? () => onChange(value - ms) : undefined}
- onIncrease={value < 99 * ds ? () => onChange(value + ms) : undefined}
- onChange={diff => onChange(value + diff * ms)}
- />}
- {seconds && <DurationColumn unit={i18n`seconds`} max={59}
- value={Math.floor(value / ss) % 60}
- onDecrease={value >= ss ? () => onChange(value - ss) : undefined}
- onIncrease={value < 99 * ds ? () => onChange(value + ss) : undefined}
- onChange={diff => onChange(value + diff * ss)}
- />}
- </div>
+export function DurationPicker({
+ days,
+ hours,
+ minutes,
+ seconds,
+ onChange,
+ value,
+}: Props): VNode {
+ const ss = 1000 * 1000;
+ const ms = ss * 60;
+ const hs = ms * 60;
+ const ds = hs * 24;
+ const i18n = useTranslator();
+
+ return (
+ <div class="rdp-picker">
+ {days && (
+ <DurationColumn
+ unit={i18n`days`}
+ max={99}
+ value={Math.floor(value / ds)}
+ onDecrease={value >= ds ? () => onChange(value - ds) : undefined}
+ onIncrease={value < 99 * ds ? () => onChange(value + ds) : undefined}
+ onChange={(diff) => onChange(value + diff * ds)}
+ />
+ )}
+ {hours && (
+ <DurationColumn
+ unit={i18n`hours`}
+ max={23}
+ min={1}
+ value={Math.floor(value / hs) % 24}
+ onDecrease={value >= hs ? () => onChange(value - hs) : undefined}
+ onIncrease={value < 99 * ds ? () => onChange(value + hs) : undefined}
+ onChange={(diff) => onChange(value + diff * hs)}
+ />
+ )}
+ {minutes && (
+ <DurationColumn
+ unit={i18n`minutes`}
+ max={59}
+ min={1}
+ value={Math.floor(value / ms) % 60}
+ onDecrease={value >= ms ? () => onChange(value - ms) : undefined}
+ onIncrease={value < 99 * ds ? () => onChange(value + ms) : undefined}
+ onChange={(diff) => onChange(value + diff * ms)}
+ />
+ )}
+ {seconds && (
+ <DurationColumn
+ unit={i18n`seconds`}
+ max={59}
+ value={Math.floor(value / ss) % 60}
+ onDecrease={value >= ss ? () => onChange(value - ss) : undefined}
+ onIncrease={value < 99 * ds ? () => onChange(value + ss) : undefined}
+ onChange={(diff) => onChange(value + diff * ss)}
+ />
+ )}
+ </div>
+ );
}
interface ColProps {
- unit: string,
- min?: number,
- max: number,
- value: number,
+ unit: string;
+ min?: number;
+ max: number;
+ value: number;
onIncrease?: () => void;
onDecrease?: () => void;
onChange?: (diff: number) => void;
}
-function InputNumber({ initial, onChange }: { initial: number, onChange: (n:
number) => void }) {
- const [value, handler] = useState<{v:string}>({
- v: toTwoDigitString(initial)
- })
-
- return <input
- value={value.v}
- onBlur={(e) => onChange(parseInt(value.v, 10))}
- onInput={(e) => {
- e.preventDefault()
- const n = Number.parseInt(e.currentTarget.value, 10);
- if (isNaN(n)) return handler({v:toTwoDigitString(initial)})
- return handler({v:toTwoDigitString(n)})
- }}
- style={{ width: 50, border: 'none', fontSize: 'inherit', background:
'inherit' }} />
-}
+function InputNumber({
+ initial,
+ onChange,
+}: {
+ initial: number;
+ onChange: (n: number) => void;
+}) {
+ const [value, handler] = useState<{ v: string }>({
+ v: toTwoDigitString(initial),
+ });
-function DurationColumn({ unit, min = 0, max, value, onIncrease, onDecrease,
onChange }: ColProps): VNode {
+ return (
+ <input
+ value={value.v}
+ onBlur={(e) => onChange(parseInt(value.v, 10))}
+ onInput={(e) => {
+ e.preventDefault();
+ const n = Number.parseInt(e.currentTarget.value, 10);
+ if (isNaN(n)) return handler({ v: toTwoDigitString(initial) });
+ return handler({ v: toTwoDigitString(n) });
+ }}
+ style={{
+ width: 50,
+ border: "none",
+ fontSize: "inherit",
+ background: "inherit",
+ }}
+ />
+ );
+}
- const cellHeight = 35
+function DurationColumn({
+ unit,
+ min = 0,
+ max,
+ value,
+ onIncrease,
+ onDecrease,
+ onChange,
+}: ColProps): VNode {
+ const cellHeight = 35;
return (
<div class="rdp-column-container">
<div class="rdp-masked-div">
@@ -106,49 +154,58 @@ function DurationColumn({ unit, min = 0, max, value,
onIncrease, onDecrease, onC
<hr class="rdp-reticule" style={{ top: cellHeight * 3 - 1 }} />
<div class="rdp-column" style={{ top: 0 }}>
-
<div class="rdp-cell" key={value - 2}>
- {onDecrease && <button style={{ width: '100%', textAlign:
'center', margin: 5 }}
- onClick={onDecrease}>
- <span class="icon">
- <i class="mdi mdi-chevron-up" />
- </span>
- </button>}
+ {onDecrease && (
+ <button
+ style={{ width: "100%", textAlign: "center", margin: 5 }}
+ onClick={onDecrease}
+ >
+ <span class="icon">
+ <i class="mdi mdi-chevron-up" />
+ </span>
+ </button>
+ )}
</div>
<div class="rdp-cell" key={value - 1}>
- {value > min ? toTwoDigitString(value - 1) : ''}
+ {value > min ? toTwoDigitString(value - 1) : ""}
</div>
<div class="rdp-cell rdp-center" key={value}>
- {onChange ?
- <InputNumber initial={value} onChange={(n) => onChange(n -
value)} /> :
+ {onChange ? (
+ <InputNumber
+ initial={value}
+ onChange={(n) => onChange(n - value)}
+ />
+ ) : (
toTwoDigitString(value)
- }
+ )}
<div>{unit}</div>
</div>
<div class="rdp-cell" key={value + 1}>
- {value < max ? toTwoDigitString(value + 1) : ''}
+ {value < max ? toTwoDigitString(value + 1) : ""}
</div>
<div class="rdp-cell" key={value + 2}>
- {onIncrease && <button style={{ width: '100%', textAlign:
'center', margin: 5 }}
- onClick={onIncrease}>
- <span class="icon">
- <i class="mdi mdi-chevron-down" />
- </span>
- </button>}
+ {onIncrease && (
+ <button
+ style={{ width: "100%", textAlign: "center", margin: 5 }}
+ onClick={onIncrease}
+ >
+ <span class="icon">
+ <i class="mdi mdi-chevron-down" />
+ </span>
+ </button>
+ )}
</div>
-
</div>
</div>
</div>
);
}
-
function toTwoDigitString(n: number) {
if (n < 10) {
return `0${n}`;
}
return `${n}`;
-}
\ No newline at end of file
+}
diff --git
a/packages/merchant-backoffice/src/components/product/ProductForm.tsx
b/packages/merchant-backoffice/src/components/product/ProductForm.tsx
index 831bb05..e481f1b 100644
--- a/packages/merchant-backoffice/src/components/product/ProductForm.tsx
+++ b/packages/merchant-backoffice/src/components/product/ProductForm.tsx
@@ -94,7 +94,7 @@ export function ProductForm({ onSubscribe, initial,
alreadyExist }: Props) {
value.total_lost = stock.lost;
value.next_restock =
stock.nextRestock instanceof Date
- ? { t_s: stock.nextRestock.getTime() }
+ ? { t_s: stock.nextRestock.getTime() / 1000 }
: stock.nextRestock;
value.address = stock.address;
}
diff --git a/packages/merchant-backoffice/src/hooks/order.ts
b/packages/merchant-backoffice/src/hooks/order.ts
index 788cc17..d082968 100644
--- a/packages/merchant-backoffice/src/hooks/order.ts
+++ b/packages/merchant-backoffice/src/hooks/order.ts
@@ -292,7 +292,7 @@ export function useInstanceOrders(
const from =
afterData.data.orders[afterData.data.orders.length - 1].timestamp
.t_s;
- if (from && updateFilter) updateFilter(new Date(from));
+ if (from && from !== "never" && updateFilter) updateFilter(new
Date(from * 1000));
}
},
loadMorePrev: () => {
@@ -303,7 +303,7 @@ export function useInstanceOrders(
const from =
beforeData.data.orders[beforeData.data.orders.length - 1].timestamp
.t_s;
- if (from && updateFilter) updateFilter(new Date(from));
+ if (from && from !== "never" && updateFilter) updateFilter(new
Date(from * 1000));
}
},
};
diff --git
a/packages/merchant-backoffice/src/paths/instance/orders/create/CreatePage.tsx
b/packages/merchant-backoffice/src/paths/instance/orders/create/CreatePage.tsx
index 2d6b725..e648daa 100644
---
a/packages/merchant-backoffice/src/paths/instance/orders/create/CreatePage.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/orders/create/CreatePage.tsx
@@ -223,23 +223,19 @@ export function CreatePage({
extra: value.extra,
pay_deadline: value.payments.pay_deadline
? {
- t_s:
- Math.floor(value.payments.pay_deadline.getTime() / 1000) *
1000,
+ t_s: Math.floor(value.payments.pay_deadline.getTime() / 1000),
}
: undefined,
wire_transfer_deadline: value.payments.wire_transfer_deadline
? {
- t_s:
- Math.floor(
- value.payments.wire_transfer_deadline.getTime() / 1000
- ) * 1000,
+ t_s: Math.floor(
+ value.payments.wire_transfer_deadline.getTime() / 1000
+ ),
}
: undefined,
refund_deadline: value.payments.refund_deadline
? {
- t_s:
- Math.floor(value.payments.refund_deadline.getTime() / 1000) *
- 1000,
+ t_s: Math.floor(value.payments.refund_deadline.getTime() / 1000),
}
: undefined,
wire_fee_amortization: value.payments.wire_fee_amortization,
@@ -247,7 +243,7 @@ export function CreatePage({
max_wire_fee: value.payments.max_wire_fee,
delivery_date: value.shipping.delivery_date
- ? { t_s: value.shipping.delivery_date.getTime() }
+ ? { t_s: value.shipping.delivery_date.getTime() / 1000 }
: undefined,
delivery_location: value.shipping.delivery_location,
fulfillment_url: value.shipping.fullfilment_url,
diff --git
a/packages/merchant-backoffice/src/paths/instance/orders/details/Detail.stories.tsx
b/packages/merchant-backoffice/src/paths/instance/orders/details/Detail.stories.tsx
index 53bc4da..812b11a 100644
---
a/packages/merchant-backoffice/src/paths/instance/orders/details/Detail.stories.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/orders/details/Detail.stories.tsx
@@ -45,7 +45,7 @@ function createExample<Props>(
const defaultContractTerm = {
amount: "TESTKUDOS:10",
timestamp: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
auditors: [],
exchanges: [],
@@ -105,7 +105,7 @@ export const PaidRefundable =
createExample(TestedComponent, {
contract_terms: {
...defaultContractTerm,
refund_deadline: {
- t_s: addDays(new Date(), 2).getTime(),
+ t_s: addDays(new Date(), 2).getTime() / 1000,
},
},
refunded: false,
@@ -128,7 +128,7 @@ export const Unpaid = createExample(TestedComponent, {
order_status: "unpaid",
order_status_url: "http://merchant.backend/status",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
summary: "text summary",
taler_pay_uri: "pay uri",
diff --git
a/packages/merchant-backoffice/src/paths/instance/orders/details/DetailPage.tsx
b/packages/merchant-backoffice/src/paths/instance/orders/details/DetailPage.tsx
index cdc2768..6947a6b 100644
---
a/packages/merchant-backoffice/src/paths/instance/orders/details/DetailPage.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/orders/details/DetailPage.tsx
@@ -162,28 +162,28 @@ function ClaimedPage({
const events: Event[] = [];
if (order.contract_terms.timestamp.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.timestamp.t_s),
+ when: new Date(order.contract_terms.timestamp.t_s * 1000),
description: "order created",
type: "start",
});
}
if (order.contract_terms.pay_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.pay_deadline.t_s),
+ when: new Date(order.contract_terms.pay_deadline.t_s * 1000),
description: "pay deadline",
type: "deadline",
});
}
if (order.contract_terms.refund_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.refund_deadline.t_s),
+ when: new Date(order.contract_terms.refund_deadline.t_s * 1000),
description: "refund deadline",
type: "deadline",
});
}
if (order.contract_terms.wire_transfer_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.wire_transfer_deadline.t_s),
+ when: new Date(order.contract_terms.wire_transfer_deadline.t_s * 1000),
description: "wire deadline",
type: "deadline",
});
@@ -193,7 +193,7 @@ function ClaimedPage({
order.contract_terms.delivery_date.t_s !== "never"
) {
events.push({
- when: new Date(order.contract_terms.delivery_date?.t_s),
+ when: new Date(order.contract_terms.delivery_date?.t_s * 1000),
description: "delivery",
type: "delivery",
});
@@ -244,7 +244,7 @@ function ClaimedPage({
<Translate>claimed at</Translate>:
</b>{" "}
{format(
- new Date(order.contract_terms.timestamp.t_s),
+ new Date(order.contract_terms.timestamp.t_s *
1000),
"yyyy-MM-dd HH:mm:ss"
)}
</p>
@@ -323,28 +323,28 @@ function PaidPage({
const events: Event[] = [];
if (order.contract_terms.timestamp.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.timestamp.t_s),
+ when: new Date(order.contract_terms.timestamp.t_s * 1000),
description: "order created",
type: "start",
});
}
if (order.contract_terms.pay_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.pay_deadline.t_s),
+ when: new Date(order.contract_terms.pay_deadline.t_s * 1000),
description: "pay deadline",
type: "deadline",
});
}
if (order.contract_terms.refund_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.refund_deadline.t_s),
+ when: new Date(order.contract_terms.refund_deadline.t_s * 1000),
description: "refund deadline",
type: "deadline",
});
}
if (order.contract_terms.wire_transfer_deadline.t_s !== "never") {
events.push({
- when: new Date(order.contract_terms.wire_transfer_deadline.t_s),
+ when: new Date(order.contract_terms.wire_transfer_deadline.t_s * 1000),
description: "wire deadline",
type: "deadline",
});
@@ -355,17 +355,19 @@ function PaidPage({
) {
if (order.contract_terms.delivery_date)
events.push({
- when: new Date(order.contract_terms.delivery_date?.t_s),
+ when: new Date(order.contract_terms.delivery_date?.t_s * 1000),
description: "delivery",
type: "delivery",
});
}
order.refund_details.reduce(mergeRefunds, []).forEach((e) => {
- events.push({
- when: new Date(e.timestamp.t_s),
- description: `refund: ${e.amount}: ${e.reason}`,
- type: "refund",
- });
+ if (e.timestamp.t_s !== "never") {
+ events.push({
+ when: new Date(e.timestamp.t_s * 1000),
+ description: `refund: ${e.amount}: ${e.reason}`,
+ type: "refund",
+ });
+ }
});
if (order.wire_details && order.wire_details.length) {
if (order.wire_details.length > 1) {
@@ -385,23 +387,31 @@ function PaidPage({
? Amounts.parseOrThrow(w.amount)
: Amounts.add(total, Amounts.parseOrThrow(w.amount)).amount;
});
- events.push({
- when: new Date(last!.execution_time.t_s),
- description: `wired ${Amounts.stringify(total!)}`,
- type: "wired-range",
- });
- events.push({
- when: new Date(first!.execution_time.t_s),
- description: `wire transfer started...`,
- type: "wired-range",
- });
- } else {
- order.wire_details.forEach((e) => {
+ const last_time = last!.execution_time.t_s;
+ if (last_time !== "never") {
+ events.push({
+ when: new Date(last_time * 1000),
+ description: `wired ${Amounts.stringify(total!)}`,
+ type: "wired-range",
+ });
+ }
+ const first_time = first!.execution_time.t_s;
+ if (first_time !== "never") {
events.push({
- when: new Date(e.execution_time.t_s),
- description: `wired ${e.amount}`,
- type: "wired",
+ when: new Date(first_time * 1000),
+ description: `wire transfer started...`,
+ type: "wired-range",
});
+ }
+ } else {
+ order.wire_details.forEach((e) => {
+ if (e.execution_time.t_s !== "never") {
+ events.push({
+ when: new Date(e.execution_time.t_s * 1000),
+ description: `wired ${e.amount}`,
+ type: "wired",
+ });
+ }
});
}
}
@@ -409,7 +419,7 @@ function PaidPage({
const [value, valueHandler] = useState<Partial<Paid>>(order);
const refundable =
- new Date().getTime() < order.contract_terms.refund_deadline.t_s;
+ new Date().getTime() < order.contract_terms.refund_deadline.t_s * 1000;
const i18n = useTranslator();
return (
@@ -495,7 +505,7 @@ function PaidPage({
</p>
<p>
{format(
- new Date(order.contract_terms.timestamp.t_s),
+ new Date(order.contract_terms.timestamp.t_s *
1000),
"yyyy/MM/dd HH:mm:ss"
)}
</p>
@@ -625,10 +635,12 @@ function UnpaidPage({
<b>
<Translate>created at</Translate>:
</b>{" "}
- {format(
- new Date(order.creation_time.t_s),
- "yyyy-MM-dd HH:mm:ss"
- )}
+ {order.creation_time.t_s === "never"
+ ? "never"
+ : format(
+ new Date(order.creation_time.t_s * 1000),
+ "yyyy-MM-dd HH:mm:ss"
+ )}
</p>
</div>
</div>
diff --git
a/packages/merchant-backoffice/src/paths/instance/orders/list/List.stories.tsx
b/packages/merchant-backoffice/src/paths/instance/orders/list/List.stories.tsx
index c167fc6..1dbb3f2 100644
---
a/packages/merchant-backoffice/src/paths/instance/orders/list/List.stories.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/orders/list/List.stories.tsx
@@ -60,7 +60,7 @@ export const Example = createExample(TestedComponent, {
row_id: 1,
summary: "summary",
timestamp: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
order_id: "123",
},
@@ -73,7 +73,7 @@ export const Example = createExample(TestedComponent, {
summary:
"summary with long text, very very long text that someone want to add
as a description of the order",
timestamp: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
order_id: "234",
},
@@ -86,7 +86,7 @@ export const Example = createExample(TestedComponent, {
summary:
"summary with long text, very very long text that someone want to add
as a description of the order",
timestamp: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
order_id: "456",
},
@@ -99,7 +99,7 @@ export const Example = createExample(TestedComponent, {
summary:
"summary with long text, very very long text that someone want to add
as a description of the order",
timestamp: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
order_id: "234",
},
diff --git
a/packages/merchant-backoffice/src/paths/instance/orders/list/Table.tsx
b/packages/merchant-backoffice/src/paths/instance/orders/list/Table.tsx
index 571d674..6b41200 100644
--- a/packages/merchant-backoffice/src/paths/instance/orders/list/Table.tsx
+++ b/packages/merchant-backoffice/src/paths/instance/orders/list/Table.tsx
@@ -171,7 +171,12 @@ function Table({
onClick={(): void => onSelect(i)}
style={{ cursor: "pointer" }}
>
- {format(new Date(i.timestamp.t_s), "yyyy/MM/dd HH:mm:ss")}
+ {i.timestamp.t_s === "never"
+ ? "never"
+ : format(
+ new Date(i.timestamp.t_s * 1000),
+ "yyyy/MM/dd HH:mm:ss"
+ )}
</td>
<td
onClick={(): void => onSelect(i)}
@@ -337,10 +342,12 @@ export function RefundModal({
return (
<tr key={r.timestamp.t_s}>
<td>
- {format(
- new Date(r.timestamp.t_s),
- "yyyy-MM-dd HH:mm:ss"
- )}
+ {r.timestamp.t_s === "never"
+ ? "never"
+ : format(
+ new Date(r.timestamp.t_s * 1000),
+ "yyyy-MM-dd HH:mm:ss"
+ )}
</td>
<td>{r.amount}</td>
<td>{r.reason}</td>
diff --git
a/packages/merchant-backoffice/src/paths/instance/products/list/Table.tsx
b/packages/merchant-backoffice/src/paths/instance/products/list/Table.tsx
index 6d082cb..6514c22 100644
--- a/packages/merchant-backoffice/src/paths/instance/products/list/Table.tsx
+++ b/packages/merchant-backoffice/src/paths/instance/products/list/Table.tsx
@@ -158,7 +158,7 @@ function Table({
: i.next_restock.t_s === "never"
? "never"
: `restock at ${format(
- new Date(i.next_restock.t_s),
+ new Date(i.next_restock.t_s * 1000),
"yyyy/MM/dd"
)}`;
let stockInfo: ComponentChildren = "";
diff --git
a/packages/merchant-backoffice/src/paths/instance/reserves/details/Details.stories.tsx
b/packages/merchant-backoffice/src/paths/instance/reserves/details/Details.stories.tsx
index c114ded..98c1fa7 100644
---
a/packages/merchant-backoffice/src/paths/instance/reserves/details/Details.stories.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/reserves/details/Details.stories.tsx
@@ -46,11 +46,11 @@ export const Funded = createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:10",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:10",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
@@ -65,11 +65,11 @@ export const NotYetFunded = createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:10",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:0",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
@@ -84,11 +84,11 @@ export const FundedWithEmptyTips =
createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:10",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:10",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
diff --git
a/packages/merchant-backoffice/src/paths/instance/reserves/list/List.stories.tsx
b/packages/merchant-backoffice/src/paths/instance/reserves/list/List.stories.tsx
index 79c91e7..1cb9e74 100644
---
a/packages/merchant-backoffice/src/paths/instance/reserves/list/List.stories.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/reserves/list/List.stories.tsx
@@ -49,11 +49,11 @@ export const AllFunded = createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:10",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:10",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
@@ -64,11 +64,11 @@ export const AllFunded = createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:13",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:10",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
@@ -88,11 +88,11 @@ export const OneNotYetFunded =
createExample(TestedComponent, {
active: true,
committed_amount: "TESTKUDOS:0",
creation_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
exchange_initial_amount: "TESTKUDOS:0",
expiration_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
merchant_initial_amount: "TESTKUDOS:10",
pickup_amount: "TESTKUDOS:10",
diff --git
a/packages/merchant-backoffice/src/paths/instance/transfers/list/List.stories.tsx
b/packages/merchant-backoffice/src/paths/instance/transfers/list/List.stories.tsx
index ac29e3d..24a7911 100644
---
a/packages/merchant-backoffice/src/paths/instance/transfers/list/List.stories.tsx
+++
b/packages/merchant-backoffice/src/paths/instance/transfers/list/List.stories.tsx
@@ -56,7 +56,7 @@ export const Example = createExample(TestedComponent, {
wtid: "!@KJELQKWEJ!L@K#!J@",
confirmed: true,
execution_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
verified: false,
},
@@ -68,7 +68,7 @@ export const Example = createExample(TestedComponent, {
wtid: "!@KJELQKWEJ!L@K#!J@",
confirmed: true,
execution_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
verified: false,
},
@@ -80,7 +80,7 @@ export const Example = createExample(TestedComponent, {
wtid: "!@KJELQKWEJ!L@K#!J@",
confirmed: true,
execution_time: {
- t_s: new Date().getTime(),
+ t_s: new Date().getTime() / 1000,
},
verified: false,
},
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-merchant-backoffice] branch master updated: fix conversion between new timestamp format and javascript date,
gnunet <=