digikhata-mashreq-sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (718) hide show
  1. package/lib/module/App.js +13 -26
  2. package/lib/module/App.js.map +1 -1
  3. package/lib/module/app/api/api.js +12 -0
  4. package/lib/module/app/api/api.js.map +1 -0
  5. package/lib/module/app/assets/Icons/Bill.png +0 -0
  6. package/lib/module/app/assets/Icons/Bill_Grey.png +0 -0
  7. package/lib/module/app/assets/Icons/Cash.png +0 -0
  8. package/lib/module/app/assets/Icons/Cash_Grey.png +0 -0
  9. package/lib/module/app/assets/Icons/Expense.png +0 -0
  10. package/lib/module/app/assets/Icons/Expense_Grey.png +0 -0
  11. package/lib/module/app/assets/Icons/Staff.png +0 -0
  12. package/lib/module/app/assets/Icons/Stock.png +0 -0
  13. package/lib/module/app/assets/Icons/Stock_Grey.png +0 -0
  14. package/lib/module/app/assets/Icons/abc.png +0 -0
  15. package/lib/module/app/assets/Icons/bank_logo.png +0 -0
  16. package/lib/module/app/assets/Icons/download_sale.png +0 -0
  17. package/lib/module/app/assets/Icons/recycle-bin.png +0 -0
  18. package/lib/module/app/assets/animations/recording.json +1 -0
  19. package/lib/module/app/assets/animations/success.json +1 -0
  20. package/lib/module/app/assets/animations/voice_visualization.json +1 -0
  21. package/lib/module/app/assets/businessCards/card_11.png +0 -0
  22. package/lib/module/app/assets/businessCards/card_12_bg.png +0 -0
  23. package/lib/module/app/assets/businessCards/card_wall_01.jpeg +0 -0
  24. package/lib/module/app/assets/businessCards/card_wall_02.jpeg +0 -0
  25. package/lib/module/app/assets/businessCards/card_wall_03.jpeg +0 -0
  26. package/lib/module/app/assets/businessCards/card_wall_04.jpeg +0 -0
  27. package/lib/module/app/assets/businessCards/card_wall_05.jpeg +0 -0
  28. package/lib/module/app/assets/businessCards/card_wall_06.jpeg +0 -0
  29. package/lib/module/app/assets/businessCards/card_wall_07.jpeg +0 -0
  30. package/lib/module/app/assets/businessCards/card_wall_08.jpeg +0 -0
  31. package/lib/module/app/assets/illustrations/empty.png +0 -0
  32. package/lib/module/app/assets/illustrations/packages.png +0 -0
  33. package/lib/module/app/assets/images/Digikhata_idzarHgH0q_0.png +0 -0
  34. package/lib/module/app/assets/images/bank.png +0 -0
  35. package/lib/module/app/assets/images/digiLogo-main.png +0 -0
  36. package/lib/module/app/assets/images/svgviewer-output.svg +57 -0
  37. package/lib/module/app/assets/images/user.png +0 -0
  38. package/lib/module/app/assets/oldIcons/BILL.svg +3 -0
  39. package/lib/module/app/assets/oldIcons/CASH.svg +4 -0
  40. package/lib/module/app/assets/oldIcons/EXPENSE.svg +6 -0
  41. package/lib/module/app/assets/oldIcons/STAFF.svg +3 -0
  42. package/lib/module/app/assets/oldIcons/Sale Active.svg +14 -0
  43. package/lib/module/app/assets/oldIcons/Stock.svg +5 -0
  44. package/lib/module/app/assets/svg/BILL.svg +4 -0
  45. package/lib/module/app/assets/svg/CASH.svg +6 -0
  46. package/lib/module/app/assets/svg/EXPENSE.svg +5 -0
  47. package/lib/module/app/assets/svg/More Icon.svg +6 -0
  48. package/lib/module/app/assets/svg/Payment Icon.svg +4 -0
  49. package/lib/module/app/assets/svg/Pos.svg +13 -0
  50. package/lib/module/app/assets/svg/STAFF.svg +5 -0
  51. package/lib/module/app/assets/svg/Sale Active.svg +8 -0
  52. package/lib/module/app/assets/svg/Sale Icon.svg +3 -0
  53. package/lib/module/app/assets/svg/Stock.svg +5 -0
  54. package/lib/module/app/components/AccountSetupSteps.js +64 -0
  55. package/lib/module/app/components/AccountSetupSteps.js.map +1 -0
  56. package/lib/module/app/components/AddItemBillParent.js +366 -0
  57. package/lib/module/app/components/AddItemBillParent.js.map +1 -0
  58. package/lib/module/app/components/AdditemBillChild.js +1123 -0
  59. package/lib/module/app/components/AdditemBillChild.js.map +1 -0
  60. package/lib/module/app/components/Balance.js +116 -70
  61. package/lib/module/app/components/Balance.js.map +1 -1
  62. package/lib/module/app/components/BillList.js +428 -0
  63. package/lib/module/app/components/BillList.js.map +1 -0
  64. package/lib/module/app/components/BillSetupSteps.js +64 -0
  65. package/lib/module/app/components/BillSetupSteps.js.map +1 -0
  66. package/lib/module/app/components/BottomView.js +35 -0
  67. package/lib/module/app/components/BottomView.js.map +1 -0
  68. package/lib/module/app/components/BusinessCards/Card1.js +202 -0
  69. package/lib/module/app/components/BusinessCards/Card1.js.map +1 -0
  70. package/lib/module/app/components/BusinessCards/Card10.js +234 -0
  71. package/lib/module/app/components/BusinessCards/Card10.js.map +1 -0
  72. package/lib/module/app/components/BusinessCards/Card2.js +190 -0
  73. package/lib/module/app/components/BusinessCards/Card2.js.map +1 -0
  74. package/lib/module/app/components/BusinessCards/Card3.js +186 -0
  75. package/lib/module/app/components/BusinessCards/Card3.js.map +1 -0
  76. package/lib/module/app/components/BusinessCards/Card4.js +186 -0
  77. package/lib/module/app/components/BusinessCards/Card4.js.map +1 -0
  78. package/lib/module/app/components/BusinessCards/Card5.js +189 -0
  79. package/lib/module/app/components/BusinessCards/Card5.js.map +1 -0
  80. package/lib/module/app/components/BusinessCards/Card6.js +198 -0
  81. package/lib/module/app/components/BusinessCards/Card6.js.map +1 -0
  82. package/lib/module/app/components/BusinessCards/Card7.js +185 -0
  83. package/lib/module/app/components/BusinessCards/Card7.js.map +1 -0
  84. package/lib/module/app/components/BusinessCards/Card8.js +187 -0
  85. package/lib/module/app/components/BusinessCards/Card8.js.map +1 -0
  86. package/lib/module/app/components/BusinessCards/Card9.js +234 -0
  87. package/lib/module/app/components/BusinessCards/Card9.js.map +1 -0
  88. package/lib/module/app/components/BusinessCards/index.js +13 -0
  89. package/lib/module/app/components/BusinessCards/index.js.map +1 -0
  90. package/lib/module/app/components/CashEntryComponent.js +256 -0
  91. package/lib/module/app/components/CashEntryComponent.js.map +1 -0
  92. package/lib/module/app/components/CityModal.js +116 -0
  93. package/lib/module/app/components/CityModal.js.map +1 -0
  94. package/lib/module/app/components/CountryPhoneInput.js +263 -166
  95. package/lib/module/app/components/CountryPhoneInput.js.map +1 -1
  96. package/lib/module/app/components/CreateExpenseAccount.js +139 -0
  97. package/lib/module/app/components/CreateExpenseAccount.js.map +1 -0
  98. package/lib/module/app/components/CustomStatusBar.js +29 -0
  99. package/lib/module/app/components/CustomStatusBar.js.map +1 -0
  100. package/lib/module/app/components/CustomToast.js +135 -0
  101. package/lib/module/app/components/CustomToast.js.map +1 -0
  102. package/lib/module/app/components/DeleteBusinessModal.js +174 -0
  103. package/lib/module/app/components/DeleteBusinessModal.js.map +1 -0
  104. package/lib/module/app/components/DiscountTaxModal.js +242 -0
  105. package/lib/module/app/components/DiscountTaxModal.js.map +1 -0
  106. package/lib/module/app/components/Entries.js +54 -32
  107. package/lib/module/app/components/Entries.js.map +1 -1
  108. package/lib/module/app/components/ExpenseList.js +402 -0
  109. package/lib/module/app/components/ExpenseList.js.map +1 -0
  110. package/lib/module/app/components/ExpenseParent.js +441 -0
  111. package/lib/module/app/components/ExpenseParent.js.map +1 -0
  112. package/lib/module/app/components/FloatingInput.js +159 -0
  113. package/lib/module/app/components/FloatingInput.js.map +1 -0
  114. package/lib/module/app/components/Header.js +107 -0
  115. package/lib/module/app/components/Header.js.map +1 -0
  116. package/lib/module/app/components/Loader.js +45 -0
  117. package/lib/module/app/components/Loader.js.map +1 -0
  118. package/lib/module/app/components/PartyModal.js +230 -0
  119. package/lib/module/app/components/PartyModal.js.map +1 -0
  120. package/lib/module/app/components/PickerModal.js +153 -0
  121. package/lib/module/app/components/PickerModal.js.map +1 -0
  122. package/lib/module/app/components/SalePaymentModal.js +743 -0
  123. package/lib/module/app/components/SalePaymentModal.js.map +1 -0
  124. package/lib/module/app/components/SearchBar.js +179 -42
  125. package/lib/module/app/components/SearchBar.js.map +1 -1
  126. package/lib/module/app/components/StockDetailChild.js +425 -0
  127. package/lib/module/app/components/StockDetailChild.js.map +1 -0
  128. package/lib/module/app/components/StockList.js +448 -0
  129. package/lib/module/app/components/StockList.js.map +1 -0
  130. package/lib/module/app/components/StockReportTransaction.js +182 -0
  131. package/lib/module/app/components/StockReportTransaction.js.map +1 -0
  132. package/lib/module/app/components/Transaction.js +193 -53
  133. package/lib/module/app/components/Transaction.js.map +1 -1
  134. package/lib/module/app/components/User.js +106 -51
  135. package/lib/module/app/components/User.js.map +1 -1
  136. package/lib/module/app/components/index.js +20 -1
  137. package/lib/module/app/components/index.js.map +1 -1
  138. package/lib/module/app/database/bill.js +247 -0
  139. package/lib/module/app/database/bill.js.map +1 -0
  140. package/lib/module/app/database/business.js +262 -0
  141. package/lib/module/app/database/business.js.map +1 -0
  142. package/lib/module/app/database/cash.js +299 -0
  143. package/lib/module/app/database/cash.js.map +1 -0
  144. package/lib/module/app/database/clients.js +1182 -36
  145. package/lib/module/app/database/clients.js.map +1 -1
  146. package/lib/module/app/database/expense.js +299 -0
  147. package/lib/module/app/database/expense.js.map +1 -0
  148. package/lib/module/app/database/schema.js +113 -3
  149. package/lib/module/app/database/schema.js.map +1 -1
  150. package/lib/module/app/database/stock.js +509 -0
  151. package/lib/module/app/database/stock.js.map +1 -0
  152. package/lib/module/app/htmlTemplates/htmlTemplates.js +2504 -0
  153. package/lib/module/app/htmlTemplates/htmlTemplates.js.map +1 -0
  154. package/lib/module/app/navigation/BillStack/BillStack.js +40 -0
  155. package/lib/module/app/navigation/BillStack/BillStack.js.map +1 -0
  156. package/lib/module/app/navigation/BottomTabs/BottomTabs.js +10 -5
  157. package/lib/module/app/navigation/BottomTabs/BottomTabs.js.map +1 -1
  158. package/lib/module/app/navigation/BusinessStack/BusinessStack.js +30 -0
  159. package/lib/module/app/navigation/BusinessStack/BusinessStack.js.map +1 -0
  160. package/lib/module/app/navigation/CashStack/CashStack.js +79 -0
  161. package/lib/module/app/navigation/CashStack/CashStack.js.map +1 -0
  162. package/lib/module/app/navigation/EntriesStack/EntriesStack.js +223 -0
  163. package/lib/module/app/navigation/EntriesStack/EntriesStack.js.map +1 -0
  164. package/lib/module/app/navigation/ExpenseStack.js/ExpenseStack.js +37 -0
  165. package/lib/module/app/navigation/ExpenseStack.js/ExpenseStack.js.map +1 -0
  166. package/lib/module/app/navigation/HomeStack/HomeStack.js +93 -1
  167. package/lib/module/app/navigation/HomeStack/HomeStack.js.map +1 -1
  168. package/lib/module/app/navigation/Root.js +10 -1
  169. package/lib/module/app/navigation/Root.js.map +1 -1
  170. package/lib/module/app/navigation/SaleStack/SaleStack.js +73 -0
  171. package/lib/module/app/navigation/SaleStack/SaleStack.js.map +1 -0
  172. package/lib/module/app/navigation/StockStack/StockStack.js +49 -0
  173. package/lib/module/app/navigation/StockStack/StockStack.js.map +1 -0
  174. package/lib/module/app/navigation/index.js +3 -1
  175. package/lib/module/app/navigation/index.js.map +1 -1
  176. package/lib/module/app/redux/Store.js +3 -1
  177. package/lib/module/app/redux/Store.js.map +1 -1
  178. package/lib/module/app/redux/reducers/client/client_reducers.js +23 -2
  179. package/lib/module/app/redux/reducers/client/client_reducers.js.map +1 -1
  180. package/lib/module/app/redux/reducers/client/client_types.js +5 -0
  181. package/lib/module/app/redux/reducers/client/client_types.js.map +1 -1
  182. package/lib/module/app/redux/reducers/user/user_reducers.js +22 -0
  183. package/lib/module/app/redux/reducers/user/user_reducers.js.map +1 -0
  184. package/lib/module/app/redux/reducers/user/user_types.js +6 -0
  185. package/lib/module/app/redux/reducers/user/user_types.js.map +1 -0
  186. package/lib/module/app/screens/AddBank.js +237 -0
  187. package/lib/module/app/screens/AddBank.js.map +1 -0
  188. package/lib/module/app/screens/AddBusiness.js +905 -0
  189. package/lib/module/app/screens/AddBusiness.js.map +1 -0
  190. package/lib/module/app/screens/AddItems.js +433 -0
  191. package/lib/module/app/screens/AddItems.js.map +1 -0
  192. package/lib/module/app/screens/AddScreen.js +341 -77
  193. package/lib/module/app/screens/AddScreen.js.map +1 -1
  194. package/lib/module/app/screens/All.js +836 -0
  195. package/lib/module/app/screens/All.js.map +1 -0
  196. package/lib/module/app/screens/AllTransactions.js +846 -0
  197. package/lib/module/app/screens/AllTransactions.js.map +1 -0
  198. package/lib/module/app/screens/Banks.js +807 -48
  199. package/lib/module/app/screens/Banks.js.map +1 -1
  200. package/lib/module/app/screens/BillDetails.js +1033 -0
  201. package/lib/module/app/screens/BillDetails.js.map +1 -0
  202. package/lib/module/app/screens/BillHome.js +102 -0
  203. package/lib/module/app/screens/BillHome.js.map +1 -0
  204. package/lib/module/app/screens/BillParent.js +373 -0
  205. package/lib/module/app/screens/BillParent.js.map +1 -0
  206. package/lib/module/app/screens/BusinessDetail.js +787 -0
  207. package/lib/module/app/screens/BusinessDetail.js.map +1 -0
  208. package/lib/module/app/screens/CashEntry.js +2429 -0
  209. package/lib/module/app/screens/CashEntry.js.map +1 -0
  210. package/lib/module/app/screens/CashEntryDetails.js +574 -0
  211. package/lib/module/app/screens/CashEntryDetails.js.map +1 -0
  212. package/lib/module/app/screens/CashHome.js +544 -0
  213. package/lib/module/app/screens/CashHome.js.map +1 -0
  214. package/lib/module/app/screens/CashReport.js +1297 -0
  215. package/lib/module/app/screens/CashReport.js.map +1 -0
  216. package/lib/module/app/screens/CashSummary.js +602 -0
  217. package/lib/module/app/screens/CashSummary.js.map +1 -0
  218. package/lib/module/app/screens/CreateBill.js +2137 -0
  219. package/lib/module/app/screens/CreateBill.js.map +1 -0
  220. package/lib/module/app/screens/CustomerEntries.js +1093 -184
  221. package/lib/module/app/screens/CustomerEntries.js.map +1 -1
  222. package/lib/module/app/screens/Customers.js +727 -96
  223. package/lib/module/app/screens/Customers.js.map +1 -1
  224. package/lib/module/app/screens/EditCategory.js +299 -0
  225. package/lib/module/app/screens/EditCategory.js.map +1 -0
  226. package/lib/module/app/screens/EditCategoryStock.js +302 -0
  227. package/lib/module/app/screens/EditCategoryStock.js.map +1 -0
  228. package/lib/module/app/screens/Entry.js +1838 -275
  229. package/lib/module/app/screens/Entry.js.map +1 -1
  230. package/lib/module/app/screens/ExpenseDetail.js +15 -0
  231. package/lib/module/app/screens/ExpenseDetail.js.map +1 -0
  232. package/lib/module/app/screens/ExpenseEntries.js +713 -0
  233. package/lib/module/app/screens/ExpenseEntries.js.map +1 -0
  234. package/lib/module/app/screens/ExpenseEntry.js +2095 -0
  235. package/lib/module/app/screens/ExpenseEntry.js.map +1 -0
  236. package/lib/module/app/screens/ExpenseEntryDetails.js +508 -0
  237. package/lib/module/app/screens/ExpenseEntryDetails.js.map +1 -0
  238. package/lib/module/app/screens/ExpenseEntryReport.js +792 -0
  239. package/lib/module/app/screens/ExpenseEntryReport.js.map +1 -0
  240. package/lib/module/app/screens/ExpenseReport.js +792 -0
  241. package/lib/module/app/screens/ExpenseReport.js.map +1 -0
  242. package/lib/module/app/screens/Geolocation.js +374 -0
  243. package/lib/module/app/screens/Geolocation.js.map +1 -0
  244. package/lib/module/app/screens/GetStarted.js +213 -0
  245. package/lib/module/app/screens/GetStarted.js.map +1 -0
  246. package/lib/module/app/screens/HomeScreen.js +202 -55
  247. package/lib/module/app/screens/HomeScreen.js.map +1 -1
  248. package/lib/module/app/screens/InBuy.js +854 -0
  249. package/lib/module/app/screens/InBuy.js.map +1 -0
  250. package/lib/module/app/screens/ItemEntryDetails.js +652 -0
  251. package/lib/module/app/screens/ItemEntryDetails.js.map +1 -0
  252. package/lib/module/app/screens/LowStock.js +372 -0
  253. package/lib/module/app/screens/LowStock.js.map +1 -0
  254. package/lib/module/app/screens/NewPin.js +234 -0
  255. package/lib/module/app/screens/NewPin.js.map +1 -0
  256. package/lib/module/app/screens/OutSell.js +1883 -0
  257. package/lib/module/app/screens/OutSell.js.map +1 -0
  258. package/lib/module/app/screens/POSSale.js +637 -0
  259. package/lib/module/app/screens/POSSale.js.map +1 -0
  260. package/lib/module/app/screens/PinScreen.js +663 -0
  261. package/lib/module/app/screens/PinScreen.js.map +1 -0
  262. package/lib/module/app/screens/PreviewBill.js +329 -0
  263. package/lib/module/app/screens/PreviewBill.js.map +1 -0
  264. package/lib/module/app/screens/Profile.js +1160 -0
  265. package/lib/module/app/screens/Profile.js.map +1 -0
  266. package/lib/module/app/screens/RateList.js +432 -0
  267. package/lib/module/app/screens/RateList.js.map +1 -0
  268. package/lib/module/app/screens/Report.js +1105 -0
  269. package/lib/module/app/screens/Report.js.map +1 -0
  270. package/lib/module/app/screens/SaleItemDetail.js +1047 -0
  271. package/lib/module/app/screens/SaleItemDetail.js.map +1 -0
  272. package/lib/module/app/screens/SaleParent.js +289 -0
  273. package/lib/module/app/screens/SaleParent.js.map +1 -0
  274. package/lib/module/app/screens/SelectBank.js +220 -0
  275. package/lib/module/app/screens/SelectBank.js.map +1 -0
  276. package/lib/module/app/screens/SelectBusiness.js +497 -93
  277. package/lib/module/app/screens/SelectBusiness.js.map +1 -1
  278. package/lib/module/app/screens/Splash.js +93 -20
  279. package/lib/module/app/screens/Splash.js.map +1 -1
  280. package/lib/module/app/screens/StockChild.js +362 -0
  281. package/lib/module/app/screens/StockChild.js.map +1 -0
  282. package/lib/module/app/screens/StockDetail.js +705 -0
  283. package/lib/module/app/screens/StockDetail.js.map +1 -0
  284. package/lib/module/app/screens/StockParent.js +260 -0
  285. package/lib/module/app/screens/StockParent.js.map +1 -0
  286. package/lib/module/app/screens/StockReport.js +1031 -0
  287. package/lib/module/app/screens/StockReport.js.map +1 -0
  288. package/lib/module/app/screens/StockValue.js +545 -0
  289. package/lib/module/app/screens/StockValue.js.map +1 -0
  290. package/lib/module/app/screens/Suppliers.js +753 -98
  291. package/lib/module/app/screens/Suppliers.js.map +1 -1
  292. package/lib/module/app/screens/TransactionDetails.js +1169 -81
  293. package/lib/module/app/screens/TransactionDetails.js.map +1 -1
  294. package/lib/module/app/screens/UpdateBusiness.js +707 -0
  295. package/lib/module/app/screens/UpdateBusiness.js.map +1 -0
  296. package/lib/module/app/screens/VisionCamera.js +60 -0
  297. package/lib/module/app/screens/VisionCamera.js.map +1 -0
  298. package/lib/module/app/screens/index.js +46 -1
  299. package/lib/module/app/screens/index.js.map +1 -1
  300. package/lib/module/app/screens/new.html +171 -0
  301. package/lib/module/app/themes/config.js +299 -30
  302. package/lib/module/app/themes/config.js.map +1 -1
  303. package/lib/module/app/utils/city.json +7265 -0
  304. package/lib/typescript/eslint.config.d.mts +1 -1
  305. package/lib/typescript/src/App.d.ts.map +1 -1
  306. package/lib/typescript/src/app/api/api.d.ts +10 -0
  307. package/lib/typescript/src/app/api/api.d.ts.map +1 -0
  308. package/lib/typescript/src/app/components/AccountSetupSteps.d.ts +3 -0
  309. package/lib/typescript/src/app/components/AccountSetupSteps.d.ts.map +1 -0
  310. package/lib/typescript/src/app/components/AddItemBillParent.d.ts +5 -0
  311. package/lib/typescript/src/app/components/AddItemBillParent.d.ts.map +1 -0
  312. package/lib/typescript/src/app/components/AdditemBillChild.d.ts +6 -0
  313. package/lib/typescript/src/app/components/AdditemBillChild.d.ts.map +1 -0
  314. package/lib/typescript/src/app/components/Balance.d.ts +3 -1
  315. package/lib/typescript/src/app/components/Balance.d.ts.map +1 -1
  316. package/lib/typescript/src/app/components/BillList.d.ts +5 -0
  317. package/lib/typescript/src/app/components/BillList.d.ts.map +1 -0
  318. package/lib/typescript/src/app/components/BillSetupSteps.d.ts +3 -0
  319. package/lib/typescript/src/app/components/BillSetupSteps.d.ts.map +1 -0
  320. package/lib/typescript/src/app/components/BottomView.d.ts +6 -0
  321. package/lib/typescript/src/app/components/BottomView.d.ts.map +1 -0
  322. package/lib/typescript/src/app/components/BusinessCards/Card1.d.ts +14 -0
  323. package/lib/typescript/src/app/components/BusinessCards/Card1.d.ts.map +1 -0
  324. package/lib/typescript/src/app/components/BusinessCards/Card10.d.ts +14 -0
  325. package/lib/typescript/src/app/components/BusinessCards/Card10.d.ts.map +1 -0
  326. package/lib/typescript/src/app/components/BusinessCards/Card2.d.ts +14 -0
  327. package/lib/typescript/src/app/components/BusinessCards/Card2.d.ts.map +1 -0
  328. package/lib/typescript/src/app/components/BusinessCards/Card3.d.ts +14 -0
  329. package/lib/typescript/src/app/components/BusinessCards/Card3.d.ts.map +1 -0
  330. package/lib/typescript/src/app/components/BusinessCards/Card4.d.ts +14 -0
  331. package/lib/typescript/src/app/components/BusinessCards/Card4.d.ts.map +1 -0
  332. package/lib/typescript/src/app/components/BusinessCards/Card5.d.ts +14 -0
  333. package/lib/typescript/src/app/components/BusinessCards/Card5.d.ts.map +1 -0
  334. package/lib/typescript/src/app/components/BusinessCards/Card6.d.ts +14 -0
  335. package/lib/typescript/src/app/components/BusinessCards/Card6.d.ts.map +1 -0
  336. package/lib/typescript/src/app/components/BusinessCards/Card7.d.ts +14 -0
  337. package/lib/typescript/src/app/components/BusinessCards/Card7.d.ts.map +1 -0
  338. package/lib/typescript/src/app/components/BusinessCards/Card8.d.ts +14 -0
  339. package/lib/typescript/src/app/components/BusinessCards/Card8.d.ts.map +1 -0
  340. package/lib/typescript/src/app/components/BusinessCards/Card9.d.ts +14 -0
  341. package/lib/typescript/src/app/components/BusinessCards/Card9.d.ts.map +1 -0
  342. package/lib/typescript/src/app/components/BusinessCards/index.d.ts +11 -0
  343. package/lib/typescript/src/app/components/BusinessCards/index.d.ts.map +1 -0
  344. package/lib/typescript/src/app/components/CashEntryComponent.d.ts +8 -0
  345. package/lib/typescript/src/app/components/CashEntryComponent.d.ts.map +1 -0
  346. package/lib/typescript/src/app/components/CityModal.d.ts +7 -0
  347. package/lib/typescript/src/app/components/CityModal.d.ts.map +1 -0
  348. package/lib/typescript/src/app/components/CountryPhoneInput.d.ts +4 -1
  349. package/lib/typescript/src/app/components/CountryPhoneInput.d.ts.map +1 -1
  350. package/lib/typescript/src/app/components/CreateExpenseAccount.d.ts +9 -0
  351. package/lib/typescript/src/app/components/CreateExpenseAccount.d.ts.map +1 -0
  352. package/lib/typescript/src/app/components/CustomStatusBar.d.ts +3 -0
  353. package/lib/typescript/src/app/components/CustomStatusBar.d.ts.map +1 -0
  354. package/lib/typescript/src/app/components/CustomToast.d.ts +10 -0
  355. package/lib/typescript/src/app/components/CustomToast.d.ts.map +1 -0
  356. package/lib/typescript/src/app/components/DeleteBusinessModal.d.ts +8 -0
  357. package/lib/typescript/src/app/components/DeleteBusinessModal.d.ts.map +1 -0
  358. package/lib/typescript/src/app/components/DiscountTaxModal.d.ts +9 -0
  359. package/lib/typescript/src/app/components/DiscountTaxModal.d.ts.map +1 -0
  360. package/lib/typescript/src/app/components/Entries.d.ts.map +1 -1
  361. package/lib/typescript/src/app/components/ExpenseList.d.ts +6 -0
  362. package/lib/typescript/src/app/components/ExpenseList.d.ts.map +1 -0
  363. package/lib/typescript/src/app/components/ExpenseParent.d.ts +4 -0
  364. package/lib/typescript/src/app/components/ExpenseParent.d.ts.map +1 -0
  365. package/lib/typescript/src/app/components/FloatingInput.d.ts +18 -0
  366. package/lib/typescript/src/app/components/FloatingInput.d.ts.map +1 -0
  367. package/lib/typescript/src/app/components/Header.d.ts +11 -0
  368. package/lib/typescript/src/app/components/Header.d.ts.map +1 -0
  369. package/lib/typescript/src/app/components/Loader.d.ts +5 -0
  370. package/lib/typescript/src/app/components/Loader.d.ts.map +1 -0
  371. package/lib/typescript/src/app/components/PartyModal.d.ts +7 -0
  372. package/lib/typescript/src/app/components/PartyModal.d.ts.map +1 -0
  373. package/lib/typescript/src/app/components/PickerModal.d.ts +8 -0
  374. package/lib/typescript/src/app/components/PickerModal.d.ts.map +1 -0
  375. package/lib/typescript/src/app/components/SalePaymentModal.d.ts +15 -0
  376. package/lib/typescript/src/app/components/SalePaymentModal.d.ts.map +1 -0
  377. package/lib/typescript/src/app/components/SearchBar.d.ts +2 -4
  378. package/lib/typescript/src/app/components/SearchBar.d.ts.map +1 -1
  379. package/lib/typescript/src/app/components/StockDetailChild.d.ts +5 -0
  380. package/lib/typescript/src/app/components/StockDetailChild.d.ts.map +1 -0
  381. package/lib/typescript/src/app/components/StockList.d.ts +6 -0
  382. package/lib/typescript/src/app/components/StockList.d.ts.map +1 -0
  383. package/lib/typescript/src/app/components/StockReportTransaction.d.ts +18 -0
  384. package/lib/typescript/src/app/components/StockReportTransaction.d.ts.map +1 -0
  385. package/lib/typescript/src/app/components/Transaction.d.ts +9 -2
  386. package/lib/typescript/src/app/components/Transaction.d.ts.map +1 -1
  387. package/lib/typescript/src/app/components/User.d.ts +3 -1
  388. package/lib/typescript/src/app/components/User.d.ts.map +1 -1
  389. package/lib/typescript/src/app/components/index.d.ts +26 -7
  390. package/lib/typescript/src/app/components/index.d.ts.map +1 -1
  391. package/lib/typescript/src/app/database/bill.d.ts +7 -0
  392. package/lib/typescript/src/app/database/bill.d.ts.map +1 -0
  393. package/lib/typescript/src/app/database/business.d.ts +9 -0
  394. package/lib/typescript/src/app/database/business.d.ts.map +1 -0
  395. package/lib/typescript/src/app/database/cash.d.ts +14 -0
  396. package/lib/typescript/src/app/database/cash.d.ts.map +1 -0
  397. package/lib/typescript/src/app/database/clients.d.ts +36 -5
  398. package/lib/typescript/src/app/database/clients.d.ts.map +1 -1
  399. package/lib/typescript/src/app/database/expense.d.ts +12 -0
  400. package/lib/typescript/src/app/database/expense.d.ts.map +1 -0
  401. package/lib/typescript/src/app/database/schema.d.ts.map +1 -1
  402. package/lib/typescript/src/app/database/stock.d.ts +16 -0
  403. package/lib/typescript/src/app/database/stock.d.ts.map +1 -0
  404. package/lib/typescript/src/app/htmlTemplates/htmlTemplates.d.ts +29 -0
  405. package/lib/typescript/src/app/htmlTemplates/htmlTemplates.d.ts.map +1 -0
  406. package/lib/typescript/src/app/navigation/BillStack/BillStack.d.ts +2 -0
  407. package/lib/typescript/src/app/navigation/BillStack/BillStack.d.ts.map +1 -0
  408. package/lib/typescript/src/app/navigation/BottomTabs/BottomTabs.d.ts.map +1 -1
  409. package/lib/typescript/src/app/navigation/BusinessStack/BusinessStack.d.ts +2 -0
  410. package/lib/typescript/src/app/navigation/BusinessStack/BusinessStack.d.ts.map +1 -0
  411. package/lib/typescript/src/app/navigation/CashStack/CashStack.d.ts +2 -0
  412. package/lib/typescript/src/app/navigation/CashStack/CashStack.d.ts.map +1 -0
  413. package/lib/typescript/src/app/navigation/EntriesStack/EntriesStack.d.ts +2 -0
  414. package/lib/typescript/src/app/navigation/EntriesStack/EntriesStack.d.ts.map +1 -0
  415. package/lib/typescript/src/app/navigation/ExpenseStack.js/ExpenseStack.d.ts +2 -0
  416. package/lib/typescript/src/app/navigation/ExpenseStack.js/ExpenseStack.d.ts.map +1 -0
  417. package/lib/typescript/src/app/navigation/HomeStack/HomeStack.d.ts.map +1 -1
  418. package/lib/typescript/src/app/navigation/Root.d.ts.map +1 -1
  419. package/lib/typescript/src/app/navigation/SaleStack/SaleStack.d.ts +2 -0
  420. package/lib/typescript/src/app/navigation/SaleStack/SaleStack.d.ts.map +1 -0
  421. package/lib/typescript/src/app/navigation/StockStack/StockStack.d.ts +2 -0
  422. package/lib/typescript/src/app/navigation/StockStack/StockStack.d.ts.map +1 -0
  423. package/lib/typescript/src/app/navigation/index.d.ts +3 -1
  424. package/lib/typescript/src/app/navigation/index.d.ts.map +1 -1
  425. package/lib/typescript/src/app/redux/Store.d.ts.map +1 -1
  426. package/lib/typescript/src/app/redux/reducers/client/client_reducers.d.ts.map +1 -1
  427. package/lib/typescript/src/app/redux/reducers/client/client_types.d.ts +5 -0
  428. package/lib/typescript/src/app/redux/reducers/client/client_types.d.ts.map +1 -1
  429. package/lib/typescript/src/app/redux/reducers/user/user_reducers.d.ts +3 -0
  430. package/lib/typescript/src/app/redux/reducers/user/user_reducers.d.ts.map +1 -0
  431. package/lib/typescript/src/app/redux/reducers/user/user_types.d.ts +4 -0
  432. package/lib/typescript/src/app/redux/reducers/user/user_types.d.ts.map +1 -0
  433. package/lib/typescript/src/app/screens/AddBank.d.ts +5 -0
  434. package/lib/typescript/src/app/screens/AddBank.d.ts.map +1 -0
  435. package/lib/typescript/src/app/screens/AddBusiness.d.ts +4 -0
  436. package/lib/typescript/src/app/screens/AddBusiness.d.ts.map +1 -0
  437. package/lib/typescript/src/app/screens/AddItems.d.ts +5 -0
  438. package/lib/typescript/src/app/screens/AddItems.d.ts.map +1 -0
  439. package/lib/typescript/src/app/screens/AddScreen.d.ts.map +1 -1
  440. package/lib/typescript/src/app/screens/All.d.ts +2 -0
  441. package/lib/typescript/src/app/screens/All.d.ts.map +1 -0
  442. package/lib/typescript/src/app/screens/AllTransactions.d.ts +5 -0
  443. package/lib/typescript/src/app/screens/AllTransactions.d.ts.map +1 -0
  444. package/lib/typescript/src/app/screens/Banks.d.ts.map +1 -1
  445. package/lib/typescript/src/app/screens/BillDetails.d.ts +6 -0
  446. package/lib/typescript/src/app/screens/BillDetails.d.ts.map +1 -0
  447. package/lib/typescript/src/app/screens/BillHome.d.ts +5 -0
  448. package/lib/typescript/src/app/screens/BillHome.d.ts.map +1 -0
  449. package/lib/typescript/src/app/screens/BillParent.d.ts +5 -0
  450. package/lib/typescript/src/app/screens/BillParent.d.ts.map +1 -0
  451. package/lib/typescript/src/app/screens/BusinessDetail.d.ts +4 -0
  452. package/lib/typescript/src/app/screens/BusinessDetail.d.ts.map +1 -0
  453. package/lib/typescript/src/app/screens/CashEntry.d.ts +5 -0
  454. package/lib/typescript/src/app/screens/CashEntry.d.ts.map +1 -0
  455. package/lib/typescript/src/app/screens/CashEntryDetails.d.ts +5 -0
  456. package/lib/typescript/src/app/screens/CashEntryDetails.d.ts.map +1 -0
  457. package/lib/typescript/src/app/screens/CashHome.d.ts +4 -0
  458. package/lib/typescript/src/app/screens/CashHome.d.ts.map +1 -0
  459. package/lib/typescript/src/app/screens/CashReport.d.ts +4 -0
  460. package/lib/typescript/src/app/screens/CashReport.d.ts.map +1 -0
  461. package/lib/typescript/src/app/screens/CashSummary.d.ts +5 -0
  462. package/lib/typescript/src/app/screens/CashSummary.d.ts.map +1 -0
  463. package/lib/typescript/src/app/screens/CreateBill.d.ts +5 -0
  464. package/lib/typescript/src/app/screens/CreateBill.d.ts.map +1 -0
  465. package/lib/typescript/src/app/screens/CustomerEntries.d.ts.map +1 -1
  466. package/lib/typescript/src/app/screens/Customers.d.ts +1 -3
  467. package/lib/typescript/src/app/screens/Customers.d.ts.map +1 -1
  468. package/lib/typescript/src/app/screens/EditCategory.d.ts +4 -0
  469. package/lib/typescript/src/app/screens/EditCategory.d.ts.map +1 -0
  470. package/lib/typescript/src/app/screens/EditCategoryStock.d.ts +4 -0
  471. package/lib/typescript/src/app/screens/EditCategoryStock.d.ts.map +1 -0
  472. package/lib/typescript/src/app/screens/Entry.d.ts.map +1 -1
  473. package/lib/typescript/src/app/screens/ExpenseDetail.d.ts +3 -0
  474. package/lib/typescript/src/app/screens/ExpenseDetail.d.ts.map +1 -0
  475. package/lib/typescript/src/app/screens/ExpenseEntries.d.ts +5 -0
  476. package/lib/typescript/src/app/screens/ExpenseEntries.d.ts.map +1 -0
  477. package/lib/typescript/src/app/screens/ExpenseEntry.d.ts +5 -0
  478. package/lib/typescript/src/app/screens/ExpenseEntry.d.ts.map +1 -0
  479. package/lib/typescript/src/app/screens/ExpenseEntryDetails.d.ts +5 -0
  480. package/lib/typescript/src/app/screens/ExpenseEntryDetails.d.ts.map +1 -0
  481. package/lib/typescript/src/app/screens/ExpenseEntryReport.d.ts +5 -0
  482. package/lib/typescript/src/app/screens/ExpenseEntryReport.d.ts.map +1 -0
  483. package/lib/typescript/src/app/screens/ExpenseReport.d.ts +5 -0
  484. package/lib/typescript/src/app/screens/ExpenseReport.d.ts.map +1 -0
  485. package/lib/typescript/src/app/screens/Geolocation.d.ts +5 -0
  486. package/lib/typescript/src/app/screens/Geolocation.d.ts.map +1 -0
  487. package/lib/typescript/src/app/screens/GetStarted.d.ts +4 -0
  488. package/lib/typescript/src/app/screens/GetStarted.d.ts.map +1 -0
  489. package/lib/typescript/src/app/screens/HomeScreen.d.ts.map +1 -1
  490. package/lib/typescript/src/app/screens/InBuy.d.ts +5 -0
  491. package/lib/typescript/src/app/screens/InBuy.d.ts.map +1 -0
  492. package/lib/typescript/src/app/screens/ItemEntryDetails.d.ts +5 -0
  493. package/lib/typescript/src/app/screens/ItemEntryDetails.d.ts.map +1 -0
  494. package/lib/typescript/src/app/screens/LowStock.d.ts +4 -0
  495. package/lib/typescript/src/app/screens/LowStock.d.ts.map +1 -0
  496. package/lib/typescript/src/app/screens/NewPin.d.ts +5 -0
  497. package/lib/typescript/src/app/screens/NewPin.d.ts.map +1 -0
  498. package/lib/typescript/src/app/screens/OutSell.d.ts +6 -0
  499. package/lib/typescript/src/app/screens/OutSell.d.ts.map +1 -0
  500. package/lib/typescript/src/app/screens/POSSale.d.ts +9 -0
  501. package/lib/typescript/src/app/screens/POSSale.d.ts.map +1 -0
  502. package/lib/typescript/src/app/screens/PinScreen.d.ts +5 -0
  503. package/lib/typescript/src/app/screens/PinScreen.d.ts.map +1 -0
  504. package/lib/typescript/src/app/screens/PreviewBill.d.ts +5 -0
  505. package/lib/typescript/src/app/screens/PreviewBill.d.ts.map +1 -0
  506. package/lib/typescript/src/app/screens/Profile.d.ts +5 -0
  507. package/lib/typescript/src/app/screens/Profile.d.ts.map +1 -0
  508. package/lib/typescript/src/app/screens/RateList.d.ts +5 -0
  509. package/lib/typescript/src/app/screens/RateList.d.ts.map +1 -0
  510. package/lib/typescript/src/app/screens/Report.d.ts +5 -0
  511. package/lib/typescript/src/app/screens/Report.d.ts.map +1 -0
  512. package/lib/typescript/src/app/screens/SaleItemDetail.d.ts +6 -0
  513. package/lib/typescript/src/app/screens/SaleItemDetail.d.ts.map +1 -0
  514. package/lib/typescript/src/app/screens/SaleParent.d.ts +2 -0
  515. package/lib/typescript/src/app/screens/SaleParent.d.ts.map +1 -0
  516. package/lib/typescript/src/app/screens/SelectBank.d.ts +4 -0
  517. package/lib/typescript/src/app/screens/SelectBank.d.ts.map +1 -0
  518. package/lib/typescript/src/app/screens/SelectBusiness.d.ts.map +1 -1
  519. package/lib/typescript/src/app/screens/Splash.d.ts.map +1 -1
  520. package/lib/typescript/src/app/screens/StockChild.d.ts +7 -0
  521. package/lib/typescript/src/app/screens/StockChild.d.ts.map +1 -0
  522. package/lib/typescript/src/app/screens/StockDetail.d.ts +5 -0
  523. package/lib/typescript/src/app/screens/StockDetail.d.ts.map +1 -0
  524. package/lib/typescript/src/app/screens/StockParent.d.ts +2 -0
  525. package/lib/typescript/src/app/screens/StockParent.d.ts.map +1 -0
  526. package/lib/typescript/src/app/screens/StockReport.d.ts +5 -0
  527. package/lib/typescript/src/app/screens/StockReport.d.ts.map +1 -0
  528. package/lib/typescript/src/app/screens/StockValue.d.ts +5 -0
  529. package/lib/typescript/src/app/screens/StockValue.d.ts.map +1 -0
  530. package/lib/typescript/src/app/screens/Suppliers.d.ts +1 -3
  531. package/lib/typescript/src/app/screens/Suppliers.d.ts.map +1 -1
  532. package/lib/typescript/src/app/screens/TransactionDetails.d.ts.map +1 -1
  533. package/lib/typescript/src/app/screens/UpdateBusiness.d.ts +5 -0
  534. package/lib/typescript/src/app/screens/UpdateBusiness.d.ts.map +1 -0
  535. package/lib/typescript/src/app/screens/VisionCamera.d.ts +2 -0
  536. package/lib/typescript/src/app/screens/VisionCamera.d.ts.map +1 -0
  537. package/lib/typescript/src/app/screens/index.d.ts +56 -11
  538. package/lib/typescript/src/app/screens/index.d.ts.map +1 -1
  539. package/lib/typescript/src/app/themes/config.d.ts +60 -8
  540. package/lib/typescript/src/app/themes/config.d.ts.map +1 -1
  541. package/package.json +6 -2
  542. package/src/App.js +30 -34
  543. package/src/app/api/api.js +11 -0
  544. package/src/app/assets/Icons/Bill.png +0 -0
  545. package/src/app/assets/Icons/Bill_Grey.png +0 -0
  546. package/src/app/assets/Icons/Cash.png +0 -0
  547. package/src/app/assets/Icons/Cash_Grey.png +0 -0
  548. package/src/app/assets/Icons/Expense.png +0 -0
  549. package/src/app/assets/Icons/Expense_Grey.png +0 -0
  550. package/src/app/assets/Icons/Staff.png +0 -0
  551. package/src/app/assets/Icons/Stock.png +0 -0
  552. package/src/app/assets/Icons/Stock_Grey.png +0 -0
  553. package/src/app/assets/Icons/abc.png +0 -0
  554. package/src/app/assets/Icons/bank_logo.png +0 -0
  555. package/src/app/assets/Icons/download_sale.png +0 -0
  556. package/src/app/assets/Icons/recycle-bin.png +0 -0
  557. package/src/app/assets/animations/recording.json +1 -0
  558. package/src/app/assets/animations/success.json +1 -0
  559. package/src/app/assets/animations/voice_visualization.json +1 -0
  560. package/src/app/assets/businessCards/card_11.png +0 -0
  561. package/src/app/assets/businessCards/card_12_bg.png +0 -0
  562. package/src/app/assets/businessCards/card_wall_01.jpeg +0 -0
  563. package/src/app/assets/businessCards/card_wall_02.jpeg +0 -0
  564. package/src/app/assets/businessCards/card_wall_03.jpeg +0 -0
  565. package/src/app/assets/businessCards/card_wall_04.jpeg +0 -0
  566. package/src/app/assets/businessCards/card_wall_05.jpeg +0 -0
  567. package/src/app/assets/businessCards/card_wall_06.jpeg +0 -0
  568. package/src/app/assets/businessCards/card_wall_07.jpeg +0 -0
  569. package/src/app/assets/businessCards/card_wall_08.jpeg +0 -0
  570. package/src/app/assets/illustrations/empty.png +0 -0
  571. package/src/app/assets/illustrations/packages.png +0 -0
  572. package/src/app/assets/images/Digikhata_idzarHgH0q_0.png +0 -0
  573. package/src/app/assets/images/bank.png +0 -0
  574. package/src/app/assets/images/digiLogo-main.png +0 -0
  575. package/src/app/assets/images/svgviewer-output.svg +57 -0
  576. package/src/app/assets/images/user.png +0 -0
  577. package/src/app/assets/oldIcons/BILL.svg +3 -0
  578. package/src/app/assets/oldIcons/CASH.svg +4 -0
  579. package/src/app/assets/oldIcons/EXPENSE.svg +6 -0
  580. package/src/app/assets/oldIcons/STAFF.svg +3 -0
  581. package/src/app/assets/oldIcons/Sale Active.svg +14 -0
  582. package/src/app/assets/oldIcons/Stock.svg +5 -0
  583. package/src/app/assets/svg/BILL.svg +4 -0
  584. package/src/app/assets/svg/CASH.svg +6 -0
  585. package/src/app/assets/svg/EXPENSE.svg +5 -0
  586. package/src/app/assets/svg/More Icon.svg +6 -0
  587. package/src/app/assets/svg/Payment Icon.svg +4 -0
  588. package/src/app/assets/svg/Pos.svg +13 -0
  589. package/src/app/assets/svg/STAFF.svg +5 -0
  590. package/src/app/assets/svg/Sale Active.svg +8 -0
  591. package/src/app/assets/svg/Sale Icon.svg +3 -0
  592. package/src/app/assets/svg/Stock.svg +5 -0
  593. package/src/app/components/AccountSetupSteps.js +58 -0
  594. package/src/app/components/AddItemBillParent.js +373 -0
  595. package/src/app/components/AdditemBillChild.js +1257 -0
  596. package/src/app/components/Balance.js +211 -114
  597. package/src/app/components/BillList.js +548 -0
  598. package/src/app/components/BillSetupSteps.js +56 -0
  599. package/src/app/components/BottomView.js +39 -0
  600. package/src/app/components/BusinessCards/Card1.js +160 -0
  601. package/src/app/components/BusinessCards/Card10.js +209 -0
  602. package/src/app/components/BusinessCards/Card2.js +148 -0
  603. package/src/app/components/BusinessCards/Card3.js +147 -0
  604. package/src/app/components/BusinessCards/Card4.js +147 -0
  605. package/src/app/components/BusinessCards/Card5.js +151 -0
  606. package/src/app/components/BusinessCards/Card6.js +157 -0
  607. package/src/app/components/BusinessCards/Card7.js +146 -0
  608. package/src/app/components/BusinessCards/Card8.js +170 -0
  609. package/src/app/components/BusinessCards/Card9.js +209 -0
  610. package/src/app/components/BusinessCards/index.js +10 -0
  611. package/src/app/components/CashEntryComponent.js +297 -0
  612. package/src/app/components/CityModal.js +117 -0
  613. package/src/app/components/CountryPhoneInput.js +373 -267
  614. package/src/app/components/CreateExpenseAccount.js +141 -0
  615. package/src/app/components/CustomStatusBar.js +33 -0
  616. package/src/app/components/CustomToast.js +143 -0
  617. package/src/app/components/DeleteBusinessModal.js +196 -0
  618. package/src/app/components/DiscountTaxModal.js +256 -0
  619. package/src/app/components/Entries.js +87 -67
  620. package/src/app/components/ExpenseList.js +507 -0
  621. package/src/app/components/ExpenseParent.js +446 -0
  622. package/src/app/components/FloatingInput.js +188 -0
  623. package/src/app/components/Header.js +121 -0
  624. package/src/app/components/Loader.js +35 -0
  625. package/src/app/components/PartyModal.js +213 -0
  626. package/src/app/components/PickerModal.js +176 -0
  627. package/src/app/components/SalePaymentModal.js +822 -0
  628. package/src/app/components/SearchBar.js +225 -47
  629. package/src/app/components/StockDetailChild.js +461 -0
  630. package/src/app/components/StockList.js +582 -0
  631. package/src/app/components/StockReportTransaction.js +192 -0
  632. package/src/app/components/Transaction.js +277 -86
  633. package/src/app/components/User.js +188 -80
  634. package/src/app/components/index.js +51 -13
  635. package/src/app/database/bill.js +305 -0
  636. package/src/app/database/business.js +499 -0
  637. package/src/app/database/cash.js +451 -0
  638. package/src/app/database/clients.js +1536 -43
  639. package/src/app/database/expense.js +439 -0
  640. package/src/app/database/schema.js +115 -4
  641. package/src/app/database/stock.js +724 -0
  642. package/src/app/htmlTemplates/htmlTemplates.js +2603 -0
  643. package/src/app/navigation/BillStack/BillStack.js +38 -0
  644. package/src/app/navigation/BottomTabs/BottomTabs.js +24 -19
  645. package/src/app/navigation/BusinessStack/BusinessStack.js +27 -0
  646. package/src/app/navigation/CashStack/CashStack.js +59 -0
  647. package/src/app/navigation/EntriesStack/EntriesStack.js +186 -0
  648. package/src/app/navigation/ExpenseStack.js/ExpenseStack.js +50 -0
  649. package/src/app/navigation/HomeStack/HomeStack.js +106 -39
  650. package/src/app/navigation/Root.js +16 -1
  651. package/src/app/navigation/SaleStack/SaleStack.js +62 -0
  652. package/src/app/navigation/StockStack/StockStack.js +48 -0
  653. package/src/app/navigation/index.js +5 -1
  654. package/src/app/redux/Store.js +2 -0
  655. package/src/app/redux/reducers/client/client_reducers.js +31 -2
  656. package/src/app/redux/reducers/client/client_types.js +8 -1
  657. package/src/app/redux/reducers/user/user_reducers.js +24 -0
  658. package/src/app/redux/reducers/user/user_types.js +3 -0
  659. package/src/app/screens/AddBank.js +353 -0
  660. package/src/app/screens/AddBusiness.js +1161 -0
  661. package/src/app/screens/AddItems.js +515 -0
  662. package/src/app/screens/AddScreen.js +525 -165
  663. package/src/app/screens/All.js +1074 -0
  664. package/src/app/screens/AllTransactions.js +1138 -0
  665. package/src/app/screens/Banks.js +1134 -133
  666. package/src/app/screens/BillDetails.js +989 -0
  667. package/src/app/screens/BillHome.js +97 -0
  668. package/src/app/screens/BillParent.js +419 -0
  669. package/src/app/screens/BusinessDetail.js +939 -0
  670. package/src/app/screens/CashEntry.js +2913 -0
  671. package/src/app/screens/CashEntryDetails.js +650 -0
  672. package/src/app/screens/CashHome.js +594 -0
  673. package/src/app/screens/CashReport.js +1658 -0
  674. package/src/app/screens/CashSummary.js +607 -0
  675. package/src/app/screens/CreateBill.js +2504 -0
  676. package/src/app/screens/CustomerEntries.js +1578 -350
  677. package/src/app/screens/Customers.js +1066 -213
  678. package/src/app/screens/EditCategory.js +316 -0
  679. package/src/app/screens/EditCategoryStock.js +320 -0
  680. package/src/app/screens/Entry.js +2555 -585
  681. package/src/app/screens/ExpenseDetail.js +14 -0
  682. package/src/app/screens/ExpenseEntries.js +837 -0
  683. package/src/app/screens/ExpenseEntry.js +2478 -0
  684. package/src/app/screens/ExpenseEntryDetails.js +612 -0
  685. package/src/app/screens/ExpenseEntryReport.js +1059 -0
  686. package/src/app/screens/ExpenseReport.js +1071 -0
  687. package/src/app/screens/Geolocation.js +435 -0
  688. package/src/app/screens/GetStarted.js +201 -0
  689. package/src/app/screens/HomeScreen.js +368 -132
  690. package/src/app/screens/InBuy.js +918 -0
  691. package/src/app/screens/ItemEntryDetails.js +582 -0
  692. package/src/app/screens/LowStock.js +417 -0
  693. package/src/app/screens/NewPin.js +225 -0
  694. package/src/app/screens/OutSell.js +2153 -0
  695. package/src/app/screens/POSSale.js +639 -0
  696. package/src/app/screens/PinScreen.js +720 -0
  697. package/src/app/screens/PreviewBill.js +302 -0
  698. package/src/app/screens/Profile.js +1594 -0
  699. package/src/app/screens/RateList.js +525 -0
  700. package/src/app/screens/Report.js +1401 -0
  701. package/src/app/screens/SaleItemDetail.js +1187 -0
  702. package/src/app/screens/SaleParent.js +345 -0
  703. package/src/app/screens/SelectBank.js +220 -0
  704. package/src/app/screens/SelectBusiness.js +670 -163
  705. package/src/app/screens/Splash.js +96 -15
  706. package/src/app/screens/StockChild.js +372 -0
  707. package/src/app/screens/StockDetail.js +758 -0
  708. package/src/app/screens/StockParent.js +287 -0
  709. package/src/app/screens/StockReport.js +1359 -0
  710. package/src/app/screens/StockValue.js +720 -0
  711. package/src/app/screens/Suppliers.js +1098 -205
  712. package/src/app/screens/TransactionDetails.js +1674 -180
  713. package/src/app/screens/UpdateBusiness.js +837 -0
  714. package/src/app/screens/VisionCamera.js +54 -0
  715. package/src/app/screens/index.js +111 -21
  716. package/src/app/screens/new.html +171 -0
  717. package/src/app/themes/config.js +431 -114
  718. package/src/app/utils/city.json +7265 -0
@@ -0,0 +1,1594 @@
1
+ import {
2
+ View,
3
+ Text,
4
+ StyleSheet,
5
+ TouchableOpacity,
6
+ FlatList,
7
+ Image,
8
+ SafeAreaView,
9
+ Dimensions,
10
+ PermissionsAndroid,
11
+ Platform,
12
+ ScrollView,
13
+ TextInput,
14
+ Alert,
15
+ PixelRatio,
16
+ } from 'react-native';
17
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
18
+ import LinearGradient from 'react-native-linear-gradient';
19
+ import Ionicons from 'react-native-vector-icons/Ionicons';
20
+ import {
21
+ COLORS,
22
+ FONT_MEDIUM,
23
+ FONT_NORMAL,
24
+ formatDateTime,
25
+ formatShortDate,
26
+ HP,
27
+ ICON_SIZES,
28
+ Input_Field_SIZES,
29
+ mergeDateTime,
30
+ TEXT_SIZES,
31
+ WP,
32
+ } from '../themes/config';
33
+ import { useSelector, useDispatch } from 'react-redux';
34
+ import {
35
+ changeClientType,
36
+ getClientDetails,
37
+ getClientTransactions,
38
+ insertPhoneNum,
39
+ setClientAddress,
40
+ setClientCnic,
41
+ setClientName,
42
+ setClientPhone,
43
+ setPayDate,
44
+ setProfilePic,
45
+ softDeleteClient,
46
+ switchClientToSupplier,
47
+ updateBankProfile,
48
+ updateClientCreditLimit,
49
+ updateClientInstallmentDetails,
50
+ } from '../database/clients';
51
+ import {
52
+ BottomView,
53
+ CountryPhoneInput,
54
+ FloatingInput,
55
+ PickerModal,
56
+ SearchBar,
57
+ Transaction,
58
+ } from '../components';
59
+ import Modal from 'react-native-modal';
60
+ import { CLIENT_DETAILS } from '../redux/reducers/client/client_types';
61
+ import DateTimePicker, {
62
+ DateTimePickerAndroid,
63
+ } from '@react-native-community/datetimepicker';
64
+ import ViewShot from 'react-native-view-shot';
65
+ import Share from 'react-native-share';
66
+ import {
67
+ Menu,
68
+ MenuOptions,
69
+ MenuOption,
70
+ MenuTrigger,
71
+ } from 'react-native-popup-menu';
72
+
73
+ export default function Profile({ navigation, route }) {
74
+ const dispatch = useDispatch();
75
+ const ClientDetails = useSelector((state) => state.client.client_details);
76
+ const { amount, type } = route?.params;
77
+
78
+ const [IsInstallment, setIsInstallment] = useState(false);
79
+ const [InstallmentAmount, setInstallmentAmount] = useState('');
80
+ const [Duration, setDuration] = useState('');
81
+ const [InstallmentDate, setInstallmentDate] = useState('');
82
+ const [date, setDate] = useState('');
83
+ const [Remaining, setRemaining] = useState('');
84
+ const [IsPicker, setIsPicker] = useState(false);
85
+ const [EditModal, setEditModal] = useState(false);
86
+
87
+ const [Name, setName] = useState('');
88
+ const [PhoneNum, setPhoneNum] = useState('');
89
+ const [Cnic, setCnic] = useState('');
90
+ const [Address, setAddress] = useState('');
91
+ const [Flat, setFlat] = useState('');
92
+ const [Landmark, setLandmark] = useState('');
93
+ const [PostalCode, setPostalCode] = useState('');
94
+ const [City, setCity] = useState('');
95
+ const [Province, setProvince] = useState('');
96
+ const [CreditLimit, setCreditLimit] = useState('');
97
+ const [ModalType, setModalType] = useState('');
98
+ const [AccountTitle, setAccountTitle] = useState('');
99
+ const [AccountNumber, setAccountNumber] = useState('');
100
+
101
+ const onChangeDate = (event, selectedDate) => {
102
+ const currentDate = selectedDate;
103
+ setDate(currentDate);
104
+ };
105
+
106
+ const showDate = () => {
107
+ DateTimePickerAndroid.open({
108
+ value: date || new Date(),
109
+ onChange: onChangeDate,
110
+ mode: 'date',
111
+ is24Hour: false,
112
+ });
113
+ };
114
+
115
+ const togglePicker = () => {
116
+ setIsPicker(!IsPicker);
117
+ };
118
+
119
+ const onPictureUpdate = async (uri) => {
120
+ // console.log({uri})
121
+ setProfilePic(uri, ClientDetails?.id).then((resp) => {
122
+ getClientDetails(ClientDetails?.id).then((res) => {
123
+ dispatch({
124
+ type: CLIENT_DETAILS,
125
+ payload: res,
126
+ });
127
+ });
128
+ });
129
+ };
130
+
131
+ const updateClientField = async () => {
132
+ try {
133
+ // choose update function
134
+ let updateFn = null;
135
+ if (ModalType === 'name') updateFn = setClientName;
136
+ else if (ModalType === 'number') updateFn = setClientPhone;
137
+ else if (ModalType === 'cnic') updateFn = setClientCnic;
138
+ else if (ModalType === 'address') updateFn = setClientAddress;
139
+
140
+ // prepare value
141
+ let valueToSave;
142
+ if (ModalType === 'name') valueToSave = (Name || '').trim();
143
+ if (ModalType === 'number') valueToSave = (PhoneNum || '').trim();
144
+ if (ModalType === 'cnic') valueToSave = (Cnic || '').trim();
145
+ if (ModalType === 'address') {
146
+ valueToSave = {
147
+ flat: Flat || '',
148
+ landmark: Landmark || '',
149
+ pincode: PostalCode || '',
150
+ city: City || '',
151
+ state: Province || '',
152
+ };
153
+ }
154
+
155
+ // basic validation examples
156
+ if (!updateFn) {
157
+ console.log('No update function for ModalType:', ModalType);
158
+ return;
159
+ }
160
+ if (ModalType !== 'address' && (!valueToSave || valueToSave === '')) {
161
+ console.log('Empty value, not saving');
162
+ return;
163
+ }
164
+
165
+ // call DB updater
166
+ await updateFn(valueToSave, ClientDetails?.id);
167
+
168
+ // refresh client details from DB and update redux
169
+ const fresh = await getClientDetails(ClientDetails?.id);
170
+ dispatch({ type: CLIENT_DETAILS, payload: fresh });
171
+
172
+ // close modal
173
+ setEditModal(false);
174
+ } catch (err) {
175
+ console.log('Update error:', err);
176
+ }
177
+ };
178
+
179
+ const onSwitchToSupplier = async () => {
180
+ if (!ClientDetails?.id) return;
181
+
182
+ try {
183
+ // Update DB
184
+ await switchClientToSupplier(ClientDetails.id);
185
+
186
+ // Refresh Redux state
187
+ const updatedClient = await getClientDetails(ClientDetails.id);
188
+ dispatch({
189
+ type: CLIENT_DETAILS,
190
+ payload: updatedClient,
191
+ });
192
+
193
+ console.log('Client switched to supplier');
194
+
195
+ navigation.reset({
196
+ index: 0, // active screen index
197
+ routes: [{ name: 'HomeScreen' }], // screens in the stack
198
+ });
199
+ } catch (err) {
200
+ console.log('Error switching to supplier:', err);
201
+ }
202
+ };
203
+
204
+ const handleUpdateCreditLimit = async (clientId, newCreditLimit) => {
205
+ const limit = Number(newCreditLimit);
206
+
207
+ if (type === 'payable' && Number(amount) > limit) {
208
+ Alert.alert(
209
+ 'Credit Limit Warning',
210
+ `The customer balance Rs ${amount} is already greater than Rs ${limit}.\nAre you sure you want to continue?`,
211
+ [
212
+ {
213
+ text: 'No',
214
+ style: 'cancel',
215
+ },
216
+ {
217
+ text: 'Yes',
218
+ onPress: async () => {
219
+ try {
220
+ const success = await updateClientCreditLimit(clientId, limit);
221
+ if (success) {
222
+ console.log('Credit limit updated successfully');
223
+ const res = await getClientDetails(clientId);
224
+ dispatch({ type: CLIENT_DETAILS, payload: res });
225
+ setEditModal(false);
226
+ } else {
227
+ console.log('No client found with this ID');
228
+ }
229
+ } catch (err) {
230
+ console.log(err);
231
+ }
232
+ },
233
+ },
234
+ ],
235
+ { cancelable: true }
236
+ );
237
+ } else {
238
+ try {
239
+ const success = await updateClientCreditLimit(clientId, limit);
240
+ if (success) {
241
+ console.log('Credit limit updated successfully');
242
+ const res = await getClientDetails(clientId);
243
+ dispatch({ type: CLIENT_DETAILS, payload: res });
244
+ setEditModal(false);
245
+ } else {
246
+ console.log('No client found with this ID');
247
+ }
248
+ } catch (err) {
249
+ console.log(err);
250
+ }
251
+ }
252
+ };
253
+
254
+ const onToggleClientTypePress = (client) => {
255
+ const fromType = client.type === 0 ? 'Customer' : 'Supplier';
256
+ const toType = client.type === 0 ? 'Supplier' : 'Customer';
257
+
258
+ Alert.alert(
259
+ 'Change Client Type',
260
+ `${client.name} and all related records will be safely changed from ${fromType} to ${toType}. Do you want to continue?`,
261
+ [
262
+ {
263
+ text: 'Cancel',
264
+ onPress: () => console.log('Cancelled changing client type'),
265
+ style: 'cancel',
266
+ },
267
+ {
268
+ text: 'Change',
269
+ onPress: async () => {
270
+ try {
271
+ const newType = client.type === 0 ? 1 : 0;
272
+ await changeClientType(client.id, newType);
273
+ console.log(`Client type changed to ${newType}`);
274
+ navigation.reset({
275
+ index: 0, // active screen
276
+ routes: [
277
+ {
278
+ name: 'HomeScreen',
279
+ state: {
280
+ routes: [
281
+ {
282
+ name:
283
+ ClientDetails?.type == 0
284
+ ? 'Customers'
285
+ : 'Suppliers',
286
+ },
287
+ ], // nested screen
288
+ },
289
+ },
290
+ ],
291
+ });
292
+ } catch (err) {
293
+ console.log('Error changing client type:', err);
294
+ }
295
+ },
296
+ },
297
+ ],
298
+ { cancelable: true }
299
+ );
300
+ };
301
+
302
+ const onDeleteClient = () => {
303
+ Alert.alert(
304
+ `Delete ${ClientDetails?.type == 0 ? 'Customer' : 'Supplier'}`, // Title
305
+ `Are you sure you want to delete this ${ClientDetails?.type == 0 ? 'customer' : 'supplier'}?`,
306
+ [
307
+ {
308
+ text: 'Cancel',
309
+ onPress: () => console.log('Cancel'),
310
+ style: 'cancel',
311
+ },
312
+ {
313
+ text: 'Delete',
314
+ style: 'destructive', // optional: shows in red on iOS
315
+ onPress: async () => {
316
+ try {
317
+ await softDeleteClient(ClientDetails?.id);
318
+ navigation.reset({
319
+ index: 0, // active screen
320
+ routes: [
321
+ {
322
+ name: 'HomeScreen',
323
+ state: {
324
+ routes: [
325
+ {
326
+ name:
327
+ ClientDetails?.type == 0
328
+ ? 'Customers'
329
+ : 'Suppliers',
330
+ },
331
+ ], // nested screen
332
+ },
333
+ },
334
+ ],
335
+ });
336
+ } catch (err) {
337
+ console.log('Error soft deleting transaction:', err);
338
+ }
339
+ },
340
+ },
341
+ ],
342
+ { cancelable: true }
343
+ );
344
+ };
345
+
346
+ const onInstallmentChange = () => {
347
+ const paymentJSON = {
348
+ active: IsInstallment ? '1' : '0',
349
+ payment_mode: Duration,
350
+ amount: Number(InstallmentAmount),
351
+ total: Number(Remaining),
352
+ interval: 2592000000,
353
+ start_date: date ? date.getTime() : null,
354
+ last_entry_date: new Date().getTime(),
355
+ };
356
+
357
+ updateClientInstallmentDetails(ClientDetails?.id, paymentJSON)
358
+ .then(async () => {
359
+ console.log('Payment details updated successfully');
360
+ getClientDetails(ClientDetails?.id).then((res) => {
361
+ dispatch({
362
+ type: CLIENT_DETAILS,
363
+ payload: res,
364
+ });
365
+ });
366
+ })
367
+ .catch((err) => console.log('Error:', err));
368
+ };
369
+
370
+ useEffect(() => {
371
+ onInstallmentChange();
372
+ }, [IsInstallment, Duration, InstallmentAmount, Remaining, date]);
373
+
374
+ useEffect(() => {
375
+ if (ClientDetails?.payment_mode) {
376
+ const payment_mode = JSON.parse(ClientDetails.payment_mode);
377
+
378
+ setIsInstallment(payment_mode?.active !== '0');
379
+ setDuration(payment_mode?.payment_mode);
380
+ setInstallmentAmount(String(payment_mode?.amount));
381
+ setRemaining(String(payment_mode?.total));
382
+
383
+ // Convert timestamp to Date
384
+ setDate(
385
+ payment_mode?.start_date ? new Date(payment_mode.start_date) : null
386
+ );
387
+ }
388
+ setAccountNumber(ClientDetails?.phone);
389
+ setAccountTitle(ClientDetails?.notification);
390
+ }, []);
391
+
392
+ const onBankUpdate = async () => {
393
+ if (!AccountTitle || !AccountNumber) {
394
+ Alert.alert('Both fields are required');
395
+ } else {
396
+ await updateBankProfile(ClientDetails?.id, AccountNumber, AccountTitle);
397
+ getClientDetails(ClientDetails?.id).then((res) => {
398
+ dispatch({
399
+ type: CLIENT_DETAILS,
400
+ payload: res,
401
+ });
402
+ navigation.goBack();
403
+ });
404
+ }
405
+ };
406
+
407
+ return (
408
+ <>
409
+ <View style={Styles._mainContainer}>
410
+ <LinearGradient
411
+ style={Styles._headerMain}
412
+ start={{ x: 0, y: 0 }}
413
+ end={{ x: 1, y: 0 }}
414
+ colors={[COLORS.primaryColor, COLORS.secondaryColor]}
415
+ >
416
+ <TouchableOpacity
417
+ activeOpacity={0.8}
418
+ onPress={() => navigation?.goBack()}
419
+ style={{ padding: 10 }}
420
+ >
421
+ <Ionicons
422
+ name={'chevron-back'}
423
+ color={COLORS.whiteColor}
424
+ size={60 / PixelRatio.get()}
425
+ />
426
+ </TouchableOpacity>
427
+
428
+ <Text style={Styles._headerTitle}>
429
+ {ClientDetails?.type == 0
430
+ ? 'Customer'
431
+ : ClientDetails?.type == 1
432
+ ? 'Supplier'
433
+ : 'Bank'}{' '}
434
+ Profile
435
+ </Text>
436
+ </LinearGradient>
437
+ <LinearGradient
438
+ style={[Styles._headerMain, { height: 30 }]}
439
+ start={{ x: 0, y: 0 }}
440
+ end={{ x: 1, y: 0 }}
441
+ colors={[COLORS.primaryColor, COLORS.secondaryColor]}
442
+ />
443
+ <ScrollView
444
+ style={{
445
+ width: WP(100),
446
+ position: 'absolute',
447
+ top: 55,
448
+ height: HP(95),
449
+ }}
450
+ contentContainerStyle={{ paddingBottom: 300 }}
451
+ >
452
+ <View style={Styles._contentMain}>
453
+ <View style={Styles._picMain}>
454
+ {ClientDetails?.local_path ? (
455
+ <Image
456
+ source={{ uri: ClientDetails?.local_path }}
457
+ style={[
458
+ Styles._pic,
459
+ { width: '100%', height: '100%', borderRadius: 100 },
460
+ ]}
461
+ resizeMode="cover"
462
+ />
463
+ ) : (
464
+ <Image
465
+ source={require('../assets/images/user.png')}
466
+ style={Styles._pic}
467
+ resizeMode="contain"
468
+ />
469
+ )}
470
+
471
+ {ClientDetails?.type != 2 && (
472
+ <TouchableOpacity
473
+ style={Styles._selectMain}
474
+ activeOpacity={0.8}
475
+ onPress={togglePicker}
476
+ >
477
+ <Ionicons
478
+ name={'camera-outline'}
479
+ color={COLORS.whiteColor}
480
+ size={20}
481
+ />
482
+ </TouchableOpacity>
483
+ )}
484
+ </View>
485
+
486
+ {ClientDetails?.type == 2 ? (
487
+ <>
488
+ <Text style={Styles._bankName}>{ClientDetails?.name}</Text>
489
+
490
+ <View
491
+ style={{
492
+ width: '100%',
493
+ alignItems: 'center',
494
+ gap: 15,
495
+ marginVertical: 20,
496
+ }}
497
+ >
498
+ {/* <TextInput
499
+ style={[Styles._input, Styles._inputText]}
500
+ placeholder="Account Title"
501
+ placeholderTextColor={COLORS.gray}
502
+ maxLength={25}
503
+ value={AccountTitle}
504
+ onChangeText={(text) => setAccountTitle(text)}
505
+ /> */}
506
+
507
+ <FloatingInput
508
+ label="Account Title"
509
+ iconName="person-outline"
510
+ iconPosition="right"
511
+ value={AccountTitle}
512
+ onChangeText={(text) => setAccountTitle(text)}
513
+ allowedChars={/[^A-Za-z0-9\s]/g}
514
+ maxLength={15}
515
+ containerStyle={{ width: '95%' }}
516
+ // editable={false}
517
+ />
518
+
519
+ {/* <TextInput
520
+ style={[Styles._input, Styles._inputText]}
521
+ placeholder="Account Number"
522
+ placeholderTextColor={COLORS.gray}
523
+ maxLength={30}
524
+ value={AccountNumber}
525
+ onChangeText={(text) => setAccountNumber(text)}
526
+ /> */}
527
+ <FloatingInput
528
+ label="Account Number"
529
+ iconName="card-outline"
530
+ iconPosition="right"
531
+ value={AccountNumber}
532
+ onChangeText={(text) => setAccountNumber(text)}
533
+ allowedChars={/[^A-Za-z0-9\s]/g}
534
+ keyboardType="numeric" // 👉 opens numeric keyboard
535
+ maxLength={15}
536
+ containerStyle={{ width: '95%' }}
537
+ // editable={false}
538
+ />
539
+ </View>
540
+ </>
541
+ ) : (
542
+ <View style={Styles._inputsMain}>
543
+ {/* <TouchableOpacity
544
+ style={Styles._input}
545
+ activeOpacity={0.8}
546
+ onPress={() => {
547
+ setModalType('name');
548
+ setName(ClientDetails?.name || '');
549
+ setEditModal(true);
550
+ }}
551
+ >
552
+ <Text style={Styles._inputText}>
553
+ {ClientDetails?.name || 'Name'}
554
+ </Text>
555
+ <View style={Styles._inputIconMain}>
556
+ <Ionicons
557
+ name={'person-outline'}
558
+ color={COLORS.primaryColor}
559
+ size={15}
560
+ />
561
+ </View>
562
+ </TouchableOpacity> */}
563
+
564
+ <FloatingInput
565
+ label="Account Name"
566
+ // iconName="person-outline"
567
+ iconPosition="right"
568
+ value={ClientDetails?.name || 'Name'}
569
+ onPress={() => {
570
+ setModalType('name');
571
+ setName(ClientDetails?.name || '');
572
+ setEditModal(true);
573
+ }}
574
+ allowedChars={/[^A-Za-z0-9\s]/g}
575
+ maxLength={20}
576
+ containerStyle={{ width: '95%' }}
577
+ editable={false}
578
+ />
579
+
580
+ {/* <TouchableOpacity
581
+ style={Styles._input}
582
+ activeOpacity={0.8}
583
+ onPress={() => {
584
+ setModalType('number');
585
+ setPhoneNum(ClientDetails?.phone || '');
586
+ setEditModal(true);
587
+ }}
588
+ >
589
+ <Text style={Styles._inputText}>
590
+ {ClientDetails?.phone || 'Phone Number'}
591
+ </Text>
592
+ <View style={Styles._inputIconMain}>
593
+ <Ionicons
594
+ name={'call-outline'}
595
+ color={COLORS.primaryColor}
596
+ size={15}
597
+ />
598
+ </View>
599
+ </TouchableOpacity> */}
600
+
601
+ <FloatingInput
602
+ label="Phone Number"
603
+ // iconName="phone-portrait-outline"
604
+ iconPosition="right"
605
+ value={ClientDetails?.phone || 'Phone Number'}
606
+ onPress={() => {
607
+ setModalType('number');
608
+ setPhoneNum(ClientDetails?.phone || '');
609
+ setEditModal(true);
610
+ }}
611
+ allowedChars={/[^A-Za-z0-9\s]/g}
612
+ keyboardType="numeric"
613
+ // maxLength={20}
614
+ editable={false}
615
+ containerStyle={{ width: '95%' }}
616
+ />
617
+
618
+ {/* <TouchableOpacity
619
+ style={Styles._input}
620
+ activeOpacity={0.8}
621
+ onPress={() => {
622
+ setModalType('cnic');
623
+ setCnic(ClientDetails?.cnic || '');
624
+ setEditModal(true);
625
+ }}
626
+ >
627
+ <Text style={Styles._inputText}>
628
+ {ClientDetails?.cnic || 'CNIC'}
629
+ </Text>
630
+ <View style={Styles._inputIconMain}>
631
+ <Ionicons
632
+ name={'id-card-outline'}
633
+ color={COLORS.primaryColor}
634
+ size={15}
635
+ />
636
+ </View>
637
+ </TouchableOpacity> */}
638
+
639
+ <FloatingInput
640
+ label="CNIC"
641
+ // iconName="id-card-outline"
642
+ iconPosition="right"
643
+ value={ClientDetails?.cnic || ''}
644
+ onPress={() => {
645
+ setModalType('cnic');
646
+ setCnic(ClientDetails?.cnic || '');
647
+ setEditModal(true);
648
+ }}
649
+ allowedChars={/[^A-Za-z0-9\s]/g}
650
+ keyboardType="numeric"
651
+ // maxLength={20}
652
+ editable={false}
653
+ containerStyle={{ width: '95%' }}
654
+ />
655
+
656
+ {/* <TouchableOpacity
657
+ style={Styles._input}
658
+ activeOpacity={0.8}
659
+ onPress={() => {
660
+ setModalType('address');
661
+ if (ClientDetails?.status) {
662
+ const addr = JSON.parse(ClientDetails?.status);
663
+ setFlat(addr.flat || '');
664
+ setLandmark(addr.landmark || '');
665
+ setPostalCode(addr.pincode || '');
666
+ setCity(addr.city || '');
667
+ setProvince(addr.state || '');
668
+ }
669
+ setEditModal(true);
670
+ }}
671
+ >
672
+ <Text style={Styles._inputText}>Add Address</Text>
673
+ <View style={Styles._inputIconMain}>
674
+ <Ionicons
675
+ name={'location-outline'}
676
+ color={COLORS.primaryColor}
677
+ size={15}
678
+ />
679
+ </View>
680
+ </TouchableOpacity> */}
681
+
682
+ <FloatingInput
683
+ label="Add Address"
684
+ // iconName="location-outline"
685
+ iconPosition="right"
686
+ onPress={() => {
687
+ setModalType('address');
688
+ if (ClientDetails?.status) {
689
+ const addr = JSON.parse(ClientDetails?.status);
690
+ setFlat(addr.flat || '');
691
+ setLandmark(addr.landmark || '');
692
+ setPostalCode(addr.pincode || '');
693
+ setCity(addr.city || '');
694
+ setProvince(addr.state || '');
695
+ }
696
+ setEditModal(true);
697
+ }}
698
+ allowedChars={/[^A-Za-z0-9\s]/g}
699
+ // maxLength={20}
700
+ editable={false}
701
+ containerStyle={{ width: '95%' }}
702
+ />
703
+ </View>
704
+ )}
705
+ </View>
706
+ {(ClientDetails?.type == 0 || ClientDetails?.type == 1) && (
707
+ <TouchableOpacity
708
+ activeOpacity={0.8}
709
+ style={Styles._switchToSupplier}
710
+ onPress={() => onToggleClientTypePress(ClientDetails)}
711
+ >
712
+ <Text style={Styles._inputText}>
713
+ Switch to {ClientDetails?.type == 0 ? 'Supplier' : 'Customer'}
714
+ </Text>
715
+
716
+ <Ionicons
717
+ name={'chevron-forward'}
718
+ color={COLORS.primaryColor}
719
+ size={20}
720
+ />
721
+ </TouchableOpacity>
722
+ )}
723
+
724
+ {ClientDetails?.type == 0 && (
725
+ <View
726
+ style={[
727
+ Styles._contentMain,
728
+ {
729
+ marginTop: 15,
730
+ alignItems: 'center',
731
+ paddingHorizontal: 10,
732
+ gap: 10,
733
+ },
734
+ ]}
735
+ >
736
+ <Text
737
+ style={{
738
+ alignSelf: 'flex-start',
739
+ color: COLORS.blackColor,
740
+ fontFamily: FONT_NORMAL,
741
+ fontSize: 12,
742
+ }}
743
+ >
744
+ Credit Limit
745
+ </Text>
746
+ {/* <TextInput
747
+ style={[Styles._input, { width: "100%" }, Styles._inputText]}
748
+ activeOpacity={0.8}
749
+ placeholder='Enter Credit Limit'
750
+ placeholderTextColor={COLORS.gray}
751
+ keyboardType='number-pad'
752
+ value={CreditLimit}
753
+ onChangeText={(text) => setCreditLimit(text)}
754
+ /> */}
755
+
756
+ {/* <TouchableOpacity
757
+ style={[Styles._input, { width: '100%' }]}
758
+ activeOpacity={0.8}
759
+ onPress={() => {
760
+ setModalType('limit');
761
+ setCreditLimit(ClientDetails?.credit_limit || '');
762
+ setEditModal(true);
763
+ }}
764
+ >
765
+ <Text style={Styles._inputText}>
766
+ {ClientDetails?.credit_limit
767
+ ? 'Rs ' + ClientDetails?.credit_limit
768
+ : 'Enter Limit'}
769
+ </Text>
770
+ </TouchableOpacity> */}
771
+
772
+ <FloatingInput
773
+ label="Credit Limit"
774
+ // iconName="location-outline"
775
+ iconPosition="right"
776
+ value={
777
+ ClientDetails?.credit_limit
778
+ ? 'Rs ' + ClientDetails?.credit_limit
779
+ : 'Enter Limit'
780
+ }
781
+ onPress={() => {
782
+ setModalType('limit');
783
+ setCreditLimit(ClientDetails?.credit_limit || '');
784
+ setEditModal(true);
785
+ }}
786
+ allowedChars={/[^A-Za-z0-9\s]/g}
787
+ keyboardType="numeric"
788
+ editable={false}
789
+ // maxLength={20}
790
+ containerStyle={{ width: '100%' }}
791
+ />
792
+ </View>
793
+ )}
794
+
795
+ {ClientDetails?.type == 0 && (
796
+ <View
797
+ style={[
798
+ Styles._contentMain,
799
+ { marginTop: 15, paddingHorizontal: 10, gap: 10 },
800
+ ]}
801
+ >
802
+ <View
803
+ style={{
804
+ flexDirection: 'row',
805
+ alignItems: 'center',
806
+ width: '100%',
807
+ gap: 10,
808
+ }}
809
+ >
810
+ <TouchableOpacity
811
+ activeOpacity={0.8}
812
+ onPress={() => {
813
+ setIsInstallment(!IsInstallment);
814
+ }}
815
+ style={{ alignSelf: 'flex-start' }}
816
+ >
817
+ <Ionicons
818
+ name={IsInstallment ? 'checkbox-outline' : 'square-outline'}
819
+ color={COLORS.primaryColor}
820
+ size={25}
821
+ />
822
+ </TouchableOpacity>
823
+
824
+ <Text style={Styles._smallText}>Installment</Text>
825
+ </View>
826
+
827
+ {/* <View style={Styles._textInputMain}>
828
+ <Text style={Styles._inputText}>Rs</Text>
829
+
830
+ <TextInput
831
+ placeholder="0"
832
+ style={Styles._textInput}
833
+ cursorColor={COLORS.primaryColor}
834
+ placeholderTextColor={COLORS.grey}
835
+ keyboardType="number-pad"
836
+ value={InstallmentAmount}
837
+ onChangeText={(text) => {
838
+ // Remove any non-numeric characters
839
+ const numericText = text.replace(/[^0-9]/g, '');
840
+ setInstallmentAmount(numericText);
841
+ }}
842
+ />
843
+
844
+ </View> */}
845
+
846
+ <View
847
+ style={{
848
+ // flexDirection: 'row',
849
+ alignItems: 'center',
850
+ width: '100%',
851
+ justifyContent: 'space-between',
852
+ marginTop: 12,
853
+ gap: 0,
854
+ }}
855
+ >
856
+ <View
857
+ style={{
858
+ flexDirection: 'row',
859
+ alignItems: 'center',
860
+ width: '100%',
861
+ justifyContent: 'space-between',
862
+ }}
863
+ >
864
+ <TouchableOpacity
865
+ style={[
866
+ Styles._durationMain,
867
+ {
868
+ borderColor:
869
+ Duration == 'monthly'
870
+ ? COLORS.primaryColor
871
+ : COLORS.gray,
872
+ },
873
+ ]}
874
+ activeOpacity={0.8}
875
+ onPress={() => setDuration('monthly')}
876
+ >
877
+ <Text style={Styles._smallText}>Monthly</Text>
878
+ </TouchableOpacity>
879
+
880
+ {/* <FloatingInput
881
+ label="Monthly"
882
+ // iconName="location-outline"
883
+ iconPosition="right"
884
+ onPress={() => setDuration('monthly')}
885
+ allowedChars={/[^A-Za-z0-9\s]/g}
886
+ keyboardType="numeric"
887
+ editable={false}
888
+ // maxLength={20}
889
+ containerStyle={{ width: '30%' }}
890
+ /> */}
891
+
892
+ <TouchableOpacity
893
+ style={[
894
+ Styles._durationMain,
895
+ {
896
+ borderColor:
897
+ Duration == 'weekly'
898
+ ? COLORS.primaryColor
899
+ : COLORS.gray,
900
+ },
901
+ ]}
902
+ activeOpacity={0.8}
903
+ onPress={() => setDuration('weekly')}
904
+ >
905
+ <Text style={Styles._smallText}>Weekly</Text>
906
+ </TouchableOpacity>
907
+
908
+ {/* <FloatingInput
909
+ label="Weekly"
910
+ // iconName="location-outline"
911
+ iconPosition="right"
912
+ onPress={() => setDuration('monthly')}
913
+ allowedChars={/[^A-Za-z0-9\s]/g}
914
+ keyboardType="numeric"
915
+ editable={false}
916
+ // maxLength={20}
917
+ containerStyle={{ width: '30%' }}
918
+ /> */}
919
+
920
+ <TouchableOpacity
921
+ style={[
922
+ Styles._durationMain,
923
+ {
924
+ borderColor:
925
+ Duration == 'daily' ? COLORS.primaryColor : COLORS.gray,
926
+ },
927
+ ]}
928
+ activeOpacity={0.8}
929
+ onPress={() => setDuration('daily')}
930
+ >
931
+ <Text style={Styles._smallText}>Daily</Text>
932
+ </TouchableOpacity>
933
+ {/* <FloatingInput
934
+ label="Daily"
935
+ // iconName="location-outline"
936
+ iconPosition="right"
937
+ onPress={() => setDuration('daily')}
938
+ allowedChars={/[^A-Za-z0-9\s]/g}
939
+ keyboardType="numeric"
940
+ editable={false}
941
+ // maxLength={20}
942
+ containerStyle={{ width: '30%' }}
943
+ /> */}
944
+ </View>
945
+ {/* <View
946
+ style={[
947
+ Styles._textInputMain,
948
+ { width: '100%', justifyContent: 'center' },
949
+ ]}
950
+ >
951
+ <View style={Styles._capsuleMain}>
952
+ <Text style={Styles._capsuleText}>
953
+ Remaining Installments
954
+ </Text>
955
+ </View>
956
+
957
+ <TextInput
958
+ placeholder="0"
959
+ style={[Styles._textInput, { width: '100%' }]}
960
+ cursorColor={COLORS.primaryColor}
961
+ placeholderTextColor={COLORS.grey}
962
+ keyboardType="number-pad"
963
+ value={Remaining}
964
+ onChangeText={(text) => {
965
+ // Remove any non-numeric characters
966
+ const numericText = text.replace(/[^0-9]/g, '');
967
+ setRemaining(numericText);
968
+ }}
969
+ />
970
+ </View> */}
971
+ <FloatingInput
972
+ label="RS"
973
+ // iconName="location-outline"
974
+ iconPosition="right"
975
+ value={InstallmentAmount}
976
+ onChangeText={(text) => {
977
+ // Remove any non-numeric characters
978
+ const numericText = text.replace(/[^0-9]/g, '');
979
+ setInstallmentAmount(numericText);
980
+ }}
981
+ allowedChars={/[^A-Za-z0-9\s]/g}
982
+ keyboardType="numeric"
983
+ // editable={false}
984
+ // maxLength={20}
985
+ containerStyle={{ width: '100%' }}
986
+ />
987
+
988
+ <FloatingInput
989
+ label="Remaining Installments"
990
+ // iconName="location-outline"
991
+ iconPosition="right"
992
+ value={Remaining}
993
+ onChangeText={(text) => {
994
+ // Remove any non-numeric characters
995
+ const numericText = text.replace(/[^0-9]/g, '');
996
+ setRemaining(numericText);
997
+ }}
998
+ allowedChars={/[^A-Za-z0-9\s]/g}
999
+ keyboardType="numeric"
1000
+ // editable={false}
1001
+ // maxLength={20}
1002
+ containerStyle={{ width: '100%' }}
1003
+ />
1004
+
1005
+ {/* <TouchableOpacity
1006
+ activeOpacity={0.8}
1007
+ style={[
1008
+ Styles._textInputMain,
1009
+ { width: '100%', justifyContent: 'center' },
1010
+ ]}
1011
+ onPress={showDate}
1012
+ >
1013
+ <View style={Styles._capsuleMain}>
1014
+ <Text style={Styles._capsuleText}>Start Date</Text>
1015
+ </View>
1016
+
1017
+ <View
1018
+ style={{
1019
+ width: '100%',
1020
+ flexDirection: 'row',
1021
+ alignItems: 'center',
1022
+ gap: 8,
1023
+ }}
1024
+ >
1025
+ <Ionicons
1026
+ name={'calendar-outline'}
1027
+ size={22}
1028
+ color={COLORS.primaryColor}
1029
+ />
1030
+
1031
+ <Text style={Styles._smallText}>
1032
+ {date ? date?.toDateString() : 'Date'}
1033
+ </Text>
1034
+ </View>
1035
+ </TouchableOpacity> */}
1036
+
1037
+ <FloatingInput
1038
+ label="Start Date"
1039
+ // iconName="location-outline"
1040
+ iconPosition="right"
1041
+ value={date ? date?.toDateString() : 'Date'}
1042
+ onPress={showDate}
1043
+ allowedChars={/[^A-Za-z0-9\s]/g}
1044
+ keyboardType="numeric"
1045
+ editable={false}
1046
+ containerStyle={{ width: '100%' }}
1047
+ />
1048
+ </View>
1049
+ </View>
1050
+ )}
1051
+ </ScrollView>
1052
+ </View>
1053
+
1054
+ <PickerModal
1055
+ isVisible={IsPicker}
1056
+ onBackButtonPress={togglePicker}
1057
+ onBackdropPress={togglePicker}
1058
+ onCameraPress={(a) => {
1059
+ onPictureUpdate(a?.uri);
1060
+ }}
1061
+ onGalleryPress={(a) => {
1062
+ onPictureUpdate(a?.uri);
1063
+ }}
1064
+ />
1065
+
1066
+ <Modal
1067
+ isVisible={EditModal}
1068
+ onBackButtonPress={() => setEditModal(false)}
1069
+ onBackdropPress={() => setEditModal(false)}
1070
+ >
1071
+ <View style={Styles._editModalMain}>
1072
+ <Text
1073
+ style={[
1074
+ Styles._inputText,
1075
+ { color: COLORS.primaryColor, fontSize: 16 },
1076
+ ]}
1077
+ >
1078
+ {ModalType === 'name'
1079
+ ? 'Name'
1080
+ : ModalType === 'limit'
1081
+ ? 'Credit Limit'
1082
+ : ModalType === 'number'
1083
+ ? 'Phone Number'
1084
+ : ModalType === 'cnic'
1085
+ ? 'CNIC Number'
1086
+ : ModalType === 'address'
1087
+ ? 'Address'
1088
+ : ''}
1089
+ </Text>
1090
+ {ModalType !== 'number' && (
1091
+ // <TextInput
1092
+ // placeholder={
1093
+ // ModalType === 'name'
1094
+ // ? 'Name'
1095
+ // : ModalType === 'limit'
1096
+ // ? 'Enter Limit'
1097
+ // : ModalType === 'number'
1098
+ // ? 'Phone Number'
1099
+ // : ModalType === 'cnic'
1100
+ // ? 'XXXXX-XXXXXXX-X'
1101
+ // : ModalType === 'address'
1102
+ // ? 'Flat/Building/House'
1103
+ // : ''
1104
+ // }
1105
+ // style={Styles._modalInput}
1106
+ // placeholderTextColor={COLORS.grey}
1107
+ // cursorColor={COLORS.primaryColor}
1108
+ // keyboardType={
1109
+ // ModalType === 'limit' || ModalType === 'cnic'
1110
+ // ? 'number-pad'
1111
+ // : 'default'
1112
+ // }
1113
+ // value={
1114
+ // ModalType === 'name'
1115
+ // ? Name
1116
+ // : ModalType === 'limit'
1117
+ // ? String(CreditLimit)
1118
+ // : ModalType === 'number'
1119
+ // ? PhoneNum
1120
+ // : ModalType === 'cnic'
1121
+ // ? Cnic
1122
+ // : ModalType === 'address'
1123
+ // ? Flat
1124
+ // : ''
1125
+ // }
1126
+ // onChangeText={(text) => {
1127
+ // // ✅ filter input for cnic and limit
1128
+ // if (ModalType === 'limit' || ModalType === 'cnic') {
1129
+ // // Keep only digits
1130
+ // text = text.replace(/[^0-9]/g, '');
1131
+ // }
1132
+
1133
+ // if (ModalType === 'name') {
1134
+ // setName(text);
1135
+ // } else if (ModalType === 'number') {
1136
+ // setPhoneNum(text);
1137
+ // } else if (ModalType === 'cnic') {
1138
+ // setCnic(text);
1139
+ // } else if (ModalType === 'address') {
1140
+ // setFlat(text);
1141
+ // } else if (ModalType === 'limit') {
1142
+ // setCreditLimit(text);
1143
+ // }
1144
+ // }}
1145
+ // />
1146
+ <FloatingInput
1147
+ label={
1148
+ ModalType === 'name'
1149
+ ? 'Name'
1150
+ : ModalType === 'limit'
1151
+ ? 'Enter Limit'
1152
+ : ModalType === 'number'
1153
+ ? 'Phone Number'
1154
+ : ModalType === 'cnic'
1155
+ ? 'XXXXX-XXXXXXX-X'
1156
+ : ModalType === 'address'
1157
+ ? 'Flat/Building/House'
1158
+ : ''
1159
+ }
1160
+ // iconName="location-outline"
1161
+ iconPosition="right"
1162
+ value={
1163
+ ModalType === 'name'
1164
+ ? Name
1165
+ : ModalType === 'limit'
1166
+ ? String(CreditLimit)
1167
+ : ModalType === 'number'
1168
+ ? PhoneNum
1169
+ : ModalType === 'cnic'
1170
+ ? Cnic
1171
+ : ModalType === 'address'
1172
+ ? Flat
1173
+ : ''
1174
+ }
1175
+ onChangeText={(text) => {
1176
+ // ✅ filter input for cnic and limit
1177
+ if (ModalType === 'limit' || ModalType === 'cnic') {
1178
+ // Keep only digits
1179
+ text = text.replace(/[^0-9]/g, '');
1180
+ }
1181
+
1182
+ if (ModalType === 'name') {
1183
+ setName(text);
1184
+ } else if (ModalType === 'number') {
1185
+ setPhoneNum(text);
1186
+ } else if (ModalType === 'cnic') {
1187
+ setCnic(text);
1188
+ } else if (ModalType === 'address') {
1189
+ setFlat(text);
1190
+ } else if (ModalType === 'limit') {
1191
+ setCreditLimit(text);
1192
+ }
1193
+ }}
1194
+ allowedChars={/[^A-Za-z0-9\s]/g}
1195
+ maxLength={15}
1196
+ containerStyle={{ width: '95%' }}
1197
+ />
1198
+ )}
1199
+ {ModalType == 'number' && (
1200
+ <View style={{ width: '95%' }}>
1201
+ <CountryPhoneInput
1202
+ onChange={(text) => {
1203
+ setPhoneNum(text?.fullNumber);
1204
+ }}
1205
+ />
1206
+ </View>
1207
+ )}
1208
+
1209
+ {ModalType == 'address' && (
1210
+ <View style={{ width: '100%', alignItems: 'center', gap: 25 }}>
1211
+ {/* <TextInput
1212
+ placeholder="Landmark"
1213
+ style={Styles._modalInput}
1214
+ placeholderTextColor={COLORS.grey}
1215
+ cursorColor={COLORS.primaryColor}
1216
+ value={Landmark}
1217
+ onChangeText={(text) => setLandmark(text)}
1218
+ /> */}
1219
+
1220
+ <FloatingInput
1221
+ label="Landmark"
1222
+ // iconName="location-outline"
1223
+ iconPosition="right"
1224
+ value={Landmark}
1225
+ onChangeText={(text) => setLandmark(text)}
1226
+ allowedChars={/[^A-Za-z0-9\s]/g}
1227
+ maxLength={20}
1228
+ containerStyle={{ width: '95%' }}
1229
+ />
1230
+
1231
+ {/* <TextInput
1232
+ placeholder="Postal Code"
1233
+ style={Styles._modalInput}
1234
+ placeholderTextColor={COLORS.grey}
1235
+ cursorColor={COLORS.primaryColor}
1236
+ value={PostalCode}
1237
+ onChangeText={(text) => setPostalCode(text)}
1238
+ /> */}
1239
+
1240
+ <FloatingInput
1241
+ label="Postal Code"
1242
+ // iconName="location-outline"
1243
+ iconPosition="right"
1244
+ value={PostalCode}
1245
+ onChangeText={(text) => setPostalCode(text)}
1246
+ allowedChars={/[^A-Za-z0-9\s]/g}
1247
+ keyboardType="numeric"
1248
+ maxLength={10}
1249
+ containerStyle={{ width: '95%' }}
1250
+ />
1251
+
1252
+ {/* <TextInput
1253
+ placeholder="City"
1254
+ style={Styles._modalInput}
1255
+ placeholderTextColor={COLORS.grey}
1256
+ cursorColor={COLORS.primaryColor}
1257
+ value={City}
1258
+ onChangeText={(text) => setCity(text)}
1259
+ /> */}
1260
+
1261
+ <FloatingInput
1262
+ label="City"
1263
+ // iconName="location-outline"
1264
+ iconPosition="right"
1265
+ value={City}
1266
+ onChangeText={(text) => setCity(text)}
1267
+ allowedChars={/[^A-Za-z0-9\s]/g}
1268
+ maxLength={15}
1269
+ containerStyle={{ width: '95%' }}
1270
+ />
1271
+
1272
+ {/* <TextInput
1273
+ placeholder="Province"
1274
+ style={Styles._modalInput}
1275
+ placeholderTextColor={COLORS.grey}
1276
+ cursorColor={COLORS.primaryColor}
1277
+ value={Province}
1278
+ onChangeText={(text) => setProvince(text)}
1279
+ /> */}
1280
+ <FloatingInput
1281
+ label="Province"
1282
+ // iconName="location-outline"
1283
+ iconPosition="right"
1284
+ value={Province}
1285
+ onChangeText={(text) => setProvince(text)}
1286
+ allowedChars={/[^A-Za-z0-9\s]/g}
1287
+ maxLength={15}
1288
+ containerStyle={{ width: '95%' }}
1289
+ />
1290
+ </View>
1291
+ )}
1292
+
1293
+ <View
1294
+ style={{
1295
+ width: '95%',
1296
+ flexDirection: 'row',
1297
+ justifyContent: 'space-between',
1298
+ alignItems: 'center',
1299
+ }}
1300
+ >
1301
+ <TouchableOpacity
1302
+ activeOpacity={0.8}
1303
+ style={Styles._modalBtn}
1304
+ onPress={() => setEditModal(false)}
1305
+ >
1306
+ <Text style={Styles._modalBtnText}>Cancel</Text>
1307
+ </TouchableOpacity>
1308
+
1309
+ <TouchableOpacity
1310
+ activeOpacity={0.8}
1311
+ style={Styles._modalBtn}
1312
+ onPress={() => {
1313
+ if (ModalType == 'limit') {
1314
+ handleUpdateCreditLimit(ClientDetails?.id, CreditLimit);
1315
+ } else {
1316
+ updateClientField();
1317
+ }
1318
+ }}
1319
+ >
1320
+ <Text style={Styles._modalBtnText}>Save</Text>
1321
+ </TouchableOpacity>
1322
+ </View>
1323
+ </View>
1324
+ </Modal>
1325
+
1326
+ <BottomView
1327
+ style={{
1328
+ justifyContent: 'center',
1329
+ width: '100%',
1330
+ paddingHorizontal: '2.5%',
1331
+ }}
1332
+ >
1333
+ {ClientDetails?.type == 2 ? (
1334
+ <TouchableOpacity
1335
+ activeOpacity={0.8}
1336
+ style={[Styles._modalBtn, { width: '100%' }]}
1337
+ onPress={onBankUpdate}
1338
+ >
1339
+ <Text style={Styles._modalBtnText}>Save</Text>
1340
+ </TouchableOpacity>
1341
+ ) : (
1342
+ <TouchableOpacity
1343
+ activeOpacity={0.8}
1344
+ style={Styles._bottomBtn}
1345
+ onPress={onDeleteClient}
1346
+ >
1347
+ <Ionicons
1348
+ name={'trash-outline'}
1349
+ color={COLORS.whiteColor}
1350
+ size={ICON_SIZES.FAB_ICON}
1351
+ />
1352
+ <Text
1353
+ style={{
1354
+ color: COLORS.whiteColor,
1355
+ fontFamily: FONT_MEDIUM,
1356
+ fontSize: TEXT_SIZES.BUTTON_TEXT,
1357
+ }}
1358
+ >
1359
+ DELETE {ClientDetails?.type == 0 ? 'CUSTOMER' : 'SUPPLIER'}
1360
+ </Text>
1361
+ </TouchableOpacity>
1362
+ )}
1363
+ </BottomView>
1364
+ </>
1365
+ );
1366
+ }
1367
+
1368
+ const Styles = StyleSheet.create({
1369
+ _mainContainer: {
1370
+ flex: 1,
1371
+ backgroundColor: COLORS.backgroundColor,
1372
+ },
1373
+ _headerMain: {
1374
+ width: WP(100),
1375
+ height: 60,
1376
+ flexDirection: 'row',
1377
+ alignItems: 'center',
1378
+ justifyContent: 'flex-start',
1379
+ gap: 15,
1380
+ },
1381
+ _headerTitle: {
1382
+ color: COLORS.whiteColor,
1383
+ fontFamily: FONT_NORMAL,
1384
+ fontSize: 15,
1385
+ },
1386
+ _contentMain: {
1387
+ width: WP(94),
1388
+ // height: "90%",
1389
+ backgroundColor: COLORS.whiteColor,
1390
+ // position: "absolute",
1391
+ // top: 55,
1392
+ shadowColor: '#000',
1393
+ shadowOffset: {
1394
+ width: 0,
1395
+ height: 2,
1396
+ },
1397
+ shadowOpacity: 0.2,
1398
+ shadowRadius: 3.84,
1399
+ elevation: 5,
1400
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1401
+ alignItems: 'center',
1402
+ justifyContent: 'space-between',
1403
+ paddingVertical: 12,
1404
+ overflow: 'hidden',
1405
+ alignSelf: 'center',
1406
+ // paddingTop: 30
1407
+ },
1408
+ _picMain: {
1409
+ width: 120,
1410
+ height: 120,
1411
+ borderRadius: 60,
1412
+ backgroundColor: '#f2f2f2',
1413
+ justifyContent: 'center',
1414
+ alignItems: 'center',
1415
+ position: 'relative',
1416
+ },
1417
+ _pic: {
1418
+ width: 60,
1419
+ height: 60,
1420
+ },
1421
+ _selectMain: {
1422
+ position: 'absolute',
1423
+ bottom: 0,
1424
+ right: 0,
1425
+ backgroundColor: '#F44336',
1426
+ width: 45,
1427
+ height: 45,
1428
+ borderRadius: 50,
1429
+ justifyContent: 'center',
1430
+ alignItems: 'center',
1431
+ borderWidth: 3,
1432
+ borderColor: '#fff',
1433
+ },
1434
+ _input: {
1435
+ width: '95%',
1436
+ height: Input_Field_SIZES.Input_Height,
1437
+ // backgroundColor:"red",
1438
+ flexDirection: 'row',
1439
+ justifyContent: 'space-between',
1440
+ alignItems: 'center',
1441
+ borderColor: COLORS.gray,
1442
+ borderWidth: 1,
1443
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1444
+ paddingHorizontal: 15,
1445
+ },
1446
+ _inputIconMain: {
1447
+ width: 38,
1448
+ height: 38,
1449
+ backgroundColor: COLORS.lightGrey,
1450
+ borderRadius: 100,
1451
+ justifyContent: 'center',
1452
+ alignItems: 'center',
1453
+ },
1454
+ _inputText: {
1455
+ color: COLORS.blackColor,
1456
+ fontSize: Input_Field_SIZES.Input_Font_Size,
1457
+ fontFamily: FONT_MEDIUM,
1458
+ },
1459
+ _inputsMain: {
1460
+ marginTop: 60,
1461
+ gap: 0,
1462
+ width: '100%',
1463
+
1464
+ alignItems: 'center',
1465
+ },
1466
+ _switchToSupplier: {
1467
+ width: WP(94),
1468
+ height: 60,
1469
+ // height: "90%",
1470
+ backgroundColor: COLORS.whiteColor,
1471
+ // position: "absolute",
1472
+ // top: 55,
1473
+ shadowColor: '#000',
1474
+ shadowOffset: {
1475
+ width: 0,
1476
+ height: 2,
1477
+ },
1478
+ shadowOpacity: 0.2,
1479
+ shadowRadius: 3.84,
1480
+ elevation: 5,
1481
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1482
+ alignItems: 'center',
1483
+ justifyContent: 'space-between',
1484
+ alignSelf: 'center',
1485
+ marginTop: 15,
1486
+ flexDirection: 'row',
1487
+ paddingHorizontal: 10,
1488
+ },
1489
+ _smallText: {
1490
+ color: COLORS.blackColor,
1491
+ fontSize: Input_Field_SIZES.Input_Font_Size,
1492
+ fontFamily: FONT_MEDIUM,
1493
+ },
1494
+ _durationMain: {
1495
+ height: 60,
1496
+ width: '30%',
1497
+ // backgroundColor:"red",
1498
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1499
+ borderColor: COLORS.gray,
1500
+ borderWidth: 1,
1501
+ justifyContent: 'center',
1502
+ alignItems: 'center',
1503
+ marginBottom: 7,
1504
+ },
1505
+ _textInputMain: {
1506
+ width: '100%',
1507
+ height: 60,
1508
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1509
+ borderColor: COLORS.gray,
1510
+ borderWidth: 1,
1511
+ flexDirection: 'row',
1512
+ justifyContent: 'flex-start',
1513
+ alignItems: 'center',
1514
+ paddingHorizontal: 12,
1515
+ gap: 15,
1516
+ },
1517
+ _textInput: {
1518
+ height: '100%',
1519
+ color: COLORS.blackColor,
1520
+ fontSize: Input_Field_SIZES.Input_Font_Size,
1521
+ fontFamily: FONT_MEDIUM,
1522
+ width: '85%',
1523
+ },
1524
+ _capsuleMain: {
1525
+ backgroundColor: COLORS.whiteColor,
1526
+ position: 'absolute',
1527
+ // right:0,
1528
+ // width:"100%",
1529
+ alignSelf: 'center',
1530
+ top: -10,
1531
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1532
+ borderColor: COLORS.gray,
1533
+ borderWidth: 1,
1534
+ paddingHorizontal: 10,
1535
+ },
1536
+ _capsuleText: {
1537
+ color: COLORS.gray,
1538
+ fontFamily: FONT_NORMAL,
1539
+ fontSize: 10,
1540
+ },
1541
+ _editModalMain: {
1542
+ width: WP(90),
1543
+ // height: HP(25),r
1544
+ backgroundColor: COLORS.whiteColor,
1545
+ alignSelf: 'center',
1546
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1547
+ justifyContent: 'space-between',
1548
+ alignItems: 'center',
1549
+ paddingVertical: 12,
1550
+ gap: 30,
1551
+ },
1552
+ _modalInput: {
1553
+ width: '95%',
1554
+ height: Input_Field_SIZES.Input_Height,
1555
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1556
+ borderColor: COLORS.gray,
1557
+ borderWidth: 1,
1558
+ paddingLeft: 10,
1559
+ fontSize: Input_Field_SIZES.Input_Font_Size,
1560
+ fontFamily: FONT_MEDIUM,
1561
+ },
1562
+ _modalBtn: {
1563
+ width: '45%',
1564
+ height: 45,
1565
+ borderRadius: 100,
1566
+ backgroundColor: COLORS.primaryColor,
1567
+ justifyContent: 'center',
1568
+ alignItems: 'center',
1569
+ },
1570
+ _modalBtnText: {
1571
+ color: COLORS.whiteColor,
1572
+ fontFamily: FONT_NORMAL,
1573
+ fontSize: 14,
1574
+ },
1575
+ _bottomBtn: {
1576
+ width: '100%',
1577
+ height: '90%',
1578
+ backgroundColor: COLORS.primaryColor,
1579
+ justifyContent: 'center',
1580
+ alignItems: 'center',
1581
+ flexDirection: 'row',
1582
+ borderRadius: 100,
1583
+ borderColor: 'red',
1584
+ borderWidth: 1,
1585
+ paddingHorizontal: 20,
1586
+ gap: 10,
1587
+ },
1588
+ _bankName: {
1589
+ color: COLORS.blackColor,
1590
+ fontFamily: FONT_NORMAL,
1591
+ fontSize: 13,
1592
+ marginTop: 15,
1593
+ },
1594
+ });