aboutsummaryrefslogtreecommitdiff
path: root/packages/demobank-ui/src/pages/admin
diff options
context:
space:
mode:
Diffstat (limited to 'packages/demobank-ui/src/pages/admin')
-rw-r--r--packages/demobank-ui/src/pages/admin/AccountForm.tsx19
-rw-r--r--packages/demobank-ui/src/pages/admin/AccountList.tsx4
-rw-r--r--packages/demobank-ui/src/pages/admin/AdminHome.tsx22
3 files changed, 21 insertions, 24 deletions
diff --git a/packages/demobank-ui/src/pages/admin/AccountForm.tsx b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
index 827b2a0f0..e08fee8bc 100644
--- a/packages/demobank-ui/src/pages/admin/AccountForm.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
@@ -110,7 +110,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
? undefined :
!editableCashout ? undefined :
!cashoutParsed
- ? i18n.str`does not follow the pattern` :
+ ? i18n.str`it doesnt have the pattern of an IBAN number` :
!cashoutParsed.isKnown || cashoutParsed.targetType !== "iban"
? i18n.str`only "IBAN" target are supported` :
!IBAN_REGEX.test(cashoutParsed.iban)
@@ -120,7 +120,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
? undefined :
!editableAccount ? undefined :
!internalParsed
- ? i18n.str`does not follow the pattern` :
+ ? i18n.str`it doesnt have the pattern of an IBAN number` :
!internalParsed.isKnown || internalParsed.targetType !== "iban"
? i18n.str`only "IBAN" target are supported` :
!IBAN_REGEX.test(internalParsed.iban)
@@ -129,7 +129,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
email: !newForm.email
? undefined :
!EMAIL_REGEX.test(newForm.email)
- ? i18n.str`it should be an email` :
+ ? i18n.str`it doesnt have the pattern of an email` :
undefined,
phone: !newForm.phone
? undefined :
@@ -400,7 +400,9 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
message={errors?.debit_threshold ? String(errors?.debit_threshold) : undefined}
isDirty={form.debit_threshold !== undefined}
/>
- <p class="mt-2 text-sm text-gray-500" >how much is user able to transfer </p>
+ <p class="mt-2 text-sm text-gray-500" >
+ <i18n.Translate>how much is user able to transfer after zero balance</i18n.Translate>
+ </p>
</div>
{purpose !== "create" || !userIsAdmin ? undefined :
@@ -437,7 +439,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
class="block text-sm font-medium leading-6 text-gray-900"
for="channel"
>
- {i18n.str`Confirm the operation using`}
+ {i18n.str`Enable second factor authentication`}
</label>
<div class="mt-2 max-w-xl text-sm text-gray-500">
<div class="px-4 mt-4 grid grid-cols-1 gap-y-6">
@@ -457,7 +459,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
<span class="flex flex-1">
<span class="flex flex-col">
<span id="project-type-0-label" class="block text-sm font-medium text-gray-900 ">
- <i18n.Translate>Email</i18n.Translate>
+ <i18n.Translate>Using email</i18n.Translate>
</span>
{purpose !== "show" && !hasEmail && i18n.str`add a email in your profile to enable this option`}
</span>
@@ -484,7 +486,7 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
<span class="flex flex-1">
<span class="flex flex-col">
<span id="project-type-1-label" class="block text-sm font-medium text-gray-900">
- <i18n.Translate>SMS</i18n.Translate>
+ <i18n.Translate>Using SMS</i18n.Translate>
</span>
{purpose !== "show" && !hasPhone && i18n.str`add a phone number in your profile to enable this option`}
</span>
@@ -494,9 +496,6 @@ export function AccountForm<PurposeType extends keyof ChangeByPurposeType>({
</svg>
</label>
}
- <pre>
- {JSON.stringify(form, undefined, 2)}
- </pre>
</div>
</div>
</div>
diff --git a/packages/demobank-ui/src/pages/admin/AccountList.tsx b/packages/demobank-ui/src/pages/admin/AccountList.tsx
index dd4586697..4ec25660b 100644
--- a/packages/demobank-ui/src/pages/admin/AccountList.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountList.tsx
@@ -115,7 +115,7 @@ export function AccountList({ onRemoveAccount, onShowAccountDetails, onUpdateAcc
onUpdateAccountPassword(item.username)
}}
>
- change password
+ <i18n.Translate>change password</i18n.Translate>
</a>
<br />
{noBalance ?
@@ -124,7 +124,7 @@ export function AccountList({ onRemoveAccount, onShowAccountDetails, onUpdateAcc
onRemoveAccount(item.username)
}}
>
- remove
+ <i18n.Translate>remove</i18n.Translate>
</a>
: undefined}
</td>
diff --git a/packages/demobank-ui/src/pages/admin/AdminHome.tsx b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
index f5bce1396..3b06a7740 100644
--- a/packages/demobank-ui/src/pages/admin/AdminHome.tsx
+++ b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
@@ -1,5 +1,5 @@
import { AmountString, Amounts, CurrencySpecification, TalerCorebankApi, TalerError, assertUnreachable } from "@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/browser";
+import { useLang, useTranslationContext } from "@gnu-taler/web-util/browser";
import { format, getDate, getHours, getMonth, getYear, setDate, setHours, setMonth, setYear, sub } from "date-fns";
import { Fragment, VNode, h } from "preact";
import { useState } from "preact/hooks";
@@ -11,7 +11,6 @@ import { RenderAmount } from "../PaytoWireTransferForm.js";
import { WireTransfer } from "../WireTransfer.js";
import { AccountList } from "./AccountList.js";
-
/**
* Query account information and show QR code if there is pending withdrawal
*/
@@ -40,15 +39,14 @@ export function AdminHome({ onCreateAccount, onAuthorizationRequired, onRemoveAc
</Fragment>
}
-function getDateForTimeframe(which: number, timeframe: TalerCorebankApi.MonitorTimeframeParam): string {
+function getDateForTimeframe(which: number, timeframe: TalerCorebankApi.MonitorTimeframeParam, locale: Locale): string {
const time = Date.now()
-
switch (timeframe) {
- case TalerCorebankApi.MonitorTimeframeParam.hour: return `${format(setHours(time, which), "HH")}hs`;
- case TalerCorebankApi.MonitorTimeframeParam.day: return format(setDate(time, which), "EEEE");
- case TalerCorebankApi.MonitorTimeframeParam.month: return format(setMonth(time, which), "MMMM");
- case TalerCorebankApi.MonitorTimeframeParam.year: return format(setYear(time, which), "yyyy");
- case TalerCorebankApi.MonitorTimeframeParam.decade: return format(setYear(time, which), "yyyy");
+ case TalerCorebankApi.MonitorTimeframeParam.hour: return `${format(setHours(time, which), "HH", { locale })}hs`;
+ case TalerCorebankApi.MonitorTimeframeParam.day: return format(setDate(time, which), "EEEE", { locale });
+ case TalerCorebankApi.MonitorTimeframeParam.month: return format(setMonth(time, which), "MMMM", { locale });
+ case TalerCorebankApi.MonitorTimeframeParam.year: return format(setYear(time, which), "yyyy", { locale });
+ case TalerCorebankApi.MonitorTimeframeParam.decade: return format(setYear(time, which), "yyyy", { locale });
}
assertUnreachable(timeframe)
}
@@ -81,7 +79,7 @@ export function getTimeframesForDate(time: Date, timeframe: TalerCorebankApi.Mon
function Metrics(): VNode {
- const { i18n } = useTranslationContext()
+ const { i18n, dateLocale } = useTranslationContext()
const [metricType, setMetricType] = useState<TalerCorebankApi.MonitorTimeframeParam>(TalerCorebankApi.MonitorTimeframeParam.hour);
const { config } = useBankCoreApiContext();
const respInfo = useConversionInfo()
@@ -132,7 +130,7 @@ function Metrics(): VNode {
<div class="w-full flex justify-between">
<h1 class="text-base font-semibold leading-7 text-gray-900 mt-5">
- <i18n.Translate>Trading volume on {getDateForTimeframe(params.current, metricType)} compared to {getDateForTimeframe(params.previous, metricType)}</i18n.Translate>
+ <i18n.Translate>Trading volume on {getDateForTimeframe(params.current, metricType, dateLocale)} compared to {getDateForTimeframe(params.previous, metricType, dateLocale)}</i18n.Translate>
</h1>
</div>
<dl class="mt-5 grid grid-cols-1 md:grid-cols-2 divide-y divide-gray-200 overflow-hidden rounded-lg bg-white shadow-lg md:divide-x md:divide-y-0">
@@ -186,7 +184,7 @@ function Metrics(): VNode {
<a href="#/download-stats"
class="disabled:opacity-50 disabled:cursor-default cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
><i18n.Translate>
- download stats as csv
+ download stats as CSV
</i18n.Translate></a>
</div>
</Fragment>