From ed48a2cbdb8fbb0dae82edd2bba0d202ce96bd46 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sun, 31 May 2026 23:35:10 +0200 Subject: [PATCH] chore: format webapp files --- packages/webapp/.prettierrc | 2 +- packages/webapp/package.json | 1 + .../Accounts/AccountsMultiSelect.tsx | 2 +- .../src/components/Accounts/_components.tsx | 2 +- .../AdvancedFilter/AdvancedFilterPopover.tsx | 6 +- .../components/AdvancedFilter/interfaces.ts | 1 - .../src/components/AdvancedFilter/utils.tsx | 29 +- packages/webapp/src/components/App.tsx | 30 +- .../webapp/src/components/AppIntlLoader.tsx | 2 +- .../webapp/src/components/Aside/Aside.tsx | 10 +- .../webapp/src/components/Button/index.tsx | 2 +- .../src/components/CommercialDoc/index.tsx | 2 +- .../Dashboard/DashboardErrorBoundary.tsx | 12 +- .../Dashboard/DashboardFilterButton.tsx | 2 +- .../components/Dashboard/DashboardInsider.tsx | 3 +- .../Dashboard/DashboardLoadingIndicator.tsx | 6 +- .../Dashboard/DashboardProvider.tsx | 4 +- .../components/Dashboard/DashboardSockets.tsx | 14 +- .../Dashboard/DashboardSplitePane.tsx | 11 +- .../Dashboard/DashboardTopbar/_components.tsx | 2 +- .../Dashboard/DashboardTopbar/index.ts | 2 +- .../src/components/Dashboard/PrivatePages.tsx | 6 +- .../webapp/src/components/Dashboard/index.tsx | 18 +- .../DataTableCells/MoneyFieldCell.tsx | 13 +- .../DataTableCells/PercentFieldCell.tsx | 13 +- .../webapp/src/components/Datatable/Cells.tsx | 2 +- .../src/components/Datatable/DataTable.tsx | 5 +- .../src/components/Datatable/Pagination.tsx | 23 +- .../src/components/Datatable/TableBody.tsx | 1 - .../src/components/Datatable/TableContext.tsx | 2 +- .../components/Datatable/TableFastCell.tsx | 6 +- .../src/components/Datatable/TableFooter.tsx | 10 +- .../TableIndeterminateCheckboxHeader.tsx | 2 +- .../src/components/Datatable/TableLoading.tsx | 6 +- .../src/components/Datatable/TablePage.tsx | 2 +- .../components/Datatable/TablePagination.tsx | 8 +- .../src/components/Datatable/TableRows.tsx | 14 +- .../src/components/Datatable/TableTBody.tsx | 10 +- .../webapp/src/components/Datatable/index.tsx | 8 +- .../src/components/Dialog/DialogProvider.tsx | 9 +- .../src/components/Dialog/DialogSuspense.tsx | 18 +- .../webapp/src/components/Dialog/index.tsx | 3 +- .../src/components/DialogsContainer.tsx | 4 +- .../src/components/DrawersContainer.tsx | 4 +- .../src/components/Dropzone/Dropzone.tsx | 17 +- .../webapp/src/components/Dropzone/index.ts | 2 +- .../src/components/ErrorBoundary/index.tsx | 9 +- .../src/components/ExchangeRate/index.tsx | 4 +- .../src/components/FeatureGuard/index.tsx | 2 +- .../src/components/FinancialReport/index.tsx | 2 +- .../FinancialSheet/FinancialSheet.tsx | 4 +- .../src/components/FinancialSheet/index.tsx | 2 +- .../components/FinancialStatement/index.tsx | 10 +- .../src/components/FlexGrid/FlexItem.tsx | 2 +- .../webapp/src/components/FlexGrid/index.ts | 2 +- .../src/components/FlexGrid/interfaces.ts | 2 +- .../webapp/src/components/Forms/Checkbox.tsx | 8 +- .../src/components/Forms/FormObserver.tsx | 2 +- .../src/components/Forms/InputPrepend.tsx | 8 +- .../MoneyInputGroup/CurrencyInputProps.ts | 2 +- .../Forms/MoneyInputGroup/index.tsx | 2 +- .../utils/__tests__/cleanValue.spec.ts | 48 +- .../utils/__tests__/formatValue.spec.ts | 36 +- .../__tests__/removeInvalidChars.spec.ts | 4 +- .../Forms/MoneyInputGroup/utils/cleanValue.ts | 21 +- .../utils/fixedDecimalValue.ts | 2 +- .../MoneyInputGroup/utils/formatValue.ts | 15 +- .../Forms/MoneyInputGroup/utils/isNumber.ts | 3 +- .../MoneyInputGroup/utils/padTrimValue.ts | 6 +- .../MoneyInputGroup/utils/parseAbbrValue.ts | 20 +- .../utils/removeInvalidChars.ts | 5 +- .../webapp/src/components/Forms/index.tsx | 2 +- packages/webapp/src/components/Grid/index.ts | 4 +- .../Guards/EnsureOrganizationIsNotReady.tsx | 38 +- .../src/components/Icons/BigcapitalAlt.tsx | 93 ++- .../components/Items/ItemsSuggestField.tsx | 5 +- .../webapp/src/components/Layout/Box/index.ts | 2 +- .../src/components/Layout/Group/index.ts | 2 +- .../src/components/Layout/Stack/index.ts | 2 +- .../webapp/src/components/Layout/index.ts | 2 +- .../webapp/src/components/Menu/MenuItem.tsx | 329 ++++----- .../webapp/src/components/Money/Money.tsx | 6 +- .../src/components/NProgress/AppProgress.tsx | 10 +- .../webapp/src/components/NProgress/Bar.tsx | 8 +- .../src/components/NProgress/Container.tsx | 8 +- .../src/components/NProgress/Progress.tsx | 23 +- .../src/components/NProgress/Spinner.tsx | 4 +- .../NumberFormatFooter.tsx | 2 +- .../NumberFormats.schema.tsx | 1 - .../components/NumberFormatDropdown/index.tsx | 2 +- .../webapp/src/components/PageForm/index.ts | 2 +- .../webapp/src/components/Paper/Paper.tsx | 5 +- .../webapp/src/components/Paper/index.tsx | 2 +- .../Preferences/PreferencesSubContent.tsx | 15 +- .../webapp/src/components/RichEditor/index.ts | 2 +- .../webapp/src/components/Section/Section.tsx | 4 +- .../webapp/src/components/Section/index.ts | 2 +- .../webapp/src/components/Select/index.ts | 2 +- .../webapp/src/components/Stepper/index.ts | 2 +- .../webapp/src/components/Stepper/types.ts | 4 +- packages/webapp/src/components/Tags/index.tsx | 3 +- .../src/components/TagsControl/index.ts | 2 +- .../src/components/TotalLines/index.tsx | 25 +- .../webapp/src/components/Typo/Paragraph.tsx | 2 +- packages/webapp/src/components/Typo/index.tsx | 2 +- .../src/components/UniversalSearch/utils.tsx | 4 +- packages/webapp/src/components/Utils/If.tsx | 8 +- .../webapp/src/components/Utils/index.tsx | 2 +- .../webapp/src/components/Vendors/index.tsx | 4 +- packages/webapp/src/components/modifiers.tsx | 4 +- .../src/constants/InclusiveTaxOptions.ts | 1 - packages/webapp/src/constants/app.tsx | 6 +- packages/webapp/src/constants/cellTypes.tsx | 5 +- .../src/constants/dateFormatsOptions.tsx | 2 +- packages/webapp/src/constants/features.tsx | 5 +- .../src/constants/financialReportsMenu.tsx | 10 +- .../src/constants/fiscalYearOptions.tsx | 2 +- .../webapp/src/constants/languagesOptions.tsx | 4 +- .../webapp/src/constants/preferencesMenu.tsx | 2 +- .../webapp/src/constants/registerWizard.tsx | 2 +- .../webapp/src/constants/resourcesTypes.tsx | 2 +- packages/webapp/src/constants/routes.ts | 2 +- packages/webapp/src/constants/tableStyle.tsx | 5 +- packages/webapp/src/constants/tables.tsx | 2 +- .../ManualJournalActionsBar.tsx | 16 +- .../JournalsLanding/ManualJournalsAlerts.tsx | 12 +- .../ManualJournalsDataTable.tsx | 1 - .../ManualJournalsEmptyStatus.tsx | 5 +- .../JournalsLanding/ManualJournalsList.tsx | 1 - .../ManualJournalsListProvider.tsx | 8 +- .../ManualJournalsViewTabs.tsx | 4 +- .../Accounting/JournalsLanding/components.tsx | 5 +- .../use-bulk-delete-manual-journals-dialog.ts | 6 +- .../MakeJournal/MakeJournalEntriesHeader.tsx | 7 +- .../MakeJournal/MakeJournalProvider.tsx | 8 +- .../MakeJournalTransactionNoField.tsx | 128 ++-- .../Accounting/MakeJournal/utils.tsx | 3 +- .../Accounts/AccountsActionsBar.tsx | 6 +- .../containers/Accounts/AccountsAlerts.tsx | 30 +- .../Accounts/AccountsChartProvider.tsx | 4 +- .../containers/Accounts/AccountsViewsTabs.tsx | 6 +- .../hooks/use-bulk-delete-accounts-dialog.ts | 6 +- .../webapp/src/containers/Accounts/utils.tsx | 6 +- .../src/containers/Accounts/withAccounts.tsx | 16 +- .../src/containers/Alert/withAlertActions.tsx | 7 +- .../Alert/withAlertStoreConnect.tsx | 9 +- .../Alerts/Accounts/AccountActivateAlert.tsx | 24 +- .../src/containers/Alerts/Accounts/index.tsx | 2 +- .../Customers/CustomerBulkDeleteAlert.tsx | 3 - .../Expenses/ExpenseDeleteEntriesAlert.tsx | 7 +- .../src/containers/Alerts/Expenses/_utils.ts | 4 +- .../Items/ItemCategoryBulkDeleteAlert.tsx | 7 +- .../ItemsEntries/ItemsEntriesDeleteAlert.tsx | 7 +- .../JournalDeleteEntriesAlert.tsx | 5 +- .../ManualJournals/JournalPublishAlert.tsx | 11 +- .../PaymentMades/ClearTransactionAlert.tsx | 8 +- .../PaymentMades/ClearningAllLinesAlert.tsx | 1 - .../PaymentReceived/ClearingAllLinesAlert.tsx | 2 +- .../src/containers/AlertsContainer/index.tsx | 2 +- .../UploadAttachmentsPopoverContent.tsx | 2 +- .../Authentication/Authentication.tsx | 6 +- .../Authentication/AuthenticationPage.tsx | 4 +- .../Authentication/InviteAcceptProvider.tsx | 4 +- .../containers/Authentication/Register.tsx | 2 +- .../Authentication/ResetPassword.tsx | 10 +- .../containers/Authentication/_components.tsx | 2 +- .../Authentication/withAuthentication.tsx | 8 +- .../withAuthenticationActions.tsx | 7 +- .../Rules/RuleFormDialog/RuleFormDialog.tsx | 4 +- .../Rules/RulesList/BankRulesAlerts.ts | 6 +- .../Rules/RulesList/RulesLandingPage.ts | 2 +- .../Banking/Rules/RulesList/RulesListBoot.tsx | 6 +- .../Banking/Rules/RulesList/hooks.tsx | 4 +- .../BrandingTemplateBoot.tsx | 5 +- .../BrandingTemplateForm.tsx | 2 +- .../BrandingTemplatesContent.tsx | 28 +- .../BrandingTemplatesDrawer.tsx | 12 +- .../BrandingTemplatesSelectFields.tsx | 2 +- .../alerts/BrandingTemplatesAlerts.ts | 12 +- .../MarkDefaultBrandingTemplateAlert.tsx | 3 +- .../src/containers/BrandingTemplates/types.ts | 6 +- .../AccountTransactionsAlerts.tsx | 6 +- .../AccountTransactionsList.tsx | 12 +- .../AccountTransactionsUncategorizeFilter.tsx | 2 +- .../AllTransactionsUncategorized.tsx | 4 +- .../ExcludedTransactions/_utils.tsx | 4 +- .../PendingTransactions/_hooks.tsx | 4 +- .../RecognizedTransactions/_utils.tsx | 6 +- .../AccountTransactionsCard.tsx | 1 - .../AccountUncategorizedDateFilter.tsx | 52 +- .../UncategorizedTransactions/TagButton.tsx | 8 +- .../UncategorizedTransactions/hooks.tsx | 4 +- .../alerts/ResumeFeedsBankAccount.tsx | 2 +- .../AccountTransactions/alerts/index.ts | 18 +- .../AccountTransactions/components.tsx | 4 +- .../DisconnectBankAccountDialog.tsx | 6 +- .../DisconnectBankAccountDialogContent.tsx | 4 +- .../withCashflowAccounts.tsx | 4 +- .../withCashflowAccountsTableActions.tsx | 9 +- .../CashFlowAccounts/CashflowAccountsGrid.tsx | 2 +- .../src/containers/CashFlow/CashflowAlerts.ts | 6 +- .../CategorizeTransactionDrawer.tsx | 4 +- .../CategorizeTransactionFormContent.tsx | 36 +- .../CategorizeTransactionDrawer/index.ts | 2 +- .../CategorizeTransactionAside.tsx | 2 +- .../_types.ts | 2 +- .../_utils.ts | 1 - .../MatchingTransaction.tsx | 2 +- .../containers/CashFlow/Icons/PlaidIcon.tsx | 1 - .../MoneyInDialog/MoneyInFloatingActions.tsx | 4 +- .../OtherIncome/OtherIncomeFormFields.tsx | 1 - .../OwnerContributionFormFields.tsx | 1 - .../MoneyInDialog/TransactionTypeFields.tsx | 4 +- .../CashFlow/MoneyInDialog/index.tsx | 6 +- .../MoneyOutFloatingActions.tsx | 4 +- .../OtherExpense/OtherExpnseFormFields.tsx | 1 - .../OwnerDrawings/OwnerDrawingsFormFields.tsx | 1 - .../MoneyOutDialog/TransactionTypeFields.tsx | 1 - .../TransferToAccountFormFields.tsx | 9 +- .../CashFlow/MoneyOutDialog/index.tsx | 6 +- .../UncategorizeTransactionAlert/index.ts | 2 +- .../src/containers/CashFlow/_components.tsx | 165 +++-- .../src/containers/CashFlow/withBanking.ts | 4 +- .../containers/CashFlow/withBankingActions.ts | 5 +- .../containers/Currencies/withCurrencies.tsx | 8 +- .../Currencies/withCurrenciesActions.tsx | 7 +- .../CustomerForm/CustomerFloatingActions.tsx | 2 +- .../CustomerForm/CustomerForm.schema.tsx | 5 +- .../CustomerFormAfterPrimarySection.tsx | 14 +- .../CustomerForm/CustomerFormBasicSection.tsx | 26 +- .../CustomerForm/CustomerFormContent.tsx | 57 +- .../CustomerForm/CustomerFormFields.tsx | 2 +- .../CustomerFormFinancialSection.tsx | 85 ++- .../CustomerForm/CustomerFormFormik.tsx | 48 +- .../CustomerForm/CustomerFormNotesSection.tsx | 7 +- .../CustomerForm/CustomerFormPage.tsx | 28 +- .../CustomerForm/CustomerFormProvider.tsx | 16 +- .../CustomerForm/CustomerFormSectionTitle.tsx | 6 +- .../Customers/CustomerForm/utils.tsx | 2 +- .../containers/Customers/CustomersAlerts.tsx | 18 +- .../containers/Customers/CustomersImport.tsx | 2 +- .../CustomersListProvider.tsx | 4 +- .../CustomersLanding/CustomersViewsTabs.tsx | 1 - .../Customers/CustomersLanding/components.tsx | 4 +- .../hooks/use-bulk-delete-customers-dialog.ts | 1 - .../CustomersLanding/withCustomers.tsx | 4 +- .../CustomersLanding/withCustomersActions.tsx | 7 +- .../webapp/src/containers/Customers/utils.tsx | 4 +- .../Dashboard/Sidebar/SidebarHead.tsx | 17 +- .../Dashboard/Sidebar/SidebarMenu.tsx | 6 +- .../Sidebar/withDashboardSidebar.tsx | 9 +- .../Sidebar/withDashboardSidebarActions.tsx | 7 +- .../SidebarOverlay/SidebarOverlay.tsx | 6 +- .../Dashboard/SidebarOverlay/index.ts | 2 +- .../containers/Dashboard/withDashboard.tsx | 4 +- .../Dashboard/withDashboardActions.tsx | 7 +- .../containers/Dialog/withDialogActions.tsx | 20 +- .../AccountDialog/AccountDialogForm.tsx | 4 +- .../AccountDialog/AccountForm.schema.tsx | 4 +- .../Dialogs/AccountDialog/index.tsx | 6 +- .../Accounts/AccountBulkDeleteDialog.tsx | 4 +- .../AllocateLandedCostEntriesTable.tsx | 5 +- .../AllocateLandedCostFloatingActions.tsx | 4 +- .../AllocateLandedCostForm.tsx | 4 +- .../AllocateLandedCostFormFields.tsx | 24 +- .../AllocateLandedCostDialog/index.tsx | 6 +- .../ApiKeyDisplayView.tsx | 20 +- .../ApiKeysGenerateDialog.tsx | 18 +- .../ApiKeysGenerateDialogContent.tsx | 4 +- .../ApiKeysGenerateForm.schema.tsx | 1 - .../ApiKeysGenerateFormContent.tsx | 25 +- .../BadDebtFormFloatingActions.tsx | 5 +- .../Dialogs/BadDebtDialog/index.tsx | 6 +- .../Dialogs/BillNumberDialog/index.tsx | 6 +- .../Dialogs/Bills/BillBulkDeleteDialog.tsx | 1 - .../BranchActivateForm.tsx | 4 +- .../BranchActivateFormFloatingActions.tsx | 5 +- .../Dialogs/BranchActivateDialog/index.tsx | 6 +- .../BranchFormDialog/BranchFormFields.tsx | 7 +- .../BranchFormFloatingActions.tsx | 4 +- .../Dialogs/BranchFormDialog/index.tsx | 6 +- .../ContactDuplicateForm.tsx | 8 +- .../Dialogs/ContactDuplicateDialog/index.tsx | 6 +- .../Dialogs/CreditNoteNumberDialog/index.tsx | 6 +- .../CreditNotePdfPreviewDialogContent.tsx | 4 +- .../CreditNotePdfPreviewDialog/index.tsx | 6 +- .../CreditNoteBulkDeleteDialog.tsx | 1 - .../CurrencyForm.schema.tsx | 4 +- .../CurrencyFormDialogContent.tsx | 4 +- .../CurrencyFormDialog/CurrencyFormFields.tsx | 12 +- .../CurrencyFormDialog/CurrencyFormFooter.tsx | 4 +- .../Dialogs/CurrencyFormDialog/index.tsx | 6 +- .../CustomerOpeningBalanceFields.tsx | 5 +- .../CustomerOpeningBalanceForm.tsx | 8 +- ...tomerOpeningBalanceFormFloatingActions.tsx | 6 +- .../CustomerOpeningBalanceDialog/index.tsx | 6 +- .../Customers/CustomerBulkDeleteDialog.tsx | 1 - .../Dialogs/EstimateNumberDialog/index.tsx | 6 +- .../EstimatePdfPreviewDialogContent.tsx | 4 +- .../EstimatePdfPreviewDialog/index.tsx | 6 +- .../Estimates/EstimateBulkDeleteDialog.tsx | 1 - .../Expenses/ExpenseBulkDeleteDialog.tsx | 1 - .../ExportDialog/ExportDialogFormContent.tsx | 5 +- .../containers/Dialogs/ExportDialog/index.tsx | 6 +- .../containers/Dialogs/ExportDialog/type.ts | 4 +- .../DecrementAdjustmentFields.tsx | 1 - .../IncrementAdjustmentFields.tsx | 1 - .../InventoryAdjustmentFloatingActions.tsx | 4 +- .../InventoryAdjustmentForm.tsx | 4 +- .../InventoryAdjustmentFormDialogContent.tsx | 2 +- .../InventoryAdjustmentFormDialogFields.tsx | 11 +- .../InventoryAdjustmentFormDialog/index.tsx | 6 +- .../InviteUserDialogContent.tsx | 6 +- .../InviteUserDialog/InviteUserForm.tsx | 4 +- .../InviteUserFormContent.tsx | 4 +- .../Dialogs/InviteUserDialog/index.tsx | 6 +- .../Dialogs/InvoiceNumberDialog/index.tsx | 6 +- .../InvoicePdfPreviewDialogContent.tsx | 4 +- .../Dialogs/InvoicePdfPreviewDialog/index.tsx | 6 +- .../ItemCategoryDialog/ItemCategoryForm.tsx | 4 +- .../ItemCategoryFormFields.tsx | 1 - .../ItemCategoryFormFooter.tsx | 4 +- .../ItemCategoryProvider.tsx | 13 +- .../Dialogs/ItemCategoryDialog/index.tsx | 6 +- .../Dialogs/Items/ItemBulkDeleteDialog.tsx | 1 - .../Dialogs/JournalNumberDialog/index.tsx | 14 +- .../LockingTransactionsDialogContent.tsx | 1 - .../LockingTransactionsForm.tsx | 4 +- .../LockingTransactionsFormFields.tsx | 1 - ...LockingTransactionsFormFloatingActions.tsx | 6 +- .../LockingTransactionsDialog/index.tsx | 6 +- .../ManualJournalBulkDeleteDialog.tsx | 1 - .../NotifyEstimateViaSMSForm.tsx | 4 +- .../NotifyEstimateViaSMSDialog/index.tsx | 6 +- .../NotifyInvoiceViaSMSForm.tsx | 4 +- .../NotifyInvoiceViaSMSFormProvider.tsx | 5 +- .../NotifyInvoiceViaSMSDialog/index.tsx | 6 +- .../NotifyPaymentReceiveViaSMSForm.tsx | 4 +- .../index.tsx | 10 +- .../NotifyReceiptViaSMSForm.tsx | 6 +- .../NotifyReceiptViaSMSFormProvider.tsx | 7 +- .../NotifyReceiptViaSMSDialog/index.tsx | 6 +- .../PaymentReceiveNumberDialog/index.tsx | 6 +- .../PaymentReceivePdfPreviewContent.tsx | 3 +- .../PaymentReceivePdfPreviewDialog/index.tsx | 6 +- .../PaymentReceivedBulkDeleteDialog.tsx | 1 - .../QuickPaymentMade.schema.tsx | 8 +- .../QuickPaymentMadeFloatingActions.tsx | 4 +- .../QuickPaymentMadeForm.tsx | 10 +- .../QuickPaymentMadeFormFields.tsx | 7 +- .../QuickPaymentMadeFormDialog/index.tsx | 6 +- .../QuickPaymentMadeFormDialog/utils.tsx | 2 +- .../QuickPaymentReceiveFloatingActions.tsx | 4 +- .../QuickPaymentReceiveFormFields.tsx | 1 - .../QuickPaymentReceiveFormDialog/index.tsx | 6 +- .../Dialogs/ReceiptNumberDialog/index.tsx | 6 +- .../ReceiptPdfPreviewDialogContent.tsx | 4 +- .../Dialogs/ReceiptPdfPreviewDialog/index.tsx | 6 +- .../Receipts/ReceiptBulkDeleteDialog.tsx | 1 - .../ReconcileCreditNoteForm.tsx | 4 +- ...ReconcileCreditNoteFormFloatingActions.tsx | 6 +- .../ReconcileCreditNoteDialog/index.tsx | 6 +- .../ReconcileVendorCreditFloatingActions.tsx | 4 +- .../ReconcileVendorCreditForm.tsx | 4 +- .../ReconcileVendorCreditFormProvider.tsx | 1 - .../ReconcileVendorCreditDialog/index.tsx | 6 +- .../ReconcileVendorCreditDialog/utils.tsx | 2 +- .../RefundCreditNoteFloatingActions.tsx | 4 +- .../RefundCreditNoteForm.tsx | 4 +- .../RefundCreditNoteFormFields.tsx | 13 +- .../Dialogs/RefundCreditNoteDialog/index.tsx | 6 +- .../RefundVendorCreditFloatingActions.tsx | 4 +- .../RefundVendorCreditForm.tsx | 4 +- .../RefundVendorCreditFormFields.tsx | 12 +- .../RefundVendorCreditDialog/index.tsx | 6 +- .../SMSMessageFormFloatingActions.tsx | 4 +- .../Dialogs/SMSMessageDialog/index.tsx | 6 +- .../Dialogs/TransactionNumberDialog/index.tsx | 6 +- .../UnlockingPartialTransactionsForm.tsx | 4 +- ...UnlockingPartialTransactionsFormFields.tsx | 1 - ...PartialTransactionsFormFloatingActions.tsx | 6 +- .../index.tsx | 10 +- .../UnlockingTransactionsDialogContent.tsx | 5 +- .../UnlockingTransactionsForm.tsx | 4 +- ...lockingTransactionsFormFloatingActions.tsx | 6 +- .../UnlockingTransactionsDialog/index.tsx | 6 +- .../UserFormDialog/UserFormContent.tsx | 13 +- .../UserFormDialog/UserFormProvider.tsx | 6 +- .../Dialogs/UserFormDialog/index.tsx | 6 +- .../VendorCreditNumberDialog/index.tsx | 6 +- .../VendorCreditBulkDeleteDialog.tsx | 5 +- .../VendorOpeningBalanceForm.tsx | 9 +- .../VendorOpeningBalanceFormFields.tsx | 7 +- ...endorOpeningBalanceFormFloatingActions.tsx | 6 +- .../VendorOpeningBalanceDialog/index.tsx | 6 +- .../Vendors/VendorBulkDeleteDialog.tsx | 1 - .../WarehouseActivateForm.tsx | 4 +- .../WarehouseActivateFormFloatingActions.tsx | 4 +- .../Dialogs/WarehouseActivateDialog/index.tsx | 6 +- .../WarehouseFormFields.tsx | 11 +- .../WarehouseFormFloatingActions.tsx | 4 +- .../Dialogs/WarehouseFormDialog/index.tsx | 6 +- .../WarehouseTransferNumberDialog/index.tsx | 6 +- .../KeyboardShortcutsFooter.tsx | 4 +- .../Dialogs/keyboardShortcutsDialog/index.tsx | 6 +- .../containers/Drawer/withDrawerActions.tsx | 10 +- .../src/containers/Drawer/withDrawers.tsx | 8 +- .../AccountDrawer/AccountDrawerHeader.tsx | 7 +- .../AccountDrawer/AccountDrawerTable.tsx | 4 +- .../Drawers/AccountDrawer/index.tsx | 6 +- .../BillDrawer/BillDetailTableFooter.tsx | 5 +- .../Drawers/BillDrawer/BillDrawerProvider.tsx | 2 +- .../Drawers/BillDrawer/BillGLEntriesTable.tsx | 4 +- .../Drawers/BillDrawer/components.tsx | 2 +- .../containers/Drawers/BillDrawer/index.tsx | 4 +- .../CashflowTransactionDrawerActionBar.tsx | 4 +- .../CashflowTransactionDrawerHeader.tsx | 1 - .../CashflowTransactionDetailDrawer/index.tsx | 6 +- .../Drawers/ContactDetailDrawer/index.tsx | 6 +- .../CreditNoteDetailDrawerProvider.tsx | 2 +- .../JournalEntriesTransactionsTable.tsx | 4 +- .../ReconcileCreditNoteTransactionsTable.tsx | 4 +- .../RefundCreditNoteTransactionsTable.tsx | 4 +- .../Drawers/CreditNoteDetailDrawer/index.tsx | 6 +- .../CustomerDetailsHeader.tsx | 2 +- .../Drawers/CustomerDetailsDrawer/index.tsx | 6 +- .../EstimateDetailActionsBar.tsx | 2 +- .../EstimateDetailPanel.tsx | 1 - .../EstimateDetailDrawer/components.tsx | 156 +++-- .../Drawers/EstimateDetailDrawer/index.tsx | 7 +- .../ExpenseDrawer/ExpenseDrawerHeader.tsx | 3 +- .../Drawers/ExpenseDrawer/index.tsx | 6 +- .../InventoryAdjustmentDetailActionsBar.tsx | 4 +- ...nventoryAdjustmentDetailGLEntriesPanel.tsx | 4 +- .../InventoryAdjustmentDetailDrawer/index.tsx | 6 +- .../InvoiceDetailDrawer/InvoiceDetail.tsx | 5 +- .../InvoiceGLEntriesTable.tsx | 8 +- .../InvoicePaymentTransactions/components.tsx | 5 +- .../Drawers/InvoiceDetailDrawer/index.tsx | 6 +- .../ItemDetailActionsMoreBtn.tsx | 74 +-- .../Drawers/ItemDetailDrawer/index.tsx | 6 +- .../ManualJournalDrawerHeader.tsx | 1 - .../Drawers/ManualJournalDrawer/index.tsx | 6 +- .../PaymentMadeGLEntriesPanel.tsx | 4 +- .../Drawers/PaymentMadeDetailDrawer/index.tsx | 6 +- .../PaymentReceiveGLEntriesPanel.tsx | 4 +- .../PaymentReceiveDetailDrawer/index.tsx | 6 +- .../QuickCreateCustomerDrawerContent.tsx | 5 +- .../QuickCustomerFormDrawer.tsx | 14 +- .../QuickCreateCustomerDrawer/index.tsx | 6 +- .../Drawers/QuickCreateItemDrawer/index.tsx | 6 +- .../QuickVendorFormDrawer.tsx | 15 +- .../QuickWriteVendorDrawerContent.tsx | 5 +- .../Drawers/QuickWriteVendorDrawer/index.tsx | 11 +- .../ReceiptDetailActionBar.tsx | 2 +- .../ReceiptDetailsGLEntriesPanel.tsx | 4 +- .../Drawers/ReceiptDetailDrawer/index.tsx | 6 +- .../RefundCreditNoteDetailActionsBar.tsx | 4 +- .../RefundCreditNoteDetailDrawer/index.tsx | 6 +- .../RefundVendorCreditDetail.tsx | 2 +- .../RefundVendorCreditDetailActionsBar.tsx | 4 +- .../RefundVendorCreditDetailHeader.tsx | 12 +- .../RefundVendorCreditDrawerContent.tsx | 4 +- .../RefundVendorCreditDetailDrawer/index.tsx | 6 +- .../JournalEntriesTransactionsTable.tsx | 4 +- .../RefundVendorCreditTransactionsTable.tsx | 4 +- .../VendorCreditDetailDrawer/index.tsx | 6 +- .../VendorDetailsHeader.tsx | 1 - .../Drawers/VendorDetailsDrawer/index.tsx | 6 +- .../WarehouseTransferDetailDrawer/index.tsx | 6 +- .../ElementCustomizeHeader.tsx | 4 +- .../ElementCustomizeProvider.tsx | 7 +- .../ElementCustomize/ElementCustomizeTabs.tsx | 4 +- .../ElementCustomizeTabsController.tsx | 2 +- .../components/CompanyLogoUpload.tsx | 5 +- .../Entries/AutoExchangeProvider.tsx | 5 +- .../webapp/src/containers/Entries/utils.tsx | 6 +- .../withExRateItemEntriesPriceRecalc.tsx | 13 +- .../Expenses/ExpenseForm/ExpenseForm.tsx | 12 +- .../ExpenseForm/ExpenseFormPageProvider.tsx | 13 +- .../Expenses/ExpenseForm/constants.ts | 2 +- .../containers/Expenses/ExpensesAlerts.tsx | 12 +- .../ExpensesLanding/ExpenseActionsBar.tsx | 6 +- .../ExpensesLanding/ExpensesListProvider.tsx | 4 +- .../hooks/use-bulk-delete-expenses-dialog.ts | 6 +- .../Expenses/ExpensesLanding/withExpenses.tsx | 29 +- .../APAgingSummary/APAgingSummary.tsx | 9 +- .../APAgingSummaryActionsBar.tsx | 15 +- .../APAgingSummary/APAgingSummaryBody.tsx | 9 +- .../APAgingSummaryGeneralProvider.tsx | 32 +- .../APAgingSummary/APAgingSummaryHeader.tsx | 15 +- ...APAgingSummaryHeaderDimensionsProvider.tsx | 29 +- .../APAgingSummaryHeaderGeneralContent.tsx | 1 - .../APAgingSummary/APAgingSummaryProvider.tsx | 14 +- .../APAgingSummary/APAgingSummaryTable.tsx | 5 +- .../APAgingSummaryPdfDialog.tsx | 11 +- .../dialogs/APAgingSummaryPdfDialog/index.ts | 2 +- .../ARAgingSummary/ARAgingSummary.tsx | 9 +- .../ARAgingSummaryActionsBar.tsx | 10 +- .../ARAgingSummary/ARAgingSummaryBody.tsx | 9 +- .../ARAgingSummaryGeneralProvider.tsx | 36 +- .../ARAgingSummary/ARAgingSummaryHeader.tsx | 15 +- ...ARAgingSummaryHeaderDimensionsProvider.tsx | 29 +- .../ARAgingSummaryHeaderGeneralContent.tsx | 1 - .../ARAgingSummary/ARAgingSummaryProvider.tsx | 14 +- .../ARAgingSummary/ARAgingSummaryTable.tsx | 5 +- .../ARAgingSummaryPdfDialog.tsx | 11 +- .../dialogs/ARAgingSummaryPdfDialog/index.ts | 2 +- .../AgingSummary/dynamicColumns.ts | 103 +-- .../AuditLog/AuditLogActionsBar.tsx | 1 - .../AuditLog/AuditLogHeader.tsx | 46 +- .../AuditLog/AuditLogProvider.tsx | 7 +- .../AuditLog/AuditLogReport.tsx | 3 +- .../AuditLog/AuditLogTable.tsx | 1 - .../BalanceSheet/BalanceSheetActionsBar.tsx | 16 +- .../BalanceSheet/BalanceSheetHeader.tsx | 5 +- .../BalanceSheetHeaderComparisonPanal.tsx | 14 +- .../BalanceSheet/BalanceSheetTable.tsx | 5 +- .../BalanceSheet/components.tsx | 6 +- .../BalanceSheetPdfDialog.tsx | 11 +- .../BalanceSheetPdfDialogContent.tsx | 1 - .../dialogs/BalanceSheetPdfDialog/index.ts | 2 +- .../BalanceSheet/dynamicColumns.tsx | 11 +- .../BalanceSheet/withBalanceSheet.tsx | 4 +- .../CashFlowStatement/CashFlowStatement.tsx | 4 +- .../CashFlowStatementActionsBar.tsx | 21 +- .../CashFlowStatementBody.tsx | 4 +- .../CashFlowStatementHeader.tsx | 15 +- .../CashFlowStatementProvider.tsx | 4 +- .../CashFlowStatementTable.tsx | 4 +- .../CashflowSheetPdfDialog.tsx | 11 +- .../CashflowSheetPdfDialog/index.ts | 2 +- .../CashFlowStatement/components.tsx | 9 +- .../CashFlowStatement/dynamicColumns.tsx | 21 +- .../CustomerBalanceSummaryPdfDialog.tsx | 11 +- .../CustomerBalancePdfDialog/index.ts | 2 +- .../CustomersBalanceSummary.tsx | 6 +- .../CustomersBalanceSummaryActionsBar.tsx | 9 +- ...omersBalanceSummaryGeneralPanelContent.tsx | 1 - ...CustomersBalanceSummaryGeneralProvider.tsx | 6 +- .../CustomersBalanceSummaryHeader.tsx | 19 +- .../CustomersBalanceSummary/components.tsx | 4 +- .../CustomersBalanceSummary/utils.tsx | 4 +- .../CustomersTransactions.tsx | 12 +- .../CustomersTransactionsActionsBar.tsx | 20 +- .../CustomersTransactionsBody.tsx | 5 +- .../CustomersTransactionsHeader.tsx | 20 +- ...ustomersTransactionsHeaderGeneralPanel.tsx | 8 +- ...TransactionsHeaderGeneralPanelProvider.tsx | 22 +- .../CustomersTransactionsProvider.tsx | 31 +- .../CustomersTransactionsTable.tsx | 5 +- .../CustomerTransactionsPdfDialog.tsx | 12 +- .../CustomerTransactionsPdfDialog/index.ts | 2 +- .../FilterFinancialReports.tsx | 5 +- .../FinancialLoadingBar.tsx | 4 +- .../FinancialStatements/FinancialReports.tsx | 11 +- .../FinancialStatementsFilter.tsx | 5 +- .../GLHeaderGeneralPaneProvider.tsx | 4 +- .../GeneralLedger/GeneralLedger.tsx | 4 +- ...ralLedgerHeaderDimensionsPanelProvider.tsx | 30 +- .../GeneralLedgerHeaderGeneralPane.tsx | 8 +- .../GeneralLedger/GeneralLedgerProvider.tsx | 6 +- .../GeneralLedger/GeneralLedgerTable.tsx | 4 +- .../GeneralLedgerPdfDialog.tsx | 6 +- .../dialogs/GeneralLedgerPdfDialog/index.ts | 2 +- .../GeneralLedger/dynamicColumns.ts | 32 +- .../InventoryItemDetails.tsx | 9 +- .../InventoryItemDetailsActionsBar.tsx | 21 +- .../InventoryItemDetailsBody.tsx | 9 +- .../InventoryItemDetailsHeader.tsx | 20 +- ...emDetailsHeaderDimensionsPanelProvider.tsx | 23 +- ...InventoryItemDetailsHeaderGeneralPanel.tsx | 8 +- ...entoryItemDetailsHeaderGeneralProvider.tsx | 23 +- .../InventoryItemDetailsProvider.tsx | 15 +- .../InventoryItemDetailsTable.tsx | 6 +- .../InventoryItemDetailsPdfDialog.tsx | 11 +- .../InventoryItemDetailsPdfDialogContent.tsx | 4 +- .../InventoryItemDetailsPdfDialog/index.ts | 2 +- .../InventoryItemDetails/utils.tsx | 83 +-- .../InventoryItemDetails/utils2.tsx | 9 +- .../InventoryValuation/InventoryValuation.tsx | 10 +- .../InventoryValuationActionsBar.tsx | 21 +- .../InventoryValuationBody.tsx | 9 +- .../InventoryValuationHeader.tsx | 20 +- ...ValuationHeaderDimensionsPanelProvider.tsx | 23 +- .../InventoryValuationHeaderGeneralPanel.tsx | 1 - ...oryValuationHeaderGeneralPanelProvider.tsx | 23 +- .../InventoryValuationProvider.tsx | 15 +- .../InventoryValuation/components.tsx | 3 +- .../InventoryValuationSheetPdfDialog.tsx | 11 +- ...nventoryValuationSheetPdfDialogContent.tsx | 4 +- .../InventoryValuationPdfDialog/index.ts | 2 +- .../InventoryValuation/dynamicColumns.ts | 97 +-- .../InventoryValuation/utils.tsx | 4 +- .../withInventoryValuation.tsx | 8 +- .../withInventoryValuationActions.tsx | 4 +- .../FinancialStatements/Journal/Journal.tsx | 5 +- .../Journal/JournalProvider.tsx | 5 +- .../JournalPdfDialog/JournalPdfDialog.tsx | 3 +- .../Journal/dialogs/JournalPdfDialog/index.ts | 2 +- .../Journal/withJournal.tsx | 8 +- .../Journal/withJournalActions.tsx | 4 +- .../ProfitLossSheet/ProfitLossActionsBar.tsx | 15 +- .../ProfitLossSheet/ProfitLossSheetHeader.tsx | 10 +- .../ProfitLossSheetHeaderComparisonPanel.tsx | 9 +- .../ProfitLossSheetPdfDialog.tsx | 11 +- .../ProfitLossSheetPdfDialog/index.ts | 2 +- .../ProfitLossSheet/ProfitLossSheetTable.tsx | 4 +- .../ProfitLossSheet/dynamicColumns.tsx | 35 +- .../ProfitLossSheet/hooks.tsx | 9 +- .../ProfitLossSheet/withProfitLoss.tsx | 12 +- .../ProfitLossSheet/withProfitLossActions.tsx | 4 +- .../ProjectProfitabilitySummary.tsx | 14 +- .../ProjectProfitabilitySummaryActionsBar.tsx | 15 +- .../ProjectProfitabilitySummaryBody.tsx | 5 +- .../ProjectProfitabilitySummaryHeader.tsx | 20 +- .../ProjectProfitabilitySummaryProvider.tsx | 36 +- .../ProjectProfitabilitySummaryTable.tsx | 6 +- .../components.tsx | 3 +- .../dynamicColumns.tsx | 80 +-- .../ProjectProfitabilitySummary/hooks.ts | 10 +- .../withProjectProfitabilitySummary.tsx | 8 +- ...withProjectProfitabilitySummaryActions.tsx | 9 +- .../PurchasesByItems/PurchasesByItems.tsx | 9 +- .../PurchasesByItemsActionsBar.tsx | 15 +- .../PurchasesByItems/PurchasesByItemsBody.tsx | 5 +- .../PurchasesByItemsGeneralPanel.tsx | 8 +- .../PurchasesByItemsGeneralPanelProvider.tsx | 24 +- .../PurchasesByItemsHeader.tsx | 15 +- .../PurchasesByItemsProvider.tsx | 13 +- .../PurchasesByItemsTable.tsx | 4 +- .../PurchasesByItemsPdfDialog.tsx | 12 +- .../dialogs/PurchasesByItemsDialog/index.ts | 2 +- .../PurchasesByItems/dynamicColumns.ts | 96 +-- .../PurchasesByItems/withPurchasesByItems.tsx | 8 +- .../withPurchasesByItemsActions.tsx | 4 +- .../RadiosAccountingBasis.tsx | 5 +- .../RealizedGainOrLoss/RealizedGainOrLoss.tsx | 5 +- .../RealizedGainOrLossActionsBar.tsx | 10 +- .../RealizedGainOrLossHeader.tsx | 19 +- .../RealizedGainOrLossProvider.tsx | 14 +- .../withRealizedGainOrLoss.tsx | 8 +- .../withRealizedGainOrLossActions.tsx | 4 +- .../SalesByItems/SalesByItemProvider.tsx | 9 +- .../SalesByItems/SalesByItems.tsx | 5 +- .../SalesByItems/SalesByItemsActionsBar.tsx | 10 +- .../SalesByItems/SalesByItemsBody.tsx | 9 +- .../SalesByItems/SalesByItemsHeader.tsx | 10 +- .../SalesByItemsHeaderGeneralPanel.tsx | 7 +- ...SalesByItemsHeaderGeneralPanelProvider.tsx | 23 +- .../SalesByItems/components.tsx | 9 +- .../SalesByItemsPdfDialog.tsx | 10 +- .../SalesByItemsPdfDialogContent.tsx | 4 +- .../dialogs/SalesByItemsPdfDialog/index.ts | 2 +- .../SalesByItems/dynamicColumns.ts | 96 +-- .../SalesByItems/withSalesByItems.tsx | 4 +- .../SalesByItems/withSalesByItemsActions.tsx | 4 +- .../SalesTaxLiabilityPdfDialog.tsx | 12 +- .../SalesTaxLiabilityPdfDialog/index.ts | 2 +- .../SalesTaxLiabilitySummary.tsx | 14 +- .../SalesTaxLiabilitySummaryActionsBar.tsx | 26 +- .../SalesTaxLiabilitySummaryBoot.tsx | 32 +- .../SalesTaxLiabilitySummaryHeader.tsx | 26 +- .../SalesTaxLiabilitySummaryTable.tsx | 5 +- .../dynamicColumns.ts | 55 +- .../SalesTaxLiabilitySummary/utils.ts | 4 +- .../withSalesTaxLiabilitySummary.ts | 8 +- .../withSalesTaxLiabilitySummaryActions.ts | 9 +- .../SelectDisplayColumnsBy.tsx | 8 +- .../TrialBalanceActionsBar.tsx | 10 +- .../TrialBalanceProvider.tsx | 19 +- .../TrialBalanceSheet/TrialBalanceSheet.tsx | 14 +- .../TrialBalanceSheetBody.tsx | 5 +- .../TrialBalanceSheetHeader.tsx | 10 +- ...anceSheetHeaderDimensionsPanelProvider.tsx | 23 +- .../TrialBalanceSheetTable.tsx | 9 +- .../TrialBalanceSheetPdfDialog.tsx | 10 +- .../TrialBalanceSheetPdfDialogContent.tsx | 4 +- .../TrialBalanceSheetPdfDialog/index.ts | 2 +- .../TrialBalanceSheet/dynamicColumns.ts | 5 +- .../TrialBalanceSheet/utils.tsx | 4 +- .../TrialBalanceSheet/withTrialBalance.tsx | 4 +- .../withTrialBalanceActions.tsx | 4 +- .../UnrealizedGainOrLoss.tsx | 5 +- .../UnrealizedGainOrLossActionsBar.tsx | 10 +- .../UnrealizedGainOrLossHeader.tsx | 19 +- .../UnrealizedGainOrLossProvider.tsx | 14 +- .../withUnrealizedGainOrLoss.tsx | 8 +- .../withUnrealizedGainOrLossActions.tsx | 9 +- .../VendorBalanceDialogs.tsx | 4 +- .../VendorsBalanceSummary.tsx | 9 +- .../VendorsBalanceSummaryActionsBar.tsx | 15 +- .../VendorsBalanceSummaryBody.tsx | 5 +- .../VendorsBalanceSummaryHeader.tsx | 15 +- ...dorsBalanceSummaryHeaderGeneralContent.tsx | 11 +- ...orsBalanceSummaryHeaderGeneralProvider.tsx | 27 +- .../VendorsBalanceSummaryProvider.tsx | 35 +- .../VendorsBalanceSummaryTable.tsx | 4 +- .../VendorsBalanceSummary/components.tsx | 4 +- .../VendorBalancePdfDialog.tsx | 12 +- .../dialogs/VendorBalancePdfDialog/index.ts | 2 +- .../VendorsBalanceSummary/utils.tsx | 4 +- .../withVendorsBalanceSummary.tsx | 12 +- .../withVendorsBalanceSummaryActions.tsx | 9 +- .../VendorsTransactions.tsx | 9 +- .../VendorsTransactionsActionsBar.tsx | 20 +- .../VendorsTransactionsBody.tsx | 5 +- .../VendorsTransactionsHeader.tsx | 21 +- .../VendorsTransactionsHeaderGeneralPanel.tsx | 8 +- ...TransactionsHeaderGeneralPanelProvider.tsx | 27 +- .../VendorsTransactionsProvider.tsx | 17 +- .../VendorTransactionsPdfDialog.tsx | 12 +- .../VendorTransactionsPdfDialog/index.ts | 2 +- .../withVendorsTransaction.tsx | 13 +- .../withVendorsTransactionsActions.tsx | 4 +- .../FinancialStatements/constants.tsx | 3 +- .../containers/GlobalErrors/GlobalErrors.tsx | 9 +- .../GlobalErrors/withGlobalErrorsActions.tsx | 4 +- .../webapp/src/containers/Import/_utils.ts | 8 +- .../webapp/src/containers/Import/index.ts | 2 +- .../InventoryAdjustmentsAlerts.tsx | 12 +- .../withInventoryAdjustmentActions.tsx | 7 +- .../withInventoryAdjustments.tsx | 4 +- .../src/containers/Items/ItemForm.schema.tsx | 8 +- .../src/containers/Items/ItemFormBody.tsx | 4 +- .../Items/ItemFormInventorySection.tsx | 4 +- .../src/containers/Items/ItemFormProvider.tsx | 35 +- .../src/containers/Items/ItemsAlerts.tsx | 24 +- .../src/containers/Items/ItemsDataTable.tsx | 2 +- .../src/containers/Items/ItemsImportPage.tsx | 2 +- .../hooks/use-bulk-delete-items-dialog.ts | 1 - .../webapp/src/containers/Items/utils.tsx | 25 +- .../webapp/src/containers/Items/withItem.tsx | 4 +- .../webapp/src/containers/Items/withItems.tsx | 8 +- .../src/containers/Items/withItemsActions.tsx | 7 +- .../ItemsCategories/ItemCategoriesList.tsx | 2 +- .../ItemsCategories/ItemCategoriesTable.tsx | 5 +- .../ItemsCategories/ItemsCategoriesAlerts.tsx | 6 +- .../ItemsCategoriesProvider.tsx | 4 +- .../containers/ItemsCategories/components.tsx | 10 +- .../ItemsCategories/withItemCategories.tsx | 8 +- .../withItemCategoriesActions.tsx | 4 +- .../ReferenceNumberFormContent.tsx | 13 +- .../src/containers/JournalNumber/utils.tsx | 8 +- .../src/containers/Media/withMediaActions.tsx | 11 +- .../NotifyViaSMS/NotifyViaSMSForm.tsx | 1 - .../NotifyViaSMS/NotifyViaSMSFormFields.tsx | 7 +- .../Organization/withCurrentOrganization.tsx | 8 +- .../Organization/withOrganization.tsx | 33 +- .../Organization/withOrganizationActions.tsx | 7 +- .../SharePaymentLinkDialog.tsx | 2 +- .../SharePaymentLinkForm.schema.ts | 6 +- .../InvoicePaymentPagePreview.tsx | 2 +- .../containers/PaymentPortal/PaymentPage.tsx | 2 +- .../Accountant/Accountant.schema.tsx | 2 +- .../Accountant/AccountantFormPage.tsx | 19 +- .../Accountant/AccountantFormProvider.tsx | 9 +- .../Preferences/ApiKeys/ApiKeysActions.tsx | 1 - .../Preferences/ApiKeys/ApiKeysDataTable.tsx | 9 +- .../Preferences/ApiKeys/components.tsx | 11 +- .../Preferences/Branches/BranchesAlerts.tsx | 10 +- .../Branches/BranchesDataTable.tsx | 5 +- .../Branches/BranchesEmptyStatus.tsx | 4 +- .../Preferences/Branches/BranchesProvider.tsx | 7 +- .../Branding/PreferencesBrandingPage.tsx | 4 +- .../Currencies/CurrenciesActions.tsx | 4 +- .../Currencies/CurrenciesAlerts.tsx | 10 +- .../Preferences/Currencies/CurrenciesList.tsx | 3 +- .../containers/Preferences/DefaultRoute.tsx | 4 +- .../Preferences/General/General.schema.tsx | 32 +- .../Preferences/General/GeneralFormPage.tsx | 3 +- .../Invoices/PreferencesInvoiceFormBoot.tsx | 4 +- .../PreferencesStripeCallback.tsx | 2 +- .../alerts/PaymentMethodsAlerts.ts | 6 +- .../StripeIntegrationEditFormContent.tsx | 6 +- .../SMSIntegration/SMSIntegrationTabs.tsx | 4 +- .../SMSIntegration/SMSMessagesDataTable.tsx | 4 +- .../Preferences/Users/Roles/RolesAlerts.tsx | 10 +- .../Users/Roles/RolesForm/RoleFormHeader.tsx | 9 +- .../Users/Roles/RolesForm/utils.tsx | 4 +- .../Roles/RolesLanding/RolesDataTable.tsx | 21 +- .../Roles/RolesLanding/RolesListProvider.tsx | 4 +- .../containers/Preferences/Users/Users.tsx | 5 +- .../Preferences/Users/UsersActions.tsx | 5 +- .../Preferences/Users/UsersAlerts.tsx | 18 +- .../Preferences/Users/UsersDataTable.tsx | 5 +- .../Preferences/Users/UsersList.tsx | 5 +- .../Preferences/Users/UsersProvider.tsx | 4 +- .../Warehouses/WarehousesActions.tsx | 4 +- .../Warehouses/WarehousesAlerts.tsx | 10 +- .../Warehouses/WarehousesEmptyStatus.tsx | 4 +- .../Preferences/Warehouses/WarehousesGrid.tsx | 7 +- .../Projects/components/ProjectTaskSelect.tsx | 6 +- .../EstimatedExpense.schema.tsx | 1 - .../EstimatedExpenseForm.tsx | 4 +- .../EstimatedExpenseFormFields.tsx | 6 +- .../EstimatedExpenseFormFloatingActions.tsx | 4 +- .../EstimatedExpenseFormDialog/index.tsx | 6 +- .../ProjectAlerts/ProjectTaskDeleteAlert.tsx | 4 +- .../containers/ProjectAlerts/index.ts | 24 +- .../ProjectBillableEntriesForm.tsx | 4 +- .../ProjectBillableEntriesFormFields.tsx | 1 - ...jectBillableEntriesFormFloatingActions.tsx | 4 +- .../index.tsx | 10 +- .../ProjectDetails/ProjectDetailsHeader.tsx | 5 +- .../ProjectTasks/ProjectTaskProvider.tsx | 1 - .../ProjectTasks/ProjectTasksTable.tsx | 6 +- .../ProjectDetails/ProjectTasks/hooks.ts | 2 +- .../ProjectTimesheetsProvider.tsx | 2 +- .../ProjectTimesheetsTable.tsx | 4 +- .../ProjectTimeSheets/components.tsx | 2 +- .../containers/ProjectDetails/utils.tsx | 1 - .../ProjectExpenseForm/ProjectExpenseForm.tsx | 4 +- .../ProjectExpneseFormFloatingActions.tsx | 4 +- .../containers/ProjectExpenseForm/index.tsx | 6 +- .../ProjectFormDialog/ProjectFormFields.tsx | 1 - .../ProjectFormFloatingActions.tsx | 4 +- .../ProjectFormDialog/ProjectFormProvider.tsx | 7 +- .../containers/ProjectFormDialog/index.tsx | 6 +- .../ProjectInvoicingForm.tsx | 4 +- .../ProjectInvoicingFormFloatingActions.tsx | 4 +- .../ProjectInvoicingFormDialog/index.tsx | 7 +- .../ProjectTaskFormDialog/ProjectTaskForm.tsx | 2 +- .../ProjectTaskFormFields.tsx | 5 +- .../ProjectTaskFormFloatingActions.tsx | 4 +- .../ProjectTaskFormDialog/index.tsx | 6 +- .../ProjectTimeEntryForm.tsx | 4 +- .../ProjectTimeEntryFormFields.tsx | 1 - .../ProjectTimeEntryFormFloatingActions.tsx | 4 +- .../ProjectTimeEntryFormProvider.tsx | 9 +- .../ProjectTimeEntryFormDialog/index.tsx | 6 +- .../ProjectsLanding/ProjectsEmptyStatus.tsx | 4 +- .../ProjectsLanding/ProjectsList.tsx | 2 +- .../containers/ProjectsLanding/components.tsx | 10 +- .../ProjectsLanding/withProjects.tsx | 12 +- .../ProjectsLanding/withProjectsActions.tsx | 4 +- .../Projects/containers/common/index.ts | 2 +- .../src/containers/Projects/hooks/index.ts | 8 +- .../Projects/hooks/projectTimeEntry.tsx | 37 +- .../src/containers/Projects/hooks/projects.ts | 46 +- .../Projects/hooks/projectsTask.tsx | 25 +- .../Bills/BillForm/BillFormHeaderFields.tsx | 5 +- .../Bills/BillForm/BillFormProvider.tsx | 24 +- .../Purchases/Bills/BillForm/components.tsx | 2 +- .../Bills/BillsLanding/BillsActionsBar.tsx | 10 +- .../Bills/BillsLanding/BillsAlerts.tsx | 18 +- .../Bills/BillsLanding/BillsListProvider.tsx | 7 +- .../Bills/BillsLanding/components.tsx | 13 +- .../hooks/use-bulk-delete-bills-dialog.ts | 6 +- .../Bills/BillsLanding/withBills.tsx | 12 +- .../CreditNoteForm/VendorCreditNoteForm.tsx | 16 +- .../VendorCreditNoteFormHeaderFields.tsx | 7 +- .../VendorCreditNoteFormProvider.tsx | 12 +- .../CreditNotes/CreditNoteForm/utils.tsx | 6 +- .../VendorsCreditNoteActionsBar.tsx | 6 +- .../VendorsCreditNoteListProvider.tsx | 8 +- .../use-bulk-delete-vendor-credits-dialog.ts | 6 +- .../withVendorsCreditNotesActions.tsx | 4 +- .../CreditNotes/VendorCreditNotesAlerts.tsx | 24 +- .../PaymentForm/PaymentMadeFormHeader.tsx | 7 +- .../PaymentMadeFormHeaderFields.tsx | 4 +- .../PaymentForm/PaymentMadeFormProvider.tsx | 7 +- .../dialogs/PaymentMadeExcessDialog/index.ts | 2 +- .../PaymentsMade/PaymentForm/utils.tsx | 3 +- .../PaymentsLanding/PaymentMadeActionsBar.tsx | 2 +- .../PaymentMadesListProvider.tsx | 4 +- .../PaymentsLanding/PaymentMadesView.tsx | 1 - .../PaymentMdesListProvider.tsx | 6 +- .../PaymentsLanding/components.tsx | 2 +- .../PaymentsMade/PaymentsLanding/utils.tsx | 8 +- .../PaymentsLanding/withPaymentMade.tsx | 8 +- .../withPaymentMadeActions.tsx | 4 +- .../PaymentsMade/PaymentsMadeAlerts.tsx | 6 +- .../Purchases/PaymentsMade/constants.ts | 2 +- .../containers/Router/withRouteActions.tsx | 5 +- .../CreditNoteCustomizeDrawer.tsx | 6 +- .../CreditNotes/CreditNoteCustomize/types.ts | 5 +- .../CreditNoteForm/CreditNoteForm.schema.tsx | 2 +- .../CreditNoteFormHeaderFields.tsx | 2 +- .../CreditNoteForm/CreditNoteFormProvider.tsx | 12 +- .../CreditNoteTransactionNoField.tsx | 130 ++-- .../CreditNotes/CreditNoteForm/components.tsx | 36 +- .../CreditNotes/CreditNoteForm/utils.tsx | 3 +- .../Sales/CreditNotes/CreditNotesAlerts.tsx | 24 +- .../CreditNotesActionsBar.tsx | 8 +- .../CreditNotesDataTable.tsx | 4 +- .../CreditNotesListProvider.tsx | 8 +- .../CreditNotesLanding/components.tsx | 8 +- .../use-bulk-delete-credit-notes-dialog.ts | 6 +- .../CreditNotesLanding/withCreditNotes.tsx | 8 +- .../withCreditNotesActions.tsx | 4 +- .../EstimateCustomizeDrawer.tsx | 6 +- .../EstimateCustomizeFieldsGeneral.tsx | 2 +- .../EstimatePaperTemplate.tsx | 10 +- .../Estimates/EstimateCustomize/types.ts | 5 +- .../Estimates/EstimateForm/EstimateForm.tsx | 22 +- .../EstimateFormEstimateNumberField.tsx | 120 ++-- .../EstimateForm/EstimateFormProvider.tsx | 14 +- .../Estimates/EstimateForm/components.tsx | 40 +- .../Sales/Estimates/EstimateForm/utils.tsx | 3 +- .../EstimateSendMailBoot.tsx | 5 +- .../EstimateSnedMailFields.tsx | 1 - .../withEstimateMailReceiptPreviewProps.tsx | 16 +- .../Sales/Estimates/EstimatesAlerts.tsx | 24 +- .../EstimatesLanding/EstimatesActionsBar.tsx | 10 +- .../EstimatesLanding/EstimatesDataTable.tsx | 6 +- .../EstimatesListProvider.tsx | 4 +- .../EstimatesLanding/EstimatesViewTabs.tsx | 4 +- .../Estimates/EstimatesLanding/components.tsx | 4 +- .../hooks/use-bulk-delete-estimates-dialog.ts | 6 +- .../EstimatesLanding/withEstimates.tsx | 16 +- .../EstimatesLanding/withEstimatesActions.tsx | 4 +- .../SendMailViewDrawer/SendMailViewHeader.tsx | 9 +- .../SendMailViewDrawer/SendMailViewLayout.tsx | 6 +- .../SendMailViewPreview.tsx | 10 +- .../SendMailViewPreviewHeader.tsx | 2 +- .../SendMailViewReceiptPreview.tsx | 4 +- .../InvoiceCustomizeDrawer.tsx | 4 +- .../InvoiceCustomize/InvoiceCustomizeTabs.tsx | 4 +- .../InvoiceCustomize/InvoiceMailReceipt.tsx | 8 +- .../Sales/Invoices/InvoiceCustomize/types.ts | 5 +- .../Sales/Invoices/InvoiceCustomize/utils.ts | 27 +- .../InvoiceForm/AdjustmentTotalLine.tsx | 6 +- .../Invoices/InvoiceForm/Dialogs/index.ts | 6 +- .../InvoiceForm/InvoiceFloatingActions.tsx | 11 +- .../InvoiceForm/InvoiceFormFooterLeft.tsx | 9 +- .../InvoiceFormInvoiceNumberField.tsx | 128 ++-- .../InvoiceForm/InvoiceFormProvider.tsx | 24 +- .../Sales/Invoices/InvoiceForm/components.tsx | 36 +- .../Sales/Invoices/InvoiceForm/utils.tsx | 3 +- .../InvoiceMailReceiptPreviewConnected.tsx | 6 +- .../InvoiceSendMailFields.tsx | 2 +- .../InvoiceSendMailHeaderPreview.tsx | 9 +- .../Sales/Invoices/InvoicesAlerts.tsx | 18 +- .../InvoicesLanding/InvoicesActionsBar.tsx | 7 +- .../InvoicesLanding/InvoicesDataTable.tsx | 2 +- .../InvoicesLanding/InvoicesListProvider.tsx | 4 +- .../InvoicesLanding/withInvoiceActions.tsx | 4 +- .../Invoices/InvoicesLanding/withInvoices.tsx | 16 +- .../hooks/use-bulk-delete-accounts-dialog.ts | 7 +- .../PaymentReceiveFormAlerts.tsx | 5 +- .../PaymentReceiveFormProvider.tsx | 6 +- .../PaymentReceiveForm/components.tsx | 42 +- .../dialogs/ExcessPaymentDialog/index.ts | 2 +- .../PaymentReceiveForm/utils.tsx | 3 +- .../PaymentReceivedCustomizeDrawer.tsx | 8 +- .../PaymentReceivedCustomize/types.ts | 5 +- .../PaymentReceivedMailFields.tsx | 2 +- .../PaymentReceivedMailForm.tsx | 2 +- ...PaymentReceivedMailReceiptPreviewProps.tsx | 10 +- .../PaymentReceivesListProvider.tsx | 8 +- .../PaymentsReceivedActionsBar.tsx | 18 +- .../PaymentsReceivedEmptyStatus.tsx | 5 +- .../PaymentsReceivedListProvider.tsx | 8 +- ...use-bulk-delete-payment-receives-dialog.ts | 6 +- .../PaymentsLanding/withPaymentsReceived.tsx | 12 +- .../withPaymentsReceivedActions.tsx | 4 +- .../PaymentsReceivedAlerts.tsx | 6 +- .../ReceiptCustomizeDrawer.tsx | 6 +- .../Sales/Receipts/ReceiptCustomize/types.ts | 9 +- .../Dialogs/ReceiptFormMailDeliverDialog.tsx | 10 +- .../ReceiptForm/ReceiptFormProvider.tsx | 20 +- .../ReceiptFormReceiptNumberField.tsx | 132 ++-- .../Sales/Receipts/ReceiptForm/components.tsx | 40 +- .../Sales/Receipts/ReceiptForm/utils.tsx | 3 +- .../ReceiptSendMailFormFields.tsx | 22 +- .../Receipts/ReceiptSendMailDrawer/_types.ts | 2 +- .../withReceiptMailReceiptPreviewProps.tsx | 16 +- .../Sales/Receipts/ReceiptsAlerts.tsx | 12 +- .../ReceiptsLanding/ReceiptActionsBar.tsx | 10 +- .../ReceiptsLanding/ReceiptsListProvider.tsx | 4 +- .../hooks/use-bulk-delete-receipts-dialog.ts | 6 +- .../Receipts/ReceiptsLanding/withReceipts.tsx | 16 +- .../ReceiptsLanding/withReceiptsActions.tsx | 4 +- .../containers/SendMailNotification/index.ts | 2 +- .../src/containers/Settings/withSettings.tsx | 4 +- .../Settings/withSettingsActions.tsx | 4 +- .../containers/Setup/SetupCongratsPage.tsx | 11 +- .../Setup/SetupOrganization.schema.tsx | 4 +- .../Setup/SetupOrganizationForm.tsx | 6 +- .../Setup/SetupOrganizationPage.tsx | 4 +- .../SetupSubscription/SetupSubscription.tsx | 4 +- .../SubscriptionPlansPeriodSwitcher.tsx | 2 +- .../Setup/SubscriptionForm.schema.tsx | 11 +- .../src/containers/Setup/WorkflowIcon.tsx | 597 ++++++++++++++--- .../Subscriptions/BillingPageBoot.tsx | 6 +- .../Subscriptions/BillingPageContent.tsx | 3 +- .../Subscriptions/BillingSubscription.tsx | 4 +- .../containers/Subscriptions/alerts/alerts.ts | 12 +- .../component/withSubscriptionPlanMapper.tsx | 4 +- .../ChangeSubscriptionPlanDrawer.tsx | 10 +- .../ChangeSubscriptionPlans.tsx | 78 ++- .../ChangeSubscriptionPlanDrawer/index.ts | 2 +- .../src/containers/Subscriptions/withPlan.tsx | 4 +- .../containers/Subscriptions/withPlans.tsx | 4 +- .../Subscriptions/withSubscriptions.tsx | 2 +- .../Subscriptions/withSubscriptionss.tsx | 2 +- .../src/containers/TaxRates/alerts/index.ts | 10 +- .../containers/TaxRatesLandingActionsBar.tsx | 3 +- .../containers/TaxRatesLandingProvider.tsx | 2 +- .../containers/TaxRates/containers/_utils.tsx | 1 - .../TaxRateFormDialog/TaxRateFormDialog.tsx | 10 +- .../dialogs/TaxRateFormDialog/utils.ts | 4 +- .../TaxRateDetailsDrawer.tsx | 10 +- .../TransactionsLockingAlerts.tsx | 6 +- .../TransactionsLockingBody.tsx | 2 +- .../TransactionsLocking/components.tsx | 2 +- .../DashboardUniversalSearchHotkeys.tsx | 6 +- .../containers/UniversalSearch/components.tsx | 10 +- .../UniversalSearch/withUniversalSearch.tsx | 4 +- .../withUniversalSearchActions.tsx | 15 +- .../webapp/src/containers/Users/withUsers.tsx | 4 +- .../VendorForm/VendorFinanicalPanelTab.tsx | 1 - .../VendorForm/VendorFloatingActions.tsx | 2 +- .../VendorFormAfterPrimarySection.tsx | 6 +- .../VendorForm/VendorFormBasicSection.tsx | 13 +- .../Vendors/VendorForm/VendorFormContent.tsx | 35 +- .../Vendors/VendorForm/VendorFormFormik.tsx | 33 +- .../VendorForm/VendorFormNotesSection.tsx | 7 +- .../Vendors/VendorForm/VendorFormPage.tsx | 6 +- .../VendorForm/VendorFormSectionTitle.tsx | 6 +- .../containers/Vendors/VendorForm/utils.tsx | 2 +- .../src/containers/Vendors/VendorsAlerts.tsx | 18 +- .../src/containers/Vendors/VendorsImport.tsx | 2 +- .../VendorsLanding/VendorActionsBar.tsx | 1 - .../VendorsLanding/VendorsListProvider.tsx | 4 +- .../hooks/use-bulk-delete-vendors-dialog.ts | 1 - .../Vendors/VendorsLanding/utils.tsx | 3 +- .../Vendors/VendorsLanding/withVendors.tsx | 8 +- .../VendorsLanding/withVendorsActions.tsx | 7 +- .../containers/Views/ViewForm.container.tsx | 11 +- .../src/containers/Views/ViewFormPage.tsx | 4 +- .../src/containers/Views/withViewDetails.tsx | 4 +- .../WarehouseTransferEditorField.tsx | 2 +- .../WarehouseTransferFloatingActions.tsx | 4 +- .../WarehouseTransferFormDialog.tsx | 2 +- .../WarehouseTransfersListProvider.tsx | 4 +- .../withWarehouseTransfers.tsx | 17 +- .../withWarehouseTransfersActions.tsx | 4 +- .../WarehousesTransfersAlerts.tsx | 18 +- .../components/WorkspaceSwitchingOverlay.tsx | 14 +- .../CreateWorkspaceDrawerContent.tsx | 8 +- .../CreateWorkspaceForm.tsx | 63 +- .../CreateWorkspaceStepper.tsx | 7 +- .../CreateWorkspaceDrawer/InviteUsersStep.tsx | 78 ++- .../Dashboard/WorkspacesSidebar.tsx | 4 +- .../Dialogs/WorkspaceDeleteDialog.tsx | 75 ++- .../Dialogs/WorkspaceInactivateDialog.tsx | 59 +- .../OrganizationsListDrawerContent.tsx | 43 +- .../OrganizationsListDrawerHeader.tsx | 11 +- .../OrganizationsListTable.tsx | 77 ++- .../OrganizationsListWorkspaceCell.tsx | 8 +- .../ee/workspaces/hooks/query/workspaces.tsx | 12 +- packages/webapp/src/hooks/dashboard/index.tsx | 2 +- packages/webapp/src/hooks/index.tsx | 2 +- .../src/hooks/query/FinancialReports/index.ts | 2 +- .../query/FinancialReports/query-keys.ts | 63 +- .../FinancialReports/use-ap-aging-summary.ts | 12 +- .../FinancialReports/use-ar-aging-summary.ts | 12 +- .../FinancialReports/use-balance-sheet.ts | 12 +- .../FinancialReports/use-cashflow-sheet.ts | 12 +- .../use-customer-balance-summary.ts | 12 +- .../use-customer-transactions.ts | 16 +- .../FinancialReports/use-general-ledger.ts | 12 +- .../use-inventory-item-details.ts | 16 +- .../use-inventory-valuation.ts | 17 +- .../FinancialReports/use-journal-sheet.ts | 12 +- .../FinancialReports/use-profit-loss-sheet.ts | 12 +- .../use-purchases-by-items.ts | 17 +- .../FinancialReports/use-sales-by-items.ts | 17 +- .../use-sales-tax-liabilities-summary.ts | 16 +- .../use-transactions-by-reference.ts | 5 +- .../use-trial-balance-sheet.ts | 12 +- .../use-vendor-balance-summary.ts | 12 +- .../use-vendor-transactions.ts | 16 +- .../UniversalSearch/universal-search.tsx | 9 +- .../src/hooks/query/accounts/queries.ts | 28 +- .../src/hooks/query/accounts/query-keys.ts | 3 +- .../src/hooks/query/api-keys/queries.ts | 10 +- .../src/hooks/query/attachments/queries.ts | 18 +- .../src/hooks/query/audit-logs/index.tsx | 14 +- .../src/hooks/query/authentication/queries.ts | 14 +- .../query/banking/queries/account-summary.ts | 16 +- .../query/banking/queries/bank-accounts.ts | 32 +- .../hooks/query/banking/queries/bank-rules.ts | 19 +- .../banking/queries/bank-transactions.ts | 30 +- .../banking/queries/pending-transactions.ts | 29 +- .../src/hooks/query/banking/queries/plaid.ts | 9 +- .../queries/recognized-transactions.ts | 62 +- .../src/hooks/query/banking/query-keys.ts | 23 +- .../webapp/src/hooks/query/bills/queries.ts | 45 +- .../src/hooks/query/bills/query-keys.ts | 3 +- .../src/hooks/query/branches/queries.ts | 21 +- .../hooks/query/cashflow-accounts/queries.ts | 93 ++- .../query/cashflow-accounts/query-keys.ts | 32 +- .../src/hooks/query/contacts/queries.ts | 15 +- .../src/hooks/query/credit-note/queries.ts | 108 ++- .../src/hooks/query/credit-note/query-keys.ts | 9 +- .../src/hooks/query/currencies/queries.ts | 14 +- .../src/hooks/query/customers/queries.ts | 43 +- .../src/hooks/query/estimates/queries.ts | 55 +- .../src/hooks/query/estimates/query-keys.ts | 9 +- .../src/hooks/query/expenses/queries.ts | 36 +- .../webapp/src/hooks/query/import/queries.ts | 104 ++- .../query/inventory-adjustments/queries.ts | 4 +- .../query/inventory-adjustments/query-keys.ts | 6 +- .../webapp/src/hooks/query/invite/queries.ts | 22 +- .../src/hooks/query/invoices/queries.ts | 106 ++- .../src/hooks/query/invoices/query-keys.ts | 24 +- .../hooks/query/items-categories/queries.ts | 54 +- .../webapp/src/hooks/query/items/queries.ts | 80 ++- .../src/hooks/query/items/query-keys.ts | 18 +- .../webapp/src/hooks/query/jobs/queries.ts | 5 +- .../src/hooks/query/landed-cost/queries.ts | 7 +- .../hooks/query/manual-journals/queries.ts | 49 +- .../src/hooks/query/oneclick-demo/queries.ts | 6 +- .../src/hooks/query/organization/queries.ts | 27 +- .../hooks/query/organization/query-keys.ts | 3 +- .../src/hooks/query/payment-link/queries.ts | 30 +- .../hooks/query/payment-link/query-keys.ts | 3 +- .../src/hooks/query/payment-mades/queries.ts | 27 +- .../hooks/query/payment-mades/query-keys.ts | 6 +- .../hooks/query/payment-receives/queries.ts | 80 ++- .../query/payment-receives/query-keys.ts | 15 +- .../hooks/query/payment-services/queries.ts | 25 +- .../src/hooks/query/pdf-templates/queries.ts | 50 +- .../src/hooks/query/receipts/queries.ts | 69 +- .../src/hooks/query/receipts/query-keys.ts | 9 +- .../webapp/src/hooks/query/roles/queries.ts | 17 +- .../src/hooks/query/settings/queries.ts | 47 +- .../hooks/query/stripe-integration/queries.ts | 12 +- .../src/hooks/query/subscription/queries.ts | 10 +- .../src/hooks/query/subscriptions/queries.ts | 3 +- .../src/hooks/query/tax-rates/queries.ts | 18 +- .../query/transactions-locking/queries.ts | 25 +- .../query/transactions-locking/query-keys.ts | 3 +- .../webapp/src/hooks/query/users/queries.ts | 30 +- .../src/hooks/query/vendor-credit/queries.ts | 98 ++- .../hooks/query/vendor-credit/query-keys.ts | 15 +- .../webapp/src/hooks/query/vendors/queries.ts | 42 +- .../webapp/src/hooks/query/views/queries.ts | 9 +- .../src/hooks/query/views/query-keys.ts | 6 +- .../query/warehouses-transfers/queries.ts | 41 +- .../query/warehouses-transfers/query-keys.ts | 3 +- .../src/hooks/query/warehouses/queries.ts | 18 +- .../webapp/src/hooks/state/globalErrors.tsx | 15 +- packages/webapp/src/hooks/state/index.tsx | 2 +- .../webapp/src/hooks/state/organizations.tsx | 17 +- .../webapp/src/hooks/state/subscriptions.tsx | 27 +- packages/webapp/src/hooks/useQueryString.ts | 31 +- packages/webapp/src/hooks/useRequest.tsx | 6 +- packages/webapp/src/hooks/useRequestPdf.tsx | 2 +- .../src/hooks/utils/useOpenPlaidConnect.ts | 3 +- .../webapp/src/hooks/utils/usePrevious.tsx | 3 +- packages/webapp/src/icons/CreditCardIcon.tsx | 5 +- packages/webapp/src/lang/ar/index.json | 2 +- .../webapp/src/lang/en/authentication.tsx | 7 +- packages/webapp/src/lang/en/index.json | 8 +- .../webapp/src/lang/es/authentication.tsx | 6 +- packages/webapp/src/lang/es/index.json | 2 +- packages/webapp/src/lang/printValue.tsx | 4 +- .../webapp/src/lang/sv/authentication.tsx | 5 +- packages/webapp/src/lang/sv/locale.tsx | 3 +- packages/webapp/src/routes/authentication.tsx | 36 +- packages/webapp/src/routes/dashboard.tsx | 629 +++++++++++++----- packages/webapp/src/routes/preferences.tsx | 90 ++- packages/webapp/src/serviceWorker.tsx | 24 +- packages/webapp/src/services/ApiService.tsx | 5 +- packages/webapp/src/services/NamedRoutes.tsx | 2 - .../webapp/src/services/RemoteDataBinding.tsx | 16 +- packages/webapp/src/services/axios.tsx | 67 +- packages/webapp/src/services/yup.tsx | 10 +- .../src/store/accounts/accounts.actions.ts | 8 +- .../src/store/accounts/accounts.reducer.ts | 7 +- .../src/store/accounts/accounts.selectors.ts | 3 +- .../authentication/authentication.actions.ts | 11 +- .../authentication/authentication.reducer.ts | 20 +- .../src/store/banking/banking.reducer.ts | 6 +- .../webapp/src/store/bills/bills.actions.ts | 6 +- .../webapp/src/store/bills/bills.reducer.ts | 7 +- .../cashflow-accounts.actions.ts | 6 +- .../cashflow-accounts.reducer.ts | 7 +- .../cashflow-accounts.types.ts | 6 +- .../store/credit-note/credit-note.actions.ts | 6 +- .../store/credit-note/credit-note.reducer.ts | 12 +- .../store/credit-note/credit-note.selector.ts | 3 +- .../src/store/credit-note/credit-note.type.ts | 9 +- .../store/currencies/currencies.actions.ts | 26 +- .../store/currencies/currencies.reducer.ts | 14 +- .../store/currencies/currencies.selector.ts | 6 +- .../custom-fields/custom-fields.actions.ts | 14 +- .../custom-fields/custom-fields.reducer.ts | 25 +- .../custom-views/custom-views.actions.ts | 40 +- .../custom-views/custom-views.reducer.ts | 14 +- .../custom-views/custom-views.selectors.ts | 3 +- .../src/store/customers/customers.actions.ts | 9 +- .../src/store/customers/customers.reducer.ts | 11 +- .../store/customers/customers.selectors.ts | 4 +- .../src/store/customers/customers.type.ts | 9 +- .../src/store/dashboard/dashboard.actions.ts | 22 +- .../src/store/dashboard/dashboard.reducer.ts | 84 ++- .../store/dashboard/dashboard.selectors.ts | 12 +- .../src/store/dashboard/dashboard.types.ts | 15 +- .../src/store/enhancers/monitor-reducer.ts | 31 +- .../src/store/estimate/estimates.actions.ts | 8 +- .../src/store/estimate/estimates.reducer.ts | 12 +- .../src/store/estimate/estimates.selectors.ts | 12 +- .../src/store/estimate/estimates.types.ts | 6 +- .../store/exchange-rate/exchange.actions.ts | 7 +- .../src/store/exchange-rate/exchange.type.ts | 3 +- .../src/store/expenses/expenses.actions.ts | 6 +- .../src/store/expenses/expenses.reducer.ts | 7 +- .../src/store/expenses/expenses.selectors.ts | 6 +- .../financial-statements.actions.ts | 128 +++- .../financial-statements.reducer.ts | 74 ++- .../financial-statements.selectors.ts | 5 +- .../financial-statements.types.ts | 9 +- .../global-errors/global-errors.actions.ts | 2 +- .../inventory-adjustment.actions.ts | 6 +- .../inventory-adjustment.reducer.ts | 7 +- .../inventory-adjustment.type.ts | 3 +- .../src/store/invoice/invoices.actions.ts | 13 +- .../src/store/invoice/invoices.reducer.ts | 16 +- .../src/store/invoice/invoices.selector.ts | 3 +- .../src/store/invoice/invoices.types.ts | 3 +- .../item-categories/items-category.actions.ts | 2 +- .../item-categories/items-category.reducer.ts | 6 +- .../item-categories/items-category.type.ts | 3 +- .../item-categories/items-cateory.reducer.ts | 8 +- .../webapp/src/store/items/items.actions.ts | 9 +- .../webapp/src/store/items/items.reducer.ts | 12 +- .../journal-number/journal-number.reducer.ts | 10 +- .../webapp/src/store/logger.middleware.ts | 18 +- .../manual-journals.actions.ts | 5 +- .../manual-journals.reducers.ts | 12 +- .../manual-journals.selectors.ts | 3 +- .../manual-journals/manual-journals.types.ts | 9 +- .../webapp/src/store/media/media.actions.ts | 14 +- .../organizations/organizations.actions.ts | 12 +- .../organizations/organizations.reducers.ts | 9 +- .../organizations/organizations.selectors.ts | 14 +- .../organizations/organizations.types.ts | 3 +- .../payment-mades/payment-mades.actions.ts | 6 +- .../payment-mades/payment-mades.reducer.ts | 7 +- .../payment-mades/payment-mades.selector.ts | 3 +- .../store/payment-mades/payment-mades.type.ts | 6 +- .../payment-receives.actions.ts | 15 +- .../payment-receives.reducer.ts | 12 +- .../payment-receives.selector.ts | 3 +- .../payment-receives/payment-receives.type.ts | 9 +- .../webapp/src/store/plans/plans.actions.ts | 6 +- .../store/preferences/preferences.actions.ts | 52 +- .../src/store/project/projects.actions.ts | 5 +- .../src/store/project/projects.reducer.ts | 2 +- .../src/store/receipts/receipts.actions.ts | 10 +- .../src/store/receipts/receipts.reducer.ts | 12 +- .../src/store/receipts/receipts.selector.ts | 5 +- .../src/store/registers/register.reducer.ts | 2 +- .../src/store/resources/resources.actions.ts | 34 +- .../src/store/resources/resources.reducer.ts | 30 +- .../store/resources/resources.selectors.ts | 54 +- .../webapp/src/store/search/search.actions.ts | 16 +- .../webapp/src/store/search/search.reducer.ts | 23 +- .../webapp/src/store/search/search.type.ts | 12 +- packages/webapp/src/store/selectors.ts | 15 +- .../src/store/settings/settings.actions.ts | 8 +- .../src/store/settings/settings.reducer.ts | 7 +- .../subscription/subscription.actions.ts | 8 +- .../subscription/subscription.reducer.ts | 2 +- .../subscription/subscription.selectors.ts | 30 +- .../store/subscription/subscription.types.ts | 3 +- .../webapp/src/store/users/users.reducer.ts | 35 +- .../webapp/src/store/users/users.selectors.ts | 15 +- .../vendor-credit/vendor-credit.actions.ts | 6 +- .../vendor-credit/vendor-credit.reducer.ts | 12 +- .../store/vendor-credit/vendor-credit.type.ts | 9 +- .../src/store/vendors/vendors.actions.ts | 15 +- .../src/store/vendors/vendors.reducer.ts | 11 +- .../src/store/vendors/vendors.selectors.ts | 3 +- .../webapp/src/store/vendors/vendors.types.ts | 3 +- .../warehouse-transfer.actions.ts | 9 +- .../warehouse-transfer.reducer.ts | 7 +- .../warehouse-transfer.type.ts | 6 +- packages/webapp/src/utils/index.tsx | 13 +- packages/webapp/src/utils/map-key-deep.ts | 9 +- packages/webapp/src/utils/withConnectHOC.tsx | 17 +- packages/webapp/src/vite-env.d.ts | 1 - pnpm-lock.yaml | 3 + 1288 files changed, 10396 insertions(+), 5738 deletions(-) diff --git a/packages/webapp/.prettierrc b/packages/webapp/.prettierrc index 168c3f294..d29812858 100644 --- a/packages/webapp/.prettierrc +++ b/packages/webapp/.prettierrc @@ -6,5 +6,5 @@ "singleQuote": true, "trailingComma": "all", "tabWidth": 2, - "useTabs": false, + "useTabs": false } diff --git a/packages/webapp/package.json b/packages/webapp/package.json index c3569fdec..fe51c867f 100644 --- a/packages/webapp/package.json +++ b/packages/webapp/package.json @@ -133,6 +133,7 @@ "@vitejs/plugin-legacy": "^5.4.2", "@vitejs/plugin-react": "^4.3.4", "eslint-config-react-app": "^7.0.1", + "prettier": "^3.3.3", "vite": "^5.1.6" }, "scripts": { diff --git a/packages/webapp/src/components/Accounts/AccountsMultiSelect.tsx b/packages/webapp/src/components/Accounts/AccountsMultiSelect.tsx index ffc6d88c8..d3388be48 100644 --- a/packages/webapp/src/components/Accounts/AccountsMultiSelect.tsx +++ b/packages/webapp/src/components/Accounts/AccountsMultiSelect.tsx @@ -19,7 +19,7 @@ interface Account { account_normal?: string; } -export interface AccountSelect extends Partial, SelectOptionProps { } +export interface AccountSelect extends Partial, SelectOptionProps {} type MultiSelectProps = React.ComponentProps; diff --git a/packages/webapp/src/components/Accounts/_components.tsx b/packages/webapp/src/components/Accounts/_components.tsx index b902f8b64..407d6060e 100644 --- a/packages/webapp/src/components/Accounts/_components.tsx +++ b/packages/webapp/src/components/Accounts/_components.tsx @@ -1,6 +1,6 @@ // @ts-nocheck -import { AccountSelect } from "./AccountsMultiSelect"; +import { AccountSelect } from './AccountsMultiSelect'; // Filters accounts items. export const accountPredicate = ( diff --git a/packages/webapp/src/components/AdvancedFilter/AdvancedFilterPopover.tsx b/packages/webapp/src/components/AdvancedFilter/AdvancedFilterPopover.tsx index 8ca081fa6..cca640195 100644 --- a/packages/webapp/src/components/AdvancedFilter/AdvancedFilterPopover.tsx +++ b/packages/webapp/src/components/AdvancedFilter/AdvancedFilterPopover.tsx @@ -14,11 +14,7 @@ export function AdvancedFilterPopover({ return ( - } + content={} interactionKind={PopoverInteractionKind.CLICK} position={Position.BOTTOM_LEFT} canOutsideClickClose={true} diff --git a/packages/webapp/src/components/AdvancedFilter/interfaces.ts b/packages/webapp/src/components/AdvancedFilter/interfaces.ts index 854c2000c..7dc9b3e7a 100644 --- a/packages/webapp/src/components/AdvancedFilter/interfaces.ts +++ b/packages/webapp/src/components/AdvancedFilter/interfaces.ts @@ -106,7 +106,6 @@ export interface IAdvancedFilterPopover { children: JSX.Element | JSX.Element[]; } - export interface IDynamicFilterCompatatorFieldProps { dataType: string; } diff --git a/packages/webapp/src/components/AdvancedFilter/utils.tsx b/packages/webapp/src/components/AdvancedFilter/utils.tsx index 798cd2026..54be5be74 100644 --- a/packages/webapp/src/components/AdvancedFilter/utils.tsx +++ b/packages/webapp/src/components/AdvancedFilter/utils.tsx @@ -54,25 +54,21 @@ export const getNumberCampatators = () => [ { value: 'smaller_or_equal', label: intl.get('smaller_or_equals') }, ]; -export const getConditionTypeCompatators = ( - dataType, -) => { +export const getConditionTypeCompatators = (dataType) => { return [ ...(dataType === 'enumeration' ? [...getOptionsCompatators()] : dataType === 'date' - ? [...getDateCompatators()] - : dataType === 'boolean' - ? [...getBooleanCompatators()] - : dataType === 'number' - ? [...getNumberCampatators()] - : [...getTextCompatators()]), + ? [...getDateCompatators()] + : dataType === 'boolean' + ? [...getBooleanCompatators()] + : dataType === 'number' + ? [...getNumberCampatators()] + : [...getTextCompatators()]), ]; }; -export const getConditionDefaultCompatator = ( - dataType, -) => { +export const getConditionDefaultCompatator = (dataType) => { const compatators = getConditionTypeCompatators(dataType); return compatators[0]; }; @@ -89,14 +85,11 @@ export const transformFieldsToOptions = (fields) => * @param {IFilterRole[]} conditions * @returns */ -export const filterConditionRoles = ( - conditions, -) => { +export const filterConditionRoles = (conditions) => { const requiredProps = ['fieldKey', 'condition', 'comparator', 'value']; const filteredConditions = conditions.filter( - (condition) => - !checkRequiredProperties(condition, requiredProps), + (condition) => !checkRequiredProperties(condition, requiredProps), ); return uniqueMultiProps(filteredConditions, requiredProps); }; @@ -110,4 +103,4 @@ export const shouldFilterValueFieldUpdate = (newProps, oldProps) => { newProps.fieldKey !== oldProps.fieldKey || defaultFastFieldShouldUpdate(newProps, oldProps) ); -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/components/App.tsx b/packages/webapp/src/components/App.tsx index 27ff7bf3f..332bef415 100644 --- a/packages/webapp/src/components/App.tsx +++ b/packages/webapp/src/components/App.tsx @@ -20,11 +20,31 @@ import { EnsureUserEmailNotVerified } from './Guards/EnsureUserEmailNotVerified' const DashboardPrivatePages = lazy( () => import('@/components/Dashboard/PrivatePages'), ); -const AuthenticationPage = lazy(() => import('@/containers/Authentication/AuthenticationPage').then(m => ({ default: m.AuthenticationPage }))); -const EmailConfirmation = lazy(() => import('@/containers/Authentication/EmailConfirmation').then(m => ({ default: m.EmailConfirmation }))); -const RegisterVerify = lazy(() => import('@/containers/Authentication/RegisterVerify').then(m => ({ default: m.RegisterVerify }))); -const OneClickDemoPage = lazy(() => import('@/containers/OneClickDemo/OneClickDemoPage').then(m => ({ default: m.OneClickDemoPage }))); -const PaymentPortalPage = lazy(() => import('@/containers/PaymentPortal/PaymentPortalPage').then(m => ({ default: m.PaymentPortalPage }))); +const AuthenticationPage = lazy(() => + import('@/containers/Authentication/AuthenticationPage').then((m) => ({ + default: m.AuthenticationPage, + })), +); +const EmailConfirmation = lazy(() => + import('@/containers/Authentication/EmailConfirmation').then((m) => ({ + default: m.EmailConfirmation, + })), +); +const RegisterVerify = lazy(() => + import('@/containers/Authentication/RegisterVerify').then((m) => ({ + default: m.RegisterVerify, + })), +); +const OneClickDemoPage = lazy(() => + import('@/containers/OneClickDemo/OneClickDemoPage').then((m) => ({ + default: m.OneClickDemoPage, + })), +); +const PaymentPortalPage = lazy(() => + import('@/containers/PaymentPortal/PaymentPortalPage').then((m) => ({ + default: m.PaymentPortalPage, + })), +); /** * App inner. diff --git a/packages/webapp/src/components/AppIntlLoader.tsx b/packages/webapp/src/components/AppIntlLoader.tsx index 96beb6b74..ce4c7b9af 100644 --- a/packages/webapp/src/components/AppIntlLoader.tsx +++ b/packages/webapp/src/components/AppIntlLoader.tsx @@ -117,7 +117,7 @@ function useAppYupLoadLocales(currentLocale) { setLocale(results); setIsLoading(false); }) - .then(() => { }); + .then(() => {}); }, [currentLocale, stopLoading]); // Watches the valiue to start/stop splash screen. diff --git a/packages/webapp/src/components/Aside/Aside.tsx b/packages/webapp/src/components/Aside/Aside.tsx index 6fb27ffbb..0b5a3ef69 100644 --- a/packages/webapp/src/components/Aside/Aside.tsx +++ b/packages/webapp/src/components/Aside/Aside.tsx @@ -20,7 +20,7 @@ export function Aside({ children, hideCloseButton, classNames, - className + className, }: AsideProps) { const isDarkMode = useIsDarkMode(); const handleClose = () => { @@ -34,7 +34,9 @@ export function Aside({ - - ); - }, -); +const BrandingTemplateHeader = R.compose(withDrawerActions)(({ + openDrawer, +}) => { + const handleCreateBtnClick = () => { + openDrawer(DRAWERS.INVOICE_CUSTOMIZE); + }; + return ( + + + + ); +}); BrandingTemplateHeader.displayName = 'BrandingTemplateHeader'; diff --git a/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesDrawer.tsx b/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesDrawer.tsx index e1e0e1f3d..d7835c2b0 100644 --- a/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesDrawer.tsx +++ b/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesDrawer.tsx @@ -4,7 +4,11 @@ import * as R from 'ramda'; import { Drawer, DrawerSuspense } from '@/components'; import { withDrawers } from '@/containers/Drawer/withDrawers'; -const BrandingTemplatesContent = React.lazy(() => import('./BrandingTemplatesContent').then(m => ({ default: m.BrandingTemplateContent }))); +const BrandingTemplatesContent = React.lazy(() => + import('./BrandingTemplatesContent').then((m) => ({ + default: m.BrandingTemplateContent, + })), +); /** * Invoice customize drawer. @@ -17,11 +21,7 @@ function BrandingTemplatesDrawerRoot({ payload, }) { return ( - + diff --git a/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesSelectFields.tsx b/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesSelectFields.tsx index 501320fb6..5b2839533 100644 --- a/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesSelectFields.tsx +++ b/packages/webapp/src/containers/BrandingTemplates/BrandingTemplatesSelectFields.tsx @@ -29,6 +29,6 @@ export const convertBrandingTemplatesToOptions = ( brandingTemplates: Array, ) => { return brandingTemplates?.map( - (template) => ({ text: template.template_name, value: template.id } || []), + (template) => ({ text: template.template_name, value: template.id }) || [], ); }; diff --git a/packages/webapp/src/containers/BrandingTemplates/alerts/BrandingTemplatesAlerts.ts b/packages/webapp/src/containers/BrandingTemplates/alerts/BrandingTemplatesAlerts.ts index 685be1403..f7aa9d456 100644 --- a/packages/webapp/src/containers/BrandingTemplates/alerts/BrandingTemplatesAlerts.ts +++ b/packages/webapp/src/containers/BrandingTemplates/alerts/BrandingTemplatesAlerts.ts @@ -1,9 +1,17 @@ // @ts-nocheck import React from 'react'; -const DeleteBrandingTemplateAlert = React.lazy(() => import('./DeleteBrandingTemplateAlert').then(m => ({ default: m.DeleteBrandingTemplateAlert }))); +const DeleteBrandingTemplateAlert = React.lazy(() => + import('./DeleteBrandingTemplateAlert').then((m) => ({ + default: m.DeleteBrandingTemplateAlert, + })), +); -const MarkDefaultBrandingTemplateAlert = React.lazy(() => import('./MarkDefaultBrandingTemplateAlert').then(m => ({ default: m.MarkDefaultBrandingTemplateAlert }))); +const MarkDefaultBrandingTemplateAlert = React.lazy(() => + import('./MarkDefaultBrandingTemplateAlert').then((m) => ({ + default: m.MarkDefaultBrandingTemplateAlert, + })), +); export const BrandingTemplatesAlerts = [ { name: 'branding-template-delete', component: DeleteBrandingTemplateAlert }, diff --git a/packages/webapp/src/containers/BrandingTemplates/alerts/MarkDefaultBrandingTemplateAlert.tsx b/packages/webapp/src/containers/BrandingTemplates/alerts/MarkDefaultBrandingTemplateAlert.tsx index dd1be6bb5..e9f8b5fdb 100644 --- a/packages/webapp/src/containers/BrandingTemplates/alerts/MarkDefaultBrandingTemplateAlert.tsx +++ b/packages/webapp/src/containers/BrandingTemplates/alerts/MarkDefaultBrandingTemplateAlert.tsx @@ -60,7 +60,8 @@ function MarkDefaultBrandingTemplateAlertInner({ onConfirm={handleConfirmDelete} >

- Are you sure want to mark the given branding template as a default template? + Are you sure want to mark the given branding template as a default + template?

); diff --git a/packages/webapp/src/containers/BrandingTemplates/types.ts b/packages/webapp/src/containers/BrandingTemplates/types.ts index a246e7616..db862ee26 100644 --- a/packages/webapp/src/containers/BrandingTemplates/types.ts +++ b/packages/webapp/src/containers/BrandingTemplates/types.ts @@ -1,5 +1,3 @@ - - export interface BrandingTemplateValues { templateName: string; @@ -18,6 +16,4 @@ export interface BrandingState extends ElementPreviewState { primaryColor: string; } -export interface ElementPreviewState { - -} \ No newline at end of file +export interface ElementPreviewState {} diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsAlerts.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsAlerts.tsx index 71c437ed2..261201d65 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsAlerts.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsAlerts.tsx @@ -1,7 +1,11 @@ // @ts-nocheck import React from 'react'; -const AccountDeleteTransactionAlert = React.lazy(() => import('@/containers/Alerts/CashFlow/AccountDeleteTransactionAlert').then(m => ({ default: m.AccountDeleteTransactionAlert }))); +const AccountDeleteTransactionAlert = React.lazy(() => + import('@/containers/Alerts/CashFlow/AccountDeleteTransactionAlert').then( + (m) => ({ default: m.AccountDeleteTransactionAlert }), + ), +); /** * Account transaction alert. diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsList.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsList.tsx index 6bea2b100..1e7fcacbc 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsList.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsList.tsx @@ -65,8 +65,16 @@ export const AccountTransactionsList = R.compose( ), )(AccountTransactionsListRoot); -const AccountsTransactionsAll = lazy(() => import('./AccountsTransactionsAll').then(m => ({ default: m.AccountTransactionsAll }))); -const AccountsTransactionsUncategorized = lazy(() => import('./AllTransactionsUncategorized').then(m => ({ default: m.AllTransactionsUncategorized }))); +const AccountsTransactionsAll = lazy(() => + import('./AccountsTransactionsAll').then((m) => ({ + default: m.AccountTransactionsAll, + })), +); +const AccountsTransactionsUncategorized = lazy(() => + import('./AllTransactionsUncategorized').then((m) => ({ + default: m.AllTransactionsUncategorized, + })), +); function AccountTransactionsContent() { const { filterTab } = useAccountTransactionsContext(); diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsUncategorizeFilter.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsUncategorizeFilter.tsx index ad46e586c..07bac1922 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsUncategorizeFilter.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/AccountTransactionsUncategorizeFilter.tsx @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import * as R from 'ramda'; import { useAppQueryString } from '@/hooks'; -import { Group, Stack, } from '@/components'; +import { Group, Stack } from '@/components'; import { useAccountTransactionsContext } from './AccountTransactionsProvider'; import { TagsControl } from '@/components/TagsControl'; import { AccountUncategorizedDateFilter } from './UncategorizedTransactions/AccountUncategorizedDateFilter'; diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/AllTransactionsUncategorized.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/AllTransactionsUncategorized.tsx index 416ffbc57..37db2cf21 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/AllTransactionsUncategorized.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/AllTransactionsUncategorized.tsx @@ -81,4 +81,6 @@ function AccountTransactionsSwitcher() { } } -export const AllTransactionsUncategorized = R.compose(withBankingActions)(AllTransactionsUncategorizedRoot); +export const AllTransactionsUncategorized = R.compose(withBankingActions)( + AllTransactionsUncategorizedRoot, +); diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/ExcludedTransactions/_utils.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/ExcludedTransactions/_utils.tsx index 0f62e8afe..6bf40c7a6 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/ExcludedTransactions/_utils.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/ExcludedTransactions/_utils.tsx @@ -55,14 +55,14 @@ export function useExcludedTransactionsColumns() { accessor: 'formatted_deposit_amount', align: 'right', width: depositWidth, - money: true + money: true, }, { Header: 'Withdrawal', accessor: 'formatted_withdrawal_amount', align: 'right', width: withdrawalWidth, - money: true + money: true, }, ], [], diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/PendingTransactions/_hooks.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/PendingTransactions/_hooks.tsx index 3c8f868d4..3ae163391 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/PendingTransactions/_hooks.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/PendingTransactions/_hooks.tsx @@ -48,7 +48,7 @@ export function usePendingTransactionsTableColumns() { textOverview: true, align: 'right', clickable: true, - money: true + money: true, }, { id: 'withdrawal', @@ -59,7 +59,7 @@ export function usePendingTransactionsTableColumns() { textOverview: true, align: 'right', clickable: true, - money: true + money: true, }, ], [], diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/RecognizedTransactions/_utils.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/RecognizedTransactions/_utils.tsx index 9ecfa405d..2402534e3 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/RecognizedTransactions/_utils.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/RecognizedTransactions/_utils.tsx @@ -58,7 +58,7 @@ export function useUncategorizedTransactionsColumns() { { Header: 'Description', accessor: 'description', - className: clsx(Classes.TEXT_MUTED), + className: clsx(Classes.TEXT_MUTED), textOverview: true, }, { @@ -81,14 +81,14 @@ export function useUncategorizedTransactionsColumns() { accessor: 'formatted_deposit_amount', align: 'right', width: depositWidth, - money: true + money: true, }, { Header: 'Withdrawal', accessor: 'formatted_withdrawal_amount', align: 'right', width: withdrawalWidth, - money: true + money: true, }, ], [], diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountTransactionsCard.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountTransactionsCard.tsx index 5f31e50c1..c6e754659 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountTransactionsCard.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountTransactionsCard.tsx @@ -1,6 +1,5 @@ import styled from 'styled-components'; - export const AccountTransactionsCard = styled.div` border: 2px solid var(--color-bank-transactions-content-border); background: var(--color-bank-transactions-content-background); diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountUncategorizedDateFilter.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountUncategorizedDateFilter.tsx index 7443a7e14..f649cdf9a 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountUncategorizedDateFilter.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/AccountUncategorizedDateFilter.tsx @@ -72,34 +72,32 @@ export const UncategorizedTransactionsDateFilter = R.compose( withBanking(({ uncategorizedTransactionsFilter }) => ({ uncategorizedTransactionsFilter, })), -)( - ({ - // #withBankingActions - setUncategorizedTransactionsFilter, +)(({ + // #withBankingActions + setUncategorizedTransactionsFilter, - // #withBanking - uncategorizedTransactionsFilter, + // #withBanking + uncategorizedTransactionsFilter, - // #ownProps - onSubmit, - }) => { - const initialValues = { - ...uncategorizedTransactionsFilter, - }; + // #ownProps + onSubmit, +}) => { + const initialValues = { + ...uncategorizedTransactionsFilter, + }; - const handleSubmit = (values) => { - setUncategorizedTransactionsFilter({ - fromDate: values.fromDate, - toDate: values.toDate, - }); - onSubmit && onSubmit(values); - }; + const handleSubmit = (values) => { + setUncategorizedTransactionsFilter({ + fromDate: values.fromDate, + toDate: values.toDate, + }); + onSubmit && onSubmit(values); + }; - return ( - - ); - }, -); + return ( + + ); +}); diff --git a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/TagButton.tsx b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/TagButton.tsx index 1b588a771..d8b49555d 100644 --- a/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/TagButton.tsx +++ b/packages/webapp/src/containers/CashFlow/AccountTransactions/UncategorizedTransactions/TagButton.tsx @@ -1,9 +1,7 @@ // @ts-nocheck -import { Button } from "@blueprintjs/core" +import { Button } from '@blueprintjs/core'; import styles from './TagButton.module.scss'; - - export const TagButton = (props) => { - return diff --git a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialog.tsx b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialog.tsx index 34fcf4a58..a9b7e6f3b 100644 --- a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialog.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const ApiKeysGenerateDialogContent = React.lazy(() => import('./ApiKeysGenerateDialogContent').then(m => ({ default: m.ApiKeysGenerateDialogContent }))); +const ApiKeysGenerateDialogContent = React.lazy(() => + import('./ApiKeysGenerateDialogContent').then((m) => ({ + default: m.ApiKeysGenerateDialogContent, + })), +); /** * API Keys Generate dialog. @@ -13,9 +17,7 @@ function ApiKeysGenerateDialogInner({ dialogName, payload, isOpen }) { return ( - } + title={} isOpen={isOpen} canEscapeJeyClose={true} autoFocus={true} @@ -23,11 +25,11 @@ function ApiKeysGenerateDialogInner({ dialogName, payload, isOpen }) { style={{ width: '500px' }} > - + ); } -export const ApiKeysGenerateDialog = compose(withDialogRedux())(ApiKeysGenerateDialogInner); +export const ApiKeysGenerateDialog = compose(withDialogRedux())( + ApiKeysGenerateDialogInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialogContent.tsx b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialogContent.tsx index 7ac98bdfe..e63c334fd 100644 --- a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateDialogContent.tsx @@ -83,4 +83,6 @@ function ApiKeysGenerateDialogContentInner({ ); } -export const ApiKeysGenerateDialogContent = compose(withDialogActions)(ApiKeysGenerateDialogContentInner); +export const ApiKeysGenerateDialogContent = compose(withDialogActions)( + ApiKeysGenerateDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateForm.schema.tsx b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateForm.schema.tsx index 770a323e0..35ee5ede1 100644 --- a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateForm.schema.tsx +++ b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateForm.schema.tsx @@ -6,4 +6,3 @@ export const CreateApiKeyFormSchema = Yup.object().shape({ .required('Name is required') .max(255, 'Name must be at most 255 characters'), }); - diff --git a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateFormContent.tsx b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateFormContent.tsx index 807106ce3..8b1e01a21 100644 --- a/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateFormContent.tsx +++ b/packages/webapp/src/containers/Dialogs/ApiKeysGenerateDialog/ApiKeysGenerateFormContent.tsx @@ -1,16 +1,9 @@ // @ts-nocheck import React from 'react'; import { Form, useFormikContext } from 'formik'; -import { - Classes, - Button, - Intent, -} from '@blueprintjs/core'; +import { Classes, Button, Intent } from '@blueprintjs/core'; import { FastField, ErrorMessage } from 'formik'; -import { - FormGroup, - InputGroup, -} from '@blueprintjs/core'; +import { FormGroup, InputGroup } from '@blueprintjs/core'; import intl from 'react-intl-universal'; import { inputIntent } from '@/utils'; import { FFormGroup, FInputGroup, FormattedMessage as T } from '@/components'; @@ -35,11 +28,11 @@ function ApiKeysGenerateFormContentInner({
{/* ----------- Name ----------- */} - - + +
@@ -64,4 +57,6 @@ function ApiKeysGenerateFormContentInner({ ); } -export const ApiKeysGenerateFormContent = compose(withDialogActions)(ApiKeysGenerateFormContentInner); +export const ApiKeysGenerateFormContent = compose(withDialogActions)( + ApiKeysGenerateFormContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFloatingActions.tsx index fe2703f23..08a847f22 100644 --- a/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/BadDebtDialog/BadDebtFormFloatingActions.tsx @@ -8,7 +8,6 @@ import { useBadDebtContext } from './BadDebtFormProvider'; import { withDialogActions } from '@/containers/Dialog/withDialogActions'; import { compose } from '@/utils'; - /** * Bad bebt form floating actions. */ @@ -46,4 +45,6 @@ function BadDebtFormFloatingActionsInner({ ); } -export const BadDebtFormFloatingActions = compose(withDialogActions)(BadDebtFormFloatingActionsInner); +export const BadDebtFormFloatingActions = compose(withDialogActions)( + BadDebtFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx b/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx index f29bb2cb4..facb0decd 100644 --- a/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/BadDebtDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from 'redux'; -const BadDebtDialogContent = React.lazy(() => import('./BadDebtDialogContent').then(m => ({ default: m.BadDebtDialogContent }))); +const BadDebtDialogContent = React.lazy(() => + import('./BadDebtDialogContent').then((m) => ({ + default: m.BadDebtDialogContent, + })), +); /** * Bad debt dialog. diff --git a/packages/webapp/src/containers/Dialogs/BillNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/BillNumberDialog/index.tsx index 9a81cb08f..0723327ba 100644 --- a/packages/webapp/src/containers/Dialogs/BillNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/BillNumberDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const BillNumberDialogContent = lazy(() => import('./BillNumberDialogContent').then(m => ({ default: m.BillNumberDialogContent }))); +const BillNumberDialogContent = lazy(() => + import('./BillNumberDialogContent').then((m) => ({ + default: m.BillNumberDialogContent, + })), +); function BillNumberDialog({ dialogName, payload = { id: null }, isOpen }) { return ( diff --git a/packages/webapp/src/containers/Dialogs/Bills/BillBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Bills/BillBulkDeleteDialog.tsx index 889db4196..7d862e88a 100644 --- a/packages/webapp/src/containers/Dialogs/Bills/BillBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Bills/BillBulkDeleteDialog.tsx @@ -97,4 +97,3 @@ export const BillBulkDeleteDialog = compose( withDialogActions, withBillsActions, )(BillBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateForm.tsx b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateForm.tsx index 25a1a9a66..2ef827bdd 100644 --- a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateForm.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateForm.tsx @@ -62,4 +62,6 @@ function BranchActivateFormInner({ ); } -export const BranchActivateForm = compose(withDialogActions)(BranchActivateFormInner); +export const BranchActivateForm = compose(withDialogActions)( + BranchActivateFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateFormFloatingActions.tsx index b60dc80cb..428d5831e 100644 --- a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/BranchActivateFormFloatingActions.tsx @@ -39,11 +39,12 @@ function BranchActivateFormFloatingActionsInner({ type="submit" > {} - ); } -export const BranchActivateFormFloatingActions = compose(withDialogActions)(BranchActivateFormFloatingActionsInner); +export const BranchActivateFormFloatingActions = compose(withDialogActions)( + BranchActivateFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/index.tsx b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/index.tsx index b0b9c4e4b..4fdf6270d 100644 --- a/packages/webapp/src/containers/Dialogs/BranchActivateDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchActivateDialog/index.tsx @@ -5,7 +5,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const BranchActivateDialogContent = React.lazy(() => import('./BranchActivateDialogContent').then(m => ({ default: m.BranchActivateDialogContent }))); +const BranchActivateDialogContent = React.lazy(() => + import('./BranchActivateDialogContent').then((m) => ({ + default: m.BranchActivateDialogContent, + })), +); /** * Branch activate dialog. diff --git a/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFields.tsx b/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFields.tsx index e384c2436..11599714b 100644 --- a/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFields.tsx @@ -3,12 +3,7 @@ import React from 'react'; import intl from 'react-intl-universal'; import styled from 'styled-components'; import { Classes, ControlGroup } from '@blueprintjs/core'; -import { - FieldRequiredHint, - - FFormGroup, - FInputGroup, -} from '@/components'; +import { FieldRequiredHint, FFormGroup, FInputGroup } from '@/components'; /** * Branch form dialog fields. diff --git a/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFloatingActions.tsx index 380722b46..bbf5e1b65 100644 --- a/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchFormDialog/BranchFormFloatingActions.tsx @@ -44,4 +44,6 @@ function BranchFormFloatingActionsInner({ ); } -export const BranchFormFloatingActions = compose(withDialogActions)(BranchFormFloatingActionsInner); +export const BranchFormFloatingActions = compose(withDialogActions)( + BranchFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/BranchFormDialog/index.tsx b/packages/webapp/src/containers/Dialogs/BranchFormDialog/index.tsx index dfe5c5c7f..3a982c4bf 100644 --- a/packages/webapp/src/containers/Dialogs/BranchFormDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/BranchFormDialog/index.tsx @@ -5,7 +5,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const BranchFormDialogContent = React.lazy(() => import('./BranchFormDialogContent').then(m => ({ default: m.BranchFormDialogContent }))); +const BranchFormDialogContent = React.lazy(() => + import('./BranchFormDialogContent').then((m) => ({ + default: m.BranchFormDialogContent, + })), +); /** * Branch form form dialog. diff --git a/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/ContactDuplicateForm.tsx b/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/ContactDuplicateForm.tsx index 05504e148..9190b03fb 100644 --- a/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/ContactDuplicateForm.tsx +++ b/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/ContactDuplicateForm.tsx @@ -23,9 +23,7 @@ function ContactDuplicateFormInner({ const { dialogName, contactId } = useContactDuplicateFromContext(); const validationSchema = Yup.object().shape({ - contact_type: Yup.string() - .required() - .label(intl.get('contact_type_')), + contact_type: Yup.string().required().label(intl.get('contact_type_')), }); const initialValues = { @@ -97,4 +95,6 @@ function ContactDuplicateFormInner({ ); } -export const ContactDuplicateForm = compose(withDialogActions)(ContactDuplicateFormInner); +export const ContactDuplicateForm = compose(withDialogActions)( + ContactDuplicateFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/index.tsx index db2a20c1c..04d7df956 100644 --- a/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ContactDuplicateDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const ContactDialogContent = lazy(() => import('./ContactDuplicateDialogContent').then(m => ({ default: m.ContactDuplicateDialogContent }))); +const ContactDialogContent = lazy(() => + import('./ContactDuplicateDialogContent').then((m) => ({ + default: m.ContactDuplicateDialogContent, + })), +); /** * Contact duplicate dialog. */ diff --git a/packages/webapp/src/containers/Dialogs/CreditNoteNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/CreditNoteNumberDialog/index.tsx index 2aeac5979..a2c2729e8 100644 --- a/packages/webapp/src/containers/Dialogs/CreditNoteNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/CreditNoteNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const CreditNoteNumberDialogContent = React.lazy(() => import('./CreditNoteNumberDialogContent').then(m => ({ default: m.CreditNoteNumberDialogContent }))); +const CreditNoteNumberDialogContent = React.lazy(() => + import('./CreditNoteNumberDialogContent').then((m) => ({ + default: m.CreditNoteNumberDialogContent, + })), +); /** * Credit note number dialog. diff --git a/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/CreditNotePdfPreviewDialogContent.tsx b/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/CreditNotePdfPreviewDialogContent.tsx index b3e296de6..3be44252e 100644 --- a/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/CreditNotePdfPreviewDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/CreditNotePdfPreviewDialogContent.tsx @@ -45,4 +45,6 @@ function CreditNotePdfPreviewDialogContentInner({ ); } -export const CreditNotePdfPreviewDialogContent = compose(withDialogActions)(CreditNotePdfPreviewDialogContentInner); +export const CreditNotePdfPreviewDialogContent = compose(withDialogActions)( + CreditNotePdfPreviewDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/index.tsx b/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/index.tsx index a2d90072a..0ffc5bc15 100644 --- a/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/CreditNotePdfPreviewDialog/index.tsx @@ -9,7 +9,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { CLASSES } from '@/constants/classes'; import { compose } from '@/utils'; -const PdfPreviewDialogContent = React.lazy(() => import('./CreditNotePdfPreviewDialogContent').then(m => ({ default: m.CreditNotePdfPreviewDialogContent }))); +const PdfPreviewDialogContent = React.lazy(() => + import('./CreditNotePdfPreviewDialogContent').then((m) => ({ + default: m.CreditNotePdfPreviewDialogContent, + })), +); /** * Credit note PDF previwe dialog. diff --git a/packages/webapp/src/containers/Dialogs/CreditNotes/CreditNoteBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/CreditNotes/CreditNoteBulkDeleteDialog.tsx index ff12e384a..57156f0cd 100644 --- a/packages/webapp/src/containers/Dialogs/CreditNotes/CreditNoteBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/CreditNotes/CreditNoteBulkDeleteDialog.tsx @@ -101,4 +101,3 @@ export const CreditNoteBulkDeleteDialog = compose( withDialogActions, withCreditNotesActions, )(CreditNoteBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyForm.schema.tsx b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyForm.schema.tsx index c74835927..57c8c2cfc 100644 --- a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyForm.schema.tsx +++ b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyForm.schema.tsx @@ -4,9 +4,7 @@ import intl from 'react-intl-universal'; import { DATATYPES_LENGTH } from '@/constants/dataTypes'; const Schema = Yup.object().shape({ - currency_name: Yup.string() - .required() - .label(intl.get('currency_name_')), + currency_name: Yup.string().required().label(intl.get('currency_name_')), currency_code: Yup.string() .max(4) .required() diff --git a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormDialogContent.tsx b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormDialogContent.tsx index 243cb73f1..36712cd56 100644 --- a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormDialogContent.tsx @@ -25,4 +25,6 @@ function CurrencyFormDialogContentInner({ ); } -export const CurrencyFormDialogContent = compose(withCurrencyDetail)(CurrencyFormDialogContentInner); +export const CurrencyFormDialogContent = compose(withCurrencyDetail)( + CurrencyFormDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormFields.tsx b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormFields.tsx index 4c1a5056c..e551c14b2 100644 --- a/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/CurrencyFormDialog/CurrencyFormFields.tsx @@ -7,7 +7,12 @@ import classNames from 'classnames'; import { CLASSES } from '@/constants/classes'; import { useCurrencyFormContext } from './CurrencyFormProvider'; -import { FieldRequiredHint, FFormGroup, FInputGroup, FSelect } from '@/components'; +import { + FieldRequiredHint, + FFormGroup, + FInputGroup, + FSelect, +} from '@/components'; import { useAutofocus } from '@/hooks'; import { currenciesOptions } from '@/utils'; @@ -34,10 +39,7 @@ export function CurrencyFormFields() { return (
- + import('./CurrencyFormDialogContent').then(m => ({ default: m.CurrencyFormDialogContent }))); +const CurrencyFormDialogContent = lazy(() => + import('./CurrencyFormDialogContent').then((m) => ({ + default: m.CurrencyFormDialogContent, + })), +); /** * Currency form dialog. diff --git a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFields.tsx b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFields.tsx index 389101c70..7cf972a86 100644 --- a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFields.tsx +++ b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFields.tsx @@ -11,7 +11,6 @@ import classNames from 'classnames'; import { If, Icon, - ExchangeRateMutedField, BranchSelect, FeatureCan, @@ -111,4 +110,6 @@ function CustomerOpeningBalanceFieldsInner({
); } -export const CustomerOpeningBalanceFields = compose(withCurrentOrganization())(CustomerOpeningBalanceFieldsInner); +export const CustomerOpeningBalanceFields = compose(withCurrentOrganization())( + CustomerOpeningBalanceFieldsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceForm.tsx b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceForm.tsx index b9071a6d8..c156c81c4 100644 --- a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceForm.tsx +++ b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceForm.tsx @@ -44,7 +44,9 @@ function CustomerOpeningBalanceFormInner({ const handleFormSubmit = (values, { setSubmitting, setErrors }) => { const formValues = { ...values, - opening_balance_at: moment(values.opening_balance_at).format('YYYY-MM-DD'), + opening_balance_at: moment(values.opening_balance_at).format( + 'YYYY-MM-DD', + ), }; // Handle request response success. @@ -82,4 +84,6 @@ function CustomerOpeningBalanceFormInner({ ); } -export const CustomerOpeningBalanceForm = compose(withDialogActions)(CustomerOpeningBalanceFormInner); +export const CustomerOpeningBalanceForm = compose(withDialogActions)( + CustomerOpeningBalanceFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFormFloatingActions.tsx index be19ad3dd..2bbaf5d01 100644 --- a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/CustomerOpeningBalanceFormFloatingActions.tsx @@ -45,6 +45,6 @@ function CustomerOpeningBalanceFormFloatingActionsInner({ ); } -export const CustomerOpeningBalanceFormFloatingActions = compose(withDialogActions)( - CustomerOpeningBalanceFormFloatingActionsInner, -); +export const CustomerOpeningBalanceFormFloatingActions = compose( + withDialogActions, +)(CustomerOpeningBalanceFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/index.tsx b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/index.tsx index e0a54f002..dcd903cf2 100644 --- a/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/CustomerOpeningBalanceDialog/index.tsx @@ -6,7 +6,11 @@ import { Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const CustomerOpeningBalanceDialogContent = React.lazy(() => import('./CustomerOpeningBalanceDialogContent').then(m => ({ default: m.CustomerOpeningBalanceDialogContent }))); +const CustomerOpeningBalanceDialogContent = React.lazy(() => + import('./CustomerOpeningBalanceDialogContent').then((m) => ({ + default: m.CustomerOpeningBalanceDialogContent, + })), +); /** * Customer opening balance dialog. diff --git a/packages/webapp/src/containers/Dialogs/Customers/CustomerBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Customers/CustomerBulkDeleteDialog.tsx index bc00ed95f..a5940b891 100644 --- a/packages/webapp/src/containers/Dialogs/Customers/CustomerBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Customers/CustomerBulkDeleteDialog.tsx @@ -101,4 +101,3 @@ export const CustomerBulkDeleteDialog = compose( withDialogActions, withCustomersActions, )(CustomerBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/EstimateNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/EstimateNumberDialog/index.tsx index 29d1b433f..512767114 100644 --- a/packages/webapp/src/containers/Dialogs/EstimateNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/EstimateNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { saveInvoke, compose } from '@/utils'; -const EstimateNumberDialogContent = lazy(() => import('./EstimateNumberDialogContent').then(m => ({ default: m.EstimateNumberDialogContent }))); +const EstimateNumberDialogContent = lazy(() => + import('./EstimateNumberDialogContent').then((m) => ({ + default: m.EstimateNumberDialogContent, + })), +); /** * Estimate number dialog. diff --git a/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/EstimatePdfPreviewDialogContent.tsx b/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/EstimatePdfPreviewDialogContent.tsx index 921016d2e..36d03d303 100644 --- a/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/EstimatePdfPreviewDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/EstimatePdfPreviewDialogContent.tsx @@ -48,4 +48,6 @@ function EstimatePdfPreviewDialogContentInner({ ); } -export const EstimatePdfPreviewDialogContent = compose(withDialogActions)(EstimatePdfPreviewDialogContentInner); +export const EstimatePdfPreviewDialogContent = compose(withDialogActions)( + EstimatePdfPreviewDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/index.tsx b/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/index.tsx index b31255fb4..28b7bc7b6 100644 --- a/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/EstimatePdfPreviewDialog/index.tsx @@ -10,7 +10,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; // Lazy loading the content. -const PdfPreviewDialogContent = React.lazy(() => import('./EstimatePdfPreviewDialogContent').then(m => ({ default: m.EstimatePdfPreviewDialogContent }))); +const PdfPreviewDialogContent = React.lazy(() => + import('./EstimatePdfPreviewDialogContent').then((m) => ({ + default: m.EstimatePdfPreviewDialogContent, + })), +); /** * Estimate PDF preview dialog. diff --git a/packages/webapp/src/containers/Dialogs/Estimates/EstimateBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Estimates/EstimateBulkDeleteDialog.tsx index a0f777425..666c49258 100644 --- a/packages/webapp/src/containers/Dialogs/Estimates/EstimateBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Estimates/EstimateBulkDeleteDialog.tsx @@ -101,4 +101,3 @@ export const EstimateBulkDeleteDialog = compose( withDialogActions, withEstimatesActions, )(EstimateBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/Expenses/ExpenseBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Expenses/ExpenseBulkDeleteDialog.tsx index 548794829..03553049a 100644 --- a/packages/webapp/src/containers/Dialogs/Expenses/ExpenseBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Expenses/ExpenseBulkDeleteDialog.tsx @@ -101,4 +101,3 @@ export const ExpenseBulkDeleteDialog = compose( withDialogActions, withExpensesActions, )(ExpenseBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/ExportDialog/ExportDialogFormContent.tsx b/packages/webapp/src/containers/Dialogs/ExportDialog/ExportDialogFormContent.tsx index c4d849685..748fa1576 100644 --- a/packages/webapp/src/containers/Dialogs/ExportDialog/ExportDialogFormContent.tsx +++ b/packages/webapp/src/containers/Dialogs/ExportDialog/ExportDialogFormContent.tsx @@ -24,10 +24,7 @@ function ExportDialogFormContentRoot({ You can export data from Bigcapital in CSV or XLSX format - + import('./ExportDialogContent').then(m => ({ default: m.ExportDialogContent }))); +const ExportDialogContent = lazy(() => + import('./ExportDialogContent').then((m) => ({ + default: m.ExportDialogContent, + })), +); // User form dialog. function ExportDialogRoot({ dialogName, payload, isOpen }) { diff --git a/packages/webapp/src/containers/Dialogs/ExportDialog/type.ts b/packages/webapp/src/containers/Dialogs/ExportDialog/type.ts index 448c30cbc..5b5ee88cf 100644 --- a/packages/webapp/src/containers/Dialogs/ExportDialog/type.ts +++ b/packages/webapp/src/containers/Dialogs/ExportDialog/type.ts @@ -1,6 +1,4 @@ - - export interface ExportFormInitialValues { resource?: string; format?: string; -} \ No newline at end of file +} diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/DecrementAdjustmentFields.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/DecrementAdjustmentFields.tsx index 8ee862e0b..3f3eb8a49 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/DecrementAdjustmentFields.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/DecrementAdjustmentFields.tsx @@ -7,7 +7,6 @@ import { Row, Col, MoneyInputGroup, - FMoneyInputGroup, FFormGroup, FInputGroup, diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/IncrementAdjustmentFields.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/IncrementAdjustmentFields.tsx index 2e588c77f..6f26ca69c 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/IncrementAdjustmentFields.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/IncrementAdjustmentFields.tsx @@ -6,7 +6,6 @@ import { Row, Col, FMoneyInputGroup, - FFormGroup, FInputGroup, } from '@/components'; diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFloatingActions.tsx index a4ad42ec7..93cd2c216 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFloatingActions.tsx @@ -71,4 +71,6 @@ function InventoryAdjustmentFloatingActionsInner({ ); } -export const InventoryAdjustmentFloatingActions = compose(withDialogActions)(InventoryAdjustmentFloatingActionsInner); +export const InventoryAdjustmentFloatingActions = compose(withDialogActions)( + InventoryAdjustmentFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentForm.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentForm.tsx index 32efdc701..904a6a828 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentForm.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentForm.tsx @@ -83,4 +83,6 @@ function InventoryAdjustmentFormInner({ ); } -export const InventoryAdjustmentForm = compose(withDialogActions)(InventoryAdjustmentFormInner); +export const InventoryAdjustmentForm = compose(withDialogActions)( + InventoryAdjustmentFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogContent.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogContent.tsx index 44bbcf176..29358847b 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogContent.tsx @@ -12,7 +12,7 @@ import { InventoryAdjustmentForm } from './InventoryAdjustmentForm'; export function InventoryAdjustmentFormDialogContent({ // #ownProps dialogName, - itemId + itemId, }) { return ( diff --git a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogFields.tsx b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogFields.tsx index c4964229e..31bfec873 100644 --- a/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogFields.tsx +++ b/packages/webapp/src/containers/Dialogs/InventoryAdjustmentFormDialog/InventoryAdjustmentFormDialogFields.tsx @@ -7,7 +7,6 @@ import { useFormikContext } from 'formik'; import { Classes, FormGroup, Position } from '@blueprintjs/core'; import { FFormGroup, - FDateInput, FInputGroup, FTextArea, @@ -75,10 +74,7 @@ export function InventoryAdjustmentFormDialogFields() { - + - + import('./InventoryAdjustmentFormDialogContent').then(m => ({ default: m.InventoryAdjustmentFormDialogContent }))); +const InventoryAdjustmentFormDialogContent = lazy(() => + import('./InventoryAdjustmentFormDialogContent').then((m) => ({ + default: m.InventoryAdjustmentFormDialogContent, + })), +); /** * Inventory adjustments form dialog. diff --git a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserDialogContent.tsx b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserDialogContent.tsx index 6a01fef55..f7377da7f 100644 --- a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserDialogContent.tsx @@ -9,11 +9,7 @@ import '@/style/pages/Users/InviteFormDialog.scss'; /** * Invite user dialog content. */ -export function InviteUserDialogContent({ - action, - userId, - dialogName, -}) { +export function InviteUserDialogContent({ action, userId, dialogName }) { return ( diff --git a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserForm.tsx b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserForm.tsx index 2cd3a0624..4bb9a16e4 100644 --- a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserForm.tsx +++ b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserForm.tsx @@ -18,8 +18,8 @@ import { compose, objectKeysTransform } from '@/utils'; const initialValues = { email: '', - role_id: '' -} + role_id: '', +}; function InviteUserFormInner({ // #withDialogActions diff --git a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.tsx b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.tsx index a2e89562b..908a0d405 100644 --- a/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.tsx +++ b/packages/webapp/src/containers/Dialogs/InviteUserDialog/InviteUserFormContent.tsx @@ -78,4 +78,6 @@ function InviteUserFormContentInner({ ); } -export const InviteUserFormContent = compose(withDialogActions)(InviteUserFormContentInner); +export const InviteUserFormContent = compose(withDialogActions)( + InviteUserFormContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/InviteUserDialog/index.tsx b/packages/webapp/src/containers/Dialogs/InviteUserDialog/index.tsx index 09b6f66b1..7066cdff3 100644 --- a/packages/webapp/src/containers/Dialogs/InviteUserDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/InviteUserDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const UserFormDialogContent = lazy(() => import('./InviteUserDialogContent').then(m => ({ default: m.InviteUserDialogContent }))); +const UserFormDialogContent = lazy(() => + import('./InviteUserDialogContent').then((m) => ({ + default: m.InviteUserDialogContent, + })), +); // User form dialog. function UserFormDialog({ diff --git a/packages/webapp/src/containers/Dialogs/InvoiceNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/InvoiceNumberDialog/index.tsx index eca3a4a47..d4826e6fb 100644 --- a/packages/webapp/src/containers/Dialogs/InvoiceNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/InvoiceNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const InvoiceNumberDialogContent = lazy(() => import('./InvoiceNumberDialogContent').then(m => ({ default: m.InvoiceNumberDialogContent }))); +const InvoiceNumberDialogContent = lazy(() => + import('./InvoiceNumberDialogContent').then((m) => ({ + default: m.InvoiceNumberDialogContent, + })), +); /** * Invoice number dialog. diff --git a/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/InvoicePdfPreviewDialogContent.tsx b/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/InvoicePdfPreviewDialogContent.tsx index 449053954..829820eb6 100644 --- a/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/InvoicePdfPreviewDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/InvoicePdfPreviewDialogContent.tsx @@ -47,4 +47,6 @@ function InvoicePdfPreviewDialogContentInner({ ); } -export const InvoicePdfPreviewDialogContent = compose(withDialogActions)(InvoicePdfPreviewDialogContentInner); +export const InvoicePdfPreviewDialogContent = compose(withDialogActions)( + InvoicePdfPreviewDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/index.tsx b/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/index.tsx index d4bc87bb6..b1ef68540 100644 --- a/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/InvoicePdfPreviewDialog/index.tsx @@ -10,7 +10,11 @@ import { CLASSES } from '@/constants/classes'; import { compose } from '@/utils'; // Lazy loading the content. -const PdfPreviewDialogContent = lazy(() => import('./InvoicePdfPreviewDialogContent').then(m => ({ default: m.InvoicePdfPreviewDialogContent }))); +const PdfPreviewDialogContent = lazy(() => + import('./InvoicePdfPreviewDialogContent').then((m) => ({ + default: m.InvoicePdfPreviewDialogContent, + })), +); /** * Invoice PDF preview dialog. diff --git a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryForm.tsx b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryForm.tsx index 824935efc..591e73e3e 100644 --- a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryForm.tsx +++ b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryForm.tsx @@ -111,4 +111,6 @@ function ItemCategoryFormInner({ ); } -export const ItemCategoryForm = compose(withDialogActions)(ItemCategoryFormInner); +export const ItemCategoryForm = compose(withDialogActions)( + ItemCategoryFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFields.tsx b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFields.tsx index cc3eaedab..b49275c9d 100644 --- a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFields.tsx @@ -2,7 +2,6 @@ import React from 'react'; import { Classes } from '@blueprintjs/core'; import { - FieldRequiredHint, FFormGroup, FInputGroup, diff --git a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFooter.tsx b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFooter.tsx index b4ca6af9a..b83fa403a 100644 --- a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFooter.tsx +++ b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryFormFooter.tsx @@ -41,4 +41,6 @@ function ItemCategoryFormFooterInner({ ); } -export const ItemCategoryFormFooter = compose(withDialogActions)(ItemCategoryFormFooterInner); +export const ItemCategoryFormFooter = compose(withDialogActions)( + ItemCategoryFormFooterInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryProvider.tsx b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryProvider.tsx index 9d5317117..06e87d6b5 100644 --- a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryProvider.tsx +++ b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/ItemCategoryProvider.tsx @@ -13,12 +13,10 @@ const ItemCategoryContext = createContext(); * Accounts chart data provider. */ function ItemCategoryProvider({ itemCategoryId, dialogName, ...props }) { - const { data: itemCategory, isFetching: isItemCategoryLoading } = useItemCategory( - itemCategoryId, - { + const { data: itemCategory, isFetching: isItemCategoryLoading } = + useItemCategory(itemCategoryId, { enabled: !!itemCategoryId, - }, - ); + }); // Create and edit item category mutations. const { mutateAsync: createItemCategoryMutate } = useCreateItemCategory(); const { mutateAsync: editItemCategoryMutate } = useEditItemCategory(); @@ -39,7 +37,7 @@ function ItemCategoryProvider({ itemCategoryId, dialogName, ...props }) { editItemCategoryMutate, isNewMode, - isEditMode + isEditMode, }; return ( @@ -52,7 +50,6 @@ function ItemCategoryProvider({ itemCategoryId, dialogName, ...props }) { ); } -const useItemCategoryContext = () => - React.useContext(ItemCategoryContext); +const useItemCategoryContext = () => React.useContext(ItemCategoryContext); export { ItemCategoryProvider, useItemCategoryContext }; diff --git a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/index.tsx index adb98ea1b..b71477d89 100644 --- a/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ItemCategoryDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const ItemCategoryFormDialogContent = lazy(() => import('./ItemCategoryFormDialogContent').then(m => ({ default: m.ItemCategoryFormDialogContent }))); +const ItemCategoryFormDialogContent = lazy(() => + import('./ItemCategoryFormDialogContent').then((m) => ({ + default: m.ItemCategoryFormDialogContent, + })), +); /** * Item Category form dialog. diff --git a/packages/webapp/src/containers/Dialogs/Items/ItemBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Items/ItemBulkDeleteDialog.tsx index fa7f71337..b258e1405 100644 --- a/packages/webapp/src/containers/Dialogs/Items/ItemBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Items/ItemBulkDeleteDialog.tsx @@ -100,4 +100,3 @@ export const ItemBulkDeleteDialog = compose( withDialogActions, withItemsActions, )(ItemBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/JournalNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/JournalNumberDialog/index.tsx index c5aad110e..92f26394c 100644 --- a/packages/webapp/src/containers/Dialogs/JournalNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/JournalNumberDialog/index.tsx @@ -5,16 +5,20 @@ import { Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { saveInvoke, compose } from '@/utils'; -const JournalNumberDialogContent = lazy(() => import('./JournalNumberDialogContent').then(m => ({ default: m.JournalNumberDialogContent }))); +const JournalNumberDialogContent = lazy(() => + import('./JournalNumberDialogContent').then((m) => ({ + default: m.JournalNumberDialogContent, + })), +); function JournalNumberDialog({ dialogName, payload: { initialFormValues }, isOpen, - onConfirm + onConfirm, }) { const handleConfirm = (values) => { - saveInvoke(onConfirm, values) + saveInvoke(onConfirm, values); }; return ( @@ -36,6 +40,4 @@ function JournalNumberDialog({ ); } -export const index = compose( - withDialogRedux(), -)(JournalNumberDialog); +export const index = compose(withDialogRedux())(JournalNumberDialog); diff --git a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsDialogContent.tsx b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsDialogContent.tsx index d518dc570..9c2cfffeb 100644 --- a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsDialogContent.tsx @@ -12,7 +12,6 @@ export function LockingTransactionsDialogContent({ moduleName, isEnabled, }) { - return ( ); } -export const LockingTransactionsForm = compose(withDialogActions)(LockingTransactionsFormInner); +export const LockingTransactionsForm = compose(withDialogActions)( + LockingTransactionsFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFields.tsx b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFields.tsx index a461fbae7..732877115 100644 --- a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFields.tsx @@ -5,7 +5,6 @@ import classNames from 'classnames'; import { CLASSES } from '@/constants/classes'; import { FieldRequiredHint, - FFormGroup, FTextArea, FDateInput, diff --git a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFloatingActions.tsx index 5533d6e75..4569e3780 100644 --- a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/LockingTransactionsFormFloatingActions.tsx @@ -44,6 +44,6 @@ function LockingTransactionsFormFloatingActionsInner({ ); } -export const LockingTransactionsFormFloatingActions = compose(withDialogActions)( - LockingTransactionsFormFloatingActionsInner, -); +export const LockingTransactionsFormFloatingActions = compose( + withDialogActions, +)(LockingTransactionsFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/index.tsx b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/index.tsx index e1503cc9b..2f1dec4eb 100644 --- a/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/LockingTransactionsDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const LockingTransactionsDialogContent = React.lazy(() => import('./LockingTransactionsDialogContent').then(m => ({ default: m.LockingTransactionsDialogContent }))); +const LockingTransactionsDialogContent = React.lazy(() => + import('./LockingTransactionsDialogContent').then((m) => ({ + default: m.LockingTransactionsDialogContent, + })), +); /** * Locking Transactions dialog diff --git a/packages/webapp/src/containers/Dialogs/ManualJournals/ManualJournalBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/ManualJournals/ManualJournalBulkDeleteDialog.tsx index 6c60c9cc3..460cc97d3 100644 --- a/packages/webapp/src/containers/Dialogs/ManualJournals/ManualJournalBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/ManualJournals/ManualJournalBulkDeleteDialog.tsx @@ -103,4 +103,3 @@ export const ManualJournalBulkDeleteDialog = compose( withDialogActions, withManualJournalsActions, )(ManualJournalBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/NotifyEstimateViaSMSForm.tsx b/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/NotifyEstimateViaSMSForm.tsx index 1e3cf916b..44d08d876 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/NotifyEstimateViaSMSForm.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/NotifyEstimateViaSMSForm.tsx @@ -79,4 +79,6 @@ function NotifyEstimateViaSMSFormInner({ ); } -export const NotifyEstimateViaSMSForm = compose(withDialogActions)(NotifyEstimateViaSMSFormInner); +export const NotifyEstimateViaSMSForm = compose(withDialogActions)( + NotifyEstimateViaSMSFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/index.tsx b/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/index.tsx index 1a80bb175..a389402b7 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyEstimateViaSMSDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const NotifyEstimateViaSMSDialogContent = React.lazy(() => import('./NotifyEstimateViaSMSDialogContent').then(m => ({ default: m.NotifyEstimateViaSMSDialogContent }))); +const NotifyEstimateViaSMSDialogContent = React.lazy(() => + import('./NotifyEstimateViaSMSDialogContent').then((m) => ({ + default: m.NotifyEstimateViaSMSDialogContent, + })), +); function NotifyEstimateViaSMSDialog({ dialogName, diff --git a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSForm.tsx b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSForm.tsx index 5e38c2fa1..7b850f22d 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSForm.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSForm.tsx @@ -106,4 +106,6 @@ function NotifyInvoiceViaSMSFormInner({ ); } -export const NotifyInvoiceViaSMSForm = compose(withDialogActions)(NotifyInvoiceViaSMSFormInner); +export const NotifyInvoiceViaSMSForm = compose(withDialogActions)( + NotifyInvoiceViaSMSFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSFormProvider.tsx b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSFormProvider.tsx index 909e627c2..4ae9420c3 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSFormProvider.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/NotifyInvoiceViaSMSFormProvider.tsx @@ -1,7 +1,10 @@ // @ts-nocheck import React from 'react'; import { DialogContent } from '@/components'; -import { useCreateNotifyInvoiceBySMS, useInvoiceSMSDetail } from '@/hooks/query'; +import { + useCreateNotifyInvoiceBySMS, + useInvoiceSMSDetail, +} from '@/hooks/query'; const NotifyInvoiceViaSMSContext = React.createContext(); diff --git a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/index.tsx b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/index.tsx index c4504b3aa..33e8a725c 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyInvoiceViaSMSDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const NotifyInvoiceViaSMSDialogContent = React.lazy(() => import('./NotifyInvoiceViaSMSDialogContent').then(m => ({ default: m.NotifyInvoiceViaSMSDialogContent }))); +const NotifyInvoiceViaSMSDialogContent = React.lazy(() => + import('./NotifyInvoiceViaSMSDialogContent').then((m) => ({ + default: m.NotifyInvoiceViaSMSDialogContent, + })), +); function NotifyInvoiceViaSMSDialog({ dialogName, diff --git a/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/NotifyPaymentReceiveViaSMSForm.tsx b/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/NotifyPaymentReceiveViaSMSForm.tsx index d50db1830..f856b4178 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/NotifyPaymentReceiveViaSMSForm.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/NotifyPaymentReceiveViaSMSForm.tsx @@ -85,4 +85,6 @@ function NotifyPaymentReceiveViaSMSFormInner({ /> ); } -export const NotifyPaymentReceiveViaSMSForm = compose(withDialogActions)(NotifyPaymentReceiveViaSMSFormInner); +export const NotifyPaymentReceiveViaSMSForm = compose(withDialogActions)( + NotifyPaymentReceiveViaSMSFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/index.tsx b/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/index.tsx index 3a5f325aa..a1ef37129 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyPaymentReceiveViaSMSDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const NotifyPaymentReceiveViaSMSDialogContent = React.lazy(() => import('./NotifyPaymentReceiveViaSMSContent').then(m => ({ default: m.NotifyPaymentReceiveViaSMSContent }))); +const NotifyPaymentReceiveViaSMSDialogContent = React.lazy(() => + import('./NotifyPaymentReceiveViaSMSContent').then((m) => ({ + default: m.NotifyPaymentReceiveViaSMSContent, + })), +); function NotifyPaymentReciveViaSMSDialog({ dialogName, @@ -29,4 +33,6 @@ function NotifyPaymentReciveViaSMSDialog({ ); } -export const index = compose(withDialogRedux())(NotifyPaymentReciveViaSMSDialog); +export const index = compose(withDialogRedux())( + NotifyPaymentReciveViaSMSDialog, +); diff --git a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSForm.tsx b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSForm.tsx index 7220f5897..31d8aee6a 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSForm.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSForm.tsx @@ -32,7 +32,7 @@ function NotifyReceiptViaSMSFormInner({ } = useNotifyReceiptViaSMSContext(); const [calloutCode, setCalloutCode] = React.useState([]); - + // Handles the form submit. const handleFormSubmit = (values, { setSubmitting, setErrors }) => { // Handle request response success. @@ -83,4 +83,6 @@ function NotifyReceiptViaSMSFormInner({ ); } -export const NotifyReceiptViaSMSForm = compose(withDialogActions)(NotifyReceiptViaSMSFormInner); +export const NotifyReceiptViaSMSForm = compose(withDialogActions)( + NotifyReceiptViaSMSFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSFormProvider.tsx b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSFormProvider.tsx index 18d904d48..30d761a20 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSFormProvider.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/NotifyReceiptViaSMSFormProvider.tsx @@ -1,12 +1,15 @@ // @ts-nocheck import React from 'react'; import { DialogContent } from '@/components'; -import { useCreateNotifyReceiptBySMS, useReceiptSMSDetail } from '@/hooks/query'; +import { + useCreateNotifyReceiptBySMS, + useReceiptSMSDetail, +} from '@/hooks/query'; const NotifyReceiptViaSMSContext = React.createContext(); /** - * + * */ function NotifyReceiptViaSMSFormProvider({ receiptId, dialogName, ...props }) { // Create notfiy receipt via SMS mutations. diff --git a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/index.tsx b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/index.tsx index 1c5e4d119..c16243585 100644 --- a/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/NotifyReceiptViaSMSDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const NotifyReceiptViaSMSDialogContent = React.lazy(() => import('./NotifyReceiptViaSMSDialogContent').then(m => ({ default: m.NotifyReceiptViaSMSDialogContent }))); +const NotifyReceiptViaSMSDialogContent = React.lazy(() => + import('./NotifyReceiptViaSMSDialogContent').then((m) => ({ + default: m.NotifyReceiptViaSMSDialogContent, + })), +); function NotifyReceiptViaSMSDialog({ dialogName, diff --git a/packages/webapp/src/containers/Dialogs/PaymentReceiveNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/PaymentReceiveNumberDialog/index.tsx index f41ceffc8..6a21a6e6d 100644 --- a/packages/webapp/src/containers/Dialogs/PaymentReceiveNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/PaymentReceiveNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { saveInvoke, compose } from '@/utils'; -const PaymentReceiveNumbereDialogContent = lazy(() => import('./PaymentReceiveNumberDialogContent').then(m => ({ default: m.PaymentReceiveNumberDialogContent }))); +const PaymentReceiveNumbereDialogContent = lazy(() => + import('./PaymentReceiveNumberDialogContent').then((m) => ({ + default: m.PaymentReceiveNumberDialogContent, + })), +); /** * Payment receive number dialog. diff --git a/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/PaymentReceivePdfPreviewContent.tsx b/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/PaymentReceivePdfPreviewContent.tsx index 052ce8bdf..ef9ae2ecc 100644 --- a/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/PaymentReceivePdfPreviewContent.tsx +++ b/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/PaymentReceivePdfPreviewContent.tsx @@ -11,7 +11,8 @@ import { compose } from '@/utils'; function PaymentReceivePdfPreviewDialogContent({ subscriptionForm: { paymentReceiveId }, }) { - const { isLoading, pdfUrl, filename } = usePdfPaymentReceive(paymentReceiveId); + const { isLoading, pdfUrl, filename } = + usePdfPaymentReceive(paymentReceiveId); return ( diff --git a/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/index.tsx b/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/index.tsx index 46bf36bac..b4a821eee 100644 --- a/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/PaymentReceivePdfPreviewDialog/index.tsx @@ -10,7 +10,11 @@ import { CLASSES } from '@/constants/classes'; import { compose } from '@/utils'; // Lazy loading the content. -const PdfPreviewDialogContent = React.lazy(() => import('./PaymentReceivePdfPreviewContent').then(m => ({ default: m.PaymentReceivePdfPreviewContent }))); +const PdfPreviewDialogContent = React.lazy(() => + import('./PaymentReceivePdfPreviewContent').then((m) => ({ + default: m.PaymentReceivePdfPreviewContent, + })), +); /** * Payment receive PDF preview dialog. diff --git a/packages/webapp/src/containers/Dialogs/PaymentsReceived/PaymentReceivedBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/PaymentsReceived/PaymentReceivedBulkDeleteDialog.tsx index c1485c3d1..36b4d4858 100644 --- a/packages/webapp/src/containers/Dialogs/PaymentsReceived/PaymentReceivedBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/PaymentsReceived/PaymentReceivedBulkDeleteDialog.tsx @@ -105,4 +105,3 @@ export const PaymentReceivedBulkDeleteDialog = compose( withDialogActions, withPaymentsReceivedActions, )(PaymentReceivedBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMade.schema.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMade.schema.tsx index 51b6c9d2d..c3a11c38e 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMade.schema.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMade.schema.tsx @@ -4,12 +4,8 @@ import intl from 'react-intl-universal'; import { DATATYPES_LENGTH } from '@/constants/dataTypes'; const Schema = Yup.object().shape({ - vendor_id: Yup.string() - .label(intl.get('vendor_name_')) - .required(), - payment_date: Yup.date() - .required() - .label(intl.get('payment_date_')), + vendor_id: Yup.string().label(intl.get('vendor_name_')).required(), + payment_date: Yup.date().required().label(intl.get('payment_date_')), payment_number: Yup.string() .nullable() .max(DATATYPES_LENGTH.STRING) diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFloatingActions.tsx index bb6a0be81..279821a6e 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFloatingActions.tsx @@ -41,4 +41,6 @@ function QuickPaymentMadeFloatingActionsInner({ ); } -export const QuickPaymentMadeFloatingActions = compose(withDialogActions)(QuickPaymentMadeFloatingActionsInner); +export const QuickPaymentMadeFloatingActions = compose(withDialogActions)( + QuickPaymentMadeFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeForm.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeForm.tsx index 7055624cf..7b71d4662 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeForm.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeForm.tsx @@ -10,7 +10,11 @@ import { useQuickPaymentMadeContext } from './QuickPaymentMadeFormProvider'; import { QuickPaymentMadeFormContent } from './QuickPaymentMadeFormContent'; import { withDialogActions } from '@/containers/Dialog/withDialogActions'; -import { defaultPaymentMade, transformBillToForm, transformErrors } from './utils'; +import { + defaultPaymentMade, + transformBillToForm, + transformErrors, +} from './utils'; import { compose } from '@/utils'; /** @@ -73,4 +77,6 @@ function QuickPaymentMadeFormInner({ ); } -export const QuickPaymentMadeForm = compose(withDialogActions)(QuickPaymentMadeFormInner); +export const QuickPaymentMadeForm = compose(withDialogActions)( + QuickPaymentMadeFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFormFields.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFormFields.tsx index 8fae162f8..2b8423f2a 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/QuickPaymentMadeFormFields.tsx @@ -13,7 +13,6 @@ import { FieldRequiredHint, Col, Row, - FAccountsSuggestField, InputPrependText, MoneyInputGroup, @@ -164,14 +163,16 @@ function QuickPaymentMadeFormFieldsInner({ ); } -export const QuickPaymentMadeFormFields = compose(withCurrentOrganization())(QuickPaymentMadeFormFieldsInner); +export const QuickPaymentMadeFormFields = compose(withCurrentOrganization())( + QuickPaymentMadeFormFieldsInner, +); export const BranchRowDivider = styled.div` height: 1px; background: #ebf1f6; margin-bottom: 15px; - .bp4-dark &{ + .bp4-dark & { background: rgba(255, 255, 255, 0.1); } `; diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/index.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/index.tsx index 4563c5b42..5f9b0476c 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const QuickPaymentMadeFormDialogContent = lazy(() => import('./QuickPaymentMadeFormDialogContent').then(m => ({ default: m.QuickPaymentMadeFormDialogContent }))); +const QuickPaymentMadeFormDialogContent = lazy(() => + import('./QuickPaymentMadeFormDialogContent').then((m) => ({ + default: m.QuickPaymentMadeFormDialogContent, + })), +); /** * Quick payment made form dialog. diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/utils.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/utils.tsx index 23d5b832c..e6ebff6a7 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/utils.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentMadeFormDialog/utils.tsx @@ -66,4 +66,4 @@ export const transformBillToForm = (bill) => { amount: bill.due_amount, bill_id: bill.id, }; -} +}; diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFloatingActions.tsx index c27c3ed33..972817fb7 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFloatingActions.tsx @@ -40,4 +40,6 @@ function QuickPaymentReceiveFloatingActionsInner({ ); } -export const QuickPaymentReceiveFloatingActions = compose(withDialogActions)(QuickPaymentReceiveFloatingActionsInner); +export const QuickPaymentReceiveFloatingActions = compose(withDialogActions)( + QuickPaymentReceiveFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFormFields.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFormFields.tsx index 2b3dfd4f7..0416fc346 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/QuickPaymentReceiveFormFields.tsx @@ -12,7 +12,6 @@ import { Row, Col, FieldRequiredHint, - FAccountsSuggestField, InputPrependText, MoneyInputGroup, diff --git a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/index.tsx b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/index.tsx index 15cf38772..bfb922d15 100644 --- a/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/QuickPaymentReceiveFormDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const QuickPaymentReceiveFormDialogContent = lazy(() => import('./QuickPaymentReceiveFormDialogContent').then(m => ({ default: m.QuickPaymentReceiveFormDialogContent }))); +const QuickPaymentReceiveFormDialogContent = lazy(() => + import('./QuickPaymentReceiveFormDialogContent').then((m) => ({ + default: m.QuickPaymentReceiveFormDialogContent, + })), +); /** * Quick payment receive form dialog. diff --git a/packages/webapp/src/containers/Dialogs/ReceiptNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ReceiptNumberDialog/index.tsx index 915fdbabb..6165c9c32 100644 --- a/packages/webapp/src/containers/Dialogs/ReceiptNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ReceiptNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const ReceiptNumberDialogContent = lazy(() => import('./ReceiptNumberDialogContent').then(m => ({ default: m.ReceiptNumberDialogContent }))); +const ReceiptNumberDialogContent = lazy(() => + import('./ReceiptNumberDialogContent').then((m) => ({ + default: m.ReceiptNumberDialogContent, + })), +); /** * Sale receipt number dialog. diff --git a/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/ReceiptPdfPreviewDialogContent.tsx b/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/ReceiptPdfPreviewDialogContent.tsx index 99ddf80ef..4bdb0c24a 100644 --- a/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/ReceiptPdfPreviewDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/ReceiptPdfPreviewDialogContent.tsx @@ -47,4 +47,6 @@ function ReceiptPdfPreviewDialogContentInner({ ); } -export const ReceiptPdfPreviewDialogContent = compose(withDialogActions)(ReceiptPdfPreviewDialogContentInner); +export const ReceiptPdfPreviewDialogContent = compose(withDialogActions)( + ReceiptPdfPreviewDialogContentInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/index.tsx index 65ac6f4cb..1692b7384 100644 --- a/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ReceiptPdfPreviewDialog/index.tsx @@ -8,7 +8,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; // Lazy loading the content. -const PdfPreviewDialogContent = React.lazy(() => import('./ReceiptPdfPreviewDialogContent').then(m => ({ default: m.ReceiptPdfPreviewDialogContent }))); +const PdfPreviewDialogContent = React.lazy(() => + import('./ReceiptPdfPreviewDialogContent').then((m) => ({ + default: m.ReceiptPdfPreviewDialogContent, + })), +); /** * Receipt Pdf preview dialog. diff --git a/packages/webapp/src/containers/Dialogs/Receipts/ReceiptBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Receipts/ReceiptBulkDeleteDialog.tsx index ee98d80e3..11eb2dcbd 100644 --- a/packages/webapp/src/containers/Dialogs/Receipts/ReceiptBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Receipts/ReceiptBulkDeleteDialog.tsx @@ -101,4 +101,3 @@ export const ReceiptBulkDeleteDialog = compose( withDialogActions, withReceiptsActions, )(ReceiptBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteForm.tsx b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteForm.tsx index 1acbd98ff..ed8938180 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteForm.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteForm.tsx @@ -95,4 +95,6 @@ function ReconcileCreditNoteFormInner({ ); } -export const ReconcileCreditNoteForm = compose(withDialogActions)(ReconcileCreditNoteFormInner); +export const ReconcileCreditNoteForm = compose(withDialogActions)( + ReconcileCreditNoteFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteFormFloatingActions.tsx index 821a7e030..4a2c6df4e 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/ReconcileCreditNoteFormFloatingActions.tsx @@ -43,6 +43,6 @@ function ReconcileCreditNoteFormFloatingActionsInner({ ); } -export const ReconcileCreditNoteFormFloatingActions = compose(withDialogActions)( - ReconcileCreditNoteFormFloatingActionsInner, -); +export const ReconcileCreditNoteFormFloatingActions = compose( + withDialogActions, +)(ReconcileCreditNoteFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/index.tsx index b2748d526..599d5f4cc 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileCreditNoteDialog/index.tsx @@ -4,7 +4,11 @@ import { FormattedMessage as T, Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const ReconcileCreditNoteDialogContent = React.lazy(() => import('./ReconcileCreditNoteDialogContent').then(m => ({ default: m.ReconcileCreditNoteDialogContent }))); +const ReconcileCreditNoteDialogContent = React.lazy(() => + import('./ReconcileCreditNoteDialogContent').then((m) => ({ + default: m.ReconcileCreditNoteDialogContent, + })), +); /** * Reconcile credit note dialog. diff --git a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFloatingActions.tsx index c69c46730..91f8a0c65 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFloatingActions.tsx @@ -40,4 +40,6 @@ function ReconcileVendorCreditFloatingActionsInner({ ); } -export const ReconcileVendorCreditFloatingActions = compose(withDialogActions)(ReconcileVendorCreditFloatingActionsInner); +export const ReconcileVendorCreditFloatingActions = compose(withDialogActions)( + ReconcileVendorCreditFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditForm.tsx b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditForm.tsx index 47c8b11da..7f0c5cdd0 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditForm.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditForm.tsx @@ -95,4 +95,6 @@ function ReconcileVendorCreditFormInner({ /> ); } -export const ReconcileVendorCreditForm = compose(withDialogActions)(ReconcileVendorCreditFormInner); +export const ReconcileVendorCreditForm = compose(withDialogActions)( + ReconcileVendorCreditFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFormProvider.tsx b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFormProvider.tsx index d353d7030..00e5133d2 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFormProvider.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/ReconcileVendorCreditFormProvider.tsx @@ -18,7 +18,6 @@ function ReconcileVendorCreditFormProvider({ dialogName, ...props }) { - // Handle fetch reconcile const { isLoading: isReconcileVendorCreditLoading, diff --git a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/index.tsx b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/index.tsx index 347bfb43e..6baab5235 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/index.tsx @@ -4,7 +4,11 @@ import { FormattedMessage as T, Dialog, DialogSuspense } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const ReconcileVendorCreditDialogContent = React.lazy(() => import('./ReconcileVendorCreditDialogContent').then(m => ({ default: m.ReconcileVendorCreditDialogContent }))); +const ReconcileVendorCreditDialogContent = React.lazy(() => + import('./ReconcileVendorCreditDialogContent').then((m) => ({ + default: m.ReconcileVendorCreditDialogContent, + })), +); /** * Reconcile vendor credit dialog. diff --git a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/utils.tsx b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/utils.tsx index 4ee4ca005..7b540fa98 100644 --- a/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/utils.tsx +++ b/packages/webapp/src/containers/Dialogs/ReconcileVendorCreditDialog/utils.tsx @@ -5,7 +5,7 @@ import clsx from 'classnames'; import { Callout, Intent, Classes } from '@blueprintjs/core'; import { CLASSES } from '@/constants/classes'; -import {T , MoneyFieldCell, FormatDateCell } from '@/components'; +import { T, MoneyFieldCell, FormatDateCell } from '@/components'; export const transformErrors = (errors, { setErrors }) => {}; diff --git a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFloatingActions.tsx index c8943c0e2..886aca17b 100644 --- a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFloatingActions.tsx @@ -43,4 +43,6 @@ function RefundCreditNoteFloatingActionsInner({ ); } -export const RefundCreditNoteFloatingActions = compose(withDialogActions)(RefundCreditNoteFloatingActionsInner); +export const RefundCreditNoteFloatingActions = compose(withDialogActions)( + RefundCreditNoteFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteForm.tsx b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteForm.tsx index 028853658..d3f5f00ab 100644 --- a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteForm.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteForm.tsx @@ -75,4 +75,6 @@ function RefundCreditNoteFormInner({ /> ); } -export const RefundCreditNoteForm = compose(withDialogActions)(RefundCreditNoteFormInner); +export const RefundCreditNoteForm = compose(withDialogActions)( + RefundCreditNoteFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFormFields.tsx b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFormFields.tsx index 5df2864e3..407e483d6 100644 --- a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/RefundCreditNoteFormFields.tsx @@ -24,7 +24,6 @@ import { FAccountsSuggestField, InputPrependText, MoneyInputGroup, - ExchangeRateMutedField, BranchSelect, FeatureCan, @@ -140,7 +139,6 @@ function RefundCreditNoteFormFieldsInner({ name={'amount'} minimal={true} inputRef={(ref) => (amountFieldRef.current = ref)} - /> @@ -158,7 +156,12 @@ function RefundCreditNoteFormFieldsInner({ {/* ------------ Reference No. ------------ */} - + @@ -175,7 +178,9 @@ function RefundCreditNoteFormFieldsInner({ ); } -export const RefundCreditNoteFormFields = compose(withCurrentOrganization())(RefundCreditNoteFormFieldsInner); +export const RefundCreditNoteFormFields = compose(withCurrentOrganization())( + RefundCreditNoteFormFieldsInner, +); export const BranchRowDivider = styled.div` --x-divider-color: #ebf1f6; diff --git a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/index.tsx b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/index.tsx index 0a7d79866..33f1bd0b6 100644 --- a/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundCreditNoteDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const RefundCreditNoteDialogContent = React.lazy(() => import('./RefundCreditNoteDialogContent').then(m => ({ default: m.RefundCreditNoteDialogContent }))); +const RefundCreditNoteDialogContent = React.lazy(() => + import('./RefundCreditNoteDialogContent').then((m) => ({ + default: m.RefundCreditNoteDialogContent, + })), +); /** * Refund credit note dialog. diff --git a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFloatingActions.tsx index c3d9cc034..0ec6e1228 100644 --- a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFloatingActions.tsx @@ -44,4 +44,6 @@ function RefundVendorCreditFloatingActionsInner({ ); } -export const RefundVendorCreditFloatingActions = compose(withDialogActions)(RefundVendorCreditFloatingActionsInner); +export const RefundVendorCreditFloatingActions = compose(withDialogActions)( + RefundVendorCreditFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditForm.tsx b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditForm.tsx index c9c0f5077..aa667a056 100644 --- a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditForm.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditForm.tsx @@ -77,4 +77,6 @@ function RefundVendorCreditFormInner({ ); } -export const RefundVendorCreditForm = compose(withDialogActions)(RefundVendorCreditFormInner); +export const RefundVendorCreditForm = compose(withDialogActions)( + RefundVendorCreditFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFormFields.tsx b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFormFields.tsx index 908411435..eecc32104 100644 --- a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/RefundVendorCreditFormFields.tsx @@ -16,7 +16,6 @@ import { FAccountsSuggestField, InputPrependText, FMoneyInputGroup, - ExchangeRateMutedField, BranchSelect, FeatureCan, @@ -152,14 +151,21 @@ function RefundVendorCreditFormFieldsInner({ {/* --------- Statement --------- */} - + ); } -export const RefundVendorCreditFormFields = compose(withCurrentOrganization())(RefundVendorCreditFormFieldsInner); +export const RefundVendorCreditFormFields = compose(withCurrentOrganization())( + RefundVendorCreditFormFieldsInner, +); export const BranchRowDivider = styled.div` --x-divider-color: #ebf1f6; diff --git a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/index.tsx b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/index.tsx index 66dfac0ba..5445148c5 100644 --- a/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/RefundVendorCreditDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const RefundVendorCreditDialogContent = React.lazy(() => import('./RefundVendorCreditDialogContent').then(m => ({ default: m.RefundVendorCreditDialogContent }))); +const RefundVendorCreditDialogContent = React.lazy(() => + import('./RefundVendorCreditDialogContent').then((m) => ({ + default: m.RefundVendorCreditDialogContent, + })), +); /** * Refund vendor credit dialog. diff --git a/packages/webapp/src/containers/Dialogs/SMSMessageDialog/SMSMessageFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/SMSMessageDialog/SMSMessageFormFloatingActions.tsx index de99bad6f..a7a002475 100644 --- a/packages/webapp/src/containers/Dialogs/SMSMessageDialog/SMSMessageFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/SMSMessageDialog/SMSMessageFormFloatingActions.tsx @@ -50,4 +50,6 @@ function SMSMessageFormFloatingActionsInner({ ); } -export const SMSMessageFormFloatingActions = compose(withDialogActions)(SMSMessageFormFloatingActionsInner); +export const SMSMessageFormFloatingActions = compose(withDialogActions)( + SMSMessageFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/SMSMessageDialog/index.tsx b/packages/webapp/src/containers/Dialogs/SMSMessageDialog/index.tsx index 345f9ff24..2b65bd2bb 100644 --- a/packages/webapp/src/containers/Dialogs/SMSMessageDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/SMSMessageDialog/index.tsx @@ -6,7 +6,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const SMSMessageDialogContent = React.lazy(() => import('./SMSMessageDialogContent').then(m => ({ default: m.SMSMessageDialogContent }))); +const SMSMessageDialogContent = React.lazy(() => + import('./SMSMessageDialogContent').then((m) => ({ + default: m.SMSMessageDialogContent, + })), +); /** * SMS Message dialog. diff --git a/packages/webapp/src/containers/Dialogs/TransactionNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/TransactionNumberDialog/index.tsx index f65433cb2..b4dd8e6ca 100644 --- a/packages/webapp/src/containers/Dialogs/TransactionNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/TransactionNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const TransactionNumberDialogContent = React.lazy(() => import('./TransactionNumberDialogContent').then(m => ({ default: m.TransactionNumberDialogContent }))); +const TransactionNumberDialogContent = React.lazy(() => + import('./TransactionNumberDialogContent').then((m) => ({ + default: m.TransactionNumberDialogContent, + })), +); /** * Transaction number dialog. diff --git a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsForm.tsx b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsForm.tsx index c56d98b58..22b713436 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsForm.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsForm.tsx @@ -77,4 +77,6 @@ function UnlockingPartialTransactionsFormInner({ ); } -export const UnlockingPartialTransactionsForm = compose(withDialogActions)(UnlockingPartialTransactionsFormInner); +export const UnlockingPartialTransactionsForm = compose(withDialogActions)( + UnlockingPartialTransactionsFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFields.tsx b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFields.tsx index 58158bdca..920cf061a 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFields.tsx @@ -7,7 +7,6 @@ import { FieldRequiredHint, Col, Row, - FFormGroup, FDateInput, FTextArea, diff --git a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFloatingActions.tsx index 930661c44..7d56ce7b5 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/UnlockingPartialTransactionsFormFloatingActions.tsx @@ -44,6 +44,6 @@ function UnlockingPartialTransactionsFormFloatingActionsInner({ ); } -export const UnlockingPartialTransactionsFormFloatingActions = compose(withDialogActions)( - UnlockingPartialTransactionsFormFloatingActionsInner, -); +export const UnlockingPartialTransactionsFormFloatingActions = compose( + withDialogActions, +)(UnlockingPartialTransactionsFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/index.tsx b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/index.tsx index 822c91eab..79e58e1c0 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingPartialTransactionsDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const UnlockingPartialTransactionsDialogContent = React.lazy(() => import('./UnlockingPartialTransactionsDialogContent').then(m => ({ default: m.UnlockingPartialTransactionsDialogContent }))); +const UnlockingPartialTransactionsDialogContent = React.lazy(() => + import('./UnlockingPartialTransactionsDialogContent').then((m) => ({ + default: m.UnlockingPartialTransactionsDialogContent, + })), +); /** * UncLocking Partial transactions dialog. @@ -33,4 +37,6 @@ function UnLockingPartialTransactionsDilaog({ ); } -export const index = compose(withDialogRedux())(UnLockingPartialTransactionsDilaog); +export const index = compose(withDialogRedux())( + UnLockingPartialTransactionsDilaog, +); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsDialogContent.tsx b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsDialogContent.tsx index 56d4a172c..d96a591ef 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsDialogContent.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsDialogContent.tsx @@ -10,7 +10,10 @@ export function UnlockingTransactionsDialogContent({ dialogName, }) { return ( - + ); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsForm.tsx b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsForm.tsx index 5b1df2972..ba6ced316 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsForm.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsForm.tsx @@ -74,4 +74,6 @@ function UnlockingTransactionsFormInner({ /> ); } -export const UnlockingTransactionsForm = compose(withDialogActions)(UnlockingTransactionsFormInner); +export const UnlockingTransactionsForm = compose(withDialogActions)( + UnlockingTransactionsFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsFormFloatingActions.tsx index 95915388e..96de41544 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/UnlockingTransactionsFormFloatingActions.tsx @@ -44,6 +44,6 @@ function UnlockingTransactionsFormFloatingActionsInner({ ); } -export const UnlockingTransactionsFormFloatingActions = compose(withDialogActions)( - UnlockingTransactionsFormFloatingActionsInner, -); +export const UnlockingTransactionsFormFloatingActions = compose( + withDialogActions, +)(UnlockingTransactionsFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/index.tsx b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/index.tsx index 54c6ba35a..8c80e9051 100644 --- a/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/UnlockingTransactionsDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const UnlockingTransactionsDialogContent = React.lazy(() => import('./UnlockingTransactionsDialogContent').then(m => ({ default: m.UnlockingTransactionsDialogContent }))); +const UnlockingTransactionsDialogContent = React.lazy(() => + import('./UnlockingTransactionsDialogContent').then((m) => ({ + default: m.UnlockingTransactionsDialogContent, + })), +); /** * Unlocking transactions dialog. diff --git a/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormContent.tsx b/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormContent.tsx index 4b1ed48fc..e43de486e 100644 --- a/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormContent.tsx +++ b/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormContent.tsx @@ -1,14 +1,15 @@ // @ts-nocheck import React from 'react'; -import { - Intent, - Classes, - Button, -} from '@blueprintjs/core'; +import { Intent, Classes, Button } from '@blueprintjs/core'; import { Form, useFormikContext } from 'formik'; import classNames from 'classnames'; -import { FFormGroup, FInputGroup, FSelect, FormattedMessage as T } from '@/components'; +import { + FFormGroup, + FInputGroup, + FSelect, + FormattedMessage as T, +} from '@/components'; import { CLASSES } from '@/constants/classes'; import { FieldRequiredHint } from '@/components'; import { useUserFormContext } from './UserFormProvider'; diff --git a/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormProvider.tsx b/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormProvider.tsx index ce4246a05..5f3690826 100644 --- a/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormProvider.tsx +++ b/packages/webapp/src/containers/Dialogs/UserFormDialog/UserFormProvider.tsx @@ -27,13 +27,11 @@ function UserFormProvider({ userId, dialogName, ...props }) { const { data: roles, isLoading: isRolesLoading } = useRoles(); // Retrieve authenticated user information. - const { - data: authAccountData, - } = useAuthenticatedAccount(); + const { data: authAccountData } = useAuthenticatedAccount(); const isEditMode = userId; - const isAuth = user.system_user_id == authAccountData?.id + const isAuth = user.system_user_id == authAccountData?.id; // Provider state. const provider = { diff --git a/packages/webapp/src/containers/Dialogs/UserFormDialog/index.tsx b/packages/webapp/src/containers/Dialogs/UserFormDialog/index.tsx index 84648fce4..2abfadbd8 100644 --- a/packages/webapp/src/containers/Dialogs/UserFormDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/UserFormDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const UserFormDialogContent = lazy(() => import('./UserFormDialogContent').then(m => ({ default: m.UserFormDialogContent }))); +const UserFormDialogContent = lazy(() => + import('./UserFormDialogContent').then((m) => ({ + default: m.UserFormDialogContent, + })), +); function UserFormDialog({ dialogName, diff --git a/packages/webapp/src/containers/Dialogs/VendorCreditNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/VendorCreditNumberDialog/index.tsx index 3e07d4c07..2da9af9fc 100644 --- a/packages/webapp/src/containers/Dialogs/VendorCreditNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorCreditNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const VendorCreditNumberDialogContent = React.lazy(() => import('./VendorCreditNumberDialogContent').then(m => ({ default: m.VendorCreditNumberDialogContent }))); +const VendorCreditNumberDialogContent = React.lazy(() => + import('./VendorCreditNumberDialogContent').then((m) => ({ + default: m.VendorCreditNumberDialogContent, + })), +); /** * Vendor Credit number dialog. diff --git a/packages/webapp/src/containers/Dialogs/VendorCredits/VendorCreditBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/VendorCredits/VendorCreditBulkDeleteDialog.tsx index a06408a1a..e84ae2818 100644 --- a/packages/webapp/src/containers/Dialogs/VendorCredits/VendorCreditBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorCredits/VendorCreditBulkDeleteDialog.tsx @@ -41,9 +41,7 @@ function VendorCreditBulkDeleteDialogInner({ }) .then(() => { AppToaster.show({ - message: intl.get( - 'the_vendor_credits_has_been_deleted_successfully', - ), + message: intl.get('the_vendor_credits_has_been_deleted_successfully'), intent: Intent.SUCCESS, }); setVendorsCreditNoteSelectedRows([]); @@ -103,4 +101,3 @@ export const VendorCreditBulkDeleteDialog = compose( withDialogActions, withVendorsCreditNotesActions, )(VendorCreditBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceForm.tsx b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceForm.tsx index 0e074f1c3..619925e21 100644 --- a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceForm.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceForm.tsx @@ -38,14 +38,15 @@ function VendorOpeningBalanceFormInner({ ...defaultInitialValues, ...vendor, opening_balance: defaultTo(vendor.opening_balance, ''), - }; // Handles the form submit. const handleFormSubmit = (values, { setSubmitting, setErrors }) => { const formValues = { ...values, - opening_balance_at: moment(values.opening_balance_at).format('YYYY-MM-DD'), + opening_balance_at: moment(values.opening_balance_at).format( + 'YYYY-MM-DD', + ), }; // Handle request response success. @@ -82,4 +83,6 @@ function VendorOpeningBalanceFormInner({ /> ); } -export const VendorOpeningBalanceForm = compose(withDialogActions)(VendorOpeningBalanceFormInner); +export const VendorOpeningBalanceForm = compose(withDialogActions)( + VendorOpeningBalanceFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFields.tsx b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFields.tsx index 0e6f6c8a0..1572ac95c 100644 --- a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFields.tsx @@ -11,7 +11,6 @@ import classNames from 'classnames'; import { If, Icon, - ExchangeRateMutedField, BranchSelect, FeatureCan, @@ -110,6 +109,6 @@ function VendorOpeningBalanceFormFieldsInner({ ); } -export const VendorOpeningBalanceFormFields = compose(withCurrentOrganization())( - VendorOpeningBalanceFormFieldsInner, -); +export const VendorOpeningBalanceFormFields = compose( + withCurrentOrganization(), +)(VendorOpeningBalanceFormFieldsInner); diff --git a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFloatingActions.tsx index 09f6cec96..7f7f0cfa0 100644 --- a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/VendorOpeningBalanceFormFloatingActions.tsx @@ -45,6 +45,6 @@ function VendorOpeningBalanceFormFloatingActionsInner({ ); } -export const VendorOpeningBalanceFormFloatingActions = compose(withDialogActions)( - VendorOpeningBalanceFormFloatingActionsInner, -); +export const VendorOpeningBalanceFormFloatingActions = compose( + withDialogActions, +)(VendorOpeningBalanceFormFloatingActionsInner); diff --git a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/index.tsx b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/index.tsx index e7a3d0c40..5e3845f08 100644 --- a/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/VendorOpeningBalanceDialog/index.tsx @@ -5,7 +5,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const VendorOpeningBalanceDialogContent = React.lazy(() => import('./VendorOpeningBalanceDialogContent').then(m => ({ default: m.VendorOpeningBalanceDialogContent }))); +const VendorOpeningBalanceDialogContent = React.lazy(() => + import('./VendorOpeningBalanceDialogContent').then((m) => ({ + default: m.VendorOpeningBalanceDialogContent, + })), +); /** * Vendor Opening balance dialog. diff --git a/packages/webapp/src/containers/Dialogs/Vendors/VendorBulkDeleteDialog.tsx b/packages/webapp/src/containers/Dialogs/Vendors/VendorBulkDeleteDialog.tsx index 894244d12..c85fc87d4 100644 --- a/packages/webapp/src/containers/Dialogs/Vendors/VendorBulkDeleteDialog.tsx +++ b/packages/webapp/src/containers/Dialogs/Vendors/VendorBulkDeleteDialog.tsx @@ -100,4 +100,3 @@ export const VendorBulkDeleteDialog = compose( withDialogActions, withVendorsActions, )(VendorBulkDeleteDialogInner); - diff --git a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateForm.tsx b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateForm.tsx index f553435d7..79198bb68 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateForm.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateForm.tsx @@ -61,4 +61,6 @@ function WarehouseActivateFormInner({ /> ); } -export const WarehouseActivateForm = compose(withDialogActions)(WarehouseActivateFormInner); +export const WarehouseActivateForm = compose(withDialogActions)( + WarehouseActivateFormInner, +); diff --git a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateFormFloatingActions.tsx index 926f47582..e59d684f9 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/WarehouseActivateFormFloatingActions.tsx @@ -44,4 +44,6 @@ function WarehouseActivateFormFloatingActionsInner({ ); } -export const WarehouseActivateFormFloatingActions = compose(withDialogActions)(WarehouseActivateFormFloatingActionsInner); +export const WarehouseActivateFormFloatingActions = compose(withDialogActions)( + WarehouseActivateFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/index.tsx b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/index.tsx index e751aa2b9..bb770f5ca 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseActivateDialog/index.tsx @@ -5,7 +5,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const WarehouseActivateDialogContent = React.lazy(() => import('./WarehouseActivateDialogContent').then(m => ({ default: m.WarehouseActivateDialogContent }))); +const WarehouseActivateDialogContent = React.lazy(() => + import('./WarehouseActivateDialogContent').then((m) => ({ + default: m.WarehouseActivateDialogContent, + })), +); /** * Warehouse activate dialog. diff --git a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFields.tsx b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFields.tsx index 6dc903e9a..f2ac4251b 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFields.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFields.tsx @@ -4,12 +4,7 @@ import intl from 'react-intl-universal'; import styled from 'styled-components'; import { Classes, ControlGroup } from '@blueprintjs/core'; -import { - FieldRequiredHint, - - FFormGroup, - FInputGroup, -} from '@/components'; +import { FieldRequiredHint, FFormGroup, FInputGroup } from '@/components'; /** * Warehouse form fields. @@ -48,9 +43,7 @@ export function WarehouseFormFields() { > diff --git a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFloatingActions.tsx b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFloatingActions.tsx index 60744d6f5..73b106d3b 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFloatingActions.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/WarehouseFormFloatingActions.tsx @@ -46,4 +46,6 @@ function WarehouseFormFloatingActionsInner({ ); } -export const WarehouseFormFloatingActions = compose(withDialogActions)(WarehouseFormFloatingActionsInner); +export const WarehouseFormFloatingActions = compose(withDialogActions)( + WarehouseFormFloatingActionsInner, +); diff --git a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/index.tsx b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/index.tsx index 941b1572e..7ad547f91 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseFormDialog/index.tsx @@ -5,7 +5,11 @@ import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const WarehouseFormDialogContent = React.lazy(() => import('./WarehouseFormDialogContent').then(m => ({ default: m.WarehouseFormDialogContent }))); +const WarehouseFormDialogContent = React.lazy(() => + import('./WarehouseFormDialogContent').then((m) => ({ + default: m.WarehouseFormDialogContent, + })), +); /** * Warehouse form form dialog. diff --git a/packages/webapp/src/containers/Dialogs/WarehouseTransferNumberDialog/index.tsx b/packages/webapp/src/containers/Dialogs/WarehouseTransferNumberDialog/index.tsx index ef1c904ae..058aa99ad 100644 --- a/packages/webapp/src/containers/Dialogs/WarehouseTransferNumberDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/WarehouseTransferNumberDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose, saveInvoke } from '@/utils'; -const WarehouseTransferNumberDialogContent = React.lazy(() => import('./WarehouseTransferNumberDialogContent').then(m => ({ default: m.WarehouseTransferNumberDialogContent }))); +const WarehouseTransferNumberDialogContent = React.lazy(() => + import('./WarehouseTransferNumberDialogContent').then((m) => ({ + default: m.WarehouseTransferNumberDialogContent, + })), +); /** * Warehouse transfer number dialog. diff --git a/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/KeyboardShortcutsFooter.tsx b/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/KeyboardShortcutsFooter.tsx index 65df5aeea..e0db23485 100644 --- a/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/KeyboardShortcutsFooter.tsx +++ b/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/KeyboardShortcutsFooter.tsx @@ -23,4 +23,6 @@ function KeyboardShortcutsFooterInner({ ); } -export const KeyboardShortcutsFooter = compose(withDialogActions)(KeyboardShortcutsFooterInner); +export const KeyboardShortcutsFooter = compose(withDialogActions)( + KeyboardShortcutsFooterInner, +); diff --git a/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/index.tsx b/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/index.tsx index c82db6b3c..18a9c461d 100644 --- a/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/index.tsx +++ b/packages/webapp/src/containers/Dialogs/keyboardShortcutsDialog/index.tsx @@ -4,7 +4,11 @@ import { Dialog, DialogSuspense, FormattedMessage as T } from '@/components'; import withDialogRedux from '@/components/DialogReduxConnect'; import { compose } from '@/utils'; -const KeyboardShortcutsContent = lazy(() => import('./KeyboardShortcutsDialogContent').then(m => ({ default: m.KeyboardShortcutsDialogContent }))); +const KeyboardShortcutsContent = lazy(() => + import('./KeyboardShortcutsDialogContent').then((m) => ({ + default: m.KeyboardShortcutsDialogContent, + })), +); /** * Keyboard shortcuts dialog. diff --git a/packages/webapp/src/containers/Drawer/withDrawerActions.tsx b/packages/webapp/src/containers/Drawer/withDrawerActions.tsx index 184c5e640..3eda17140 100644 --- a/packages/webapp/src/containers/Drawer/withDrawerActions.tsx +++ b/packages/webapp/src/containers/Drawer/withDrawerActions.tsx @@ -11,8 +11,7 @@ export interface WithDrawerActionsProps { export const mapDispatchToProps = ( dispatch: Dispatch, ): WithDrawerActionsProps => ({ - openDrawer: (name, payload) => - dispatch({ type: OPEN_DRAWER, name, payload }), + openDrawer: (name, payload) => dispatch({ type: OPEN_DRAWER, name, payload }), closeDrawer: (name, payload) => dispatch({ type: CLOSE_DRAWER, name, payload }), }); @@ -20,9 +19,10 @@ export const mapDispatchToProps = ( export function withDrawerActions

( WrappedComponent: ComponentType

, ): ComponentType> { - const Connected = connect(null, mapDispatchToProps)( - WrappedComponent as ComponentType, - ); + const Connected = connect( + null, + mapDispatchToProps, + )(WrappedComponent as ComponentType); return Connected as unknown as ComponentType< Omit >; diff --git a/packages/webapp/src/containers/Drawer/withDrawers.tsx b/packages/webapp/src/containers/Drawer/withDrawers.tsx index e94605c38..be2b8b79c 100644 --- a/packages/webapp/src/containers/Drawer/withDrawers.tsx +++ b/packages/webapp/src/containers/Drawer/withDrawers.tsx @@ -11,7 +11,9 @@ export interface WithDrawersProps { payload: ReturnType>; } -export function withDrawers(mapState?: MapState) { +export function withDrawers( + mapState?: MapState, +) { const isDrawerOpen = isDrawerOpenFactory(); const getDrawerPayload = getDrawerPayloadFactory(); @@ -24,7 +26,9 @@ export function withDrawers(mapState?: MapState< isOpen: isDrawerOpen(state, props), payload: getDrawerPayload(state, props), }; - return mapState ? (mapState(mapped, state, props) as WithDrawersProps) : mapped; + return mapState + ? (mapState(mapped, state, props) as WithDrawersProps) + : mapped; }; return connect(mapStateToProps); } diff --git a/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerHeader.tsx b/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerHeader.tsx index babca40de..906c6d091 100644 --- a/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerHeader.tsx +++ b/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerHeader.tsx @@ -2,12 +2,7 @@ import React from 'react'; import { isEmpty } from 'lodash'; -import { - Icon, - DetailsMenu, - DetailItem, - -} from '@/components'; +import { Icon, DetailsMenu, DetailItem } from '@/components'; import { useAccountDrawerContext } from './AccountDrawerProvider'; import intl from 'react-intl-universal'; diff --git a/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerTable.tsx b/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerTable.tsx index 89f9cf5ce..9086f1e62 100644 --- a/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerTable.tsx +++ b/packages/webapp/src/containers/Drawers/AccountDrawer/AccountDrawerTable.tsx @@ -67,7 +67,9 @@ function AccountDrawerDataTable() { ); } -export const AccountDrawerTable = compose(withDrawerActions)(AccountDrawerTableInner); +export const AccountDrawerTable = compose(withDrawerActions)( + AccountDrawerTableInner, +); const TableFooter = styled.div` --x-border-color: #d2dde2; diff --git a/packages/webapp/src/containers/Drawers/AccountDrawer/index.tsx b/packages/webapp/src/containers/Drawers/AccountDrawer/index.tsx index 0c7fed233..7c7c1a71a 100644 --- a/packages/webapp/src/containers/Drawers/AccountDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/AccountDrawer/index.tsx @@ -5,7 +5,11 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const AccountDrawerContent = lazy(() => import('./AccountDrawerContent').then(m => ({ default: m.AccountDrawerContent }))); +const AccountDrawerContent = lazy(() => + import('./AccountDrawerContent').then((m) => ({ + default: m.AccountDrawerContent, + })), +); /** * Account drawer. diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx index eb6846afb..cefefbcb8 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/BillDetailTableFooter.tsx @@ -43,10 +43,7 @@ export function BillDetailTableFooter() { /> )} {bill.adjustment_formatted && ( - + )} } diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/BillDrawerProvider.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/BillDrawerProvider.tsx index 6cfdf4561..c877dc109 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/BillDrawerProvider.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/BillDrawerProvider.tsx @@ -27,7 +27,7 @@ function BillDrawerProvider({ billId, ...props }) { enabled: !!billId, }); - console.log(transactions, 'ahmed'); + console.log(transactions, 'ahmed'); //provider. const provider = { diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/BillGLEntriesTable.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/BillGLEntriesTable.tsx index f88fdc1bf..d6078d43e 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/BillGLEntriesTable.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/BillGLEntriesTable.tsx @@ -8,7 +8,9 @@ import { useTransactionsByReference } from '@/hooks/query'; import { useBillDrawerContext } from './BillDrawerProvider'; import { - AmountDisplayedBaseCurrencyMessage, JournalEntriesTable } from '../../JournalEntriesTable/JournalEntriesTable'; + AmountDisplayedBaseCurrencyMessage, + JournalEntriesTable, +} from '../../JournalEntriesTable/JournalEntriesTable'; /** * Bill GL entries table. diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/components.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/components.tsx index 90ea31b79..aea723bb7 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/components.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/components.tsx @@ -6,7 +6,7 @@ import clsx from 'classnames'; import { Intent, MenuItem, Menu } from '@blueprintjs/core'; import { safeCallback } from '@/utils'; import { CLASSES } from '@/constants/classes'; -import { Icon } from '@/components'; +import { Icon } from '@/components'; /** * Actions menu. diff --git a/packages/webapp/src/containers/Drawers/BillDrawer/index.tsx b/packages/webapp/src/containers/Drawers/BillDrawer/index.tsx index 1e8883764..236d9dc2a 100644 --- a/packages/webapp/src/containers/Drawers/BillDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/BillDrawer/index.tsx @@ -5,7 +5,9 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const BillDrawerContent = React.lazy(() => import('./BillDrawerContent').then(m => ({ default: m.BillDrawerContent }))); +const BillDrawerContent = React.lazy(() => + import('./BillDrawerContent').then((m) => ({ default: m.BillDrawerContent })), +); /** * Bill drawer. diff --git a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerActionBar.tsx b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerActionBar.tsx index 56553f6e0..753ac2d12 100644 --- a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerActionBar.tsx +++ b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerActionBar.tsx @@ -67,4 +67,6 @@ function CashflowTransactionDrawerActionBarInner({ ); } -export const CashflowTransactionDrawerActionBar = compose(withAlertActions)(CashflowTransactionDrawerActionBarInner); +export const CashflowTransactionDrawerActionBar = compose(withAlertActions)( + CashflowTransactionDrawerActionBarInner, +); diff --git a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerHeader.tsx b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerHeader.tsx index 270b5a122..73fa26e6b 100644 --- a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerHeader.tsx +++ b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/CashflowTransactionDrawerHeader.tsx @@ -5,7 +5,6 @@ import { DetailsMenu, DetailItem, FormatDate, - Row, Col, CommercialDocHeader, diff --git a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/index.tsx b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/index.tsx index 2a74bdd12..5a02e83aa 100644 --- a/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/CashflowTransactionDetailDrawer/index.tsx @@ -6,7 +6,11 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const CashFlowTransactionDrawerContent = React.lazy(() => import('./CashflowTransactionDrawerContent').then(m => ({ default: m.CashflowTransactionDrawerContent }))); +const CashFlowTransactionDrawerContent = React.lazy(() => + import('./CashflowTransactionDrawerContent').then((m) => ({ + default: m.CashflowTransactionDrawerContent, + })), +); /** * Cash flow transaction drawer diff --git a/packages/webapp/src/containers/Drawers/ContactDetailDrawer/index.tsx b/packages/webapp/src/containers/Drawers/ContactDetailDrawer/index.tsx index 11a83cd68..475dd5320 100644 --- a/packages/webapp/src/containers/Drawers/ContactDetailDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/ContactDetailDrawer/index.tsx @@ -5,7 +5,11 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const ContactDetailDrawerContent = React.lazy(() => import('./ContactDetailDrawerContent').then(m => ({ default: m.ContactDetailDrawerContent }))); +const ContactDetailDrawerContent = React.lazy(() => + import('./ContactDetailDrawerContent').then((m) => ({ + default: m.ContactDetailDrawerContent, + })), +); /** * Contact detail drawer. diff --git a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerProvider.tsx b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerProvider.tsx index ec80c726b..8feb2b954 100644 --- a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerProvider.tsx +++ b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/CreditNoteDetailDrawerProvider.tsx @@ -20,7 +20,7 @@ const CreditNoteDetailDrawerContext = React.createContext(); function CreditNoteDetailDrawerProvider({ creditNoteId, ...props }) { // Features guard. const { featureCan } = useFeatureCan(); - + // Handle fetch vendor credit details. const { data: creditNote, isLoading: isCreditNoteLoading } = useCreditNote( creditNoteId, diff --git a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/JournalEntriesTransactions/JournalEntriesTransactionsTable.tsx b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/JournalEntriesTransactions/JournalEntriesTransactionsTable.tsx index 3fc01a64b..b21f5760d 100644 --- a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/JournalEntriesTransactions/JournalEntriesTransactionsTable.tsx +++ b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/JournalEntriesTransactions/JournalEntriesTransactionsTable.tsx @@ -7,7 +7,9 @@ import { useTransactionsByReference } from '@/hooks/query'; import { useJournalEntriesTransactionsColumns } from './components'; import { - AmountDisplayedBaseCurrencyMessage, JournalEntriesTable } from '@/containers/JournalEntriesTable/JournalEntriesTable'; + AmountDisplayedBaseCurrencyMessage, + JournalEntriesTable, +} from '@/containers/JournalEntriesTable/JournalEntriesTable'; /** * Journal entries table. diff --git a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/ReconcileCreditNoteTransactions/ReconcileCreditNoteTransactionsTable.tsx b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/ReconcileCreditNoteTransactions/ReconcileCreditNoteTransactionsTable.tsx index 892a12760..a1986b368 100644 --- a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/ReconcileCreditNoteTransactions/ReconcileCreditNoteTransactionsTable.tsx +++ b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/ReconcileCreditNoteTransactions/ReconcileCreditNoteTransactionsTable.tsx @@ -47,4 +47,6 @@ function RefundCreditNoteTransactionsTable({ ); } -export const ReconcileCreditNoteTransactionsTable = compose(withAlertActions)(RefundCreditNoteTransactionsTable); +export const ReconcileCreditNoteTransactionsTable = compose(withAlertActions)( + RefundCreditNoteTransactionsTable, +); diff --git a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/RefundCreditNoteTransactions/RefundCreditNoteTransactionsTable.tsx b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/RefundCreditNoteTransactions/RefundCreditNoteTransactionsTable.tsx index e875aeb8c..318d2a9aa 100644 --- a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/RefundCreditNoteTransactions/RefundCreditNoteTransactionsTable.tsx +++ b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/RefundCreditNoteTransactions/RefundCreditNoteTransactionsTable.tsx @@ -45,4 +45,6 @@ function RefundCreditNoteTransactionsTableInner({ ); } -export const RefundCreditNoteTransactionsTable = compose(withAlertActions)(RefundCreditNoteTransactionsTableInner); +export const RefundCreditNoteTransactionsTable = compose(withAlertActions)( + RefundCreditNoteTransactionsTableInner, +); diff --git a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/index.tsx b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/index.tsx index f6c2d1c1c..919d3ef9c 100644 --- a/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/CreditNoteDetailDrawer/index.tsx @@ -5,7 +5,11 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const CreditNoteDetailDrawerContent = React.lazy(() => import('./CreditNoteDetailDrawerContent').then(m => ({ default: m.CreditNoteDetailDrawerContent }))); +const CreditNoteDetailDrawerContent = React.lazy(() => + import('./CreditNoteDetailDrawerContent').then((m) => ({ + default: m.CreditNoteDetailDrawerContent, + })), +); /** * Credit note detail drawer. diff --git a/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/CustomerDetailsHeader.tsx b/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/CustomerDetailsHeader.tsx index c68428dd7..fe08a46f2 100644 --- a/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/CustomerDetailsHeader.tsx +++ b/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/CustomerDetailsHeader.tsx @@ -31,7 +31,7 @@ export function CustomerDetailsHeader() { 0 diff --git a/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/index.tsx b/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/index.tsx index 67f9b7c14..a6d6d8ee0 100644 --- a/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/index.tsx +++ b/packages/webapp/src/containers/Drawers/CustomerDetailsDrawer/index.tsx @@ -5,7 +5,11 @@ import { withDrawers } from '@/containers/Drawer/withDrawers'; import { compose } from '@/utils'; -const CustomerDetailsDrawerContent = React.lazy(() => import('./CustomerDetailsDrawerContent').then(m => ({ default: m.CustomerDetailsDrawerContent }))); +const CustomerDetailsDrawerContent = React.lazy(() => + import('./CustomerDetailsDrawerContent').then((m) => ({ + default: m.CustomerDetailsDrawerContent, + })), +); /** * Contact detail drawer. diff --git a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.tsx b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.tsx index af0e963c8..45d1e6893 100644 --- a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.tsx +++ b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailActionsBar.tsx @@ -43,7 +43,7 @@ function EstimateDetailActionsBarInner({ // #withDrawerActions closeDrawer, - openDrawer + openDrawer, }) { // Estimate details drawer context. const { estimateId, estimate } = useEstimateDetailDrawerContext(); diff --git a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailPanel.tsx b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailPanel.tsx index 105763998..cb3d312b6 100644 --- a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailPanel.tsx +++ b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/EstimateDetailPanel.tsx @@ -8,7 +8,6 @@ import { EstimateDetailTable } from './EstimateDetailTable'; import { EstimateDetailTableFooter } from './EstimateDetailTableFooter'; import { EstimateDetailFooter } from './EstimateDetailFooter'; - export function EstimateDetailTab() { return ( diff --git a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/components.tsx b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/components.tsx index 68968475b..bf5fc68f4 100644 --- a/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/components.tsx +++ b/packages/webapp/src/containers/Drawers/EstimateDetailDrawer/components.tsx @@ -54,85 +54,83 @@ export function EstimateDetailsStatus({ estimate }) { ); } -export const EstimateMoreMenuItems = R.compose(withAlertActions)( - ({ - // # withAlertActions, - openAlert, +export const EstimateMoreMenuItems = R.compose(withAlertActions)(({ + // # withAlertActions, + openAlert, - // # rest - payload: { onNotifyViaSMS }, - }) => { - const { estimateId, estimate } = useEstimateDetailDrawerContext(); + // # rest + payload: { onNotifyViaSMS }, +}) => { + const { estimateId, estimate } = useEstimateDetailDrawerContext(); - // Handle cancel/confirm estimate approve. - const handleApproveEstimate = () => { - openAlert('estimate-Approve', { estimateId }); - }; - // Handle cancel/confirm estimate reject. - const handleRejectEstimate = () => { - openAlert('estimate-reject', { estimateId }); - }; + // Handle cancel/confirm estimate approve. + const handleApproveEstimate = () => { + openAlert('estimate-Approve', { estimateId }); + }; + // Handle cancel/confirm estimate reject. + const handleRejectEstimate = () => { + openAlert('estimate-reject', { estimateId }); + }; - return ( - - } - /> - - - - - } - onClick={handleApproveEstimate} - /> - - - - - } - onClick={handleRejectEstimate} - /> - - - - - } - onClick={handleApproveEstimate} - /> - - - } - onClick={handleRejectEstimate} - /> - - - - - } - interactionKind={PopoverInteractionKind.CLICK} - position={Position.BOTTOM_LEFT} - modifiers={{ - offset: { offset: '0, 4' }, - }} - > - - diff --git a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListDrawerContent.tsx b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListDrawerContent.tsx index f23bbbb91..9d82771c4 100644 --- a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListDrawerContent.tsx +++ b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListDrawerContent.tsx @@ -5,7 +5,10 @@ import { debounce } from 'lodash'; import { FormGroup, InputGroup, Button } from '@blueprintjs/core'; import { withDrawerActions } from '@/containers/Drawer/withDrawerActions'; import { DRAWERS } from '@/constants/drawers'; -import { useWorkspaces, useSetDefaultWorkspace } from '@/ee/workspaces/hooks/query/workspaces'; +import { + useWorkspaces, + useSetDefaultWorkspace, +} from '@/ee/workspaces/hooks/query/workspaces'; import { useAuthOrganizationId } from '@/hooks/state'; import OrganizationsListTable from './OrganizationsListTable'; import { OrganizationsListDrawerHeader } from './OrganizationsListDrawerHeader'; @@ -64,10 +67,15 @@ function OrganizationsListDrawerContentRoot({ closeDrawer, openDrawer }) { const [debouncedSearch, setDebouncedSearch] = useState(''); const activeOrganizationId = useAuthOrganizationId(); const setDefaultWorkspace = useSetDefaultWorkspace(); - const { data: workspaces, isLoading } = useWorkspaces({ includeInactive: true }); + const { data: workspaces, isLoading } = useWorkspaces({ + includeInactive: true, + }); const isCurrentOrgDefault = useMemo(() => { - return workspaces?.find((w) => w.organizationId === activeOrganizationId)?.isDefault ?? false; + return ( + workspaces?.find((w) => w.organizationId === activeOrganizationId) + ?.isDefault ?? false + ); }, [workspaces, activeOrganizationId]); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -75,7 +83,7 @@ function OrganizationsListDrawerContentRoot({ closeDrawer, openDrawer }) { debounce((value) => { setDebouncedSearch(value); }, 200), - [] + [], ); const handleSearchChange = (e) => { @@ -108,11 +116,21 @@ function OrganizationsListDrawerContentRoot({ closeDrawer, openDrawer }) { setDefaultWorkspace.mutate({ organizationId })} + onSetDefaultWorkspace={(organizationId) => + setDefaultWorkspace.mutate({ organizationId }) + } onClose={handleClose} /> - + - + {intl.get('workspaces.organizations_list_count_title', { count: filteredWorkspaces.length, })} @@ -135,7 +159,10 @@ function OrganizationsListDrawerContentRoot({ closeDrawer, openDrawer }) { justifyContent="flex-end" minWidth={0} > - + { - if (e.currentTarget.checked && !isCurrentOrgDefault && activeOrganizationId) { + if ( + e.currentTarget.checked && + !isCurrentOrgDefault && + activeOrganizationId + ) { onSetDefaultWorkspace(activeOrganizationId); } }; @@ -54,10 +58,7 @@ export function OrganizationsListDrawerHeader({ cursor="pointer" userSelect="none" > - + {intl.get('workspaces.set_default_workspace', { fallback: 'Set default workspace', diff --git a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListTable.tsx b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListTable.tsx index 04cd96cd3..8e5376cee 100644 --- a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListTable.tsx +++ b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListTable.tsx @@ -54,16 +54,14 @@ function OrganizationsListTable({ const handleSetDefault = useCallback( (organizationId) => { - setDefaultWorkspace - .mutateAsync({ organizationId }) - .then(() => { - AppToaster.show({ - message: intl.get('workspaces.default_workspace_set_successfully', { - fallback: 'Default workspace has been set successfully', - }), - intent: Intent.SUCCESS, - }); + setDefaultWorkspace.mutateAsync({ organizationId }).then(() => { + AppToaster.show({ + message: intl.get('workspaces.default_workspace_set_successfully', { + fallback: 'Default workspace has been set successfully', + }), + intent: Intent.SUCCESS, }); + }); }, [setDefaultWorkspace], ); @@ -92,7 +90,9 @@ function OrganizationsListTable({ const columns = useMemo( () => [ { - Header: intl.get('workspaces.column_workspace', { fallback: 'Workspace' }), + Header: intl.get('workspaces.column_workspace', { + fallback: 'Workspace', + }), accessor: 'metadata.name', width: 320, Cell: ({ row }) => ( @@ -112,7 +112,9 @@ function OrganizationsListTable({ }, { id: 'liabilities', - Header: intl.get('workspaces.column_liabilities', { fallback: 'Liabilities' }), + Header: intl.get('workspaces.column_liabilities', { + fallback: 'Liabilities', + }), accessor: 'formattedTotalLiabilities', Cell: ({ value }) => value || '-', align: 'right', @@ -125,20 +127,31 @@ function OrganizationsListTable({ disableSortBy: true, Cell: ({ row }) => { const workspace = row.original; - const workspaceName = workspace.metadata?.name || workspace.organizationId; - const isCurrentOrganization = workspace.organizationId === activeOrganizationId; - const isDisabled = !workspace.isReady || workspace.isBuildRunning || workspace.isDeleting; + const workspaceName = + workspace.metadata?.name || workspace.organizationId; + const isCurrentOrganization = + workspace.organizationId === activeOrganizationId; + const isDisabled = + !workspace.isReady || + workspace.isBuildRunning || + workspace.isDeleting; const isOwner = workspace.role === 'owner'; - const canSwitch = !isCurrentOrganization && !isDisabled && workspace.isActive; + const canSwitch = + !isCurrentOrganization && !isDisabled && workspace.isActive; const defaultDisabled = - !workspace.isReady || workspace.isBuildRunning || !workspace.isActive || workspace.isDefault; + !workspace.isReady || + workspace.isBuildRunning || + !workspace.isActive || + workspace.isDefault; const canSetDefaultInMenu = !workspace.isDefault && !defaultDisabled; const menuContent = isOwner ? (

{canSetDefaultInMenu && ( } onClick={() => handleSetDefault(workspace.organizationId)} /> @@ -146,16 +159,24 @@ function OrganizationsListTable({ } disabled={isDisabled} - onClick={() => !isDisabled && handleInactivateWorkspace(workspace)} + onClick={() => + !isDisabled && handleInactivateWorkspace(workspace) + } /> } disabled={isDisabled} intent={Intent.DANGER} @@ -165,7 +186,12 @@ function OrganizationsListTable({ ) : null; return ( - + {!isCurrentOrganization && ( handleSwitchWorkspace(workspace.organizationId, workspaceName)} + onClick={() => + handleSwitchWorkspace( + workspace.organizationId, + workspaceName, + ) + } icon={} /> diff --git a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListWorkspaceCell.tsx b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListWorkspaceCell.tsx index 051487319..960d18662 100644 --- a/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListWorkspaceCell.tsx +++ b/packages/webapp/src/ee/workspaces/containers/OrganizationsListDrawer/OrganizationsListWorkspaceCell.tsx @@ -71,7 +71,13 @@ export function OrganizationsListWorkspaceCell({ minWidth={0} flex={1} > - + = {}) { return useRequestQuery( ['workspaces', { includeInactive }], - { method: 'get', url: 'workspaces', params: { includeInactive, currentOrganizationId } }, + { + method: 'get', + url: 'workspaces', + params: { includeInactive, currentOrganizationId }, + }, { select: (res: { data: unknown }) => transformToCamelCase(res.data), initialDataUpdatedAt: 0, @@ -46,11 +50,7 @@ export function useCreateWorkspace() { const apiRequest = useApiRequest(); const queryClient = useQueryClient(); - return useMutation< - CreateWorkspaceResponse, - unknown, - CreateWorkspaceRequest - >({ + return useMutation({ mutationFn: async (values) => { const response = await apiRequest.post('workspaces', values, undefined); return transformToCamelCase(response.data) as CreateWorkspaceResponse; diff --git a/packages/webapp/src/hooks/dashboard/index.tsx b/packages/webapp/src/hooks/dashboard/index.tsx index 43a7a45a0..eebd34238 100644 --- a/packages/webapp/src/hooks/dashboard/index.tsx +++ b/packages/webapp/src/hooks/dashboard/index.tsx @@ -1,2 +1,2 @@ // @ts-nocheck -export * from './useKeywordShortcuts'; \ No newline at end of file +export * from './useKeywordShortcuts'; diff --git a/packages/webapp/src/hooks/index.tsx b/packages/webapp/src/hooks/index.tsx index e0a0faa50..79a613e94 100644 --- a/packages/webapp/src/hooks/index.tsx +++ b/packages/webapp/src/hooks/index.tsx @@ -55,4 +55,4 @@ export function useMemorizedColumnsWidths(tableName) { save(columnsResizing.columnWidths); }; return [get, save, handleColumnResizing]; -} \ No newline at end of file +} diff --git a/packages/webapp/src/hooks/query/FinancialReports/index.ts b/packages/webapp/src/hooks/query/FinancialReports/index.ts index d99c7bc04..c617a0d7c 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/index.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/index.ts @@ -16,4 +16,4 @@ export * from './use-vendor-balance-summary'; export * from './use-customer-transactions'; export * from './use-vendor-transactions'; export * from './use-sales-tax-liabilities-summary'; -export * from './use-transactions-by-reference'; \ No newline at end of file +export * from './use-transactions-by-reference'; diff --git a/packages/webapp/src/hooks/query/FinancialReports/query-keys.ts b/packages/webapp/src/hooks/query/FinancialReports/query-keys.ts index 43d6eb040..6541678bb 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/query-keys.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/query-keys.ts @@ -24,27 +24,48 @@ export const SALES_TAX_LIABILITY_SUMMARY = 'SALES_TAX_LIABILITY_SUMMARY'; // Query key factory export const financialReportsKeys = { all: () => [FINANCIAL_REPORT] as const, - balanceSheet: (query?: Record) => [FINANCIAL_REPORT, BALANCE_SHEET, query] as const, - trialBalance: (query?: Record) => [FINANCIAL_REPORT, TRIAL_BALANCE_SHEET, query] as const, - profitLoss: (query?: Record) => [FINANCIAL_REPORT, PROFIT_LOSS_SHEET, query] as const, - generalLedger: (query?: Record) => [FINANCIAL_REPORT, GENERAL_LEDGER, query] as const, - journal: (query?: Record) => [FINANCIAL_REPORT, JOURNAL, query] as const, - arAgingSummary: (query?: Record) => [FINANCIAL_REPORT, AR_AGING_SUMMARY, query] as const, - apAgingSummary: (query?: Record) => [FINANCIAL_REPORT, AP_AGING_SUMMARY, query] as const, - vendorTransactions: (query?: Record) => [FINANCIAL_REPORT, VENDORS_TRANSACTIONS, query] as const, - customerTransactions: (query?: Record) => [FINANCIAL_REPORT, CUSTOMERS_TRANSACTIONS, query] as const, - vendorBalanceSummary: (query?: Record) => [FINANCIAL_REPORT, VENDORS_BALANCE_SUMMARY, query] as const, - customerBalanceSummary: (query?: Record) => [FINANCIAL_REPORT, CUSTOMERS_BALANCE_SUMMARY, query] as const, - salesByItems: (query?: Record) => [FINANCIAL_REPORT, SALES_BY_ITEMS, query] as const, - purchasesByItems: (query?: Record) => [FINANCIAL_REPORT, PURCHASES_BY_ITEMS, query] as const, - inventoryValuation: (query?: Record) => [FINANCIAL_REPORT, INVENTORY_VALUATION, query] as const, - cashFlowStatement: (query?: Record) => [FINANCIAL_REPORT, CASH_FLOW_STATEMENT, query] as const, - inventoryItemDetails: (query?: Record) => [FINANCIAL_REPORT, INVENTORY_ITEM_DETAILS, query] as const, - transactionsByReference: (query?: Record) => [TRANSACTIONS_BY_REFERENCE, query] as const, - realizedGainOrLoss: (query?: Record) => [FINANCIAL_REPORT, REALIZED_GAIN_OR_LOSS, query] as const, - unrealizedGainOrLoss: (query?: Record) => [FINANCIAL_REPORT, UNREALIZED_GAIN_OR_LOSS, query] as const, - projectProfitability: (query?: Record) => [FINANCIAL_REPORT, PROJECT_PROFITABILITY_SUMMARY, query] as const, - salesTaxLiability: (query?: Record) => [FINANCIAL_REPORT, SALES_TAX_LIABILITY_SUMMARY, query] as const, + balanceSheet: (query?: Record) => + [FINANCIAL_REPORT, BALANCE_SHEET, query] as const, + trialBalance: (query?: Record) => + [FINANCIAL_REPORT, TRIAL_BALANCE_SHEET, query] as const, + profitLoss: (query?: Record) => + [FINANCIAL_REPORT, PROFIT_LOSS_SHEET, query] as const, + generalLedger: (query?: Record) => + [FINANCIAL_REPORT, GENERAL_LEDGER, query] as const, + journal: (query?: Record) => + [FINANCIAL_REPORT, JOURNAL, query] as const, + arAgingSummary: (query?: Record) => + [FINANCIAL_REPORT, AR_AGING_SUMMARY, query] as const, + apAgingSummary: (query?: Record) => + [FINANCIAL_REPORT, AP_AGING_SUMMARY, query] as const, + vendorTransactions: (query?: Record) => + [FINANCIAL_REPORT, VENDORS_TRANSACTIONS, query] as const, + customerTransactions: (query?: Record) => + [FINANCIAL_REPORT, CUSTOMERS_TRANSACTIONS, query] as const, + vendorBalanceSummary: (query?: Record) => + [FINANCIAL_REPORT, VENDORS_BALANCE_SUMMARY, query] as const, + customerBalanceSummary: (query?: Record) => + [FINANCIAL_REPORT, CUSTOMERS_BALANCE_SUMMARY, query] as const, + salesByItems: (query?: Record) => + [FINANCIAL_REPORT, SALES_BY_ITEMS, query] as const, + purchasesByItems: (query?: Record) => + [FINANCIAL_REPORT, PURCHASES_BY_ITEMS, query] as const, + inventoryValuation: (query?: Record) => + [FINANCIAL_REPORT, INVENTORY_VALUATION, query] as const, + cashFlowStatement: (query?: Record) => + [FINANCIAL_REPORT, CASH_FLOW_STATEMENT, query] as const, + inventoryItemDetails: (query?: Record) => + [FINANCIAL_REPORT, INVENTORY_ITEM_DETAILS, query] as const, + transactionsByReference: (query?: Record) => + [TRANSACTIONS_BY_REFERENCE, query] as const, + realizedGainOrLoss: (query?: Record) => + [FINANCIAL_REPORT, REALIZED_GAIN_OR_LOSS, query] as const, + unrealizedGainOrLoss: (query?: Record) => + [FINANCIAL_REPORT, UNREALIZED_GAIN_OR_LOSS, query] as const, + projectProfitability: (query?: Record) => + [FINANCIAL_REPORT, PROJECT_PROFITABILITY_SUMMARY, query] as const, + salesTaxLiability: (query?: Record) => + [FINANCIAL_REPORT, SALES_TAX_LIABILITY_SUMMARY, query] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-ap-aging-summary.ts b/packages/webapp/src/hooks/query/FinancialReports/use-ap-aging-summary.ts index 0747a6b8d..f24e0d4c1 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-ap-aging-summary.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-ap-aging-summary.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchPayableAgingTable, fetchPayableAgingXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useAPAgingSummaryReport( query: PayableAgingTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-ar-aging-summary.ts b/packages/webapp/src/hooks/query/FinancialReports/use-ar-aging-summary.ts index bdc092106..b67b77085 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-ar-aging-summary.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-ar-aging-summary.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchReceivableAgingTable, fetchReceivableAgingXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useARAgingSummaryReport( query: ReceivableAgingTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-balance-sheet.ts b/packages/webapp/src/hooks/query/FinancialReports/use-balance-sheet.ts index aa0ddbd05..324108df3 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-balance-sheet.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-balance-sheet.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchBalanceSheetTable, fetchBalanceSheetXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useBalanceSheet( query: BalanceSheetTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-cashflow-sheet.ts b/packages/webapp/src/hooks/query/FinancialReports/use-cashflow-sheet.ts index abd595e0f..9f0536998 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-cashflow-sheet.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-cashflow-sheet.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchCashflowStatementTable, fetchCashflowStatementXlsx, @@ -26,7 +31,10 @@ interface CashFlowStatementReport { export function useCashFlowStatementReport( query: CashflowStatementTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-customer-balance-summary.ts b/packages/webapp/src/hooks/query/FinancialReports/use-customer-balance-summary.ts index c330dbd14..7b269cc8e 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-customer-balance-summary.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-customer-balance-summary.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchCustomerBalanceTable, fetchCustomerBalanceXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useCustomerBalanceSummaryReport( query: CustomerBalanceTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-customer-transactions.ts b/packages/webapp/src/hooks/query/FinancialReports/use-customer-transactions.ts index 239ebbbe7..9834737f0 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-customer-transactions.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-customer-transactions.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchTransactionsByCustomersTable, fetchTransactionsByCustomersXlsx, @@ -25,7 +30,10 @@ interface CustomersTransactionsReport { export function useCustomersTransactionsReport( query: TransactionsByCustomersTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -68,7 +76,9 @@ export function useCustomersTransactionsCsvExport( }); } -export function useCustomersTransactionsPdfExport(query: TransactionsByCustomersPdfQuery) { +export function useCustomersTransactionsPdfExport( + query: TransactionsByCustomersPdfQuery, +) { const fetcher = useApiFetcher(); return useFetcherPdf(() => fetchTransactionsByCustomersPdf(fetcher, query)); } diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-general-ledger.ts b/packages/webapp/src/hooks/query/FinancialReports/use-general-ledger.ts index e85c4dae1..59db5a6d9 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-general-ledger.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-general-ledger.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchGeneralLedgerTable, fetchGeneralLedgerXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useGeneralLedgerSheet( query: GeneralLedgerTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-inventory-item-details.ts b/packages/webapp/src/hooks/query/FinancialReports/use-inventory-item-details.ts index 2f86ac802..4d2b68682 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-inventory-item-details.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-inventory-item-details.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchInventoryItemDetailsTable, fetchInventoryItemDetailsXlsx, @@ -26,7 +31,10 @@ interface InventoryItemDetailsReport { export function useInventoryItemDetailsReport( query: InventoryItemDetailsTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -70,7 +78,9 @@ export function useInventoryItemDetailsCsvExport( }); } -export function useInventoryItemDetailsPdf(query: InventoryItemDetailsPdfQuery) { +export function useInventoryItemDetailsPdf( + query: InventoryItemDetailsPdfQuery, +) { const fetcher = useApiFetcher(); return useFetcherPdf(() => fetchInventoryItemDetailsPdf(fetcher, query)); } diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-inventory-valuation.ts b/packages/webapp/src/hooks/query/FinancialReports/use-inventory-valuation.ts index b3d9b2af4..7bbfecc2a 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-inventory-valuation.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-inventory-valuation.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchInventoryValuationJson, fetchInventoryValuationTable, @@ -22,7 +27,10 @@ import { financialReportsKeys } from './query-keys'; export function useInventoryValuation( query: InventoryValuationJsonQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -34,7 +42,10 @@ export function useInventoryValuation( export function useInventoryValuationTable( query: InventoryValuationTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-journal-sheet.ts b/packages/webapp/src/hooks/query/FinancialReports/use-journal-sheet.ts index c369d0f4a..a2a84efb7 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-journal-sheet.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-journal-sheet.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchJournalTable, fetchJournalXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useJournalSheet( query: JournalTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-profit-loss-sheet.ts b/packages/webapp/src/hooks/query/FinancialReports/use-profit-loss-sheet.ts index 7baa8d02b..057441bde 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-profit-loss-sheet.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-profit-loss-sheet.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchProfitLossTable, fetchProfitLossXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useProfitLossSheet( query: ProfitLossTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-purchases-by-items.ts b/packages/webapp/src/hooks/query/FinancialReports/use-purchases-by-items.ts index e510c8b30..664e7b45f 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-purchases-by-items.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-purchases-by-items.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchPurchasesByItemsJson, fetchPurchasesByItemsTable, @@ -22,7 +27,10 @@ import { financialReportsKeys } from './query-keys'; export function usePurchasesByItems( query: PurchasesByItemsJsonQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -34,7 +42,10 @@ export function usePurchasesByItems( export function usePurchasesByItemsTable( query: PurchasesByItemsTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-sales-by-items.ts b/packages/webapp/src/hooks/query/FinancialReports/use-sales-by-items.ts index fab662a28..842720fa5 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-sales-by-items.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-sales-by-items.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchSalesByItemsJson, fetchSalesByItemsTable, @@ -22,7 +27,10 @@ import { financialReportsKeys } from './query-keys'; export function useSalesByItems( query: SalesByItemsJsonQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -34,7 +42,10 @@ export function useSalesByItems( export function useSalesByItemsTable( query: SalesByItemsTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-sales-tax-liabilities-summary.ts b/packages/webapp/src/hooks/query/FinancialReports/use-sales-tax-liabilities-summary.ts index 6a1ae42d0..e0d10a54b 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-sales-tax-liabilities-summary.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-sales-tax-liabilities-summary.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchSalesTaxLiabilityTable, fetchSalesTaxLiabilityXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useSalesTaxLiabilitySummary( query: SalesTaxLiabilityTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -57,7 +65,9 @@ export function useSalesTaxLiabilitySummaryCsvExport( }); } -export function useSalesTaxLiabilitySummaryPdf(query: SalesTaxLiabilityPdfQuery) { +export function useSalesTaxLiabilitySummaryPdf( + query: SalesTaxLiabilityPdfQuery, +) { const fetcher = useApiFetcher(); return useFetcherPdf(() => fetchSalesTaxLiabilityPdf(fetcher, query)); } diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-transactions-by-reference.ts b/packages/webapp/src/hooks/query/FinancialReports/use-transactions-by-reference.ts index fa7ca5d1e..2417c88de 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-transactions-by-reference.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-transactions-by-reference.ts @@ -9,7 +9,10 @@ import { financialReportsKeys } from './query-keys'; export function useTransactionsByReference( query: TransactionsByReferenceJsonQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-trial-balance-sheet.ts b/packages/webapp/src/hooks/query/FinancialReports/use-trial-balance-sheet.ts index a5a0c59ed..43db47e10 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-trial-balance-sheet.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-trial-balance-sheet.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchTrialBalanceTable, fetchTrialBalanceXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useTrialBalanceSheet( query: TrialBalanceTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-vendor-balance-summary.ts b/packages/webapp/src/hooks/query/FinancialReports/use-vendor-balance-summary.ts index 3759d2f2a..29cc527e2 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-vendor-balance-summary.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-vendor-balance-summary.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchVendorBalanceTable, fetchVendorBalanceXlsx, @@ -23,7 +28,10 @@ interface VendorsBalanceSummaryReport { export function useVendorsBalanceSummaryReport( query: VendorBalanceTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/FinancialReports/use-vendor-transactions.ts b/packages/webapp/src/hooks/query/FinancialReports/use-vendor-transactions.ts index 196f8dbb8..f97370d43 100644 --- a/packages/webapp/src/hooks/query/FinancialReports/use-vendor-transactions.ts +++ b/packages/webapp/src/hooks/query/FinancialReports/use-vendor-transactions.ts @@ -1,4 +1,9 @@ -import { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from '@tanstack/react-query'; +import { + useQuery, + useMutation, + UseQueryOptions, + UseMutationOptions, +} from '@tanstack/react-query'; import { fetchTransactionsByVendorsTable, fetchTransactionsByVendorsXlsx, @@ -19,7 +24,10 @@ import { financialReportsKeys } from './query-keys'; export function useVendorsTransactionsReport( query: TransactionsByVendorsTableQuery, - props?: Omit, 'queryKey' | 'queryFn'>, + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -57,7 +65,9 @@ export function useVendorsTransactionsCsvExport( }); } -export function useTransactionsByVendorsPdf(query: TransactionsByVendorsPdfQuery) { +export function useTransactionsByVendorsPdf( + query: TransactionsByVendorsPdfQuery, +) { const fetcher = useApiFetcher(); return useFetcherPdf(() => fetchTransactionsByVendorsPdf(fetcher, query)); } diff --git a/packages/webapp/src/hooks/query/UniversalSearch/universal-search.tsx b/packages/webapp/src/hooks/query/UniversalSearch/universal-search.tsx index 48b437811..501113967 100644 --- a/packages/webapp/src/hooks/query/UniversalSearch/universal-search.tsx +++ b/packages/webapp/src/hooks/query/UniversalSearch/universal-search.tsx @@ -12,11 +12,10 @@ import { useResourceData } from '../GenericResource'; function transfromResourceDataToSearch(resource) { const selectItem = getUniversalSearchBind(resource._type, 'itemSelect'); - return resource.items - .map((item) => ({ - ...selectItem ? selectItem(item) : {}, - _type: resource._type, - })); + return resource.items.map((item) => ({ + ...(selectItem ? selectItem(item) : {}), + _type: resource._type, + })); } /** diff --git a/packages/webapp/src/hooks/query/accounts/queries.ts b/packages/webapp/src/hooks/query/accounts/queries.ts index 5b2d6a837..d8ca87476 100644 --- a/packages/webapp/src/hooks/query/accounts/queries.ts +++ b/packages/webapp/src/hooks/query/accounts/queries.ts @@ -26,18 +26,20 @@ import { bulkDeleteAccounts, validateBulkDeleteAccounts, AccountTypesList, - AccountTransactionsList + AccountTransactionsList, } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; import { accountsKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: accountsKeys.all() }); }; export function useAccounts( query?: GetAccountsQuery | null, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -49,7 +51,7 @@ export function useAccounts( export function useAccount( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -61,7 +63,7 @@ export function useAccount( } export function useAccountsTypes( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -72,7 +74,7 @@ export function useAccountsTypes( } export function useCreateAccount( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -85,7 +87,7 @@ export function useCreateAccount( } export function useEditAccount( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -99,7 +101,7 @@ export function useEditAccount( } export function useDeleteAccount( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -112,7 +114,7 @@ export function useDeleteAccount( } export function useActivateAccount( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -125,7 +127,7 @@ export function useActivateAccount( } export function useInactivateAccount( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -142,7 +144,7 @@ export function useBulkDeleteAccounts( void, Error, { ids: number[]; skipUndeletable?: boolean } - > + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -161,7 +163,7 @@ export function useBulkDeleteAccounts( } export function useValidateBulkDeleteAccounts( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -176,7 +178,7 @@ export function useAccountTransactions( props?: Omit< UseQueryOptions, 'queryKey' | 'queryFn' - > + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/accounts/query-keys.ts b/packages/webapp/src/hooks/query/accounts/query-keys.ts index a7f46b929..ffeea2e4c 100644 --- a/packages/webapp/src/hooks/query/accounts/query-keys.ts +++ b/packages/webapp/src/hooks/query/accounts/query-keys.ts @@ -10,7 +10,8 @@ export const accountsKeys = { list: (query?: Record | null) => [ACCOUNTS, query] as const, detail: (id: number | null | undefined) => [ACCOUNT, id] as const, types: () => [ACCOUNTS_TYPES] as const, - transactions: (id: number | null | undefined) => [ACCOUNT_TRANSACTION, id] as const, + transactions: (id: number | null | undefined) => + [ACCOUNT_TRANSACTION, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/api-keys/queries.ts b/packages/webapp/src/hooks/query/api-keys/queries.ts index 54f46769f..d019e6b9e 100644 --- a/packages/webapp/src/hooks/query/api-keys/queries.ts +++ b/packages/webapp/src/hooks/query/api-keys/queries.ts @@ -10,12 +10,14 @@ import { fetchApiKeys, generateApiKey, revokeApiKey } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; import { apiKeysKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: apiKeysKeys.all() }); }; export function useApiKeys( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -26,7 +28,7 @@ export function useApiKeys( } export function useGenerateApiKey( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -39,7 +41,7 @@ export function useGenerateApiKey( } export function useRevokeApiKey( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/attachments/queries.ts b/packages/webapp/src/hooks/query/attachments/queries.ts index f0f1d81f2..42937f8ca 100644 --- a/packages/webapp/src/hooks/query/attachments/queries.ts +++ b/packages/webapp/src/hooks/query/attachments/queries.ts @@ -1,5 +1,9 @@ import { useMutation, UseMutationOptions } from '@tanstack/react-query'; -import { deleteAttachment, fetchAttachmentPresignedUrl, uploadAttachment } from '@bigcapital/sdk-ts'; +import { + deleteAttachment, + fetchAttachmentPresignedUrl, + uploadAttachment, +} from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; type UploadAttachmentResponse = Awaited>; @@ -17,7 +21,11 @@ function toFormData(values: FormData | Record): FormData { } export function useUploadAttachments( - props?: UseMutationOptions> + props?: UseMutationOptions< + UploadAttachmentResponse, + Error, + FormData | Record + >, ) { const fetcher = useApiFetcher(); return useMutation({ @@ -26,7 +34,9 @@ export function useUploadAttachments( }); } -export function useDeleteAttachment(props?: UseMutationOptions) { +export function useDeleteAttachment( + props?: UseMutationOptions, +) { const fetcher = useApiFetcher(); return useMutation({ ...props, @@ -35,7 +45,7 @@ export function useDeleteAttachment(props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); return useMutation({ diff --git a/packages/webapp/src/hooks/query/audit-logs/index.tsx b/packages/webapp/src/hooks/query/audit-logs/index.tsx index 7e9526b54..a189b553f 100644 --- a/packages/webapp/src/hooks/query/audit-logs/index.tsx +++ b/packages/webapp/src/hooks/query/audit-logs/index.tsx @@ -1,4 +1,8 @@ -import { useQuery, useInfiniteQuery, keepPreviousData } from '@tanstack/react-query'; +import { + useQuery, + useInfiniteQuery, + keepPreviousData, +} from '@tanstack/react-query'; import { useApiFetcher } from '../../useRequest'; import { fetchAuditLogs, fetchAuditLogFilterOptions } from '@bigcapital/sdk-ts'; import { AUDIT_LOGS, AUDIT_LOG_FILTER_OPTIONS } from './query-keys'; @@ -23,12 +27,16 @@ function buildAuditLogsQuery(page: number, filters: Record) { }; } -export function useAuditLogsQuery(filters: Record, props?: Record) { +export function useAuditLogsQuery( + filters: Record, + props?: Record, +) { const fetcher = useApiFetcher(); return useQuery({ queryKey: [AUDIT_LOGS, filters], - queryFn: () => fetchAuditLogs(fetcher, buildAuditLogsQuery(filters.page ?? 1, filters)), + queryFn: () => + fetchAuditLogs(fetcher, buildAuditLogsQuery(filters.page ?? 1, filters)), placeholderData: keepPreviousData, ...props, }); diff --git a/packages/webapp/src/hooks/query/authentication/queries.ts b/packages/webapp/src/hooks/query/authentication/queries.ts index 4acc9883b..3ef2286d4 100644 --- a/packages/webapp/src/hooks/query/authentication/queries.ts +++ b/packages/webapp/src/hooks/query/authentication/queries.ts @@ -45,7 +45,7 @@ export function setAuthLoginCookies(data: AuthSigninResponse): void { } export function useAuthLogin( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useAuthApiFetcher(); const setAuthToken = useSetAuthToken(); @@ -71,7 +71,7 @@ export function useAuthLogin( } export function useAuthRegister( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useAuthApiFetcher(); @@ -82,7 +82,7 @@ export function useAuthRegister( } export function useAuthSendResetPassword( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useAuthApiFetcher(); @@ -98,7 +98,7 @@ export function useAuthResetPassword( unknown, Error, [token: string, values: AuthResetPasswordBody] - > + >, ) { const fetcher = useAuthApiFetcher(); @@ -113,7 +113,7 @@ export function useAuthMetadata( props?: Omit< UseQueryOptions, 'queryKey' | 'queryFn' - > + >, ) { const fetcher = useAuthApiFetcher(); @@ -125,7 +125,7 @@ export function useAuthMetadata( } export function useAuthSignUpVerifyResendMail( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); @@ -136,7 +136,7 @@ export function useAuthSignUpVerifyResendMail( } export function useAuthSignUpVerify( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useAuthApiFetcher(); diff --git a/packages/webapp/src/hooks/query/banking/queries/account-summary.ts b/packages/webapp/src/hooks/query/banking/queries/account-summary.ts index 3b32b9a1d..a0f42cf7e 100644 --- a/packages/webapp/src/hooks/query/banking/queries/account-summary.ts +++ b/packages/webapp/src/hooks/query/banking/queries/account-summary.ts @@ -1,4 +1,8 @@ -import { UseQueryOptions, UseQueryResult, useQuery } from '@tanstack/react-query'; +import { + UseQueryOptions, + UseQueryResult, + useQuery, +} from '@tanstack/react-query'; import type { AutofillCategorizeTransactionResponse, BankingAccountSummaryResponse, @@ -11,11 +15,12 @@ import { useApiFetcher } from '../../../useRequest'; import { bankingKeys } from '../query-keys'; /** @deprecated Use AutofillCategorizeTransactionResponse from @bigcapital/sdk-ts */ -export type GetAutofillCategorizeTransaction = AutofillCategorizeTransactionResponse; +export type GetAutofillCategorizeTransaction = + AutofillCategorizeTransactionResponse; export function useGetBankAccountSummaryMeta( bankAccountId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ @@ -27,12 +32,13 @@ export function useGetBankAccountSummaryMeta( export function useGetAutofillCategorizeTransaction( uncategorizedTransactionIds: number[], - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.autofillCategorize(uncategorizedTransactionIds), - queryFn: () => fetchAutofillCategorizeTransaction(fetcher, uncategorizedTransactionIds), + queryFn: () => + fetchAutofillCategorizeTransaction(fetcher, uncategorizedTransactionIds), }); } diff --git a/packages/webapp/src/hooks/query/banking/queries/bank-accounts.ts b/packages/webapp/src/hooks/query/banking/queries/bank-accounts.ts index bb22dc505..802826ebc 100644 --- a/packages/webapp/src/hooks/query/banking/queries/bank-accounts.ts +++ b/packages/webapp/src/hooks/query/banking/queries/bank-accounts.ts @@ -19,7 +19,9 @@ import { useApiFetcher } from '../../../useRequest'; import { bankingKeys } from '../query-keys'; /** Mutation variables for pause (hook uses bankAccountId for the API id). */ -type PauseFeedsBankAccountValues = { bankAccountId: PauseBankAccountParams['id'] }; +type PauseFeedsBankAccountValues = { + bankAccountId: PauseBankAccountParams['id']; +}; /** * Pauses the feeds syncing of the bank account. @@ -34,14 +36,18 @@ export function usePauseFeedsBankAccount( mutationFn: (values: PauseFeedsBankAccountValues) => pauseBankAccount(fetcher, values.bankAccountId), onSuccess: (_res, values) => { - queryClient.invalidateQueries({ queryKey: bankingKeys.summaryMeta(values.bankAccountId) }); + queryClient.invalidateQueries({ + queryKey: bankingKeys.summaryMeta(values.bankAccountId), + }); }, ...options, }); } /** Mutation variables for resume (hook uses bankAccountId for the API id). */ -type ResumeFeedsBankAccountValues = { bankAccountId: RefreshBankAccountParams['id'] }; +type ResumeFeedsBankAccountValues = { + bankAccountId: RefreshBankAccountParams['id']; +}; /** * Resumes the feeds syncing of the bank account. @@ -56,17 +62,21 @@ export function useResumeFeedsBankAccount( mutationFn: (values: ResumeFeedsBankAccountValues) => resumeBankAccount(fetcher, values.bankAccountId), onSuccess: (_res, values) => { - queryClient.invalidateQueries({ queryKey: bankingKeys.summaryMeta(values.bankAccountId) }); + queryClient.invalidateQueries({ + queryKey: bankingKeys.summaryMeta(values.bankAccountId), + }); }, ...options, }); } /** Mutation variables (UI uses bankAccountId; API path param is id). */ -type DisconnectBankAccountValues = { bankAccountId: DisconnectBankAccountParams['id'] }; +type DisconnectBankAccountValues = { + bankAccountId: DisconnectBankAccountParams['id']; +}; export function useDisconnectBankAccount( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -76,16 +86,20 @@ export function useDisconnectBankAccount( mutationFn: ({ bankAccountId }: DisconnectBankAccountValues) => disconnectBankAccount(fetcher, bankAccountId), onSuccess: (_data, values) => { - queryClient.invalidateQueries({ queryKey: bankingKeys.summaryMeta(values.bankAccountId) }); + queryClient.invalidateQueries({ + queryKey: bankingKeys.summaryMeta(values.bankAccountId), + }); }, }); } /** Mutation variables (UI uses bankAccountId; API path param is id). */ -type UpdateBankAccountValues = { bankAccountId: RefreshBankAccountParams['id'] }; +type UpdateBankAccountValues = { + bankAccountId: RefreshBankAccountParams['id']; +}; export function useUpdateBankAccount( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/banking/queries/bank-rules.ts b/packages/webapp/src/hooks/query/banking/queries/bank-rules.ts index 7fb66570e..d8adf4410 100644 --- a/packages/webapp/src/hooks/query/banking/queries/bank-rules.ts +++ b/packages/webapp/src/hooks/query/banking/queries/bank-rules.ts @@ -8,10 +8,7 @@ import { useQuery, useQueryClient, } from '@tanstack/react-query'; -import type { - CreateBankRuleBody, - EditBankRuleBody, -} from '@bigcapital/sdk-ts'; +import type { CreateBankRuleBody, EditBankRuleBody } from '@bigcapital/sdk-ts'; import { createBankRule, deleteBankRule, @@ -30,7 +27,7 @@ const commonInvalidateQueries = (queryClient: QueryClient) => { }; export function useCreateBankRule( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -43,7 +40,11 @@ export function useCreateBankRule( } export function useEditBankRule( - options?: UseMutationOptions + options?: UseMutationOptions< + unknown, + Error, + { id: number; value: EditBankRuleBody } + >, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -57,7 +58,7 @@ export function useEditBankRule( } export function useDeleteBankRule( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -75,7 +76,7 @@ export function useDeleteBankRule( } export function useBankRules( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); @@ -88,7 +89,7 @@ export function useBankRules( export function useBankRule( bankRuleId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts b/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts index ce8b1cddf..c7003a57f 100644 --- a/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts +++ b/packages/webapp/src/hooks/query/banking/queries/bank-transactions.ts @@ -29,7 +29,7 @@ import { bankingKeys } from '../query-keys'; export function useGetBankTransactionsMatches( uncategorizedTransactionIds: number[], - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -37,11 +37,16 @@ export function useGetBankTransactionsMatches( ...options, queryKey: bankingKeys.transactionMatches(uncategorizedTransactionIds), queryFn: () => - fetchMatchedTransactions(fetcher, uncategorizedTransactionIds) as Promise, + fetchMatchedTransactions( + fetcher, + uncategorizedTransactionIds, + ) as Promise, }); } -const onValidateExcludeUncategorizedTransaction = (queryClient: QueryClient) => { +const onValidateExcludeUncategorizedTransaction = ( + queryClient: QueryClient, +) => { queryClient.invalidateQueries({ queryKey: bankingKeys.excludedTransactionsInfinity(), }); @@ -54,7 +59,7 @@ const onValidateExcludeUncategorizedTransaction = (queryClient: QueryClient) => }; export function useExcludeUncategorizedTransaction( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -68,7 +73,7 @@ export function useExcludeUncategorizedTransaction( } export function useUnexcludeUncategorizedTransaction( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -82,7 +87,7 @@ export function useUnexcludeUncategorizedTransaction( } export function useExcludeUncategorizedTransactions( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -96,7 +101,7 @@ export function useExcludeUncategorizedTransactions( } export function useUnexcludeUncategorizedTransactions( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -110,14 +115,15 @@ export function useUnexcludeUncategorizedTransactions( } export function useMatchUncategorizedTransaction( - props?: UseMutationOptions + props?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (value: MatchTransactionBody) => matchTransaction(fetcher, value), + mutationFn: (value: MatchTransactionBody) => + matchTransaction(fetcher, value), onSuccess: () => { queryClient.invalidateQueries({ queryKey: bankingKeys.summaryMeta(), @@ -132,7 +138,11 @@ type UnmatchUncategorizedTransactionValues = { }; export function useUnmatchMatchedUncategorizedTransaction( - props?: UseMutationOptions + props?: UseMutationOptions< + unknown, + Error, + UnmatchUncategorizedTransactionValues + >, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/banking/queries/pending-transactions.ts b/packages/webapp/src/hooks/query/banking/queries/pending-transactions.ts index 4d88c7f42..4e3541d55 100644 --- a/packages/webapp/src/hooks/query/banking/queries/pending-transactions.ts +++ b/packages/webapp/src/hooks/query/banking/queries/pending-transactions.ts @@ -1,4 +1,9 @@ -import { useInfiniteQuery, UseQueryOptions, UseQueryResult, useQuery } from '@tanstack/react-query'; +import { + useInfiniteQuery, + UseQueryOptions, + UseQueryResult, + useQuery, +} from '@tanstack/react-query'; import { fetchPendingTransactions } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; import { bankingKeys } from '../query-keys'; @@ -21,7 +26,7 @@ export function usePendingBankAccountTransactions( export function usePendingBankTransactionsInfinity( query: Record, - infinityProps?: Record + infinityProps?: Record, ) { const fetcher = useApiFetcher(); @@ -29,11 +34,7 @@ export function usePendingBankTransactionsInfinity( ...infinityProps, queryKey: bankingKeys.pendingTransactionsInfinity(query), initialPageParam: 1, - queryFn: async ({ - pageParam = 1, - }: { - pageParam?: number; - }) => { + queryFn: async ({ pageParam = 1 }: { pageParam?: number }) => { return fetchPendingTransactions(fetcher, { page: pageParam, ...query, @@ -41,9 +42,19 @@ export function usePendingBankTransactionsInfinity( }, getPreviousPageParam: (firstPage: { pagination: { page: number } }) => firstPage.pagination.page - 1, - getNextPageParam: (lastPage: { pagination: { total: number; page: number; pageSize?: number; page_size?: number } }) => { + getNextPageParam: (lastPage: { + pagination: { + total: number; + page: number; + pageSize?: number; + page_size?: number; + }; + }) => { const { pagination } = lastPage; - const pageSize = 'pageSize' in pagination ? (pagination as { pageSize: number }).pageSize : (pagination as { page_size: number }).page_size; + const pageSize = + 'pageSize' in pagination + ? (pagination as { pageSize: number }).pageSize + : (pagination as { page_size: number }).page_size; return pagination.total > pageSize * pagination.page ? lastPage.pagination.page + 1 : undefined; diff --git a/packages/webapp/src/hooks/query/banking/queries/plaid.ts b/packages/webapp/src/hooks/query/banking/queries/plaid.ts index 5dd397c63..f284871d1 100644 --- a/packages/webapp/src/hooks/query/banking/queries/plaid.ts +++ b/packages/webapp/src/hooks/query/banking/queries/plaid.ts @@ -3,14 +3,17 @@ import type { PlaidExchangeTokenBody, PlaidLinkTokenResponse, } from '@bigcapital/sdk-ts'; -import { fetchPlaidExchangeToken, fetchPlaidLinkToken } from '@bigcapital/sdk-ts'; +import { + fetchPlaidExchangeToken, + fetchPlaidLinkToken, +} from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; /** * Retrieves the Plaid link token. */ export function useGetPlaidLinkToken( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); @@ -24,7 +27,7 @@ export function useGetPlaidLinkToken( * Exchanges the Plaid public token for an access token. */ export function usePlaidExchangeToken( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts b/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts index 395d7f461..06ba3bdf8 100644 --- a/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts +++ b/packages/webapp/src/hooks/query/banking/queries/recognized-transactions.ts @@ -1,24 +1,34 @@ -import { useInfiniteQuery, useQuery, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; -import { fetchExcludedBankTransactions, fetchRecognizedTransaction, fetchRecognizedTransactions } from '@bigcapital/sdk-ts'; +import { + useInfiniteQuery, + useQuery, + UseQueryOptions, + UseQueryResult, +} from '@tanstack/react-query'; +import { + fetchExcludedBankTransactions, + fetchRecognizedTransaction, + fetchRecognizedTransactions, +} from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../../useRequest'; import { bankingKeys } from '../query-keys'; export function useGetRecognizedBankTransaction( uncategorizedTransactionId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: bankingKeys.recognizedTransaction(uncategorizedTransactionId), - queryFn: () => fetchRecognizedTransaction(fetcher, uncategorizedTransactionId), + queryFn: () => + fetchRecognizedTransaction(fetcher, uncategorizedTransactionId), }); } export function useRecognizedBankTransactionsInfinity( query: Record, - infinityProps?: Record + infinityProps?: Record, ) { const fetcher = useApiFetcher(); @@ -26,11 +36,7 @@ export function useRecognizedBankTransactionsInfinity( ...infinityProps, queryKey: bankingKeys.recognizedTransactionsInfinity(query), initialPageParam: 1, - queryFn: async ({ - pageParam = 1, - }: { - pageParam?: number; - }) => { + queryFn: async ({ pageParam = 1 }: { pageParam?: number }) => { return fetchRecognizedTransactions(fetcher, { page: pageParam, ...query, @@ -38,9 +44,19 @@ export function useRecognizedBankTransactionsInfinity( }, getPreviousPageParam: (firstPage: { pagination: { page: number } }) => firstPage.pagination.page - 1, - getNextPageParam: (lastPage: { pagination: { total: number; page: number; pageSize?: number; page_size?: number } }) => { + getNextPageParam: (lastPage: { + pagination: { + total: number; + page: number; + pageSize?: number; + page_size?: number; + }; + }) => { const { pagination } = lastPage; - const pageSize = 'pageSize' in pagination ? (pagination as { pageSize: number }).pageSize : (pagination as { page_size: number }).page_size; + const pageSize = + 'pageSize' in pagination + ? (pagination as { pageSize: number }).pageSize + : (pagination as { page_size: number }).page_size; return pagination.total > pageSize * pagination.page ? lastPage.pagination.page + 1 : undefined; @@ -50,7 +66,7 @@ export function useRecognizedBankTransactionsInfinity( export function useExcludedBankTransactionsInfinity( query: Record, - infinityProps?: Record + infinityProps?: Record, ) { const fetcher = useApiFetcher(); @@ -58,11 +74,7 @@ export function useExcludedBankTransactionsInfinity( ...infinityProps, queryKey: bankingKeys.excludedTransactionsInfinity(query), initialPageParam: 1, - queryFn: async ({ - pageParam = 1, - }: { - pageParam?: number; - }) => { + queryFn: async ({ pageParam = 1 }: { pageParam?: number }) => { return fetchExcludedBankTransactions(fetcher, { page: pageParam, ...query, @@ -70,9 +82,19 @@ export function useExcludedBankTransactionsInfinity( }, getPreviousPageParam: (firstPage: { pagination: { page: number } }) => firstPage.pagination.page - 1, - getNextPageParam: (lastPage: { pagination: { total: number; page: number; pageSize?: number; page_size?: number } }) => { + getNextPageParam: (lastPage: { + pagination: { + total: number; + page: number; + pageSize?: number; + page_size?: number; + }; + }) => { const { pagination } = lastPage; - const pageSize = 'pageSize' in pagination ? (pagination as { pageSize: number }).pageSize : (pagination as { page_size: number }).page_size; + const pageSize = + 'pageSize' in pagination + ? (pagination as { pageSize: number }).pageSize + : (pagination as { page_size: number }).page_size; return pagination.total > pageSize * pagination.page ? lastPage.pagination.page + 1 : undefined; diff --git a/packages/webapp/src/hooks/query/banking/query-keys.ts b/packages/webapp/src/hooks/query/banking/query-keys.ts index ce8cdbb02..70d43eee4 100644 --- a/packages/webapp/src/hooks/query/banking/query-keys.ts +++ b/packages/webapp/src/hooks/query/banking/query-keys.ts @@ -3,18 +3,24 @@ export const BANK_ACCOUNT_SUMMARY_META = 'BANK_ACCOUNT_SUMMARY_META'; export const BANK_RULES = 'BANK_RULE'; export const BANK_TRANSACTION_MATCHES = 'BANK_TRANSACTION_MATCHES'; export const RECOGNIZED_BANK_TRANSACTION = 'RECOGNIZED_BANK_TRANSACTION'; -export const RECOGNIZED_BANK_TRANSACTIONS_INFINITY = 'RECOGNIZED_BANK_TRANSACTIONS_INFINITY'; -export const EXCLUDED_BANK_TRANSACTIONS_INFINITY = 'EXCLUDED_BANK_TRANSACTIONS_INFINITY'; -export const PENDING_BANK_ACCOUNT_TRANSACTIONS = 'PENDING_BANK_ACCOUNT_TRANSACTIONS'; -export const PENDING_BANK_ACCOUNT_TRANSACTIONS_INFINITY = 'PENDING_BANK_ACCOUNT_TRANSACTIONS_INFINITY'; -export const AUTOFILL_CATEGORIZE_BANK_TRANSACTION = 'AUTOFILL_CATEGORIZE_BANK_TRANSACTION'; +export const RECOGNIZED_BANK_TRANSACTIONS_INFINITY = + 'RECOGNIZED_BANK_TRANSACTIONS_INFINITY'; +export const EXCLUDED_BANK_TRANSACTIONS_INFINITY = + 'EXCLUDED_BANK_TRANSACTIONS_INFINITY'; +export const PENDING_BANK_ACCOUNT_TRANSACTIONS = + 'PENDING_BANK_ACCOUNT_TRANSACTIONS'; +export const PENDING_BANK_ACCOUNT_TRANSACTIONS_INFINITY = + 'PENDING_BANK_ACCOUNT_TRANSACTIONS_INFINITY'; +export const AUTOFILL_CATEGORIZE_BANK_TRANSACTION = + 'AUTOFILL_CATEGORIZE_BANK_TRANSACTION'; // Query key factory export const bankingKeys = { all: () => [BANK_RULES] as const, rules: () => [BANK_RULES] as const, rule: (id: number) => [BANK_RULES, id] as const, - summaryMeta: (bankAccountId?: number) => [BANK_ACCOUNT_SUMMARY_META, bankAccountId] as const, + summaryMeta: (bankAccountId?: number) => + [BANK_ACCOUNT_SUMMARY_META, bankAccountId] as const, transactionMatches: (uncategorizedTransactionIds: number[]) => [BANK_TRANSACTION_MATCHES, uncategorizedTransactionIds] as const, recognizedTransaction: (uncategorizedTransactionId: number) => @@ -27,7 +33,10 @@ export const bankingKeys = { [PENDING_BANK_ACCOUNT_TRANSACTIONS_INFINITY, query] as const, pendingTransactions: () => [PENDING_BANK_ACCOUNT_TRANSACTIONS] as const, autofillCategorize: (uncategorizedTransactionIds: number[]) => - [AUTOFILL_CATEGORIZE_BANK_TRANSACTION, uncategorizedTransactionIds] as const, + [ + AUTOFILL_CATEGORIZE_BANK_TRANSACTION, + uncategorizedTransactionIds, + ] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/bills/queries.ts b/packages/webapp/src/hooks/query/bills/queries.ts index c409fba6b..f1ef07594 100644 --- a/packages/webapp/src/hooks/query/bills/queries.ts +++ b/packages/webapp/src/hooks/query/bills/queries.ts @@ -29,12 +29,14 @@ import { import { useApiFetcher } from '../../useRequest'; import { billsKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: billsKeys.all() }); }; export function useCreateBill( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -47,7 +49,7 @@ export function useCreateBill( } export function useEditBill( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -63,9 +65,7 @@ export function useEditBill( }); } -export function useOpenBill( - props?: UseMutationOptions -) { +export function useOpenBill(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -79,9 +79,7 @@ export function useOpenBill( }); } -export function useDeleteBill( - props?: UseMutationOptions -) { +export function useDeleteBill(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -95,9 +93,14 @@ export function useDeleteBill( }); } -export type BulkDeleteBillsPayload = { ids: number[]; skipUndeletable?: boolean }; +export type BulkDeleteBillsPayload = { + ids: number[]; + skipUndeletable?: boolean; +}; -function toBulkDeleteBody(payload: BulkDeleteBillsPayload): BulkDeleteBillsBody { +function toBulkDeleteBody( + payload: BulkDeleteBillsPayload, +): BulkDeleteBillsBody { return { ids: payload.ids, skipUndeletable: payload.skipUndeletable ?? false, @@ -105,7 +108,7 @@ function toBulkDeleteBody(payload: BulkDeleteBillsPayload): BulkDeleteBillsBody } export function useBulkDeleteBills( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -127,7 +130,7 @@ export type ValidateBulkDeleteBillsResponse = { }; export function useValidateBulkDeleteBills( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); @@ -140,7 +143,7 @@ export function useValidateBulkDeleteBills( export function useBills( query?: GetBillsQuery, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -152,7 +155,7 @@ export function useBills( export function useBill( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -165,14 +168,17 @@ export function useBill( export function useDueBills( vendorId: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: billsKeys.due(vendorId), queryFn: () => - fetchDueBills(fetcher, vendorId != null ? { vendor_id: vendorId } : undefined), + fetchDueBills( + fetcher, + vendorId != null ? { vendor_id: vendorId } : undefined, + ), }); } @@ -185,7 +191,10 @@ export function useRefreshBills() { export function useBillPaymentTransactions( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/bills/query-keys.ts b/packages/webapp/src/hooks/query/bills/query-keys.ts index 1582d03c2..4669e1eb0 100644 --- a/packages/webapp/src/hooks/query/bills/query-keys.ts +++ b/packages/webapp/src/hooks/query/bills/query-keys.ts @@ -10,7 +10,8 @@ export const billsKeys = { list: (query?: Record) => [BILLS, query] as const, detail: (id: number | null | undefined) => [BILL, id] as const, due: (vendorId?: number | null) => [BILLS, BILLS_DUE, vendorId] as const, - paymentTransactions: (id: number | null | undefined) => [BILLS_PAYMENT_TRANSACTIONS, id] as const, + paymentTransactions: (id: number | null | undefined) => + [BILLS_PAYMENT_TRANSACTIONS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/branches/queries.ts b/packages/webapp/src/hooks/query/branches/queries.ts index fd0985efa..9b4ae953b 100644 --- a/packages/webapp/src/hooks/query/branches/queries.ts +++ b/packages/webapp/src/hooks/query/branches/queries.ts @@ -24,13 +24,15 @@ import { useApiFetcher } from '../../useRequest'; import { branchesKeys } from './query-keys'; import { usersKeys } from '../users/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: branchesKeys.all() }); queryClient.invalidateQueries({ queryKey: usersKeys.dashboardMeta() }); }; export function useCreateBranch( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -43,7 +45,7 @@ export function useCreateBranch( } export function useEditBranch( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -60,7 +62,7 @@ export function useEditBranch( } export function useDeleteBranch( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -77,7 +79,7 @@ export function useDeleteBranch( export function useBranches( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -90,7 +92,7 @@ export function useBranches( export function useBranch( id: number | string | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -102,7 +104,7 @@ export function useBranch( } export function useActivateBranches( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -115,14 +117,15 @@ export function useActivateBranches( } export function useMarkBranchAsPrimary( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (id: number | string) => markBranchAsPrimary(fetcher, String(id)), + mutationFn: (id: number | string) => + markBranchAsPrimary(fetcher, String(id)), onSuccess: (_data, id) => { queryClient.invalidateQueries({ queryKey: branchesKeys.detail(id) }); commonInvalidateQueries(queryClient); diff --git a/packages/webapp/src/hooks/query/cashflow-accounts/queries.ts b/packages/webapp/src/hooks/query/cashflow-accounts/queries.ts index 9c0594c12..7893e1a6a 100644 --- a/packages/webapp/src/hooks/query/cashflow-accounts/queries.ts +++ b/packages/webapp/src/hooks/query/cashflow-accounts/queries.ts @@ -31,18 +31,28 @@ import { customersKeys } from '../customers/query-keys'; import { vendorsKeys } from '../vendors/query-keys'; import { financialReportsKeys } from '../FinancialReports/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { // Invalidate cashflow accounts. queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.all() }); // Invalidate cashflow transactions. - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions() }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity() }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.uncategorizedInfinity() }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions(), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity(), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.uncategorizedInfinity(), + }); // Invalidate accounts. queryClient.invalidateQueries({ queryKey: accountsKeys.all() }); - queryClient.invalidateQueries({ queryKey: accountsKeys.transactions(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: accountsKeys.transactions(null).slice(0, 1), + }); // Invalidate financial reports. queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); @@ -56,7 +66,7 @@ const commonInvalidateQueries = (queryClient: ReturnType) export function useCashflowAccounts( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -68,7 +78,7 @@ export function useCashflowAccounts( } export function useCreateCashflowTransaction( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -85,7 +95,7 @@ export function useCreateCashflowTransaction( export function useCashflowTransaction( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -98,7 +108,7 @@ export function useCashflowTransaction( } export function useDeleteCashflowTransaction( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -107,7 +117,9 @@ export function useDeleteCashflowTransaction( ...props, mutationFn: (id: number) => deleteCashflowTransaction(fetcher, id), onSuccess: (_res, id) => { - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transaction(id) }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transaction(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -117,9 +129,19 @@ export function useAccountTransactionsInfinity( accountId: number, query?: CashflowAccountTransactionsQuery, props?: Omit< - UseInfiniteQueryOptions, + UseInfiniteQueryOptions< + unknown, + Error, + unknown, + unknown, + readonly [ + string, + number | undefined, + CashflowAccountTransactionsQuery | undefined, + ] + >, 'queryKey' | 'queryFn' | 'initialPageParam' | 'getNextPageParam' - > + >, ) { const fetcher = useApiFetcher(); @@ -127,7 +149,10 @@ export function useAccountTransactionsInfinity( ...props, queryKey: cashflowAccountsKeys.transactionsInfinity(accountId, query), queryFn: ({ pageParam = 1 }) => - fetchAccountTransactionsInfinity(fetcher, accountId, { ...query, page: pageParam }), + fetchAccountTransactionsInfinity(fetcher, accountId, { + ...query, + page: pageParam, + }), initialPageParam: 1, getNextPageParam: (lastPage: { pagination?: { nextPage?: number } }) => lastPage?.pagination?.nextPage, @@ -138,9 +163,19 @@ export function useAccountUncategorizedTransactionsInfinity( accountId: number, query?: CashflowAccountUncategorizedTransactionsQuery, props?: Omit< - UseInfiniteQueryOptions, + UseInfiniteQueryOptions< + unknown, + Error, + unknown, + unknown, + readonly [ + string, + number | undefined, + CashflowAccountUncategorizedTransactionsQuery | undefined, + ] + >, 'queryKey' | 'queryFn' | 'initialPageParam' | 'getNextPageParam' - > + >, ) { const fetcher = useApiFetcher(); @@ -148,7 +183,10 @@ export function useAccountUncategorizedTransactionsInfinity( ...props, queryKey: cashflowAccountsKeys.uncategorizedInfinity(accountId, query), queryFn: ({ pageParam = 1 }) => - fetchAccountUncategorizedTransactions(fetcher, accountId, { ...query, page: pageParam }), + fetchAccountUncategorizedTransactions(fetcher, accountId, { + ...query, + page: pageParam, + }), initialPageParam: 1, getNextPageParam: (lastPage: { pagination?: { nextPage?: number } }) => lastPage?.pagination?.nextPage, @@ -170,14 +208,16 @@ export function useRefreshCashflowTransactions() { return { refresh: () => { - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions() }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions(), + }); }, }; } export function useUncategorizedTransaction( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -190,15 +230,24 @@ export function useUncategorizedTransaction( } export function useCategorizeTransaction( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { id: number; values: CategorizeTransactionBody } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ id, values }: { id: number; values: CategorizeTransactionBody }) => - categorizeTransaction(fetcher, id, values), + mutationFn: ({ + id, + values, + }: { + id: number; + values: CategorizeTransactionBody; + }) => categorizeTransaction(fetcher, id, values), onSuccess: () => { commonInvalidateQueries(queryClient); }, @@ -206,7 +255,7 @@ export function useCategorizeTransaction( } export function useUncategorizeTransaction( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/cashflow-accounts/query-keys.ts b/packages/webapp/src/hooks/query/cashflow-accounts/query-keys.ts index eafeceb60..781ee5b43 100644 --- a/packages/webapp/src/hooks/query/cashflow-accounts/query-keys.ts +++ b/packages/webapp/src/hooks/query/cashflow-accounts/query-keys.ts @@ -2,21 +2,35 @@ export const CASH_FLOW_ACCOUNTS = 'CASH_FLOW_ACCOUNTS'; export const CASH_FLOW_TRANSACTIONS = 'CASH_FLOW_TRANSACTIONS'; export const CASH_FLOW_TRANSACTION = 'CASH_FLOW_TRANSACTION'; -export const CASHFLOW_ACCOUNT_TRANSACTIONS_INFINITY = 'CASHFLOW_ACCOUNT_TRANSACTIONS_INFINITY'; -export const CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY = 'CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY'; -export const CASHFLOW_UNCAATEGORIZED_TRANSACTION = 'CASHFLOW_UNCAATEGORIZED_TRANSACTION'; +export const CASHFLOW_ACCOUNT_TRANSACTIONS_INFINITY = + 'CASHFLOW_ACCOUNT_TRANSACTIONS_INFINITY'; +export const CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY = + 'CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY'; +export const CASHFLOW_UNCAATEGORIZED_TRANSACTION = + 'CASHFLOW_UNCAATEGORIZED_TRANSACTION'; // Query key factory export const cashflowAccountsKeys = { all: () => [CASH_FLOW_ACCOUNTS] as const, - list: (query?: Record) => [CASH_FLOW_ACCOUNTS, query] as const, - transactions: (id?: string | number | null) => [CASH_FLOW_TRANSACTIONS, id] as const, - transaction: (id?: string | number | null) => [CASH_FLOW_TRANSACTION, id] as const, + list: (query?: Record) => + [CASH_FLOW_ACCOUNTS, query] as const, + transactions: (id?: string | number | null) => + [CASH_FLOW_TRANSACTIONS, id] as const, + transaction: (id?: string | number | null) => + [CASH_FLOW_TRANSACTION, id] as const, transactionsInfinity: (accountId?: number, query?: Record) => [CASHFLOW_ACCOUNT_TRANSACTIONS_INFINITY, accountId, query] as const, - uncategorizedInfinity: (accountId?: number, query?: Record) => - [CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY, accountId, query] as const, - uncategorizedTransaction: (id?: number | null) => [CASHFLOW_UNCAATEGORIZED_TRANSACTION, id] as const, + uncategorizedInfinity: ( + accountId?: number, + query?: Record, + ) => + [ + CASHFLOW_ACCOUNT_UNCATEGORIZED_TRANSACTIONS_INFINITY, + accountId, + query, + ] as const, + uncategorizedTransaction: (id?: number | null) => + [CASHFLOW_UNCAATEGORIZED_TRANSACTION, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/contacts/queries.ts b/packages/webapp/src/hooks/query/contacts/queries.ts index 2f445d353..154bccbf6 100644 --- a/packages/webapp/src/hooks/query/contacts/queries.ts +++ b/packages/webapp/src/hooks/query/contacts/queries.ts @@ -18,13 +18,15 @@ import { useAuthOrganizationId } from '../../state'; import { contactsKeys } from './query-keys'; // Common invalidate queries. -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: contactsKeys.all() }); }; export function useContact( id: number | string | undefined | null, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); const organizationId = useAuthOrganizationId(); @@ -39,7 +41,10 @@ export function useContact( } export function useAutoCompleteContacts( - props?: Omit>>, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions>>, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); const organizationId = useAuthOrganizationId(); @@ -52,7 +57,7 @@ export function useAutoCompleteContacts( } export function useActivateContact( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -68,7 +73,7 @@ export function useActivateContact( } export function useInactivateContact( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/credit-note/queries.ts b/packages/webapp/src/hooks/query/credit-note/queries.ts index 55e2a673d..9110ee0cf 100644 --- a/packages/webapp/src/hooks/query/credit-note/queries.ts +++ b/packages/webapp/src/hooks/query/credit-note/queries.ts @@ -46,7 +46,9 @@ import { settingsKeys } from '../settings/query-keys'; import { organizationKeys } from '../organization/query-keys'; import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { // Invalidate credit note. queryClient.invalidateQueries({ queryKey: creditNotesKeys.all() }); @@ -63,44 +65,59 @@ const commonInvalidateQueries = (queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: settingsKeys.creditNotes() }); // Invalidate refund credit - queryClient.invalidateQueries({ queryKey: creditNotesKeys.refund(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: creditNotesKeys.refundTransaction(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.refund(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.refundTransaction(null).slice(0, 1), + }); // Invalidate reconcile. - queryClient.invalidateQueries({ queryKey: creditNotesKeys.reconcile(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: creditNotesKeys.reconciles(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.reconcile(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.reconciles(null).slice(0, 1), + }); // Invalidate invoices. queryClient.invalidateQueries({ queryKey: invoicesKeys.all() }); // Invalidate cashflow accounts. - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1), + }); // Invalidate financial reports. queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); // Invalidate transactions by reference. - queryClient.invalidateQueries({ queryKey: financialReportsKeys.transactionsByReference().slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: financialReportsKeys.transactionsByReference().slice(0, 1), + }); // Invalidate mutate base currency abilities. - queryClient.invalidateQueries({ queryKey: organizationKeys.mutateAbilities() }); + queryClient.invalidateQueries({ + queryKey: organizationKeys.mutateAbilities(), + }); }; export function useCreateCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateCreditNoteBody) => createCreditNote(fetcher, values), + mutationFn: (values: CreateCreditNoteBody) => + createCreditNote(fetcher, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useEditCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -117,7 +134,7 @@ export function useEditCreditNote( } export function useDeleteCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -133,7 +150,11 @@ export function useDeleteCreditNote( } export function useBulkDeleteCreditNotes( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { ids: number[]; skipUndeletable?: boolean } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -152,7 +173,11 @@ export function useBulkDeleteCreditNotes( } export function useValidateBulkDeleteCreditNotes( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteCreditNotesResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -165,24 +190,29 @@ export function useValidateBulkDeleteCreditNotes( export function useCreditNotes( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: creditNotesKeys.list(query), queryFn: () => - (fetchCreditNotes as (f: ReturnType, q?: Record) => Promise)( - fetcher, - query - ), + ( + fetchCreditNotes as ( + f: ReturnType, + q?: Record, + ) => Promise + )(fetcher, query), }); } export function useCreditNote( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -204,7 +234,7 @@ export function useRefreshCreditNotes() { } export function useCreateRefundCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -221,14 +251,15 @@ export function useCreateRefundCreditNote( } export function useDeleteRefundCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (refundCreditId: number) => deleteRefundCreditNote(fetcher, refundCreditId), + mutationFn: (refundCreditId: number) => + deleteRefundCreditNote(fetcher, refundCreditId), onSuccess: () => commonInvalidateQueries(queryClient), }); } @@ -239,7 +270,7 @@ export function useRefundCreditNote( UseQueryOptions>>, 'queryKey' | 'queryFn' >, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -251,7 +282,7 @@ export function useRefundCreditNote( } export function useOpenCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -269,10 +300,12 @@ export function useOpenCreditNote( export function useReconcileCreditNote( id: number | null | undefined, props?: Omit< - UseQueryOptions>>, + UseQueryOptions< + Awaited> + >, 'queryKey' | 'queryFn' >, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -284,7 +317,11 @@ export function useReconcileCreditNote( } export function useCreateReconcileCreditNote( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + [number, ApplyCreditNoteToInvoicesBody] + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -306,7 +343,7 @@ export function useReconcileCreditNotes( UseQueryOptions>>, 'queryKey' | 'queryFn' >, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -318,7 +355,7 @@ export function useReconcileCreditNotes( } export function useDeleteReconcileCredit( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -334,10 +371,12 @@ export function useDeleteReconcileCredit( export function useRefundCreditTransaction( id: number | null | undefined, props?: Omit< - UseQueryOptions>>, + UseQueryOptions< + Awaited> + >, 'queryKey' | 'queryFn' >, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -357,13 +396,14 @@ export interface CreditNoteStateResponse { } export function useGetCreditNoteState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: creditNotesKeys.state(), - queryFn: () => fetchCreditNoteState(fetcher) as Promise, + queryFn: () => + fetchCreditNoteState(fetcher) as Promise, }); } diff --git a/packages/webapp/src/hooks/query/credit-note/query-keys.ts b/packages/webapp/src/hooks/query/credit-note/query-keys.ts index e7c8f0d47..f24532961 100644 --- a/packages/webapp/src/hooks/query/credit-note/query-keys.ts +++ b/packages/webapp/src/hooks/query/credit-note/query-keys.ts @@ -12,9 +12,12 @@ export const creditNotesKeys = { list: (query?: Record) => [CREDIT_NOTES, query] as const, detail: (id: number | null | undefined) => [CREDIT_NOTE, id] as const, refund: (id: number | null | undefined) => [REFUND_CREDIT_NOTE, id] as const, - refundTransaction: (id: number | null | undefined) => [REFUND_CREDIT_NOTE_TRANSACTION, id] as const, - reconcile: (id: number | null | undefined) => [RECONCILE_CREDIT_NOTE, id] as const, - reconciles: (id: number | null | undefined) => [RECONCILE_CREDIT_NOTES, id] as const, + refundTransaction: (id: number | null | undefined) => + [REFUND_CREDIT_NOTE_TRANSACTION, id] as const, + reconcile: (id: number | null | undefined) => + [RECONCILE_CREDIT_NOTE, id] as const, + reconciles: (id: number | null | undefined) => + [RECONCILE_CREDIT_NOTES, id] as const, state: () => ['CREDIT_NOTE_STATE'] as const, }; diff --git a/packages/webapp/src/hooks/query/currencies/queries.ts b/packages/webapp/src/hooks/query/currencies/queries.ts index 17d616c97..84cadf8fc 100644 --- a/packages/webapp/src/hooks/query/currencies/queries.ts +++ b/packages/webapp/src/hooks/query/currencies/queries.ts @@ -20,15 +20,14 @@ import { useApiFetcher } from '../../useRequest'; import { currenciesKeys } from './query-keys'; export function useCreateCurrency( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateCurrencyBody) => - createCurrency(fetcher, values), + mutationFn: (values: CreateCurrencyBody) => createCurrency(fetcher, values), onSuccess: () => { queryClient.invalidateQueries({ queryKey: currenciesKeys.all() }); }, @@ -36,7 +35,7 @@ export function useCreateCurrency( } export function useEditCurrency( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -52,15 +51,14 @@ export function useEditCurrency( } export function useDeleteCurrency( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (currencyCode: string) => - deleteCurrency(fetcher, currencyCode), + mutationFn: (currencyCode: string) => deleteCurrency(fetcher, currencyCode), onSuccess: () => { queryClient.invalidateQueries({ queryKey: currenciesKeys.all() }); }, @@ -68,7 +66,7 @@ export function useDeleteCurrency( } export function useCurrencies( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/customers/queries.ts b/packages/webapp/src/hooks/query/customers/queries.ts index f046f2936..5efa4d804 100644 --- a/packages/webapp/src/hooks/query/customers/queries.ts +++ b/packages/webapp/src/hooks/query/customers/queries.ts @@ -25,13 +25,15 @@ import { import { useApiFetcher } from '../../useRequest'; import { customersKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: customersKeys.all() }); }; export function useCustomers( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -42,7 +44,7 @@ export function useCustomers( } export function useEditCustomer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -59,7 +61,7 @@ export function useEditCustomer( } export function useDeleteCustomer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -75,14 +77,22 @@ export function useDeleteCustomer( } export function useBulkDeleteCustomers( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { ids: number[]; skipUndeletable?: boolean } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ ids, skipUndeletable = false }: { ids: number[]; + mutationFn: ({ + ids, + skipUndeletable = false, + }: { + ids: number[]; skipUndeletable?: boolean; }) => bulkDeleteCustomers(fetcher, { @@ -94,7 +104,11 @@ export function useBulkDeleteCustomers( } export function useValidateBulkDeleteCustomers( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteCustomersResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -106,7 +120,7 @@ export function useValidateBulkDeleteCustomers( } export function useCreateCustomer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -120,7 +134,7 @@ export function useCreateCustomer( export function useCustomer( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -132,7 +146,7 @@ export function useCustomer( } export function useEditCustomerOpeningBalance( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -140,7 +154,11 @@ export function useEditCustomerOpeningBalance( return useMutation({ ...props, mutationFn: ([id, values]: [number, Record]) => - editCustomerOpeningBalance(fetcher, id, values as Parameters[2]), + editCustomerOpeningBalance( + fetcher, + id, + values as Parameters[2], + ), onSuccess: (_data, [id]) => { queryClient.invalidateQueries({ queryKey: customersKeys.detail(id) }); commonInvalidateQueries(queryClient); @@ -151,6 +169,7 @@ export function useEditCustomerOpeningBalance( export function useRefreshCustomers() { const queryClient = useQueryClient(); return { - refresh: () => queryClient.invalidateQueries({ queryKey: customersKeys.all() }), + refresh: () => + queryClient.invalidateQueries({ queryKey: customersKeys.all() }), }; } diff --git a/packages/webapp/src/hooks/query/estimates/queries.ts b/packages/webapp/src/hooks/query/estimates/queries.ts index 1d8cc082b..590698801 100644 --- a/packages/webapp/src/hooks/query/estimates/queries.ts +++ b/packages/webapp/src/hooks/query/estimates/queries.ts @@ -41,13 +41,17 @@ import { itemsKeys } from '../items/query-keys'; import { useRequestPdf } from '../../useRequestPdf'; import { settingsKeys } from '../settings/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: estimatesKeys.all() }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedEstimates(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedEstimates(null).slice(0, 1), + }); }; export function useCreateEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -64,7 +68,7 @@ export function useCreateEstimate( } export function useEditEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -82,7 +86,7 @@ export function useEditEstimate( export function useEstimate( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -95,7 +99,10 @@ export function useEstimate( export function useEstimates( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -105,9 +112,8 @@ export function useEstimates( }); } - export function useDeleteEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -123,7 +129,7 @@ export function useDeleteEstimate( } export function useBulkDeleteEstimates( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -137,18 +143,23 @@ export function useBulkDeleteEstimates( } export function useValidateBulkDeleteEstimates( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteEstimatesResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => validateBulkDeleteSaleEstimates(fetcher, ids), + mutationFn: (ids: number[]) => + validateBulkDeleteSaleEstimates(fetcher, ids), }); } export function useDeliverEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -164,7 +175,7 @@ export function useDeliverEstimate( } export function useApproveEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -180,7 +191,7 @@ export function useApproveEstimate( } export function useRejectEstimate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -212,7 +223,7 @@ export function useRefreshEstimates() { } export function useCreateNotifyEstimateBySMS( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -222,7 +233,9 @@ export function useCreateNotifyEstimateBySMS( mutationFn: ([id, values]: [number, Record]) => notifySaleEstimateBySms(fetcher, id, values), onSuccess: (_data, [id]) => { - queryClient.invalidateQueries({ queryKey: estimatesKeys.notifyBySms(id) }); + queryClient.invalidateQueries({ + queryKey: estimatesKeys.notifyBySms(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -231,7 +244,7 @@ export function useCreateNotifyEstimateBySMS( export function useEstimateSMSDetail( estimateId: number | null | undefined, props?: Record, - requestProps?: Record + requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -244,7 +257,7 @@ export function useEstimateSMSDetail( } export function useSendSaleEstimateMail( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -259,7 +272,7 @@ export function useSendSaleEstimateMail( export function useSaleEstimateMailState( estimateId: number, - props?: UseQueryOptions + props?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ @@ -270,7 +283,7 @@ export function useSaleEstimateMailState( } export function useGetSaleEstimatesState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -286,7 +299,7 @@ export function useGetSaleEstimatesState( */ export const useGetSaleEstimateHtml = ( estimateId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult => { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/estimates/query-keys.ts b/packages/webapp/src/hooks/query/estimates/query-keys.ts index cc117c447..d86ddadcd 100644 --- a/packages/webapp/src/hooks/query/estimates/query-keys.ts +++ b/packages/webapp/src/hooks/query/estimates/query-keys.ts @@ -10,11 +10,14 @@ export const estimatesKeys = { all: () => [SALE_ESTIMATES] as const, list: (query?: Record) => [SALE_ESTIMATES, query] as const, detail: (id: number | null | undefined) => [SALE_ESTIMATE, id] as const, - smsDetail: (id: number | null | undefined) => [SALE_ESTIMATE_SMS_DETAIL, id] as const, + smsDetail: (id: number | null | undefined) => + [SALE_ESTIMATE_SMS_DETAIL, id] as const, html: (id: number | null | undefined) => ['SALE_ESTIMATE_HTML', id] as const, state: () => ['SALE_ESTIMATE_STATE'] as const, - mailOptions: (id: number | null | undefined) => [SALE_ESTIMATE_MAIL_OPTIONS, id] as const, - notifyBySms: (id: number | null | undefined) => [NOTIFY_SALE_ESTIMATE_BY_SMS, id] as const, + mailOptions: (id: number | null | undefined) => + [SALE_ESTIMATE_MAIL_OPTIONS, id] as const, + notifyBySms: (id: number | null | undefined) => + [NOTIFY_SALE_ESTIMATE_BY_SMS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/expenses/queries.ts b/packages/webapp/src/hooks/query/expenses/queries.ts index 65f9e7868..7252f1b69 100644 --- a/packages/webapp/src/hooks/query/expenses/queries.ts +++ b/packages/webapp/src/hooks/query/expenses/queries.ts @@ -34,7 +34,9 @@ import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; import { financialReportsKeys } from '../FinancialReports/query-keys'; import { settingsKeys } from '../settings/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { // Invalidate expenses. queryClient.invalidateQueries({ queryKey: expensesKeys.all() }); @@ -51,8 +53,12 @@ const commonInvalidateQueries = (queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); // Invalidate cashflow accounts. - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions() }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity() }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions(), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity(), + }); // Invalidate settings. queryClient.invalidateQueries({ queryKey: settingsKeys.receipts() }); @@ -62,15 +68,14 @@ const commonInvalidateQueries = (queryClient: ReturnType) }; export function useCreateExpense( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateExpenseBody) => - createExpense(fetcher, values), + mutationFn: (values: CreateExpenseBody) => createExpense(fetcher, values), onSuccess: () => { commonInvalidateQueries(queryClient); }, @@ -78,7 +83,7 @@ export function useCreateExpense( } export function useEditExpense( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -95,7 +100,7 @@ export function useEditExpense( } export function useDeleteExpense( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -111,7 +116,7 @@ export function useDeleteExpense( } export function usePublishExpense( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -127,17 +132,14 @@ export function usePublishExpense( } export function useBulkDeleteExpenses( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ - ids, - skipUndeletable = false, - }: BulkDeleteExpensesBody) => + mutationFn: ({ ids, skipUndeletable = false }: BulkDeleteExpensesBody) => bulkDeleteExpenses(fetcher, { ids, skipUndeletable }), onSuccess: () => { commonInvalidateQueries(queryClient); @@ -150,7 +152,7 @@ export function useValidateBulkDeleteExpenses( ValidateBulkDeleteExpensesResponse, Error, number[] - > + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -163,7 +165,7 @@ export function useValidateBulkDeleteExpenses( export function useExpenses( query?: GetExpensesQuery | null, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -176,7 +178,7 @@ export function useExpenses( export function useExpense( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/import/queries.ts b/packages/webapp/src/hooks/query/import/queries.ts index 4e6754d05..3c7720a52 100644 --- a/packages/webapp/src/hooks/query/import/queries.ts +++ b/packages/webapp/src/hooks/query/import/queries.ts @@ -53,7 +53,7 @@ export function useImportFileUpload(props = {}) { } export function useImportFileMapping( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -63,15 +63,19 @@ export function useImportFileMapping( mutationFn: ([importId, values]: [string, ImportMappingBody]) => importMapping(fetcher, importId, values), onSuccess: () => { - queryClient.invalidateQueries({ queryKey: [importKeys.preview('').slice(0, 1)] }); - queryClient.invalidateQueries({ queryKey: [importKeys.fileMeta('').slice(0, 1)] }); + queryClient.invalidateQueries({ + queryKey: [importKeys.preview('').slice(0, 1)], + }); + queryClient.invalidateQueries({ + queryKey: [importKeys.fileMeta('').slice(0, 1)], + }); }, }); } export function useImportFilePreview( importId: string, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -85,7 +89,7 @@ export function useImportFilePreview( export function useImportFileMeta( importId: string, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -98,7 +102,7 @@ export function useImportFileMeta( } export function useImportFileProcess( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -157,7 +161,9 @@ const invalidateResourcesOnImport = ( switch (resource) { case 'Item': queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); - queryClient.invalidateQueries({ queryKey: itemsKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.detail(null).slice(0, 1), + }); break; case 'ItemCategory': @@ -166,73 +172,115 @@ const invalidateResourcesOnImport = ( case 'Bill': queryClient.invalidateQueries({ queryKey: billsKeys.all() }); - queryClient.invalidateQueries({ queryKey: billsKeys.detail(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedBills(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: billsKeys.detail(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedBills(null).slice(0, 1), + }); break; case 'SaleInvoice': - queryClient.invalidateQueries({ queryKey: invoicesKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: invoicesKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: invoicesKeys.all() }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedInvoices(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedInvoices(null).slice(0, 1), + }); break; case 'SaleEstimate': - queryClient.invalidateQueries({ queryKey: estimatesKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: estimatesKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: estimatesKeys.all() }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedEstimates(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedEstimates(null).slice(0, 1), + }); break; case 'SaleReceipt': - queryClient.invalidateQueries({ queryKey: receiptsKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: receiptsKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: receiptsKeys.all() }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedReceipts(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedReceipts(null).slice(0, 1), + }); break; case 'CreditNote': - queryClient.invalidateQueries({ queryKey: creditNotesKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: creditNotesKeys.all() }); break; case 'VendorCredit': - queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: vendorCreditsKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.all() }); break; case 'PaymentReceive': - queryClient.invalidateQueries({ queryKey: paymentReceivesKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: paymentReceivesKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: paymentReceivesKeys.all() }); break; case 'BillPayment': - queryClient.invalidateQueries({ queryKey: billsKeys.paymentTransactions(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: billsKeys.paymentTransactions(null).slice(0, 1), + }); break; case 'Customer': queryClient.invalidateQueries({ queryKey: customersKeys.all() }); - queryClient.invalidateQueries({ queryKey: customersKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: customersKeys.detail(null).slice(0, 1), + }); break; case 'Vendor': - queryClient.invalidateQueries({ queryKey: vendorsKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: vendorsKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: vendorsKeys.all() }); break; case 'Expense': - queryClient.invalidateQueries({ queryKey: expensesKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: expensesKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: expensesKeys.all() }); break; case 'ManualJournal': - queryClient.invalidateQueries({ queryKey: manualJournalsKeys.detail(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: manualJournalsKeys.detail(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: manualJournalsKeys.all() }); break; case 'UncategorizedBankTransaction': - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.uncategorizedInfinity().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.uncategorizedTransaction().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: bankingKeys.summaryMeta().slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.uncategorizedInfinity().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.uncategorizedTransaction().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: bankingKeys.summaryMeta().slice(0, 1), + }); break; } }; diff --git a/packages/webapp/src/hooks/query/inventory-adjustments/queries.ts b/packages/webapp/src/hooks/query/inventory-adjustments/queries.ts index 8ac879d6f..c0b043545 100644 --- a/packages/webapp/src/hooks/query/inventory-adjustments/queries.ts +++ b/packages/webapp/src/hooks/query/inventory-adjustments/queries.ts @@ -58,7 +58,9 @@ export function usePublishInventoryAdjustment(props) { ...props, mutationFn: (id) => publishInventoryAdjustment(fetcher, id), onSuccess: (_res, id) => { - queryClient.invalidateQueries({ queryKey: inventoryAdjustmentsKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: inventoryAdjustmentsKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); diff --git a/packages/webapp/src/hooks/query/inventory-adjustments/query-keys.ts b/packages/webapp/src/hooks/query/inventory-adjustments/query-keys.ts index 38572b41c..f3ea51162 100644 --- a/packages/webapp/src/hooks/query/inventory-adjustments/query-keys.ts +++ b/packages/webapp/src/hooks/query/inventory-adjustments/query-keys.ts @@ -5,8 +5,10 @@ export const INVENTORY_ADJUSTMENT = 'INVENTORY_ADJUSTMENT'; // Query key factory export const inventoryAdjustmentsKeys = { all: () => [INVENTORY_ADJUSTMENTS] as const, - list: (query?: Record) => [INVENTORY_ADJUSTMENTS, query] as const, - detail: (id: number | null | undefined) => [INVENTORY_ADJUSTMENT, id] as const, + list: (query?: Record) => + [INVENTORY_ADJUSTMENTS, query] as const, + detail: (id: number | null | undefined) => + [INVENTORY_ADJUSTMENT, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/invite/queries.ts b/packages/webapp/src/hooks/query/invite/queries.ts index 5f076d7c6..bba503fdc 100644 --- a/packages/webapp/src/hooks/query/invite/queries.ts +++ b/packages/webapp/src/hooks/query/invite/queries.ts @@ -1,11 +1,21 @@ -import { useMutation, useQuery, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query'; +import { + useMutation, + useQuery, + UseMutationOptions, + UseQueryOptions, +} from '@tanstack/react-query'; import type { AcceptInviteBody, BulkInviteBody } from '@bigcapital/sdk-ts'; -import { acceptInvite, bulkSendInviteUsers, fetchInviteCheck, resendInvite } from '@bigcapital/sdk-ts'; +import { + acceptInvite, + bulkSendInviteUsers, + fetchInviteCheck, + resendInvite, +} from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; import { inviteKeys } from './query-keys'; export function useAuthInviteAccept( - props?: UseMutationOptions, string]> + props?: UseMutationOptions, string]>, ) { const fetcher = useApiFetcher(); return useMutation({ @@ -17,7 +27,7 @@ export function useAuthInviteAccept( export function useInviteMetaByToken( token: string | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ @@ -29,7 +39,7 @@ export function useInviteMetaByToken( } export function useResendInvitation( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); return useMutation({ @@ -39,7 +49,7 @@ export function useResendInvitation( } export function useBulkCreateInviteUsers( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); return useMutation({ diff --git a/packages/webapp/src/hooks/query/invoices/queries.ts b/packages/webapp/src/hooks/query/invoices/queries.ts index 0b6ce7f50..2253fd52c 100644 --- a/packages/webapp/src/hooks/query/invoices/queries.ts +++ b/packages/webapp/src/hooks/query/invoices/queries.ts @@ -51,31 +51,44 @@ import { financialReportsKeys } from '../FinancialReports/query-keys'; import { creditNotesKeys } from '../credit-note/query-keys'; import { settingsKeys } from '../settings/query-keys'; -function commonInvalidateQueries(queryClient: ReturnType) { +function commonInvalidateQueries( + queryClient: ReturnType, +) { queryClient.invalidateQueries({ queryKey: invoicesKeys.all() }); queryClient.invalidateQueries({ queryKey: customersKeys.all() }); queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); queryClient.invalidateQueries({ queryKey: settingsKeys.invoices() }); queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); - queryClient.invalidateQueries({ queryKey: financialReportsKeys.transactionsByReference().slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: financialReportsKeys.transactionsByReference().slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: accountsKeys.all() }); - queryClient.invalidateQueries({ queryKey: creditNotesKeys.reconcile(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: creditNotesKeys.reconciles(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: organizationKeys.mutateAbilities() }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.reconcile(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: creditNotesKeys.reconciles(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: organizationKeys.mutateAbilities(), + }); } export function useCreateInvoice( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateSaleInvoiceBody) => createSaleInvoice(fetcher, values), + mutationFn: (values: CreateSaleInvoiceBody) => + createSaleInvoice(fetcher, values), onSuccess: (_data, values) => { const customerId = values.customerId as unknown as number; - queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); + queryClient.invalidateQueries({ + queryKey: customersKeys.detail(customerId), + }); queryClient.invalidateQueries({ queryKey: estimatesKeys.all() }); commonInvalidateQueries(queryClient); }, @@ -83,7 +96,7 @@ export function useCreateInvoice( } export function useEditInvoice( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -95,13 +108,17 @@ export function useEditInvoice( onSuccess: (_data, [id, values]) => { const customerId = values.customerId as unknown as number; queryClient.invalidateQueries({ queryKey: invoicesKeys.detail(id) }); - queryClient.invalidateQueries({ queryKey: customersKeys.detail(customerId) }); + queryClient.invalidateQueries({ + queryKey: customersKeys.detail(customerId), + }); commonInvalidateQueries(queryClient); }, }); } -export function useDeleteInvoice(props?: UseMutationOptions) { +export function useDeleteInvoice( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -121,7 +138,7 @@ export function useBulkDeleteInvoices( void, Error, { ids: number[]; skipUndeletable?: boolean } - > + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -140,7 +157,11 @@ export function useBulkDeleteInvoices( } export function useValidateBulkDeleteInvoices( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteSaleInvoicesResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher(); @@ -152,7 +173,7 @@ export function useValidateBulkDeleteInvoices( export function useInvoices( query?: GetSaleInvoicesQuery, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher(); @@ -163,7 +184,9 @@ export function useInvoices( }); } -export function useDeliverInvoice(props?: UseMutationOptions) { +export function useDeliverInvoice( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -171,7 +194,9 @@ export function useDeliverInvoice(props?: UseMutationOptions deliverSaleInvoice(fetcher, invoiceId), onSuccess: (_data, invoiceId) => { - queryClient.invalidateQueries({ queryKey: invoicesKeys.detail(invoiceId) }); + queryClient.invalidateQueries({ + queryKey: invoicesKeys.detail(invoiceId), + }); commonInvalidateQueries(queryClient); }, }); @@ -202,7 +227,7 @@ export function usePdfInvoice(invoiceId: number) { export function useInvoiceHtml( invoiceId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -215,14 +240,15 @@ export function useInvoiceHtml( export function useDueInvoices( customerId: number | null | undefined, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: invoicesKeys.due(customerId), - queryFn: () => fetchReceivableSaleInvoices(fetcher, customerId ?? undefined), + queryFn: () => + fetchReceivableSaleInvoices(fetcher, customerId ?? undefined), enabled: customerId != null, }); } @@ -238,7 +264,7 @@ export function useRefreshInvoices() { } export function useCreateBadDebt( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -254,7 +280,9 @@ export function useCreateBadDebt( }); } -export function useCancelBadDebt(props?: UseMutationOptions) { +export function useCancelBadDebt( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -262,7 +290,9 @@ export function useCancelBadDebt(props?: UseMutationOptions ...props, mutationFn: (id: number) => cancelWrittenOffSaleInvoice(fetcher, id), onSuccess: (_data, id) => { - queryClient.invalidateQueries({ queryKey: invoicesKeys.cancelBadDebt(id) }); + queryClient.invalidateQueries({ + queryKey: invoicesKeys.cancelBadDebt(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -270,7 +300,7 @@ export function useCancelBadDebt(props?: UseMutationOptions // Not in OpenAPI schema for sale-invoices; keep using apiRequest. export function useCreateNotifyInvoiceBySMS( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const apiRequest = useApiRequest(); @@ -290,7 +320,7 @@ export function useCreateNotifyInvoiceBySMS( export function useInvoiceSMSDetail( invoiceId: number, query?: Record, - props?: Record + props?: Record, ) { return useRequestQuery( [...invoicesKeys.smsDetail(invoiceId), query], @@ -303,13 +333,13 @@ export function useInvoiceSMSDetail( select: (res: { data: unknown }) => res.data, defaultData: {}, ...props, - } + }, ); } export function useInvoicePaymentTransactions( invoiceId: number, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher(); @@ -399,14 +429,18 @@ export interface GetSaleInvoiceDefaultOptionsResponse { export function useSaleInvoiceMailState( invoiceId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...options, queryKey: invoicesKeys.defaultOptions(invoiceId), - queryFn: () => fetchSaleInvoiceMailState(fetcher, invoiceId) as Promise, + queryFn: () => + fetchSaleInvoiceMailState( + fetcher, + invoiceId, + ) as Promise, }); } @@ -414,7 +448,7 @@ export function useSaleInvoiceMailState( export type GetSaleInvoiceStateResponse = SaleInvoiceStateResponse; export function useGetSaleInvoiceState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -422,8 +456,9 @@ export function useGetSaleInvoiceState( ...options, queryKey: invoicesKeys.state(), queryFn: () => - fetchSaleInvoiceState(fetcher).then((data: GetSaleInvoiceStateResponse & { data?: unknown }) => - (data?.data ?? data) as GetSaleInvoiceStateResponse + fetchSaleInvoiceState(fetcher).then( + (data: GetSaleInvoiceStateResponse & { data?: unknown }) => + (data?.data ?? data) as GetSaleInvoiceStateResponse, ), }); } @@ -478,7 +513,7 @@ export interface GetSaleInvoiceBrandingTemplateResponse { export function useGetSaleInvoiceBrandingTemplate( invoiceId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const apiRequest = useApiRequest(); @@ -488,8 +523,11 @@ export function useGetSaleInvoiceBrandingTemplate( queryFn: () => apiRequest .get(`/sale-invoices/${invoiceId}/template`, {}) - .then((res: { data?: { data?: unknown } }) => - transformToCamelCase(res.data?.data) as GetSaleInvoiceBrandingTemplateResponse + .then( + (res: { data?: { data?: unknown } }) => + transformToCamelCase( + res.data?.data, + ) as GetSaleInvoiceBrandingTemplateResponse, ), }); } diff --git a/packages/webapp/src/hooks/query/invoices/query-keys.ts b/packages/webapp/src/hooks/query/invoices/query-keys.ts index cb95ea1e4..e90c8b18c 100644 --- a/packages/webapp/src/hooks/query/invoices/query-keys.ts +++ b/packages/webapp/src/hooks/query/invoices/query-keys.ts @@ -6,7 +6,8 @@ export const SALE_INVOICE_SMS_DETAIL = 'SALE_INVOICE_SMS_DETAIL'; export const NOTIFY_SALE_INVOICE_BY_SMS = 'NOTIFY_SALE_INVOICE_BY_SMS'; export const BAD_DEBT = 'BAD_DEBT'; export const CANCEL_BAD_DEBT = 'CANCEL_BAD_DEBT'; -export const SALE_INVOICE_PAYMENT_TRANSACTIONS = 'SALE_INVOICE_PAYMENT_TRANSACTIONS'; +export const SALE_INVOICE_PAYMENT_TRANSACTIONS = + 'SALE_INVOICE_PAYMENT_TRANSACTIONS'; export const SALE_INVOICE_DEFAULT_OPTIONS = 'SALE_INVOICE_DEFAULT_OPTIONS'; // Query key factory @@ -14,16 +15,23 @@ export const invoicesKeys = { all: () => [SALE_INVOICES] as const, list: (query?: Record) => [SALE_INVOICES, query] as const, detail: (id: number | null | undefined) => [SALE_INVOICE, id] as const, - due: (customerId?: number | null) => [SALE_INVOICES, SALE_INVOICES_DUE, customerId] as const, - paymentTransactions: (id: number | null | undefined) => [SALE_INVOICE_PAYMENT_TRANSACTIONS, id] as const, - smsDetail: (id: number | null | undefined) => [SALE_INVOICE_SMS_DETAIL, id] as const, + due: (customerId?: number | null) => + [SALE_INVOICES, SALE_INVOICES_DUE, customerId] as const, + paymentTransactions: (id: number | null | undefined) => + [SALE_INVOICE_PAYMENT_TRANSACTIONS, id] as const, + smsDetail: (id: number | null | undefined) => + [SALE_INVOICE_SMS_DETAIL, id] as const, html: (id: number | null | undefined) => ['SALE_INVOICE_HTML', id] as const, state: () => ['SALE_INVOICE_STATE'] as const, - brandingTemplate: (id: number | null | undefined) => ['SALE_INVOICE_BRANDING_TEMPLATE', id] as const, - defaultOptions: (id: number | null | undefined) => [SALE_INVOICE_DEFAULT_OPTIONS, id] as const, + brandingTemplate: (id: number | null | undefined) => + ['SALE_INVOICE_BRANDING_TEMPLATE', id] as const, + defaultOptions: (id: number | null | undefined) => + [SALE_INVOICE_DEFAULT_OPTIONS, id] as const, badDebt: (id: number | null | undefined) => [BAD_DEBT, id] as const, - cancelBadDebt: (id: number | null | undefined) => [CANCEL_BAD_DEBT, id] as const, - notifyBySms: (id: number | null | undefined) => [NOTIFY_SALE_INVOICE_BY_SMS, id] as const, + cancelBadDebt: (id: number | null | undefined) => + [CANCEL_BAD_DEBT, id] as const, + notifyBySms: (id: number | null | undefined) => + [NOTIFY_SALE_INVOICE_BY_SMS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/items-categories/queries.ts b/packages/webapp/src/hooks/query/items-categories/queries.ts index b51efec37..a0a6c76bc 100644 --- a/packages/webapp/src/hooks/query/items-categories/queries.ts +++ b/packages/webapp/src/hooks/query/items-categories/queries.ts @@ -22,16 +22,17 @@ import { import { useApiFetcher } from '../../useRequest'; import { itemsCategoriesKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: itemsCategoriesKeys.all() }); }; - /** * Creates a new item category. */ export function useCreateItemCategory( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -48,7 +49,7 @@ export function useCreateItemCategory( * Edits the item category. */ export function useEditItemCategory( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -58,7 +59,9 @@ export function useEditItemCategory( mutationFn: ([id, values]: [number, EditItemCategoryBody]) => editItemCategory(fetcher, id, values), onSuccess: (_data, [id]) => { - queryClient.invalidateQueries({ queryKey: itemsCategoriesKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: itemsCategoriesKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -68,7 +71,7 @@ export function useEditItemCategory( * Deletes the given item category. */ export function useDeleteItemCategory( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -77,15 +80,22 @@ export function useDeleteItemCategory( ...props, mutationFn: (id: number) => deleteItemCategory(fetcher, id), onSuccess: (_data, id) => { - queryClient.invalidateQueries({ queryKey: itemsCategoriesKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: itemsCategoriesKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); } -function transformCategories(data: ItemCategoriesListResponse): ItemsCategoriesListResult { - const arr = Array.isArray(data) ? data : (data as { data?: ItemCategory[] })?.data ?? []; - const pagination = (data as { pagination?: Record })?.pagination ?? {}; +function transformCategories( + data: ItemCategoriesListResponse, +): ItemsCategoriesListResult { + const arr = Array.isArray(data) + ? data + : ((data as { data?: ItemCategory[] })?.data ?? []); + const pagination = + (data as { pagination?: Record })?.pagination ?? {}; return { itemsCategories: arr as ItemCategory[], pagination, @@ -98,17 +108,23 @@ function transformCategories(data: ItemCategoriesListResponse): ItemsCategoriesL export function useItemsCategories( query?: Record, props?: Omit< - UseQueryOptions, + UseQueryOptions< + ItemCategoriesListResponse, + Error, + ItemsCategoriesListResult + >, 'queryKey' | 'queryFn' | 'select' - > + >, ) { const fetcher = useApiFetcher(); - return useQuery({ - ...props, - queryKey: [...itemsCategoriesKeys.all(), query], - queryFn: () => fetchItemCategories(fetcher), - select: transformCategories, - }); + return useQuery( + { + ...props, + queryKey: [...itemsCategoriesKeys.all(), query], + queryFn: () => fetchItemCategories(fetcher), + select: transformCategories, + }, + ); } /** @@ -116,7 +132,7 @@ export function useItemsCategories( */ export function useItemCategory( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/items/queries.ts b/packages/webapp/src/hooks/query/items/queries.ts index faddeebf6..9e071becf 100644 --- a/packages/webapp/src/hooks/query/items/queries.ts +++ b/packages/webapp/src/hooks/query/items/queries.ts @@ -42,13 +42,15 @@ import { useApiFetcher } from '../../useRequest'; import { itemsKeys } from './query-keys'; import { itemsCategoriesKeys } from '../items-categories/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); queryClient.invalidateQueries({ queryKey: itemsCategoriesKeys.all() }); }; export function useCreateItem( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -61,7 +63,7 @@ export function useCreateItem( } export function useEditItem( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -77,9 +79,7 @@ export function useEditItem( }); } -export function useDeleteItem( - props?: UseMutationOptions -) { +export function useDeleteItem(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -94,7 +94,11 @@ export function useDeleteItem( } export function useBulkDeleteItems( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { ids: number[]; skipUndeletable?: boolean } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -107,25 +111,29 @@ export function useBulkDeleteItems( }: { ids: number[]; skipUndeletable?: boolean; - }) => bulkDeleteItems(fetcher, { ids, skipUndeletable } as BulkDeleteItemsBody), + }) => + bulkDeleteItems(fetcher, { ids, skipUndeletable } as BulkDeleteItemsBody), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useValidateBulkDeleteItems( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteItems(fetcher, { ids, skipUndeletable: false } as BulkDeleteItemsBody), + validateBulkDeleteItems(fetcher, { + ids, + skipUndeletable: false, + } as BulkDeleteItemsBody), }); } export function useActivateItem( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -141,7 +149,7 @@ export function useActivateItem( } export function useInactivateItem( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -158,17 +166,19 @@ export function useInactivateItem( export function useItems( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: itemsKeys.list(query), queryFn: () => - (fetchItems as (f: ReturnType, q?: Record) => Promise)( - fetcher, - query - ), + ( + fetchItems as ( + f: ReturnType, + q?: Record, + ) => Promise + )(fetcher, query), }); } @@ -181,7 +191,7 @@ export function useRefreshItems() { export function useItem( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -194,7 +204,10 @@ export function useItem( export function useItemAssociatedInvoiceTransactions( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -207,7 +220,10 @@ export function useItemAssociatedInvoiceTransactions( export function useItemAssociatedEstimateTransactions( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -220,7 +236,10 @@ export function useItemAssociatedEstimateTransactions( export function useItemAssociatedReceiptTransactions( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -233,7 +252,10 @@ export function useItemAssociatedReceiptTransactions( export function useItemAssociatedBillTransactions( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -246,7 +268,7 @@ export function useItemAssociatedBillTransactions( export function useItemWarehouseLocation( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -259,15 +281,19 @@ export function useItemWarehouseLocation( export function useItemInventoryCost( query?: GetInventoryItemsCostQuery, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: itemsKeys.inventoryCost(query), queryFn: () => - fetchInventoryCostItems(fetcher, query as GetInventoryItemsCostQuery).then( - (res: GetInventoryItemsCostResponse) => res.costs ?? [] - ), + fetchInventoryCostItems( + fetcher, + query as GetInventoryItemsCostQuery, + ).then((res: GetInventoryItemsCostResponse) => res.costs ?? []), }); } diff --git a/packages/webapp/src/hooks/query/items/query-keys.ts b/packages/webapp/src/hooks/query/items/query-keys.ts index b8ec521da..baa4d838c 100644 --- a/packages/webapp/src/hooks/query/items/query-keys.ts +++ b/packages/webapp/src/hooks/query/items/query-keys.ts @@ -17,12 +17,18 @@ export const itemsKeys = { detail: (id: number | null | undefined) => [ITEM, id] as const, categories: () => [ITEMS_CATEGORIES] as const, category: (id: number | null | undefined) => [ITEM_CATEGORY, id] as const, - associatedInvoices: (id: number | null | undefined) => [ITEM_ASSOCIATED_WITH_INVOICES, id] as const, - associatedEstimates: (id: number | null | undefined) => [ITEM_ASSOCIATED_WITH_ESTIMATES, id] as const, - associatedReceipts: (id: number | null | undefined) => [ITEM_ASSOCIATED_WITH_RECEIPTS, id] as const, - associatedBills: (id: number | null | undefined) => [ITEMS_ASSOCIATED_WITH_BILLS, id] as const, - warehousesLocation: (id: number | null | undefined) => [ITEM_WAREHOUSES_LOCATION, id] as const, - inventoryCost: (query?: Record) => [ITEM_INVENTORY_COST, query] as const, + associatedInvoices: (id: number | null | undefined) => + [ITEM_ASSOCIATED_WITH_INVOICES, id] as const, + associatedEstimates: (id: number | null | undefined) => + [ITEM_ASSOCIATED_WITH_ESTIMATES, id] as const, + associatedReceipts: (id: number | null | undefined) => + [ITEM_ASSOCIATED_WITH_RECEIPTS, id] as const, + associatedBills: (id: number | null | undefined) => + [ITEMS_ASSOCIATED_WITH_BILLS, id] as const, + warehousesLocation: (id: number | null | undefined) => + [ITEM_WAREHOUSES_LOCATION, id] as const, + inventoryCost: (query?: Record) => + [ITEM_INVENTORY_COST, query] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/jobs/queries.ts b/packages/webapp/src/hooks/query/jobs/queries.ts index a9be1222a..e7bec5c69 100644 --- a/packages/webapp/src/hooks/query/jobs/queries.ts +++ b/packages/webapp/src/hooks/query/jobs/queries.ts @@ -6,7 +6,10 @@ import { jobsKeys } from './query-keys'; /** * Retrieve the job metadata. */ -export function useJob(jobId: string | number | null | undefined, props: Omit = {}) { +export function useJob( + jobId: string | number | null | undefined, + props: Omit = {}, +) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ ...props, diff --git a/packages/webapp/src/hooks/query/landed-cost/queries.ts b/packages/webapp/src/hooks/query/landed-cost/queries.ts index c7b7b6098..80776eb0c 100644 --- a/packages/webapp/src/hooks/query/landed-cost/queries.ts +++ b/packages/webapp/src/hooks/query/landed-cost/queries.ts @@ -35,7 +35,8 @@ export function useDeleteLandedCost(props) { return useMutation({ ...props, - mutationFn: (landedCostId) => deleteAllocatedLandedCost(fetcher, landedCostId), + mutationFn: (landedCostId) => + deleteAllocatedLandedCost(fetcher, landedCostId), onSuccess: () => { commonInvalidateQueries(queryClient); }, @@ -48,7 +49,9 @@ export function useLandedCostTransaction(query, props) { ...props, queryKey: landedCostKeys.list({ query }), queryFn: () => - fetchLandedCostTransactions(fetcher, { transaction_type: query } as Record), + fetchLandedCostTransactions(fetcher, { + transaction_type: query, + } as Record), }); } diff --git a/packages/webapp/src/hooks/query/manual-journals/queries.ts b/packages/webapp/src/hooks/query/manual-journals/queries.ts index 1dca8230b..97e2a58fa 100644 --- a/packages/webapp/src/hooks/query/manual-journals/queries.ts +++ b/packages/webapp/src/hooks/query/manual-journals/queries.ts @@ -33,7 +33,9 @@ import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; import { financialReportsKeys } from '../FinancialReports/query-keys'; import { settingsKeys } from '../settings/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { // Invalidate manual journals. queryClient.invalidateQueries({ queryKey: manualJournalsKeys.all() }); @@ -53,15 +55,19 @@ const commonInvalidateQueries = (queryClient: ReturnType) queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); // Invalidate the cashflow transactions. - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions() }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity() }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions(), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity(), + }); }; /** * Creates a new manual journal. */ export function useCreateJournal( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -77,7 +83,7 @@ export function useCreateJournal( } export function useEditJournal( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -87,14 +93,16 @@ export function useEditJournal( mutationFn: ([id, values]: [number, EditManualJournalBody]) => editManualJournal(fetcher, id, values), onSuccess: (_res, [id]) => { - queryClient.invalidateQueries({ queryKey: manualJournalsKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: manualJournalsKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); } export function useDeleteJournal( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -103,14 +111,16 @@ export function useDeleteJournal( ...props, mutationFn: (id: number) => deleteManualJournal(fetcher, id), onSuccess: (_res, id) => { - queryClient.invalidateQueries({ queryKey: manualJournalsKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: manualJournalsKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); } export function useBulkDeleteManualJournals( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -133,18 +143,19 @@ export function useValidateBulkDeleteManualJournals( ValidateBulkDeleteManualJournalsResponse, Error, number[] - > + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => validateBulkDeleteManualJournals(fetcher, { ids }), + mutationFn: (ids: number[]) => + validateBulkDeleteManualJournals(fetcher, { ids }), }); } export function usePublishJournal( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -153,7 +164,9 @@ export function usePublishJournal( ...props, mutationFn: (id: number) => publishManualJournal(fetcher, id), onSuccess: (_res, id) => { - queryClient.invalidateQueries({ queryKey: manualJournalsKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: manualJournalsKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -161,21 +174,23 @@ export function usePublishJournal( export function useJournals( query?: ManualJournalsListQuery | null, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: manualJournalsKeys.list(query ?? undefined), - queryFn: async () => - fetchManualJournals(fetcher, query ?? {}), + queryFn: async () => fetchManualJournals(fetcher, query ?? {}), }); } export function useJournal( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/oneclick-demo/queries.ts b/packages/webapp/src/hooks/query/oneclick-demo/queries.ts index d8e4a8d6f..2fba9e921 100644 --- a/packages/webapp/src/hooks/query/oneclick-demo/queries.ts +++ b/packages/webapp/src/hooks/query/oneclick-demo/queries.ts @@ -16,7 +16,7 @@ import { import { setAuthLoginCookies } from '../authentication'; import { batch } from 'react-redux'; -interface CreateOneClickDemoValues { } +interface CreateOneClickDemoValues {} interface CreateOneClickDemoRes { email: string; signedIn: any; @@ -42,7 +42,7 @@ export function useCreateOneClickDemo( () => apiRequest.post(`/demo/one_click`), { ...props, - onSuccess: (res, id) => { }, + onSuccess: (res, id) => {}, }, ); } @@ -50,7 +50,7 @@ export function useCreateOneClickDemo( interface OneClickSigninDemoValues { demoId: string; } -interface OneClickSigninDemoRes { } +interface OneClickSigninDemoRes {} /** * Sign-in to the created one-click demo account. diff --git a/packages/webapp/src/hooks/query/organization/queries.ts b/packages/webapp/src/hooks/query/organization/queries.ts index 5eecc620c..7dc9c181b 100644 --- a/packages/webapp/src/hooks/query/organization/queries.ts +++ b/packages/webapp/src/hooks/query/organization/queries.ts @@ -34,7 +34,8 @@ export function useOrganizations(props?: Record) { organizationKeys.all(), { method: 'get', url: `organization/all` }, { - select: (res: { data: { organizations: unknown[] } }) => res.data.organizations, + select: (res: { data: { organizations: unknown[] } }) => + res.data.organizations, initialDataUpdatedAt: 0, initialData: { data: { @@ -50,7 +51,7 @@ export function useOrganizations(props?: Record) { * Retrieve the current organization metadata. */ export function useCurrentOrganization( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const setOrganizations = useSetOrganizations(); const setSubscriptions = useSetSubscriptions(); @@ -64,7 +65,9 @@ export function useCurrentOrganization( useEffect(() => { if (result.isSuccess && result.data) { - const data = result.data as OrganizationCurrent & { subscriptions?: unknown }; + const data = result.data as OrganizationCurrent & { + subscriptions?: unknown; + }; const organization = omit(data, ['subscriptions']); batch(() => { setSubscriptions(data.subscriptions); @@ -80,14 +83,15 @@ export function useCurrentOrganization( * Organization setup. */ export function useOrganizationSetup( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); const queryClient = useQueryClient(); return useMutation({ ...props, - mutationFn: (values: BuildOrganizationBody) => buildOrganization(fetcher, values) as Promise, + mutationFn: (values: BuildOrganizationBody) => + buildOrganization(fetcher, values) as Promise, onSuccess: (...args) => { queryClient.invalidateQueries({ queryKey: organizationKeys.current() }); queryClient.invalidateQueries({ queryKey: organizationKeys.all() }); @@ -100,14 +104,15 @@ export function useOrganizationSetup( * Saves the organization. */ export function useUpdateOrganization( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (information: UpdateOrganizationBody) => updateOrganization(fetcher, information), + mutationFn: (information: UpdateOrganizationBody) => + updateOrganization(fetcher, information), onSuccess: (...args) => { queryClient.invalidateQueries({ queryKey: organizationKeys.current() }); queryClient.invalidateQueries({ queryKey: organizationKeys.all() }); @@ -117,7 +122,10 @@ export function useUpdateOrganization( } export function useOrgBaseCurrencyMutateAbilities( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); @@ -125,6 +133,7 @@ export function useOrgBaseCurrencyMutateAbilities( ...props, queryKey: organizationKeys.mutateAbilities(), queryFn: () => fetchOrgBaseCurrencyMutateAbilities(fetcher), - select: (data: OrgBaseCurrencyMutateAbilitiesResponse) => data?.abilities ?? [], + select: (data: OrgBaseCurrencyMutateAbilitiesResponse) => + data?.abilities ?? [], }); } diff --git a/packages/webapp/src/hooks/query/organization/query-keys.ts b/packages/webapp/src/hooks/query/organization/query-keys.ts index fd96afc94..944e4365b 100644 --- a/packages/webapp/src/hooks/query/organization/query-keys.ts +++ b/packages/webapp/src/hooks/query/organization/query-keys.ts @@ -1,7 +1,8 @@ // Query key constants export const ORGANIZATIONS = 'ORGANIZATIONS'; export const ORGANIZATION_CURRENT = 'ORGANIZATION_CURRENT'; -export const ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES = 'ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES'; +export const ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES = + 'ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES'; // Query key factory export const organizationKeys = { diff --git a/packages/webapp/src/hooks/query/payment-link/queries.ts b/packages/webapp/src/hooks/query/payment-link/queries.ts index c8efbb094..1c920d657 100644 --- a/packages/webapp/src/hooks/query/payment-link/queries.ts +++ b/packages/webapp/src/hooks/query/payment-link/queries.ts @@ -48,14 +48,16 @@ export function useCreatePaymentLink( > { const fetcher = useApiFetcher(); - return useMutation({ - mutationFn: (values) => - generateSaleInvoiceSharableLink( - fetcher, - Number(values.transactionId), - ).then((data) => ({ link: data.link })), - ...options, - }); + return useMutation( + { + mutationFn: (values) => + generateSaleInvoiceSharableLink( + fetcher, + Number(values.transactionId), + ).then((data) => ({ link: data.link })), + ...options, + }, + ); } // Get Invoice Payment Link @@ -118,18 +120,10 @@ export const useGeneratePaymentLinkInvoicePdf = ( Error, GeneratePaymentLinkInvoicePdfValues >, -): UseMutationResult< - Blob, - Error, - GeneratePaymentLinkInvoicePdfValues -> => { +): UseMutationResult => { const fetcher = useApiFetcher(); - return useMutation< - Blob, - Error, - GeneratePaymentLinkInvoicePdfValues - >({ + return useMutation({ mutationFn: (values: GeneratePaymentLinkInvoicePdfValues) => fetchGetPaymentLinkInvoicePdf(fetcher, values.paymentLinkId), ...options, diff --git a/packages/webapp/src/hooks/query/payment-link/query-keys.ts b/packages/webapp/src/hooks/query/payment-link/query-keys.ts index 08959053c..5b886894e 100644 --- a/packages/webapp/src/hooks/query/payment-link/query-keys.ts +++ b/packages/webapp/src/hooks/query/payment-link/query-keys.ts @@ -6,7 +6,8 @@ export const PAYMENT_LINK_INVOICE_PDF = 'GetPaymentLinkInvoicePdf'; export const paymentLinkKeys = { all: () => [PAYMENT_LINK_INVOICE] as const, invoice: (linkId: string) => [PAYMENT_LINK_INVOICE, linkId] as const, - invoicePdf: (invoiceId: string) => [PAYMENT_LINK_INVOICE_PDF, invoiceId] as const, + invoicePdf: (invoiceId: string) => + [PAYMENT_LINK_INVOICE_PDF, invoiceId] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/payment-mades/queries.ts b/packages/webapp/src/hooks/query/payment-mades/queries.ts index 532252676..fdc3ca2be 100644 --- a/packages/webapp/src/hooks/query/payment-mades/queries.ts +++ b/packages/webapp/src/hooks/query/payment-mades/queries.ts @@ -28,12 +28,17 @@ import { paymentMadesKeys } from './query-keys'; const commonInvalidateQueries = (client: ReturnType) => { client.invalidateQueries({ queryKey: paymentMadesKeys.all() }); client.invalidateQueries({ queryKey: paymentMadesKeys.newEntries() }); - client.invalidateQueries({ queryKey: paymentMadesKeys.editPage(null).slice(0, 1) }); + client.invalidateQueries({ + queryKey: paymentMadesKeys.editPage(null).slice(0, 1), + }); }; export function usePaymentMades( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -44,7 +49,7 @@ export function usePaymentMades( } export function useCreatePaymentMade( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -58,7 +63,7 @@ export function useCreatePaymentMade( } export function useEditPaymentMade( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -75,7 +80,7 @@ export function useEditPaymentMade( } export function useDeletePaymentMade( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -92,7 +97,10 @@ export function useDeletePaymentMade( export function usePaymentMadeEditPage( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -109,7 +117,7 @@ export function usePaymentMadeNewPageEntries( props?: Omit< UseQueryOptions, 'queryKey' | 'queryFn' | 'enabled' - > + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -124,13 +132,14 @@ export function usePaymentMadeNewPageEntries( export function useRefreshPaymentMades() { const queryClient = useQueryClient(); return { - refresh: () => queryClient.invalidateQueries({ queryKey: paymentMadesKeys.all() }), + refresh: () => + queryClient.invalidateQueries({ queryKey: paymentMadesKeys.all() }), }; } export function usePaymentMade( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/payment-mades/query-keys.ts b/packages/webapp/src/hooks/query/payment-mades/query-keys.ts index b357408ce..8f5669caf 100644 --- a/packages/webapp/src/hooks/query/payment-mades/query-keys.ts +++ b/packages/webapp/src/hooks/query/payment-mades/query-keys.ts @@ -9,8 +9,10 @@ export const paymentMadesKeys = { all: () => [PAYMENT_MADES] as const, list: (query?: Record) => [PAYMENT_MADES, query] as const, detail: (id: number | null | undefined) => [PAYMENT_MADE, id] as const, - editPage: (id: number | null | undefined) => [PAYMENT_MADE_EDIT_PAGE, id] as const, - newEntries: (vendorId?: number | null) => [PAYMENT_MADE_NEW_ENTRIES, vendorId] as const, + editPage: (id: number | null | undefined) => + [PAYMENT_MADE_EDIT_PAGE, id] as const, + newEntries: (vendorId?: number | null) => + [PAYMENT_MADE_NEW_ENTRIES, vendorId] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/payment-receives/queries.ts b/packages/webapp/src/hooks/query/payment-receives/queries.ts index e0a7e967e..85f94ffa5 100644 --- a/packages/webapp/src/hooks/query/payment-receives/queries.ts +++ b/packages/webapp/src/hooks/query/payment-receives/queries.ts @@ -47,22 +47,37 @@ import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; const commonInvalidateQueries = (client: ReturnType) => { client.invalidateQueries({ queryKey: paymentReceivesKeys.all() }); - client.invalidateQueries({ queryKey: paymentReceivesKeys.editPage(null).slice(0, 1) }); + client.invalidateQueries({ + queryKey: paymentReceivesKeys.editPage(null).slice(0, 1), + }); client.invalidateQueries({ queryKey: invoicesKeys.all() }); client.invalidateQueries({ queryKey: accountsKeys.all() }); client.invalidateQueries({ queryKey: financialReportsKeys.all() }); - client.invalidateQueries({ queryKey: financialReportsKeys.transactionsByReference().slice(0, 1) }); + client.invalidateQueries({ + queryKey: financialReportsKeys.transactionsByReference().slice(0, 1), + }); client.invalidateQueries({ queryKey: customersKeys.all() }); - client.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions().slice(0, 1) }); - client.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1) }); + client.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions().slice(0, 1), + }); + client.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1), + }); client.invalidateQueries({ queryKey: creditNotesKeys.all() }); - client.invalidateQueries({ queryKey: creditNotesKeys.reconcile(null).slice(0, 1) }); - client.invalidateQueries({ queryKey: invoicesKeys.paymentTransactions(null).slice(0, 1) }); + client.invalidateQueries({ + queryKey: creditNotesKeys.reconcile(null).slice(0, 1), + }); + client.invalidateQueries({ + queryKey: invoicesKeys.paymentTransactions(null).slice(0, 1), + }); }; export function usePaymentReceives( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -73,7 +88,7 @@ export function usePaymentReceives( } export function useCreatePaymentReceive( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -91,7 +106,7 @@ export function useCreatePaymentReceive( } export function useEditPaymentReceive( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -109,7 +124,7 @@ export function useEditPaymentReceive( } export function useDeletePaymentReceive( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const client = useQueryClient(); const fetcher = useApiFetcher(); @@ -126,7 +141,7 @@ export function useDeletePaymentReceive( } export function useBulkDeletePaymentReceives( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -140,19 +155,24 @@ export function useBulkDeletePaymentReceives( } export function useValidateBulkDeletePaymentReceives( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeletePaymentsReceivedResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, - mutationFn: (ids: number[]) => validateBulkDeletePaymentsReceived(fetcher, ids), + mutationFn: (ids: number[]) => + validateBulkDeletePaymentsReceived(fetcher, ids), }); } export function usePaymentReceive( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -165,7 +185,7 @@ export function usePaymentReceive( export function usePaymentReceiveEditPage( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -179,13 +199,14 @@ export function usePaymentReceiveEditPage( export function useRefreshPaymentReceive() { const queryClient = useQueryClient(); return { - refresh: () => queryClient.invalidateQueries({ queryKey: paymentReceivesKeys.all() }), + refresh: () => + queryClient.invalidateQueries({ queryKey: paymentReceivesKeys.all() }), }; } /** Notify by SMS – no SDK route in schema; kept on apiRequest. */ export function useCreateNotifyPaymentReceiveBySMS( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const apiRequest = useApiRequest(); @@ -195,7 +216,9 @@ export function useCreateNotifyPaymentReceiveBySMS( mutationFn: ([id, values]: [number, Record]) => apiRequest.post(`payments-received/${id}/notify-by-sms`, values, {}), onSuccess: (_res, [id]) => { - queryClient.invalidateQueries({ queryKey: paymentReceivesKeys.notifyBySms(id) }); + queryClient.invalidateQueries({ + queryKey: paymentReceivesKeys.notifyBySms(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -205,7 +228,7 @@ export function useCreateNotifyPaymentReceiveBySMS( export function usePaymentReceiveSMSDetail( paymentReceiveId: number | null | undefined, props?: Record, - requestProps?: Record + requestProps?: Record, ) { return useRequestQuery( paymentReceivesKeys.smsDetail(paymentReceiveId), @@ -246,7 +269,7 @@ export function useSendPaymentReceiveMail( SendPaymentReceiveMailResponse, Error, [number, SendPaymentReceiveMailValues] - > + >, ): UseMutationResult< SendPaymentReceiveMailResponse, Error, @@ -259,7 +282,11 @@ export function useSendPaymentReceiveMail( return useMutation({ ...props, mutationFn: ([id, values]: [number, SendPaymentReceiveMailValues]) => - sendPaymentReceiveMail(fetcher, id, values as unknown as Record) as Promise, + sendPaymentReceiveMail( + fetcher, + id, + values as unknown as Record, + ) as Promise, onSuccess: () => commonInvalidateQueries(queryClient), }); } @@ -286,7 +313,7 @@ export interface GetPaymentReceivedMailStateResponse { export function usePaymentReceivedMailState( paymentReceiveId: number, - props?: UseQueryOptions + props?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -294,12 +321,15 @@ export function usePaymentReceivedMailState( ...props, queryKey: paymentReceivesKeys.mailOptions(paymentReceiveId), queryFn: () => - fetchPaymentReceiveMail(fetcher, paymentReceiveId) as Promise, + fetchPaymentReceiveMail( + fetcher, + paymentReceiveId, + ) as Promise, }); } export function usePaymentReceivedState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -315,7 +345,7 @@ export function usePaymentReceivedState( */ export function useGetPaymentReceiveHtml( paymentReceivedId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/payment-receives/query-keys.ts b/packages/webapp/src/hooks/query/payment-receives/query-keys.ts index 20a98f56c..6a6a41137 100644 --- a/packages/webapp/src/hooks/query/payment-receives/query-keys.ts +++ b/packages/webapp/src/hooks/query/payment-receives/query-keys.ts @@ -12,12 +12,17 @@ export const paymentReceivesKeys = { all: () => [PAYMENT_RECEIVES] as const, list: (query?: Record) => [PAYMENT_RECEIVES, query] as const, detail: (id: number | null | undefined) => [PAYMENT_RECEIVE, id] as const, - editPage: (id: number | null | undefined) => [PAYMENT_RECEIVE_EDIT_PAGE, id] as const, - smsDetail: (id: number | null | undefined) => [PAYMENT_RECEIVE_SMS_DETAIL, id] as const, - html: (id: number | null | undefined) => ['PAYMENT_RECEIVED_HTML', id] as const, + editPage: (id: number | null | undefined) => + [PAYMENT_RECEIVE_EDIT_PAGE, id] as const, + smsDetail: (id: number | null | undefined) => + [PAYMENT_RECEIVE_SMS_DETAIL, id] as const, + html: (id: number | null | undefined) => + ['PAYMENT_RECEIVED_HTML', id] as const, state: () => ['PAYMENT_RECEIVED_STATE'] as const, - mailOptions: (id: number | null | undefined) => [PAYMENT_RECEIVE_MAIL_OPTIONS, id] as const, - notifyBySms: (id: number | null | undefined) => [NOTIFY_PAYMENT_RECEIVE_BY_SMS, id] as const, + mailOptions: (id: number | null | undefined) => + [PAYMENT_RECEIVE_MAIL_OPTIONS, id] as const, + notifyBySms: (id: number | null | undefined) => + [NOTIFY_PAYMENT_RECEIVE_BY_SMS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/payment-services/queries.ts b/packages/webapp/src/hooks/query/payment-services/queries.ts index 1d2066bb4..740e4b7ee 100644 --- a/packages/webapp/src/hooks/query/payment-services/queries.ts +++ b/packages/webapp/src/hooks/query/payment-services/queries.ts @@ -35,8 +35,8 @@ export const useGetPaymentServices = ( return useQuery({ queryKey: paymentServicesKeys.list(), queryFn: () => - fetchGetPaymentServices(fetcher).then((res) => - res?.payment_services as GetPaymentServicesResponse, + fetchGetPaymentServices(fetcher).then( + (res) => res?.payment_services as GetPaymentServicesResponse, ), ...options, }); @@ -55,7 +55,9 @@ export const useGetPaymentServicesState = ( return useQuery({ queryKey: paymentServicesKeys.state(), queryFn: () => - fetchGetPaymentServicesState(fetcher) as Promise, + fetchGetPaymentServicesState( + fetcher, + ) as Promise, ...options, }); }; @@ -93,8 +95,12 @@ export const useUpdatePaymentMethod = (): UseMutationResult< fetchUpdatePaymentMethod(fetcher, Number(data.paymentMethodId), { ...(data.values.name && { name: data.values.name }), options: { - ...(data.values.bankAccountId && { bankAccountId: data.values.bankAccountId }), - ...(data.values.clearingAccountId && { clearningAccountId: data.values.clearingAccountId }), + ...(data.values.bankAccountId && { + bankAccountId: data.values.bankAccountId, + }), + ...(data.values.clearingAccountId && { + clearningAccountId: data.values.clearingAccountId, + }), }, }), onSuccess: () => { @@ -111,15 +117,18 @@ export const useUpdatePaymentMethod = (): UseMutationResult< */ export const useGetPaymentMethod = ( paymentMethodId: number, - options?: Omit, 'queryKey' | 'queryFn'>, + options?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ): UseQueryResult => { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useQuery({ queryKey: paymentServicesKeys.detail(paymentMethodId), queryFn: () => - fetchGetPaymentService(fetcher, paymentMethodId).then((res) => - res?.data as GetPaymentServiceResponse, + fetchGetPaymentService(fetcher, paymentMethodId).then( + (res) => res?.data as GetPaymentServiceResponse, ), enabled: !!paymentMethodId, ...options, diff --git a/packages/webapp/src/hooks/query/pdf-templates/queries.ts b/packages/webapp/src/hooks/query/pdf-templates/queries.ts index ce0279b55..7df7b54c7 100644 --- a/packages/webapp/src/hooks/query/pdf-templates/queries.ts +++ b/packages/webapp/src/hooks/query/pdf-templates/queries.ts @@ -51,21 +51,33 @@ export type GetPdfTemplatesResponse = PdfTemplatesListResponse; export type AssignPdfTemplateAsDefaultValues = { templateId: number }; export type AssignPdfTemplateAsDefaultResponse = void; -export type GetPdfTemplateBrandingStateResponse = PdfTemplateBrandingStateResponse; +export type GetPdfTemplateBrandingStateResponse = + PdfTemplateBrandingStateResponse; -function invalidatePdfTemplateQueries(queryClient: ReturnType) { +function invalidatePdfTemplateQueries( + queryClient: ReturnType, +) { queryClient.invalidateQueries({ queryKey: pdfTemplatesKeys.all() }); } // Hook for creating a PDF template export function useCreatePdfTemplate( - options?: UseMutationOptions -): UseMutationResult { + options?: UseMutationOptions< + CreatePdfTemplateResponse, + Error, + CreatePdfTemplateValues + >, +): UseMutationResult< + CreatePdfTemplateResponse, + Error, + CreatePdfTemplateValues +> { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ - mutationFn: (values: CreatePdfTemplateValues) => createPdfTemplate(fetcher, values), + mutationFn: (values: CreatePdfTemplateValues) => + createPdfTemplate(fetcher, values), onSuccess: () => invalidatePdfTemplateQueries(queryClient), ...options, }); @@ -77,7 +89,7 @@ export function useEditPdfTemplate( EditPdfTemplateResponse, Error, { templateId: number; values: EditPdfTemplateValues } - > + >, ): UseMutationResult< EditPdfTemplateResponse, Error, @@ -87,8 +99,13 @@ export function useEditPdfTemplate( const fetcher = useApiFetcher(); return useMutation({ - mutationFn: ({ templateId, values }: { templateId: number; values: EditPdfTemplateValues }) => - editPdfTemplate(fetcher, templateId, values), + mutationFn: ({ + templateId, + values, + }: { + templateId: number; + values: EditPdfTemplateValues; + }) => editPdfTemplate(fetcher, templateId, values), onSuccess: () => invalidatePdfTemplateQueries(queryClient), ...options, }); @@ -96,7 +113,11 @@ export function useEditPdfTemplate( // Hook for deleting a PDF template export function useDeletePdfTemplate( - options?: UseMutationOptions + options?: UseMutationOptions< + DeletePdfTemplateResponse, + Error, + { templateId: number } + >, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -112,7 +133,10 @@ export function useDeletePdfTemplate( // Hook for getting a single PDF template export function useGetPdfTemplate( templateId: number, - options?: Omit, 'queryKey' | 'queryFn'> + options?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ): UseQueryResult { const fetcher = useApiFetcher(); @@ -127,7 +151,7 @@ export function useGetPdfTemplate( // Hook for getting multiple PDF templates export function useGetPdfTemplates( query?: GetPdfTemplatesQuery, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); @@ -144,7 +168,7 @@ export function useAssignPdfTemplateAsDefault( AssignPdfTemplateAsDefaultResponse, Error, AssignPdfTemplateAsDefaultValues - > + >, ): UseMutationResult< AssignPdfTemplateAsDefaultResponse, Error, @@ -170,7 +194,7 @@ export function useAssignPdfTemplateAsDefault( // Retrieve organization branding state. export function useGetPdfTemplateBrandingState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/receipts/queries.ts b/packages/webapp/src/hooks/query/receipts/queries.ts index f8e7ed503..1254d9317 100644 --- a/packages/webapp/src/hooks/query/receipts/queries.ts +++ b/packages/webapp/src/hooks/query/receipts/queries.ts @@ -44,35 +44,50 @@ import { settingsKeys } from '../settings/query-keys'; import { organizationKeys } from '../organization/query-keys'; import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; -function commonInvalidateQueries(queryClient: ReturnType) { +function commonInvalidateQueries( + queryClient: ReturnType, +) { queryClient.invalidateQueries({ queryKey: receiptsKeys.all() }); queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); queryClient.invalidateQueries({ queryKey: accountsKeys.all() }); queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); - queryClient.invalidateQueries({ queryKey: financialReportsKeys.transactionsByReference().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactions().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: itemsKeys.associatedReceipts(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: itemsKeys.warehousesLocation(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: financialReportsKeys.transactionsByReference().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactions().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.associatedReceipts(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: itemsKeys.warehousesLocation(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: settingsKeys.receipts() }); - queryClient.invalidateQueries({ queryKey: organizationKeys.mutateAbilities() }); + queryClient.invalidateQueries({ + queryKey: organizationKeys.mutateAbilities(), + }); } export function useCreateReceipt( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateSaleReceiptBody) => createSaleReceipt(fetcher, values), + mutationFn: (values: CreateSaleReceiptBody) => + createSaleReceipt(fetcher, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useEditReceipt( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -88,7 +103,9 @@ export function useEditReceipt( }); } -export function useDeleteReceipt(props?: UseMutationOptions) { +export function useDeleteReceipt( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -103,7 +120,7 @@ export function useDeleteReceipt(props?: UseMutationOptions } export function useBulkDeleteReceipts( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -117,7 +134,11 @@ export function useBulkDeleteReceipts( } export function useValidateBulkDeleteReceipts( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteReceiptsResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher(); @@ -127,7 +148,9 @@ export function useValidateBulkDeleteReceipts( }); } -export function useCloseReceipt(props?: UseMutationOptions) { +export function useCloseReceipt( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -143,7 +166,7 @@ export function useCloseReceipt(props?: UseMutationOptions) export function useReceipts( query?: GetSaleReceiptsQuery, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher(); @@ -156,7 +179,7 @@ export function useReceipts( export function useReceipt( id: number | null | undefined, - props?: UseQueryOptions + props?: UseQueryOptions, ) { const fetcher = useApiFetcher(); @@ -184,7 +207,7 @@ export function useRefreshReceipts() { // Not in OpenAPI schema for sale-receipts; keep using apiRequest until server exposes. export function useCreateNotifyReceiptBySMS( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const apiRequest = useApiRequest(); @@ -204,7 +227,7 @@ export function useCreateNotifyReceiptBySMS( export function useReceiptSMSDetail( receiptId: number, props?: Record, - requestProps?: Record + requestProps?: Record, ) { return useRequestQuery( receiptsKeys.smsDetail(receiptId), @@ -216,12 +239,12 @@ export function useReceiptSMSDetail( { defaultData: {}, ...props, - } + }, ); } export function useSendSaleReceiptMail( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -236,7 +259,7 @@ export function useSendSaleReceiptMail( export function useSaleReceiptMailState( receiptId: number, - props?: UseQueryOptions + props?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -248,7 +271,7 @@ export function useSaleReceiptMailState( } export function useGetReceiptState( - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -261,7 +284,7 @@ export function useGetReceiptState( export function useGetSaleReceiptHtml( receiptId: number, - options?: UseQueryOptions + options?: UseQueryOptions, ): UseQueryResult { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/receipts/query-keys.ts b/packages/webapp/src/hooks/query/receipts/query-keys.ts index 9aa0d3fb2..e0e2bb850 100644 --- a/packages/webapp/src/hooks/query/receipts/query-keys.ts +++ b/packages/webapp/src/hooks/query/receipts/query-keys.ts @@ -10,11 +10,14 @@ export const receiptsKeys = { all: () => [SALE_RECEIPTS] as const, list: (query?: Record) => [SALE_RECEIPTS, query] as const, detail: (id: number | null | undefined) => [SALE_RECEIPT, id] as const, - smsDetail: (id: number | null | undefined) => [SALE_RECEIPT_SMS_DETAIL, id] as const, + smsDetail: (id: number | null | undefined) => + [SALE_RECEIPT_SMS_DETAIL, id] as const, html: (id: number | null | undefined) => ['SALE_RECEIPT_HTML', id] as const, state: () => ['SALE_RECEIPT_STATE'] as const, - mailOptions: (id: number | null | undefined) => [SALE_RECEIPT_MAIL_OPTIONS, id] as const, - notifyBySms: (id: number | null | undefined) => [NOTIFY_SALE_RECEIPT_BY_SMS, id] as const, + mailOptions: (id: number | null | undefined) => + [SALE_RECEIPT_MAIL_OPTIONS, id] as const, + notifyBySms: (id: number | null | undefined) => + [NOTIFY_SALE_RECEIPT_BY_SMS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/roles/queries.ts b/packages/webapp/src/hooks/query/roles/queries.ts index f67cf67b5..da092a004 100644 --- a/packages/webapp/src/hooks/query/roles/queries.ts +++ b/packages/webapp/src/hooks/query/roles/queries.ts @@ -23,25 +23,28 @@ import { import { useApiFetcher } from '../../useRequest'; import { rolesKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: rolesKeys.all() }); queryClient.invalidateQueries({ queryKey: rolesKeys.permissionsSchema() }); }; export function useEditRolePermissionSchema( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ([id, values]: [number, EditRoleBody]) => editRole(fetcher, id, values), + mutationFn: ([id, values]: [number, EditRoleBody]) => + editRole(fetcher, id, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useCreateRolePermissionSchema( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -67,7 +70,7 @@ export function useDeleteRole(props?: UseMutationOptions) { export function usePermissionsSchema( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -80,7 +83,7 @@ export function usePermissionsSchema( export function useRolePermission( role_id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -93,7 +96,7 @@ export function useRolePermission( export function useRoles( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/settings/queries.ts b/packages/webapp/src/hooks/query/settings/queries.ts index c4f86b0d1..fbf828097 100644 --- a/packages/webapp/src/hooks/query/settings/queries.ts +++ b/packages/webapp/src/hooks/query/settings/queries.ts @@ -27,7 +27,7 @@ import { useApiFetcher } from '../../useRequest'; import { settingsKeys } from './query-keys'; export function useSaveSettings( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -42,7 +42,7 @@ export function useSaveSettings( } export function useSettings( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -54,7 +54,7 @@ export function useSettings( } export function useSettingsInvoices( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -66,7 +66,7 @@ export function useSettingsInvoices( } export function useSettingsEstimates( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -78,7 +78,7 @@ export function useSettingsEstimates( } export function useSettingsPaymentReceives( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -90,7 +90,7 @@ export function useSettingsPaymentReceives( } export function useSettingsReceipts( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -102,7 +102,7 @@ export function useSettingsReceipts( } export function useSettingsManualJournals( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -113,7 +113,7 @@ export function useSettingsManualJournals( }); } export function useSettingsItems( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -125,7 +125,7 @@ export function useSettingsItems( } export function useSettingCashFlow( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -137,7 +137,7 @@ export function useSettingCashFlow( } export function useSettingsCreditNotes( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -149,7 +149,7 @@ export function useSettingsCreditNotes( } export function useSettingsVendorCredits( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -161,7 +161,7 @@ export function useSettingsVendorCredits( } export function useSettingsWarehouseTransfers( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -173,7 +173,7 @@ export function useSettingsWarehouseTransfers( } export function useSettingSMSNotifications( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -186,7 +186,7 @@ export function useSettingSMSNotifications( export function useSettingSMSNotification( key: string, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -199,17 +199,28 @@ export function useSettingSMSNotification( } export function useSettingEditSMSNotification( - props?: UseMutationOptions }> + props?: UseMutationOptions< + unknown, + Error, + { key: string; values: Record } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ key, values }: { key: string; values: Record }) => - editSettingSMSNotification(fetcher, key, values), + mutationFn: ({ + key, + values, + }: { + key: string; + values: Record; + }) => editSettingSMSNotification(fetcher, key, values), onSuccess: () => { - queryClient.invalidateQueries({ queryKey: settingsKeys.smsNotifications() }); + queryClient.invalidateQueries({ + queryKey: settingsKeys.smsNotifications(), + }); }, }); } diff --git a/packages/webapp/src/hooks/query/stripe-integration/queries.ts b/packages/webapp/src/hooks/query/stripe-integration/queries.ts index ead55fbc9..ef009a120 100644 --- a/packages/webapp/src/hooks/query/stripe-integration/queries.ts +++ b/packages/webapp/src/hooks/query/stripe-integration/queries.ts @@ -57,7 +57,11 @@ export const useCreateStripeAccountSession = ( Error, CreateStripeAccountSessionBody >, -): UseMutationResult => { +): UseMutationResult< + CreateStripeAccountSessionResponse, + Error, + CreateStripeAccountSessionBody +> => { const fetcher = useApiFetcher(); return useMutation({ @@ -72,11 +76,7 @@ export const useCreateStripeAccountSession = ( // Create Stripe Account // ------------------------------------ export const useCreateStripeAccount = ( - options?: UseMutationOptions< - CreateStripeAccountResponse, - Error, - void - >, + options?: UseMutationOptions, ) => { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/subscription/queries.ts b/packages/webapp/src/hooks/query/subscription/queries.ts index 5966ebf42..37e20c28d 100644 --- a/packages/webapp/src/hooks/query/subscription/queries.ts +++ b/packages/webapp/src/hooks/query/subscription/queries.ts @@ -21,7 +21,7 @@ import { import { subscriptionKeys } from './query-keys'; export function useCancelMainSubscription( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -36,7 +36,7 @@ export function useCancelMainSubscription( } export function useResumeMainSubscription( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -51,7 +51,7 @@ export function useResumeMainSubscription( } export function useChangeSubscriptionPlan( - options?: UseMutationOptions + options?: UseMutationOptions, ): UseMutationResult { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -76,7 +76,7 @@ export function useGetSubscriptions( SubscriptionsListResponse, Error, GetSubscriptionsResponse - > + >, ): UseQueryResult { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); @@ -85,4 +85,4 @@ export function useGetSubscriptions( queryFn: () => fetchSubscriptions(fetcher), ...options, }); -} \ No newline at end of file +} diff --git a/packages/webapp/src/hooks/query/subscriptions/queries.ts b/packages/webapp/src/hooks/query/subscriptions/queries.ts index 4caeda2fd..567da67d3 100644 --- a/packages/webapp/src/hooks/query/subscriptions/queries.ts +++ b/packages/webapp/src/hooks/query/subscriptions/queries.ts @@ -18,7 +18,8 @@ export const usePaymentByVoucher = (props) => { return useMutation({ ...props, - mutationFn: (values) => apiRequest.post('subscription/license/payment', values), + mutationFn: (values) => + apiRequest.post('subscription/license/payment', values), onSuccess: () => { queryClient.invalidateQueries({ queryKey: subscriptionsKeys.all() }); queryClient.invalidateQueries({ queryKey: organizationKeys.current() }); diff --git a/packages/webapp/src/hooks/query/tax-rates/queries.ts b/packages/webapp/src/hooks/query/tax-rates/queries.ts index cc7f48b99..bec86ce06 100644 --- a/packages/webapp/src/hooks/query/tax-rates/queries.ts +++ b/packages/webapp/src/hooks/query/tax-rates/queries.ts @@ -23,12 +23,14 @@ import { import { useApiFetcher } from '../../useRequest'; import { taxRatesKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: taxRatesKeys.all() }); }; export function useTaxRates( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -40,7 +42,7 @@ export function useTaxRates( export function useTaxRate( taxRateId: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -52,7 +54,7 @@ export function useTaxRate( } export function useEditTaxRate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -68,7 +70,7 @@ export function useEditTaxRate( } export function useCreateTaxRate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -80,7 +82,7 @@ export function useCreateTaxRate( } export function useDeleteTaxRate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -95,7 +97,7 @@ export function useDeleteTaxRate( } export function useActivateTaxRate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -110,7 +112,7 @@ export function useActivateTaxRate( } export function useInactivateTaxRate( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/transactions-locking/queries.ts b/packages/webapp/src/hooks/query/transactions-locking/queries.ts index 2962884b3..3ece0d3de 100644 --- a/packages/webapp/src/hooks/query/transactions-locking/queries.ts +++ b/packages/webapp/src/hooks/query/transactions-locking/queries.ts @@ -17,25 +17,28 @@ import { import { useApiFetcher } from '../../useRequest'; import { transactionsLockingKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: transactionsLockingKeys.all() }); }; export function useCreateLockingTransactoin( - props?: UseMutationOptions> + props?: UseMutationOptions>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: Record) => lockTransactions(fetcher, values), + mutationFn: (values: Record) => + lockTransactions(fetcher, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useCancelLockingTransaction( - props?: UseMutationOptions> + props?: UseMutationOptions>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -49,7 +52,7 @@ export function useCancelLockingTransaction( } export function useCreateUnlockingPartialTransactions( - props?: UseMutationOptions> + props?: UseMutationOptions>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -63,7 +66,7 @@ export function useCreateUnlockingPartialTransactions( } export function useCancelUnlockingPartialTransactions( - props?: UseMutationOptions> + props?: UseMutationOptions>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -78,20 +81,24 @@ export function useCancelUnlockingPartialTransactions( export function useTransactionsLocking( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) { const fetcher = useApiFetcher(); return useQuery({ ...props, queryKey: transactionsLockingKeys.list(query), queryFn: () => fetchTransactionsLocking(fetcher), - select: (data) => (Array.isArray(data) ? data : (data as { data?: unknown })?.data ?? data), + select: (data) => + Array.isArray(data) ? data : ((data as { data?: unknown })?.data ?? data), }); } export function useEditTransactionsLocking( query: string, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/transactions-locking/query-keys.ts b/packages/webapp/src/hooks/query/transactions-locking/query-keys.ts index 50a2a7e9c..faa12510f 100644 --- a/packages/webapp/src/hooks/query/transactions-locking/query-keys.ts +++ b/packages/webapp/src/hooks/query/transactions-locking/query-keys.ts @@ -5,7 +5,8 @@ export const TRANSACTIONS_LOCKING = 'TRANSACTIONS_LOCKING'; // Query key factory export const transactionsLockingKeys = { all: () => [TRANSACTIONS_LOCKING] as const, - list: (query?: Record) => [TRANSACTIONS_LOCKING, query] as const, + list: (query?: Record) => + [TRANSACTIONS_LOCKING, query] as const, detail: (module: string) => [TRANSACTION_LOCKING, module] as const, }; diff --git a/packages/webapp/src/hooks/query/users/queries.ts b/packages/webapp/src/hooks/query/users/queries.ts index 645e9e72c..27b40b9e8 100644 --- a/packages/webapp/src/hooks/query/users/queries.ts +++ b/packages/webapp/src/hooks/query/users/queries.ts @@ -30,12 +30,14 @@ import { useSetFeatureDashboardMeta } from '../../state/feature'; import { usersKeys } from './query-keys'; import { useSetAuthEmailConfirmed } from '../../state'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: usersKeys.all() }); }; export function useCreateInviteUser( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -50,14 +52,15 @@ export function useCreateInviteUser( } export function useEditUser( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ([id, values]: [number, EditUserBody]) => editUser(fetcher, id, values), + mutationFn: ([id, values]: [number, EditUserBody]) => + editUser(fetcher, id, values), onSuccess: (_res, [id]) => { queryClient.invalidateQueries({ queryKey: usersKeys.detail(id) }); commonInvalidateQueries(queryClient); @@ -66,7 +69,7 @@ export function useEditUser( } export function useInactivateUser( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); const queryClient = useQueryClient(); @@ -82,7 +85,7 @@ export function useInactivateUser( } export function useActivateUser( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const fetcher = useApiFetcher(); const queryClient = useQueryClient(); @@ -97,9 +100,7 @@ export function useActivateUser( }); } -export function useDeleteUser( - props?: UseMutationOptions -) { +export function useDeleteUser(props?: UseMutationOptions) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -114,7 +115,7 @@ export function useDeleteUser( } export function useUsers( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -126,7 +127,7 @@ export function useUsers( export function useUser( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -138,7 +139,7 @@ export function useUser( } export function useAuthenticatedAccount( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const setEmailConfirmed = useSetAuthEmailConfirmed(); const fetcher = useApiFetcher(); @@ -160,7 +161,10 @@ export function useAuthenticatedAccount( } export const useDashboardMeta = ( - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit< + UseQueryOptions, + 'queryKey' | 'queryFn' + >, ) => { const setFeatureDashboardMeta = useSetFeatureDashboardMeta(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/vendor-credit/queries.ts b/packages/webapp/src/hooks/query/vendor-credit/queries.ts index b83cbd7e3..bca974ba5 100644 --- a/packages/webapp/src/hooks/query/vendor-credit/queries.ts +++ b/packages/webapp/src/hooks/query/vendor-credit/queries.ts @@ -43,38 +43,55 @@ import { financialReportsKeys } from '../FinancialReports/query-keys'; import { settingsKeys } from '../settings/query-keys'; import { cashflowAccountsKeys } from '../cashflow-accounts/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.all() }); queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); queryClient.invalidateQueries({ queryKey: vendorsKeys.all() }); queryClient.invalidateQueries({ queryKey: accountsKeys.all() }); queryClient.invalidateQueries({ queryKey: settingsKeys.vendorCredits() }); - queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.refund(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.refundTransaction(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.reconcile(null).slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: vendorCreditsKeys.reconciles(null).slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: vendorCreditsKeys.refund(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: vendorCreditsKeys.refundTransaction(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: vendorCreditsKeys.reconcile(null).slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: vendorCreditsKeys.reconciles(null).slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: billsKeys.all() }); - queryClient.invalidateQueries({ queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1) }); + queryClient.invalidateQueries({ + queryKey: cashflowAccountsKeys.transactionsInfinity().slice(0, 1), + }); queryClient.invalidateQueries({ queryKey: financialReportsKeys.all() }); - queryClient.invalidateQueries({ queryKey: financialReportsKeys.transactionsByReference().slice(0, 1) }); - queryClient.invalidateQueries({ queryKey: organizationKeys.mutateAbilities() }); + queryClient.invalidateQueries({ + queryKey: financialReportsKeys.transactionsByReference().slice(0, 1), + }); + queryClient.invalidateQueries({ + queryKey: organizationKeys.mutateAbilities(), + }); }; export function useCreateVendorCredit( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: (values: CreateVendorCreditBody) => createVendorCredit(fetcher, values), + mutationFn: (values: CreateVendorCreditBody) => + createVendorCredit(fetcher, values), onSuccess: () => commonInvalidateQueries(queryClient), }); } export function useEditVendorCredit( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -90,7 +107,9 @@ export function useEditVendorCredit( }); } -export function useDeleteVendorCredit(props?: UseMutationOptions) { +export function useDeleteVendorCredit( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -105,15 +124,24 @@ export function useDeleteVendorCredit(props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { ids: number[]; skipUndeletable?: boolean } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); return useMutation({ ...props, - mutationFn: ({ ids, skipUndeletable = false }: { ids: number[]; skipUndeletable?: boolean }) => - bulkDeleteVendorCredits(fetcher, { ids, skipUndeletable }), + mutationFn: ({ + ids, + skipUndeletable = false, + }: { + ids: number[]; + skipUndeletable?: boolean; + }) => bulkDeleteVendorCredits(fetcher, { ids, skipUndeletable }), onSuccess: () => commonInvalidateQueries(queryClient), }); } @@ -123,14 +151,16 @@ export function useValidateBulkDeleteVendorCredits( ValidateBulkDeleteVendorCreditsResponse, Error, number[] - > + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteVendorCredits(fetcher, { ids } as BulkDeleteVendorCreditsBody), + validateBulkDeleteVendorCredits(fetcher, { + ids, + } as BulkDeleteVendorCreditsBody), }); } @@ -139,7 +169,7 @@ export function useValidateBulkDeleteVendorCredits( */ export function useVendorCredits( query?: GetVendorCreditsQuery, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); @@ -153,7 +183,7 @@ export function useVendorCredits( export function useVendorCredit( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: unknown + _requestProps?: unknown, ) { const fetcher = useApiFetcher(); @@ -176,7 +206,11 @@ export function useRefreshVendorCredits() { } export function useCreateRefundVendorCredit( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + [number, CreateRefundVendorCreditBody] + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -192,7 +226,9 @@ export function useCreateRefundVendorCredit( }); } -export function useDeleteRefundVendorCredit(props?: UseMutationOptions) { +export function useDeleteRefundVendorCredit( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -209,7 +245,7 @@ export function useDeleteRefundVendorCredit(props?: UseMutationOptions, 'queryKey' | 'queryFn'>, - _requestProps?: unknown + _requestProps?: unknown, ) { const fetcher = useApiFetcher(); @@ -221,7 +257,9 @@ export function useRefundVendorCredit( }); } -export function useOpenVendorCredit(props?: UseMutationOptions) { +export function useOpenVendorCredit( + props?: UseMutationOptions, +) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -236,7 +274,11 @@ export function useOpenVendorCredit(props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + [number, ApplyVendorCreditToBillsBody] + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -255,7 +297,7 @@ export function useCreateReconcileVendorCredit( export function useReconcileVendorCredit( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: unknown + _requestProps?: unknown, ) { const fetcher = useApiFetcher(); @@ -270,7 +312,7 @@ export function useReconcileVendorCredit( export function useReconcileVendorCredits( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: unknown + _requestProps?: unknown, ) { const fetcher = useApiFetcher(); @@ -283,7 +325,7 @@ export function useReconcileVendorCredits( } export function useDeleteReconcileVendorCredit( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -299,7 +341,7 @@ export function useDeleteReconcileVendorCredit( export function useRefundVendorCreditTransaction( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: unknown + _requestProps?: unknown, ) { const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/query/vendor-credit/query-keys.ts b/packages/webapp/src/hooks/query/vendor-credit/query-keys.ts index d352d08b0..920955eda 100644 --- a/packages/webapp/src/hooks/query/vendor-credit/query-keys.ts +++ b/packages/webapp/src/hooks/query/vendor-credit/query-keys.ts @@ -2,7 +2,8 @@ export const VENDOR_CREDITS = 'VENDOR_CREDITS'; export const VENDOR_CREDIT = 'VENDOR_CREDIT'; export const REFUND_VENDOR_CREDIT = 'REFUND_VENDOR_CREDIT'; -export const REFUND_VENDOR_CREDIT_TRANSACTION = 'REFUND_VENDOR_CREDIT_TRANSACTION'; +export const REFUND_VENDOR_CREDIT_TRANSACTION = + 'REFUND_VENDOR_CREDIT_TRANSACTION'; export const RECONCILE_VENDOR_CREDIT = 'RECONCILE_VENDOR_CREDIT'; export const RECONCILE_VENDOR_CREDITS = 'RECONCILE_VENDOR_CREDITS'; @@ -11,10 +12,14 @@ export const vendorCreditsKeys = { all: () => [VENDOR_CREDITS] as const, list: (query?: Record) => [VENDOR_CREDITS, query] as const, detail: (id: number | null | undefined) => [VENDOR_CREDIT, id] as const, - refund: (id: number | null | undefined) => [REFUND_VENDOR_CREDIT, id] as const, - refundTransaction: (id: number | null | undefined) => [REFUND_VENDOR_CREDIT_TRANSACTION, id] as const, - reconcile: (id: number | null | undefined) => [RECONCILE_VENDOR_CREDIT, id] as const, - reconciles: (id: number | null | undefined) => [RECONCILE_VENDOR_CREDITS, id] as const, + refund: (id: number | null | undefined) => + [REFUND_VENDOR_CREDIT, id] as const, + refundTransaction: (id: number | null | undefined) => + [REFUND_VENDOR_CREDIT_TRANSACTION, id] as const, + reconcile: (id: number | null | undefined) => + [RECONCILE_VENDOR_CREDIT, id] as const, + reconciles: (id: number | null | undefined) => + [RECONCILE_VENDOR_CREDITS, id] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/vendors/queries.ts b/packages/webapp/src/hooks/query/vendors/queries.ts index 51c5132fb..d9a7e15a5 100644 --- a/packages/webapp/src/hooks/query/vendors/queries.ts +++ b/packages/webapp/src/hooks/query/vendors/queries.ts @@ -26,13 +26,15 @@ import { import { useApiFetcher } from '../../useRequest'; import { vendorsKeys } from './query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: vendorsKeys.all() }); }; export function useVendors( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -43,7 +45,7 @@ export function useVendors( } export function useEditVendor( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -60,7 +62,7 @@ export function useEditVendor( } export function useDeleteVendor( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -76,7 +78,11 @@ export function useDeleteVendor( } export function useBulkDeleteVendors( - props?: UseMutationOptions + props?: UseMutationOptions< + void, + Error, + { ids: number[]; skipUndeletable?: boolean } + >, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -95,19 +101,26 @@ export function useBulkDeleteVendors( } export function useValidateBulkDeleteVendors( - props?: UseMutationOptions + props?: UseMutationOptions< + ValidateBulkDeleteVendorsResponse, + Error, + number[] + >, ) { const fetcher = useApiFetcher({ enableCamelCaseTransform: true }); return useMutation({ ...props, mutationFn: (ids: number[]) => - validateBulkDeleteVendors(fetcher, { ids, skipUndeletable: false } as BulkDeleteVendorsBody), + validateBulkDeleteVendors(fetcher, { + ids, + skipUndeletable: false, + } as BulkDeleteVendorsBody), }); } export function useCreateVendor( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -121,7 +134,7 @@ export function useCreateVendor( export function useVendor( id: number | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -133,7 +146,7 @@ export function useVendor( } export function useEditVendorOpeningBalance( - props?: UseMutationOptions]> + props?: UseMutationOptions]>, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -141,7 +154,11 @@ export function useEditVendorOpeningBalance( return useMutation({ ...props, mutationFn: ([id, values]: [number, Record]) => - editVendorOpeningBalance(fetcher, id, values as Parameters[2]), + editVendorOpeningBalance( + fetcher, + id, + values as Parameters[2], + ), onSuccess: (_data: unknown, [id]: [number, Record]) => { queryClient.invalidateQueries({ queryKey: vendorsKeys.detail(id) }); commonInvalidateQueries(queryClient); @@ -152,6 +169,7 @@ export function useEditVendorOpeningBalance( export function useRefreshVendors() { const queryClient = useQueryClient(); return { - refresh: () => queryClient.invalidateQueries({ queryKey: vendorsKeys.all() }), + refresh: () => + queryClient.invalidateQueries({ queryKey: vendorsKeys.all() }), }; } diff --git a/packages/webapp/src/hooks/query/views/queries.ts b/packages/webapp/src/hooks/query/views/queries.ts index ae4077459..6c2511fd3 100644 --- a/packages/webapp/src/hooks/query/views/queries.ts +++ b/packages/webapp/src/hooks/query/views/queries.ts @@ -1,12 +1,15 @@ import { useQuery, UseQueryOptions } from '@tanstack/react-query'; -import type { ResourceViewResponse, ResourceMetaResponse } from '@bigcapital/sdk-ts'; +import type { + ResourceViewResponse, + ResourceMetaResponse, +} from '@bigcapital/sdk-ts'; import { fetchResourceView, fetchResourceMeta } from '@bigcapital/sdk-ts'; import { useApiFetcher } from '../../useRequest'; import { viewsKeys } from './query-keys'; export function useResourceViews( resourceSlug: string | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -19,7 +22,7 @@ export function useResourceViews( export function useResourceMeta( resourceSlug: string | null | undefined, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ diff --git a/packages/webapp/src/hooks/query/views/query-keys.ts b/packages/webapp/src/hooks/query/views/query-keys.ts index c45723de7..ba0cbc920 100644 --- a/packages/webapp/src/hooks/query/views/query-keys.ts +++ b/packages/webapp/src/hooks/query/views/query-keys.ts @@ -5,8 +5,10 @@ export const RESOURCE_META = 'RESOURCE_META'; // Query key factory export const viewsKeys = { all: () => [RESOURCE_VIEW] as const, - view: (resourceSlug: string | null | undefined) => [RESOURCE_VIEW, resourceSlug] as const, - meta: (resourceSlug: string | null | undefined) => [RESOURCE_META, resourceSlug] as const, + view: (resourceSlug: string | null | undefined) => + [RESOURCE_VIEW, resourceSlug] as const, + meta: (resourceSlug: string | null | undefined) => + [RESOURCE_META, resourceSlug] as const, }; // Grouped object for use in components/hooks diff --git a/packages/webapp/src/hooks/query/warehouses-transfers/queries.ts b/packages/webapp/src/hooks/query/warehouses-transfers/queries.ts index 99536aa68..b3c480bc9 100644 --- a/packages/webapp/src/hooks/query/warehouses-transfers/queries.ts +++ b/packages/webapp/src/hooks/query/warehouses-transfers/queries.ts @@ -25,9 +25,14 @@ import { warehousesTransfersKeys } from './query-keys'; import { itemsKeys } from '../items/query-keys'; /** Query params for listing warehouse transfers (pagination, filter, etc.). */ -type GetWarehouseTransfersQuery = Record; +type GetWarehouseTransfersQuery = Record< + string, + string | number | boolean | undefined +>; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.all() }); queryClient.invalidateQueries({ queryKey: itemsKeys.all() }); }; @@ -36,7 +41,7 @@ const commonInvalidateQueries = (queryClient: ReturnType) * Create a new warehouse transfer. */ export function useCreateWarehouseTransfer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -53,7 +58,7 @@ export function useCreateWarehouseTransfer( * Edits the given warehouse transfer. */ export function useEditWarehouseTransfer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -63,7 +68,9 @@ export function useEditWarehouseTransfer( mutationFn: ([id, values]: [number, EditWarehouseTransferBody]) => editWarehouseTransfer(fetcher, id, values), onSuccess: (_, [id]) => { - queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: warehousesTransfersKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -73,7 +80,7 @@ export function useEditWarehouseTransfer( * Deletes the given warehouse Transfer. */ export function useDeleteWarehouseTransfer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -93,7 +100,7 @@ export function useWarehousesTransfers( props?: Omit< UseQueryOptions, 'queryKey' | 'queryFn' - > + >, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -103,7 +110,7 @@ export function useWarehousesTransfers( ( fetchWarehouseTransfers as ( fetcher: unknown, - query?: GetWarehouseTransfersQuery + query?: GetWarehouseTransfersQuery, ) => Promise )(fetcher, query ?? undefined), }); @@ -115,7 +122,7 @@ export function useWarehousesTransfers( export function useWarehouseTransfer( id: number | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -130,7 +137,7 @@ export function useWarehouseTransfer( * Initiate warehouse transfer. */ export function useInitiateWarehouseTransfer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -139,7 +146,9 @@ export function useInitiateWarehouseTransfer( ...props, mutationFn: (id: number) => initiateWarehouseTransfer(fetcher, id), onSuccess: (_, id) => { - queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: warehousesTransfersKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -149,7 +158,7 @@ export function useInitiateWarehouseTransfer( * Mark warehouse transfer as transferred. */ export function useTransferredWarehouseTransfer( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -158,7 +167,9 @@ export function useTransferredWarehouseTransfer( ...props, mutationFn: (id: number) => transferredWarehouseTransfer(fetcher, id), onSuccess: (_, id) => { - queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.detail(id) }); + queryClient.invalidateQueries({ + queryKey: warehousesTransfersKeys.detail(id), + }); commonInvalidateQueries(queryClient); }, }); @@ -169,7 +180,9 @@ export function useRefreshWarehouseTransfers() { return { refresh: () => { - queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.all() }); + queryClient.invalidateQueries({ + queryKey: warehousesTransfersKeys.all(), + }); }, }; } diff --git a/packages/webapp/src/hooks/query/warehouses-transfers/query-keys.ts b/packages/webapp/src/hooks/query/warehouses-transfers/query-keys.ts index 3cdbb8a0f..3ca4dea6b 100644 --- a/packages/webapp/src/hooks/query/warehouses-transfers/query-keys.ts +++ b/packages/webapp/src/hooks/query/warehouses-transfers/query-keys.ts @@ -6,7 +6,8 @@ export const ITEM_WAREHOUSES_LOCATION = 'ITEM_WAREHOUSES_LOCATION'; // Query key factory export const warehousesTransfersKeys = { all: () => [WAREHOUSE_TRANSFERS] as const, - list: (query?: Record) => [WAREHOUSE_TRANSFERS, query] as const, + list: (query?: Record) => + [WAREHOUSE_TRANSFERS, query] as const, detail: (id: number | null | undefined) => [WAREHOUSE_TRANSFER, id] as const, }; diff --git a/packages/webapp/src/hooks/query/warehouses/queries.ts b/packages/webapp/src/hooks/query/warehouses/queries.ts index a74bea98b..d17278b8b 100644 --- a/packages/webapp/src/hooks/query/warehouses/queries.ts +++ b/packages/webapp/src/hooks/query/warehouses/queries.ts @@ -25,14 +25,16 @@ import { warehousesKeys } from './query-keys'; import { warehousesTransfersKeys } from '../warehouses-transfers/query-keys'; import { usersKeys } from '../users/query-keys'; -const commonInvalidateQueries = (queryClient: ReturnType) => { +const commonInvalidateQueries = ( + queryClient: ReturnType, +) => { queryClient.invalidateQueries({ queryKey: warehousesKeys.all() }); queryClient.invalidateQueries({ queryKey: warehousesTransfersKeys.all() }); queryClient.invalidateQueries({ queryKey: usersKeys.dashboardMeta() }); }; export function useCreateWarehouse( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -46,7 +48,7 @@ export function useCreateWarehouse( } export function useEditWarehouse( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -63,7 +65,7 @@ export function useEditWarehouse( } export function useDeleteWarehouse( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -80,7 +82,7 @@ export function useDeleteWarehouse( export function useWarehouses( query?: Record, - props?: Omit, 'queryKey' | 'queryFn'> + props?: Omit, 'queryKey' | 'queryFn'>, ) { const fetcher = useApiFetcher(); return useQuery({ @@ -93,7 +95,7 @@ export function useWarehouses( export function useWarehouse( id: number | string | null | undefined, props?: Omit, 'queryKey' | 'queryFn'>, - _requestProps?: Record + _requestProps?: Record, ) { const fetcher = useApiFetcher(); const idStr = id != null ? String(id) : ''; @@ -106,7 +108,7 @@ export function useWarehouse( } export function useActivateWarehouses( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); @@ -119,7 +121,7 @@ export function useActivateWarehouses( } export function useMarkWarehouseAsPrimary( - props?: UseMutationOptions + props?: UseMutationOptions, ) { const queryClient = useQueryClient(); const fetcher = useApiFetcher(); diff --git a/packages/webapp/src/hooks/state/globalErrors.tsx b/packages/webapp/src/hooks/state/globalErrors.tsx index 236df7c60..e14f4cb46 100644 --- a/packages/webapp/src/hooks/state/globalErrors.tsx +++ b/packages/webapp/src/hooks/state/globalErrors.tsx @@ -1,18 +1,21 @@ // @ts-nocheck import { useCallback } from 'react'; -import { useSelector, useDispatch } from "react-redux"; +import { useSelector, useDispatch } from 'react-redux'; import { setGlobalErrors } from '@/store/global-errors/global-errors.actions'; export const useSetGlobalErrors = () => { const dispatch = useDispatch(); - return useCallback((errors) => { - dispatch(setGlobalErrors(errors)); - }, [dispatch]); + return useCallback( + (errors) => { + dispatch(setGlobalErrors(errors)); + }, + [dispatch], + ); }; export const useGlobalErrors = () => { - const globalErrors = useSelector(state => state.globalErrors.data); + const globalErrors = useSelector((state) => state.globalErrors.data); return { globalErrors }; -} \ No newline at end of file +}; diff --git a/packages/webapp/src/hooks/state/index.tsx b/packages/webapp/src/hooks/state/index.tsx index e30a9d3fc..28eecd269 100644 --- a/packages/webapp/src/hooks/state/index.tsx +++ b/packages/webapp/src/hooks/state/index.tsx @@ -5,4 +5,4 @@ export * from './globalErrors'; export * from './subscriptions'; export * from './organizations'; export * from './settings'; -export * from './feature'; \ No newline at end of file +export * from './feature'; diff --git a/packages/webapp/src/hooks/state/organizations.tsx b/packages/webapp/src/hooks/state/organizations.tsx index 6b2ff81da..cb5d81d45 100644 --- a/packages/webapp/src/hooks/state/organizations.tsx +++ b/packages/webapp/src/hooks/state/organizations.tsx @@ -1,17 +1,20 @@ // @ts-nocheck -import { useCallback } from "react"; -import { useSelector, useDispatch } from "react-redux"; +import { useCallback } from 'react'; +import { useSelector, useDispatch } from 'react-redux'; import { setOrganizations } from '@/store/organizations/organizations.actions'; import { getCurrentOrganizationFactory } from '@/store/authentication/authentication.selectors'; export const useSetOrganizations = () => { const dispatch = useDispatch(); - return useCallback((organizations) => { - dispatch(setOrganizations(organizations)) - }, [dispatch]); + return useCallback( + (organizations) => { + dispatch(setOrganizations(organizations)); + }, + [dispatch], + ); }; export const useCurrentOrganization = () => { - return useSelector(getCurrentOrganizationFactory()) -}; \ No newline at end of file + return useSelector(getCurrentOrganizationFactory()); +}; diff --git a/packages/webapp/src/hooks/state/subscriptions.tsx b/packages/webapp/src/hooks/state/subscriptions.tsx index 848375b03..f0a83de6e 100644 --- a/packages/webapp/src/hooks/state/subscriptions.tsx +++ b/packages/webapp/src/hooks/state/subscriptions.tsx @@ -1,6 +1,6 @@ // @ts-nocheck -import { useCallback } from "react" -import { useDispatch, useSelector } from "react-redux"; +import { useCallback } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import { setSubscriptions } from '@/store/subscription/subscription.actions'; import { isSubscriptionOnTrialFactory, @@ -14,24 +14,29 @@ import { export const useSetSubscriptions = () => { const dispatch = useDispatch(); - return useCallback((subscriptions) => { - dispatch(setSubscriptions(subscriptions)); - }, [dispatch]); -} + return useCallback( + (subscriptions) => { + dispatch(setSubscriptions(subscriptions)); + }, + [dispatch], + ); +}; /** * The organization subscription selector. - * @param {string} slug + * @param {string} slug * @returns {} */ export const useSubscription = (slug = 'main') => { const isSubscriptionOnTrial = useSelector(isSubscriptionOnTrialFactory(slug)); - const isSubscriptionInactive = useSelector(isSubscriptionInactiveFactory(slug)); + const isSubscriptionInactive = useSelector( + isSubscriptionInactiveFactory(slug), + ); const isSubscriptionActive = useSelector(isSubscriptionActiveFactory(slug)); return { isSubscriptionActive, isSubscriptionInactive, - isSubscriptionOnTrial - } -} \ No newline at end of file + isSubscriptionOnTrial, + }; +}; diff --git a/packages/webapp/src/hooks/useQueryString.ts b/packages/webapp/src/hooks/useQueryString.ts index 3788a4ee4..2936a0352 100644 --- a/packages/webapp/src/hooks/useQueryString.ts +++ b/packages/webapp/src/hooks/useQueryString.ts @@ -41,14 +41,23 @@ const isBoolean = (val: string): boolean => { * Based on query-types library approach: https://github.com/xpepermint/query-types */ const createDecoder = (parseNumbers: boolean, parseBooleans: boolean) => { - return (str: string, defaultDecoder?: any, charset?: string, type?: 'key' | 'value') => { + return ( + str: string, + defaultDecoder?: any, + charset?: string, + type?: 'key' | 'value', + ) => { // Only decode values, not keys if (type === 'key') { - return defaultDecoder ? defaultDecoder(str, defaultDecoder, charset) : str; + return defaultDecoder + ? defaultDecoder(str, defaultDecoder, charset) + : str; } // First decode using default decoder - const decoded = defaultDecoder ? defaultDecoder(str, defaultDecoder, charset) : decodeURIComponent(str); + const decoded = defaultDecoder + ? defaultDecoder(str, defaultDecoder, charset) + : decodeURIComponent(str); // Handle empty strings and undefined if (typeof decoded === 'undefined' || decoded === '') { @@ -86,18 +95,24 @@ export function useQueryString( const isFirst = useRef(true); // Extract parseNumbers and parseBooleans from parseOptions - const { parseNumbers = false, parseBooleans = false, ...qsParseOptions } = parseOptions || {}; + const { + parseNumbers = false, + parseBooleans = false, + ...qsParseOptions + } = parseOptions || {}; // Create decoder if needed const parseConfig = { ...qsParseOptions, - ...(parseNumbers || parseBooleans ? { - decoder: createDecoder(parseNumbers, parseBooleans), - } : {}), + ...(parseNumbers || parseBooleans + ? { + decoder: createDecoder(parseNumbers, parseBooleans), + } + : {}), }; const [state, setState] = useState( - qs.parse(location.search.substring(1), parseConfig) + qs.parse(location.search.substring(1), parseConfig), ); useEffect((): void => { diff --git a/packages/webapp/src/hooks/useRequest.tsx b/packages/webapp/src/hooks/useRequest.tsx index 7b9e55677..1979ceda3 100644 --- a/packages/webapp/src/hooks/useRequest.tsx +++ b/packages/webapp/src/hooks/useRequest.tsx @@ -128,7 +128,9 @@ export default function useApiRequest() { * @param options - Optional configuration * @param options.enableCamelCaseTransform - If true, automatically transforms response data from snake_case to camelCase */ -export function useApiFetcher(options?: { enableCamelCaseTransform?: boolean }) { +export function useApiFetcher(options?: { + enableCamelCaseTransform?: boolean; +}) { const token = useAuthToken(); const organizationId = useAuthOrganizationId(); const currentLocale = getCookie('locale'); @@ -191,4 +193,4 @@ export function useAuthApiRequest() { }), [http], ); -} \ No newline at end of file +} diff --git a/packages/webapp/src/hooks/useRequestPdf.tsx b/packages/webapp/src/hooks/useRequestPdf.tsx index c2f68659f..da07bf1b9 100644 --- a/packages/webapp/src/hooks/useRequestPdf.tsx +++ b/packages/webapp/src/hooks/useRequestPdf.tsx @@ -51,7 +51,7 @@ export const useRequestPdf = (httpProps) => { isLoaded, pdfUrl, response, - filename + filename, }; }; diff --git a/packages/webapp/src/hooks/utils/useOpenPlaidConnect.ts b/packages/webapp/src/hooks/utils/useOpenPlaidConnect.ts index bd24d7b1d..05a42423b 100644 --- a/packages/webapp/src/hooks/utils/useOpenPlaidConnect.ts +++ b/packages/webapp/src/hooks/utils/useOpenPlaidConnect.ts @@ -5,7 +5,8 @@ import { useGetPlaidLinkToken } from '../query'; import { Intent } from '@blueprintjs/core'; export const useOpenPlaidConnect = () => { - const { mutateAsync: getPlaidLinkToken, isPending: isLoading } = useGetPlaidLinkToken(); + const { mutateAsync: getPlaidLinkToken, isPending: isLoading } = + useGetPlaidLinkToken(); const setPlaidId = useSetBankingPlaidToken(); const openPlaidAsync = useCallback(() => { diff --git a/packages/webapp/src/hooks/utils/usePrevious.tsx b/packages/webapp/src/hooks/utils/usePrevious.tsx index d54aad428..6f0c4a232 100644 --- a/packages/webapp/src/hooks/utils/usePrevious.tsx +++ b/packages/webapp/src/hooks/utils/usePrevious.tsx @@ -1,7 +1,6 @@ // @ts-nocheck import { useRef, useEffect } from 'react'; - // Hook export function usePrevious(value) { // The ref object is a generic container whose current property is mutable ... @@ -13,4 +12,4 @@ export function usePrevious(value) { }, [value]); // Only re-run if value changes // Return previous value (happens before update in useEffect above) return ref.current; -} \ No newline at end of file +} diff --git a/packages/webapp/src/icons/CreditCardIcon.tsx b/packages/webapp/src/icons/CreditCardIcon.tsx index e37209087..b421b834e 100644 --- a/packages/webapp/src/icons/CreditCardIcon.tsx +++ b/packages/webapp/src/icons/CreditCardIcon.tsx @@ -1,9 +1,6 @@ import { SVGProps } from 'react'; - -interface CreditCardIconProps extends SVGProps { -} - +interface CreditCardIconProps extends SVGProps {} export function CreditCardIcon(props: CreditCardIconProps) { return ( diff --git a/packages/webapp/src/lang/ar/index.json b/packages/webapp/src/lang/ar/index.json index 3b6b4f8c5..c44dceab0 100644 --- a/packages/webapp/src/lang/ar/index.json +++ b/packages/webapp/src/lang/ar/index.json @@ -2039,4 +2039,4 @@ "warehouse_transfer.entries.remove_row": "حذف الصف", "item.details.inactive": "غير نشط", "bill.validation.due_date": "يجب أن يكون حقل {path} في وقت لاحق من {min}" -} \ No newline at end of file +} diff --git a/packages/webapp/src/lang/en/authentication.tsx b/packages/webapp/src/lang/en/authentication.tsx index d9ed763b9..b33208c31 100644 --- a/packages/webapp/src/lang/en/authentication.tsx +++ b/packages/webapp/src/lang/en/authentication.tsx @@ -1,7 +1,6 @@ // @ts-nocheck - export default { - "login": "Login", - "reset_password": "Reset password", -}; \ No newline at end of file + login: 'Login', + reset_password: 'Reset password', +}; diff --git a/packages/webapp/src/lang/en/index.json b/packages/webapp/src/lang/en/index.json index 3f379ab92..f7414c2c0 100644 --- a/packages/webapp/src/lang/en/index.json +++ b/packages/webapp/src/lang/en/index.json @@ -2364,9 +2364,9 @@ "preferences.estimates": "Estimates", "preferences.creditNotes": "Credit Notes", "preferences.receipts": "Receipts", - "preferences.estimates.success_message": "The preferences have been saved successfully.", - "preferences.credit_notes.success_message": "The preferences have been saved successfully.", - "preferences.receipts.success_message": "The preferences have been saved successfully.", + "preferences.estimates.success_message": "The preferences have been saved successfully.", + "preferences.credit_notes.success_message": "The preferences have been saved successfully.", + "preferences.receipts.success_message": "The preferences have been saved successfully.", "preferences.invoices.success_message": "The preferences have been saved successfully.", "api_key.title": "API Keys", "api_key.name": "Name", @@ -2390,4 +2390,4 @@ "api_key.label": "API Key", "api_key.copy_to_clipboard": "Copy to clipboard", "the_expenses_has_been_deleted_successfully": "The expenses have been deleted successfully." -} \ No newline at end of file +} diff --git a/packages/webapp/src/lang/es/authentication.tsx b/packages/webapp/src/lang/es/authentication.tsx index ffe03357c..e3f16715c 100644 --- a/packages/webapp/src/lang/es/authentication.tsx +++ b/packages/webapp/src/lang/es/authentication.tsx @@ -1,6 +1,6 @@ // @ts-nocheck export default { - "login": "Ingresar", - "reset_password": "Resetear contraseña", -}; \ No newline at end of file + login: 'Ingresar', + reset_password: 'Resetear contraseña', +}; diff --git a/packages/webapp/src/lang/es/index.json b/packages/webapp/src/lang/es/index.json index a68733a1b..a508a7aff 100644 --- a/packages/webapp/src/lang/es/index.json +++ b/packages/webapp/src/lang/es/index.json @@ -2313,4 +2313,4 @@ "preferences.credit_notes.success_message": "Las preferencias se han guardado con éxito.", "preferences.receipts.success_message": "Las preferencias se han guardado con éxito.", "preferences.invoices.success_message": "Las preferencias se han guardado con éxito." -} \ No newline at end of file +} diff --git a/packages/webapp/src/lang/printValue.tsx b/packages/webapp/src/lang/printValue.tsx index f540aec41..ed55a145c 100644 --- a/packages/webapp/src/lang/printValue.tsx +++ b/packages/webapp/src/lang/printValue.tsx @@ -39,11 +39,11 @@ export default function printValue(value, quoteStrings) { return JSON.stringify( value, - function(key, value) { + function (key, value) { let result = printSimpleValue(this[key], quoteStrings); if (result !== null) return result; return value; }, 2, ); -} \ No newline at end of file +} diff --git a/packages/webapp/src/lang/sv/authentication.tsx b/packages/webapp/src/lang/sv/authentication.tsx index b7e6991fe..67c6b2bd9 100644 --- a/packages/webapp/src/lang/sv/authentication.tsx +++ b/packages/webapp/src/lang/sv/authentication.tsx @@ -1,7 +1,6 @@ // @ts-nocheck - export default { - "login": "Logga in", - "reset_password": "Återställ lösenord", + login: 'Logga in', + reset_password: 'Återställ lösenord', }; diff --git a/packages/webapp/src/lang/sv/locale.tsx b/packages/webapp/src/lang/sv/locale.tsx index 064c92204..83d8c9ae3 100644 --- a/packages/webapp/src/lang/sv/locale.tsx +++ b/packages/webapp/src/lang/sv/locale.tsx @@ -51,8 +51,7 @@ export const locale = { }, boolean: {}, object: { - noUnknown: - '${path}-fältet kan inte ha nycklar som inte anges i objektform', + noUnknown: '${path}-fältet kan inte ha nycklar som inte anges i objektform', }, array: { min: '${path}-fältet måste ha minst ${min} objekt', diff --git a/packages/webapp/src/routes/authentication.tsx b/packages/webapp/src/routes/authentication.tsx index dd741a42a..a8ccd66b5 100644 --- a/packages/webapp/src/routes/authentication.tsx +++ b/packages/webapp/src/routes/authentication.tsx @@ -6,26 +6,50 @@ const BASE_URL = '/auth'; export default [ { path: `${BASE_URL}/login`, - component: lazy(() => import('@/containers/Authentication/Login').then(m => ({ default: m.Login }))), + component: lazy(() => + import('@/containers/Authentication/Login').then((m) => ({ + default: m.Login, + })), + ), }, { path: `${BASE_URL}/send_reset_password`, - component: lazy(() => import('@/containers/Authentication/SendResetPassword').then(m => ({ default: m.SendResetPassword }))), + component: lazy(() => + import('@/containers/Authentication/SendResetPassword').then((m) => ({ + default: m.SendResetPassword, + })), + ), }, { path: `${BASE_URL}/reset_password/:token`, - component: lazy(() => import('@/containers/Authentication/ResetPassword').then(m => ({ default: m.ResetPassword }))), + component: lazy(() => + import('@/containers/Authentication/ResetPassword').then((m) => ({ + default: m.ResetPassword, + })), + ), }, { path: `${BASE_URL}/invite/:token/accept`, - component: lazy(() => import('@/containers/Authentication/InviteAccept').then(m => ({ default: m.Invite }))), + component: lazy(() => + import('@/containers/Authentication/InviteAccept').then((m) => ({ + default: m.Invite, + })), + ), }, { path: `${BASE_URL}/register/email_confirmation`, - component: lazy(() => import('@/containers/Authentication/EmailConfirmation').then(m => ({ default: m.EmailConfirmation }))), + component: lazy(() => + import('@/containers/Authentication/EmailConfirmation').then((m) => ({ + default: m.EmailConfirmation, + })), + ), }, { path: `${BASE_URL}/register`, - component: lazy(() => import('@/containers/Authentication/Register').then(m => ({ default: m.RegisterUserForm }))), + component: lazy(() => + import('@/containers/Authentication/Register').then((m) => ({ + default: m.RegisterUserForm, + })), + ), }, ]; diff --git a/packages/webapp/src/routes/dashboard.tsx b/packages/webapp/src/routes/dashboard.tsx index 77cfe5257..f65076eca 100644 --- a/packages/webapp/src/routes/dashboard.tsx +++ b/packages/webapp/src/routes/dashboard.tsx @@ -10,13 +10,21 @@ export const getDashboardRoutes = () => [ // Accounts. { path: '/accounts/import', - component: lazy(() => import('@/containers/Accounts/AccountsImport').then(m => ({ default: m.AccountsImport }))), + component: lazy(() => + import('@/containers/Accounts/AccountsImport').then((m) => ({ + default: m.AccountsImport, + })), + ), breadcrumb: 'Accounts Import', pageTitle: 'Accounts Import', }, { path: `/accounts`, - component: lazy(() => import('@/containers/Accounts/AccountsChart').then(m => ({ default: m.AccountsChart }))), + component: lazy(() => + import('@/containers/Accounts/AccountsChart').then((m) => ({ + default: m.AccountsChart, + })), + ), breadcrumb: intl.get('accounts_chart'), hotkey: 'shift+a', pageTitle: intl.get('accounts_chart'), @@ -26,7 +34,11 @@ export const getDashboardRoutes = () => [ // Accounting. { path: `/make-journal-entry`, - component: lazy(() => import('@/containers/Accounting/MakeJournal/MakeJournalEntriesPage').then(m => ({ default: m.MakeJournalEntriesPage }))), + component: lazy(() => + import('@/containers/Accounting/MakeJournal/MakeJournalEntriesPage').then( + (m) => ({ default: m.MakeJournalEntriesPage }), + ), + ), breadcrumb: intl.get('make_journal_entry'), hotkey: 'ctrl+shift+m', pageTitle: intl.get('new_journal'), @@ -37,7 +49,11 @@ export const getDashboardRoutes = () => [ }, { path: `/manual-journals/:id/edit`, - component: lazy(() => import('@/containers/Accounting/MakeJournal/MakeJournalEntriesPage').then(m => ({ default: m.MakeJournalEntriesPage }))), + component: lazy(() => + import('@/containers/Accounting/MakeJournal/MakeJournalEntriesPage').then( + (m) => ({ default: m.MakeJournalEntriesPage }), + ), + ), breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_journal'), sidebarExpand: false, @@ -47,7 +63,11 @@ export const getDashboardRoutes = () => [ }, { path: `/manual-journals/import`, - component: lazy(() => import('@/containers/Accounting/ManualJournalsImport').then(m => ({ default: m.ManualJournalsImport }))), + component: lazy(() => + import('@/containers/Accounting/ManualJournalsImport').then((m) => ({ + default: m.ManualJournalsImport, + })), + ), breadcrumb: intl.get('edit'), pageTitle: 'Manual Journals Import', backLink: true, @@ -56,7 +76,11 @@ export const getDashboardRoutes = () => [ }, { path: `/manual-journals`, - component: lazy(() => import('@/containers/Accounting/JournalsLanding/ManualJournalsList').then(m => ({ default: m.ManualJournalsList }))), + component: lazy(() => + import('@/containers/Accounting/JournalsLanding/ManualJournalsList').then( + (m) => ({ default: m.ManualJournalsList }), + ), + ), breadcrumb: intl.get('manual_journals'), hotkey: 'shift+m', pageTitle: intl.get('manual_journals'), @@ -65,7 +89,11 @@ export const getDashboardRoutes = () => [ }, { path: `/item/categories/import`, - component: lazy(() => import('@/containers/ItemsCategories/ItemCategoriesImport').then(m => ({ default: m.ItemCategoriesImport }))), + component: lazy(() => + import('@/containers/ItemsCategories/ItemCategoriesImport').then((m) => ({ + default: m.ItemCategoriesImport, + })), + ), backLink: true, pageTitle: 'Item Categories Import', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -73,7 +101,11 @@ export const getDashboardRoutes = () => [ }, { path: `/items/categories`, - component: lazy(() => import('@/containers/ItemsCategories/ItemCategoriesList').then(m => ({ default: m.ItemCategoriesList }))), + component: lazy(() => + import('@/containers/ItemsCategories/ItemCategoriesList').then((m) => ({ + default: m.ItemCategoriesList, + })), + ), breadcrumb: intl.get('categories'), pageTitle: intl.get('categories_list'), defaultSearchResource: RESOURCES_TYPES.ITEM, @@ -82,7 +114,11 @@ export const getDashboardRoutes = () => [ // Items. { path: `/items/import`, - component: lazy(() => import('@/containers/Items/ItemsImportPage').then(m => ({ default: m.ItemsImportpage }))), + component: lazy(() => + import('@/containers/Items/ItemsImportPage').then((m) => ({ + default: m.ItemsImportpage, + })), + ), backLink: true, pageTitle: 'Items Import', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -91,7 +127,11 @@ export const getDashboardRoutes = () => [ { path: `/items/:id/edit`, - component: lazy(() => import('@/containers/Items/ItemFormPage').then(m => ({ default: m.ItemFormPage }))), + component: lazy(() => + import('@/containers/Items/ItemFormPage').then((m) => ({ + default: m.ItemFormPage, + })), + ), name: 'item-edit', breadcrumb: intl.get('edit_item'), pageTitle: intl.get('edit_item'), @@ -110,7 +150,11 @@ export const getDashboardRoutes = () => [ }, { path: `/items/new`, - component: lazy(() => import('@/containers/Items/ItemFormPage').then(m => ({ default: m.ItemFormPage }))), + component: lazy(() => + import('@/containers/Items/ItemFormPage').then((m) => ({ + default: m.ItemFormPage, + })), + ), name: 'item-new', breadcrumb: intl.get('new_item'), hotkey: 'ctrl+shift+w', @@ -121,7 +165,11 @@ export const getDashboardRoutes = () => [ }, { path: `/items`, - component: lazy(() => import('@/containers/Items/ItemsList').then(m => ({ default: m.ItemsList }))), + component: lazy(() => + import('@/containers/Items/ItemsList').then((m) => ({ + default: m.ItemsList, + })), + ), breadcrumb: intl.get('items'), hotkey: 'shift+w', pageTitle: intl.get('items_list'), @@ -132,7 +180,11 @@ export const getDashboardRoutes = () => [ // Inventory adjustments. { path: `/inventory-adjustments`, - component: lazy(() => import('@/containers/InventoryAdjustments/InventoryAdjustmentList').then(m => ({ default: m.InventoryAdjustmentList }))), + component: lazy(() => + import('@/containers/InventoryAdjustments/InventoryAdjustmentList').then( + (m) => ({ default: m.InventoryAdjustmentList }), + ), + ), breadcrumb: intl.get('inventory_adjustments'), pageTitle: intl.get('inventory_adjustment_list'), defaultSearchResource: RESOURCES_TYPES.ITEM, @@ -142,7 +194,11 @@ export const getDashboardRoutes = () => [ // Warehouse Transfer. { path: `/warehouses-transfers/:id/edit`, - component: lazy(() => import('@/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferFormPage').then(m => ({ default: m.WarehouseTransferFormPage }))), + component: lazy(() => + import( + '@/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferFormPage' + ).then((m) => ({ default: m.WarehouseTransferFormPage })), + ), name: 'warehouse-transfer-edit', pageTitle: intl.get('warehouse_transfer.label.edit_warehouse_transfer'), sidebarExpand: false, @@ -150,7 +206,11 @@ export const getDashboardRoutes = () => [ }, { path: `/warehouses-transfers/new`, - component: lazy(() => import('@/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferFormPage').then(m => ({ default: m.WarehouseTransferFormPage }))), + component: lazy(() => + import( + '@/containers/WarehouseTransfers/WarehouseTransferForm/WarehouseTransferFormPage' + ).then((m) => ({ default: m.WarehouseTransferFormPage })), + ), name: 'warehouses-transfer-new', pageTitle: intl.get('warehouse_transfer.label.new_warehouse_transfer'), sidebarExpand: false, @@ -158,7 +218,11 @@ export const getDashboardRoutes = () => [ }, { path: `/warehouses-transfers`, - component: lazy(() => import('@/containers/WarehouseTransfers/WarehouseTransfersLanding/WarehouseTransfersList').then(m => ({ default: m.WarehouseTransfersList }))), + component: lazy(() => + import( + '@/containers/WarehouseTransfers/WarehouseTransfersLanding/WarehouseTransfersList' + ).then((m) => ({ default: m.WarehouseTransfersList })), + ), pageTitle: intl.get('warehouse_transfer.label.warehouse_transfer_list'), // defaultSearchResource: RESOURCES_TYPES.ITEM, // subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -167,9 +231,10 @@ export const getDashboardRoutes = () => [ // Financial Reports. { path: `/financial-reports/general-ledger`, - component: lazy( - () => - import('@/containers/FinancialStatements/GeneralLedger/GeneralLedger').then((m) => ({ default: m.GeneralLedger })), + component: lazy(() => + import( + '@/containers/FinancialStatements/GeneralLedger/GeneralLedger' + ).then((m) => ({ default: m.GeneralLedger })), ), breadcrumb: intl.get('general_ledger'), hint: intl.get('reports_every_transaction_going_in_and_out_of_your'), @@ -182,9 +247,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/balance-sheet`, - component: lazy( - () => - import('@/containers/FinancialStatements/BalanceSheet/BalanceSheet').then((m) => ({ default: m.BalanceSheet })), + component: lazy(() => + import('@/containers/FinancialStatements/BalanceSheet/BalanceSheet').then( + (m) => ({ default: m.BalanceSheet }), + ), ), breadcrumb: intl.get('balance_sheet'), hint: intl.get('reports_a_company_s_assets_liabilities_and_shareholders'), @@ -196,11 +262,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/trial-balance-sheet`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet' - ).then((m) => ({ default: m.TrialBalanceSheet })), + component: lazy(() => + import( + '@/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet' + ).then((m) => ({ default: m.TrialBalanceSheet })), ), breadcrumb: intl.get('trial_balance_sheet'), hint: intl.get('summarizes_the_credit_and_debit_balance_of_each_account'), @@ -212,11 +277,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/profit-loss-sheet`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheet' - ).then((mod) => ({ default: mod.ProfitLossSheet })), + component: lazy(() => + import( + '@/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheet' + ).then((mod) => ({ default: mod.ProfitLossSheet })), ), breadcrumb: intl.get('profit_loss_sheet'), hint: intl.get('reports_the_revenues_costs_and_expenses'), @@ -228,11 +292,10 @@ export const getDashboardRoutes = () => [ }, { path: '/financial-reports/receivable-aging-summary', - component: lazy( - () => - import( - '@/containers/FinancialStatements/ARAgingSummary/ARAgingSummary' - ).then((m) => ({ default: m.ARAgingSummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/ARAgingSummary/ARAgingSummary' + ).then((m) => ({ default: m.ARAgingSummary })), ), breadcrumb: intl.get('receivable_aging_summary'), hint: intl.get('summarize_total_unpaid_balances_of_customers_invoices'), @@ -243,11 +306,10 @@ export const getDashboardRoutes = () => [ }, { path: '/financial-reports/payable-aging-summary', - component: lazy( - () => - import( - '@/containers/FinancialStatements/APAgingSummary/APAgingSummary' - ).then((m) => ({ default: m.APAgingSummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/APAgingSummary/APAgingSummary' + ).then((m) => ({ default: m.APAgingSummary })), ), breadcrumb: intl.get('payable_aging_summary'), hint: intl.get('summarize_total_unpaid_balances_of_vendors_purchase'), @@ -258,8 +320,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/journal-sheet`, - component: lazy( - () => import('@/containers/FinancialStatements/Journal/Journal').then((m) => ({ default: m.Journal })), + component: lazy(() => + import('@/containers/FinancialStatements/Journal/Journal').then((m) => ({ + default: m.Journal, + })), ), breadcrumb: intl.get('journal_sheet'), hint: intl.get('the_debit_and_credit_entries_of_system_transactions'), @@ -271,11 +335,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/purchases-by-items`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/PurchasesByItems/PurchasesByItems' - ).then((m) => ({ default: m.PurchasesByItems })), + component: lazy(() => + import( + '@/containers/FinancialStatements/PurchasesByItems/PurchasesByItems' + ).then((m) => ({ default: m.PurchasesByItems })), ), breadcrumb: intl.get('purchases_by_items'), // hotkey: '', @@ -286,11 +349,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/sales-by-items`, - component: lazy( - () => - import('@/containers/FinancialStatements/SalesByItems/SalesByItems').then( - (m) => ({ default: m.SalesByItems }), - ), + component: lazy(() => + import('@/containers/FinancialStatements/SalesByItems/SalesByItems').then( + (m) => ({ default: m.SalesByItems }), + ), ), breadcrumb: intl.get('sales_by_items'), pageTitle: intl.get('sales_by_items'), @@ -303,11 +365,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/inventory-valuation`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/InventoryValuation/InventoryValuation' - ).then((m) => ({ default: m.InventoryValuation })), + component: lazy(() => + import( + '@/containers/FinancialStatements/InventoryValuation/InventoryValuation' + ).then((m) => ({ default: m.InventoryValuation })), ), breadcrumb: intl.get('inventory_valuation'), hint: intl.get('summerize_your_transactions_for_each_inventory_item'), @@ -318,11 +379,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/customers-balance-summary`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/CustomersBalanceSummary/CustomersBalanceSummary' - ).then((m) => ({ default: m.CustomersBalanceSummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/CustomersBalanceSummary/CustomersBalanceSummary' + ).then((m) => ({ default: m.CustomersBalanceSummary })), ), breadcrumb: intl.get('customers_balance_summary'), hint: intl.get('summerize_how_much_each_customer_owes_your_business'), @@ -333,11 +393,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/vendors-balance-summary`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummary' - ).then((m) => ({ default: m.VendorsBalanceSummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/VendorsBalanceSummary/VendorsBalanceSummary' + ).then((m) => ({ default: m.VendorsBalanceSummary })), ), breadcrumb: intl.get('vendors_balance_summary'), hint: intl.get('summerize_the_total_amount_your_business_owes_each_vendor'), @@ -348,11 +407,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/transactions-by-customers`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/CustomersTransactions/CustomersTransactions' - ).then((m) => ({ default: m.CustomersTransactions })), + component: lazy(() => + import( + '@/containers/FinancialStatements/CustomersTransactions/CustomersTransactions' + ).then((m) => ({ default: m.CustomersTransactions })), ), breadcrumb: intl.get('customers_transactions'), hint: intl.get( @@ -365,11 +423,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/transactions-by-vendors`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/VendorsTransactions/VendorsTransactions' - ).then((m) => ({ default: m.VendorsTransactions })), + component: lazy(() => + import( + '@/containers/FinancialStatements/VendorsTransactions/VendorsTransactions' + ).then((m) => ({ default: m.VendorsTransactions })), ), breadcrumb: intl.get('vendors_transactions'), hint: intl.get( @@ -382,11 +439,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/cash-flow`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/CashFlowStatement/CashFlowStatement' - ).then((m) => ({ default: m.CashFlowStatement })), + component: lazy(() => + import( + '@/containers/FinancialStatements/CashFlowStatement/CashFlowStatement' + ).then((m) => ({ default: m.CashFlowStatement })), ), breadcrumb: intl.get('cash_flow_statement'), hint: intl.get('reports_inflow_and_outflow_of_cash_and_cash_equivalents'), @@ -397,11 +453,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/inventory-item-details`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/InventoryItemDetails/InventoryItemDetails' - ).then((m) => ({ default: m.InventoryItemDetails })), + component: lazy(() => + import( + '@/containers/FinancialStatements/InventoryItemDetails/InventoryItemDetails' + ).then((m) => ({ default: m.InventoryItemDetails })), ), breadcrumb: intl.get('inventory_item_details'), hint: intl.get('reports_every_transaction_going_in_and_out_of_your_items'), @@ -412,11 +467,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/realized-gain-loss`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/RealizedGainOrLoss/RealizedGainOrLoss' - ).then((m) => ({ default: m.RealizedGainOrLoss })), + component: lazy(() => + import( + '@/containers/FinancialStatements/RealizedGainOrLoss/RealizedGainOrLoss' + ).then((m) => ({ default: m.RealizedGainOrLoss })), ), breadcrumb: intl.get('realized_gain_or_loss.label'), pageTitle: intl.get('realized_gain_or_loss.label'), @@ -426,11 +480,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/unrealized-gain-loss`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/UnrealizedGainOrLoss/UnrealizedGainOrLoss' - ).then((m) => ({ default: m.UnrealizedGainOrLoss })), + component: lazy(() => + import( + '@/containers/FinancialStatements/UnrealizedGainOrLoss/UnrealizedGainOrLoss' + ).then((m) => ({ default: m.UnrealizedGainOrLoss })), ), breadcrumb: intl.get('unrealized_gain_or_loss.label'), pageTitle: intl.get('unrealized_gain_or_loss.label'), @@ -440,11 +493,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/project-profitability-summary`, - component: lazy( - () => - import( - '@/containers/FinancialStatements/ProjectProfitabilitySummary/ProjectProfitabilitySummary' - ).then((m) => ({ default: m.ProjectProfitabilitySummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/ProjectProfitabilitySummary/ProjectProfitabilitySummary' + ).then((m) => ({ default: m.ProjectProfitabilitySummary })), ), breadcrumb: intl.get('project_profitability_summary'), pageTitle: intl.get('project_profitability_summary'), @@ -454,11 +506,10 @@ export const getDashboardRoutes = () => [ }, { path: '/financial-reports/sales-tax-liability-summary', - component: lazy( - () => - import( - '@/containers/FinancialStatements/SalesTaxLiabilitySummary/SalesTaxLiabilitySummary' - ).then((m) => ({ default: m.SalesTaxLiabilitySummary })), + component: lazy(() => + import( + '@/containers/FinancialStatements/SalesTaxLiabilitySummary/SalesTaxLiabilitySummary' + ).then((m) => ({ default: m.SalesTaxLiabilitySummary })), ), breadcrumb: 'Sales Tax Liability Summary', pageTitle: 'Sales Tax Liability Summary', @@ -468,8 +519,10 @@ export const getDashboardRoutes = () => [ }, { path: `/financial-reports/audit-log`, - component: lazy( - () => import('@/containers/FinancialStatements/AuditLog/AuditLogReport').then((m) => ({ default: m.AuditLogReport })), + component: lazy(() => + import('@/containers/FinancialStatements/AuditLog/AuditLogReport').then( + (m) => ({ default: m.AuditLogReport }), + ), ), breadcrumb: intl.get('audit_log_report'), pageTitle: intl.get('audit_log_report'), @@ -479,8 +532,10 @@ export const getDashboardRoutes = () => [ }, { path: '/financial-reports', - component: lazy( - () => import('@/containers/FinancialStatements/FinancialReports').then((m) => ({ default: m.FinancialReports })), + component: lazy(() => + import('@/containers/FinancialStatements/FinancialReports').then((m) => ({ + default: m.FinancialReports, + })), ), breadcrumb: intl.get('financial_reports'), pageTitle: intl.get('all_financial_reports'), @@ -489,7 +544,11 @@ export const getDashboardRoutes = () => [ // Expenses. { path: `/expenses/import`, - component: lazy(() => import('@/containers/Expenses/ExpensesImport').then(m => ({ default: m.ExpensesImport }))), + component: lazy(() => + import('@/containers/Expenses/ExpensesImport').then((m) => ({ + default: m.ExpensesImport, + })), + ), breadcrumb: 'Expenses Import', hotkey: 'ctrl+shift+x', pageTitle: 'Expenses Import', @@ -499,7 +558,11 @@ export const getDashboardRoutes = () => [ }, { path: `/expenses/new`, - component: lazy(() => import('@/containers/Expenses/ExpenseForm/ExpenseFormPage').then(m => ({ default: m.ExpenseFormPage }))), + component: lazy(() => + import('@/containers/Expenses/ExpenseForm/ExpenseFormPage').then((m) => ({ + default: m.ExpenseFormPage, + })), + ), breadcrumb: intl.get('expenses'), hotkey: 'ctrl+shift+x', pageTitle: intl.get('new_expense'), @@ -509,7 +572,11 @@ export const getDashboardRoutes = () => [ }, { path: `/expenses/:id/edit`, - component: lazy(() => import('@/containers/Expenses/ExpenseForm/ExpenseFormPage').then(m => ({ default: m.ExpenseFormPage }))), + component: lazy(() => + import('@/containers/Expenses/ExpenseForm/ExpenseFormPage').then((m) => ({ + default: m.ExpenseFormPage, + })), + ), breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_expense'), sidebarExpand: false, @@ -518,7 +585,11 @@ export const getDashboardRoutes = () => [ }, { path: `/expenses`, - component: lazy(() => import('@/containers/Expenses/ExpensesLanding/ExpensesList').then(m => ({ default: m.ExpensesList }))), + component: lazy(() => + import('@/containers/Expenses/ExpensesLanding/ExpensesList').then( + (m) => ({ default: m.ExpensesList }), + ), + ), breadcrumb: intl.get('expenses_list'), pageTitle: intl.get('expenses_list'), hotkey: 'shift+x', @@ -527,7 +598,11 @@ export const getDashboardRoutes = () => [ // Customers { path: `/customers/import`, - component: lazy(() => import('@/containers/Customers/CustomersImport').then(m => ({ default: m.CustomersImport }))), + component: lazy(() => + import('@/containers/Customers/CustomersImport').then((m) => ({ + default: m.CustomersImport, + })), + ), backLink: true, pageTitle: 'Customers Import', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -535,7 +610,11 @@ export const getDashboardRoutes = () => [ }, { path: `/customers/:id/edit`, - component: lazy(() => import('@/containers/Customers/CustomerForm/CustomerFormPage').then(m => ({ default: m.CustomerFormPage }))), + component: lazy(() => + import('@/containers/Customers/CustomerForm/CustomerFormPage').then( + (m) => ({ default: m.CustomerFormPage }), + ), + ), name: 'customer-edit', breadcrumb: intl.get('edit_customer'), pageTitle: intl.get('edit_customer'), @@ -545,7 +624,11 @@ export const getDashboardRoutes = () => [ }, { path: `/customers/new`, - component: lazy(() => import('@/containers/Customers/CustomerForm/CustomerFormPage').then(m => ({ default: m.CustomerFormPage }))), + component: lazy(() => + import('@/containers/Customers/CustomerForm/CustomerFormPage').then( + (m) => ({ default: m.CustomerFormPage }), + ), + ), name: 'customer-new', breadcrumb: intl.get('new_customer'), hotkey: 'ctrl+shift+c', @@ -556,7 +639,11 @@ export const getDashboardRoutes = () => [ }, { path: `/customers`, - component: lazy(() => import('@/containers/Customers/CustomersLanding/CustomersList').then(m => ({ default: m.CustomersList }))), + component: lazy(() => + import('@/containers/Customers/CustomersLanding/CustomersList').then( + (m) => ({ default: m.CustomersList }), + ), + ), breadcrumb: intl.get('customers'), hotkey: 'shift+c', pageTitle: intl.get('customers_list'), @@ -565,7 +652,11 @@ export const getDashboardRoutes = () => [ }, { path: `/customers/contact_duplicate=/:id`, - component: lazy(() => import('@/containers/Customers/CustomerForm/CustomerFormPage').then(m => ({ default: m.CustomerFormPage }))), + component: lazy(() => + import('@/containers/Customers/CustomerForm/CustomerFormPage').then( + (m) => ({ default: m.CustomerFormPage }), + ), + ), name: 'duplicate-customer', breadcrumb: intl.get('duplicate_customer'), pageTitle: intl.get('new_customer'), @@ -577,7 +668,11 @@ export const getDashboardRoutes = () => [ // Vendors { path: `/vendors/import`, - component: lazy(() => import('@/containers/Vendors/VendorsImport').then(m => ({ default: m.VendorsImport }))), + component: lazy(() => + import('@/containers/Vendors/VendorsImport').then((m) => ({ + default: m.VendorsImport, + })), + ), backLink: true, pageTitle: 'Vendors Import', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -585,8 +680,10 @@ export const getDashboardRoutes = () => [ }, { path: `/vendors/:id/edit`, - component: lazy( - () => import('@/containers/Vendors/VendorForm/VendorFormPage').then(module => ({ default: module.VendorFormPage })), + component: lazy(() => + import('@/containers/Vendors/VendorForm/VendorFormPage').then( + (module) => ({ default: module.VendorFormPage }), + ), ), name: 'vendor-edit', breadcrumb: intl.get('edit_vendor'), @@ -597,8 +694,10 @@ export const getDashboardRoutes = () => [ }, { path: `/vendors/new`, - component: lazy( - () => import('@/containers/Vendors/VendorForm/VendorFormPage').then(module => ({ default: module.VendorFormPage })), + component: lazy(() => + import('@/containers/Vendors/VendorForm/VendorFormPage').then( + (module) => ({ default: module.VendorFormPage }), + ), ), name: 'vendor-new', breadcrumb: intl.get('new_vendor'), @@ -610,7 +709,11 @@ export const getDashboardRoutes = () => [ }, { path: `/vendors`, - component: lazy(() => import('@/containers/Vendors/VendorsLanding/VendorsList').then(m => ({ default: m.VendorsList }))), + component: lazy(() => + import('@/containers/Vendors/VendorsLanding/VendorsList').then((m) => ({ + default: m.VendorsList, + })), + ), breadcrumb: intl.get('vendors'), hotkey: 'shift+v', pageTitle: intl.get('vendors_list'), @@ -633,7 +736,11 @@ export const getDashboardRoutes = () => [ // Estimates { path: `/estimates/import`, - component: lazy(() => import('@/containers/Sales/Estimates/EstimatesImport').then(m => ({ default: m.EstimatesImport }))), + component: lazy(() => + import('@/containers/Sales/Estimates/EstimatesImport').then((m) => ({ + default: m.EstimatesImport, + })), + ), name: 'estimate-edit', breadcrumb: 'Estimates Import', pageTitle: 'Estimates Import', @@ -643,7 +750,11 @@ export const getDashboardRoutes = () => [ }, { path: `/estimates/:id/edit`, - component: lazy(() => import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then(m => ({ default: m.EstimateFormPage }))), + component: lazy(() => + import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then( + (m) => ({ default: m.EstimateFormPage }), + ), + ), name: 'estimate-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_estimate'), @@ -654,7 +765,11 @@ export const getDashboardRoutes = () => [ }, { path: `/invoices/new?from_estimate_id=/:id`, - component: lazy(() => import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then(m => ({ default: m.EstimateFormPage }))), + component: lazy(() => + import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then( + (m) => ({ default: m.EstimateFormPage }), + ), + ), name: 'convert-to-invoice', breadcrumb: intl.get('new_estimate'), pageTitle: intl.get('new_estimate'), @@ -665,7 +780,11 @@ export const getDashboardRoutes = () => [ }, { path: `/estimates/new`, - component: lazy(() => import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then(m => ({ default: m.EstimateFormPage }))), + component: lazy(() => + import('@/containers/Sales/Estimates/EstimateForm/EstimateFormPage').then( + (m) => ({ default: m.EstimateFormPage }), + ), + ), name: 'estimate-new', breadcrumb: intl.get('new_estimate'), hotkey: 'ctrl+shift+e', @@ -677,7 +796,11 @@ export const getDashboardRoutes = () => [ }, { path: `/estimates`, - component: lazy(() => import('@/containers/Sales/Estimates/EstimatesLanding/EstimatesList').then(m => ({ default: m.EstimatesList }))), + component: lazy(() => + import( + '@/containers/Sales/Estimates/EstimatesLanding/EstimatesList' + ).then((m) => ({ default: m.EstimatesList })), + ), name: 'estimates-list', breadcrumb: intl.get('estimates_list'), hotkey: 'shift+e', @@ -689,7 +812,11 @@ export const getDashboardRoutes = () => [ // Invoices. { path: `/invoices/import`, - component: lazy(() => import('@/containers/Sales/Invoices/InvoicesImport').then(m => ({ default: m.InvoicesImport }))), + component: lazy(() => + import('@/containers/Sales/Invoices/InvoicesImport').then((m) => ({ + default: m.InvoicesImport, + })), + ), name: 'invoice-edit', breadcrumb: 'Invoices Import', pageTitle: 'Invoices Import', @@ -699,7 +826,11 @@ export const getDashboardRoutes = () => [ }, { path: `/invoices/:id/edit`, - component: lazy(() => import('@/containers/Sales/Invoices/InvoiceForm/InvoiceFormPage').then(m => ({ default: m.InvoiceFormPage }))), + component: lazy(() => + import('@/containers/Sales/Invoices/InvoiceForm/InvoiceFormPage').then( + (m) => ({ default: m.InvoiceFormPage }), + ), + ), name: 'invoice-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_invoice'), @@ -710,7 +841,11 @@ export const getDashboardRoutes = () => [ }, { path: `/invoices/new`, - component: lazy(() => import('@/containers/Sales/Invoices/InvoiceForm/InvoiceFormPage').then(m => ({ default: m.InvoiceFormPage }))), + component: lazy(() => + import('@/containers/Sales/Invoices/InvoiceForm/InvoiceFormPage').then( + (m) => ({ default: m.InvoiceFormPage }), + ), + ), name: 'invoice-new', breadcrumb: intl.get('new_invoice'), hotkey: 'ctrl+shift+i', @@ -722,7 +857,11 @@ export const getDashboardRoutes = () => [ }, { path: `/invoices`, - component: lazy(() => import('@/containers/Sales/Invoices/InvoicesLanding/InvoicesList').then(m => ({ default: m.InvoicesList }))), + component: lazy(() => + import('@/containers/Sales/Invoices/InvoicesLanding/InvoicesList').then( + (m) => ({ default: m.InvoicesList }), + ), + ), breadcrumb: intl.get('invoices_list'), hotkey: 'shift+i', pageTitle: intl.get('invoices_list'), @@ -732,7 +871,11 @@ export const getDashboardRoutes = () => [ // Sales Receipts. { path: `/receipts/import`, - component: lazy(() => import('@/containers/Sales/Receipts/SaleReceiptsImport').then(m => ({ default: m.ReceiptsImport }))), + component: lazy(() => + import('@/containers/Sales/Receipts/SaleReceiptsImport').then((m) => ({ + default: m.ReceiptsImport, + })), + ), name: 'receipt-import', breadcrumb: 'Receipts Import', pageTitle: 'Receipts Import', @@ -742,7 +885,11 @@ export const getDashboardRoutes = () => [ }, { path: `/receipts/:id/edit`, - component: lazy(() => import('@/containers/Sales/Receipts/ReceiptForm/ReceiptFormPage').then(m => ({ default: m.ReceiptFormPage }))), + component: lazy(() => + import('@/containers/Sales/Receipts/ReceiptForm/ReceiptFormPage').then( + (m) => ({ default: m.ReceiptFormPage }), + ), + ), name: 'receipt-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_receipt'), @@ -753,7 +900,11 @@ export const getDashboardRoutes = () => [ }, { path: `/receipts/new`, - component: lazy(() => import('@/containers/Sales/Receipts/ReceiptForm/ReceiptFormPage').then(m => ({ default: m.ReceiptFormPage }))), + component: lazy(() => + import('@/containers/Sales/Receipts/ReceiptForm/ReceiptFormPage').then( + (m) => ({ default: m.ReceiptFormPage }), + ), + ), name: 'receipt-new', breadcrumb: intl.get('new_receipt'), hotkey: 'ctrl+shift+r', @@ -765,7 +916,11 @@ export const getDashboardRoutes = () => [ }, { path: `/receipts`, - component: lazy(() => import('@/containers/Sales/Receipts/ReceiptsLanding/ReceiptsList').then(m => ({ default: m.ReceiptsList }))), + component: lazy(() => + import('@/containers/Sales/Receipts/ReceiptsLanding/ReceiptsList').then( + (m) => ({ default: m.ReceiptsList }), + ), + ), breadcrumb: intl.get('receipts_list'), hotkey: 'shift+r', pageTitle: intl.get('receipts_list'), @@ -776,7 +931,11 @@ export const getDashboardRoutes = () => [ // Sales Credit notes. { path: `/credit-notes/import`, - component: lazy(() => import('@/containers/Sales/CreditNotes/CreditNotesImport').then(m => ({ default: m.CreditNotesImport }))), + component: lazy(() => + import('@/containers/Sales/CreditNotes/CreditNotesImport').then((m) => ({ + default: m.CreditNotesImport, + })), + ), name: 'credit-note-import', breadcrumb: 'Credit Notes Import', pageTitle: 'Credit Notes Import', @@ -786,7 +945,11 @@ export const getDashboardRoutes = () => [ }, { path: `/credit-notes/:id/edit`, - component: lazy(() => import('@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage').then(m => ({ default: m.CreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage' + ).then((m) => ({ default: m.CreditNoteFormPage })), + ), name: 'credit-note-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('credit_note.label.edit_credit_note'), @@ -797,7 +960,11 @@ export const getDashboardRoutes = () => [ }, { path: `/credit-notes/new/?from_invoice_id=/:id`, - component: lazy(() => import('@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage').then(m => ({ default: m.CreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage' + ).then((m) => ({ default: m.CreditNoteFormPage })), + ), name: 'credit-note-new', breadcrumb: intl.get('credit_note.label.new_credit_note'), backLink: true, @@ -808,7 +975,11 @@ export const getDashboardRoutes = () => [ }, { path: '/credit-notes/new', - component: lazy(() => import('@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage').then(m => ({ default: m.CreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Sales/CreditNotes/CreditNoteForm/CreditNoteFormPage' + ).then((m) => ({ default: m.CreditNoteFormPage })), + ), name: 'credit-note-new', breadcrumb: intl.get('credit_note.label.new_credit_note'), backLink: true, @@ -819,7 +990,11 @@ export const getDashboardRoutes = () => [ }, { path: '/credit-notes', - component: lazy(() => import('@/containers/Sales/CreditNotes/CreditNotesLanding/CreditNotesList').then(m => ({ default: m.CreditNotesList }))), + component: lazy(() => + import( + '@/containers/Sales/CreditNotes/CreditNotesLanding/CreditNotesList' + ).then((m) => ({ default: m.CreditNotesList })), + ), breadcrumb: intl.get('credit_note.label_create_note_list'), pageTitle: intl.get('credit_note.label_create_note_list'), defaultSearchResource: RESOURCES_TYPES.CREDIT_NOTE, @@ -828,7 +1003,11 @@ export const getDashboardRoutes = () => [ // Payment receives { path: `/payments-received/import`, - component: lazy(() => import('@/containers/Sales/PaymentsReceived/PaymentsReceivedImport').then(m => ({ default: m.PaymentsReceiveImport }))), + component: lazy(() => + import('@/containers/Sales/PaymentsReceived/PaymentsReceivedImport').then( + (m) => ({ default: m.PaymentsReceiveImport }), + ), + ), name: 'payment-receive-import', breadcrumb: 'Payments Received Import', pageTitle: 'Payments Received Import', @@ -838,7 +1017,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payments-received/:id/edit`, - component: lazy(() => import('@/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveFormPage').then(m => ({ default: m.PaymentReceiveFormPage }))), + component: lazy(() => + import( + '@/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveFormPage' + ).then((m) => ({ default: m.PaymentReceiveFormPage })), + ), name: 'payment-receive-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_payment_received'), @@ -849,7 +1032,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payment-received/new`, - component: lazy(() => import('@/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveFormPage').then(m => ({ default: m.PaymentReceiveFormPage }))), + component: lazy(() => + import( + '@/containers/Sales/PaymentsReceived/PaymentReceiveForm/PaymentReceiveFormPage' + ).then((m) => ({ default: m.PaymentReceiveFormPage })), + ), name: 'payment-receive-new', breadcrumb: intl.get('new_payment_received'), pageTitle: intl.get('new_payment_received'), @@ -860,7 +1047,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payments-received`, - component: lazy(() => import('@/containers/Sales/PaymentsReceived/PaymentsLanding/PaymentsReceivedList').then(m => ({ default: m.PaymentsReceivedList }))), + component: lazy(() => + import( + '@/containers/Sales/PaymentsReceived/PaymentsLanding/PaymentsReceivedList' + ).then((m) => ({ default: m.PaymentsReceivedList })), + ), breadcrumb: intl.get('payments_received_list'), pageTitle: intl.get('payments_received_list'), defaultSearchResource: RESOURCES_TYPES.PAYMENT_RECEIVE, @@ -870,7 +1061,11 @@ export const getDashboardRoutes = () => [ // Bills { path: `/bills/import`, - component: lazy(() => import('@/containers/Purchases/Bills/BillImport').then(m => ({ default: m.BillsImport }))), + component: lazy(() => + import('@/containers/Purchases/Bills/BillImport').then((m) => ({ + default: m.BillsImport, + })), + ), name: 'bill-edit', // breadcrumb: intl.get('edit'), pageTitle: 'Bills Import', @@ -880,7 +1075,11 @@ export const getDashboardRoutes = () => [ }, { path: `/bills/:id/edit`, - component: lazy(() => import('@/containers/Purchases/Bills/BillForm/BillFormPage').then(m => ({ default: m.BillFormPage }))), + component: lazy(() => + import('@/containers/Purchases/Bills/BillForm/BillFormPage').then( + (m) => ({ default: m.BillFormPage }), + ), + ), name: 'bill-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_bill'), @@ -891,7 +1090,11 @@ export const getDashboardRoutes = () => [ }, { path: `/bills/new`, - component: lazy(() => import('@/containers/Purchases/Bills/BillForm/BillFormPage').then(m => ({ default: m.BillFormPage }))), + component: lazy(() => + import('@/containers/Purchases/Bills/BillForm/BillFormPage').then( + (m) => ({ default: m.BillFormPage }), + ), + ), name: 'bill-new', breadcrumb: intl.get('new_bill'), hotkey: 'ctrl+shift+b', @@ -903,7 +1106,11 @@ export const getDashboardRoutes = () => [ }, { path: `/bills`, - component: lazy(() => import('@/containers/Purchases/Bills/BillsLanding/BillsList').then(m => ({ default: m.BillsList }))), + component: lazy(() => + import('@/containers/Purchases/Bills/BillsLanding/BillsList').then( + (m) => ({ default: m.BillsList }), + ), + ), breadcrumb: intl.get('bills_list'), hotkey: 'shift+b', pageTitle: intl.get('bills_list'), @@ -913,7 +1120,11 @@ export const getDashboardRoutes = () => [ // Purchases Credit note. { path: `/vendor-credits/import`, - component: lazy(() => import('@/containers/Purchases/CreditNotes/VendorCreditsImport').then(m => ({ default: m.VendorCreditsImport }))), + component: lazy(() => + import('@/containers/Purchases/CreditNotes/VendorCreditsImport').then( + (m) => ({ default: m.VendorCreditsImport }), + ), + ), name: 'vendor-credits-edit', breadcrumb: 'Vendor Credits Import', pageTitle: 'Vendor Credits Import', @@ -923,7 +1134,11 @@ export const getDashboardRoutes = () => [ }, { path: `/vendor-credits/:id/edit`, - component: lazy(() => import('@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage').then(m => ({ default: m.VendorCreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage' + ).then((m) => ({ default: m.VendorCreditNoteFormPage })), + ), name: 'vendor-credits-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('vendor_credits.label.edit_vendor_credit'), @@ -934,7 +1149,11 @@ export const getDashboardRoutes = () => [ }, { path: '/vendor-credits/new/?from_bill_id=/:id', - component: lazy(() => import('@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage').then(m => ({ default: m.VendorCreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage' + ).then((m) => ({ default: m.VendorCreditNoteFormPage })), + ), name: 'vendor-credits-new', backLink: true, sidebarExpand: false, @@ -945,7 +1164,11 @@ export const getDashboardRoutes = () => [ }, { path: '/vendor-credits/new', - component: lazy(() => import('@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage').then(m => ({ default: m.VendorCreditNoteFormPage }))), + component: lazy(() => + import( + '@/containers/Purchases/CreditNotes/CreditNoteForm/VendorCreditNoteFormPage' + ).then((m) => ({ default: m.VendorCreditNoteFormPage })), + ), name: 'vendor-credits-new', backLink: true, sidebarExpand: false, @@ -956,7 +1179,11 @@ export const getDashboardRoutes = () => [ }, { path: '/vendor-credits', - component: lazy(() => import('@/containers/Purchases/CreditNotes/CreditNotesLanding/VendorsCreditNotesList').then(m => ({ default: m.VendorsCreditNotesList }))), + component: lazy(() => + import( + '@/containers/Purchases/CreditNotes/CreditNotesLanding/VendorsCreditNotesList' + ).then((m) => ({ default: m.VendorsCreditNotesList })), + ), breadcrumb: intl.get('vendor_credits.lable_vendor_credit_list'), pageTitle: intl.get('vendor_credits.lable_vendor_credit_list'), defaultSearchResource: RESOURCES_TYPES.VENDOR_CREDIT, @@ -966,7 +1193,11 @@ export const getDashboardRoutes = () => [ // Payment modes. { path: `/payments-made/import`, - component: lazy(() => import('@/containers/Purchases/PaymentsMade/PaymentsMadeImport').then(m => ({ default: m.PaymentsMadeImport }))), + component: lazy(() => + import('@/containers/Purchases/PaymentsMade/PaymentsMadeImport').then( + (m) => ({ default: m.PaymentsMadeImport }), + ), + ), name: 'payment-made-edit', breadcrumb: intl.get('edit'), pageTitle: 'Bills Payments Import', @@ -976,7 +1207,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payments-made/:id/edit`, - component: lazy(() => import('@/containers/Purchases/PaymentsMade/PaymentForm/PaymentMadeFormPage').then(m => ({ default: m.PaymentMadeFormPage }))), + component: lazy(() => + import( + '@/containers/Purchases/PaymentsMade/PaymentForm/PaymentMadeFormPage' + ).then((m) => ({ default: m.PaymentMadeFormPage })), + ), name: 'payment-made-edit', breadcrumb: intl.get('edit'), pageTitle: intl.get('edit_payment_made'), @@ -987,7 +1222,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payments-made/new`, - component: lazy(() => import('@/containers/Purchases/PaymentsMade/PaymentForm/PaymentMadeFormPage').then(m => ({ default: m.PaymentMadeFormPage }))), + component: lazy(() => + import( + '@/containers/Purchases/PaymentsMade/PaymentForm/PaymentMadeFormPage' + ).then((m) => ({ default: m.PaymentMadeFormPage })), + ), name: 'payment-made-new', breadcrumb: intl.get('new_payment_made'), pageTitle: intl.get('new_payment_made'), @@ -998,7 +1237,11 @@ export const getDashboardRoutes = () => [ }, { path: `/payments-made`, - component: lazy(() => import('@/containers/Purchases/PaymentsMade/PaymentsLanding/PaymentMadeList').then(m => ({ default: m.PaymentMadeList }))), + component: lazy(() => + import( + '@/containers/Purchases/PaymentsMade/PaymentsLanding/PaymentMadeList' + ).then((m) => ({ default: m.PaymentMadeList })), + ), breadcrumb: intl.get('payments_made_list'), pageTitle: intl.get('payments_made_list'), defaultSearchResource: RESOURCES_TYPES.PAYMENT_MADE, @@ -1007,7 +1250,11 @@ export const getDashboardRoutes = () => [ // Cash flow { path: `/cashflow-accounts/:id/transactions`, - component: lazy(() => import('@/containers/CashFlow/AccountTransactions/AccountTransactionsList').then(m => ({ default: m.AccountTransactionsList }))), + component: lazy(() => + import( + '@/containers/CashFlow/AccountTransactions/AccountTransactionsList' + ).then((m) => ({ default: m.AccountTransactionsList })), + ), sidebarExpand: false, backLink: true, pageTitle: intl.get('banking.label_account_transcations'), @@ -1016,7 +1263,11 @@ export const getDashboardRoutes = () => [ }, { path: `/cashflow-accounts/:id/import`, - component: lazy(() => import('@/containers/CashFlow/ImportIUncategorizedTransactions/ImportUncategorizedTransactionsPage').then(m => ({ default: m.ImportUncategorizedTransactions }))), + component: lazy(() => + import( + '@/containers/CashFlow/ImportIUncategorizedTransactions/ImportUncategorizedTransactionsPage' + ).then((m) => ({ default: m.ImportUncategorizedTransactions })), + ), backLink: true, sidebarExpand: false, pageTitle: 'Bank Transactions Import', @@ -1025,43 +1276,71 @@ export const getDashboardRoutes = () => [ }, { path: `/cashflow-accounts`, - component: lazy(() => import('@/containers/CashFlow/CashFlowAccounts/CashFlowAccountsList').then(m => ({ default: m.CashFlowAccountsList }))), + component: lazy(() => + import( + '@/containers/CashFlow/CashFlowAccounts/CashFlowAccountsList' + ).then((m) => ({ default: m.CashFlowAccountsList })), + ), pageTitle: intl.get('siebar.banking.bank_accounts'), subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], defaultSearchResource: RESOURCES_TYPES.ACCOUNT, }, { path: `/transactions-locking`, - component: lazy(() => import('@/containers/TransactionsLocking/TransactionsLockingPage').then(m => ({ default: m.TransactionsLockingPage }))), + component: lazy(() => + import('@/containers/TransactionsLocking/TransactionsLockingPage').then( + (m) => ({ default: m.TransactionsLockingPage }), + ), + ), pageTitle: intl.get('sidebar.transactions_locaking'), }, { path: '/projects/:id/details', - component: lazy(() => import('@/containers/Projects/containers/ProjectDetails').then(m => ({ default: m.index }))), + component: lazy(() => + import('@/containers/Projects/containers/ProjectDetails').then((m) => ({ + default: m.index, + })), + ), sidebarExpand: false, backLink: true, }, { path: '/projects', - component: lazy(() => import('@/containers/Projects/containers/ProjectsLanding/ProjectsList').then(m => ({ default: m.ProjectsList }))), + component: lazy(() => + import( + '@/containers/Projects/containers/ProjectsLanding/ProjectsList' + ).then((m) => ({ default: m.ProjectsList })), + ), pageTitle: intl.get('sidebar.projects'), }, { path: '/tax-rates/import', - component: lazy(() => import('@/containers/TaxRates/containers/TaxRatesImport').then(m => ({ default: m.TaxRatesImport }))), + component: lazy(() => + import('@/containers/TaxRates/containers/TaxRatesImport').then((m) => ({ + default: m.TaxRatesImport, + })), + ), pageTitle: 'Tax Rates', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], }, { path: '/tax-rates', - component: lazy(() => import('@/containers/TaxRates/pages/TaxRatesLanding').then(m => ({ default: m.TaxRatesLanding }))), + component: lazy(() => + import('@/containers/TaxRates/pages/TaxRatesLanding').then((m) => ({ + default: m.TaxRatesLanding, + })), + ), pageTitle: 'Tax Rates', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], }, // Bank Rules { path: '/bank-rules', - component: lazy(() => import('@/containers/Banking/Rules/RulesList/RulesLandingPage').then(m => ({ default: m.RulesLandingPage }))), + component: lazy(() => + import('@/containers/Banking/Rules/RulesList/RulesLandingPage').then( + (m) => ({ default: m.RulesLandingPage }), + ), + ), pageTitle: 'Bank Rules', breadcrumb: 'Bank Rules', subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], @@ -1069,7 +1348,11 @@ export const getDashboardRoutes = () => [ // Homepage { path: `/`, - component: lazy(() => import('@/containers/Homepage/Homepage').then(m => ({ default: m.Homepage }))), + component: lazy(() => + import('@/containers/Homepage/Homepage').then((m) => ({ + default: m.Homepage, + })), + ), breadcrumb: intl.get('homepage'), subscriptionActive: [SUBSCRIPTION_TYPE.MAIN], }, diff --git a/packages/webapp/src/routes/preferences.tsx b/packages/webapp/src/routes/preferences.tsx index 79800443b..0ebdc1df1 100644 --- a/packages/webapp/src/routes/preferences.tsx +++ b/packages/webapp/src/routes/preferences.tsx @@ -6,32 +6,56 @@ const BASE_URL = '/preferences'; export const getPreferenceRoutes = () => [ { path: `${BASE_URL}/general`, - component: lazy(() => import('@/containers/Preferences/General/General').then(m => ({ default: m.GeneralPreferences }))), + component: lazy(() => + import('@/containers/Preferences/General/General').then((m) => ({ + default: m.GeneralPreferences, + })), + ), exact: true, }, { path: `${BASE_URL}/branding`, - component: lazy(() => import('../containers/Preferences/Branding/PreferencesBrandingPage').then(m => ({ default: m.PreferencesBrandingPage }))), + component: lazy(() => + import('../containers/Preferences/Branding/PreferencesBrandingPage').then( + (m) => ({ default: m.PreferencesBrandingPage }), + ), + ), exact: true, }, { path: `${BASE_URL}/users`, - component: lazy(() => import('../containers/Preferences/Users/Users').then(m => ({ default: m.Users }))), + component: lazy(() => + import('../containers/Preferences/Users/Users').then((m) => ({ + default: m.Users, + })), + ), exact: true, }, { path: `${BASE_URL}/invoices`, - component: lazy(() => import('../containers/Preferences/Invoices/PreferencesInvoices').then(m => ({ default: m.PreferencesInvoices }))), + component: lazy(() => + import('../containers/Preferences/Invoices/PreferencesInvoices').then( + (m) => ({ default: m.PreferencesInvoices }), + ), + ), exact: true, }, { path: `${BASE_URL}/payment-methods`, - component: lazy(() => import('../containers/Preferences/PaymentMethods/PreferencesPaymentMethodsPage').then(m => ({ default: m.PreferencesPaymentMethodsPage }))), + component: lazy(() => + import( + '../containers/Preferences/PaymentMethods/PreferencesPaymentMethodsPage' + ).then((m) => ({ default: m.PreferencesPaymentMethodsPage })), + ), exact: true, }, { path: `${BASE_URL}/payment-methods/stripe/callback`, - component: lazy(() => import('../containers/Preferences/PaymentMethods/PreferencesStripeCallback').then(m => ({ default: m.PreferencesStripeCallback }))), + component: lazy(() => + import( + '../containers/Preferences/PaymentMethods/PreferencesStripeCallback' + ).then((m) => ({ default: m.PreferencesStripeCallback })), + ), exact: true, }, { @@ -63,47 +87,83 @@ export const getPreferenceRoutes = () => [ }, { path: `${BASE_URL}/roles`, - component: lazy(() => import('../containers/Preferences/Users/Roles/RolesForm/RolesFormPage').then(m => ({ default: m.RolesFormPage }))), + component: lazy(() => + import( + '../containers/Preferences/Users/Roles/RolesForm/RolesFormPage' + ).then((m) => ({ default: m.RolesFormPage })), + ), exact: true, }, { path: `${BASE_URL}/roles/:id`, - component: lazy(() => import('../containers/Preferences/Users/Roles/RolesForm/RolesFormPage').then(m => ({ default: m.RolesFormPage }))), + component: lazy(() => + import( + '../containers/Preferences/Users/Roles/RolesForm/RolesFormPage' + ).then((m) => ({ default: m.RolesFormPage })), + ), exact: true, }, { path: `${BASE_URL}/currencies`, - component: lazy(() => import('@/containers/Preferences/Currencies/Currencies').then(m => ({ default: m.PreferencesCurrenciesPage }))), + component: lazy(() => + import('@/containers/Preferences/Currencies/Currencies').then((m) => ({ + default: m.PreferencesCurrenciesPage, + })), + ), exact: true, }, { path: `${BASE_URL}/warehouses`, - component: lazy(() => import('../containers/Preferences/Warehouses').then(m => ({ default: m.WarehousesPerences }))), + component: lazy(() => + import('../containers/Preferences/Warehouses').then((m) => ({ + default: m.WarehousesPerences, + })), + ), exact: true, }, { path: `${BASE_URL}/branches`, - component: lazy(() => import('../containers/Preferences/Branches').then(m => ({ default: m.BranchesPreferences }))), + component: lazy(() => + import('../containers/Preferences/Branches').then((m) => ({ + default: m.BranchesPreferences, + })), + ), exact: true, }, { path: `${BASE_URL}/accountant`, - component: lazy(() => import('@/containers/Preferences/Accountant/Accountant').then(m => ({ default: m.AccountantPreferences }))), + component: lazy(() => + import('@/containers/Preferences/Accountant/Accountant').then((m) => ({ + default: m.AccountantPreferences, + })), + ), exact: true, }, { path: `${BASE_URL}/items`, - component: lazy(() => import('@/containers/Preferences/Item').then(m => ({ default: m.ItemsPreferences }))), + component: lazy(() => + import('@/containers/Preferences/Item').then((m) => ({ + default: m.ItemsPreferences, + })), + ), exact: true, }, { path: `${BASE_URL}/api-keys`, - component: lazy(() => import('@/containers/Preferences/ApiKeys/ApiKeys').then(m => ({ default: m.ApiKeys }))), + component: lazy(() => + import('@/containers/Preferences/ApiKeys/ApiKeys').then((m) => ({ + default: m.ApiKeys, + })), + ), exact: true, }, { path: `${BASE_URL}/`, - component: lazy(() => import('../containers/Preferences/DefaultRoute').then(m => ({ default: m.DefaultRoute }))), + component: lazy(() => + import('../containers/Preferences/DefaultRoute').then((m) => ({ + default: m.DefaultRoute, + })), + ), exact: true, }, ]; diff --git a/packages/webapp/src/serviceWorker.tsx b/packages/webapp/src/serviceWorker.tsx index f8f394849..5af1a3b7b 100644 --- a/packages/webapp/src/serviceWorker.tsx +++ b/packages/webapp/src/serviceWorker.tsx @@ -17,8 +17,8 @@ const isLocalhost = Boolean( window.location.hostname === '[::1]' || // 127.0.0.0/8 are considered localhost for IPv4. window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/, + ), ); export function register(config) { @@ -44,7 +44,7 @@ export function register(config) { navigator.serviceWorker.ready.then(() => { console.log( 'This web app is being served cache-first by a service ' + - 'worker. To learn more, visit https://bit.ly/CRA-PWA' + 'worker. To learn more, visit https://bit.ly/CRA-PWA', ); }); } else { @@ -58,7 +58,7 @@ export function register(config) { function registerValidSW(swUrl, config) { navigator.serviceWorker .register(swUrl) - .then(registration => { + .then((registration) => { registration.onupdatefound = () => { const installingWorker = registration.installing; if (installingWorker == null) { @@ -72,7 +72,7 @@ function registerValidSW(swUrl, config) { // content until all client tabs are closed. console.log( 'New content is available and will be used when all ' + - 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.', ); // Execute callback @@ -94,7 +94,7 @@ function registerValidSW(swUrl, config) { }; }; }) - .catch(error => { + .catch((error) => { console.error('Error during service worker registration:', error); }); } @@ -102,9 +102,9 @@ function registerValidSW(swUrl, config) { function checkValidServiceWorker(swUrl, config) { // Check if the service worker can be found. If it can't reload the page. fetch(swUrl, { - headers: { 'Service-Worker': 'script' } + headers: { 'Service-Worker': 'script' }, }) - .then(response => { + .then((response) => { // Ensure service worker exists, and that we really are getting a JS file. const contentType = response.headers.get('content-type'); if ( @@ -112,7 +112,7 @@ function checkValidServiceWorker(swUrl, config) { (contentType != null && contentType.indexOf('javascript') === -1) ) { // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { + navigator.serviceWorker.ready.then((registration) => { registration.unregister().then(() => { window.location.reload(); }); @@ -124,7 +124,7 @@ function checkValidServiceWorker(swUrl, config) { }) .catch(() => { console.log( - 'No internet connection found. App is running in offline mode.' + 'No internet connection found. App is running in offline mode.', ); }); } @@ -132,10 +132,10 @@ function checkValidServiceWorker(swUrl, config) { export function unregister() { if ('serviceWorker' in navigator) { navigator.serviceWorker.ready - .then(registration => { + .then((registration) => { registration.unregister(); }) - .catch(error => { + .catch((error) => { console.error(error.message); }); } diff --git a/packages/webapp/src/services/ApiService.tsx b/packages/webapp/src/services/ApiService.tsx index 8a054a602..829e37bc8 100644 --- a/packages/webapp/src/services/ApiService.tsx +++ b/packages/webapp/src/services/ApiService.tsx @@ -2,7 +2,6 @@ import axios from '@/services/axios'; export default { - get(resource, params?) { return axios.get(`/api/${resource}`, params); }, @@ -21,5 +20,5 @@ export default { delete(resource, params?) { return axios.delete(`/api/${resource}`, params); - } -}; \ No newline at end of file + }, +}; diff --git a/packages/webapp/src/services/NamedRoutes.tsx b/packages/webapp/src/services/NamedRoutes.tsx index 0b386444d..d420f58a3 100644 --- a/packages/webapp/src/services/NamedRoutes.tsx +++ b/packages/webapp/src/services/NamedRoutes.tsx @@ -1,4 +1,2 @@ // @ts-nocheck import dashboard from '@/routes/dashboard'; - - diff --git a/packages/webapp/src/services/RemoteDataBinding.tsx b/packages/webapp/src/services/RemoteDataBinding.tsx index ba417cfd8..f612174ef 100644 --- a/packages/webapp/src/services/RemoteDataBinding.tsx +++ b/packages/webapp/src/services/RemoteDataBinding.tsx @@ -2,7 +2,6 @@ import ApiService from '@/services/ApiService'; export default class RemoteDataBinding { - execute(state) { return this.getData(state); } @@ -12,9 +11,16 @@ export default class RemoteDataBinding { let sortQuery = ''; if ((state.sorted || []).length) { - sortQuery = `&$orderby=` + (state).sorted.map((obj) => { - return obj.direction === 'descending' ? `${obj.name} desc` : obj.name; - }).reverse().join(','); + sortQuery = + `&$orderby=` + + state.sorted + .map((obj) => { + return obj.direction === 'descending' + ? `${obj.name} desc` + : obj.name; + }) + .reverse() + .join(','); } this.ajax.url = `${this.baseUrl}?${pageQuery}${sortQuery}&$inlinecount=allpages&$format=json`; @@ -27,4 +33,4 @@ export default class RemoteDataBinding { }; }); } -} \ No newline at end of file +} diff --git a/packages/webapp/src/services/axios.tsx b/packages/webapp/src/services/axios.tsx index 277e30d19..8aaf4543a 100644 --- a/packages/webapp/src/services/axios.tsx +++ b/packages/webapp/src/services/axios.tsx @@ -3,39 +3,44 @@ import axios from 'axios'; import { store } from '@/store/create-store'; const http = axios.create(); +http.interceptors.request.use( + (request) => { + const state = store.getState(); + const { token, organization } = state.authentication; + const locale = 'en'; -http.interceptors.request.use((request) => { - const state = store.getState(); - const { token, organization } = state.authentication; - const locale = 'en'; + if (token) { + request.headers.common['x-access-token'] = token; + } + if (organization) { + request.headers.common['organization-id'] = organization; + } + if (locale) { + request.headers.common['Accept-Language'] = locale; + } + request.headers.common['Accept-Language'] = 'ar'; - if (token) { - request.headers.common['x-access-token'] = token; - } - if (organization) { - request.headers.common['organization-id'] = organization; - } - if (locale) { - request.headers.common['Accept-Language'] = locale; - } - request.headers.common['Accept-Language'] = 'ar'; + return request; + }, + (error) => { + return Promise.reject(error); + }, +); - return request; -}, (error) => { - return Promise.reject(error); -}); +http.interceptors.response.use( + (response) => response, + (error) => { + const { status } = error.response; -http.interceptors.response.use((response) => response, (error) => { - const { status } = error.response; + // if (status >= 500) { + // store.dispatch(setGlobalErrors({ something_wrong: true })); + // } + // if (status === 401) { + // // store.dispatch(setGlobalErrors({ session_expired: true })); + // // store.dispatch(logout()); + // } + return Promise.reject(error); + }, +); - // if (status >= 500) { - // store.dispatch(setGlobalErrors({ something_wrong: true })); - // } - // if (status === 401) { - // // store.dispatch(setGlobalErrors({ session_expired: true })); - // // store.dispatch(logout()); - // } - return Promise.reject(error); -}); - -export default http; \ No newline at end of file +export default http; diff --git a/packages/webapp/src/services/yup.tsx b/packages/webapp/src/services/yup.tsx index 9cb520a7f..1777d94a6 100644 --- a/packages/webapp/src/services/yup.tsx +++ b/packages/webapp/src/services/yup.tsx @@ -2,14 +2,12 @@ import * as Yup from 'yup'; Yup.addMethod(Yup.string, 'digits', function () { - return this.test( - 'is-digits', - '${path} should be digits only.', - value => /^(0|[1-9]\d*)$/.test(value), + return this.test('is-digits', '${path} should be digits only.', (value) => + /^(0|[1-9]\d*)$/.test(value), ); }); -Yup.addMethod(Yup.number, 'decimalScale', function(scale) { +Yup.addMethod(Yup.number, 'decimalScale', function (scale) { return this.test( 'numeric-length', '${path} should decimal length ', @@ -18,6 +16,6 @@ Yup.addMethod(Yup.number, 'decimalScale', function(scale) { return reg.test(value); }, ); -}) +}); export default Yup; diff --git a/packages/webapp/src/store/accounts/accounts.actions.ts b/packages/webapp/src/store/accounts/accounts.actions.ts index 19324c649..0028127d5 100644 --- a/packages/webapp/src/store/accounts/accounts.actions.ts +++ b/packages/webapp/src/store/accounts/accounts.actions.ts @@ -1,4 +1,8 @@ -import { ACCOUNTS_TABLE_STATE_RESET, ACCOUNTS_TABLE_STATE_SET, ACCOUNTS_SET_SELECTED_ROWS } from '@/store/types';; +import { + ACCOUNTS_TABLE_STATE_RESET, + ACCOUNTS_TABLE_STATE_SET, + ACCOUNTS_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setAccountsTableState = (queries: Partial) => { @@ -25,4 +29,4 @@ export const setAccountsSelectedRows = (selectedRows: Array) => { type: ACCOUNTS_SET_SELECTED_ROWS, payload: selectedRows, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/accounts/accounts.reducer.ts b/packages/webapp/src/store/accounts/accounts.reducer.ts index 12cf21287..7bbf31342 100644 --- a/packages/webapp/src/store/accounts/accounts.reducer.ts +++ b/packages/webapp/src/store/accounts/accounts.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, ACCOUNTS_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, ACCOUNTS_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface AccountsState { @@ -32,7 +32,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('ACCOUNTS', defaultTableQuery), - [ACCOUNTS_SET_SELECTED_ROWS]: (state: AccountsState, action: { payload: Array }) => { + [ACCOUNTS_SET_SELECTED_ROWS]: ( + state: AccountsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, diff --git a/packages/webapp/src/store/accounts/accounts.selectors.ts b/packages/webapp/src/store/accounts/accounts.selectors.ts index 1eaf3105f..ef5736511 100644 --- a/packages/webapp/src/store/accounts/accounts.selectors.ts +++ b/packages/webapp/src/store/accounts/accounts.selectors.ts @@ -6,7 +6,8 @@ import { defaultTableQuery } from './accounts.reducer'; import type { RootState } from '@/store/reducers'; // Accounts table state selector -const accountsTableStateSelector = (state: RootState) => state.accounts.tableState; +const accountsTableStateSelector = (state: RootState) => + state.accounts.tableState; // Get accounts table state marged with location query. export const getAccountsTableStateFactory = () => diff --git a/packages/webapp/src/store/authentication/authentication.actions.ts b/packages/webapp/src/store/authentication/authentication.actions.ts index e76e31366..1c128fc6e 100644 --- a/packages/webapp/src/store/authentication/authentication.actions.ts +++ b/packages/webapp/src/store/authentication/authentication.actions.ts @@ -1,4 +1,13 @@ -import { AUTH_LOGIN_SUCCESS, AUTH_LOGOUT, AUTH_SET_AUTH_TOKEN, AUTH_SET_EMAIL_VERIFIED, AUTH_SET_LOCALE, AUTH_SET_ORGANIZATIOIN_ID, AUTH_SET_USER_ID, RESET } from '@/store/types'; +import { + AUTH_LOGIN_SUCCESS, + AUTH_LOGOUT, + AUTH_SET_AUTH_TOKEN, + AUTH_SET_EMAIL_VERIFIED, + AUTH_SET_LOCALE, + AUTH_SET_ORGANIZATIOIN_ID, + AUTH_SET_USER_ID, + RESET, +} from '@/store/types'; export const setLogin = () => ({ type: AUTH_LOGIN_SUCCESS }); export const setLogout = () => ({ type: AUTH_LOGOUT }); diff --git a/packages/webapp/src/store/authentication/authentication.reducer.ts b/packages/webapp/src/store/authentication/authentication.reducer.ts index 0458f05fa..f703fae4e 100644 --- a/packages/webapp/src/store/authentication/authentication.reducer.ts +++ b/packages/webapp/src/store/authentication/authentication.reducer.ts @@ -4,7 +4,15 @@ import purgeStoredState from 'redux-persist/es/purgeStoredState'; import storage from 'redux-persist/lib/storage'; import { isUndefined } from 'lodash'; import { getCookie } from '@/utils'; -import { AUTH_LOGIN_CLEAR_ERRORS, AUTH_LOGIN_FAILURE, AUTH_SET_AUTH_TOKEN, AUTH_SET_EMAIL_VERIFIED, AUTH_SET_ORGANIZATIOIN_ID, AUTH_SET_USER_ID, RESET } from '@/store/types'; +import { + AUTH_LOGIN_CLEAR_ERRORS, + AUTH_LOGIN_FAILURE, + AUTH_SET_AUTH_TOKEN, + AUTH_SET_EMAIL_VERIFIED, + AUTH_SET_ORGANIZATIOIN_ID, + AUTH_SET_USER_ID, + RESET, +} from '@/store/types'; export interface AuthenticationState { token: string | null; @@ -81,10 +89,14 @@ const reducerInstance = createReducer(initialState, { }, }); -export const authenticationPersistReducer = persistReducer(CONFIG, reducerInstance); +export const authenticationPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); -export const isAuthenticated = (state: { authentication: AuthenticationState }) => - !!state.authentication.token; +export const isAuthenticated = (state: { + authentication: AuthenticationState; +}) => !!state.authentication.token; export const hasErrorType = ( state: { authentication: AuthenticationState }, diff --git a/packages/webapp/src/store/banking/banking.reducer.ts b/packages/webapp/src/store/banking/banking.reducer.ts index 0ff114a56..fd025f7c4 100644 --- a/packages/webapp/src/store/banking/banking.reducer.ts +++ b/packages/webapp/src/store/banking/banking.reducer.ts @@ -203,8 +203,8 @@ export const PlaidSlice = createSlice({ /** * Sets the uncategorized transactions filter. - * @param {StorePlaidState} state - * @param {PayloadAction<{ filter: any }>} action + * @param {StorePlaidState} state + * @param {PayloadAction<{ filter: any }>} action */ setUncategorizedTransactionsFilter: ( state: StorePlaidState, @@ -215,7 +215,7 @@ export const PlaidSlice = createSlice({ /** * Resets the uncategorized transactions filter. - * @param {StorePlaidState} state + * @param {StorePlaidState} state */ resetUncategorizedTranasctionsFilter: (state: StorePlaidState) => { state.uncategorizedFilter = {}; diff --git a/packages/webapp/src/store/bills/bills.actions.ts b/packages/webapp/src/store/bills/bills.actions.ts index 6ca6483ed..be1f58810 100644 --- a/packages/webapp/src/store/bills/bills.actions.ts +++ b/packages/webapp/src/store/bills/bills.actions.ts @@ -1,4 +1,8 @@ -import { BILLS_TABLE_STATE_RESET, BILLS_TABLE_STATE_SET, BILLS_SET_SELECTED_ROWS } from '@/store/types';; +import { + BILLS_TABLE_STATE_RESET, + BILLS_TABLE_STATE_SET, + BILLS_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setBillsTableState = (queries: Partial) => { diff --git a/packages/webapp/src/store/bills/bills.reducer.ts b/packages/webapp/src/store/bills/bills.reducer.ts index f7524f22c..59f077f2c 100644 --- a/packages/webapp/src/store/bills/bills.reducer.ts +++ b/packages/webapp/src/store/bills/bills.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, BILLS_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, BILLS_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface BillsState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('BILLS', defaultTableQuery), - [BILLS_SET_SELECTED_ROWS]: (state: BillsState, action: { payload: Array }) => { + [BILLS_SET_SELECTED_ROWS]: ( + state: BillsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, diff --git a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.actions.ts b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.actions.ts index 1db9d8f9c..ea99a847d 100644 --- a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.actions.ts +++ b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.actions.ts @@ -1,4 +1,7 @@ -import { CASHFLOW_ACCOUNTS_TABLE_STATE_RESET, CASHFLOW_ACCOUNTS_TABLE_STATE_SET } from '@/store/types';; +import { + CASHFLOW_ACCOUNTS_TABLE_STATE_RESET, + CASHFLOW_ACCOUNTS_TABLE_STATE_SET, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; /** @@ -19,4 +22,3 @@ export const resetCashflowAccountsTableState = () => { type: CASHFLOW_ACCOUNTS_TABLE_STATE_RESET, }; }; - \ No newline at end of file diff --git a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.reducer.ts b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.reducer.ts index eb22d23a2..55143d9d3 100644 --- a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.reducer.ts +++ b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { RESET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface CashflowAccountsState { @@ -35,4 +35,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const cashflowAccountsPersistReducer = persistReducer(CONFIG, reducerInstance); +export const cashflowAccountsPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.types.ts b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.types.ts index 35ba4a8a8..20cbd7eef 100644 --- a/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.types.ts +++ b/packages/webapp/src/store/cashflow-accounts/cashflow-accounts.types.ts @@ -1,2 +1,4 @@ -export const CASHFLOW_ACCOUNTS_TABLE_STATE_SET = 'CASHFLOW_ACCOUNTS/TABLE_STATE_SET' as const; -export const CASHFLOW_ACCOUNTS_TABLE_STATE_RESET = 'CASHFLOW_ACCOUNTS/TABLE_STATE_RESET' as const; +export const CASHFLOW_ACCOUNTS_TABLE_STATE_SET = + 'CASHFLOW_ACCOUNTS/TABLE_STATE_SET' as const; +export const CASHFLOW_ACCOUNTS_TABLE_STATE_RESET = + 'CASHFLOW_ACCOUNTS/TABLE_STATE_RESET' as const; diff --git a/packages/webapp/src/store/credit-note/credit-note.actions.ts b/packages/webapp/src/store/credit-note/credit-note.actions.ts index 8e12d452e..45632d724 100644 --- a/packages/webapp/src/store/credit-note/credit-note.actions.ts +++ b/packages/webapp/src/store/credit-note/credit-note.actions.ts @@ -1,4 +1,8 @@ -import { CREDIT_NOTES_TABLE_STATE_RESET, CREDIT_NOTES_TABLE_STATE_SET, CREDIT_NOTES_SET_SELECTED_ROWS } from '@/store/types';; +import { + CREDIT_NOTES_TABLE_STATE_RESET, + CREDIT_NOTES_TABLE_STATE_SET, + CREDIT_NOTES_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setCreditNoteTableState = (queries: Partial) => { diff --git a/packages/webapp/src/store/credit-note/credit-note.reducer.ts b/packages/webapp/src/store/credit-note/credit-note.reducer.ts index f74ca96ee..3f248578c 100644 --- a/packages/webapp/src/store/credit-note/credit-note.reducer.ts +++ b/packages/webapp/src/store/credit-note/credit-note.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, CREDIT_NOTES_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, CREDIT_NOTES_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface CreditNoteState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('CREDIT_NOTES', defaultTableQuery), - [CREDIT_NOTES_SET_SELECTED_ROWS]: (state: CreditNoteState, action: { payload: Array }) => { + [CREDIT_NOTES_SET_SELECTED_ROWS]: ( + state: CreditNoteState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const creditNotesPersistReducer = persistReducer(CONFIG, reducerInstance); +export const creditNotesPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/credit-note/credit-note.selector.ts b/packages/webapp/src/store/credit-note/credit-note.selector.ts index 55c7a1db9..40b35bc52 100644 --- a/packages/webapp/src/store/credit-note/credit-note.selector.ts +++ b/packages/webapp/src/store/credit-note/credit-note.selector.ts @@ -4,7 +4,8 @@ import { createDeepEqualSelector } from '@/utils'; import { defaultTableQuery } from './credit-note.reducer'; import type { RootState } from '@/store/reducers'; -const creditsTableStateSelector = (state: RootState) => state.creditNotes.tableState; +const creditsTableStateSelector = (state: RootState) => + state.creditNotes.tableState; /** * Retrieve credit notes table state. diff --git a/packages/webapp/src/store/credit-note/credit-note.type.ts b/packages/webapp/src/store/credit-note/credit-note.type.ts index a774d4b89..fb950ab07 100644 --- a/packages/webapp/src/store/credit-note/credit-note.type.ts +++ b/packages/webapp/src/store/credit-note/credit-note.type.ts @@ -1,3 +1,6 @@ -export const CREDIT_NOTES_TABLE_STATE_SET = 'CREDIT_NOTES/TABLE_STATE_SET' as const; -export const CREDIT_NOTES_TABLE_STATE_RESET = 'CREDIT_NOTE/TABLE_STATE_RESET' as const; -export const CREDIT_NOTES_SET_SELECTED_ROWS = 'CREDIT_NOTES/SET_SELECTED_ROWS' as const; +export const CREDIT_NOTES_TABLE_STATE_SET = + 'CREDIT_NOTES/TABLE_STATE_SET' as const; +export const CREDIT_NOTES_TABLE_STATE_RESET = + 'CREDIT_NOTE/TABLE_STATE_RESET' as const; +export const CREDIT_NOTES_SET_SELECTED_ROWS = + 'CREDIT_NOTES/SET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/currencies/currencies.actions.ts b/packages/webapp/src/store/currencies/currencies.actions.ts index f6516c03f..5ebb200eb 100644 --- a/packages/webapp/src/store/currencies/currencies.actions.ts +++ b/packages/webapp/src/store/currencies/currencies.actions.ts @@ -1,11 +1,20 @@ import ApiService from '@/services/ApiService'; -import { CLEAR_CURRENCY_FORM_ERRORS, CURRENCIES_REGISTERED_SET, CURRENCIES_TABLE_LOADING, CURRENCY_CODE_DELETE } from '@/store/types';; +import { + CLEAR_CURRENCY_FORM_ERRORS, + CURRENCIES_REGISTERED_SET, + CURRENCIES_TABLE_LOADING, + CURRENCY_CODE_DELETE, +} from '@/store/types'; export const submitCurrencies = ({ form }: { form: unknown }) => { return (_dispatch: any) => ApiService.post('currencies', form); }; -export const deleteCurrency = ({ currency_code }: { currency_code: string }) => { +export const deleteCurrency = ({ + currency_code, +}: { + currency_code: string; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.delete(`currencies/${currency_code}`) @@ -19,7 +28,13 @@ export const deleteCurrency = ({ currency_code }: { currency_code: string }) => }); }; -export const editCurrency = ({ id, form }: { id: string | number; form: unknown }) => { +export const editCurrency = ({ + id, + form, +}: { + id: string | number; + form: unknown; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.post(`currencies/${id}`, form) @@ -46,7 +61,10 @@ export const fetchCurrencies = () => { dispatch({ type: CURRENCIES_TABLE_LOADING, loading: true }); ApiService.get('currencies') .then((response) => { - dispatch({ type: CURRENCIES_REGISTERED_SET, currencies: response.data.currencies }); + dispatch({ + type: CURRENCIES_REGISTERED_SET, + currencies: response.data.currencies, + }); dispatch({ type: CURRENCIES_TABLE_LOADING, loading: false }); resolve(response); }) diff --git a/packages/webapp/src/store/currencies/currencies.reducer.ts b/packages/webapp/src/store/currencies/currencies.reducer.ts index 980de1ec7..59860f1ac 100644 --- a/packages/webapp/src/store/currencies/currencies.reducer.ts +++ b/packages/webapp/src/store/currencies/currencies.reducer.ts @@ -1,5 +1,9 @@ import { createReducer } from '@reduxjs/toolkit'; -import { CURRENCIES_REGISTERED_SET, CURRENCIES_TABLE_LOADING, CURRENCY_CODE_DELETE } from '@/store/types';; +import { + CURRENCIES_REGISTERED_SET, + CURRENCIES_TABLE_LOADING, + CURRENCY_CODE_DELETE, +} from '@/store/types'; import type { CurrenciesState, CurrencyAction } from './currencies.types'; const initialState: CurrenciesState = { @@ -12,7 +16,8 @@ export const currenciesReducer = createReducer(initialState, { const _currencies: Record = {}; (action.currencies ?? []).forEach((currency) => { - const code = (currency as Record).currency_code as string; + const code = (currency as Record) + .currency_code as string; _currencies[code] = currency; }); state.data = { @@ -24,7 +29,10 @@ export const currenciesReducer = createReducer(initialState, { state.loading = action.loading ?? false; }, [CURRENCY_CODE_DELETE]: (state, action: CurrencyAction) => { - if (action.currency_code !== undefined && typeof state.data[action.currency_code] !== 'undefined') { + if ( + action.currency_code !== undefined && + typeof state.data[action.currency_code] !== 'undefined' + ) { delete state.data[action.currency_code]; } }, diff --git a/packages/webapp/src/store/currencies/currencies.selector.ts b/packages/webapp/src/store/currencies/currencies.selector.ts index 093bb6860..42734f0ca 100644 --- a/packages/webapp/src/store/currencies/currencies.selector.ts +++ b/packages/webapp/src/store/currencies/currencies.selector.ts @@ -3,7 +3,10 @@ import { getItemById } from '@/store/selectors'; import type { RootState } from '@/store/reducers'; const currenciesItemsSelector = (state: RootState) => state.currencies.data; -const currenciesCodePropSelector = (state: RootState, props: { currencyId: string }) => props.currencyId; +const currenciesCodePropSelector = ( + state: RootState, + props: { currencyId: string }, +) => props.currencyId; export const getCurrenciesList = createSelector( currenciesItemsSelector, @@ -19,4 +22,3 @@ export const getCurrencyByCode = createSelector( return getItemById(currencies, currencyCode); }, ); - diff --git a/packages/webapp/src/store/custom-fields/custom-fields.actions.ts b/packages/webapp/src/store/custom-fields/custom-fields.actions.ts index d99e4cec3..257c7b722 100644 --- a/packages/webapp/src/store/custom-fields/custom-fields.actions.ts +++ b/packages/webapp/src/store/custom-fields/custom-fields.actions.ts @@ -1,12 +1,20 @@ import ApiService from '@/services/ApiService'; -import { CUSTOM_FIELDS_RESOURCE_SET } from '@/store/types';; +import { CUSTOM_FIELDS_RESOURCE_SET } from '@/store/types'; -export const fetchResourceFields = ({ resourceSlug }: { resourceSlug: string }) => { +export const fetchResourceFields = ({ + resourceSlug, +}: { + resourceSlug: string; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.get(`fields/resource/${resourceSlug}`) .then((response) => { - dispatch({ type: CUSTOM_FIELDS_RESOURCE_SET, resourceSlug, fields: response.data.fields }); + dispatch({ + type: CUSTOM_FIELDS_RESOURCE_SET, + resourceSlug, + fields: response.data.fields, + }); resolve(response); }) .catch((error) => reject(error)); diff --git a/packages/webapp/src/store/custom-fields/custom-fields.reducer.ts b/packages/webapp/src/store/custom-fields/custom-fields.reducer.ts index e4f56e4f0..bc2ec2041 100644 --- a/packages/webapp/src/store/custom-fields/custom-fields.reducer.ts +++ b/packages/webapp/src/store/custom-fields/custom-fields.reducer.ts @@ -1,16 +1,21 @@ import { createReducer } from '@reduxjs/toolkit'; -import { CUSTOM_FIELDS_RESOURCE_SET } from '@/store/types';; -import type { CustomFieldsState, CustomFieldsAction } from './custom-fields.types'; +import { CUSTOM_FIELDS_RESOURCE_SET } from '@/store/types'; +import type { + CustomFieldsState, + CustomFieldsAction, +} from './custom-fields.types'; const initialState: CustomFieldsState = { custom_fields: { - accounts: [{ - label_name: 'Label', - predefined: true, - data_type: 'text', - help_text: '123sdasd', - active: true, - }] + accounts: [ + { + label_name: 'Label', + predefined: true, + data_type: 'text', + help_text: '123sdasd', + active: true, + }, + ], }, }; @@ -27,4 +32,4 @@ export const getCustomFieldsByResource = ( resourceSlug: string, ) => { return state.fields.custom_fields[resourceSlug]; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/custom-views/custom-views.actions.ts b/packages/webapp/src/store/custom-views/custom-views.actions.ts index f5906fed8..fc75309d4 100644 --- a/packages/webapp/src/store/custom-views/custom-views.actions.ts +++ b/packages/webapp/src/store/custom-views/custom-views.actions.ts @@ -1,11 +1,23 @@ import ApiService from '@/services/ApiService'; -import { RESOURCE_COLUMNS_SET, RESOURCE_FIELDS_SET, RESOURCE_VIEWS_SET, VIEW_ITEMS_SET, VIEW_META_SET } from '@/store/types';; +import { + RESOURCE_COLUMNS_SET, + RESOURCE_FIELDS_SET, + RESOURCE_VIEWS_SET, + VIEW_ITEMS_SET, + VIEW_META_SET, +} from '@/store/types'; export const submitView = ({ form }: { form: unknown }) => { return (_dispatch: any) => ApiService.post('views', form); }; -export const editView = ({ id, form }: { id: string | number; form: unknown }) => { +export const editView = ({ + id, + form, +}: { + id: string | number; + form: unknown; +}) => { return (_dispatch: any) => ApiService.post(`views/${id}`, form); }; @@ -25,12 +37,20 @@ export const fetchView = ({ id }: { id: string | number }) => { }); }; -export const fetchResourceViews = ({ resourceSlug }: { resourceSlug: string }) => { +export const fetchResourceViews = ({ + resourceSlug, +}: { + resourceSlug: string; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.get(`views/resource/${resourceSlug}`) .then((response) => { - dispatch({ type: RESOURCE_VIEWS_SET, resource: resourceSlug, views: response.data.views }); + dispatch({ + type: RESOURCE_VIEWS_SET, + resource: resourceSlug, + views: response.data.views, + }); dispatch({ type: VIEW_ITEMS_SET, views: response.data.views }); resolve(response); }) @@ -43,8 +63,16 @@ export const fetchViewResource = ({ id }: { id: string | number }) => { new Promise((resolve, reject) => { ApiService.get(`views/${id}/resource`) .then((response) => { - dispatch({ type: RESOURCE_COLUMNS_SET, columns: response.data.resource_columns, resource_slug: response.data.resource_slug }); - dispatch({ type: RESOURCE_FIELDS_SET, fields: response.data.resource_fields, resource_slug: response.data.resource_slug }); + dispatch({ + type: RESOURCE_COLUMNS_SET, + columns: response.data.resource_columns, + resource_slug: response.data.resource_slug, + }); + dispatch({ + type: RESOURCE_FIELDS_SET, + fields: response.data.resource_fields, + resource_slug: response.data.resource_slug, + }); resolve(response); }) .catch((error) => reject(error)); diff --git a/packages/webapp/src/store/custom-views/custom-views.reducer.ts b/packages/webapp/src/store/custom-views/custom-views.reducer.ts index aff92b995..1f676d891 100644 --- a/packages/webapp/src/store/custom-views/custom-views.reducer.ts +++ b/packages/webapp/src/store/custom-views/custom-views.reducer.ts @@ -1,12 +1,16 @@ -import { createReducer } from "@reduxjs/toolkit"; -import { RESOURCE_VIEWS_SET, VIEW_ITEMS_SET, VIEW_META_SET } from '@/store/types';; +import { createReducer } from '@reduxjs/toolkit'; +import { + RESOURCE_VIEWS_SET, + VIEW_ITEMS_SET, + VIEW_META_SET, +} from '@/store/types'; import type { CustomViewsState, CustomViewsAction } from './custom-views.types'; const initialState: CustomViewsState = { views: {}, resourceViews: { - 'accounts': [], - 'expenses': [], + accounts: [], + expenses: [], }, viewsMeta: {}, }; @@ -32,4 +36,4 @@ export const customViewsReducer = createReducer(initialState, { }); state.views = { ...state.views, ..._views }; }, -}) \ No newline at end of file +}); diff --git a/packages/webapp/src/store/custom-views/custom-views.selectors.ts b/packages/webapp/src/store/custom-views/custom-views.selectors.ts index 0913fae93..7d3420962 100644 --- a/packages/webapp/src/store/custom-views/custom-views.selectors.ts +++ b/packages/webapp/src/store/custom-views/custom-views.selectors.ts @@ -6,7 +6,8 @@ const resourceViewsIdsSelector = ( state: RootState, _props: unknown, resourceName: string, -) => state.views.resourceViews[resourceName] as Array | undefined; +) => + state.views.resourceViews[resourceName] as Array | undefined; const viewsSelector = (state: RootState) => state.views.views as Record; diff --git a/packages/webapp/src/store/customers/customers.actions.ts b/packages/webapp/src/store/customers/customers.actions.ts index 31ed64f3b..c5655ee1f 100644 --- a/packages/webapp/src/store/customers/customers.actions.ts +++ b/packages/webapp/src/store/customers/customers.actions.ts @@ -1,4 +1,9 @@ -import { CUSTOMERS_TABLE_STATE_RESET, CUSTOMERS_TABLE_STATE_SET, CUSTOMERS_SET_SELECTED_ROWS, CUSTOMERS_RESET_SELECTED_ROWS } from '@/store/types';; +import { + CUSTOMERS_TABLE_STATE_RESET, + CUSTOMERS_TABLE_STATE_SET, + CUSTOMERS_SET_SELECTED_ROWS, + CUSTOMERS_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; /** @@ -28,4 +33,4 @@ export const resetCustomersSelectedRows = () => { return { type: CUSTOMERS_RESET_SELECTED_ROWS, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/customers/customers.reducer.ts b/packages/webapp/src/store/customers/customers.reducer.ts index 97ca4bf6e..beb71fa22 100644 --- a/packages/webapp/src/store/customers/customers.reducer.ts +++ b/packages/webapp/src/store/customers/customers.reducer.ts @@ -2,7 +2,11 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, CUSTOMERS_SET_SELECTED_ROWS, CUSTOMERS_RESET_SELECTED_ROWS } from '@/store/types';; +import { + RESET, + CUSTOMERS_SET_SELECTED_ROWS, + CUSTOMERS_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface CustomersState { @@ -27,7 +31,10 @@ const initialState: CustomersState = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('CUSTOMERS', defaultTableQueryState), - [CUSTOMERS_SET_SELECTED_ROWS]: (state: CustomersState, action: { payload: Array }) => { + [CUSTOMERS_SET_SELECTED_ROWS]: ( + state: CustomersState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, diff --git a/packages/webapp/src/store/customers/customers.selectors.ts b/packages/webapp/src/store/customers/customers.selectors.ts index a39ff8a6a..12ae9f510 100644 --- a/packages/webapp/src/store/customers/customers.selectors.ts +++ b/packages/webapp/src/store/customers/customers.selectors.ts @@ -5,7 +5,8 @@ import { createDeepEqualSelector } from '@/utils'; import { defaultTableQueryState } from './customers.reducer'; import type { RootState } from '@/store/reducers'; -const customerTableStateSelector = (state: RootState) => state.customers.tableState; +const customerTableStateSelector = (state: RootState) => + state.customers.tableState; export const getCustomersTableStateFactory = () => createDeepEqualSelector( @@ -23,4 +24,3 @@ export const customersTableStateChangedFactory = () => createDeepEqualSelector(customerTableStateSelector, (tableState) => { return !isEqual(tableState, defaultTableQueryState); }); - \ No newline at end of file diff --git a/packages/webapp/src/store/customers/customers.type.ts b/packages/webapp/src/store/customers/customers.type.ts index 1f2056a5e..844a2f4c3 100644 --- a/packages/webapp/src/store/customers/customers.type.ts +++ b/packages/webapp/src/store/customers/customers.type.ts @@ -1,4 +1,7 @@ export const CUSTOMERS_TABLE_STATE_SET = 'CUSTOMERS/TABLE_STATE_SET' as const; -export const CUSTOMERS_TABLE_STATE_RESET = 'CUSTOMERS/TABLE_STATE_RESET' as const; -export const CUSTOMERS_SET_SELECTED_ROWS = 'CUSTOMERS/SET_SELECTED_ROWS' as const; -export const CUSTOMERS_RESET_SELECTED_ROWS = 'CUSTOMERS/RESET_SELECTED_ROWS' as const; +export const CUSTOMERS_TABLE_STATE_RESET = + 'CUSTOMERS/TABLE_STATE_RESET' as const; +export const CUSTOMERS_SET_SELECTED_ROWS = + 'CUSTOMERS/SET_SELECTED_ROWS' as const; +export const CUSTOMERS_RESET_SELECTED_ROWS = + 'CUSTOMERS/RESET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/dashboard/dashboard.actions.ts b/packages/webapp/src/store/dashboard/dashboard.actions.ts index e8c2dd130..773a8331b 100644 --- a/packages/webapp/src/store/dashboard/dashboard.actions.ts +++ b/packages/webapp/src/store/dashboard/dashboard.actions.ts @@ -1,4 +1,24 @@ -import { ADD_AUTOFILL_REF, APP_INTL_IS_LOADING, APP_IS_LOADING, CHANGE_DASHBOARD_PAGE_HINT, CHANGE_DASHBOARD_PAGE_TITLE, CLOSE_ALERT, CLOSE_DIALOG, CLOSE_DRAWER, OPEN_ALERT, OPEN_DIALOG, OPEN_DRAWER, REMOVE_AUTOFILL_REF, RESET_AUTOFILL_REF, SET_FEATURE_DASHBOARD_META, SIDEBAR_EXPEND_TOGGLE, SIDEBAR_SUBMENU_CLOSE, SIDEBAR_SUBMENU_OPEN, SPLASH_START_LOADING, SPLASH_STOP_LOADING } from '@/store/types';; +import { + ADD_AUTOFILL_REF, + APP_INTL_IS_LOADING, + APP_IS_LOADING, + CHANGE_DASHBOARD_PAGE_HINT, + CHANGE_DASHBOARD_PAGE_TITLE, + CLOSE_ALERT, + CLOSE_DIALOG, + CLOSE_DRAWER, + OPEN_ALERT, + OPEN_DIALOG, + OPEN_DRAWER, + REMOVE_AUTOFILL_REF, + RESET_AUTOFILL_REF, + SET_FEATURE_DASHBOARD_META, + SIDEBAR_EXPEND_TOGGLE, + SIDEBAR_SUBMENU_CLOSE, + SIDEBAR_SUBMENU_OPEN, + SPLASH_START_LOADING, + SPLASH_STOP_LOADING, +} from '@/store/types'; export function dashboardPageTitle(pageTitle: string) { return { type: CHANGE_DASHBOARD_PAGE_TITLE, pageTitle }; diff --git a/packages/webapp/src/store/dashboard/dashboard.reducer.ts b/packages/webapp/src/store/dashboard/dashboard.reducer.ts index 0bbee6053..7cdfa3505 100644 --- a/packages/webapp/src/store/dashboard/dashboard.reducer.ts +++ b/packages/webapp/src/store/dashboard/dashboard.reducer.ts @@ -1,6 +1,30 @@ import { createReducer } from '@reduxjs/toolkit'; import { isUndefined, isNumber, omit } from 'lodash'; -import { ADD_AUTOFILL_REF, ALTER_DASHBOARD_PAGE_SUBTITLE, CHANGE_DASHBOARD_PAGE_HINT, CHANGE_DASHBOARD_PAGE_TITLE, CHANGE_PREFERENCES_PAGE_TITLE, CLOSE_ALERT, CLOSE_ALL_DIALOGS, CLOSE_DIALOG, CLOSE_DRAWER, OPEN_ALERT, OPEN_DIALOG, OPEN_DRAWER, REMOVE_AUTOFILL_REF, RESET, RESET_AUTOFILL_REF, SET_DASHBOARD_BACK_LINK, SET_FEATURE_DASHBOARD_META, SET_TOPBAR_EDIT_VIEW, SIDEBAR_EXPEND_TOGGLE, SIDEBAR_SUBMENU_CLOSE, SIDEBAR_SUBMENU_OPEN, SPLASH_START_LOADING, SPLASH_STOP_LOADING } from '@/store/types';; +import { + ADD_AUTOFILL_REF, + ALTER_DASHBOARD_PAGE_SUBTITLE, + CHANGE_DASHBOARD_PAGE_HINT, + CHANGE_DASHBOARD_PAGE_TITLE, + CHANGE_PREFERENCES_PAGE_TITLE, + CLOSE_ALERT, + CLOSE_ALL_DIALOGS, + CLOSE_DIALOG, + CLOSE_DRAWER, + OPEN_ALERT, + OPEN_DIALOG, + OPEN_DRAWER, + REMOVE_AUTOFILL_REF, + RESET, + RESET_AUTOFILL_REF, + SET_DASHBOARD_BACK_LINK, + SET_FEATURE_DASHBOARD_META, + SET_TOPBAR_EDIT_VIEW, + SIDEBAR_EXPEND_TOGGLE, + SIDEBAR_SUBMENU_CLOSE, + SIDEBAR_SUBMENU_OPEN, + SPLASH_START_LOADING, + SPLASH_STOP_LOADING, +} from '@/store/types'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; @@ -52,19 +76,35 @@ const initialState: DashboardState = { const STORAGE_KEY = 'bigcapital:dashboard'; const CONFIG = { key: STORAGE_KEY, whitelist: [], storage }; -type DashboardAction = { type: string; payload?: Record; [key: string]: unknown }; +type DashboardAction = { + type: string; + payload?: Record; + [key: string]: unknown; +}; const reducerInstance = createReducer(initialState, { - [CHANGE_DASHBOARD_PAGE_TITLE]: (state: DashboardState, action: DashboardAction) => { + [CHANGE_DASHBOARD_PAGE_TITLE]: ( + state: DashboardState, + action: DashboardAction, + ) => { state.pageTitle = action.pageTitle as string; }, - [ALTER_DASHBOARD_PAGE_SUBTITLE]: (state: DashboardState, action: DashboardAction) => { + [ALTER_DASHBOARD_PAGE_SUBTITLE]: ( + state: DashboardState, + action: DashboardAction, + ) => { state.pageSubtitle = action.pageSubtitle as string; }, - [CHANGE_DASHBOARD_PAGE_HINT]: (state: DashboardState, action: DashboardAction) => { + [CHANGE_DASHBOARD_PAGE_HINT]: ( + state: DashboardState, + action: DashboardAction, + ) => { state.pageHint = (action.payload as { pageHint: string }).pageHint; }, - [CHANGE_PREFERENCES_PAGE_TITLE]: (state: DashboardState, action: DashboardAction) => { + [CHANGE_PREFERENCES_PAGE_TITLE]: ( + state: DashboardState, + action: DashboardAction, + ) => { state.preferencesPageTitle = action.pageTitle as string; }, [OPEN_DIALOG]: (state: DashboardState, action: DashboardAction) => { @@ -109,9 +149,14 @@ const reducerInstance = createReducer(initialState, { }, [SIDEBAR_EXPEND_TOGGLE]: (state: DashboardState, action: DashboardAction) => { const { toggle } = (action.payload || {}) as { toggle?: boolean }; - state.sidebarExpended = isUndefined(toggle) ? !state.sidebarExpended : !!toggle; + state.sidebarExpended = isUndefined(toggle) + ? !state.sidebarExpended + : !!toggle; }, - [SET_DASHBOARD_BACK_LINK]: (state: DashboardState, action: DashboardAction) => { + [SET_DASHBOARD_BACK_LINK]: ( + state: DashboardState, + action: DashboardAction, + ) => { const { backLink } = (action.payload || {}) as { backLink: boolean }; state.backLink = backLink; }, @@ -122,8 +167,13 @@ const reducerInstance = createReducer(initialState, { state.splashScreenLoading = 1; } }, - [SET_FEATURE_DASHBOARD_META]: (state: DashboardState, action: DashboardAction) => { - const { features } = (action.payload || {}) as { features: Array<{ name: string; is_accessible: boolean }> }; + [SET_FEATURE_DASHBOARD_META]: ( + state: DashboardState, + action: DashboardAction, + ) => { + const { features } = (action.payload || {}) as { + features: Array<{ name: string; is_accessible: boolean }>; + }; const _data: Record = {}; features.forEach((feature) => { _data[feature.name] = feature.is_accessible; @@ -131,11 +181,16 @@ const reducerInstance = createReducer(initialState, { state.features = _data; }, [SPLASH_STOP_LOADING]: (state: DashboardState) => { - state.splashScreenLoading = Math.max((state.splashScreenLoading ?? 0) - 1, 0); + state.splashScreenLoading = Math.max( + (state.splashScreenLoading ?? 0) - 1, + 0, + ); }, [SIDEBAR_SUBMENU_OPEN]: (state: DashboardState, action: DashboardAction) => { state.sidebarSubmenu.isOpen = true; - state.sidebarSubmenu.submenuId = (action.payload as { submenuId: unknown })?.submenuId; + state.sidebarSubmenu.submenuId = ( + action.payload as { submenuId: unknown } + )?.submenuId; }, [SIDEBAR_SUBMENU_CLOSE]: (state: DashboardState) => { state.sidebarSubmenu.isOpen = false; @@ -145,7 +200,10 @@ const reducerInstance = createReducer(initialState, { purgeStoredState(CONFIG); }, [ADD_AUTOFILL_REF]: (state: DashboardState, action: DashboardAction) => { - const { ref, payload } = (action.payload || {}) as { ref: string; payload: unknown }; + const { ref, payload } = (action.payload || {}) as { + ref: string; + payload: unknown; + }; state.autofill[ref] = payload || null; }, [REMOVE_AUTOFILL_REF]: (state: DashboardState, action: DashboardAction) => { diff --git a/packages/webapp/src/store/dashboard/dashboard.selectors.ts b/packages/webapp/src/store/dashboard/dashboard.selectors.ts index 649557f42..e69aeeeb9 100644 --- a/packages/webapp/src/store/dashboard/dashboard.selectors.ts +++ b/packages/webapp/src/store/dashboard/dashboard.selectors.ts @@ -12,10 +12,8 @@ export const isDialogOpenFactory = () => export const getDialogPayloadFactory = () => createSelector(dialogByNameSelector, (dialog) => ({ ...dialog?.payload })); -const alertByNameSelector = ( - state: RootState, - props: { name: string }, -) => state.dashboard.alerts?.[props.name]; +const alertByNameSelector = (state: RootState, props: { name: string }) => + state.dashboard.alerts?.[props.name]; export const isAlertOpenFactory = () => createSelector(alertByNameSelector, (alert) => alert && alert.isOpen); @@ -23,10 +21,8 @@ export const isAlertOpenFactory = () => export const getAlertPayloadFactory = () => createSelector(alertByNameSelector, (alert) => ({ ...alert?.payload })); -const drawerByNameSelector = ( - state: RootState, - props: { name: string }, -) => state.dashboard.drawers?.[props.name]; +const drawerByNameSelector = (state: RootState, props: { name: string }) => + state.dashboard.drawers?.[props.name]; export const isDrawerOpenFactory = () => createSelector(drawerByNameSelector, (drawer) => drawer && drawer.isOpen); diff --git a/packages/webapp/src/store/dashboard/dashboard.types.ts b/packages/webapp/src/store/dashboard/dashboard.types.ts index f7fd393b8..d20575a49 100644 --- a/packages/webapp/src/store/dashboard/dashboard.types.ts +++ b/packages/webapp/src/store/dashboard/dashboard.types.ts @@ -6,12 +6,17 @@ export const CLOSE_ALL_DIALOGS = 'CLOSE_ALL_DIALOGS' as const; export const CLOSE_ALL_ALERTS = 'CLOSE_ALL_ALERTS' as const; export const OPEN_DRAWER = 'OPEN_DRAWER' as const; export const CLOSE_DRAWER = 'CLOSE_DRAWER' as const; -export const CHANGE_DASHBOARD_PAGE_TITLE = 'CHANGE_DASHBOARD_PAGE_TITLE' as const; +export const CHANGE_DASHBOARD_PAGE_TITLE = + 'CHANGE_DASHBOARD_PAGE_TITLE' as const; export const CHANGE_DASHBOARD_PAGE_HINT = 'CHANGE_DASHBOARD_PAGE_HINT' as const; -export const CHANGE_PREFERENCES_PAGE_TITLE = 'CHANGE_PREFERENCES_PAGE_TITLE' as const; -export const ALTER_DASHBOARD_PAGE_SUBTITLE = 'ALTER_DASHBOARD_PAGE_SUBTITLE' as const; -export const SET_DASHBOARD_REQUEST_LOADING = 'SET_DASHBOARD_REQUEST_LOADING' as const; -export const SET_DASHBOARD_REQUEST_COMPLETED = 'SET_DASHBOARD_REQUEST_COMPLETED' as const; +export const CHANGE_PREFERENCES_PAGE_TITLE = + 'CHANGE_PREFERENCES_PAGE_TITLE' as const; +export const ALTER_DASHBOARD_PAGE_SUBTITLE = + 'ALTER_DASHBOARD_PAGE_SUBTITLE' as const; +export const SET_DASHBOARD_REQUEST_LOADING = + 'SET_DASHBOARD_REQUEST_LOADING' as const; +export const SET_DASHBOARD_REQUEST_COMPLETED = + 'SET_DASHBOARD_REQUEST_COMPLETED' as const; export const SET_TOPBAR_EDIT_VIEW = 'SET_TOPBAR_EDIT_VIEW' as const; export const SIDEBAR_EXPEND_TOGGLE = 'SIDEBAR_EXPEND_TOGGLE' as const; export const SIDEBAR_SUBMENU_OPEN = 'SIDEBAR_SUBMENU_OPEN' as const; diff --git a/packages/webapp/src/store/enhancers/monitor-reducer.ts b/packages/webapp/src/store/enhancers/monitor-reducer.ts index 2afdef048..8bb1f5a35 100644 --- a/packages/webapp/src/store/enhancers/monitor-reducer.ts +++ b/packages/webapp/src/store/enhancers/monitor-reducer.ts @@ -1,18 +1,15 @@ // @ts-nocheck -const round = number => Math.round(number * 100) / 100 -const monitorReducerEnhancer = createStore => ( - reducer, - initialState, - enhancer -) => { - const monitoredReducer = (state, action) => { - const start = performance.now() - const newState = reducer(state, action) - const end = performance.now() - const diff = round(end - start) - console.log('reducer process time:', diff) - return newState - } - return createStore(monitoredReducer, initialState, enhancer) -} -export default monitorReducerEnhancer \ No newline at end of file +const round = (number) => Math.round(number * 100) / 100; +const monitorReducerEnhancer = + (createStore) => (reducer, initialState, enhancer) => { + const monitoredReducer = (state, action) => { + const start = performance.now(); + const newState = reducer(state, action); + const end = performance.now(); + const diff = round(end - start); + console.log('reducer process time:', diff); + return newState; + }; + return createStore(monitoredReducer, initialState, enhancer); + }; +export default monitorReducerEnhancer; diff --git a/packages/webapp/src/store/estimate/estimates.actions.ts b/packages/webapp/src/store/estimate/estimates.actions.ts index e8326d627..589dd684e 100644 --- a/packages/webapp/src/store/estimate/estimates.actions.ts +++ b/packages/webapp/src/store/estimate/estimates.actions.ts @@ -1,4 +1,8 @@ -import { ESTIMATES_TABLE_STATE_RESET, ESTIMATES_TABLE_STATE_SET, ESTIMATES_SET_SELECTED_ROWS } from '@/store/types';; +import { + ESTIMATES_TABLE_STATE_RESET, + ESTIMATES_TABLE_STATE_SET, + ESTIMATES_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setEstimatesTableState = (queries: Partial) => { @@ -12,7 +16,7 @@ export const resetEstimatesTableState = () => { return { type: ESTIMATES_TABLE_STATE_RESET, }; -} +}; export const setEstimatesSelectedRows = (selectedRows: Array) => { return { diff --git a/packages/webapp/src/store/estimate/estimates.reducer.ts b/packages/webapp/src/store/estimate/estimates.reducer.ts index deddd14d5..0eeeec387 100644 --- a/packages/webapp/src/store/estimate/estimates.reducer.ts +++ b/packages/webapp/src/store/estimate/estimates.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, ESTIMATES_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, ESTIMATES_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface EstimatesState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('ESTIMATES', defaultTableQuery), - [ESTIMATES_SET_SELECTED_ROWS]: (state: EstimatesState, action: { payload: Array }) => { + [ESTIMATES_SET_SELECTED_ROWS]: ( + state: EstimatesState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const salesEstimatesPersistReducer = persistReducer(CONFIG, reducerInstance); +export const salesEstimatesPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/estimate/estimates.selectors.ts b/packages/webapp/src/store/estimate/estimates.selectors.ts index 1b2fec492..44972ec8a 100644 --- a/packages/webapp/src/store/estimate/estimates.selectors.ts +++ b/packages/webapp/src/store/estimate/estimates.selectors.ts @@ -5,7 +5,8 @@ import { defaultTableQuery } from './estimates.reducer'; import { createSelector } from 'reselect'; import type { RootState } from '@/store/reducers'; -const estimatesTableState = (state: RootState) => state.salesEstimates.tableState; +const estimatesTableState = (state: RootState) => + state.salesEstimates.tableState; // Retrieve estimates table query. export const getEstimatesTableStateFactory = () => @@ -25,7 +26,8 @@ export const isEstimatesTableStateChangedFactory = () => return !isEqual(tableState, defaultTableQuery); }); -export const getEstimatesSelectedRowsFactory = () => createSelector( - (state: RootState) => state.salesEstimates.selectedRows, - (selectedRows) => selectedRows, -); \ No newline at end of file +export const getEstimatesSelectedRowsFactory = () => + createSelector( + (state: RootState) => state.salesEstimates.selectedRows, + (selectedRows) => selectedRows, + ); diff --git a/packages/webapp/src/store/estimate/estimates.types.ts b/packages/webapp/src/store/estimate/estimates.types.ts index fa15156df..0078fb4d8 100644 --- a/packages/webapp/src/store/estimate/estimates.types.ts +++ b/packages/webapp/src/store/estimate/estimates.types.ts @@ -1,3 +1,5 @@ export const ESTIMATES_TABLE_STATE_SET = 'ESTIMATES/TABLE_STATE_SET' as const; -export const ESTIMATES_TABLE_STATE_RESET = 'ESTIMATES/TABLE_STATE_RESET' as const; -export const ESTIMATES_SET_SELECTED_ROWS = 'ESTIMATES/SET_SELECTED_ROWS' as const; +export const ESTIMATES_TABLE_STATE_RESET = + 'ESTIMATES/TABLE_STATE_RESET' as const; +export const ESTIMATES_SET_SELECTED_ROWS = + 'ESTIMATES/SET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/exchange-rate/exchange.actions.ts b/packages/webapp/src/store/exchange-rate/exchange.actions.ts index 2254dce0c..9244256de 100644 --- a/packages/webapp/src/store/exchange-rate/exchange.actions.ts +++ b/packages/webapp/src/store/exchange-rate/exchange.actions.ts @@ -1,6 +1,9 @@ -import { EXCHANGE_RATES_TABLE_STATE_SET } from '@/store/types';; +import { EXCHANGE_RATES_TABLE_STATE_SET } from '@/store/types'; -export const setExchangeRateTableState = (queries: { pageSize?: number; pageIndex?: number }) => { +export const setExchangeRateTableState = (queries: { + pageSize?: number; + pageIndex?: number; +}) => { return { type: EXCHANGE_RATES_TABLE_STATE_SET, payload: { queries }, diff --git a/packages/webapp/src/store/exchange-rate/exchange.type.ts b/packages/webapp/src/store/exchange-rate/exchange.type.ts index c2d13502e..8a1ab2bdc 100644 --- a/packages/webapp/src/store/exchange-rate/exchange.type.ts +++ b/packages/webapp/src/store/exchange-rate/exchange.type.ts @@ -1 +1,2 @@ -export const EXCHANGE_RATES_TABLE_STATE_SET = 'EXCHANGE_RATES/TABLE_STATE_SET' as const; +export const EXCHANGE_RATES_TABLE_STATE_SET = + 'EXCHANGE_RATES/TABLE_STATE_SET' as const; diff --git a/packages/webapp/src/store/expenses/expenses.actions.ts b/packages/webapp/src/store/expenses/expenses.actions.ts index f79c65df6..c3bcf26cd 100644 --- a/packages/webapp/src/store/expenses/expenses.actions.ts +++ b/packages/webapp/src/store/expenses/expenses.actions.ts @@ -1,4 +1,8 @@ -import { EXPENSES_TABLE_STATE_RESET, EXPENSES_TABLE_STATE_SET, EXPENSES_SET_SELECTED_ROWS } from '@/store/types';; +import { + EXPENSES_TABLE_STATE_RESET, + EXPENSES_TABLE_STATE_SET, + EXPENSES_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; /** diff --git a/packages/webapp/src/store/expenses/expenses.reducer.ts b/packages/webapp/src/store/expenses/expenses.reducer.ts index d4fc4adce..dbd8f2549 100644 --- a/packages/webapp/src/store/expenses/expenses.reducer.ts +++ b/packages/webapp/src/store/expenses/expenses.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, EXPENSES_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, EXPENSES_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface ExpensesState { @@ -35,7 +35,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('EXPENSES', defaultTableQuery), - [EXPENSES_SET_SELECTED_ROWS]: (state: ExpensesState, action: { payload: Array }) => { + [EXPENSES_SET_SELECTED_ROWS]: ( + state: ExpensesState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, diff --git a/packages/webapp/src/store/expenses/expenses.selectors.ts b/packages/webapp/src/store/expenses/expenses.selectors.ts index a20528262..3b1524dcd 100644 --- a/packages/webapp/src/store/expenses/expenses.selectors.ts +++ b/packages/webapp/src/store/expenses/expenses.selectors.ts @@ -6,7 +6,8 @@ import { createSelector } from 'reselect'; import type { RootState } from '@/store/reducers'; // Items table state selectors. -const expensesTableStateSelector = (state: RootState) => state.expenses.tableState; +const expensesTableStateSelector = (state: RootState) => + state.expenses.tableState; // Retrive expenses table query. export const getExpensesTableStateFactory = () => @@ -36,6 +37,7 @@ export const getExpensesSelectedRowsFactory = () => // Kept to support legacy HOC consumers without changing their call sites. export const getExpenseByIdFactory = () => createSelector( - (_state: RootState, props: { expenseId?: number | string }) => props?.expenseId, + (_state: RootState, props: { expenseId?: number | string }) => + props?.expenseId, (_expenseId): unknown => null, ); diff --git a/packages/webapp/src/store/financial-statement/financial-statements.actions.ts b/packages/webapp/src/store/financial-statement/financial-statements.actions.ts index 7c6199fd1..820504526 100644 --- a/packages/webapp/src/store/financial-statement/financial-statements.actions.ts +++ b/packages/webapp/src/store/financial-statement/financial-statements.actions.ts @@ -1,62 +1,146 @@ -import { AP_AGING_SUMMARY, AR_AGING_SUMMARY, BALANCE_SHEET, CASH_FLOW_STATEMENT, CUSTOMERS_BALANCE_SUMMARY, CUSTOMERS_TRANSACTIONS, DISPLAY_FILTER_DRAWER_TOGGLE, GENERAL_LEDGER, INVENTORY_ITEM_DETAILS, INVENTORY_VALUATION, JOURNAL, PROFIT_LOSS, PROJECT_PROFITABILITY_SUMMARY, PURCHASES_BY_ITEMS, REALIZED_GAIN_OR_LOSS, SALES_BY_ITEMS, SALES_TAX_LIABILITY_SUMMARY, TRIAL_BALANCE_SHEET, UNREALIZED_GAIN_OR_LOSS, VENDORS_BALANCE_SUMMARY, VENDORS_TRANSACTIONS } from '@/store/types';; +import { + AP_AGING_SUMMARY, + AR_AGING_SUMMARY, + BALANCE_SHEET, + CASH_FLOW_STATEMENT, + CUSTOMERS_BALANCE_SUMMARY, + CUSTOMERS_TRANSACTIONS, + DISPLAY_FILTER_DRAWER_TOGGLE, + GENERAL_LEDGER, + INVENTORY_ITEM_DETAILS, + INVENTORY_VALUATION, + JOURNAL, + PROFIT_LOSS, + PROJECT_PROFITABILITY_SUMMARY, + PURCHASES_BY_ITEMS, + REALIZED_GAIN_OR_LOSS, + SALES_BY_ITEMS, + SALES_TAX_LIABILITY_SUMMARY, + TRIAL_BALANCE_SHEET, + UNREALIZED_GAIN_OR_LOSS, + VENDORS_BALANCE_SUMMARY, + VENDORS_TRANSACTIONS, +} from '@/store/types'; export function toggleBalanceSheetFilterDrawer(toggle?: boolean) { - return { type: `${BALANCE_SHEET}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${BALANCE_SHEET}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleTrialBalanceSheetFilterDrawer(toggle?: boolean) { - return { type: `${TRIAL_BALANCE_SHEET}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${TRIAL_BALANCE_SHEET}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleJournalSheeetFilterDrawer(toggle?: boolean) { - return { type: `${JOURNAL}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${JOURNAL}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleProfitLossFilterDrawer(toggle?: boolean) { - return { type: `${PROFIT_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${PROFIT_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleGeneralLedgerFilterDrawer(toggle?: boolean) { - return { type: `${GENERAL_LEDGER}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${GENERAL_LEDGER}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleARAgingSummaryFilterDrawer(toggle?: boolean) { - return { type: `${AR_AGING_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${AR_AGING_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleAPAgingSummaryFilterDrawer(toggle?: boolean) { - return { type: `${AP_AGING_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${AP_AGING_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function togglePurchasesByItemsFilterDrawer(toggle?: boolean) { - return { type: `${PURCHASES_BY_ITEMS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${PURCHASES_BY_ITEMS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleSalesByItemsFilterDrawer(toggle?: boolean) { - return { type: `${SALES_BY_ITEMS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${SALES_BY_ITEMS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleInventoryValuationFilterDrawer(toggle?: boolean) { - return { type: `${INVENTORY_VALUATION}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${INVENTORY_VALUATION}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleCustomersBalanceSummaryFilterDrawer(toggle?: boolean) { - return { type: `${CUSTOMERS_BALANCE_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${CUSTOMERS_BALANCE_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleVendorsBalanceSummaryFilterDrawer(toggle?: boolean) { - return { type: `${VENDORS_BALANCE_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${VENDORS_BALANCE_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleCustomersTransactionsFilterDrawer(toggle?: boolean) { - return { type: `${CUSTOMERS_TRANSACTIONS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${CUSTOMERS_TRANSACTIONS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleVendorsTransactionsFilterDrawer(toggle?: boolean) { - return { type: `${VENDORS_TRANSACTIONS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${VENDORS_TRANSACTIONS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleCashFlowStatementFilterDrawer(toggle?: boolean) { - return { type: `${CASH_FLOW_STATEMENT}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${CASH_FLOW_STATEMENT}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleInventoryItemDetailsFilterDrawer(toggle?: boolean) { - return { type: `${INVENTORY_ITEM_DETAILS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${INVENTORY_ITEM_DETAILS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleRealizedGainOrLossFilterDrawer(toggle?: boolean) { - return { type: `${REALIZED_GAIN_OR_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${REALIZED_GAIN_OR_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleUnrealizedGainOrLossFilterDrawer(toggle?: boolean) { - return { type: `${UNREALIZED_GAIN_OR_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${UNREALIZED_GAIN_OR_LOSS}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } -export function toggleProjectProfitabilitySummaryFilterDrawer(toggle?: boolean) { - return { type: `${PROJECT_PROFITABILITY_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; +export function toggleProjectProfitabilitySummaryFilterDrawer( + toggle?: boolean, +) { + return { + type: `${PROJECT_PROFITABILITY_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } export function toggleSalesTaxLiabilitySummaryFilterDrawer(toggle?: boolean) { - return { type: `${SALES_TAX_LIABILITY_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, payload: { toggle } }; + return { + type: `${SALES_TAX_LIABILITY_SUMMARY}/${DISPLAY_FILTER_DRAWER_TOGGLE}`, + payload: { toggle }, + }; } diff --git a/packages/webapp/src/store/financial-statement/financial-statements.reducer.ts b/packages/webapp/src/store/financial-statement/financial-statements.reducer.ts index 4ba620931..54bea9338 100644 --- a/packages/webapp/src/store/financial-statement/financial-statements.reducer.ts +++ b/packages/webapp/src/store/financial-statement/financial-statements.reducer.ts @@ -1,5 +1,27 @@ import { createReducer } from '@reduxjs/toolkit'; -import { AP_AGING_SUMMARY, AR_AGING_SUMMARY, BALANCE_SHEET, CASH_FLOW_STATEMENT, CUSTOMERS_BALANCE_SUMMARY, CUSTOMERS_TRANSACTIONS, DISPLAY_FILTER_DRAWER_TOGGLE, GENERAL_LEDGER, INVENTORY_ITEM_DETAILS, INVENTORY_VALUATION, JOURNAL, PROFIT_LOSS, PROJECT_PROFITABILITY_SUMMARY, PURCHASES_BY_ITEMS, REALIZED_GAIN_OR_LOSS, SALES_BY_ITEMS, SALES_TAX_LIABILITY_SUMMARY, TRIAL_BALANCE_SHEET, UNREALIZED_GAIN_OR_LOSS, VENDORS_BALANCE_SUMMARY, VENDORS_TRANSACTIONS } from '@/store/types';; +import { + AP_AGING_SUMMARY, + AR_AGING_SUMMARY, + BALANCE_SHEET, + CASH_FLOW_STATEMENT, + CUSTOMERS_BALANCE_SUMMARY, + CUSTOMERS_TRANSACTIONS, + DISPLAY_FILTER_DRAWER_TOGGLE, + GENERAL_LEDGER, + INVENTORY_ITEM_DETAILS, + INVENTORY_VALUATION, + JOURNAL, + PROFIT_LOSS, + PROJECT_PROFITABILITY_SUMMARY, + PURCHASES_BY_ITEMS, + REALIZED_GAIN_OR_LOSS, + SALES_BY_ITEMS, + SALES_TAX_LIABILITY_SUMMARY, + TRIAL_BALANCE_SHEET, + UNREALIZED_GAIN_OR_LOSS, + VENDORS_BALANCE_SUMMARY, + VENDORS_TRANSACTIONS, +} from '@/store/types'; interface FinancialReportSlice { displayFilterDrawer: boolean; @@ -34,7 +56,10 @@ const initialState: FinancialStatementsState = { type ToggleAction = { payload?: { toggle?: boolean } }; -const financialStatementFilterToggle = (financialName: string, statePath: string) => ({ +const financialStatementFilterToggle = ( + financialName: string, + statePath: string, +) => ({ [`${financialName}/${DISPLAY_FILTER_DRAWER_TOGGLE}`]: ( state: FinancialStatementsState, action: ToggleAction, @@ -57,14 +82,41 @@ export const financialStatementsReducer = createReducer(initialState, { ...financialStatementFilterToggle(PURCHASES_BY_ITEMS, 'purchasesByItems'), ...financialStatementFilterToggle(SALES_BY_ITEMS, 'salesByItems'), ...financialStatementFilterToggle(INVENTORY_VALUATION, 'inventoryValuation'), - ...financialStatementFilterToggle(CUSTOMERS_BALANCE_SUMMARY, 'customersBalanceSummary'), - ...financialStatementFilterToggle(VENDORS_BALANCE_SUMMARY, 'vendorsBalanceSummary'), - ...financialStatementFilterToggle(CUSTOMERS_TRANSACTIONS, 'customersTransactions'), - ...financialStatementFilterToggle(VENDORS_TRANSACTIONS, 'vendorsTransactions'), + ...financialStatementFilterToggle( + CUSTOMERS_BALANCE_SUMMARY, + 'customersBalanceSummary', + ), + ...financialStatementFilterToggle( + VENDORS_BALANCE_SUMMARY, + 'vendorsBalanceSummary', + ), + ...financialStatementFilterToggle( + CUSTOMERS_TRANSACTIONS, + 'customersTransactions', + ), + ...financialStatementFilterToggle( + VENDORS_TRANSACTIONS, + 'vendorsTransactions', + ), ...financialStatementFilterToggle(CASH_FLOW_STATEMENT, 'cashFlowStatement'), - ...financialStatementFilterToggle(INVENTORY_ITEM_DETAILS, 'inventoryItemDetails'), - ...financialStatementFilterToggle(REALIZED_GAIN_OR_LOSS, 'realizedGainOrLoss'), - ...financialStatementFilterToggle(UNREALIZED_GAIN_OR_LOSS, 'unrealizedGainOrLoss'), - ...financialStatementFilterToggle(PROJECT_PROFITABILITY_SUMMARY, 'projectProfitabilitySummary'), - ...financialStatementFilterToggle(SALES_TAX_LIABILITY_SUMMARY, 'salesTaxLiabilitySummary'), + ...financialStatementFilterToggle( + INVENTORY_ITEM_DETAILS, + 'inventoryItemDetails', + ), + ...financialStatementFilterToggle( + REALIZED_GAIN_OR_LOSS, + 'realizedGainOrLoss', + ), + ...financialStatementFilterToggle( + UNREALIZED_GAIN_OR_LOSS, + 'unrealizedGainOrLoss', + ), + ...financialStatementFilterToggle( + PROJECT_PROFITABILITY_SUMMARY, + 'projectProfitabilitySummary', + ), + ...financialStatementFilterToggle( + SALES_TAX_LIABILITY_SUMMARY, + 'salesTaxLiabilitySummary', + ), }); diff --git a/packages/webapp/src/store/financial-statement/financial-statements.selectors.ts b/packages/webapp/src/store/financial-statement/financial-statements.selectors.ts index 06a89b5f0..c6fc032fd 100644 --- a/packages/webapp/src/store/financial-statement/financial-statements.selectors.ts +++ b/packages/webapp/src/store/financial-statement/financial-statements.selectors.ts @@ -69,8 +69,9 @@ export const projectProfitabilitySummaryFilterDrawerSelector = ( state: RootState, ) => filterDrawerByTypeSelector('projectProfitabilitySummary')(state); -export const salesTaxLiabilitySummaryFilterDrawerSelector = (state: RootState) => - filterDrawerByTypeSelector('salesTaxLiabilitySummary')(state); +export const salesTaxLiabilitySummaryFilterDrawerSelector = ( + state: RootState, +) => filterDrawerByTypeSelector('salesTaxLiabilitySummary')(state); export const getBalanceSheetFilterDrawer = createSelector( balanceSheetFilterDrawerSelector, diff --git a/packages/webapp/src/store/financial-statement/financial-statements.types.ts b/packages/webapp/src/store/financial-statement/financial-statements.types.ts index d2ce518dc..e271df848 100644 --- a/packages/webapp/src/store/financial-statement/financial-statements.types.ts +++ b/packages/webapp/src/store/financial-statement/financial-statements.types.ts @@ -5,7 +5,8 @@ export const GENERAL_LEDGER = 'GENERAL_LEDGER' as const; export const PROFIT_LOSS = 'PROFIT_LOSS' as const; export const AR_AGING_SUMMARY = 'AR_AGING_SUMMARY' as const; export const AP_AGING_SUMMARY = 'AP_AGING_SUMMARY' as const; -export const DISPLAY_FILTER_DRAWER_TOGGLE = 'DISPLAY_FILTER_DRAWER_TOGGLE' as const; +export const DISPLAY_FILTER_DRAWER_TOGGLE = + 'DISPLAY_FILTER_DRAWER_TOGGLE' as const; export const PURCHASES_BY_ITEMS = 'PURCHASES_BY_ITEMS' as const; export const SALES_BY_ITEMS = 'SALES_BY_ITEMS' as const; export const INVENTORY_VALUATION = 'INVENTORY_VALUATION' as const; @@ -15,7 +16,9 @@ export const CUSTOMERS_TRANSACTIONS = 'CUSTOMERS TRANSACTIONS' as const; export const VENDORS_TRANSACTIONS = 'VENDORS TRANSACTIONS' as const; export const CASH_FLOW_STATEMENT = 'CASH FLOW STATEMENT' as const; export const INVENTORY_ITEM_DETAILS = 'INVENTORY ITEM DETAILS' as const; -export const PROJECT_PROFITABILITY_SUMMARY = 'PROJECT PROFITABILITY SUMMARY' as const; +export const PROJECT_PROFITABILITY_SUMMARY = + 'PROJECT PROFITABILITY SUMMARY' as const; export const REALIZED_GAIN_OR_LOSS = 'REALIZED GAIN OR LOSS' as const; export const UNREALIZED_GAIN_OR_LOSS = 'UNREALIZED GAIN OR LOSS' as const; -export const SALES_TAX_LIABILITY_SUMMARY = 'SALES TAX LIABILITY SUMMARY' as const; +export const SALES_TAX_LIABILITY_SUMMARY = + 'SALES TAX LIABILITY SUMMARY' as const; diff --git a/packages/webapp/src/store/global-errors/global-errors.actions.ts b/packages/webapp/src/store/global-errors/global-errors.actions.ts index 882ba131a..68284472e 100644 --- a/packages/webapp/src/store/global-errors/global-errors.actions.ts +++ b/packages/webapp/src/store/global-errors/global-errors.actions.ts @@ -5,4 +5,4 @@ export const setGlobalErrors = (errors: Record) => { errors, }, }; -} \ No newline at end of file +}; diff --git a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.actions.ts b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.actions.ts index ff7bedac3..8c187666f 100644 --- a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.actions.ts +++ b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.actions.ts @@ -1,10 +1,12 @@ -import { INVENTORY_ADJUSTMENTS_TABLE_STATE_SET } from '@/store/types';; +import { INVENTORY_ADJUSTMENTS_TABLE_STATE_SET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; /** * Sets the inventory adjustments table state. */ -export const setInventoryAdjustmentsTableState = (queries: Partial) => { +export const setInventoryAdjustmentsTableState = ( + queries: Partial, +) => { return { type: INVENTORY_ADJUSTMENTS_TABLE_STATE_SET, payload: { queries }, diff --git a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.reducer.ts b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.reducer.ts index c863885d7..43c5a6492 100644 --- a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.reducer.ts +++ b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { RESET } from '@/store/types'; interface InventoryAdjustmentsState { tableState: { pageSize: number; pageIndex: number; sortBy: Array }; @@ -34,4 +34,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const inventoryAdjustmentsPersistReducer = persistReducer(CONFIG, reducerInstance); +export const inventoryAdjustmentsPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.type.ts b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.type.ts index 3a3884469..5f7106cf3 100644 --- a/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.type.ts +++ b/packages/webapp/src/store/inventory-adjustments/inventory-adjustment.type.ts @@ -1 +1,2 @@ -export const INVENTORY_ADJUSTMENTS_TABLE_STATE_SET = 'INVENTORY_ADJUSTMENTS/TABLE_STATE_SET' as const; +export const INVENTORY_ADJUSTMENTS_TABLE_STATE_SET = + 'INVENTORY_ADJUSTMENTS/TABLE_STATE_SET' as const; diff --git a/packages/webapp/src/store/invoice/invoices.actions.ts b/packages/webapp/src/store/invoice/invoices.actions.ts index 0e288bb17..77a5a366e 100644 --- a/packages/webapp/src/store/invoice/invoices.actions.ts +++ b/packages/webapp/src/store/invoice/invoices.actions.ts @@ -1,4 +1,9 @@ -import { INVOICES_TABLE_STATE_RESET, INVOICES_TABLE_STATE_SET, INVOICES_SET_SELECTED_ROWS, INVOICES_RESET_SELECTED_ROWS } from '@/store/types';; +import { + INVOICES_TABLE_STATE_RESET, + INVOICES_TABLE_STATE_SET, + INVOICES_SET_SELECTED_ROWS, + INVOICES_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setInvoicesTableState = (queries: Partial) => { @@ -8,11 +13,11 @@ export const setInvoicesTableState = (queries: Partial) => { }; }; -export const resetInvoicesTableState= () => { +export const resetInvoicesTableState = () => { return { type: INVOICES_TABLE_STATE_RESET, }; -} +}; export const setInvoicesSelectedRows = (selectedRows: Array) => { return { @@ -25,4 +30,4 @@ export const resetInvoicesSelectedRows = () => { return { type: INVOICES_RESET_SELECTED_ROWS, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/invoice/invoices.reducer.ts b/packages/webapp/src/store/invoice/invoices.reducer.ts index 050f25695..494e17a59 100644 --- a/packages/webapp/src/store/invoice/invoices.reducer.ts +++ b/packages/webapp/src/store/invoice/invoices.reducer.ts @@ -2,7 +2,11 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, INVOICES_SET_SELECTED_ROWS, INVOICES_RESET_SELECTED_ROWS } from '@/store/types';; +import { + RESET, + INVOICES_SET_SELECTED_ROWS, + INVOICES_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface InvoicesState { @@ -33,7 +37,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('INVOICES', defaultTableQuery), - [INVOICES_SET_SELECTED_ROWS]: (state: InvoicesState, action: { payload: Array }) => { + [INVOICES_SET_SELECTED_ROWS]: ( + state: InvoicesState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -46,4 +53,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const salesInvoicesPersistReducer = persistReducer(CONFIG, reducerInstance); +export const salesInvoicesPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/invoice/invoices.selector.ts b/packages/webapp/src/store/invoice/invoices.selector.ts index 3ae940f27..38cbda39a 100644 --- a/packages/webapp/src/store/invoice/invoices.selector.ts +++ b/packages/webapp/src/store/invoice/invoices.selector.ts @@ -5,7 +5,8 @@ import { defaultTableQuery } from './invoices.reducer'; import { createSelector } from 'reselect'; import type { RootState } from '@/store/reducers'; -const invoicesTableStateSelector = (state: RootState) => state.salesInvoices.tableState; +const invoicesTableStateSelector = (state: RootState) => + state.salesInvoices.tableState; /** * Retrieve invoices table state. diff --git a/packages/webapp/src/store/invoice/invoices.types.ts b/packages/webapp/src/store/invoice/invoices.types.ts index 679cf51a2..a3f6edcbc 100644 --- a/packages/webapp/src/store/invoice/invoices.types.ts +++ b/packages/webapp/src/store/invoice/invoices.types.ts @@ -1,4 +1,5 @@ export const INVOICES_TABLE_STATE_SET = 'INVOICES/TABLE_STATE_SET' as const; export const INVOICES_TABLE_STATE_RESET = 'INVOICES/TABLE_STATE_RESET' as const; export const INVOICES_SET_SELECTED_ROWS = 'INVOICES/SET_SELECTED_ROWS' as const; -export const INVOICES_RESET_SELECTED_ROWS = 'INVOICES/RESET_SELECTED_ROWS' as const; +export const INVOICES_RESET_SELECTED_ROWS = + 'INVOICES/RESET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/item-categories/items-category.actions.ts b/packages/webapp/src/store/item-categories/items-category.actions.ts index 6b34ecc88..a06907922 100644 --- a/packages/webapp/src/store/item-categories/items-category.actions.ts +++ b/packages/webapp/src/store/item-categories/items-category.actions.ts @@ -1,4 +1,4 @@ -import { ITEMS_CATEGORIES_TABLE_STATE_SET } from '@/store/types';; +import { ITEMS_CATEGORIES_TABLE_STATE_SET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; /** diff --git a/packages/webapp/src/store/item-categories/items-category.reducer.ts b/packages/webapp/src/store/item-categories/items-category.reducer.ts index 78863063e..f39de9d43 100644 --- a/packages/webapp/src/store/item-categories/items-category.reducer.ts +++ b/packages/webapp/src/store/item-categories/items-category.reducer.ts @@ -1,10 +1,8 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; -import { - createTableStateReducers, -} from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { createTableStateReducers } from '@/store/table-state.reducer'; +import { RESET } from '@/store/types'; interface ItemCategoriesState { tableState: { filterRoles: Array }; diff --git a/packages/webapp/src/store/item-categories/items-category.type.ts b/packages/webapp/src/store/item-categories/items-category.type.ts index 91ecf70df..d220d99db 100644 --- a/packages/webapp/src/store/item-categories/items-category.type.ts +++ b/packages/webapp/src/store/item-categories/items-category.type.ts @@ -1 +1,2 @@ -export const ITEMS_CATEGORIES_TABLE_STATE_SET = 'ITEMS_CATEGORIES/TABLE_STATE_SET' as const; +export const ITEMS_CATEGORIES_TABLE_STATE_SET = + 'ITEMS_CATEGORIES/TABLE_STATE_SET' as const; diff --git a/packages/webapp/src/store/item-categories/items-cateory.reducer.ts b/packages/webapp/src/store/item-categories/items-cateory.reducer.ts index f14c0ef82..5ab151e22 100644 --- a/packages/webapp/src/store/item-categories/items-cateory.reducer.ts +++ b/packages/webapp/src/store/item-categories/items-cateory.reducer.ts @@ -1,5 +1,5 @@ // @ts-nocheck -import { CATEGORY_DELETE, ITEMS_CATEGORY_LIST_SET } from '@/store/types';; +import { CATEGORY_DELETE, ITEMS_CATEGORY_LIST_SET } from '@/store/types'; import { createReducer } from '@reduxjs/toolkit'; const initialState = { @@ -14,12 +14,12 @@ export default createReducer(initialState, { [ITEMS_CATEGORY_LIST_SET]: (state, action) => { const _categories = {}; - action.categories.forEach(category => { + action.categories.forEach((category) => { _categories[category.id] = category; }); state.categories = { ...state.categories, - ..._categories + ..._categories, }; }, @@ -31,7 +31,7 @@ export default createReducer(initialState, { delete categories[id]; state.categories = categories; } - } + }, }); export const getCategoryId = (state, id) => { diff --git a/packages/webapp/src/store/items/items.actions.ts b/packages/webapp/src/store/items/items.actions.ts index 28824984f..26a4fd52e 100644 --- a/packages/webapp/src/store/items/items.actions.ts +++ b/packages/webapp/src/store/items/items.actions.ts @@ -1,4 +1,8 @@ -import { ITEMS_TABLE_STATE_RESET, ITEMS_TABLE_STATE_SET, ITEMS_SET_SELECTED_ROWS } from '@/store/types';; +import { + ITEMS_TABLE_STATE_RESET, + ITEMS_TABLE_STATE_SET, + ITEMS_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setItemsTableState = (queries: Partial) => { @@ -8,12 +12,11 @@ export const setItemsTableState = (queries: Partial) => { }; }; - export const resetItemsTableState = () => { return { type: ITEMS_TABLE_STATE_RESET, }; -} +}; export const setItemsSelectedRows = (selectedRows: Array) => { return { diff --git a/packages/webapp/src/store/items/items.reducer.ts b/packages/webapp/src/store/items/items.reducer.ts index edc3109a2..a5cb46ecb 100644 --- a/packages/webapp/src/store/items/items.reducer.ts +++ b/packages/webapp/src/store/items/items.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, ITEMS_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, ITEMS_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface ItemsTableQuery extends Partial { @@ -38,7 +38,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('ITEMS', defaultTableQuery), - [ITEMS_SET_SELECTED_ROWS]: (state: ItemsState, action: { payload: Array }) => { + [ITEMS_SET_SELECTED_ROWS]: ( + state: ItemsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -47,7 +50,4 @@ const reducerInstance = createReducer(initialState, { }, }); -export const itemsPersistReducer = persistReducer( - CONFIG, - reducerInstance, -); \ No newline at end of file +export const itemsPersistReducer = persistReducer(CONFIG, reducerInstance); diff --git a/packages/webapp/src/store/journal-number/journal-number.reducer.ts b/packages/webapp/src/store/journal-number/journal-number.reducer.ts index 0e8f78350..1a6120ee5 100644 --- a/packages/webapp/src/store/journal-number/journal-number.reducer.ts +++ b/packages/webapp/src/store/journal-number/journal-number.reducer.ts @@ -44,7 +44,10 @@ export const viewPaginationSetReducer = (type: string) => ({ }; state.views = { ...state.views, - [customViewId]: { ...(state.views?.[customViewId] ?? {}), paginationMeta }, + [customViewId]: { + ...(state.views?.[customViewId] ?? {}), + paginationMeta, + }, }; }, }); @@ -54,7 +57,10 @@ export const createTableQueryReducers = (RESOURCE_NAME: string) => ({ state: { tableQuery: Partial }, action: { payload: { value: unknown }; key: string }, ) => { - state.tableQuery = { ...state.tableQuery, [action.key]: action.payload.value }; + state.tableQuery = { + ...state.tableQuery, + [action.key]: action.payload.value, + }; }, [`${RESOURCE_NAME}/TABLE_QUERIES_ADD`]: ( state: { tableQuery: Partial }, diff --git a/packages/webapp/src/store/logger.middleware.ts b/packages/webapp/src/store/logger.middleware.ts index 863b55401..553a18051 100644 --- a/packages/webapp/src/store/logger.middleware.ts +++ b/packages/webapp/src/store/logger.middleware.ts @@ -1,10 +1,10 @@ // @ts-nocheck -const logger = store => next => action => { - console.group(action.type) - console.info('dispatching', action) - let result = next(action) - console.log('next state', store.getState()) - console.groupEnd() - return result -} -export default logger \ No newline at end of file +const logger = (store) => (next) => (action) => { + console.group(action.type); + console.info('dispatching', action); + let result = next(action); + console.log('next state', store.getState()); + console.groupEnd(); + return result; +}; +export default logger; diff --git a/packages/webapp/src/store/manual-journals/manual-journals.actions.ts b/packages/webapp/src/store/manual-journals/manual-journals.actions.ts index cf5cfe22e..fbfcaac2e 100644 --- a/packages/webapp/src/store/manual-journals/manual-journals.actions.ts +++ b/packages/webapp/src/store/manual-journals/manual-journals.actions.ts @@ -1,4 +1,7 @@ -import { MANUAL_JOURNALS_TABLE_STATE_SET, MANUAL_JOURNALS_SET_SELECTED_ROWS } from '@/store/types';; +import { + MANUAL_JOURNALS_TABLE_STATE_SET, + MANUAL_JOURNALS_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setManualJournalsTableState = (queries: Partial) => { diff --git a/packages/webapp/src/store/manual-journals/manual-journals.reducers.ts b/packages/webapp/src/store/manual-journals/manual-journals.reducers.ts index 6f74a49c7..44fe76f7b 100644 --- a/packages/webapp/src/store/manual-journals/manual-journals.reducers.ts +++ b/packages/webapp/src/store/manual-journals/manual-journals.reducers.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, MANUAL_JOURNALS_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, MANUAL_JOURNALS_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface ManualJournalsState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('MANUAL_JOURNALS', defaultTableQuery), - [MANUAL_JOURNALS_SET_SELECTED_ROWS]: (state: ManualJournalsState, action: { payload: Array }) => { + [MANUAL_JOURNALS_SET_SELECTED_ROWS]: ( + state: ManualJournalsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const manualJournalsPersistReducer = persistReducer(CONFIG, reducerInstance); +export const manualJournalsPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/manual-journals/manual-journals.selectors.ts b/packages/webapp/src/store/manual-journals/manual-journals.selectors.ts index 5038ef714..7900f8812 100644 --- a/packages/webapp/src/store/manual-journals/manual-journals.selectors.ts +++ b/packages/webapp/src/store/manual-journals/manual-journals.selectors.ts @@ -5,7 +5,8 @@ import { createDeepEqualSelector } from '@/utils'; import { defaultTableQuery } from './manual-journals.reducers'; import type { RootState } from '@/store/reducers'; -const manualJournalsTableState = (state: RootState) => state.manualJournals.tableState; +const manualJournalsTableState = (state: RootState) => + state.manualJournals.tableState; // Retrieve manual jouranls table state. export const getManualJournalsTableStateFactory = () => diff --git a/packages/webapp/src/store/manual-journals/manual-journals.types.ts b/packages/webapp/src/store/manual-journals/manual-journals.types.ts index bfc2c871e..35e86b4de 100644 --- a/packages/webapp/src/store/manual-journals/manual-journals.types.ts +++ b/packages/webapp/src/store/manual-journals/manual-journals.types.ts @@ -1,3 +1,6 @@ -export const MANUAL_JOURNALS_TABLE_STATE_SET = 'MANUAL_JOURNALS/TABLE_STATE_SET' as const; -export const MANUAL_JOURNALS_TABLE_STATE_RESET = 'MANUAL_JOURNALS/TABLE_STATE_RESET' as const; -export const MANUAL_JOURNALS_SET_SELECTED_ROWS = 'MANUAL_JOURNALS/SET_SELECTED_ROWS' as const; +export const MANUAL_JOURNALS_TABLE_STATE_SET = + 'MANUAL_JOURNALS/TABLE_STATE_SET' as const; +export const MANUAL_JOURNALS_TABLE_STATE_RESET = + 'MANUAL_JOURNALS/TABLE_STATE_RESET' as const; +export const MANUAL_JOURNALS_SET_SELECTED_ROWS = + 'MANUAL_JOURNALS/SET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/media/media.actions.ts b/packages/webapp/src/store/media/media.actions.ts index d0a45b484..9405bfb39 100644 --- a/packages/webapp/src/store/media/media.actions.ts +++ b/packages/webapp/src/store/media/media.actions.ts @@ -1,9 +1,17 @@ import ApiService from '@/services/ApiService'; -export const submitMedia = ({ form, config }: { form: FormData; config?: unknown }) => { - return (_dispatch: unknown) => ApiService.post('media', form, config as object); +export const submitMedia = ({ + form, + config, +}: { + form: FormData; + config?: unknown; +}) => { + return (_dispatch: unknown) => + ApiService.post('media', form, config as object); }; export const deleteMedia = ({ ids }: { ids: Array }) => { - return (_dispatch: unknown) => ApiService.delete('media', { params: { ids } }); + return (_dispatch: unknown) => + ApiService.delete('media', { params: { ids } }); }; diff --git a/packages/webapp/src/store/organizations/organizations.actions.ts b/packages/webapp/src/store/organizations/organizations.actions.ts index 14761d072..3eea5d1ed 100644 --- a/packages/webapp/src/store/organizations/organizations.actions.ts +++ b/packages/webapp/src/store/organizations/organizations.actions.ts @@ -1,8 +1,13 @@ import ApiService from '@/services/ApiService'; -import { ORGANIZATIONS_LIST_SET, SET_ORGANIZATION_CONGRATS } from '@/store/types';; +import { + ORGANIZATIONS_LIST_SET, + SET_ORGANIZATION_CONGRATS, +} from '@/store/types'; import type { RootState } from '@/store/reducers'; -export const setOrganizations = (organizations: Array>) => ({ +export const setOrganizations = ( + organizations: Array>, +) => ({ type: ORGANIZATIONS_LIST_SET, payload: { organizations }, }); @@ -24,7 +29,8 @@ export const setOrganizationSetupCompleted = (congrats: boolean) => (dispatch: any, getState: () => RootState) => { const state = getState(); const organizationId = state.authentication.organizationId as string; - const tenantId = getState().organizations.byOrganizationId?.[organizationId]; + const tenantId = + getState().organizations.byOrganizationId?.[organizationId]; dispatch({ type: SET_ORGANIZATION_CONGRATS, diff --git a/packages/webapp/src/store/organizations/organizations.reducers.ts b/packages/webapp/src/store/organizations/organizations.reducers.ts index b049ce0ca..165a20598 100644 --- a/packages/webapp/src/store/organizations/organizations.reducers.ts +++ b/packages/webapp/src/store/organizations/organizations.reducers.ts @@ -1,6 +1,9 @@ import { createReducer } from '@reduxjs/toolkit'; import { omit } from 'lodash'; -import { ORGANIZATIONS_LIST_SET, SET_ORGANIZATION_CONGRATS } from '@/store/types';; +import { + ORGANIZATIONS_LIST_SET, + SET_ORGANIZATION_CONGRATS, +} from '@/store/types'; interface OrganizationsState { data: Record; @@ -44,10 +47,10 @@ const reducer = createReducer(initialState, { const { tenantId, congrats } = action.payload; state.data[tenantId] = { - ...(state.data[tenantId] as Record || {}), + ...((state.data[tenantId] as Record) || {}), is_congrats: !!congrats, }; }, }); -export const organizationsReducer = reducer; \ No newline at end of file +export const organizationsReducer = reducer; diff --git a/packages/webapp/src/store/organizations/organizations.selectors.ts b/packages/webapp/src/store/organizations/organizations.selectors.ts index 9a064fbc4..6d19ba949 100644 --- a/packages/webapp/src/store/organizations/organizations.selectors.ts +++ b/packages/webapp/src/store/organizations/organizations.selectors.ts @@ -4,8 +4,13 @@ import type { RootState } from '@/store/reducers'; type OrgProps = { organizationId: string }; type OrgRecord = Record; -const organizationSelector = (state: RootState, props: OrgProps): OrgRecord | undefined => { - const tenantId = state.organizations.byOrganizationId[props.organizationId] as string; +const organizationSelector = ( + state: RootState, + props: OrgProps, +): OrgRecord | undefined => { + const tenantId = state.organizations.byOrganizationId[ + props.organizationId + ] as string; return state.organizations.data[tenantId] as OrgRecord | undefined; }; @@ -29,7 +34,10 @@ export const isOrganizationReadyFactory = () => export const isOrganizationSubscribedFactory = () => createSelector(organizationSelector, (organization) => { - return (organization?.['subscriptions'] as Array | undefined)?.length! > 0; + return ( + (organization?.['subscriptions'] as Array | undefined)?.length! > + 0 + ); }); export const isOrganizationCongratsFactory = () => diff --git a/packages/webapp/src/store/organizations/organizations.types.ts b/packages/webapp/src/store/organizations/organizations.types.ts index 42a0e2643..caf98adee 100644 --- a/packages/webapp/src/store/organizations/organizations.types.ts +++ b/packages/webapp/src/store/organizations/organizations.types.ts @@ -1,4 +1,5 @@ export const ORGANIZATION_SET = 'ORGANIZATION_SET' as const; export const ORGANIZATIONS_LIST_SET = 'ORGANIZATIONS_LIST_SET' as const; export const SET_ORGANIZATION_CONGRATS = 'SET_ORGANIZATION_CONGRATS' as const; -export const ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES = 'ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES' as const; +export const ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES = + 'ORGANIZATION_MUTATE_BASE_CURRENCY_ABILITIES' as const; diff --git a/packages/webapp/src/store/payment-mades/payment-mades.actions.ts b/packages/webapp/src/store/payment-mades/payment-mades.actions.ts index 91876de36..328853f16 100644 --- a/packages/webapp/src/store/payment-mades/payment-mades.actions.ts +++ b/packages/webapp/src/store/payment-mades/payment-mades.actions.ts @@ -1,4 +1,7 @@ -import { PAYMENT_MADES_TABLE_STATE_RESET, PAYMENT_MADES_TABLE_STATE_SET } from '@/store/types';; +import { + PAYMENT_MADES_TABLE_STATE_RESET, + PAYMENT_MADES_TABLE_STATE_SET, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setPaymentMadesTableState = (queries: Partial) => { @@ -14,4 +17,3 @@ export const resetPaymentMadesTableState = (queries?: Partial) => { payload: { queries }, }; }; - diff --git a/packages/webapp/src/store/payment-mades/payment-mades.reducer.ts b/packages/webapp/src/store/payment-mades/payment-mades.reducer.ts index cb7eab665..a85784e7e 100644 --- a/packages/webapp/src/store/payment-mades/payment-mades.reducer.ts +++ b/packages/webapp/src/store/payment-mades/payment-mades.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { RESET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface PaymentMadesState { @@ -37,4 +37,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const paymentMadesPersistReducer = persistReducer(CONFIG, reducerInstance); +export const paymentMadesPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/payment-mades/payment-mades.selector.ts b/packages/webapp/src/store/payment-mades/payment-mades.selector.ts index 0d5e09322..a2b66f79c 100644 --- a/packages/webapp/src/store/payment-mades/payment-mades.selector.ts +++ b/packages/webapp/src/store/payment-mades/payment-mades.selector.ts @@ -6,7 +6,8 @@ import { defaultTableQuery } from './payment-mades.reducer'; import { createSelector } from 'reselect'; import type { RootState } from '@/store/reducers'; -const paymentMadesTableStateSelector = (state: RootState) => state.paymentMades.tableState; +const paymentMadesTableStateSelector = (state: RootState) => + state.paymentMades.tableState; // Get payment mades table state marged with location query. export const getPaymentMadesTableStateFactory = () => diff --git a/packages/webapp/src/store/payment-mades/payment-mades.type.ts b/packages/webapp/src/store/payment-mades/payment-mades.type.ts index db4ec6419..45471e3a9 100644 --- a/packages/webapp/src/store/payment-mades/payment-mades.type.ts +++ b/packages/webapp/src/store/payment-mades/payment-mades.type.ts @@ -1,2 +1,4 @@ -export const PAYMENT_MADES_TABLE_STATE_SET = 'PAYMENT_MADES/TABLE_STATE_SET' as const; -export const PAYMENT_MADES_TABLE_STATE_RESET = 'PAYMENT_MADES/TABLE_STATE_RESET' as const; +export const PAYMENT_MADES_TABLE_STATE_SET = + 'PAYMENT_MADES/TABLE_STATE_SET' as const; +export const PAYMENT_MADES_TABLE_STATE_RESET = + 'PAYMENT_MADES/TABLE_STATE_RESET' as const; diff --git a/packages/webapp/src/store/payment-receives/payment-receives.actions.ts b/packages/webapp/src/store/payment-receives/payment-receives.actions.ts index 9c043a180..a3c97b713 100644 --- a/packages/webapp/src/store/payment-receives/payment-receives.actions.ts +++ b/packages/webapp/src/store/payment-receives/payment-receives.actions.ts @@ -1,4 +1,8 @@ -import { PAYMENT_RECEIVES_TABLE_STATE_RESET, PAYMENT_RECEIVES_TABLE_STATE_SET, PAYMENT_RECEIVES_SET_SELECTED_ROWS } from '@/store/types';; +import { + PAYMENT_RECEIVES_TABLE_STATE_RESET, + PAYMENT_RECEIVES_TABLE_STATE_SET, + PAYMENT_RECEIVES_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setPaymentReceivesTableState = (queries: Partial) => { @@ -10,14 +14,15 @@ export const setPaymentReceivesTableState = (queries: Partial) => { export const resetPaymentReceivesTableState = () => { return { - type: PAYMENT_RECEIVES_TABLE_STATE_RESET + type: PAYMENT_RECEIVES_TABLE_STATE_RESET, }; -} +}; -export const setPaymentReceivesSelectedRows = (selectedRows: Array) => { +export const setPaymentReceivesSelectedRows = ( + selectedRows: Array, +) => { return { type: PAYMENT_RECEIVES_SET_SELECTED_ROWS, payload: selectedRows, }; }; - diff --git a/packages/webapp/src/store/payment-receives/payment-receives.reducer.ts b/packages/webapp/src/store/payment-receives/payment-receives.reducer.ts index e47538948..6af9c243d 100644 --- a/packages/webapp/src/store/payment-receives/payment-receives.reducer.ts +++ b/packages/webapp/src/store/payment-receives/payment-receives.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, PAYMENT_RECEIVES_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, PAYMENT_RECEIVES_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface PaymentReceivesState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('PAYMENT_RECEIVES', defaultTableQuery), - [PAYMENT_RECEIVES_SET_SELECTED_ROWS]: (state: PaymentReceivesState, action: { payload: Array }) => { + [PAYMENT_RECEIVES_SET_SELECTED_ROWS]: ( + state: PaymentReceivesState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const paymentReceivesPersistReducer = persistReducer(CONFIG, reducerInstance); +export const paymentReceivesPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/payment-receives/payment-receives.selector.ts b/packages/webapp/src/store/payment-receives/payment-receives.selector.ts index d3d122c0e..894542d60 100644 --- a/packages/webapp/src/store/payment-receives/payment-receives.selector.ts +++ b/packages/webapp/src/store/payment-receives/payment-receives.selector.ts @@ -6,7 +6,8 @@ import { createDeepEqualSelector } from '@/utils'; import { defaultTableQuery } from './payment-receives.reducer'; import type { RootState } from '@/store/reducers'; -const paymentReceiveTableState = (state: RootState) => state.paymentReceives.tableState; +const paymentReceiveTableState = (state: RootState) => + state.paymentReceives.tableState; // Retrieve payment receives table fetch query. export const getPaymentReceiveTableStateFactory = () => diff --git a/packages/webapp/src/store/payment-receives/payment-receives.type.ts b/packages/webapp/src/store/payment-receives/payment-receives.type.ts index 466596f74..15e635de4 100644 --- a/packages/webapp/src/store/payment-receives/payment-receives.type.ts +++ b/packages/webapp/src/store/payment-receives/payment-receives.type.ts @@ -1,3 +1,6 @@ -export const PAYMENT_RECEIVES_TABLE_STATE_SET = 'PAYMENT_RECEIVES/TABLE_STATE_SET' as const; -export const PAYMENT_RECEIVES_TABLE_STATE_RESET = 'PAYMENT_RECEIVES/TABLE_STATE_RESET' as const; -export const PAYMENT_RECEIVES_SET_SELECTED_ROWS = 'PAYMENT_RECEIVES/SET_SELECTED_ROWS' as const; +export const PAYMENT_RECEIVES_TABLE_STATE_SET = + 'PAYMENT_RECEIVES/TABLE_STATE_SET' as const; +export const PAYMENT_RECEIVES_TABLE_STATE_RESET = + 'PAYMENT_RECEIVES/TABLE_STATE_RESET' as const; +export const PAYMENT_RECEIVES_SET_SELECTED_ROWS = + 'PAYMENT_RECEIVES/SET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/plans/plans.actions.ts b/packages/webapp/src/store/plans/plans.actions.ts index 039256569..81d16eb8d 100644 --- a/packages/webapp/src/store/plans/plans.actions.ts +++ b/packages/webapp/src/store/plans/plans.actions.ts @@ -1,5 +1,5 @@ -import { INIT_SUBSCRIPTION_PLANS } from '@/store/types';; +import { INIT_SUBSCRIPTION_PLANS } from '@/store/types'; export const initSubscriptionPlans = () => ({ - type: INIT_SUBSCRIPTION_PLANS -}); \ No newline at end of file + type: INIT_SUBSCRIPTION_PLANS, +}); diff --git a/packages/webapp/src/store/preferences/preferences.actions.ts b/packages/webapp/src/store/preferences/preferences.actions.ts index d9749f847..3a36dccce 100644 --- a/packages/webapp/src/store/preferences/preferences.actions.ts +++ b/packages/webapp/src/store/preferences/preferences.actions.ts @@ -1,27 +1,37 @@ // @ts-nocheck -import ApiService from "services/ApiService"; -import { OPTIONS, OPTIONS_SET } from '@/store/types';; +import ApiService from 'services/ApiService'; +import { OPTIONS, OPTIONS_SET } from '@/store/types'; export const savePreferences = ({ options }) => { - return (dispatch) => new Promise((resolve, reject) => { - ApiService.post('options', { options }).then((response) => { - dispatch({ - type: OPTIONS_SET, - options: response.data.options, - }); - resolve(response); - }).catch(error => { reject(error); }); - }); + return (dispatch) => + new Promise((resolve, reject) => { + ApiService.post('options', { options }) + .then((response) => { + dispatch({ + type: OPTIONS_SET, + options: response.data.options, + }); + resolve(response); + }) + .catch((error) => { + reject(error); + }); + }); }; export const fetchPreferences = () => { - return (dispatch) => new Promise((resolve, reject) => { - ApiService.get('options').then((response) => { - dispatch({ - type: OPTIONS.SET, - options: response.data.options, - }); - resolve(response); - }).catch(error => { reject(error); }); - }) -} \ No newline at end of file + return (dispatch) => + new Promise((resolve, reject) => { + ApiService.get('options') + .then((response) => { + dispatch({ + type: OPTIONS.SET, + options: response.data.options, + }); + resolve(response); + }) + .catch((error) => { + reject(error); + }); + }); +}; diff --git a/packages/webapp/src/store/project/projects.actions.ts b/packages/webapp/src/store/project/projects.actions.ts index 64b1c7076..d96278ed4 100644 --- a/packages/webapp/src/store/project/projects.actions.ts +++ b/packages/webapp/src/store/project/projects.actions.ts @@ -1,4 +1,7 @@ -import { PROJECTS_TABLE_STATE_RESET, PROJECTS_TABLE_STATE_SET } from '@/store/types';; +import { + PROJECTS_TABLE_STATE_RESET, + PROJECTS_TABLE_STATE_SET, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setProjectsTableState = (queries: Partial) => { diff --git a/packages/webapp/src/store/project/projects.reducer.ts b/packages/webapp/src/store/project/projects.reducer.ts index 6888620fd..96ae2408a 100644 --- a/packages/webapp/src/store/project/projects.reducer.ts +++ b/packages/webapp/src/store/project/projects.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { RESET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface ProjectsState { diff --git a/packages/webapp/src/store/receipts/receipts.actions.ts b/packages/webapp/src/store/receipts/receipts.actions.ts index 0a6dbfc43..5621dd938 100644 --- a/packages/webapp/src/store/receipts/receipts.actions.ts +++ b/packages/webapp/src/store/receipts/receipts.actions.ts @@ -1,4 +1,8 @@ -import { RECEIPTS_SELECTED_ROWS_SET, RECEIPTS_TABLE_STATE_RESET, RECEIPTS_TABLE_STATE_SET } from '@/store/types';; +import { + RECEIPTS_SELECTED_ROWS_SET, + RECEIPTS_TABLE_STATE_RESET, + RECEIPTS_TABLE_STATE_SET, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setReceiptsTableState = (queries: Partial) => { @@ -12,11 +16,11 @@ export const resetReceiptsTableState = () => { return { type: RECEIPTS_TABLE_STATE_RESET, }; -} +}; export const setReceiptsSelectedRows = (selectedRows: Array) => { return { type: RECEIPTS_SELECTED_ROWS_SET, payload: selectedRows, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/receipts/receipts.reducer.ts b/packages/webapp/src/store/receipts/receipts.reducer.ts index 1335274ab..9fc31e377 100644 --- a/packages/webapp/src/store/receipts/receipts.reducer.ts +++ b/packages/webapp/src/store/receipts/receipts.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RECEIPTS_SELECTED_ROWS_SET, RESET } from '@/store/types';; +import { RECEIPTS_SELECTED_ROWS_SET, RESET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface ReceiptsState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('RECEIPTS', defaultTableQuery), - [RECEIPTS_SELECTED_ROWS_SET]: (state: ReceiptsState, action: { payload: Array }) => { + [RECEIPTS_SELECTED_ROWS_SET]: ( + state: ReceiptsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const salesReceiptsPersistReducer = persistReducer(CONFIG, reducerInstance); +export const salesReceiptsPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/receipts/receipts.selector.ts b/packages/webapp/src/store/receipts/receipts.selector.ts index 3de0daebf..57682c523 100644 --- a/packages/webapp/src/store/receipts/receipts.selector.ts +++ b/packages/webapp/src/store/receipts/receipts.selector.ts @@ -6,7 +6,8 @@ import { defaultTableQuery } from './receipts.reducer'; import { createSelector } from 'reselect'; import type { RootState } from '@/store/reducers'; -const receiptTableStateSelector = (state: RootState) => state.salesReceipts.tableState; +const receiptTableStateSelector = (state: RootState) => + state.salesReceipts.tableState; // Retrieve receipts table query. export const getReceiptsTableStateFactory = () => @@ -30,4 +31,4 @@ export const getReceiptsSelectedRowsFactory = () => createSelector( (state: RootState) => state.salesReceipts.selectedRows, (selectedRows) => selectedRows, - ); \ No newline at end of file + ); diff --git a/packages/webapp/src/store/registers/register.reducer.ts b/packages/webapp/src/store/registers/register.reducer.ts index eefb9e214..dc04bcc6b 100644 --- a/packages/webapp/src/store/registers/register.reducer.ts +++ b/packages/webapp/src/store/registers/register.reducer.ts @@ -1,6 +1,6 @@ // @ts-nocheck import { createReducer } from '@reduxjs/toolkit'; -import { REGISTER_SET } from '@/store/types';; +import { REGISTER_SET } from '@/store/types'; const initialState = { registers: {}, diff --git a/packages/webapp/src/store/resources/resources.actions.ts b/packages/webapp/src/store/resources/resources.actions.ts index 4414d4c50..33cbf3683 100644 --- a/packages/webapp/src/store/resources/resources.actions.ts +++ b/packages/webapp/src/store/resources/resources.actions.ts @@ -1,7 +1,11 @@ import ApiService from '@/services/ApiService'; -import { RESOURCE_DATA_SET, RESOURCE_FIELDS_SET } from '@/store/types';; +import { RESOURCE_DATA_SET, RESOURCE_FIELDS_SET } from '@/store/types'; -export const fetchResourceColumns = ({ resourceSlug }: { resourceSlug: string }) => { +export const fetchResourceColumns = ({ + resourceSlug, +}: { + resourceSlug: string; +}) => { return (_dispatch: any) => new Promise((resolve, reject) => { ApiService.get(`resources/${resourceSlug}/columns`) @@ -10,24 +14,42 @@ export const fetchResourceColumns = ({ resourceSlug }: { resourceSlug: string }) }); }; -export const fetchResourceFields = ({ resourceSlug }: { resourceSlug: string }) => { +export const fetchResourceFields = ({ + resourceSlug, +}: { + resourceSlug: string; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.get(`resources/${resourceSlug}/fields`) .then((response) => { - dispatch({ type: RESOURCE_FIELDS_SET, fields: response.data.resource_fields, resource_slug: resourceSlug }); + dispatch({ + type: RESOURCE_FIELDS_SET, + fields: response.data.resource_fields, + resource_slug: resourceSlug, + }); resolve(response); }) .catch((error) => reject(error)); }); }; -export const fetchResourceData = ({ resourceSlug }: { resourceSlug: string }) => { +export const fetchResourceData = ({ + resourceSlug, +}: { + resourceSlug: string; +}) => { return (dispatch: any) => new Promise((resolve, reject) => { ApiService.get(`/resources/${resourceSlug}/data`) .then((response) => { - dispatch({ type: RESOURCE_DATA_SET, payload: { data: response.data.resource_data, resourceKey: resourceSlug } }); + dispatch({ + type: RESOURCE_DATA_SET, + payload: { + data: response.data.resource_data, + resourceKey: resourceSlug, + }, + }); resolve(response); }) .catch((error) => reject(error)); diff --git a/packages/webapp/src/store/resources/resources.reducer.ts b/packages/webapp/src/store/resources/resources.reducer.ts index 60161f7c9..39f6b457f 100644 --- a/packages/webapp/src/store/resources/resources.reducer.ts +++ b/packages/webapp/src/store/resources/resources.reducer.ts @@ -1,5 +1,9 @@ -import { createReducer } from "@reduxjs/toolkit"; -import { RESOURCE_COLUMNS_SET, RESOURCE_DATA_SET, RESOURCE_FIELDS_SET } from '@/store/types';; +import { createReducer } from '@reduxjs/toolkit'; +import { + RESOURCE_COLUMNS_SET, + RESOURCE_DATA_SET, + RESOURCE_FIELDS_SET, +} from '@/store/types'; interface ResourcesState { data: { resources: Record }; @@ -28,19 +32,19 @@ const initialState: ResourcesState = { resourceColumns: {}, metadata: { - 'accounts': { + accounts: { label: 'Accounts', baseRoute: '/accounts', }, - 'items': { + items: { label: 'Items', baseRoute: '/items', }, - 'manual_journals': { + manual_journals: { label: 'Journals', baseRoute: '/manual-journals', - } - } + }, + }, }; export const resourcesReducer = createReducer(initialState, { @@ -55,7 +59,9 @@ export const resourcesReducer = createReducer(initialState, { ..._columns, }; if (action.resource_slug) { - state.resourceColumns[action.resource_slug] = (action.columns ?? []).map((c) => c['id']); + state.resourceColumns[action.resource_slug] = (action.columns ?? []).map( + (c) => c['id'], + ); } }, @@ -70,7 +76,9 @@ export const resourcesReducer = createReducer(initialState, { ..._fields, }; if (action.resource_slug) { - state.resourceFields[action.resource_slug] = (action.fields ?? []).map((f) => f['key']); + state.resourceFields[action.resource_slug] = (action.fields ?? []).map( + (f) => f['key'], + ); } }, @@ -84,9 +92,9 @@ export const resourcesReducer = createReducer(initialState, { const order = data.map((item) => item['id']); state.data.resources[resourceKey] = { - ...(state.data.resources[resourceKey] as Record || {}), + ...((state.data.resources[resourceKey] as Record) || {}), data: _data, order, }; }, -}); \ No newline at end of file +}); diff --git a/packages/webapp/src/store/resources/resources.selectors.ts b/packages/webapp/src/store/resources/resources.selectors.ts index 1d4f5468b..4971fe9b7 100644 --- a/packages/webapp/src/store/resources/resources.selectors.ts +++ b/packages/webapp/src/store/resources/resources.selectors.ts @@ -2,23 +2,46 @@ import { createSelector } from 'reselect'; import { pickItemsFromIds } from '@/store/selectors'; import type { RootState } from '@/store/reducers'; -const resourceDataIdsSelector = (state: RootState, props: { resourceName: string }) => { - return (state.resources.data.resources[props.resourceName] as Record | undefined)?.['order'] as Array | undefined; +const resourceDataIdsSelector = ( + state: RootState, + props: { resourceName: string }, +) => { + return ( + state.resources.data.resources[props.resourceName] as + | Record + | undefined + )?.['order'] as Array | undefined; }; -const resourceDataSelector = (state: RootState, props: { resourceName: string }) => { - return (state.resources.data.resources[props.resourceName] as Record | undefined)?.['data'] as Record | undefined; +const resourceDataSelector = ( + state: RootState, + props: { resourceName: string }, +) => { + return ( + state.resources.data.resources[props.resourceName] as + | Record + | undefined + )?.['data'] as Record | undefined; }; -const resourceFieldsIdsSelector = (state: RootState, props: { resourceName: string }) => - state.resources.resourceFields[props.resourceName] as Array | undefined; -const resourceFieldsItemsSelector = (state: RootState) => state.resources.fields; +const resourceFieldsIdsSelector = ( + state: RootState, + props: { resourceName: string }, +) => + state.resources.resourceFields[props.resourceName] as + | Array + | undefined; +const resourceFieldsItemsSelector = (state: RootState) => + state.resources.fields; export const getResourceFieldsFactory = () => createSelector( resourceFieldsIdsSelector, resourceFieldsItemsSelector, (fieldsIds, fieldsItems) => - pickItemsFromIds(fieldsItems, (fieldsIds ?? []) as Array), + pickItemsFromIds( + fieldsItems, + (fieldsIds ?? []) as Array, + ), ); export const getResourceDataFactory = () => @@ -26,19 +49,26 @@ export const getResourceDataFactory = () => resourceDataSelector, resourceDataIdsSelector, (resourceData, resourceDataIds) => - pickItemsFromIds(resourceData ?? {}, (resourceDataIds ?? []) as Array), + pickItemsFromIds( + resourceData ?? {}, + (resourceDataIds ?? []) as Array, + ), ); export const getResourceColumns = (state: RootState, resourceSlug: string) => { - const resourceIds = state.resources.resourceColumns[resourceSlug] as Array | undefined; + const resourceIds = state.resources.resourceColumns[resourceSlug] as + | Array + | undefined; return pickItemsFromIds(state.resources.columns, resourceIds ?? []); }; export const getResourceField = (state: RootState, fieldId: string | number) => state.resources.fields[fieldId as string]; -export const getResourceColumn = (state: RootState, columnId: string | number) => - state.resources.columns[columnId as string]; +export const getResourceColumn = ( + state: RootState, + columnId: string | number, +) => state.resources.columns[columnId as string]; export const getResourceMetadata = (state: RootState, resourceSlug: string) => state.resources.metadata[resourceSlug]; diff --git a/packages/webapp/src/store/search/search.actions.ts b/packages/webapp/src/store/search/search.actions.ts index 083061bbf..ae9b11a27 100644 --- a/packages/webapp/src/store/search/search.actions.ts +++ b/packages/webapp/src/store/search/search.actions.ts @@ -1,4 +1,11 @@ -import { CLOSE_SEARCH, OPEN_SEARCH, UNIVERSAL_SEARCH_RESET_ITEM_SELECT, UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE, UNIVERSAL_SEARCH_SET_ITEM_SELECT, UNIVERSAL_SEARCH_SET_RESOURCE_TYPE } from '@/store/types';; +import { + CLOSE_SEARCH, + OPEN_SEARCH, + UNIVERSAL_SEARCH_RESET_ITEM_SELECT, + UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE, + UNIVERSAL_SEARCH_SET_ITEM_SELECT, + UNIVERSAL_SEARCH_SET_RESOURCE_TYPE, +} from '@/store/types'; export function openSearch(result?: unknown) { return { @@ -36,7 +43,10 @@ export function universalSearchResetResourceType() { }; } -export function universalSearchSetSelectedItem(resourceType: string, resourceId: string | number) { +export function universalSearchSetSelectedItem( + resourceType: string, + resourceId: string | number, +) { return { type: UNIVERSAL_SEARCH_SET_ITEM_SELECT, payload: { @@ -51,4 +61,4 @@ export function universalSearchResetSelectedItem() { type: UNIVERSAL_SEARCH_RESET_ITEM_SELECT, payload: {}, }; -} \ No newline at end of file +} diff --git a/packages/webapp/src/store/search/search.reducer.ts b/packages/webapp/src/store/search/search.reducer.ts index 490250154..385cf503a 100644 --- a/packages/webapp/src/store/search/search.reducer.ts +++ b/packages/webapp/src/store/search/search.reducer.ts @@ -1,4 +1,11 @@ -import { CLOSE_SEARCH, OPEN_SEARCH, UNIVERSAL_SEARCH_RESET_ITEM_SELECT, UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE, UNIVERSAL_SEARCH_SET_ITEM_SELECT, UNIVERSAL_SEARCH_SET_RESOURCE_TYPE } from '@/store/types';; +import { + CLOSE_SEARCH, + OPEN_SEARCH, + UNIVERSAL_SEARCH_RESET_ITEM_SELECT, + UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE, + UNIVERSAL_SEARCH_SET_ITEM_SELECT, + UNIVERSAL_SEARCH_SET_RESOURCE_TYPE, +} from '@/store/types'; import { createReducer } from '@reduxjs/toolkit'; interface SearchState { @@ -16,7 +23,9 @@ const initialState: SearchState = { }; type SearchResourceTypeAction = { payload: { resourceType: string } }; -type SearchSelectedItemAction = { payload: { resourceId: string | number; resourceType: string } }; +type SearchSelectedItemAction = { + payload: { resourceId: string | number; resourceType: string }; +}; export const searchReducer = createReducer(initialState, { [OPEN_SEARCH]: (state) => { @@ -27,7 +36,10 @@ export const searchReducer = createReducer(initialState, { state.isOpen = false; }, - [UNIVERSAL_SEARCH_SET_RESOURCE_TYPE]: (state, action: SearchResourceTypeAction) => { + [UNIVERSAL_SEARCH_SET_RESOURCE_TYPE]: ( + state, + action: SearchResourceTypeAction, + ) => { state.defaultResourceType = action.payload.resourceType; }, @@ -35,7 +47,10 @@ export const searchReducer = createReducer(initialState, { state.defaultResourceType = DEFAULT_RESOURCE_TYPE; }, - [UNIVERSAL_SEARCH_SET_ITEM_SELECT]: (state, action: SearchSelectedItemAction) => { + [UNIVERSAL_SEARCH_SET_ITEM_SELECT]: ( + state, + action: SearchSelectedItemAction, + ) => { state.selectedItem = { resourceId: action.payload.resourceId, resourceType: action.payload.resourceType, diff --git a/packages/webapp/src/store/search/search.type.ts b/packages/webapp/src/store/search/search.type.ts index 24345f6ee..50f2f7e2d 100644 --- a/packages/webapp/src/store/search/search.type.ts +++ b/packages/webapp/src/store/search/search.type.ts @@ -1,7 +1,11 @@ export const SEARCH_TYPE = 'SEARCH_TYPE' as const; export const OPEN_SEARCH = 'OPEN_SEARCH' as const; export const CLOSE_SEARCH = 'CLOSE_SEARCH' as const; -export const UNIVERSAL_SEARCH_SET_RESOURCE_TYPE = 'UNIVERSAL_SEARCH_SET_RESOURCE_TYPE' as const; -export const UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE = 'UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE' as const; -export const UNIVERSAL_SEARCH_SET_ITEM_SELECT = 'UNIVERSAL_SEARCH_SET_ITEM_SELECT' as const; -export const UNIVERSAL_SEARCH_RESET_ITEM_SELECT = 'UNIVERSAL_SEARCH_RESET_ITEM_SELECT' as const; +export const UNIVERSAL_SEARCH_SET_RESOURCE_TYPE = + 'UNIVERSAL_SEARCH_SET_RESOURCE_TYPE' as const; +export const UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE = + 'UNIVERSAL_SEARCH_RESET_RESOURCE_TYPE' as const; +export const UNIVERSAL_SEARCH_SET_ITEM_SELECT = + 'UNIVERSAL_SEARCH_SET_ITEM_SELECT' as const; +export const UNIVERSAL_SEARCH_RESET_ITEM_SELECT = + 'UNIVERSAL_SEARCH_RESET_ITEM_SELECT' as const; diff --git a/packages/webapp/src/store/selectors.ts b/packages/webapp/src/store/selectors.ts index f5c1f9c10..2f64d6bea 100644 --- a/packages/webapp/src/store/selectors.ts +++ b/packages/webapp/src/store/selectors.ts @@ -1,10 +1,16 @@ import { pick, at, mapValues } from 'lodash'; -export const getItemById = (items: Record, id: string | number) => { +export const getItemById = ( + items: Record, + id: string | number, +) => { return items[id] || null; }; -export const pickItemsFromIds = (items: Record, ids: Array) => { +export const pickItemsFromIds = ( + items: Record, + ids: Array, +) => { return at(items, ids as string[]).filter((i) => i); }; @@ -67,9 +73,8 @@ export const paginationLocationQuery = ( const queryParamsKeys = ['page_size', 'page', 'custom_view_id']; return queryParams - ? mapValues( - pick(Object.fromEntries(queryParams), queryParamsKeys), - (v) => parseInt(v, 10), + ? mapValues(pick(Object.fromEntries(queryParams), queryParamsKeys), (v) => + parseInt(v, 10), ) : null; }; diff --git a/packages/webapp/src/store/settings/settings.actions.ts b/packages/webapp/src/store/settings/settings.actions.ts index 04cbe8e12..377c0702d 100644 --- a/packages/webapp/src/store/settings/settings.actions.ts +++ b/packages/webapp/src/store/settings/settings.actions.ts @@ -1,8 +1,12 @@ import ApiService from '@/services/ApiService'; -import { SETTING_ADD, SETTING_SET } from '@/store/types';; +import { SETTING_ADD, SETTING_SET } from '@/store/types'; import type { SettingOption } from './settings.type'; -export const submitOptions = ({ form }: { form: { options?: Array } }) => { +export const submitOptions = ({ + form, +}: { + form: { options?: Array }; +}) => { return (dispatch: any) => ApiService.post('settings', form).then((response) => { dispatch({ type: SETTING_SET, options: form.options }); diff --git a/packages/webapp/src/store/settings/settings.reducer.ts b/packages/webapp/src/store/settings/settings.reducer.ts index c354d4b09..6375a6858 100644 --- a/packages/webapp/src/store/settings/settings.reducer.ts +++ b/packages/webapp/src/store/settings/settings.reducer.ts @@ -3,7 +3,7 @@ import { createReducer } from '@reduxjs/toolkit'; import storage from 'redux-persist/lib/storage'; import { persistReducer } from 'redux-persist'; -import { SETTING_ADD, SETTING_SET } from '@/store/types';; +import { SETTING_ADD, SETTING_SET } from '@/store/types'; import type { SettingAction } from './settings.type'; const initialState = { @@ -110,4 +110,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const settingsPersistReducer = persistReducer(PRESIST_CONFIG, reducerInstance); +export const settingsPersistReducer = persistReducer( + PRESIST_CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/subscription/subscription.actions.ts b/packages/webapp/src/store/subscription/subscription.actions.ts index 721534a83..e434a4f29 100644 --- a/packages/webapp/src/store/subscription/subscription.actions.ts +++ b/packages/webapp/src/store/subscription/subscription.actions.ts @@ -1,10 +1,12 @@ -import { SET_PLAN_SUBSCRIPTIONS_LIST } from '@/store/types';; +import { SET_PLAN_SUBSCRIPTIONS_LIST } from '@/store/types'; -export const setSubscriptions = (subscriptions: Array>) => { +export const setSubscriptions = ( + subscriptions: Array>, +) => { return { type: SET_PLAN_SUBSCRIPTIONS_LIST, payload: { subscriptions, }, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/subscription/subscription.reducer.ts b/packages/webapp/src/store/subscription/subscription.reducer.ts index da2040e5d..884b9e1f8 100644 --- a/packages/webapp/src/store/subscription/subscription.reducer.ts +++ b/packages/webapp/src/store/subscription/subscription.reducer.ts @@ -1,5 +1,5 @@ import { createReducer } from '@reduxjs/toolkit'; -import { SET_PLAN_SUBSCRIPTIONS_LIST } from '@/store/types';; +import { SET_PLAN_SUBSCRIPTIONS_LIST } from '@/store/types'; interface SubscriptionsState { data: Record; diff --git a/packages/webapp/src/store/subscription/subscription.selectors.ts b/packages/webapp/src/store/subscription/subscription.selectors.ts index 04caefe6d..f4a569422 100644 --- a/packages/webapp/src/store/subscription/subscription.selectors.ts +++ b/packages/webapp/src/store/subscription/subscription.selectors.ts @@ -3,14 +3,23 @@ import { includes } from 'lodash'; import type { RootState } from '@/store/reducers'; type SubscriptionRecord = Record; -type SubscriptionProps = { subscriptionType?: string; subscriptionTypes?: Array }; +type SubscriptionProps = { + subscriptionType?: string; + subscriptionTypes?: Array; +}; const subscriptionSelector = (slug?: string) => - (state: RootState, props: SubscriptionProps): SubscriptionRecord | undefined => { - const subscriptions = Object.values(state.subscriptions.data) as SubscriptionRecord[]; + ( + state: RootState, + props: SubscriptionProps, + ): SubscriptionRecord | undefined => { + const subscriptions = Object.values( + state.subscriptions.data, + ) as SubscriptionRecord[]; return subscriptions.find( - (subscription) => subscription['slug'] === (slug || props.subscriptionType), + (subscription) => + subscription['slug'] === (slug || props.subscriptionType), ); }; @@ -18,17 +27,21 @@ const subscriptionsSelector = ( state: RootState, props: SubscriptionProps, ): SubscriptionRecord[] => { - const subscriptions = Object.values(state.subscriptions.data) as SubscriptionRecord[]; + const subscriptions = Object.values( + state.subscriptions.data, + ) as SubscriptionRecord[]; return subscriptions.filter( (subscription) => - includes(props.subscriptionTypes, subscription['slug']) || !props.subscriptionTypes, + includes(props.subscriptionTypes, subscription['slug']) || + !props.subscriptionTypes, ); }; export const isSubscriptionOnTrialFactory = (slug?: string) => createSelector( subscriptionSelector(slug), - (subscription) => !!(subscription as SubscriptionRecord | undefined)?.['on_trial'], + (subscription) => + !!(subscription as SubscriptionRecord | undefined)?.['on_trial'], ); export const isSubscriptionActiveFactory = (slug?: string) => @@ -39,7 +52,8 @@ export const isSubscriptionActiveFactory = (slug?: string) => export const isSubscriptionInactiveFactory = (slug?: string) => createSelector( subscriptionSelector(slug), - (subscription) => !!(subscription as SubscriptionRecord | undefined)?.['inactive'], + (subscription) => + !!(subscription as SubscriptionRecord | undefined)?.['inactive'], ); export const isSubscriptionsInactiveFactory = () => diff --git a/packages/webapp/src/store/subscription/subscription.types.ts b/packages/webapp/src/store/subscription/subscription.types.ts index 5fa00d9f0..3ceca350a 100644 --- a/packages/webapp/src/store/subscription/subscription.types.ts +++ b/packages/webapp/src/store/subscription/subscription.types.ts @@ -1 +1,2 @@ -export const SET_PLAN_SUBSCRIPTIONS_LIST = 'SET_PLAN_SUBSCRIPTIONS_LIST' as const; +export const SET_PLAN_SUBSCRIPTIONS_LIST = + 'SET_PLAN_SUBSCRIPTIONS_LIST' as const; diff --git a/packages/webapp/src/store/users/users.reducer.ts b/packages/webapp/src/store/users/users.reducer.ts index 868521bb6..233e5b6e3 100644 --- a/packages/webapp/src/store/users/users.reducer.ts +++ b/packages/webapp/src/store/users/users.reducer.ts @@ -1,5 +1,10 @@ import { createReducer } from '@reduxjs/toolkit'; -import { USERS_LIST_SET, USERS_TABLE_LOADING, USER_DELETE, USER_DETAILS_SET } from '@/store/types';; +import { + USERS_LIST_SET, + USERS_TABLE_LOADING, + USER_DELETE, + USER_DETAILS_SET, +} from '@/store/types'; import type { UsersState } from './users.types'; interface UserRecord { @@ -14,7 +19,10 @@ const initialState: UsersState = { }; export const usersReducer = createReducer(initialState, { - [USERS_LIST_SET]: (state, action: { type: string; payload: { users: Array } }) => { + [USERS_LIST_SET]: ( + state, + action: { type: string; payload: { users: Array } }, + ) => { const { users } = action.payload; const _users: Record = {}; @@ -29,17 +37,29 @@ export const usersReducer = createReducer(initialState, { }; }, - [USER_DETAILS_SET]: (state, action: { type: string; payload: { id: string | number; user: Record } }) => { + [USER_DETAILS_SET]: ( + state, + action: { + type: string; + payload: { id: string | number; user: Record }; + }, + ) => { const { id, user } = action.payload; const _user = (state.items[id] as Record) || {}; state.items[id] = { ..._user, ...user }; }, - [USERS_TABLE_LOADING]: (state, action: { type: string; payload: { loading: boolean } }) => { + [USERS_TABLE_LOADING]: ( + state, + action: { type: string; payload: { loading: boolean } }, + ) => { const { loading } = action.payload; state.loading = loading; }, - [USER_DELETE]: (state, action: { type: string; payload: { id: string | number } }) => { + [USER_DELETE]: ( + state, + action: { type: string; payload: { id: string | number } }, + ) => { const { id } = action.payload; if (typeof state.items[id] !== 'undefined') { delete state.items[id]; @@ -52,6 +72,9 @@ export const usersReducer = createReducer(initialState, { * @param {Object} state * @param {Numeric} id */ -export const getUserDetails = (state: { users: UsersState }, id: string | number) => { +export const getUserDetails = ( + state: { users: UsersState }, + id: string | number, +) => { return state.users.userById[id]; }; diff --git a/packages/webapp/src/store/users/users.selectors.ts b/packages/webapp/src/store/users/users.selectors.ts index 4c1cc1587..7d6fa53c5 100644 --- a/packages/webapp/src/store/users/users.selectors.ts +++ b/packages/webapp/src/store/users/users.selectors.ts @@ -3,7 +3,10 @@ import { pickItemsFromIds, getItemById } from '@/store/selectors'; import type { RootState } from '@/store/reducers'; const usersItemsSelector = (state: RootState) => state.users.items; -const userIdPropSelector = (state: RootState, props: { userId: string | number }) => props.userId; +const userIdPropSelector = ( + state: RootState, + props: { userId: string | number }, +) => props.userId; export const getExpensesCurrentPageFactory = createSelector( usersItemsSelector, @@ -12,11 +15,7 @@ export const getExpensesCurrentPageFactory = createSelector( }, ); - -export const getUserByIdFactory = () => createSelector( - usersItemsSelector, - userIdPropSelector, - (users, userId) => { +export const getUserByIdFactory = () => + createSelector(usersItemsSelector, userIdPropSelector, (users, userId) => { return getItemById(users, userId); - }, -); + }); diff --git a/packages/webapp/src/store/vendor-credit/vendor-credit.actions.ts b/packages/webapp/src/store/vendor-credit/vendor-credit.actions.ts index 5240ad91a..6512f7f8f 100644 --- a/packages/webapp/src/store/vendor-credit/vendor-credit.actions.ts +++ b/packages/webapp/src/store/vendor-credit/vendor-credit.actions.ts @@ -1,4 +1,8 @@ -import { VENDOR_CREDITS_NOTES_TABLE_STATE_RESET, VENDOR_CREDITS_TABLE_STATE_SET, VENDOR_CREDITS_SET_SELECTED_ROWS } from '@/store/types';; +import { + VENDOR_CREDITS_NOTES_TABLE_STATE_RESET, + VENDOR_CREDITS_TABLE_STATE_SET, + VENDOR_CREDITS_SET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setVendorCreditTableState = (queries: Partial) => { diff --git a/packages/webapp/src/store/vendor-credit/vendor-credit.reducer.ts b/packages/webapp/src/store/vendor-credit/vendor-credit.reducer.ts index b38bcc7ae..15693f242 100644 --- a/packages/webapp/src/store/vendor-credit/vendor-credit.reducer.ts +++ b/packages/webapp/src/store/vendor-credit/vendor-credit.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, VENDOR_CREDITS_SET_SELECTED_ROWS } from '@/store/types';; +import { RESET, VENDOR_CREDITS_SET_SELECTED_ROWS } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface VendorCreditState { @@ -33,7 +33,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('VENDOR_CREDITS', defaultTableQuery), - [VENDOR_CREDITS_SET_SELECTED_ROWS]: (state: VendorCreditState, action: { payload: Array }) => { + [VENDOR_CREDITS_SET_SELECTED_ROWS]: ( + state: VendorCreditState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, @@ -42,4 +45,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const vendorCreditPersistReducer = persistReducer(CONFIG, reducerInstance); +export const vendorCreditPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/vendor-credit/vendor-credit.type.ts b/packages/webapp/src/store/vendor-credit/vendor-credit.type.ts index 65b655a1b..53e83adc4 100644 --- a/packages/webapp/src/store/vendor-credit/vendor-credit.type.ts +++ b/packages/webapp/src/store/vendor-credit/vendor-credit.type.ts @@ -1,3 +1,6 @@ -export const VENDOR_CREDITS_TABLE_STATE_SET = 'VENDOR_CREDITS/TABLE_STATE_SET' as const; -export const VENDOR_CREDITS_NOTES_TABLE_STATE_RESET = 'VENDOR_CREDITS/TABLE_STATE_RESET' as const; -export const VENDOR_CREDITS_SET_SELECTED_ROWS = 'VENDOR_CREDITS/SET_SELECTED_ROWS' as const; +export const VENDOR_CREDITS_TABLE_STATE_SET = + 'VENDOR_CREDITS/TABLE_STATE_SET' as const; +export const VENDOR_CREDITS_NOTES_TABLE_STATE_RESET = + 'VENDOR_CREDITS/TABLE_STATE_RESET' as const; +export const VENDOR_CREDITS_SET_SELECTED_ROWS = + 'VENDOR_CREDITS/SET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/vendors/vendors.actions.ts b/packages/webapp/src/store/vendors/vendors.actions.ts index a45260a0a..7c7d0d32a 100644 --- a/packages/webapp/src/store/vendors/vendors.actions.ts +++ b/packages/webapp/src/store/vendors/vendors.actions.ts @@ -1,4 +1,9 @@ -import { VENDORS_TABLE_STATE_RESET, VENDORS_TABLE_STATE_SET, VENDORS_SET_SELECTED_ROWS, VENDORS_RESET_SELECTED_ROWS } from '@/store/types';; +import { + VENDORS_TABLE_STATE_RESET, + VENDORS_TABLE_STATE_SET, + VENDORS_SET_SELECTED_ROWS, + VENDORS_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; export const setVendorsTableState = (queries: Partial) => { @@ -6,13 +11,13 @@ export const setVendorsTableState = (queries: Partial) => { type: VENDORS_TABLE_STATE_SET, payload: { queries }, }; -} +}; export const resetVendorsTableState = () => { return { type: VENDORS_TABLE_STATE_RESET, - } -} + }; +}; export const setVendorsSelectedRows = (selectedRows: Array) => { return { @@ -25,4 +30,4 @@ export const resetVendorsSelectedRows = () => { return { type: VENDORS_RESET_SELECTED_ROWS, }; -}; \ No newline at end of file +}; diff --git a/packages/webapp/src/store/vendors/vendors.reducer.ts b/packages/webapp/src/store/vendors/vendors.reducer.ts index aa2032340..8e4dea000 100644 --- a/packages/webapp/src/store/vendors/vendors.reducer.ts +++ b/packages/webapp/src/store/vendors/vendors.reducer.ts @@ -2,7 +2,11 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET, VENDORS_SET_SELECTED_ROWS, VENDORS_RESET_SELECTED_ROWS } from '@/store/types';; +import { + RESET, + VENDORS_SET_SELECTED_ROWS, + VENDORS_RESET_SELECTED_ROWS, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface VendorsState { @@ -33,7 +37,10 @@ const CONFIG = { const reducerInstance = createReducer(initialState, { ...createTableStateReducers('VENDORS', defaultTableQueryState), - [VENDORS_SET_SELECTED_ROWS]: (state: VendorsState, action: { payload: Array }) => { + [VENDORS_SET_SELECTED_ROWS]: ( + state: VendorsState, + action: { payload: Array }, + ) => { state.selectedRows = action.payload; }, diff --git a/packages/webapp/src/store/vendors/vendors.selectors.ts b/packages/webapp/src/store/vendors/vendors.selectors.ts index 5a8ff3a2e..5a5e9d124 100644 --- a/packages/webapp/src/store/vendors/vendors.selectors.ts +++ b/packages/webapp/src/store/vendors/vendors.selectors.ts @@ -5,7 +5,8 @@ import { paginationLocationQuery } from '@/store/selectors'; import { defaultTableQueryState } from './vendors.reducer'; import type { RootState } from '@/store/reducers'; -const vendorsTableStateSelector = (state: RootState) => state.vendors.tableState; +const vendorsTableStateSelector = (state: RootState) => + state.vendors.tableState; /** * Retrieve vendors table state. diff --git a/packages/webapp/src/store/vendors/vendors.types.ts b/packages/webapp/src/store/vendors/vendors.types.ts index 4a2a86217..ac5bed2bd 100644 --- a/packages/webapp/src/store/vendors/vendors.types.ts +++ b/packages/webapp/src/store/vendors/vendors.types.ts @@ -2,4 +2,5 @@ export const VENDORS_TABLE_STATE_SET = 'VENDORS/TABLE_STATE_SET' as const; export const VENDORS_TABLE_STATE_RESET = 'VENDORS/TABLE_STATE_RESET' as const; export const VENDORS_SELECTED_ROWS_SET = 'VENDORS/SELECTED_ROWS_SET' as const; export const VENDORS_SET_SELECTED_ROWS = 'VENDORS/SET_SELECTED_ROWS' as const; -export const VENDORS_RESET_SELECTED_ROWS = 'VENDORS/RESET_SELECTED_ROWS' as const; +export const VENDORS_RESET_SELECTED_ROWS = + 'VENDORS/RESET_SELECTED_ROWS' as const; diff --git a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.actions.ts b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.actions.ts index 0da4efed3..fcff8c304 100644 --- a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.actions.ts +++ b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.actions.ts @@ -1,7 +1,12 @@ -import { WAREHOUSE_TRANSFERS_TABLE_STATE_RESET, WAREHOUSE_TRANSFERS_TABLE_STATE_SET } from '@/store/types';; +import { + WAREHOUSE_TRANSFERS_TABLE_STATE_RESET, + WAREHOUSE_TRANSFERS_TABLE_STATE_SET, +} from '@/store/types'; import type { TableQuery } from '@/store/store.types'; -export const setWarehouseTransferTableState = (queries: Partial) => { +export const setWarehouseTransferTableState = ( + queries: Partial, +) => { return { type: WAREHOUSE_TRANSFERS_TABLE_STATE_SET, payload: { queries }, diff --git a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.reducer.ts b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.reducer.ts index 88bb098d2..cd7766ea5 100644 --- a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.reducer.ts +++ b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.reducer.ts @@ -2,7 +2,7 @@ import { createReducer } from '@reduxjs/toolkit'; import { persistReducer, purgeStoredState } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { createTableStateReducers } from '@/store/table-state.reducer'; -import { RESET } from '@/store/types';; +import { RESET } from '@/store/types'; import type { TableQuery } from '@/store/store.types'; interface WarehouseTransferState { @@ -36,4 +36,7 @@ const reducerInstance = createReducer(initialState, { }, }); -export const warehouseTransfersPersistReducer = persistReducer(CONFIG, reducerInstance); +export const warehouseTransfersPersistReducer = persistReducer( + CONFIG, + reducerInstance, +); diff --git a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.type.ts b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.type.ts index 6ce7b716f..f9248128f 100644 --- a/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.type.ts +++ b/packages/webapp/src/store/warehouse-transfer/warehouse-transfer.type.ts @@ -1,2 +1,4 @@ -export const WAREHOUSE_TRANSFERS_TABLE_STATE_SET = 'WAREHOUSE_TRANSFERS/TABLE_STATE_SET' as const; -export const WAREHOUSE_TRANSFERS_TABLE_STATE_RESET = 'WAREHOUSE_TRANSFERS/TABLE_STATE_RESET' as const; +export const WAREHOUSE_TRANSFERS_TABLE_STATE_SET = + 'WAREHOUSE_TRANSFERS/TABLE_STATE_SET' as const; +export const WAREHOUSE_TRANSFERS_TABLE_STATE_RESET = + 'WAREHOUSE_TRANSFERS/TABLE_STATE_RESET' as const; diff --git a/packages/webapp/src/utils/index.tsx b/packages/webapp/src/utils/index.tsx index c605526d3..a8a6b7fd1 100644 --- a/packages/webapp/src/utils/index.tsx +++ b/packages/webapp/src/utils/index.tsx @@ -240,8 +240,12 @@ export function formattedExchangeRate(amount, currency) { return formatter.format(amount); } -export const ConditionalWrapper = ({ condition, wrapper, children, ...rest }) => - condition ? wrapper({ children, ...rest }) : children; +export const ConditionalWrapper = ({ + condition, + wrapper, + children, + ...rest +}) => (condition ? wrapper({ children, ...rest }) : children); export const checkRequiredProperties = (obj, properties) => { return properties.some((prop) => { @@ -484,7 +488,10 @@ export const getColumnWidth = ( return result; }; -export const getForceWidth = (text: string, magicSpacing: number = 14): number => { +export const getForceWidth = ( + text: string, + magicSpacing: number = 14, +): number => { const textLength = text.length; const result = textLength * magicSpacing; diff --git a/packages/webapp/src/utils/map-key-deep.ts b/packages/webapp/src/utils/map-key-deep.ts index 869bd5161..722594217 100644 --- a/packages/webapp/src/utils/map-key-deep.ts +++ b/packages/webapp/src/utils/map-key-deep.ts @@ -16,14 +16,17 @@ export interface Opts { export class DeepMapKeys { private cache = new WeakMap(); - constructor(private mapFn: MapFn, private opts: Opts) {} + constructor( + private mapFn: MapFn, + private opts: Opts, + ) {} public map(value: any): any { return isArray(value) ? this.mapArray(value) : isObject(value) - ? this.mapObject(value) - : value; + ? this.mapObject(value) + : value; } private mapArray(arr: any[]): any[] { diff --git a/packages/webapp/src/utils/withConnectHOC.tsx b/packages/webapp/src/utils/withConnectHOC.tsx index d58e41fe2..0f36e4461 100644 --- a/packages/webapp/src/utils/withConnectHOC.tsx +++ b/packages/webapp/src/utils/withConnectHOC.tsx @@ -25,9 +25,10 @@ export function createActionHOC( return function withHOC

( WrappedComponent: ComponentType

, ): ComponentType> { - const Connected = connect(null, mapDispatchToProps)( - WrappedComponent as ComponentType, - ); + const Connected = connect( + null, + mapDispatchToProps, + )(WrappedComponent as ComponentType); return Connected as unknown as ComponentType>; }; } @@ -52,7 +53,11 @@ export function createActionHOC( export function createStateFactoryHOC( createMapState: () => (state: any, props: any) => TInjectedProps, ) { - type MapStateFn = (mapped: TInjectedProps, state?: unknown, props?: unknown) => T; + type MapStateFn = ( + mapped: TInjectedProps, + state?: unknown, + props?: unknown, + ) => T; return function withHOC(mapState?: MapStateFn) { const mapStateToProps = createMapState(); @@ -62,7 +67,9 @@ export function createStateFactoryHOC( }; return function >(WrappedComponent: C) { - return connect(wrappedMapState)(WrappedComponent as ComponentType) as unknown as ComponentType< + return connect(wrappedMapState)( + WrappedComponent as ComponentType, + ) as unknown as ComponentType< Omit >; }; diff --git a/packages/webapp/src/vite-env.d.ts b/packages/webapp/src/vite-env.d.ts index ed7721066..11f02fe2a 100644 --- a/packages/webapp/src/vite-env.d.ts +++ b/packages/webapp/src/vite-env.d.ts @@ -1,2 +1 @@ /// - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 279010855..f56bbae31 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -797,6 +797,9 @@ importers: eslint-config-react-app: specifier: ^7.0.1 version: 7.0.1(@babel/plugin-syntax-flow@7.26.0(@babel/core@7.28.5))(@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5))(eslint@8.57.0)(typescript@4.9.5) + prettier: + specifier: ^3.3.3 + version: 3.3.3 vite: specifier: ^5.1.6 version: 5.4.10(@types/node@20.19.25)(less@4.2.0)(sass@1.77.2)(terser@5.31.0)