@appcorp/stellar-solutions-invoice-module 0.1.71 → 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
  // ---------------------------------------------------------------------------
@@ -253,6 +251,7 @@ var usePaymentState = function () {
253
251
  }, [debouncedQuery, state.currentPage, state.pageLimit]);
254
252
  (0, react_1.useEffect)(function () {
255
253
  var invoiceId = (0, util_functions_1.getStorageValue)("paymentInvoiceId");
254
+ console.log("_>>>", invoiceId);
256
255
  if (invoiceId) {
257
256
  var invoice = invoices.filter(function (_a) {
258
257
  var id = _a.id;
@@ -284,7 +283,6 @@ var usePaymentState = function () {
284
283
  payload: { drawer: types_1.PAYMENT_DRAWER.PAYMENT_FORM_DRAWER },
285
284
  });
286
285
  }
287
- (0, util_functions_1.removeStorageValue)("paymentInvoiceId");
288
286
  }
289
287
  }, [invoices]);
290
288
  // ---------------------------------------------------------------------------
@@ -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, {
@@ -341,6 +340,7 @@ var usePaymentState = function () {
341
340
  });
342
341
  },
343
342
  });
343
+ (0, util_functions_1.removeStorageValue)("paymentInvoiceId");
344
344
  }, [updateFetchNow, updateParams, dispatch]);
345
345
  // ---------------------------------------------------------------------------
346
346
  // FORM HANDLERS
@@ -421,7 +421,14 @@ var usePaymentState = function () {
421
421
  // TABLE ACTIONS
422
422
  // ---------------------------------------------------------------------------
423
423
  var headerActions = (0, react_1.useMemo)(function () { return []; }, []);
424
- 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
+ ]; }, []);
425
432
  // ---------------------------------------------------------------------------
426
433
  // RETURN STATE
427
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.71",
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",