@appcorp/stellar-solutions-invoice-module 0.1.72 → 0.1.73

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.
@@ -201,7 +201,7 @@ var usePaymentState = function () {
201
201
  type: actions_1.PAYMENT_ACTION_TYPES.SET_FORM,
202
202
  });
203
203
  dispatch({
204
- payload: { drawer: types_1.PAYMENT_DRAWER.PAYMENT_FORM_DRAWER },
204
+ payload: { drawer: types_1.PAYMENT_DRAWER.PAYMENT_VIEW_DRAWER },
205
205
  type: actions_1.PAYMENT_ACTION_TYPES.SET_DRAWER,
206
206
  });
207
207
  }
@@ -239,9 +239,7 @@ var usePaymentState = function () {
239
239
  updateCallback: updateCallback,
240
240
  updateDeps: [state],
241
241
  updateParams: updateParams,
242
- }), byIdError = _b.byIdError,
243
- // byIdFetchNow,
244
- byIdLoading = _b.byIdLoading, deleteError = _b.deleteError,
242
+ }), byIdError = _b.byIdError, byIdFetchNow = _b.byIdFetchNow, byIdLoading = _b.byIdLoading, deleteError = _b.deleteError,
245
243
  // deleteFetchNow,
246
244
  deleteLoading = _b.deleteLoading, listError = _b.listError, listFetchNow = _b.listFetchNow, listLoading = _b.listLoading, updateError = _b.updateError, updateFetchNow = _b.updateFetchNow, updateLoading = _b.updateLoading;
247
245
  // ---------------------------------------------------------------------------
@@ -305,14 +303,15 @@ var usePaymentState = function () {
305
303
  // ---------------------------------------------------------------------------
306
304
  // CRUD OPERATION HANDLERS
307
305
  // ---------------------------------------------------------------------------
308
- // const handleEdit = useCallback(
309
- // (id: string) => {
310
- // byIdFetchNow(undefined, {
311
- // body: JSON.stringify({ id }),
312
- // });
313
- // },
314
- // [byIdFetchNow]
315
- // );
306
+ var handleView = (0, react_1.useCallback)(function (id) {
307
+ byIdFetchNow(undefined, {
308
+ body: JSON.stringify({
309
+ id: id,
310
+ includeQuoteInvoice: true,
311
+ includePaymentMode: true,
312
+ }),
313
+ });
314
+ }, [byIdFetchNow]);
316
315
  // const handleDelete = useCallback(
317
316
  // (id: string) => {
318
317
  // deleteFetchNow?.(undefined, {
@@ -422,7 +421,14 @@ var usePaymentState = function () {
422
421
  // TABLE ACTIONS
423
422
  // ---------------------------------------------------------------------------
424
423
  var headerActions = (0, react_1.useMemo)(function () { return []; }, []);
425
- var rowActions = (0, react_1.useMemo)(function () { return []; }, []);
424
+ var rowActions = (0, react_1.useMemo)(function () { return [
425
+ {
426
+ enabled: true,
427
+ handleAction: handleView,
428
+ label: t("actionsButtonView"),
429
+ order: 1,
430
+ },
431
+ ]; }, []);
426
432
  // ---------------------------------------------------------------------------
427
433
  // RETURN STATE
428
434
  // ---------------------------------------------------------------------------
@@ -12,25 +12,30 @@ var context_1 = require("./context");
12
12
  var form_1 = require("./form");
13
13
  var types_1 = require("./types");
14
14
  var next_intl_1 = require("next-intl");
15
+ var view_1 = require("./view");
15
16
  var Drawer = function (_a) {
16
17
  var isRTL = _a.isRTL;
17
18
  var t = (0, next_intl_1.useTranslations)("payment");
18
19
  var _b = (0, context_1.usePaymentStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
19
20
  var isFormDrawer = drawer === types_1.PAYMENT_DRAWER.PAYMENT_FORM_DRAWER;
20
- var drawerTitle = isFormDrawer
21
- ? t("drawerTitlePayment")
22
- : t("drawerTitleFilter");
21
+ var isFilterDrawer = drawer === types_1.PAYMENT_DRAWER.PAYMENT_FILTER_DRAWER;
22
+ var isViewDrawer = drawer === types_1.PAYMENT_DRAWER.PAYMENT_VIEW_DRAWER;
23
23
  var drawerWidth = "w-[400px] sm:w-[540px]";
24
24
  var drawerDirection = isRTL ? "left" : "right";
25
25
  return (react_1.default.createElement(drawer_1.Drawer, { open: !!drawer, onOpenChange: function (open) { return !open && closeDrawer(); }, direction: drawerDirection },
26
- react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(drawerWidth, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
26
+ react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(drawerWidth, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr", "aria-describedby": "drawer-description", "aria-description": "drawer-description" },
27
27
  react_1.default.createElement(drawer_1.DrawerHeader, { className: "flex flex-row items-center justify-between border-b pb-4 ".concat(isRTL ? "flex-row-reverse" : "") },
28
- react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, drawerTitle),
28
+ react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") },
29
+ isFormDrawer && t("drawerTitlePayment"),
30
+ isFilterDrawer && t("drawerTitleFilter"),
31
+ isViewDrawer && t("drawerTitleView")),
29
32
  react_1.default.createElement(drawer_1.DrawerClose, { asChild: true },
30
33
  react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon", className: "h-8 w-8" },
31
34
  react_1.default.createElement(lucide_react_1.X, { className: "h-4 w-4" }),
32
35
  react_1.default.createElement("span", { className: "sr-only" }, t("drawerButtonClose"))))),
33
- react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") }, isFormDrawer && react_1.default.createElement(form_1.PaymentForm, { isRTL: isRTL })),
36
+ react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") },
37
+ isFormDrawer && react_1.default.createElement(form_1.PaymentForm, { isRTL: isRTL }),
38
+ isViewDrawer && react_1.default.createElement(view_1.PaymentView, { isRTL: isRTL })),
34
39
  react_1.default.createElement(drawer_1.DrawerFooter, { className: "border-t pt-4" },
35
40
  react_1.default.createElement("div", { className: "flex gap-2 ".concat(isRTL ? "flex-row-reverse" : "") },
36
41
  react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1" }, t("drawerButtonCancel")),
@@ -8,7 +8,9 @@ export declare enum PAYMENT_TYPE {
8
8
  PARTIAL_AMOUNT = "PARTIAL_AMOUNT"
9
9
  }
10
10
  export declare enum PAYMENT_DRAWER {
11
- PAYMENT_FORM_DRAWER = "PAYMENT_FORM_DRAWER"
11
+ PAYMENT_FILTER_DRAWER = "PAYMENT_FILTER_DRAWER",
12
+ PAYMENT_FORM_DRAWER = "PAYMENT_FORM_DRAWER",
13
+ PAYMENT_VIEW_DRAWER = "PAYMENT_VIEW_DRAWER"
12
14
  }
13
15
  export declare enum PAYMENT_MODAL {
14
16
  DUMMY = "DUMMY"
@@ -11,7 +11,9 @@ var PAYMENT_TYPE;
11
11
  })(PAYMENT_TYPE || (exports.PAYMENT_TYPE = PAYMENT_TYPE = {}));
12
12
  var PAYMENT_DRAWER;
13
13
  (function (PAYMENT_DRAWER) {
14
+ PAYMENT_DRAWER["PAYMENT_FILTER_DRAWER"] = "PAYMENT_FILTER_DRAWER";
14
15
  PAYMENT_DRAWER["PAYMENT_FORM_DRAWER"] = "PAYMENT_FORM_DRAWER";
16
+ PAYMENT_DRAWER["PAYMENT_VIEW_DRAWER"] = "PAYMENT_VIEW_DRAWER";
15
17
  })(PAYMENT_DRAWER || (exports.PAYMENT_DRAWER = PAYMENT_DRAWER = {}));
16
18
  var PAYMENT_MODAL;
17
19
  (function (PAYMENT_MODAL) {
@@ -0,0 +1,6 @@
1
+ import { FC } from "react";
2
+ interface Props {
3
+ isRTL: boolean;
4
+ }
5
+ export declare const PaymentView: FC<Props>;
6
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PaymentView = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var context_1 = require("./context");
9
+ var card_1 = require("@appcorp/shadcn/components/ui/card");
10
+ var separator_1 = require("@appcorp/shadcn/components/ui/separator");
11
+ var badge_1 = require("@appcorp/shadcn/components/ui/badge");
12
+ var Row = function (_a) {
13
+ var label = _a.label, value = _a.value;
14
+ return (react_1.default.createElement("div", { className: "flex w-full items-start justify-between py-2" },
15
+ react_1.default.createElement("div", { className: "text-sm text-muted-foreground" }, label),
16
+ react_1.default.createElement("div", { className: "text-sm text-foreground ml-4" }, value !== null && value !== void 0 ? value : "—")));
17
+ };
18
+ var PaymentView = function (_a) {
19
+ var isRTL = _a.isRTL;
20
+ var _b = (0, context_1.usePaymentStateContext)(), amount = _b.amount, attachment = _b.attachment, balance = _b.balance, currency = _b.currency, date = _b.date, description = _b.description, id = _b.id, paymentMode = _b.paymentMode, paymentType = _b.paymentType, quoteInvoice = _b.quoteInvoice, ref = _b.ref;
21
+ return (react_1.default.createElement(card_1.Card, { className: "w-full" },
22
+ react_1.default.createElement(card_1.CardHeader, { className: "flex ".concat(isRTL ? "flex-row-reverse" : "flex-row", " items-center justify-between") },
23
+ react_1.default.createElement(card_1.CardTitle, null, "Payment"),
24
+ react_1.default.createElement("div", { className: "flex items-center gap-2" },
25
+ react_1.default.createElement(badge_1.Badge, { variant: "secondary" }, paymentType !== null && paymentType !== void 0 ? paymentType : "N/A"))),
26
+ react_1.default.createElement(card_1.CardContent, null,
27
+ react_1.default.createElement("div", { className: "space-y-2" },
28
+ react_1.default.createElement(Row, { label: "ID", value: id }),
29
+ react_1.default.createElement(separator_1.Separator, null),
30
+ react_1.default.createElement(Row, { label: "Amount", value: "".concat(amount !== null && amount !== void 0 ? amount : "0.00", " ").concat(currency !== null && currency !== void 0 ? currency : "") }),
31
+ react_1.default.createElement(Row, { label: "Balance", value: "".concat(balance !== null && balance !== void 0 ? balance : "0.00", " ").concat(currency !== null && currency !== void 0 ? currency : "") }),
32
+ react_1.default.createElement(separator_1.Separator, null),
33
+ react_1.default.createElement(Row, { label: "Date", value: date ? new Date(date).toLocaleString() : "-" }),
34
+ react_1.default.createElement(Row, { label: "Reference", value: ref }),
35
+ react_1.default.createElement(separator_1.Separator, null),
36
+ react_1.default.createElement(Row, { label: "Payment Mode", value: (paymentMode === null || paymentMode === void 0 ? void 0 : paymentMode.label) || "-" }),
37
+ react_1.default.createElement(Row, { label: "Invoice", value: quoteInvoice ? quoteInvoice === null || quoteInvoice === void 0 ? void 0 : quoteInvoice.id : "-" }),
38
+ react_1.default.createElement(separator_1.Separator, null),
39
+ react_1.default.createElement("div", null,
40
+ react_1.default.createElement("div", { className: "text-sm text-muted-foreground" }, "Description"),
41
+ react_1.default.createElement("div", { className: "mt-1 text-sm text-foreground" }, description || "—")),
42
+ attachment && (react_1.default.createElement("div", null,
43
+ react_1.default.createElement("div", { className: "text-sm text-muted-foreground" }, "Attachment"),
44
+ react_1.default.createElement("a", { className: "text-sm text-primary underline mt-1 block", href: attachment, target: "_blank", rel: "noreferrer" }, "View attachment")))))));
45
+ };
46
+ exports.PaymentView = PaymentView;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appcorp/stellar-solutions-invoice-module",
3
- "version": "0.1.72",
3
+ "version": "0.1.73",
4
4
  "scripts": {
5
5
  "automate": "./automate.sh",
6
6
  "build": "yarn clean && yarn build:ts && cp package.json lib && cp README.md lib && cp yarn.lock lib",
@@ -20,9 +20,9 @@
20
20
  },
21
21
  "devDependencies": {
22
22
  "@appcorp/app-corp-vista": "^0.3.84",
23
- "@appcorp/shadcn": "^1.1.13",
24
- "@appcorp/stellar-solutions-company-module": "^0.1.44",
25
- "@appcorp/stellar-solutions-modules": "^0.1.67",
23
+ "@appcorp/shadcn": "^1.1.16",
24
+ "@appcorp/stellar-solutions-company-module": "^0.1.45",
25
+ "@appcorp/stellar-solutions-modules": "^0.1.68",
26
26
  "@appcorp/stellar-solutions-product-module": "^0.2.24",
27
27
  "@eslint/eslintrc": "^3",
28
28
  "@headlessui/react": "^2",
@@ -36,7 +36,7 @@
36
36
  "@radix-ui/react-separator": "^1",
37
37
  "@radix-ui/react-slot": "^1",
38
38
  "@radix-ui/react-switch": "^1",
39
- "@react-pakistan/util-functions": "^1.24.94",
39
+ "@react-pakistan/util-functions": "^1.24.98",
40
40
  "@supabase/supabase-js": "^2",
41
41
  "@tailwindcss/forms": "^0",
42
42
  "@tailwindcss/postcss": "^4",