@appcorp/stellar-solutions-modules 0.1.54 → 0.1.56

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.
Files changed (112) hide show
  1. package/global-modules/bank/bank.d.ts +7 -1
  2. package/global-modules/bank/bank.js +8 -22
  3. package/global-modules/bank/constants.js +5 -5
  4. package/global-modules/bank/context.js +40 -42
  5. package/global-modules/bank/drawer.d.ts +0 -4
  6. package/global-modules/bank/drawer.js +10 -8
  7. package/global-modules/bank/form.d.ts +0 -3
  8. package/global-modules/bank/form.js +18 -15
  9. package/global-modules/bank/types.d.ts +1 -1
  10. package/global-modules/bank/validate.js +2 -2
  11. package/global-modules/branch/branch.d.ts +7 -1
  12. package/global-modules/branch/branch.js +8 -22
  13. package/global-modules/branch/constants.js +1 -1
  14. package/global-modules/branch/context.js +36 -22
  15. package/global-modules/branch/drawer.d.ts +0 -4
  16. package/global-modules/branch/drawer.js +10 -8
  17. package/global-modules/branch/form.d.ts +0 -3
  18. package/global-modules/branch/form.js +13 -14
  19. package/global-modules/branch/types.d.ts +1 -1
  20. package/global-modules/branch/validate.js +6 -6
  21. package/global-modules/payment-mode/constants.js +1 -1
  22. package/global-modules/payment-mode/context.js +8 -10
  23. package/global-modules/payment-mode/drawer.d.ts +0 -4
  24. package/global-modules/payment-mode/drawer.js +10 -8
  25. package/global-modules/payment-mode/form.d.ts +0 -3
  26. package/global-modules/payment-mode/form.js +8 -9
  27. package/global-modules/payment-mode/payment-mode.d.ts +1 -1
  28. package/global-modules/payment-mode/payment-mode.js +40 -44
  29. package/global-modules/payment-mode/types.d.ts +1 -1
  30. package/global-modules/payment-mode/validate.js +2 -2
  31. package/global-modules/preferences/constants.d.ts +0 -4
  32. package/global-modules/preferences/constants.js +14 -17
  33. package/global-modules/preferences/currency.js +2 -2
  34. package/global-modules/preferences/preferences.js +2 -6
  35. package/global-modules/tax/constants.js +1 -1
  36. package/global-modules/tax/context.js +6 -3
  37. package/global-modules/tax/drawer.d.ts +0 -4
  38. package/global-modules/tax/drawer.js +10 -8
  39. package/global-modules/tax/form.d.ts +0 -4
  40. package/global-modules/tax/form.js +8 -9
  41. package/global-modules/tax/tax.d.ts +1 -1
  42. package/global-modules/tax/tax.js +39 -43
  43. package/global-modules/tax/types.d.ts +1 -1
  44. package/index.d.ts +0 -30
  45. package/index.js +0 -46
  46. package/lib/toast-utils.d.ts +0 -44
  47. package/lib/toast-utils.js +240 -212
  48. package/lib/utils.d.ts +0 -2
  49. package/lib/utils.js +5 -12
  50. package/package.json +6 -7
  51. package/components/theme-provider.d.ts +0 -9
  52. package/components/theme-provider.js +0 -122
  53. package/components/theme-switcher.d.ts +0 -4
  54. package/components/theme-switcher.js +0 -60
  55. package/components/ui/badge.d.ts +0 -9
  56. package/components/ui/badge.js +0 -82
  57. package/components/ui/button.d.ts +0 -10
  58. package/components/ui/button.js +0 -91
  59. package/components/ui/card.d.ts +0 -9
  60. package/components/ui/card.js +0 -94
  61. package/components/ui/carousel.d.ts +0 -19
  62. package/components/ui/carousel.js +0 -168
  63. package/components/ui/checkbox.d.ts +0 -9
  64. package/components/ui/checkbox.js +0 -87
  65. package/components/ui/combobox.d.ts +0 -70
  66. package/components/ui/combobox.js +0 -315
  67. package/components/ui/command.d.ts +0 -18
  68. package/components/ui/command.js +0 -115
  69. package/components/ui/dialog.d.ts +0 -15
  70. package/components/ui/dialog.js +0 -118
  71. package/components/ui/drawer.d.ts +0 -13
  72. package/components/ui/drawer.js +0 -115
  73. package/components/ui/dropdown-menu.d.ts +0 -25
  74. package/components/ui/dropdown-menu.js +0 -148
  75. package/components/ui/enhanced-dropzone.d.ts +0 -21
  76. package/components/ui/enhanced-dropzone.js +0 -187
  77. package/components/ui/enhanced-table-footer-action.d.ts +0 -35
  78. package/components/ui/enhanced-table-footer-action.js +0 -110
  79. package/components/ui/enhanced-table-footer-page.d.ts +0 -34
  80. package/components/ui/enhanced-table-footer-page.js +0 -132
  81. package/components/ui/enhanced-table-footer-pagination.d.ts +0 -38
  82. package/components/ui/enhanced-table-footer-pagination.js +0 -116
  83. package/components/ui/enhanced-table-header-action.d.ts +0 -7
  84. package/components/ui/enhanced-table-header-action.js +0 -21
  85. package/components/ui/enhanced-table-header-search.d.ts +0 -12
  86. package/components/ui/enhanced-table-header-search.js +0 -17
  87. package/components/ui/enhanced-table.d.ts +0 -87
  88. package/components/ui/enhanced-table.js +0 -221
  89. package/components/ui/form.d.ts +0 -24
  90. package/components/ui/form.js +0 -125
  91. package/components/ui/input.d.ts +0 -8
  92. package/components/ui/input.js +0 -86
  93. package/components/ui/label.d.ts +0 -7
  94. package/components/ui/label.js +0 -68
  95. package/components/ui/popover.d.ts +0 -7
  96. package/components/ui/popover.js +0 -82
  97. package/components/ui/select.d.ts +0 -15
  98. package/components/ui/select.js +0 -127
  99. package/components/ui/separator.d.ts +0 -4
  100. package/components/ui/separator.js +0 -66
  101. package/components/ui/shadcn-io/color-picker/index.d.ts +0 -43
  102. package/components/ui/shadcn-io/color-picker/index.js +0 -304
  103. package/components/ui/shadcn-io/dropzone/index.d.ts +0 -19
  104. package/components/ui/shadcn-io/dropzone/index.js +0 -131
  105. package/components/ui/sonner.d.ts +0 -4
  106. package/components/ui/sonner.js +0 -54
  107. package/components/ui/switch.d.ts +0 -9
  108. package/components/ui/switch.js +0 -89
  109. package/components/ui/table.d.ts +0 -10
  110. package/components/ui/table.js +0 -101
  111. package/components/ui/textarea.d.ts +0 -8
  112. package/components/ui/textarea.js +0 -86
@@ -84,7 +84,7 @@ var util_functions_1 = require("@react-pakistan/util-functions");
84
84
  var actions_1 = require("./actions");
85
85
  var constants_1 = require("./constants");
86
86
  var reducer_1 = require("./reducer");
87
- var toast_utils_1 = require("../../lib/toast-utils");
87
+ var toast_utils_1 = require("@appcorp/shadcn/lib/toast-utils");
88
88
  var types_1 = require("./types");
89
89
  var validate_1 = require("./validate");
90
90
  var context_1 = require("../preferences/context");
@@ -96,7 +96,7 @@ var useBranchState = function () {
96
96
  // STATE & CORE HOOKS
97
97
  // ---------------------------------------------------------------------------
98
98
  var _a = (0, react_1.useReducer)(reducer_1.branchReducer, reducer_1.initialBranchState), state = _a[0], dispatch = _a[1];
99
- var _b = (0, context_1.usePreferenceStateContext)(), preferences = _b.preferences, activeTab = _b.activeTab;
99
+ var preferences = (0, context_1.usePreferenceStateContext)().preferences;
100
100
  var theme = (0, next_themes_1.useTheme)().theme;
101
101
  var t = (0, next_intl_1.useTranslations)("branch");
102
102
  var tCommon = (0, next_intl_1.useTranslations)("common");
@@ -175,6 +175,10 @@ var useBranchState = function () {
175
175
  var data = _a.data, error = _a.error;
176
176
  if (error) {
177
177
  showErrorToast(tCommon("messagesNetworkError"));
178
+ dispatch({
179
+ type: actions_1.BRANCH_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
180
+ payload: { disableSaveButton: false },
181
+ });
178
182
  }
179
183
  if (data) {
180
184
  showSuccessToast(t("messagesBranchUpdated"));
@@ -221,7 +225,7 @@ var useBranchState = function () {
221
225
  // ---------------------------------------------------------------------------
222
226
  // MODULE ENTITY HOOK
223
227
  // ---------------------------------------------------------------------------
224
- var _c = (0, util_functions_1.useModuleEntity)({
228
+ var _b = (0, util_functions_1.useModuleEntity)({
225
229
  byIdCallback: byIdCallback,
226
230
  byIdParams: byIdParams,
227
231
  deleteCallback: deleteCallback,
@@ -229,26 +233,24 @@ var useBranchState = function () {
229
233
  listCallback: listCallback,
230
234
  listParams: listParams,
231
235
  listUrl: constants_1.BRANCH_API_ROUTES.BRANCHES,
232
- searchQuery: "",
236
+ searchQuery: debouncedQuery,
233
237
  unitByIdUrl: constants_1.BRANCH_API_ROUTES.BRANCH_BY_ID,
234
238
  unitUrl: constants_1.BRANCH_API_ROUTES.BRANCH,
235
239
  updateCallback: updateCallback,
236
240
  updateDeps: [state],
237
241
  updateParams: updateParams,
238
- }), byIdError = _c.byIdError, byIdFetchNow = _c.byIdFetchNow, byIdLoading = _c.byIdLoading, deleteError = _c.deleteError, deleteFetchNow = _c.deleteFetchNow, deleteLoading = _c.deleteLoading, listError = _c.listError, listFetchNow = _c.listFetchNow, listLoading = _c.listLoading, updateError = _c.updateError, updateFetchNow = _c.updateFetchNow, updateLoading = _c.updateLoading;
242
+ }), byIdError = _b.byIdError, byIdFetchNow = _b.byIdFetchNow, byIdLoading = _b.byIdLoading, deleteError = _b.deleteError, deleteFetchNow = _b.deleteFetchNow, deleteLoading = _b.deleteLoading, listError = _b.listError, listFetchNow = _b.listFetchNow, listLoading = _b.listLoading, updateError = _b.updateError, updateFetchNow = _b.updateFetchNow, updateLoading = _b.updateLoading;
239
243
  // ---------------------------------------------------------------------------
240
244
  // EFFECTS (list refresh)
241
245
  // ---------------------------------------------------------------------------
242
246
  (0, react_1.useEffect)(function () {
243
- if (activeTab === "Branch") {
244
- listFetchNow();
245
- }
247
+ listFetchNow();
246
248
  // eslint-disable-next-line react-hooks/exhaustive-deps
247
- }, [debouncedQuery, state.currentPage, state.pageLimit, activeTab]);
249
+ }, [debouncedQuery, state.currentPage, state.pageLimit]);
248
250
  // ---------------------------------------------------------------------------
249
251
  // DRAWER & MODAL HANDLERS
250
252
  // ---------------------------------------------------------------------------
251
- var closeDrawer = (0, react_1.useCallback)(function () {
253
+ var closeDrawer = function () {
252
254
  dispatch({
253
255
  type: actions_1.BRANCH_ACTION_TYPES.SET_DRAWER,
254
256
  payload: { drawer: null },
@@ -259,7 +261,7 @@ var useBranchState = function () {
259
261
  dispatch({
260
262
  type: actions_1.BRANCH_ACTION_TYPES.RESET_ERRORS,
261
263
  });
262
- }, []);
264
+ };
263
265
  // ---------------------------------------------------------------------------
264
266
  // CRUD OPERATION HANDLERS
265
267
  // ---------------------------------------------------------------------------
@@ -283,10 +285,17 @@ var useBranchState = function () {
283
285
  // FORM HANDLERS
284
286
  // ---------------------------------------------------------------------------
285
287
  var handleInputChange = (0, react_1.useCallback)(function (key, value) {
288
+ dispatch({
289
+ type: actions_1.BRANCH_ACTION_TYPES.RESET_ERRORS,
290
+ });
286
291
  dispatch({
287
292
  type: actions_1.BRANCH_ACTION_TYPES.SET_INPUT_FIELD,
288
293
  payload: { key: key, value: value },
289
294
  });
295
+ dispatch({
296
+ type: actions_1.BRANCH_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
297
+ payload: { disableSaveButton: false },
298
+ });
290
299
  }, []);
291
300
  var handleSubmit = (0, react_1.useCallback)(function () {
292
301
  dispatch({
@@ -306,46 +315,51 @@ var useBranchState = function () {
306
315
  type: actions_1.BRANCH_ACTION_TYPES.SET_ERRORS,
307
316
  payload: { errors: errors },
308
317
  });
318
+ dispatch({
319
+ type: actions_1.BRANCH_ACTION_TYPES.SET_DISABLE_SAVE_BUTTON,
320
+ payload: { disableSaveButton: false },
321
+ });
322
+ showErrorToast(tCommon("messagesValidationError"));
309
323
  },
310
324
  });
311
- }, [updateFetchNow, updateParams]);
325
+ }, [updateFetchNow, updateParams, showErrorToast, tCommon]);
312
326
  // ---------------------------------------------------------------------------
313
327
  // PAGINATION HANDLERS
314
328
  // ---------------------------------------------------------------------------
315
- var handleNextClick = (0, react_1.useCallback)(function () {
329
+ var handleNextClick = function () {
316
330
  dispatch({
317
331
  type: actions_1.BRANCH_ACTION_TYPES.SET_CURRENT_PAGE,
318
332
  payload: { currentPage: state.currentPage + 1 },
319
333
  });
320
- }, [state.currentPage]);
321
- var handlePreviousClick = (0, react_1.useCallback)(function () {
334
+ };
335
+ var handlePreviousClick = function () {
322
336
  dispatch({
323
337
  type: actions_1.BRANCH_ACTION_TYPES.SET_CURRENT_PAGE,
324
338
  payload: { currentPage: state.currentPage - 1 },
325
339
  });
326
- }, [state.currentPage]);
327
- var handlePageLimit = (0, react_1.useCallback)(function (k, v) {
340
+ };
341
+ var handlePageLimit = function (k, v) {
328
342
  var val = __assign({}, v);
329
343
  dispatch({
330
344
  type: actions_1.BRANCH_ACTION_TYPES.SET_PAGE_LIMIT,
331
345
  payload: { pageLimit: Number(val.option) },
332
346
  });
333
- }, []);
347
+ };
334
348
  // ---------------------------------------------------------------------------
335
349
  // SEARCH HANDLERS
336
350
  // ---------------------------------------------------------------------------
337
- var searchOnChange = (0, react_1.useCallback)(function (k, v) {
351
+ var searchOnChange = function (k, v) {
338
352
  dispatch({
339
353
  type: actions_1.BRANCH_ACTION_TYPES.SET_SEARCH_QUERY,
340
354
  payload: { searchQuery: v },
341
355
  });
342
- }, []);
343
- var clearSearch = (0, react_1.useCallback)(function () {
356
+ };
357
+ var clearSearch = function () {
344
358
  dispatch({
345
359
  type: actions_1.BRANCH_ACTION_TYPES.SET_SEARCH_QUERY,
346
360
  payload: { searchQuery: "" },
347
361
  });
348
- }, []);
362
+ };
349
363
  // ---------------------------------------------------------------------------
350
364
  // TABLE ACTIONS (memoized)
351
365
  // ---------------------------------------------------------------------------
@@ -22,10 +22,6 @@ import { FC } from "react";
22
22
  interface BranchDrawerProps {
23
23
  /** Whether the interface is in RTL (Right-to-Left) mode */
24
24
  isRTL: boolean;
25
- /** Translation map for internationalization */
26
- translationMap: {
27
- [key: string]: string;
28
- };
29
25
  }
30
26
  export declare const BranchDrawer: FC<BranchDrawerProps>;
31
27
  export {};
@@ -26,10 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.BranchDrawer = void 0;
27
27
  var react_1 = __importDefault(require("react"));
28
28
  var lucide_react_1 = require("lucide-react");
29
- var button_1 = require("../../components/ui/button");
30
- var drawer_1 = require("../../components/ui/drawer");
29
+ var button_1 = require("@appcorp/shadcn/components/button");
30
+ var drawer_1 = require("@appcorp/shadcn/components/drawer");
31
31
  var context_1 = require("./context");
32
32
  var form_1 = require("./form");
33
+ var next_intl_1 = require("next-intl");
33
34
  // ============================================================================
34
35
  // CONSTANTS
35
36
  // ============================================================================
@@ -43,10 +44,11 @@ var getDrawerDirection = function (isRTL) {
43
44
  // COMPONENT
44
45
  // ============================================================================
45
46
  var BranchDrawer = function (_a) {
47
+ var isRTL = _a.isRTL;
48
+ var t = (0, next_intl_1.useTranslations)("branch");
46
49
  // ============================================================================
47
50
  // HOOKS & STATE
48
51
  // ============================================================================
49
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
50
52
  var _b = (0, context_1.useBranchStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
51
53
  // ============================================================================
52
54
  // COMPUTED VALUES
@@ -59,17 +61,17 @@ var BranchDrawer = function (_a) {
59
61
  return (react_1.default.createElement(drawer_1.Drawer, { open: isDrawerOpen, onOpenChange: function (open) { return !open && closeDrawer(); }, direction: drawerDirection },
60
62
  react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(DRAWER_WIDTH, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
61
63
  react_1.default.createElement(drawer_1.DrawerHeader, { className: "flex-row items-center justify-between border-b pb-4 ".concat(isRTL ? "flex-row-reverse" : "") },
62
- react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.headingFormCreate) || "Create Branch"),
64
+ react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, t("drawerTitleBranch")),
63
65
  react_1.default.createElement(drawer_1.DrawerClose, { asChild: true },
64
66
  react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon", className: "h-8 w-8" },
65
67
  react_1.default.createElement(lucide_react_1.X, { className: "h-4 w-4" }),
66
- react_1.default.createElement("span", { className: "sr-only" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.srCloseDrawer) || "Close drawer")))),
68
+ react_1.default.createElement("span", { className: "sr-only" }, t("drawerButtonClose"))))),
67
69
  react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") },
68
- react_1.default.createElement(form_1.Form, { isRTL: isRTL, translationMap: translationMap })),
70
+ react_1.default.createElement(form_1.Form, { isRTL: isRTL })),
69
71
  react_1.default.createElement(drawer_1.DrawerFooter, { className: "border-t pt-4" },
70
72
  react_1.default.createElement("div", { className: "flex gap-2 ".concat(isRTL ? "flex-row-reverse" : "") },
71
- react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.cancelBtn) || "Cancel"),
72
- react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.saveBtn) || "Save Branch"))))));
73
+ react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, t("drawerButtonCancel")),
74
+ react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, t("drawerButtonSave")))))));
73
75
  };
74
76
  exports.BranchDrawer = BranchDrawer;
75
77
  // ============================================================================
@@ -14,9 +14,6 @@
14
14
  import { FC } from "react";
15
15
  interface Props {
16
16
  isRTL: boolean;
17
- translationMap: {
18
- [key: string]: string;
19
- };
20
17
  }
21
18
  export declare const Form: FC<Props>;
22
19
  export {};
@@ -19,13 +19,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.Form = void 0;
20
20
  var react_1 = __importDefault(require("react"));
21
21
  var next_intl_1 = require("next-intl");
22
- var input_1 = require("../../components/ui/input");
23
- var switch_1 = require("../../components/ui/switch");
22
+ var input_1 = require("@appcorp/shadcn/components/input");
23
+ var switch_1 = require("@appcorp/shadcn/components/switch");
24
24
  var context_1 = require("./context");
25
25
  var Form = function (_a) {
26
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
27
- var t = (0, next_intl_1.useTranslations)("branchPage");
28
- var ui = (0, next_intl_1.useTranslations)("ui");
26
+ var isRTL = _a.isRTL;
27
+ var t = (0, next_intl_1.useTranslations)("branch");
29
28
  var _b = (0, context_1.useBranchStateContext)(), branchAddress = _b.branchAddress, branchName = _b.branchName, enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, isDefault = _b.isDefault, personEmail = _b.personEmail, personName = _b.personName, personPhone = _b.personPhone;
30
29
  // Helper function to translate validation error keys
31
30
  var getTranslatedError = function (key) {
@@ -41,22 +40,22 @@ var Form = function (_a) {
41
40
  react_1.default.createElement("div", { className: "space-y-4" },
42
41
  react_1.default.createElement("div", { className: "space-y-4" },
43
42
  react_1.default.createElement("div", { className: "space-y-2" },
44
- react_1.default.createElement(input_1.Input, { id: "branchName", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelBranchName) || "Branch Name", value: branchName || "", onChange: function (e) { return handleInputChange("branchName", e.target.value); }, placeholder: "Enter branch name", info: "Enter a descriptive name for this branch", error: getTranslatedError("branchName"), required: true })),
43
+ react_1.default.createElement(input_1.Input, { id: "branchName", type: "text", label: t("formLabelBranchName"), value: branchName || "", onChange: function (e) { return handleInputChange("branchName", e.target.value); }, placeholder: t("formPlaceholderBranchName"), info: t("formInfoBranchName"), error: getTranslatedError("branchName"), required: true })),
45
44
  react_1.default.createElement("div", { className: "space-y-2" },
46
- react_1.default.createElement(input_1.Input, { id: "branchAddress", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelBranchAddress) || "Branch Address", value: branchAddress || "", onChange: function (e) {
45
+ react_1.default.createElement(input_1.Input, { id: "branchAddress", type: "text", label: t("formLabelBranchAddress"), value: branchAddress || "", onChange: function (e) {
47
46
  return handleInputChange("branchAddress", e.target.value);
48
- }, placeholder: "Enter branch address", info: "Enter the complete address of this branch", error: getTranslatedError("branchAddress"), required: true }))),
47
+ }, placeholder: t("formPlaceholderBranchAddress"), info: t("formInfoBranchAddress"), error: getTranslatedError("branchAddress"), required: true }))),
49
48
  react_1.default.createElement("div", { className: "space-y-4" },
50
49
  react_1.default.createElement("div", { className: "space-y-2" },
51
- react_1.default.createElement(input_1.Input, { id: "personName", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelPersonName) || "Contact Person Name", value: personName || "", onChange: function (e) { return handleInputChange("personName", e.target.value); }, placeholder: "Enter contact person name", info: "Enter the name of the contact person for this branch", error: getTranslatedError("personName"), required: true })),
50
+ react_1.default.createElement(input_1.Input, { id: "personName", type: "text", label: t("formLabelPersonName"), value: personName || "", onChange: function (e) { return handleInputChange("personName", e.target.value); }, placeholder: t("formPlaceholderPersonName"), info: t("formInfoPersonName"), error: getTranslatedError("personName"), required: true })),
52
51
  react_1.default.createElement("div", { className: "space-y-2" },
53
- react_1.default.createElement(input_1.Input, { id: "personEmail", type: "email", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelPersonEmail) || "Contact Person Email", value: personEmail || "", onChange: function (e) { return handleInputChange("personEmail", e.target.value); }, placeholder: "Enter contact person email", info: "Enter the email address of the contact person", error: getTranslatedError("personEmail"), required: true })),
52
+ react_1.default.createElement(input_1.Input, { id: "personEmail", type: "email", label: t("formLabelPersonEmail"), value: personEmail || "", onChange: function (e) { return handleInputChange("personEmail", e.target.value); }, placeholder: t("formPlaceholderPersonEmail"), info: t("formInfoPersonEmail"), error: getTranslatedError("personEmail"), required: true })),
54
53
  react_1.default.createElement("div", { className: "space-y-2" },
55
- react_1.default.createElement(input_1.Input, { id: "personPhone", type: "tel", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelPersonPhone) || "Contact Person Phone", value: personPhone || "", onChange: function (e) { return handleInputChange("personPhone", e.target.value); }, placeholder: "Enter contact person phone", info: "Enter the phone number of the contact person", error: getTranslatedError("personPhone"), required: true }))),
54
+ react_1.default.createElement(input_1.Input, { id: "personPhone", type: "tel", label: t("formLabelPersonPhone"), value: personPhone || "", onChange: function (e) { return handleInputChange("personPhone", e.target.value); }, placeholder: t("formPlaceholderPersonPhone"), info: t("formInfoPersonPhone"), error: getTranslatedError("personPhone"), required: true }))),
56
55
  react_1.default.createElement("div", { className: "space-y-4" },
57
- react_1.default.createElement(switch_1.Switch, { id: "enabled", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.enabled) || "Enabled", checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: enabled ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("enabled") }),
58
- react_1.default.createElement(switch_1.Switch, { id: "isDefault", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.setAsDefault) || "Set as Default", checked: isDefault || false, onCheckedChange: function (checked) {
56
+ react_1.default.createElement(switch_1.Switch, { id: "enabled", label: t("formLabelEnabled"), checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: t("formInfoEnabled"), error: getTranslatedError("enabled") }),
57
+ react_1.default.createElement(switch_1.Switch, { id: "isDefault", label: t("formLabelIsDefault"), checked: isDefault || false, onCheckedChange: function (checked) {
59
58
  return handleInputChange("isDefault", checked);
60
- }, info: isDefault ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("isDefault") })))));
59
+ }, info: t("formInfoIsDefault"), error: getTranslatedError("isDefault") })))));
61
60
  };
62
61
  exports.Form = Form;
@@ -23,7 +23,7 @@
23
23
  * - Types: PascalCase following interface conventions
24
24
  */
25
25
  import { Dispatch } from "react";
26
- import { RowAction, HeaderAction } from "../../components/ui/enhanced-table";
26
+ import { RowAction, HeaderAction } from "@appcorp/shadcn/components/enhanced-table";
27
27
  import { BranchActions } from "./actions";
28
28
  /**
29
29
  * Branch Context Interface
@@ -4,12 +4,12 @@ exports.formValidation = void 0;
4
4
  var zod_1 = require("zod");
5
5
  // Validation error keys for i18n translation
6
6
  var VALIDATION_KEYS = {
7
- branchNameRequired: "branchPageValidationBranchNameRequired",
8
- branchAddressRequired: "branchPageValidationBranchAddressRequired",
9
- personNameRequired: "branchPageValidationPersonNameRequired",
10
- personEmailRequired: "branchPageValidationPersonEmailRequired",
11
- personPhoneRequired: "branchPageValidationPersonPhoneRequired",
12
- preferenceIdRequired: "branchPageValidationPreferenceIdRequired",
7
+ branchNameRequired: "validationBranchNameRequired",
8
+ branchAddressRequired: "validationBranchAddressRequired",
9
+ personNameRequired: "validationPersonNameRequired",
10
+ personEmailRequired: "validationPersonEmailRequired",
11
+ personPhoneRequired: "validationPersonPhoneRequired",
12
+ preferenceIdRequired: "validationPreferenceIdRequired",
13
13
  };
14
14
  exports.formValidation = zod_1.z.object({
15
15
  branchAddress: zod_1.z.string().nonempty(VALIDATION_KEYS.branchAddressRequired),
@@ -58,7 +58,7 @@ exports.tableBodyCols = [
58
58
  key: "isDefault",
59
59
  },
60
60
  {
61
- componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.TEXT,
61
+ componentType: vista_table_type_1.VISTA_TABLE_CELL_TYPE.CREATED_UPDATED_AT,
62
62
  key: "createdAt",
63
63
  },
64
64
  {
@@ -84,7 +84,7 @@ var util_functions_1 = require("@react-pakistan/util-functions");
84
84
  var actions_1 = require("./actions");
85
85
  var constants_1 = require("./constants");
86
86
  var reducer_1 = require("./reducer");
87
- var toast_utils_1 = require("../../lib/toast-utils");
87
+ var toast_utils_1 = require("@appcorp/shadcn/lib/toast-utils");
88
88
  var types_1 = require("./types");
89
89
  var validate_1 = require("./validate");
90
90
  var context_1 = require("../preferences/context");
@@ -96,7 +96,7 @@ var usePaymentModeState = function () {
96
96
  // STATE & CORE HOOKS
97
97
  // ---------------------------------------------------------------------------
98
98
  var _a = (0, react_1.useReducer)(reducer_1.paymentModeReducer, reducer_1.initialPaymentModeState), state = _a[0], dispatch = _a[1];
99
- var _b = (0, context_1.usePreferenceStateContext)(), preferences = _b.preferences, activeTab = _b.activeTab;
99
+ var preferences = (0, context_1.usePreferenceStateContext)().preferences;
100
100
  var theme = (0, next_themes_1.useTheme)().theme;
101
101
  var t = (0, next_intl_1.useTranslations)("paymentMode");
102
102
  var tCommon = (0, next_intl_1.useTranslations)("common");
@@ -207,7 +207,7 @@ var usePaymentModeState = function () {
207
207
  // ---------------------------------------------------------------------------
208
208
  // MODULE ENTITY HOOK
209
209
  // ---------------------------------------------------------------------------
210
- var _c = (0, util_functions_1.useModuleEntity)({
210
+ var _b = (0, util_functions_1.useModuleEntity)({
211
211
  byIdCallback: byIdCallback,
212
212
  byIdParams: byIdParams,
213
213
  deleteCallback: deleteCallback,
@@ -215,22 +215,20 @@ var usePaymentModeState = function () {
215
215
  listCallback: listCallback,
216
216
  listParams: listParams,
217
217
  listUrl: constants_1.PAYMENT_MODE_API_ROUTES.PAYMENT_MODES,
218
- searchQuery: "",
218
+ searchQuery: debouncedQuery,
219
219
  unitByIdUrl: constants_1.PAYMENT_MODE_API_ROUTES.PAYMENT_MODE_BY_ID,
220
220
  unitUrl: constants_1.PAYMENT_MODE_API_ROUTES.PAYMENT_MODE,
221
221
  updateCallback: updateCallback,
222
222
  updateDeps: [state],
223
223
  updateParams: updateParams,
224
- }), byIdError = _c.byIdError, byIdFetchNow = _c.byIdFetchNow, byIdLoading = _c.byIdLoading, deleteError = _c.deleteError, deleteFetchNow = _c.deleteFetchNow, deleteLoading = _c.deleteLoading, listError = _c.listError, listFetchNow = _c.listFetchNow, listLoading = _c.listLoading, updateError = _c.updateError, updateFetchNow = _c.updateFetchNow, updateLoading = _c.updateLoading;
224
+ }), byIdError = _b.byIdError, byIdFetchNow = _b.byIdFetchNow, byIdLoading = _b.byIdLoading, deleteError = _b.deleteError, deleteFetchNow = _b.deleteFetchNow, deleteLoading = _b.deleteLoading, listError = _b.listError, listFetchNow = _b.listFetchNow, listLoading = _b.listLoading, updateError = _b.updateError, updateFetchNow = _b.updateFetchNow, updateLoading = _b.updateLoading;
225
225
  // ---------------------------------------------------------------------------
226
226
  // EFFECTS (list refresh)
227
227
  // ---------------------------------------------------------------------------
228
228
  (0, react_1.useEffect)(function () {
229
- if (activeTab === "Payment Mode") {
230
- listFetchNow();
231
- }
232
- // eslint-disable-next-line react-hooks/exhaustive-deps
233
- }, [debouncedQuery, state.currentPage, state.pageLimit, activeTab]);
229
+ listFetchNow();
230
+ // eslint-disable-next-line
231
+ }, [debouncedQuery, state.currentPage, state.pageLimit]);
234
232
  // ---------------------------------------------------------------------------
235
233
  // DRAWER & MODAL HANDLERS
236
234
  // ---------------------------------------------------------------------------
@@ -22,10 +22,6 @@ import { FC } from "react";
22
22
  interface PaymentModeDrawerProps {
23
23
  /** Whether the interface is in RTL (Right-to-Left) mode */
24
24
  isRTL: boolean;
25
- /** Translation map for internationalization */
26
- translationMap: {
27
- [key: string]: string;
28
- };
29
25
  }
30
26
  export declare const PaymentModeDrawer: FC<PaymentModeDrawerProps>;
31
27
  export {};
@@ -26,10 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.PaymentModeDrawer = void 0;
27
27
  var react_1 = __importDefault(require("react"));
28
28
  var lucide_react_1 = require("lucide-react");
29
- var button_1 = require("../../components/ui/button");
30
- var drawer_1 = require("../../components/ui/drawer");
29
+ var button_1 = require("@appcorp/shadcn/components/button");
30
+ var drawer_1 = require("@appcorp/shadcn/components/drawer");
31
31
  var context_1 = require("./context");
32
32
  var form_1 = require("./form");
33
+ var next_intl_1 = require("next-intl");
33
34
  // ============================================================================
34
35
  // CONSTANTS
35
36
  // ============================================================================
@@ -43,10 +44,11 @@ var getDrawerDirection = function (isRTL) {
43
44
  // COMPONENT
44
45
  // ============================================================================
45
46
  var PaymentModeDrawer = function (_a) {
47
+ var isRTL = _a.isRTL;
48
+ var t = (0, next_intl_1.useTranslations)("paymentMode");
46
49
  // ============================================================================
47
50
  // HOOKS & STATE
48
51
  // ============================================================================
49
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
50
52
  var _b = (0, context_1.usePaymentModeStateContext)(), closeDrawer = _b.closeDrawer, disableSaveButton = _b.disableSaveButton, drawer = _b.drawer, handleSubmit = _b.handleSubmit;
51
53
  // ============================================================================
52
54
  // COMPUTED VALUES
@@ -59,17 +61,17 @@ var PaymentModeDrawer = function (_a) {
59
61
  return (react_1.default.createElement(drawer_1.Drawer, { open: isDrawerOpen, onOpenChange: function (open) { return !open && closeDrawer(); }, direction: drawerDirection },
60
62
  react_1.default.createElement(drawer_1.DrawerContent, { className: "h-full ".concat(DRAWER_WIDTH, " ").concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
61
63
  react_1.default.createElement(drawer_1.DrawerHeader, { className: "flex-row items-center justify-between border-b pb-4 ".concat(isRTL ? "flex-row-reverse" : "") },
62
- react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.headingFormCreate) || "Create Payment Mode"),
64
+ react_1.default.createElement(drawer_1.DrawerTitle, { className: "text-xl font-semibold flex items-center ".concat(isRTL ? "flex-row-reverse gap-2" : "gap-2") }, t("drawerTitlePaymentMode")),
63
65
  react_1.default.createElement(drawer_1.DrawerClose, { asChild: true },
64
66
  react_1.default.createElement(button_1.Button, { variant: "ghost", size: "icon", className: "h-8 w-8" },
65
67
  react_1.default.createElement(lucide_react_1.X, { className: "h-4 w-4" }),
66
- react_1.default.createElement("span", { className: "sr-only" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.srCloseDrawer) || "Close drawer")))),
68
+ react_1.default.createElement("span", { className: "sr-only" }, t("drawerButtonClose"))))),
67
69
  react_1.default.createElement("div", { className: "flex-1 overflow-y-auto px-4 py-6 ".concat(isRTL ? "text-right" : "text-left") },
68
- react_1.default.createElement(form_1.PaymentModeForm, { isRTL: isRTL, translationMap: translationMap })),
70
+ react_1.default.createElement(form_1.PaymentModeForm, { isRTL: isRTL })),
69
71
  react_1.default.createElement(drawer_1.DrawerFooter, { className: "border-t pt-4" },
70
72
  react_1.default.createElement("div", { className: "flex gap-2 ".concat(isRTL ? "flex-row-reverse" : "") },
71
- react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.cancelBtn) || "Cancel"),
72
- react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, (translationMap === null || translationMap === void 0 ? void 0 : translationMap.saveBtn) || "Save Payment Mode"))))));
73
+ react_1.default.createElement(button_1.Button, { variant: "outline", onClick: closeDrawer, className: "flex-1", type: "button" }, t("drawerButtonCancel")),
74
+ react_1.default.createElement(button_1.Button, { onClick: handleSubmit, disabled: disableSaveButton, className: "flex-1", type: "button" }, t("drawerButtonSave")))))));
73
75
  };
74
76
  exports.PaymentModeDrawer = PaymentModeDrawer;
75
77
  // ============================================================================
@@ -14,9 +14,6 @@
14
14
  import { FC } from "react";
15
15
  interface Props {
16
16
  isRTL: boolean;
17
- translationMap: {
18
- [key: string]: string;
19
- };
20
17
  }
21
18
  export declare const PaymentModeForm: FC<Props>;
22
19
  export {};
@@ -19,13 +19,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.PaymentModeForm = void 0;
20
20
  var react_1 = __importDefault(require("react"));
21
21
  var next_intl_1 = require("next-intl");
22
- var input_1 = require("../../components/ui/input");
23
- var switch_1 = require("../../components/ui/switch");
22
+ var input_1 = require("@appcorp/shadcn/components/input");
23
+ var switch_1 = require("@appcorp/shadcn/components/switch");
24
24
  var context_1 = require("./context");
25
25
  var PaymentModeForm = function (_a) {
26
- var isRTL = _a.isRTL, translationMap = _a.translationMap;
27
- var t = (0, next_intl_1.useTranslations)("paymentModePage");
28
- var ui = (0, next_intl_1.useTranslations)("ui");
26
+ var isRTL = _a.isRTL;
27
+ var t = (0, next_intl_1.useTranslations)("paymentMode");
29
28
  var _b = (0, context_1.usePaymentModeStateContext)(), enabled = _b.enabled, errors = _b.errors, handleInputChange = _b.handleInputChange, isDefault = _b.isDefault, label = _b.label;
30
29
  // Helper function to translate validation error keys
31
30
  var getTranslatedError = function (key) {
@@ -40,11 +39,11 @@ var PaymentModeForm = function (_a) {
40
39
  return (react_1.default.createElement("div", { className: "space-y-6 ".concat(isRTL ? "rtl" : "ltr"), dir: isRTL ? "rtl" : "ltr" },
41
40
  react_1.default.createElement("div", { className: "space-y-4" },
42
41
  react_1.default.createElement("div", { className: "space-y-2" },
43
- react_1.default.createElement(input_1.Input, { id: "label", type: "text", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.formLabelLabel) || "Payment Mode Name", value: label || "", onChange: function (e) { return handleInputChange("label", e.target.value); }, placeholder: "Enter payment mode name", info: "Enter a descriptive name for this payment method", error: getTranslatedError("label"), required: true })),
42
+ react_1.default.createElement(input_1.Input, { id: "label", type: "text", label: t("formLabelLabel"), value: label || "", onChange: function (e) { return handleInputChange("label", e.target.value); }, placeholder: t("formPlaceholderLabel"), info: t("formInfoLabel"), error: getTranslatedError("label"), required: true })),
44
43
  react_1.default.createElement("div", { className: "space-y-4" },
45
- react_1.default.createElement(switch_1.Switch, { id: "enabled", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.enabled) || "Enabled", checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: enabled ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("enabled") }),
46
- react_1.default.createElement(switch_1.Switch, { id: "isDefault", label: (translationMap === null || translationMap === void 0 ? void 0 : translationMap.setAsDefault) || "Set as Default", checked: isDefault || false, onCheckedChange: function (checked) {
44
+ react_1.default.createElement(switch_1.Switch, { id: "enabled", label: t("formLabelEnabled"), checked: enabled || false, onCheckedChange: function (checked) { return handleInputChange("enabled", checked); }, info: t("formInfoEnabled"), error: getTranslatedError("enabled") }),
45
+ react_1.default.createElement(switch_1.Switch, { id: "isDefault", label: t("formLabelIsDefault"), checked: isDefault || false, onCheckedChange: function (checked) {
47
46
  return handleInputChange("isDefault", checked);
48
- }, info: isDefault ? ui("switch.infoEnabled") : ui("switch.infoDisabled"), error: getTranslatedError("isDefault") })))));
47
+ }, info: t("formInfoIsDefault"), error: getTranslatedError("isDefault") })))));
49
48
  };
50
49
  exports.PaymentModeForm = PaymentModeForm;
@@ -21,5 +21,5 @@ interface Props {
21
21
  *
22
22
  * @param params - Route parameters containing locale information
23
23
  */
24
- export declare const PaymentMode: FC<Props>;
24
+ export declare const PaymentModePage: FC<Props>;
25
25
  export {};