@voyantjs/finance-ui 0.35.0 → 0.37.0
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.
- package/dist/components/invoice-bulk-actions.d.ts +10 -0
- package/dist/components/invoice-bulk-actions.d.ts.map +1 -0
- package/dist/components/invoice-bulk-actions.js +19 -0
- package/dist/components/invoice-dialog.d.ts.map +1 -1
- package/dist/components/invoice-dialog.js +5 -1
- package/dist/components/invoice-table-parts.d.ts +25 -0
- package/dist/components/invoice-table-parts.d.ts.map +1 -0
- package/dist/components/invoice-table-parts.js +31 -0
- package/dist/components/invoices-page.d.ts.map +1 -1
- package/dist/components/invoices-page.js +69 -33
- package/dist/components/payment-detail-page.d.ts.map +1 -1
- package/dist/components/payment-detail-page.js +13 -2
- package/dist/components/supplier-payment-dialog.d.ts.map +1 -1
- package/dist/components/supplier-payment-dialog.js +9 -1
- package/dist/components/taxes-page.js +3 -3
- package/dist/i18n/en.d.ts +15 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +23 -8
- package/dist/i18n/messages.d.ts +15 -0
- package/dist/i18n/messages.d.ts.map +1 -1
- package/dist/i18n/provider.d.ts +30 -0
- package/dist/i18n/provider.d.ts.map +1 -1
- package/dist/i18n/ro.d.ts +15 -0
- package/dist/i18n/ro.d.ts.map +1 -1
- package/dist/i18n/ro.js +23 -8
- package/package.json +13 -9
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InvoiceBulkStatusResult } from "@voyantjs/finance-react";
|
|
2
|
+
export interface InvoiceBulkActionsProps {
|
|
3
|
+
selectedCount: number;
|
|
4
|
+
result: InvoiceBulkStatusResult | null;
|
|
5
|
+
pending: boolean;
|
|
6
|
+
onClear: () => void;
|
|
7
|
+
onMarkPaid: () => unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare function InvoiceBulkActions({ selectedCount, result, pending, onClear, onMarkPaid, }: InvoiceBulkActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=invoice-bulk-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-bulk-actions.d.ts","sourceRoot":"","sources":["../../src/components/invoice-bulk-actions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAYtE,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,OAAO,CAAA;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,2CAkDzB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { formatMessage } from "@voyantjs/i18n";
|
|
3
|
+
import { Alert, AlertDescription, AlertTitle, ConfirmActionButton, SelectionActionBar, } from "@voyantjs/ui/components";
|
|
4
|
+
import { useFinanceUiMessagesOrDefault } from "../i18n/index.js";
|
|
5
|
+
export function InvoiceBulkActions({ selectedCount, result, pending, onClear, onMarkPaid, }) {
|
|
6
|
+
const messages = useFinanceUiMessagesOrDefault();
|
|
7
|
+
const bulkActions = messages.invoicesPage.bulkActions;
|
|
8
|
+
return (_jsxs(_Fragment, { children: [selectedCount > 0 && (_jsx(SelectionActionBar, { selectedCount: selectedCount, onClear: onClear, clearLabel: bulkActions.clearSelection, selectionSummary: formatMessage(bulkActions.selectionSummary, {
|
|
9
|
+
count: selectedCount,
|
|
10
|
+
}), children: _jsx(ConfirmActionButton, { buttonLabel: bulkActions.markPaid, confirmLabel: bulkActions.markPaidConfirm, cancelLabel: messages.common.cancel, title: formatMessage(bulkActions.markPaidTitle, { count: selectedCount }), description: bulkActions.markPaidDescription, disabled: pending, onConfirm: async () => {
|
|
11
|
+
await onMarkPaid();
|
|
12
|
+
} }) })), result && (_jsxs(Alert, { variant: result.failed.length > 0 ? "destructive" : "default", children: [_jsx(AlertTitle, { children: result.failed.length > 0 ? bulkActions.partialTitle : bulkActions.successTitle }), _jsx(AlertDescription, { children: formatMessage(result.failed.length > 0
|
|
13
|
+
? bulkActions.partialDescription
|
|
14
|
+
: bulkActions.successDescription, {
|
|
15
|
+
updated: result.updated.length,
|
|
16
|
+
failed: result.failed.length,
|
|
17
|
+
total: result.total,
|
|
18
|
+
}) })] }))] }));
|
|
19
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-dialog.d.ts","sourceRoot":"","sources":["../../src/components/invoice-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoice-dialog.d.ts","sourceRoot":"","sources":["../../src/components/invoice-dialog.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,yBAAyB,CAAA;AAmDhF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CAC7C;AASD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,kBAAkB,2CAyR3F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { BookingCombobox } from "@voyantjs/bookings-ui";
|
|
2
3
|
import { useInvoiceMutation } from "@voyantjs/finance-react";
|
|
3
4
|
import { Button, Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Textarea, } from "@voyantjs/ui/components";
|
|
4
5
|
import { CurrencyCombobox } from "@voyantjs/ui/components/currency-combobox";
|
|
@@ -119,7 +120,10 @@ export function InvoiceDialog({ open, onOpenChange, invoice, onSuccess }) {
|
|
|
119
120
|
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing ? messages.invoiceDialog.titles.edit : messages.invoiceDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.invoiceNumber }), _jsx(Input, { ...form.register("invoiceNumber"), placeholder: messages.invoiceDialog.placeholders.invoiceNumber }), form.formState.errors.invoiceNumber ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.invoiceNumber.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.status }), _jsxs(Select, { items: invoiceStatuses.map((value) => ({
|
|
120
121
|
label: messages.common.invoiceStatusLabels[value],
|
|
121
122
|
value,
|
|
122
|
-
})), value: form.watch("status"), onValueChange: (value) => form.setValue("status", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: invoiceStatuses.map((status) => (_jsx(SelectItem, { value: status, children: messages.common.invoiceStatusLabels[status] }, status))) })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.bookingId }), _jsx(
|
|
123
|
+
})), value: form.watch("status"), onValueChange: (value) => form.setValue("status", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: invoiceStatuses.map((status) => (_jsx(SelectItem, { value: status, children: messages.common.invoiceStatusLabels[status] }, status))) })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.bookingId }), _jsx(BookingCombobox, { value: form.watch("bookingId") || null, onChange: (next) => form.setValue("bookingId", next ?? "", {
|
|
124
|
+
shouldDirty: true,
|
|
125
|
+
shouldValidate: true,
|
|
126
|
+
}), placeholder: messages.invoiceDialog.placeholders.bookingId }), form.formState.errors.bookingId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.bookingId.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.currency }), _jsx(CurrencyCombobox, { value: form.watch("currency") || null, onChange: (next) => form.setValue("currency", next ?? "EUR" /* i18n-literal-ok domain default currency */, {
|
|
123
127
|
shouldValidate: true,
|
|
124
128
|
shouldDirty: true,
|
|
125
129
|
}) })] })] }), _jsxs("div", { className: "grid grid-cols-3 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.invoiceDialog.fields.subtotalCents }), _jsx(CurrencyInput, { value: form.watch("subtotalCents"), onChange: (next) => form.setValue("subtotalCents", next ?? 0, {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const invoiceStatusVariant: Record<string, "default" | "secondary" | "outline" | "destructive">;
|
|
2
|
+
export declare function formatInvoiceAmount(cents: number, currency: string): string;
|
|
3
|
+
interface SortHeaderProps<TField extends string> {
|
|
4
|
+
label: string;
|
|
5
|
+
field: TField;
|
|
6
|
+
sortBy: string;
|
|
7
|
+
sortDir: "asc" | "desc";
|
|
8
|
+
onSort: (field: TField) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function SortHeader<TField extends string>({ label, field, sortBy, sortDir, onSort, }: SortHeaderProps<TField>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function PaginationBar({ shown, total, page, pageCount, onPrevious, onNext, canGoBack, canGoForward, }: {
|
|
12
|
+
shown: number;
|
|
13
|
+
total: number;
|
|
14
|
+
page: number;
|
|
15
|
+
pageCount: number;
|
|
16
|
+
onPrevious: () => void;
|
|
17
|
+
onNext: () => void;
|
|
18
|
+
canGoBack: boolean;
|
|
19
|
+
canGoForward: boolean;
|
|
20
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function InvoiceRowSkeleton({ rows }: {
|
|
22
|
+
rows: number;
|
|
23
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=invoice-table-parts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-table-parts.d.ts","sourceRoot":"","sources":["../../src/components/invoice-table-parts.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,MAAM,EACN,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAQpD,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,UAAU,eAAe,CAAC,MAAM,SAAS,MAAM;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,KAAK,GAAG,MAAM,CAAA;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC;AAED,wBAAgB,UAAU,CAAC,MAAM,SAAS,MAAM,EAAE,EAChD,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,eAAe,CAAC,MAAM,CAAC,2CAgBzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;CACtB,2CAiBA;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,2CA+B5D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { formatMessage } from "@voyantjs/i18n";
|
|
3
|
+
import { Button } from "@voyantjs/ui/components/button";
|
|
4
|
+
import { Skeleton } from "@voyantjs/ui/components/skeleton";
|
|
5
|
+
import { TableCell, TableRow } from "@voyantjs/ui/components/table";
|
|
6
|
+
import { ArrowDown, ArrowUp, ArrowUpDown } from "lucide-react";
|
|
7
|
+
import { useFinanceUiMessagesOrDefault } from "../i18n/index.js";
|
|
8
|
+
export const invoiceStatusVariant = {
|
|
9
|
+
draft: "outline",
|
|
10
|
+
sent: "secondary",
|
|
11
|
+
partially_paid: "secondary",
|
|
12
|
+
paid: "default",
|
|
13
|
+
overdue: "destructive",
|
|
14
|
+
void: "destructive",
|
|
15
|
+
};
|
|
16
|
+
export function formatInvoiceAmount(cents, currency) {
|
|
17
|
+
return `${(cents / 100).toFixed(2)} ${currency}`;
|
|
18
|
+
}
|
|
19
|
+
export function SortHeader({ label, field, sortBy, sortDir, onSort, }) {
|
|
20
|
+
const active = sortBy === field;
|
|
21
|
+
const Icon = active ? (sortDir === "asc" ? ArrowUp : ArrowDown) : ArrowUpDown;
|
|
22
|
+
return (_jsxs("button", { type: "button", onClick: () => onSort(field), className: "-ml-2 inline-flex h-8 items-center gap-1 rounded-sm px-2 hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: [_jsx("span", { children: label }), _jsx(Icon, { className: `size-3.5 ${active ? "text-foreground" : "text-muted-foreground/60"}`, "aria-hidden": true })] }));
|
|
23
|
+
}
|
|
24
|
+
export function PaginationBar({ shown, total, page, pageCount, onPrevious, onNext, canGoBack, canGoForward, }) {
|
|
25
|
+
const messages = useFinanceUiMessagesOrDefault();
|
|
26
|
+
const f = messages.invoicesPage.pagination;
|
|
27
|
+
return (_jsxs("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [_jsx("span", { children: formatMessage(f.showing, { count: shown, total }) }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", disabled: !canGoBack, onClick: onPrevious, children: f.previous }), _jsx("span", { children: formatMessage(f.page, { page, pageCount }) }), _jsx(Button, { variant: "outline", size: "sm", disabled: !canGoForward, onClick: onNext, children: f.next })] })] }));
|
|
28
|
+
}
|
|
29
|
+
export function InvoiceRowSkeleton({ rows }) {
|
|
30
|
+
return (_jsx(_Fragment, { children: Array.from({ length: rows }).map((_, idx) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: _jsx(Skeleton, { className: "size-4" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-32" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-5 w-20 rounded-full" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) })] }, `skeleton-${idx}`))) }));
|
|
31
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices-page.d.ts","sourceRoot":"","sources":["../../src/components/invoices-page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invoices-page.d.ts","sourceRoot":"","sources":["../../src/components/invoices-page.tsx"],"names":[],"mappings":"AAmDA,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,GAAE,iBAAsB,2CAyYhF"}
|
|
@@ -1,31 +1,20 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
-
import { useInvoices, } from "@voyantjs/finance-react";
|
|
3
|
-
import {
|
|
4
|
-
import { Badge, Button, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@voyantjs/ui/components";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useInvoiceBulkStatusMutation, useInvoices, } from "@voyantjs/finance-react";
|
|
3
|
+
import { Badge, Button, Checkbox, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@voyantjs/ui/components";
|
|
5
4
|
import { CurrencyCombobox } from "@voyantjs/ui/components/currency-combobox";
|
|
6
5
|
import { DateRangePicker } from "@voyantjs/ui/components/date-picker";
|
|
7
6
|
import { Popover, PopoverContent, PopoverTrigger } from "@voyantjs/ui/components/popover";
|
|
8
|
-
import { Skeleton } from "@voyantjs/ui/components/skeleton";
|
|
9
7
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@voyantjs/ui/components/table";
|
|
10
8
|
import { cn } from "@voyantjs/ui/lib/utils";
|
|
11
|
-
import {
|
|
12
|
-
import { useState } from "react";
|
|
9
|
+
import { ListFilter, Plus, Search, X } from "lucide-react";
|
|
10
|
+
import { useEffect, useState } from "react";
|
|
13
11
|
import { useFinanceUiMessagesOrDefault } from "../i18n/index.js";
|
|
14
12
|
import { invoiceStatuses } from "../i18n/messages.js";
|
|
13
|
+
import { InvoiceBulkActions } from "./invoice-bulk-actions.js";
|
|
15
14
|
import { InvoiceDialog } from "./invoice-dialog.js";
|
|
15
|
+
import { formatInvoiceAmount, InvoiceRowSkeleton, invoiceStatusVariant, PaginationBar, SortHeader, } from "./invoice-table-parts.js";
|
|
16
16
|
const PAGE_SIZE = 25;
|
|
17
17
|
const STATUS_ALL = "__all__";
|
|
18
|
-
const invoiceStatusVariant = {
|
|
19
|
-
draft: "outline",
|
|
20
|
-
sent: "secondary",
|
|
21
|
-
partially_paid: "secondary",
|
|
22
|
-
paid: "default",
|
|
23
|
-
overdue: "destructive",
|
|
24
|
-
void: "destructive",
|
|
25
|
-
};
|
|
26
|
-
function formatAmount(cents, currency) {
|
|
27
|
-
return `${(cents / 100).toFixed(2)} ${currency}`;
|
|
28
|
-
}
|
|
29
18
|
export function InvoicesPage({ className, onOpenInvoice } = {}) {
|
|
30
19
|
const messages = useFinanceUiMessagesOrDefault();
|
|
31
20
|
const [invoiceDialogOpen, setInvoiceDialogOpen] = useState(false);
|
|
@@ -37,6 +26,9 @@ export function InvoicesPage({ className, onOpenInvoice } = {}) {
|
|
|
37
26
|
const [sortDir, setSortDir] = useState("desc");
|
|
38
27
|
const [pageIndex, setPageIndex] = useState(0);
|
|
39
28
|
const [filterPopoverOpen, setFilterPopoverOpen] = useState(false);
|
|
29
|
+
const [selectedInvoiceIds, setSelectedInvoiceIds] = useState(() => new Set());
|
|
30
|
+
const [bulkResult, setBulkResult] = useState(null);
|
|
31
|
+
const bulkStatusMutation = useInvoiceBulkStatusMutation();
|
|
40
32
|
const { data, isPending, isFetching, isError } = useInvoices({
|
|
41
33
|
search: search || undefined,
|
|
42
34
|
status: status === STATUS_ALL ? undefined : status,
|
|
@@ -53,7 +45,58 @@ export function InvoicesPage({ className, onOpenInvoice } = {}) {
|
|
|
53
45
|
const page = pageIndex + 1;
|
|
54
46
|
const pageCount = Math.max(1, Math.ceil(total / PAGE_SIZE));
|
|
55
47
|
const showSkeleton = isPending || (isFetching && invoices.length === 0);
|
|
56
|
-
const
|
|
48
|
+
const selectedInvoices = invoices.filter((invoice) => selectedInvoiceIds.has(invoice.id));
|
|
49
|
+
const selectedCount = selectedInvoices.length;
|
|
50
|
+
const allPageInvoicesSelected = invoices.length > 0 && invoices.every((invoice) => selectedInvoiceIds.has(invoice.id));
|
|
51
|
+
const somePageInvoicesSelected = invoices.some((invoice) => selectedInvoiceIds.has(invoice.id)) && !allPageInvoicesSelected;
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
const visibleInvoiceIds = new Set(invoices.map((invoice) => invoice.id));
|
|
54
|
+
setSelectedInvoiceIds((previous) => {
|
|
55
|
+
const next = new Set([...previous].filter((id) => visibleInvoiceIds.has(id)));
|
|
56
|
+
return next.size === previous.size ? previous : next;
|
|
57
|
+
});
|
|
58
|
+
}, [invoices]);
|
|
59
|
+
const clearInvoiceSelection = () => setSelectedInvoiceIds(new Set());
|
|
60
|
+
const resetPage = () => {
|
|
61
|
+
setPageIndex(0);
|
|
62
|
+
clearInvoiceSelection();
|
|
63
|
+
};
|
|
64
|
+
const setInvoiceSelected = (invoiceId, selected) => {
|
|
65
|
+
setBulkResult(null);
|
|
66
|
+
setSelectedInvoiceIds((previous) => {
|
|
67
|
+
const next = new Set(previous);
|
|
68
|
+
if (selected)
|
|
69
|
+
next.add(invoiceId);
|
|
70
|
+
else
|
|
71
|
+
next.delete(invoiceId);
|
|
72
|
+
return next;
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const setAllPageInvoicesSelected = (selected) => {
|
|
76
|
+
setBulkResult(null);
|
|
77
|
+
setSelectedInvoiceIds((previous) => {
|
|
78
|
+
const next = new Set(previous);
|
|
79
|
+
for (const invoice of invoices) {
|
|
80
|
+
if (selected)
|
|
81
|
+
next.add(invoice.id);
|
|
82
|
+
else
|
|
83
|
+
next.delete(invoice.id);
|
|
84
|
+
}
|
|
85
|
+
return next;
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const markSelectedInvoicesPaid = async () => {
|
|
89
|
+
const result = await bulkStatusMutation.mutateAsync({
|
|
90
|
+
invoices: selectedInvoices,
|
|
91
|
+
status: "paid",
|
|
92
|
+
});
|
|
93
|
+
setBulkResult(result);
|
|
94
|
+
if (result.failed.length === 0) {
|
|
95
|
+
clearInvoiceSelection();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
setSelectedInvoiceIds(new Set(result.failed.map((failure) => failure.id)));
|
|
99
|
+
};
|
|
57
100
|
const handleSort = (field) => {
|
|
58
101
|
resetPage();
|
|
59
102
|
if (sortBy !== field) {
|
|
@@ -92,18 +135,11 @@ export function InvoicesPage({ className, onOpenInvoice } = {}) {
|
|
|
92
135
|
}, placeholder: f.filters.currencyAny })] }), _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(Label, { children: f.filters.dueDateLabel }), _jsx(DateRangePicker, { value: dueDateRange, onChange: (value) => {
|
|
93
136
|
setDueDateRange(value);
|
|
94
137
|
resetPage();
|
|
95
|
-
}, placeholder: f.filters.dateAny, clearable: true, className: "w-full" })] })] }) })] }), hasActiveFilters && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: clearFilters, children: [_jsx(X, { className: "mr-1 size-4", "aria-hidden": "true" }), f.filters.clear] })), _jsx("div", { className: "ml-auto", children: _jsxs(Button, { onClick: () => setInvoiceDialogOpen(true), children: [_jsx(Plus, { className: "mr-2 size-4", "aria-hidden": "true" }), f.actions.newInvoice] }) })] }), _jsx("div", { className: "rounded-md border", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.invoiceNumber, field: "invoiceNumber", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.status, field: "status", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.total, field: "totalCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.paid, field: "paidCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.balanceDue, field: "balanceDueCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.dueDate, field: "dueDate", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) })] }) }), _jsx(TableBody, { children: showSkeleton ? (_jsx(InvoiceRowSkeleton, { rows: 6 })) : isError ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
function PaginationBar({ shown, total, page, pageCount, onPrevious, onNext, canGoBack, canGoForward, }) {
|
|
103
|
-
const messages = useFinanceUiMessagesOrDefault();
|
|
104
|
-
const f = messages.invoicesPage.pagination;
|
|
105
|
-
return (_jsxs("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [_jsx("span", { children: formatMessage(f.showing, { count: shown, total }) }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", disabled: !canGoBack, onClick: onPrevious, children: f.previous }), _jsx("span", { children: formatMessage(f.page, { page, pageCount }) }), _jsx(Button, { variant: "outline", size: "sm", disabled: !canGoForward, onClick: onNext, children: f.next })] })] }));
|
|
106
|
-
}
|
|
107
|
-
function InvoiceRowSkeleton({ rows }) {
|
|
108
|
-
return (_jsx(_Fragment, { children: Array.from({ length: rows }).map((_, idx) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-32" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-5 w-20 rounded-full" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) }), _jsx(TableCell, { children: _jsx(Skeleton, { className: "h-4 w-24" }) })] }, `skeleton-${idx}`))) }));
|
|
138
|
+
}, placeholder: f.filters.dateAny, clearable: true, className: "w-full" })] })] }) })] }), hasActiveFilters && (_jsxs(Button, { variant: "ghost", size: "sm", onClick: clearFilters, children: [_jsx(X, { className: "mr-1 size-4", "aria-hidden": "true" }), f.filters.clear] })), _jsx("div", { className: "ml-auto", children: _jsxs(Button, { onClick: () => setInvoiceDialogOpen(true), children: [_jsx(Plus, { className: "mr-2 size-4", "aria-hidden": "true" }), f.actions.newInvoice] }) })] }), _jsx(InvoiceBulkActions, { selectedCount: selectedCount, result: bulkResult, pending: bulkStatusMutation.isPending, onClear: clearInvoiceSelection, onMarkPaid: markSelectedInvoicesPaid }), _jsx("div", { className: "rounded-md border", children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-10", children: _jsx(Checkbox, { "aria-label": f.bulkActions.selectAllOnPage, checked: allPageInvoicesSelected, indeterminate: somePageInvoicesSelected, disabled: showSkeleton || invoices.length === 0, onClickCapture: (event) => event.stopPropagation(), onCheckedChange: (checked) => setAllPageInvoicesSelected(Boolean(checked)) }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.invoiceNumber, field: "invoiceNumber", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.status, field: "status", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.total, field: "totalCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.paid, field: "paidCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.balanceDue, field: "balanceDueCents", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) }), _jsx(TableHead, { children: _jsx(SortHeader, { label: f.columns.dueDate, field: "dueDate", sortBy: sortBy, sortDir: sortDir, onSort: handleSort }) })] }) }), _jsx(TableBody, { children: showSkeleton ? (_jsx(InvoiceRowSkeleton, { rows: 6 })) : isError ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: 7, className: "h-24 text-center text-sm text-destructive", children: f.loadFailed }) })) : invoices.length === 0 ? (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: 7, className: "h-24 text-center text-sm text-muted-foreground", children: f.empty }) })) : (invoices.map((row) => (_jsxs(TableRow, { onClick: () => onOpenInvoice?.(row.id), className: cn(onOpenInvoice && "cursor-pointer"), children: [_jsx(TableCell, { children: _jsx(Checkbox, { "aria-label": f.bulkActions.selectInvoice, checked: selectedInvoiceIds.has(row.id), onClickCapture: (event) => event.stopPropagation(), onCheckedChange: (checked) => setInvoiceSelected(row.id, Boolean(checked)) }) }), _jsx(TableCell, { className: "font-medium", children: row.invoiceNumber }), _jsx(TableCell, { children: _jsx(Badge, { variant: invoiceStatusVariant[row.status] ?? "secondary", className: "capitalize", children: messages.common.invoiceStatusLabels[row.status] ?? row.status }) }), _jsx(TableCell, { className: "font-mono", children: formatInvoiceAmount(row.totalCents, row.currency) }), _jsx(TableCell, { className: "font-mono", children: formatInvoiceAmount(row.paidCents, row.currency) }), _jsx(TableCell, { className: "font-mono", children: formatInvoiceAmount(row.balanceDueCents, row.currency) }), _jsx(TableCell, { children: row.dueDate })] }, row.id)))) })] }) }), _jsx(PaginationBar, { shown: invoices.length, total: total, page: page, pageCount: pageCount, onPrevious: () => {
|
|
139
|
+
clearInvoiceSelection();
|
|
140
|
+
setPageIndex((prev) => Math.max(0, prev - 1));
|
|
141
|
+
}, onNext: () => {
|
|
142
|
+
clearInvoiceSelection();
|
|
143
|
+
setPageIndex((prev) => prev + 1);
|
|
144
|
+
}, canGoBack: pageIndex > 0, canGoForward: (pageIndex + 1) * PAGE_SIZE < total })] }), _jsx(InvoiceDialog, { open: invoiceDialogOpen, onOpenChange: setInvoiceDialogOpen })] }));
|
|
109
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/payment-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,yBAAyB,CAAA;AAI/E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAInC,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACxE,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACpF,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC5E,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,SAAS,EACT,MAAM,EACN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,KAAK,GACN,EAAE,sBAAsB,2CAiDxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CA0B3F;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"payment-detail-page.d.ts","sourceRoot":"","sources":["../../src/components/payment-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAc,MAAM,yBAAyB,CAAA;AAI/E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAInC,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACxE,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACpF,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC5E,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,SAAS,EACT,MAAM,EACN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,KAAK,GACN,EAAE,sBAAsB,2CAiDxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CA0B3F;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,oBAAoB,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAsDhF;AAqBD,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IAC1E,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACxE,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACpF,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAA;CAC7E;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,EAAE,qBAAqB,2CA0FvB;AAED,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAqBjF"}
|
|
@@ -28,9 +28,20 @@ export function PaymentDetailHeader({ payment, onBack, className }) {
|
|
|
28
28
|
}
|
|
29
29
|
export function PaymentSummaryCard({ payment, className }) {
|
|
30
30
|
const messages = useFinanceUiMessagesOrDefault();
|
|
31
|
-
const { formatCurrency } = useFinanceUiI18nOrDefault();
|
|
31
|
+
const { formatCurrency, formatNumber } = useFinanceUiI18nOrDefault();
|
|
32
32
|
const detail = messages.paymentDetailPage;
|
|
33
|
-
|
|
33
|
+
const fxRateLabel = formatFxRate(payment, formatNumber);
|
|
34
|
+
return (_jsxs(Card, { "data-slot": "payment-summary-card", className: className, children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: detail.titles.summary }) }), _jsx(CardContent, { children: _jsxs("dl", { className: "grid gap-3 text-sm", children: [_jsx(DetailRow, { label: detail.fields.amount, children: _jsx("span", { className: "font-mono", children: formatCurrency(payment.amountCents / 100, payment.currency) }) }), payment.baseAmountCents !== null && payment.baseCurrency ? (_jsx(DetailRow, { label: detail.fields.baseAmount, children: _jsx("span", { className: "font-mono", children: formatCurrency(payment.baseAmountCents / 100, payment.baseCurrency) }) })) : null, fxRateLabel ? (_jsx(DetailRow, { label: detail.fields.fxRate, children: _jsx("span", { className: "font-mono", children: fxRateLabel }) })) : null, _jsx(DetailRow, { label: detail.fields.status, children: _jsx(Badge, { variant: paymentStatusVariant[payment.status] ?? "secondary", children: messages.common.supplierPaymentStatusLabels[payment.status] }) }), _jsx(DetailRow, { label: detail.fields.method, children: formatPaymentMethod(payment.paymentMethod, messages) }), _jsx(DetailRow, { label: detail.fields.date, children: payment.paymentDate }), _jsx(DetailRow, { label: detail.fields.reference, children: payment.referenceNumber ?? detail.states.noValue }), payment.notes ? (_jsxs("div", { className: "mt-2 flex flex-col gap-1", children: [_jsx("dt", { className: "text-xs uppercase tracking-wide text-muted-foreground", children: detail.fields.notes }), _jsx("dd", { className: "whitespace-pre-wrap text-sm", children: payment.notes })] })) : null] }) })] }));
|
|
35
|
+
}
|
|
36
|
+
function formatFxRate(payment, formatNumber) {
|
|
37
|
+
if (payment.baseAmountCents === null ||
|
|
38
|
+
!payment.baseCurrency ||
|
|
39
|
+
payment.baseAmountCents <= 0 ||
|
|
40
|
+
payment.currency === payment.baseCurrency) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const rate = payment.amountCents / payment.baseAmountCents;
|
|
44
|
+
return `1 ${payment.baseCurrency} = ${formatNumber(rate, { maximumFractionDigits: 6 })} ${payment.currency}`;
|
|
34
45
|
}
|
|
35
46
|
export function PaymentLinksCard({ payment, className, onInvoiceOpen, onBookingOpen, onPersonOpen, onOrganizationOpen, onSupplierOpen, }) {
|
|
36
47
|
const messages = useFinanceUiMessagesOrDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supplier-payment-dialog.d.ts","sourceRoot":"","sources":["../../src/components/supplier-payment-dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"supplier-payment-dialog.d.ts","sourceRoot":"","sources":["../../src/components/supplier-payment-dialog.tsx"],"names":[],"mappings":"AAuDA,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,SAAS,GACV,EAAE,0BAA0B,2CA0O5B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { BookingCombobox } from "@voyantjs/bookings-ui";
|
|
2
3
|
import { useSupplierPaymentMutation } from "@voyantjs/finance-react";
|
|
4
|
+
import { SupplierCombobox } from "@voyantjs/suppliers-ui";
|
|
3
5
|
import { Button, Dialog, DialogBody, DialogContent, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Textarea, } from "@voyantjs/ui/components";
|
|
4
6
|
import { CurrencyCombobox } from "@voyantjs/ui/components/currency-combobox";
|
|
5
7
|
import { CurrencyInput } from "@voyantjs/ui/components/currency-input";
|
|
@@ -76,7 +78,13 @@ export function SupplierPaymentDialog({ open, onOpenChange, onSuccess, }) {
|
|
|
76
78
|
onOpenChange(false);
|
|
77
79
|
onSuccess?.();
|
|
78
80
|
};
|
|
79
|
-
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: messages.supplierPaymentDialog.title }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.supplierPaymentDialog.fields.bookingId }), _jsx(
|
|
81
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: messages.supplierPaymentDialog.title }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.supplierPaymentDialog.fields.bookingId }), _jsx(BookingCombobox, { value: form.watch("bookingId") || null, onChange: (next) => form.setValue("bookingId", next ?? "", {
|
|
82
|
+
shouldDirty: true,
|
|
83
|
+
shouldValidate: true,
|
|
84
|
+
}), placeholder: messages.supplierPaymentDialog.placeholders.bookingId }), form.formState.errors.bookingId ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.bookingId.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.supplierPaymentDialog.fields.supplierId }), _jsx(SupplierCombobox, { value: form.watch("supplierId") || null, onChange: (next) => form.setValue("supplierId", next ?? "", {
|
|
85
|
+
shouldDirty: true,
|
|
86
|
+
shouldValidate: true,
|
|
87
|
+
}), placeholder: messages.supplierPaymentDialog.placeholders.supplierId })] })] }), _jsxs("div", { className: "grid grid-cols-3 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.supplierPaymentDialog.fields.amountCents }), _jsx(CurrencyInput, { value: form.watch("amountCents"), onChange: (next) => form.setValue("amountCents", next ?? 0, {
|
|
80
88
|
shouldDirty: true,
|
|
81
89
|
shouldValidate: true,
|
|
82
90
|
}), currency: form.watch("currency") }), form.formState.errors.amountCents ? (_jsx("p", { className: "text-xs text-destructive", children: form.formState.errors.amountCents.message })) : null] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.supplierPaymentDialog.fields.currency }), _jsx(CurrencyCombobox, { value: form.watch("currency") || null, onChange: (next) => form.setValue("currency", next ?? "EUR" /* i18n-literal-ok domain default currency */, {
|
|
@@ -56,10 +56,10 @@ function createTaxesPageApi(baseUrl, fetcher) {
|
|
|
56
56
|
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
57
57
|
}),
|
|
58
58
|
patch: (path, body) => request(path, {
|
|
59
|
-
method: "PATCH",
|
|
59
|
+
method: "PATCH", // i18n-literal-ok HTTP method
|
|
60
60
|
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
61
61
|
}),
|
|
62
|
-
delete: (path) => request(path, { method: "DELETE" }),
|
|
62
|
+
delete: (path) => request(path, { method: "DELETE" }), // i18n-literal-ok HTTP method
|
|
63
63
|
};
|
|
64
64
|
return api;
|
|
65
65
|
}
|
|
@@ -201,7 +201,7 @@ function parsePolicyConditionExpression(expression) {
|
|
|
201
201
|
key: nextTaxPolicyConditionKey("accommodation-countries"),
|
|
202
202
|
fact: "accommodationCountries",
|
|
203
203
|
operator: "contains",
|
|
204
|
-
value: typeof record.contains === "string" ? record.contains : "RO",
|
|
204
|
+
value: typeof record.contains === "string" ? record.contains : "RO", // i18n-literal-ok ISO country default
|
|
205
205
|
};
|
|
206
206
|
}
|
|
207
207
|
return null;
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -77,6 +77,20 @@ export declare const financeUiEn: {
|
|
|
77
77
|
actions: {
|
|
78
78
|
newInvoice: string;
|
|
79
79
|
};
|
|
80
|
+
bulkActions: {
|
|
81
|
+
selectionSummary: string;
|
|
82
|
+
clearSelection: string;
|
|
83
|
+
markPaid: string;
|
|
84
|
+
markPaidConfirm: string;
|
|
85
|
+
markPaidTitle: string;
|
|
86
|
+
markPaidDescription: string;
|
|
87
|
+
selectAllOnPage: string;
|
|
88
|
+
selectInvoice: string;
|
|
89
|
+
successTitle: string;
|
|
90
|
+
successDescription: string;
|
|
91
|
+
partialTitle: string;
|
|
92
|
+
partialDescription: string;
|
|
93
|
+
};
|
|
80
94
|
filters: {
|
|
81
95
|
button: string;
|
|
82
96
|
statusLabel: string;
|
|
@@ -168,6 +182,7 @@ export declare const financeUiEn: {
|
|
|
168
182
|
fields: {
|
|
169
183
|
amount: string;
|
|
170
184
|
baseAmount: string;
|
|
185
|
+
fxRate: string;
|
|
171
186
|
status: string;
|
|
172
187
|
method: string;
|
|
173
188
|
date: string;
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+fK,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -43,7 +43,7 @@ export const financeUiEn = {
|
|
|
43
43
|
fields: {
|
|
44
44
|
invoiceNumber: "Invoice Number",
|
|
45
45
|
status: "Status",
|
|
46
|
-
bookingId: "Booking
|
|
46
|
+
bookingId: "Booking",
|
|
47
47
|
currency: "Currency",
|
|
48
48
|
subtotalCents: "Subtotal",
|
|
49
49
|
taxCents: "Tax",
|
|
@@ -54,7 +54,7 @@ export const financeUiEn = {
|
|
|
54
54
|
},
|
|
55
55
|
placeholders: {
|
|
56
56
|
invoiceNumber: "INV-2025-1234",
|
|
57
|
-
bookingId: "
|
|
57
|
+
bookingId: "Search by booking number, customer, or product",
|
|
58
58
|
issueDate: "Pick issue date",
|
|
59
59
|
dueDate: "Pick due date",
|
|
60
60
|
notes: "Invoice notes...",
|
|
@@ -64,7 +64,7 @@ export const financeUiEn = {
|
|
|
64
64
|
},
|
|
65
65
|
validation: {
|
|
66
66
|
invoiceNumberRequired: "Invoice number is required",
|
|
67
|
-
bookingIdRequired: "Booking
|
|
67
|
+
bookingIdRequired: "Booking is required",
|
|
68
68
|
currencyIsoCode: "Use 3-letter ISO code",
|
|
69
69
|
issueDateRequired: "Issue date is required",
|
|
70
70
|
dueDateRequired: "Due date is required",
|
|
@@ -77,6 +77,20 @@ export const financeUiEn = {
|
|
|
77
77
|
actions: {
|
|
78
78
|
newInvoice: "New Invoice",
|
|
79
79
|
},
|
|
80
|
+
bulkActions: {
|
|
81
|
+
selectionSummary: "{count} selected",
|
|
82
|
+
clearSelection: "Clear selection",
|
|
83
|
+
markPaid: "Mark paid",
|
|
84
|
+
markPaidConfirm: "Mark paid",
|
|
85
|
+
markPaidTitle: "Mark {count} invoices as paid?",
|
|
86
|
+
markPaidDescription: "Selected invoices will move to Paid, with paid amount set to the invoice total and balance due set to zero.",
|
|
87
|
+
selectAllOnPage: "Select all invoices on this page",
|
|
88
|
+
selectInvoice: "Select invoice",
|
|
89
|
+
successTitle: "Invoices updated",
|
|
90
|
+
successDescription: "{updated} of {total} invoices were marked paid.",
|
|
91
|
+
partialTitle: "Some invoices were not updated",
|
|
92
|
+
partialDescription: "{updated} of {total} invoices were marked paid. {failed} failed.",
|
|
93
|
+
},
|
|
80
94
|
filters: {
|
|
81
95
|
button: "Filters",
|
|
82
96
|
statusLabel: "Status",
|
|
@@ -168,6 +182,7 @@ export const financeUiEn = {
|
|
|
168
182
|
fields: {
|
|
169
183
|
amount: "Amount",
|
|
170
184
|
baseAmount: "Base amount",
|
|
185
|
+
fxRate: "FX rate",
|
|
171
186
|
status: "Status",
|
|
172
187
|
method: "Payment method",
|
|
173
188
|
date: "Payment date",
|
|
@@ -456,8 +471,8 @@ export const financeUiEn = {
|
|
|
456
471
|
supplierPaymentDialog: {
|
|
457
472
|
title: "Record Supplier Payment",
|
|
458
473
|
fields: {
|
|
459
|
-
bookingId: "Booking
|
|
460
|
-
supplierId: "Supplier
|
|
474
|
+
bookingId: "Booking",
|
|
475
|
+
supplierId: "Supplier (optional)",
|
|
461
476
|
amountCents: "Amount",
|
|
462
477
|
currency: "Currency",
|
|
463
478
|
paymentDate: "Payment Date",
|
|
@@ -467,8 +482,8 @@ export const financeUiEn = {
|
|
|
467
482
|
notes: "Notes",
|
|
468
483
|
},
|
|
469
484
|
placeholders: {
|
|
470
|
-
bookingId: "
|
|
471
|
-
supplierId: "
|
|
485
|
+
bookingId: "Search by booking number, customer, or product",
|
|
486
|
+
supplierId: "Search suppliers...",
|
|
472
487
|
paymentDate: "Select payment date",
|
|
473
488
|
referenceNumber: "TXN-12345",
|
|
474
489
|
notes: "Payment notes...",
|
|
@@ -477,7 +492,7 @@ export const financeUiEn = {
|
|
|
477
492
|
create: "Record Payment",
|
|
478
493
|
},
|
|
479
494
|
validation: {
|
|
480
|
-
bookingIdRequired: "Booking
|
|
495
|
+
bookingIdRequired: "Booking is required",
|
|
481
496
|
amountMinimum: "Amount must be at least 1",
|
|
482
497
|
paymentDateRequired: "Payment date is required",
|
|
483
498
|
},
|
package/dist/i18n/messages.d.ts
CHANGED
|
@@ -61,6 +61,20 @@ export type FinanceUiMessages = {
|
|
|
61
61
|
actions: {
|
|
62
62
|
newInvoice: string;
|
|
63
63
|
};
|
|
64
|
+
bulkActions: {
|
|
65
|
+
selectionSummary: string;
|
|
66
|
+
clearSelection: string;
|
|
67
|
+
markPaid: string;
|
|
68
|
+
markPaidConfirm: string;
|
|
69
|
+
markPaidTitle: string;
|
|
70
|
+
markPaidDescription: string;
|
|
71
|
+
selectAllOnPage: string;
|
|
72
|
+
selectInvoice: string;
|
|
73
|
+
successTitle: string;
|
|
74
|
+
successDescription: string;
|
|
75
|
+
partialTitle: string;
|
|
76
|
+
partialDescription: string;
|
|
77
|
+
};
|
|
64
78
|
filters: {
|
|
65
79
|
button: string;
|
|
66
80
|
statusLabel: string;
|
|
@@ -152,6 +166,7 @@ export type FinanceUiMessages = {
|
|
|
152
166
|
fields: {
|
|
153
167
|
amount: string;
|
|
154
168
|
baseAmount: string;
|
|
169
|
+
fxRate: string;
|
|
155
170
|
status: string;
|
|
156
171
|
method: string;
|
|
157
172
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/provider.d.ts
CHANGED
|
@@ -81,6 +81,20 @@ export declare const financeUiMessageDefinitions: {
|
|
|
81
81
|
actions: {
|
|
82
82
|
newInvoice: string;
|
|
83
83
|
};
|
|
84
|
+
bulkActions: {
|
|
85
|
+
selectionSummary: string;
|
|
86
|
+
clearSelection: string;
|
|
87
|
+
markPaid: string;
|
|
88
|
+
markPaidConfirm: string;
|
|
89
|
+
markPaidTitle: string;
|
|
90
|
+
markPaidDescription: string;
|
|
91
|
+
selectAllOnPage: string;
|
|
92
|
+
selectInvoice: string;
|
|
93
|
+
successTitle: string;
|
|
94
|
+
successDescription: string;
|
|
95
|
+
partialTitle: string;
|
|
96
|
+
partialDescription: string;
|
|
97
|
+
};
|
|
84
98
|
filters: {
|
|
85
99
|
button: string;
|
|
86
100
|
statusLabel: string;
|
|
@@ -172,6 +186,7 @@ export declare const financeUiMessageDefinitions: {
|
|
|
172
186
|
fields: {
|
|
173
187
|
amount: string;
|
|
174
188
|
baseAmount: string;
|
|
189
|
+
fxRate: string;
|
|
175
190
|
status: string;
|
|
176
191
|
method: string;
|
|
177
192
|
date: string;
|
|
@@ -566,6 +581,20 @@ export declare const financeUiMessageDefinitions: {
|
|
|
566
581
|
actions: {
|
|
567
582
|
newInvoice: string;
|
|
568
583
|
};
|
|
584
|
+
bulkActions: {
|
|
585
|
+
selectionSummary: string;
|
|
586
|
+
clearSelection: string;
|
|
587
|
+
markPaid: string;
|
|
588
|
+
markPaidConfirm: string;
|
|
589
|
+
markPaidTitle: string;
|
|
590
|
+
markPaidDescription: string;
|
|
591
|
+
selectAllOnPage: string;
|
|
592
|
+
selectInvoice: string;
|
|
593
|
+
successTitle: string;
|
|
594
|
+
successDescription: string;
|
|
595
|
+
partialTitle: string;
|
|
596
|
+
partialDescription: string;
|
|
597
|
+
};
|
|
569
598
|
filters: {
|
|
570
599
|
button: string;
|
|
571
600
|
statusLabel: string;
|
|
@@ -657,6 +686,7 @@ export declare const financeUiMessageDefinitions: {
|
|
|
657
686
|
fields: {
|
|
658
687
|
amount: string;
|
|
659
688
|
baseAmount: string;
|
|
689
|
+
fxRate: string;
|
|
660
690
|
status: string;
|
|
661
691
|
method: string;
|
|
662
692
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKtD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
|
package/dist/i18n/ro.d.ts
CHANGED
|
@@ -77,6 +77,20 @@ export declare const financeUiRo: {
|
|
|
77
77
|
actions: {
|
|
78
78
|
newInvoice: string;
|
|
79
79
|
};
|
|
80
|
+
bulkActions: {
|
|
81
|
+
selectionSummary: string;
|
|
82
|
+
clearSelection: string;
|
|
83
|
+
markPaid: string;
|
|
84
|
+
markPaidConfirm: string;
|
|
85
|
+
markPaidTitle: string;
|
|
86
|
+
markPaidDescription: string;
|
|
87
|
+
selectAllOnPage: string;
|
|
88
|
+
selectInvoice: string;
|
|
89
|
+
successTitle: string;
|
|
90
|
+
successDescription: string;
|
|
91
|
+
partialTitle: string;
|
|
92
|
+
partialDescription: string;
|
|
93
|
+
};
|
|
80
94
|
filters: {
|
|
81
95
|
button: string;
|
|
82
96
|
statusLabel: string;
|
|
@@ -168,6 +182,7 @@ export declare const financeUiRo: {
|
|
|
168
182
|
fields: {
|
|
169
183
|
amount: string;
|
|
170
184
|
baseAmount: string;
|
|
185
|
+
fxRate: string;
|
|
171
186
|
status: string;
|
|
172
187
|
method: string;
|
|
173
188
|
date: string;
|
package/dist/i18n/ro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmgBK,CAAA"}
|
package/dist/i18n/ro.js
CHANGED
|
@@ -43,7 +43,7 @@ export const financeUiRo = {
|
|
|
43
43
|
fields: {
|
|
44
44
|
invoiceNumber: "Numar Factura",
|
|
45
45
|
status: "Status",
|
|
46
|
-
bookingId: "
|
|
46
|
+
bookingId: "Rezervare",
|
|
47
47
|
currency: "Moneda",
|
|
48
48
|
subtotalCents: "Subtotal",
|
|
49
49
|
taxCents: "Taxa",
|
|
@@ -54,7 +54,7 @@ export const financeUiRo = {
|
|
|
54
54
|
},
|
|
55
55
|
placeholders: {
|
|
56
56
|
invoiceNumber: "INV-2025-1234",
|
|
57
|
-
bookingId: "
|
|
57
|
+
bookingId: "Cauta dupa numar, client sau produs",
|
|
58
58
|
issueDate: "Alege data emiterii",
|
|
59
59
|
dueDate: "Alege data scadentei",
|
|
60
60
|
notes: "Note factura...",
|
|
@@ -64,7 +64,7 @@ export const financeUiRo = {
|
|
|
64
64
|
},
|
|
65
65
|
validation: {
|
|
66
66
|
invoiceNumberRequired: "Numarul facturii este obligatoriu",
|
|
67
|
-
bookingIdRequired: "
|
|
67
|
+
bookingIdRequired: "Rezervarea este obligatorie",
|
|
68
68
|
currencyIsoCode: "Foloseste cod ISO din 3 litere",
|
|
69
69
|
issueDateRequired: "Data emiterii este obligatorie",
|
|
70
70
|
dueDateRequired: "Data scadentei este obligatorie",
|
|
@@ -77,6 +77,20 @@ export const financeUiRo = {
|
|
|
77
77
|
actions: {
|
|
78
78
|
newInvoice: "Factura noua",
|
|
79
79
|
},
|
|
80
|
+
bulkActions: {
|
|
81
|
+
selectionSummary: "{count} selectate",
|
|
82
|
+
clearSelection: "Sterge selectia",
|
|
83
|
+
markPaid: "Marcheaza platite",
|
|
84
|
+
markPaidConfirm: "Marcheaza platite",
|
|
85
|
+
markPaidTitle: "Marchezi {count} facturi ca platite?",
|
|
86
|
+
markPaidDescription: "Facturile selectate trec in Platita, suma platita devine totalul facturii, iar restul de plata devine zero.",
|
|
87
|
+
selectAllOnPage: "Selecteaza toate facturile din pagina",
|
|
88
|
+
selectInvoice: "Selecteaza factura",
|
|
89
|
+
successTitle: "Facturi actualizate",
|
|
90
|
+
successDescription: "{updated} din {total} facturi au fost marcate ca platite.",
|
|
91
|
+
partialTitle: "Unele facturi nu au fost actualizate",
|
|
92
|
+
partialDescription: "{updated} din {total} facturi au fost marcate ca platite. {failed} au esuat.",
|
|
93
|
+
},
|
|
80
94
|
filters: {
|
|
81
95
|
button: "Filtre",
|
|
82
96
|
statusLabel: "Status",
|
|
@@ -168,6 +182,7 @@ export const financeUiRo = {
|
|
|
168
182
|
fields: {
|
|
169
183
|
amount: "Suma",
|
|
170
184
|
baseAmount: "Suma de baza",
|
|
185
|
+
fxRate: "Curs valutar",
|
|
171
186
|
status: "Status",
|
|
172
187
|
method: "Metoda de plata",
|
|
173
188
|
date: "Data platii",
|
|
@@ -456,8 +471,8 @@ export const financeUiRo = {
|
|
|
456
471
|
supplierPaymentDialog: {
|
|
457
472
|
title: "Inregistreaza Plata Furnizorului",
|
|
458
473
|
fields: {
|
|
459
|
-
bookingId: "
|
|
460
|
-
supplierId: "
|
|
474
|
+
bookingId: "Rezervare",
|
|
475
|
+
supplierId: "Furnizor (optional)",
|
|
461
476
|
amountCents: "Suma",
|
|
462
477
|
currency: "Moneda",
|
|
463
478
|
paymentDate: "Data Platii",
|
|
@@ -467,8 +482,8 @@ export const financeUiRo = {
|
|
|
467
482
|
notes: "Note",
|
|
468
483
|
},
|
|
469
484
|
placeholders: {
|
|
470
|
-
bookingId: "
|
|
471
|
-
supplierId: "
|
|
485
|
+
bookingId: "Cauta dupa numar, client sau produs",
|
|
486
|
+
supplierId: "Cauta furnizori...",
|
|
472
487
|
paymentDate: "Selecteaza data platii",
|
|
473
488
|
referenceNumber: "TXN-12345",
|
|
474
489
|
notes: "Note plata...",
|
|
@@ -477,7 +492,7 @@ export const financeUiRo = {
|
|
|
477
492
|
create: "Inregistreaza Plata",
|
|
478
493
|
},
|
|
479
494
|
validation: {
|
|
480
|
-
bookingIdRequired: "
|
|
495
|
+
bookingIdRequired: "Rezervarea este obligatorie",
|
|
481
496
|
amountMinimum: "Suma trebuie sa fie cel putin 1",
|
|
482
497
|
paymentDateRequired: "Data platii este obligatorie",
|
|
483
498
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/finance-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -45,12 +45,14 @@
|
|
|
45
45
|
"react-dom": "^19.0.0",
|
|
46
46
|
"react-hook-form": "^7.60.0",
|
|
47
47
|
"zod": "^4.3.6",
|
|
48
|
-
"@voyantjs/
|
|
49
|
-
"@voyantjs/finance
|
|
50
|
-
"@voyantjs/
|
|
48
|
+
"@voyantjs/bookings-ui": "0.37.0",
|
|
49
|
+
"@voyantjs/finance": "0.37.0",
|
|
50
|
+
"@voyantjs/finance-react": "0.37.0",
|
|
51
|
+
"@voyantjs/suppliers-ui": "0.37.0",
|
|
52
|
+
"@voyantjs/ui": "0.37.0"
|
|
51
53
|
},
|
|
52
54
|
"dependencies": {
|
|
53
|
-
"@voyantjs/i18n": "0.
|
|
55
|
+
"@voyantjs/i18n": "0.37.0"
|
|
54
56
|
},
|
|
55
57
|
"devDependencies": {
|
|
56
58
|
"@tanstack/react-query": "^5.96.2",
|
|
@@ -63,11 +65,13 @@
|
|
|
63
65
|
"typescript": "^6.0.2",
|
|
64
66
|
"vitest": "^4.1.2",
|
|
65
67
|
"zod": "^4.3.6",
|
|
66
|
-
"@voyantjs/
|
|
67
|
-
"@voyantjs/finance
|
|
68
|
-
"@voyantjs/
|
|
68
|
+
"@voyantjs/bookings-ui": "0.37.0",
|
|
69
|
+
"@voyantjs/finance": "0.37.0",
|
|
70
|
+
"@voyantjs/finance-react": "0.37.0",
|
|
71
|
+
"@voyantjs/i18n": "0.37.0",
|
|
72
|
+
"@voyantjs/suppliers-ui": "0.37.0",
|
|
69
73
|
"@voyantjs/voyant-typescript-config": "0.1.0",
|
|
70
|
-
"@voyantjs/ui": "0.
|
|
74
|
+
"@voyantjs/ui": "0.37.0"
|
|
71
75
|
},
|
|
72
76
|
"files": [
|
|
73
77
|
"dist",
|