@@ -0,0 +1,22 @@
|
||||
import { businessRefusalNotices } from "@conusai-kit/business/refusals"
|
||||
import type { Locale } from "@conusai-kit/i18n"
|
||||
import { en as keys } from "../i18n/en.js"
|
||||
|
||||
export type LedgerMessages = { [K in keyof typeof keys]: string }
|
||||
/**
|
||||
* The module's messages, and every Ledger refusal's problem code with the sentence a person reads for it
|
||||
* (the kit's, in the loader's locale; a revision or idempotency conflict in this module's own words). Plain
|
||||
* strings, so the loader hands them to the forms, which read a refusal with `serviceNotice`.
|
||||
*/
|
||||
export type LedgerLabels = LedgerMessages & { readonly refusals: Readonly<Record<string, string>> }
|
||||
|
||||
export function ledgerLabels(t: (key: string) => string, locale: Locale): LedgerLabels {
|
||||
const messages = Object.fromEntries(Object.keys(keys).map((key) => [key, t(key)])) as LedgerMessages
|
||||
return {
|
||||
...messages,
|
||||
refusals: businessRefusalNotices(locale, {
|
||||
revision_conflict: messages.revisionConflict,
|
||||
idempotency_conflict: messages.idempotencyConflict,
|
||||
}),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user