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,1883 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useRef, useState } from 'react';
4
+ import { View, Text, TextInput, TouchableOpacity, FlatList, StyleSheet, ScrollView, Animated, Dimensions, Modal, Platform, Keyboard, Image, PermissionsAndroid, Alert, ActivityIndicator } from 'react-native';
5
+ // import { LinearGradient } from 'expo-linear-gradient';
6
+ import LinearGradient from 'react-native-linear-gradient';
7
+ import { Feather } from '@expo/vector-icons'; // or react-native-vector-icons/Feather
8
+
9
+ import Ionicons from 'react-native-vector-icons/Ionicons';
10
+ import { COLORS, FONT_MEDIUM, FONT_NORMAL, formatDateTime, formatMyDate, formatPhoneNumber, fromJsDateToSql, getAvatar, HP, Input_Field_SIZES, isPdfFile, mergeDateTime, TEXT_SIZES, toISOStringUTC, WP } from "../themes/config.js";
11
+ import DateTimePicker, { DateTimePickerAndroid } from '@react-native-community/datetimepicker';
12
+ import PartyModal from "../components/PartyModal.js";
13
+ import { BottomView, CountryPhoneInput, FloatingInput, Header, PickerModal, User } from "../components/index.js";
14
+ import { useSelector } from 'react-redux';
15
+ import { updateBusiness } from "../database/business.js";
16
+ import { useDispatch } from 'react-redux';
17
+ import { CLIENT_DETAILS, STATUS_BAR_COLOR } from "../redux/reducers/client/client_types.js";
18
+ import { addItemDetails, addItemImages, deleteItemImagesByItemId, getItemDetailsByItemId, getItemsByBusiness, updateItemDetails, updateItemQty } from "../database/stock.js";
19
+ import NewModal from 'react-native-modal';
20
+ import { launchCamera, launchImageLibrary } from 'react-native-image-picker';
21
+ import { pick } from '@react-native-documents/picker';
22
+ import Sound, { AudioEncoderAndroidType, AudioSourceAndroidType, AVEncoderAudioQualityIOSType, AVEncodingOption, RecordBackType, PlayBackType, createSound } from 'react-native-nitro-sound';
23
+ import LottieView from 'lottie-react-native';
24
+ import { addClient, addTransaction, addTransactionImages, getClientDetails, getClientsByType } from "../database/clients.js";
25
+ import Contacts from 'react-native-contacts';
26
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
27
+ const {
28
+ height
29
+ } = Dimensions.get('window');
30
+ const PREDEFINED_UNITS = ['Pieces (pcs)', 'Bags (bags)', 'Bundle (bdl)', 'Kilogram (kg)', 'Gram (gm)', 'Milligram (mg)', 'Litre (ltr)', 'Meter (m)', 'Tola (tola)', 'Foot (ft)', 'Box (box)', 'Packet (pkt)', 'Carton (ctn)', 'Dozen (dzn)', 'Rim (rim)', 'Bottles (btl)', 'Pound (lbs)', 'Roll (roll)', 'Gallon (gln)', 'Quarter (qtr)', 'Can (can)'];
31
+ const OutSell = ({
32
+ navigation,
33
+ route
34
+ }) => {
35
+ const animationRef = useRef(null);
36
+ const [search, setSearch] = useState('');
37
+ const selectBusiness = useSelector(state => state.client.selected_business);
38
+ const dispatch = useDispatch();
39
+ const clients = useSelector(state => state.client.home_customers);
40
+ const suppliers = useSelector(state => state.client.home_suppliers);
41
+ const itemId = route?.params?.itemId;
42
+ const type = route?.params?.type;
43
+ const itemDetailId = route?.params?.itemDetailId;
44
+ const [drawerVisible, setDrawerVisible] = useState(false);
45
+ const [units, setUnits] = useState(['Kg', 'Liter', 'Piece']);
46
+ const [newUnit, setNewUnit] = useState('');
47
+ const slideAnim = useRef(new Animated.Value(height)).current;
48
+ const [showAddUnit, setShowAddUnit] = useState(false);
49
+ const [partyModal, setPartyModal] = useState(false);
50
+ const [keyboardVisible, setKeyboardVisible] = useState(false);
51
+ const [customerList, setCustomerList] = useState([{
52
+ id: '1',
53
+ name: 'Ali Traders',
54
+ time: 'Today, 2:30 PM',
55
+ amount: '₨ 12,000'
56
+ }, {
57
+ id: '2',
58
+ name: 'Babar Store',
59
+ time: 'Yesterday, 6:00 PM',
60
+ amount: '₨ 8,450'
61
+ }, {
62
+ id: '3',
63
+ name: 'Saleem Sons',
64
+ time: '2 days ago',
65
+ amount: '₨ 3,200'
66
+ }]);
67
+ const [photo, setPhoto] = useState(null);
68
+ const [IsPicker, setIsPicker] = useState(false);
69
+ const [date, setDate] = useState(new Date());
70
+ const [showPicker, setShowPicker] = useState(false);
71
+ const [showTimePicker, setShowTimePicker] = useState(false);
72
+ const [time, setTime] = useState(new Date());
73
+ const [keyboardPadding, setKeyboardPadding] = useState(0);
74
+ const [ItemDetails, setItemDetails] = useState(null);
75
+ const [Entry, setEntry] = useState(null);
76
+ const [attachments, setAttachments] = useState([]);
77
+ const [isModalVisible, setIsModalVisible] = useState(false);
78
+ const [IsSoundModal, setIsSoundModal] = useState(false);
79
+ const [AudioFile, setAudioFile] = useState('');
80
+ const [PlayLoading, setPlayLoading] = useState(false);
81
+ const [RecordingTime, setRecordingTime] = useState('');
82
+ const [IsPlaying, setIsPlaying] = useState(false);
83
+ const [SuccessModal, setSuccessModal] = useState(false);
84
+ const [SelectedImage, setSelectedImage] = useState(null);
85
+ const [SelectedCategory, setSelectedCategory] = useState(null);
86
+ const [CategoryModal, setCategoryModal] = useState(false);
87
+ const [AddCategoryModal, setAddCategoryModal] = useState(false);
88
+ const [ChangeModal, setChangeModal] = useState(false);
89
+ const [SelectedParty, setSelectedParty] = useState(null);
90
+ const [Clients, setClients] = useState([]);
91
+ const [ShowNewBtn, setShowNewBtn] = useState(false);
92
+ const [contacts, setContacts] = useState([]);
93
+ const [Name, setName] = useState('');
94
+ const [clientPhoneSet, setClientPhoneSet] = useState(new Set());
95
+ const [clientPhoneMap, setClientPhoneMap] = useState(new Map());
96
+ const [searchText, setSearchText] = useState('');
97
+ const [PhoneNum, setPhoneNum] = useState('');
98
+ const formattedDate = formatMyDate(fromJsDateToSql(date));
99
+ const formattedTime = time.toLocaleTimeString([], {
100
+ hour: '2-digit',
101
+ minute: '2-digit'
102
+ });
103
+ const [form, setForm] = useState({
104
+ name: '',
105
+ unit: '',
106
+ category: '',
107
+ details: '',
108
+ rateSale: '',
109
+ ratePurchase: '',
110
+ billNo: '',
111
+ qty: '',
112
+ amount: ''
113
+ });
114
+ useEffect(() => {
115
+ const unsubscribe = navigation.addListener('focus', async () => {
116
+ try {
117
+ await getItemDetails();
118
+ } catch (error) {
119
+ console.log('❌ Error fetching item details:', error);
120
+ }
121
+ });
122
+ return unsubscribe;
123
+ }, [navigation]);
124
+ const onChangeDate = (event, selectedDate) => {
125
+ const currentDate = selectedDate || date;
126
+ setShowPicker(Platform.OS === 'ios'); // for iOS
127
+ setDate(currentDate);
128
+ };
129
+ const onChangeTime = (event, selectedDate) => {
130
+ const currentDate = selectedDate;
131
+ setShowTimePicker(Platform.OS === 'ios');
132
+ setTime(currentDate);
133
+ };
134
+ const showDate = () => {
135
+ if (Platform.OS === 'android') {
136
+ // Android dialog
137
+ DateTimePickerAndroid.open({
138
+ value: date,
139
+ onChange: onChangeDate,
140
+ mode: 'date',
141
+ is24Hour: false
142
+ });
143
+ } else {
144
+ // iOS: just show inline picker
145
+ setShowPicker(true);
146
+ }
147
+ };
148
+ const showTime = () => {
149
+ if (Platform.OS === 'android') {
150
+ // Android dialog
151
+ DateTimePickerAndroid.open({
152
+ value: time,
153
+ onChange: onChangeTime,
154
+ mode: 'time',
155
+ is24Hour: false
156
+ });
157
+ } else {
158
+ // iOS: show inline picker
159
+ setShowTimePicker(true);
160
+ }
161
+ };
162
+ const togglePicker = () => {
163
+ setIsModalVisible(true);
164
+ };
165
+ const onPictureUpdate = async uri => {
166
+ // console.log({ "uri", uri });
167
+ console.log('url_uri', uri);
168
+ setPhoto(uri);
169
+ // handleUpdate(uri); // Pass directly
170
+ };
171
+ useEffect(() => {
172
+ const showSubscription = Keyboard.addListener('keyboardDidShow', () => {
173
+ console.log('Keyboard Shown');
174
+ setKeyboardPadding(260);
175
+ setKeyboardVisible(true);
176
+ });
177
+ const hideSubscription = Keyboard.addListener('keyboardDidHide', () => {
178
+ console.log('Keyboard Hidden');
179
+ setKeyboardPadding(0);
180
+ setKeyboardVisible(false);
181
+ });
182
+ dispatch({
183
+ type: STATUS_BAR_COLOR,
184
+ color: type == "OUT" ? COLORS.redColor : COLORS.greenColor
185
+ });
186
+ return () => {
187
+ showSubscription.remove();
188
+ hideSubscription.remove();
189
+ };
190
+ }, []);
191
+ const getItemDetails = async () => {
192
+ let all = await getItemsByBusiness(selectBusiness?.id);
193
+ let filtered = all.find(item => item?.id == itemId);
194
+ if (!itemDetailId) {
195
+ setForm({
196
+ ...form,
197
+ rateSale: String(type == 'IN' ? filtered?.costPrice : filtered?.sellingPrice)
198
+ });
199
+ }
200
+ setItemDetails(filtered);
201
+ };
202
+ const calculateAmount = (quantity, rate) => {
203
+ const qty = Number(quantity) || 0;
204
+ const price = Number(rate) || 0;
205
+ const amount = qty * price;
206
+ return parseFloat(amount.toFixed(2));
207
+ };
208
+ const handleGallery = async () => {
209
+ try {
210
+ const result = await launchImageLibrary({
211
+ mediaType: 'photo'
212
+ });
213
+ if (result.assets && result.assets.length > 0) {
214
+ addAttachment({
215
+ type: 'image',
216
+ uri: result.assets[0].uri,
217
+ name: result.assets[0].fileName || 'gallery_image.jpg'
218
+ });
219
+ }
220
+ } catch (err) {
221
+ console.log('Gallery Error:', err);
222
+ }
223
+ setIsModalVisible(false);
224
+ };
225
+ const handleCamera = async () => {
226
+ try {
227
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, {
228
+ title: 'Camera Permission',
229
+ message: 'This app needs camera access to take photos',
230
+ buttonNeutral: 'Ask Me Later',
231
+ buttonNegative: 'Cancel',
232
+ buttonPositive: 'OK'
233
+ });
234
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
235
+ const result = await launchCamera({
236
+ mediaType: 'photo'
237
+ });
238
+ if (result.assets && result.assets.length > 0) {
239
+ addAttachment({
240
+ type: 'image',
241
+ uri: result.assets[0].uri,
242
+ name: result.assets[0].fileName || 'camera_image.jpg'
243
+ });
244
+ }
245
+ } else {
246
+ alert('Camera permission denied');
247
+ }
248
+ } catch (err) {
249
+ console.log('Camera Error:', err);
250
+ }
251
+ setIsModalVisible(false);
252
+ };
253
+ const handlePDF = async () => {
254
+ try {
255
+ const res = await pick({
256
+ type: ['application/pdf']
257
+ });
258
+ if (res && res.length > 0) {
259
+ addAttachment({
260
+ type: 'pdf',
261
+ uri: res[0].uri,
262
+ name: res[0].name || 'document.pdf'
263
+ });
264
+ }
265
+ } catch (err) {
266
+ if (err.message !== 'DOCUMENT_PICKER_CANCELED') {
267
+ console.log('PDF Error:', err);
268
+ }
269
+ }
270
+ setIsModalVisible(false);
271
+ };
272
+ const removeAttachment = index => {
273
+ setAttachments(attachments.filter((_, i) => i !== index));
274
+ };
275
+ const addAttachment = file => {
276
+ if (attachments.length >= 3) {
277
+ alert('You can only attach up to 3 files.');
278
+ return;
279
+ }
280
+ setAttachments([...attachments, file]);
281
+ };
282
+ const askAudioPermission = async () => {
283
+ if (Platform.OS === 'android') {
284
+ try {
285
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, {
286
+ title: 'Audio Recording Permission',
287
+ message: 'DigiKhata needs access to your microphone to record audio.',
288
+ buttonNeutral: 'Ask Me Later',
289
+ buttonNegative: 'Cancel',
290
+ buttonPositive: 'OK'
291
+ });
292
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
293
+ console.log('Recording permission granted');
294
+ onStartRecord();
295
+ } else {
296
+ console.log('Recording permission denied');
297
+ return;
298
+ }
299
+ } catch (err) {
300
+ console.warn(err);
301
+ return;
302
+ }
303
+ } else {
304
+ onStartRecord();
305
+ }
306
+ };
307
+ const onStartRecord = async () => {
308
+ setIsSoundModal(true);
309
+ Sound.addRecordBackListener(e => {
310
+ console.log('Recording progress:', e.currentPosition, e.currentMetering);
311
+ console.log(e.currentPosition);
312
+ console.log(Sound.mmssss(Math.floor(e.currentPosition)));
313
+ setRecordingTime(Sound.mmssss(Math.floor(e.currentPosition)));
314
+ });
315
+ const result = await Sound.startRecorder();
316
+ console.log('Recording started:', result);
317
+ };
318
+ const onStopRecord = async flag => {
319
+ try {
320
+ const result = await Sound.stopRecorder();
321
+ Sound.removeRecordBackListener();
322
+ console.log('Recording stopped:', result);
323
+ setAudioFile(flag ? '' : result);
324
+ setTimeout(() => {
325
+ setIsSoundModal(false);
326
+ }, 350);
327
+ } catch (err) {
328
+ console.error('Error stopping recorder:', err);
329
+ }
330
+ };
331
+ const onStartPlay = async fileUrl => {
332
+ setPlayLoading(true);
333
+ // Set up playback progress listener
334
+ Sound.addPlayBackListener(e => {
335
+ console.log('Playback progress:', e.currentPosition, e.duration);
336
+ setIsPlaying(true);
337
+ animationRef.current?.play();
338
+ // setCurrentPosition(e.currentPosition);
339
+ // setTotalDuration(e.duration);
340
+ // setPlayTime(Sound.mmssss(Math.floor(e.currentPosition)));
341
+ // setDuration(Sound.mmssss(Math.floor(e.duration)));
342
+ });
343
+
344
+ // Set up playback end listener
345
+ Sound.addPlaybackEndListener(e => {
346
+ console.log('Playback completed:', e);
347
+ // Handle playback completion
348
+ setIsPlaying(false);
349
+ animationRef.current?.pause();
350
+ // setCurrentPosition(0);
351
+ });
352
+ const result = await Sound.startPlayer(fileUrl);
353
+ setPlayLoading(false);
354
+ console.log('Playback started:', result);
355
+ };
356
+ const onPauseRecord = async () => {
357
+ Sound.stopPlayer();
358
+ Sound.removePlayBackListener();
359
+ Sound.removePlaybackEndListener();
360
+ };
361
+ const handleDeleteAudio = () => {
362
+ Alert.alert('Delete Recording', 'Do you want to delete?', [{
363
+ text: 'No',
364
+ style: 'cancel'
365
+ }, {
366
+ text: 'Yes',
367
+ onPress: async () => {
368
+ try {
369
+ await onPauseRecord();
370
+ setAudioFile('');
371
+ setIsPlaying(false);
372
+ } catch (err) {
373
+ console.error('Error stopping audio before clearing:', err);
374
+ }
375
+ },
376
+ style: 'destructive'
377
+ }], {
378
+ cancelable: true
379
+ });
380
+ };
381
+ const calculateQuantity = (existingQty, newQty, type) => {
382
+ const current = Number(existingQty) || 0;
383
+ const input = Number(newQty) || 0;
384
+ if (type === 'IN') {
385
+ return current + input; // Add stock
386
+ } else if (type === 'OUT') {
387
+ return current - input; // Reduce stock
388
+ } else {
389
+ return current; // No change if type is invalid
390
+ }
391
+ };
392
+ const calculateQuantityForUpdate = (existingQty, oldEntry, newQty) => {
393
+ const current = Number(existingQty) || 0;
394
+ const oldIn = Number(oldEntry?.stockIN) || 0;
395
+ const oldOut = Number(oldEntry?.stockOUT) || 0;
396
+ const input = Number(newQty) || 0;
397
+ let updatedQty = current;
398
+
399
+ // 1️⃣ Reverse the old entry first
400
+ if (oldIn > 0) {
401
+ updatedQty -= oldIn; // remove old added stock
402
+ } else if (oldOut > 0) {
403
+ updatedQty += oldOut; // restore old removed stock
404
+ }
405
+
406
+ // 2️⃣ Apply the new quantity
407
+ if (oldIn > 0) {
408
+ updatedQty += input; // add new stock
409
+ } else if (oldOut > 0) {
410
+ updatedQty -= input; // subtract new stock
411
+ }
412
+ return updatedQty;
413
+ };
414
+ const addEntry = async () => {
415
+ try {
416
+ const res = await addItemDetails(ItemDetails?.id, type === 'IN' ? form?.qty : '0', type === 'OUT' ? form?.qty : '0', form?.amount, form?.rateSale, form?.details + `_bill_${String(form?.billNo)}`, AudioFile, mergeDateTime({
417
+ date,
418
+ time
419
+ }), selectBusiness?.id, "", SelectedParty ? Number(SelectedParty?.id) : null);
420
+ console.log(res, 'Transaction Success');
421
+ const updatedQty = calculateQuantity(ItemDetails?.qty, form?.qty, type);
422
+ await updateItemQty(ItemDetails?.id, updatedQty);
423
+ const trxId = res?.insertId;
424
+
425
+ // ✅ Upload attachments if any
426
+ if (attachments?.length > 0) {
427
+ for (const file of attachments) {
428
+ try {
429
+ await addItemImages(trxId, file.uri);
430
+ console.log(`Attachment added: ${file.name}`);
431
+ } catch (err) {
432
+ console.log('Attachment insert error:', err);
433
+ }
434
+ }
435
+ }
436
+ SelectedParty && (await addPartyTransaction(form?.amount, trxId));
437
+
438
+ // ✅ Show success modal
439
+ setSuccessModal(true);
440
+
441
+ // ✅ Reset form
442
+ setForm({
443
+ name: '',
444
+ unit: '',
445
+ category: '',
446
+ details: '',
447
+ rateSale: '',
448
+ ratePurchase: '',
449
+ billNo: '',
450
+ qty: '',
451
+ amount: ''
452
+ });
453
+
454
+ // ✅ Close modal and navigate back after 2 seconds
455
+ setTimeout(() => {
456
+ setSuccessModal(false);
457
+ navigation.goBack();
458
+ }, 2000);
459
+ } catch (error) {
460
+ console.error('Error adding entry:', error);
461
+ }
462
+ };
463
+ const updateEntry = async () => {
464
+ try {
465
+ // ✅ Determine correct stock fields based on original Entry
466
+ const stockIN = Number(Entry?.stockIN) > 0 ? form?.qty : '0';
467
+ const stockOUT = Number(Entry?.stockOUT) > 0 ? form?.qty : '0';
468
+ const quantityType = Number(Entry?.stockOUT) > 0 ? 'IN' : 'OUT';
469
+
470
+ // ✅ Update the ItemDetails entry
471
+ const res = await updateItemDetails(Entry?.id,
472
+ // Existing record ID
473
+ ItemDetails?.id,
474
+ // Item ID
475
+ stockIN, stockOUT, form?.amount, form?.rateSale, form?.details + `_bill_${String(form?.billNo)}`, AudioFile, mergeDateTime({
476
+ date,
477
+ time
478
+ }), selectBusiness?.id);
479
+ console.log(res, '✅ Transaction Updated Successfully');
480
+
481
+ // ✅ Update item quantity based on difference between old and new stock
482
+ const updatedQty = calculateQuantityForUpdate(ItemDetails?.qty, Entry, form?.qty);
483
+ await updateItemQty(ItemDetails?.id, updatedQty);
484
+
485
+ // ✅ Update attachments
486
+ if (attachments?.length > 0) {
487
+ await deleteItemImagesByItemId(Entry?.id);
488
+ for (const file of attachments) {
489
+ await addItemImages(Entry?.id, file.uri);
490
+ }
491
+ }
492
+
493
+ // ✅ UI feedback
494
+ setSuccessModal(true);
495
+ setForm({
496
+ name: '',
497
+ unit: '',
498
+ category: '',
499
+ details: '',
500
+ rateSale: '',
501
+ ratePurchase: '',
502
+ billNo: '',
503
+ qty: '',
504
+ amount: ''
505
+ });
506
+ setTimeout(() => {
507
+ setSuccessModal(false);
508
+ navigation.goBack();
509
+ }, 2000);
510
+ } catch (error) {
511
+ console.error('❌ Error updating entry:', error);
512
+ }
513
+ };
514
+ useEffect(() => {
515
+ if (!itemDetailId) return;
516
+ getItemDetailsByItemId(itemId).then(res => {
517
+ let filtered = res?.find(i => i?.id == itemDetailId);
518
+ if (!filtered) return;
519
+ let details = filtered?.details?.split('_')[0];
520
+ let billNo = filtered?.details?.split('_')[2];
521
+ setEntry(filtered);
522
+ const arr = filtered?.attachments?.map((i, index) => ({
523
+ name: `pdf-test-${index + 1}.pdf`,
524
+ type: isPdfFile(i?.local_path) ? 'pdf' : 'image',
525
+ uri: i?.local_path,
526
+ attachment_id: i?.id
527
+ })) || [];
528
+ setForm({
529
+ ...form,
530
+ qty: Number(filtered?.stockIN) > 0 ? String(filtered?.stockIN) : String(filtered?.stockOUT),
531
+ rateSale: String(filtered?.subamount),
532
+ amount: String(filtered?.amount),
533
+ details,
534
+ billNo
535
+ });
536
+ setTime(new Date(toISOStringUTC(filtered?.entryDate)));
537
+ setDate(new Date(toISOStringUTC(filtered?.entryDate)));
538
+ setAudioFile(filtered?.local_path);
539
+ setAttachments(arr);
540
+ }).catch(error => {
541
+ console.log('Error fetching item details:', error);
542
+ });
543
+ }, [itemDetailId, itemId]);
544
+ const filteredContacts = contacts.filter(item => {
545
+ const name = item?.displayName?.toLowerCase() || '';
546
+ const rawNumber = item?.phoneNumbers[0]?.number || '';
547
+ const formattedNumber = formatPhoneNumber(rawNumber)?.toLowerCase() || '';
548
+
549
+ // 🔹 use your searchText state (from TextInput)
550
+ const searchLower = searchText.toLowerCase();
551
+
552
+ // (optional) client type
553
+ const clientType = clientPhoneMap.get(formattedNumber);
554
+ return name.includes(searchLower) || formattedNumber.includes(searchLower);
555
+ });
556
+ const filteredClients = Clients.filter(c => {
557
+ const name = c.name?.toLowerCase() || '';
558
+ const phone = c.phone?.toLowerCase() || '';
559
+ const searchLower = searchText.toLowerCase();
560
+ return name.includes(searchLower) || phone.includes(searchLower);
561
+ });
562
+ const getAllClientTypes = async () => {
563
+ try {
564
+ const [customers, suppliers, banks] = await Promise.all([getClientsByType(0, null, null, selectBusiness?.id), getClientsByType(1, null, null, selectBusiness?.id), getClientsByType(2, null, null, selectBusiness?.id)]);
565
+ const allClients = [...customers, ...suppliers, ...banks];
566
+
567
+ // sort
568
+ const sortedClients = allClients.sort((a, b) => a.type - b.type);
569
+ setClients(sortedClients);
570
+
571
+ // Map phone -> full client info
572
+ const phoneMap = new Map();
573
+ allClients.forEach(c => {
574
+ const formatted = formatPhoneNumber(c.phone || '')?.toLowerCase();
575
+ if (formatted) {
576
+ phoneMap.set(formatted, {
577
+ id: c.id,
578
+ type: c.type,
579
+ name: c.name,
580
+ phone: c.phone
581
+ });
582
+ }
583
+ });
584
+ setClientPhoneMap(phoneMap);
585
+ } catch (error) {
586
+ console.error(error);
587
+ }
588
+ };
589
+ const getAllContacts = async () => {
590
+ if (Platform.OS === 'android') {
591
+ try {
592
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
593
+ title: 'Contacts',
594
+ message: 'This app would like to view your contacts.',
595
+ buttonPositive: 'Please accept bare mortal'
596
+ });
597
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
598
+ console.log('Contacts permission granted');
599
+ Contacts.getAll().then(contacts => {
600
+ setContacts(contacts);
601
+ });
602
+ } else {
603
+ console.log('Contacts permission denied');
604
+ return;
605
+ }
606
+ } catch (err) {
607
+ console.warn(err);
608
+ return;
609
+ }
610
+ }
611
+ setIsModalVisible(false);
612
+ };
613
+ const onPartyPress = async () => {
614
+ await getAllContacts();
615
+ await getAllClientTypes();
616
+ setChangeModal(true);
617
+ };
618
+ const onContinue = async (name, phoneNUmer) => {
619
+ // normalize phone
620
+ const normalizedPhone = phoneNUmer ? String(phoneNUmer).trim() : '';
621
+ let data = [...clients, ...suppliers];
622
+ try {
623
+ let clientId;
624
+ let homeDetails = null;
625
+
626
+ // If phone exists → check if already in clients array
627
+ const isExist = normalizedPhone !== '' ? data?.find(item => {
628
+ const itemPhone = item?.phone ? String(item.phone).trim() : '';
629
+ return itemPhone === normalizedPhone && itemPhone !== '';
630
+ }) : undefined; // no phone → force new client
631
+
632
+ if (isExist) {
633
+ // Existing client found
634
+ clientId = isExist.id;
635
+ homeDetails = isExist;
636
+ } else {
637
+ console.log('else');
638
+ // No existing client or no phone given → always create new
639
+ const res = await addClient(name, normalizedPhone, 0, selectBusiness?.id);
640
+ setName('');
641
+ setPhoneNum('');
642
+ clientId = res?.insertId;
643
+ }
644
+ const resp = await getClientDetails(clientId);
645
+ dispatch({
646
+ type: CLIENT_DETAILS,
647
+ payload: resp
648
+ });
649
+ setSelectedParty(resp);
650
+ setChangeModal(false);
651
+
652
+ // navigation.replace('CustomerEntries', homeDetails ? { homeDetails } : {});
653
+ } catch (err) {
654
+ console.log('Error:', err);
655
+ }
656
+ };
657
+ const addPartyTransaction = async (finalValue, oldId) => {
658
+ let allItems = await getItemsByBusiness(selectBusiness?.id);
659
+ let filteredItem = allItems.find(i => i?.id == itemId);
660
+ let mutatedData = {
661
+ ...filteredItem,
662
+ addedQty: form?.qty,
663
+ addedRate: form?.rateSale
664
+ };
665
+ let final = [mutatedData];
666
+ try {
667
+ const res = await addTransaction(SelectedParty.id, type == "OUT" ? String(finalValue) : '0', type == "IN" ? String(finalValue) : '0', form?.details, fromJsDateToSql(date), AudioFile, `Stock_stockId${String(oldId)}`, JSON.stringify(final));
668
+ console.log(res, 'Transaction Success');
669
+ const trxId = res.insertId; // ✅ new transaction ID
670
+
671
+ if (attachments && attachments.length > 0) {
672
+ for (const file of attachments) {
673
+ try {
674
+ await addTransactionImages(trxId, file.uri);
675
+ console.log(`Attachment added: ${file.name}`);
676
+ } catch (err) {
677
+ console.log('Attachment insert error:', err);
678
+ }
679
+ }
680
+ }
681
+ } catch (err) {
682
+ console.log(err, 'Transaction Error');
683
+ }
684
+ };
685
+ return /*#__PURE__*/_jsxs(View, {
686
+ style: {
687
+ flex: 1,
688
+ backgroundColor: '#F5F5F5'
689
+ },
690
+ children: [/*#__PURE__*/_jsx(LinearGradient, {
691
+ style: styles._headerMain,
692
+ start: {
693
+ x: 0,
694
+ y: 0
695
+ },
696
+ end: {
697
+ x: 1,
698
+ y: 0
699
+ },
700
+ colors: [type == "IN" ? COLORS.greenColor : COLORS.redColor, type == "IN" ? COLORS.greenColor : COLORS.redColor],
701
+ children: /*#__PURE__*/_jsx(Header, {
702
+ navigation: navigation,
703
+ title: `${ItemDetails?.name} - ${Entry ? Number(Entry?.stockIN) > 0 ? 'IN' : 'OUT' : type}`,
704
+ firstColor: type == "IN" ? COLORS.greenColor : COLORS.redColor,
705
+ secondColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
706
+ })
707
+ }), /*#__PURE__*/_jsx(LinearGradient, {
708
+ style: [styles._headerMain, {
709
+ height: 30
710
+ }],
711
+ start: {
712
+ x: 0,
713
+ y: 0
714
+ },
715
+ end: {
716
+ x: 1,
717
+ y: 0
718
+ },
719
+ colors: [type == "IN" ? COLORS.greenColor : COLORS.redColor, type == "IN" ? COLORS.greenColor : COLORS.redColor]
720
+ }), /*#__PURE__*/_jsx(View, {
721
+ style: styles.cardContainer,
722
+ children: /*#__PURE__*/_jsx(ScrollView, {
723
+ contentContainerStyle: {
724
+ // alignItems: 'center',
725
+ paddingBottom: keyboardVisible ? HP(70) : HP(0)
726
+ // width: '95%',
727
+ },
728
+ keyboardShouldPersistTaps: "handled",
729
+ showsVerticalScrollIndicator: false,
730
+ children: /*#__PURE__*/_jsxs(View, {
731
+ style: styles.form,
732
+ children: [/*#__PURE__*/_jsxs(View, {
733
+ style: styles.inputContainerQty,
734
+ children: [/*#__PURE__*/_jsx(FloatingInput, {
735
+ label: "Qty"
736
+ // iconName="stats-chart-outline"
737
+ // iconPosition="right"
738
+ ,
739
+ value: form.qty,
740
+ onChangeText: text => {
741
+ let calculated_amount = calculateAmount(text, form.rateSale);
742
+ setForm({
743
+ ...form,
744
+ qty: text,
745
+ amount: String(calculated_amount)
746
+ });
747
+ },
748
+ containerStyle: {
749
+ width: '32%'
750
+ },
751
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor,
752
+ inputStyle: {
753
+ fontSize: 12
754
+ },
755
+ keyboardType: "numeric",
756
+ maxLength: 5
757
+ }), /*#__PURE__*/_jsx(FloatingInput, {
758
+ label: "Rate"
759
+ // iconName="speedometer-outline"
760
+ // iconPosition="right"
761
+ ,
762
+ value: form.rateSale,
763
+ onChangeText: text => {
764
+ let calculated_amount = calculateAmount(form?.qty, text);
765
+ setForm({
766
+ ...form,
767
+ rateSale: text,
768
+ amount: String(calculated_amount)
769
+ });
770
+ },
771
+ containerStyle: {
772
+ width: '32%'
773
+ },
774
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor,
775
+ inputStyle: {
776
+ fontSize: 12
777
+ },
778
+ keyboardType: "numeric",
779
+ maxLength: 7
780
+ }), /*#__PURE__*/_jsx(FloatingInput, {
781
+ label: "Amount"
782
+ // iconName="cash-outline"
783
+ ,
784
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
785
+ // iconPosition="right"
786
+ ,
787
+ value: form.amount,
788
+ onChangeText: text => setForm({
789
+ ...form,
790
+ amount: text
791
+ }),
792
+ containerStyle: {
793
+ width: '32%'
794
+ },
795
+ editable: false,
796
+ inputStyle: {
797
+ fontSize: 12
798
+ },
799
+ maxLength: 7
800
+ })]
801
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
802
+ style: [styles._inputMain, {
803
+ paddingHorizontal: 12
804
+ }],
805
+ activeOpacity: 0.8,
806
+ onPress: () => {
807
+ !AudioFile && askAudioPermission();
808
+ },
809
+ children: AudioFile ? /*#__PURE__*/_jsxs(_Fragment, {
810
+ children: [PlayLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
811
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
812
+ size: 'small',
813
+ animating: true
814
+ }) : /*#__PURE__*/_jsx(TouchableOpacity, {
815
+ activeOpacity: 0.8,
816
+ onPress: () => {
817
+ if (IsPlaying) {
818
+ Sound.stopPlayer();
819
+ Sound.removePlayBackListener();
820
+ Sound.removePlaybackEndListener();
821
+ setIsPlaying(false);
822
+ animationRef.current?.pause();
823
+ } else {
824
+ onStartPlay(AudioFile);
825
+ }
826
+ },
827
+ children: /*#__PURE__*/_jsx(Ionicons, {
828
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
829
+ size: 22,
830
+ name: IsPlaying ? 'pause' : 'play'
831
+ })
832
+ }), /*#__PURE__*/_jsx(LottieView, {
833
+ source: require('../assets/animations/voice_visualization.json'),
834
+ autoPlay: false,
835
+ loop: true,
836
+ style: {
837
+ width: '80%',
838
+ height: 42
839
+ },
840
+ ref: animationRef
841
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
842
+ activeOpacity: 0.8,
843
+ onPress: handleDeleteAudio,
844
+ children: /*#__PURE__*/_jsx(Ionicons, {
845
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
846
+ size: 22,
847
+ name: 'close'
848
+ })
849
+ })]
850
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
851
+ children: [/*#__PURE__*/_jsx(Text, {
852
+ style: {
853
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
854
+ fontSize: 13,
855
+ fontFamily: FONT_MEDIUM
856
+ },
857
+ children: "Attach Voice Note"
858
+ }), /*#__PURE__*/_jsx(Ionicons, {
859
+ name: 'mic-outline',
860
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
861
+ size: 22
862
+ })]
863
+ })
864
+ }), /*#__PURE__*/_jsx(FloatingInput, {
865
+ label: "Enter details"
866
+ // iconName="list-outline"
867
+ ,
868
+ iconPosition: "right",
869
+ value: form.details,
870
+ onChangeText: text => setForm({
871
+ ...form,
872
+ details: text
873
+ }),
874
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
875
+ }), /*#__PURE__*/_jsxs(View, {
876
+ style: styles.inputContainerQty,
877
+ children: [/*#__PURE__*/_jsx(FloatingInput, {
878
+ label: "Date",
879
+ iconName: "calendar-outline",
880
+ iconPosition: "left",
881
+ editable: false,
882
+ onPress: showDate,
883
+ value: formattedDate
884
+ // onChangeText={(text) => setForm({ ...form, amount: text })}
885
+ ,
886
+ containerStyle: {
887
+ width: '47.5%'
888
+ },
889
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor,
890
+ inputStyle: {
891
+ fontSize: 13
892
+ }
893
+ }), /*#__PURE__*/_jsx(FloatingInput, {
894
+ label: "Time",
895
+ iconName: "time-outline",
896
+ iconPosition: "left",
897
+ onPress: showTime,
898
+ editable: false,
899
+ value: formattedTime
900
+ // onChangeText={(text) => setForm({ ...form, amount: text })}
901
+ ,
902
+ containerStyle: {
903
+ width: '47.5%'
904
+ },
905
+ inputStyle: {
906
+ fontSize: 13
907
+ },
908
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
909
+ })]
910
+ }), /*#__PURE__*/_jsxs(View, {
911
+ style: styles.inputContainerQty,
912
+ children: [/*#__PURE__*/_jsx(FloatingInput, {
913
+ label: "PDF / Photo",
914
+ iconName: "attach-outline",
915
+ iconPosition: "left",
916
+ onPress: () => {
917
+ setIsModalVisible(true);
918
+ },
919
+ editable: false
920
+ // value={form.billNo}
921
+ // onChangeText={(text) => setForm({ ...form, billNo: text })}
922
+ // onChangeText={(text) => setForm({ ...form, amount: text })}
923
+ ,
924
+ containerStyle: {
925
+ width: '47.5%'
926
+ },
927
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
928
+ }), /*#__PURE__*/_jsx(FloatingInput, {
929
+ label: "Add Bill No."
930
+ // iconName="time-outline"
931
+ ,
932
+ iconPosition: "left",
933
+ value: form.billNo,
934
+ onChangeText: text => setForm({
935
+ ...form,
936
+ billNo: text
937
+ })
938
+ // onChangeText={(text) => setForm({ ...form, amount: text })}
939
+ ,
940
+ containerStyle: {
941
+ width: '47.5%'
942
+ },
943
+ iconColor: type == "IN" ? COLORS.greenColor : COLORS.redColor,
944
+ keyboardType: "numeric"
945
+ })]
946
+ }), /*#__PURE__*/_jsx(View, {
947
+ style: {
948
+ flexDirection: 'row'
949
+ },
950
+ children: attachments.map((file, index) => /*#__PURE__*/_jsxs(View, {
951
+ style: {
952
+ marginLeft: 8,
953
+ alignItems: 'center'
954
+ },
955
+ children: [file.type === 'image' ? /*#__PURE__*/_jsx(Image, {
956
+ source: {
957
+ uri: file.uri
958
+ },
959
+ style: {
960
+ width: 40,
961
+ height: 40,
962
+ borderRadius: 5
963
+ }
964
+ }) : /*#__PURE__*/_jsx(Ionicons, {
965
+ name: "document-text-outline",
966
+ size: 40
967
+ // color={mainColor}
968
+ ,
969
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor
970
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
971
+ onPress: () => removeAttachment(index),
972
+ style: {
973
+ position: 'absolute',
974
+ top: -5,
975
+ right: -5,
976
+ backgroundColor: 'white',
977
+ borderRadius: 10,
978
+ padding: 2
979
+ },
980
+ children: /*#__PURE__*/_jsx(Ionicons, {
981
+ name: "close-circle",
982
+ size: 18
983
+ // color={mainColor}
984
+ ,
985
+ color: COLORS.primaryColor
986
+ })
987
+ })]
988
+ }, index))
989
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
990
+ activeOpacity: 0.8,
991
+ style: styles._textInputParty,
992
+ onPress: async () => await onPartyPress(),
993
+ children: [SelectedParty ? /*#__PURE__*/_jsx(Text, {
994
+ style: [styles._inputText, {
995
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
996
+ fontFamily: FONT_MEDIUM,
997
+ fontSize: 13
998
+ }],
999
+ children: SelectedParty?.name
1000
+ }) : /*#__PURE__*/_jsx(Text, {
1001
+ style: [styles._inputText, {
1002
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
1003
+ fontFamily: FONT_MEDIUM,
1004
+ fontSize: 13
1005
+ }],
1006
+ children: "Add Party"
1007
+ }), SelectedParty ? /*#__PURE__*/_jsx(TouchableOpacity, {
1008
+ activeOpacity: 0.8,
1009
+ onPress: () => setSelectedParty(null),
1010
+ children: /*#__PURE__*/_jsx(Ionicons, {
1011
+ name: 'close-circle',
1012
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
1013
+ size: 25
1014
+ })
1015
+ }) : /*#__PURE__*/_jsx(Ionicons, {
1016
+ name: 'chevron-forward',
1017
+ color: type == "IN" ? COLORS.greenColor : COLORS.redColor,
1018
+ size: 20
1019
+ })]
1020
+ })]
1021
+ })
1022
+ })
1023
+ }), /*#__PURE__*/_jsx(BottomView, {
1024
+ style: [styles.bottomBar, {
1025
+ bottom: keyboardPadding
1026
+ }],
1027
+ children: /*#__PURE__*/_jsx(TouchableOpacity, {
1028
+ onPress: form.qty == '' || form.qty == 0 || form.rateSale == '' || form.rateSale == 0 || form.amount == '' || form.amount == 0 ? null : itemDetailId ? updateEntry : addEntry,
1029
+ style: [styles.totalButton, {
1030
+ opacity: form.qty == '' || form.qty == 0 || form.rateSale == '' || form.rateSale == 0 || form.amount == '' || form.amount == 0 ? 0.6 : 1,
1031
+ backgroundColor: type == "IN" ? COLORS.greenColor : COLORS.redColor
1032
+ }],
1033
+ children: /*#__PURE__*/_jsx(Text, {
1034
+ style: styles.totalText,
1035
+ children: itemDetailId ? 'Update' : 'Save'
1036
+ })
1037
+ })
1038
+ }), /*#__PURE__*/_jsx(NewModal, {
1039
+ isVisible: isModalVisible,
1040
+ onBackdropPress: () => setIsModalVisible(false),
1041
+ onBackButtonPress: () => setIsModalVisible(false),
1042
+ children: /*#__PURE__*/_jsxs(View, {
1043
+ style: {
1044
+ backgroundColor: 'white',
1045
+ padding: 20,
1046
+ borderRadius: 12
1047
+ },
1048
+ children: [/*#__PURE__*/_jsx(Text, {
1049
+ style: {
1050
+ fontSize: 16,
1051
+ fontFamily: FONT_MEDIUM,
1052
+ marginBottom: 12
1053
+ },
1054
+ children: "Choose Option"
1055
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
1056
+ style: styles._modalBtn,
1057
+ onPress: handleGallery,
1058
+ children: [/*#__PURE__*/_jsx(Ionicons, {
1059
+ name: "image-outline",
1060
+ size: 20,
1061
+ color: "red"
1062
+ }), /*#__PURE__*/_jsx(Text, {
1063
+ style: styles._modalText,
1064
+ children: "Gallery"
1065
+ })]
1066
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
1067
+ style: styles._modalBtn,
1068
+ onPress: handleCamera,
1069
+ children: [/*#__PURE__*/_jsx(Ionicons, {
1070
+ name: "camera-outline",
1071
+ size: 20,
1072
+ color: "red"
1073
+ }), /*#__PURE__*/_jsx(Text, {
1074
+ style: styles._modalText,
1075
+ children: "Camera"
1076
+ })]
1077
+ }), /*#__PURE__*/_jsxs(TouchableOpacity, {
1078
+ style: styles._modalBtn,
1079
+ onPress: handlePDF,
1080
+ children: [/*#__PURE__*/_jsx(Ionicons, {
1081
+ name: "document-outline",
1082
+ size: 20,
1083
+ color: "red"
1084
+ }), /*#__PURE__*/_jsx(Text, {
1085
+ style: styles._modalText,
1086
+ children: "PDF"
1087
+ })]
1088
+ })]
1089
+ })
1090
+ }), /*#__PURE__*/_jsx(NewModal, {
1091
+ isVisible: IsSoundModal
1092
+ // onBackdropPress={() => setIsSoundModal(false)}
1093
+ // onBackButtonPress={() => setIsSoundModal(false)}
1094
+ ,
1095
+ children: /*#__PURE__*/_jsxs(View, {
1096
+ style: styles._voiceModalMain,
1097
+ children: [/*#__PURE__*/_jsx(Text, {
1098
+ style: {
1099
+ color: COLORS.blackColor,
1100
+ fontFamily: FONT_MEDIUM,
1101
+ fontSize: 18
1102
+ },
1103
+ children: "DigiKhata"
1104
+ }), /*#__PURE__*/_jsx(LottieView, {
1105
+ style: {
1106
+ width: 130,
1107
+ height: 130
1108
+ },
1109
+ source: require('../assets/animations/recording.json'),
1110
+ autoPlay: true,
1111
+ loop: true
1112
+ }), /*#__PURE__*/_jsx(Text, {
1113
+ style: {
1114
+ color: COLORS.blackColor,
1115
+ fontFamily: FONT_NORMAL,
1116
+ fontSize: 13,
1117
+ opacity: 0.6
1118
+ },
1119
+ children: "Recording"
1120
+ }), /*#__PURE__*/_jsxs(View, {
1121
+ style: {
1122
+ flexDirection: 'row',
1123
+ width: '50%',
1124
+ justifyContent: 'space-between',
1125
+ alignItems: 'center'
1126
+ },
1127
+ children: [/*#__PURE__*/_jsx(TouchableOpacity, {
1128
+ style: styles._voiceBtn,
1129
+ activeOpacity: 0.8,
1130
+ onPress: () => {
1131
+ onStopRecord(true);
1132
+ },
1133
+ children: /*#__PURE__*/_jsx(Ionicons, {
1134
+ name: 'trash-outline',
1135
+ color: COLORS.blackColor,
1136
+ size: 22
1137
+ })
1138
+ }), /*#__PURE__*/_jsx(Text, {
1139
+ children: RecordingTime
1140
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
1141
+ style: styles._voiceBtn,
1142
+ activeOpacity: 0.8,
1143
+ onPress: () => {
1144
+ onStopRecord(false);
1145
+ },
1146
+ children: /*#__PURE__*/_jsx(Ionicons, {
1147
+ name: 'stop',
1148
+ color: COLORS.blackColor,
1149
+ size: 22
1150
+ })
1151
+ })]
1152
+ })]
1153
+ })
1154
+ }), /*#__PURE__*/_jsx(NewModal, {
1155
+ isVisible: SuccessModal,
1156
+ coverScreen: true,
1157
+ style: {
1158
+ margin: 0,
1159
+ padding: 0
1160
+ },
1161
+ animationInTiming: 100,
1162
+ animationOutTiming: 100,
1163
+ children: /*#__PURE__*/_jsxs(View, {
1164
+ style: {
1165
+ width: WP(100),
1166
+ height: HP(100),
1167
+ backgroundColor: COLORS.whiteColor,
1168
+ justifyContent: 'center',
1169
+ alignItems: 'center'
1170
+ },
1171
+ children: [/*#__PURE__*/_jsx(LottieView, {
1172
+ source: require('../assets/animations/success.json'),
1173
+ style: {
1174
+ width: 120,
1175
+ height: 120
1176
+ },
1177
+ autoPlay: true,
1178
+ loop: false
1179
+ }), /*#__PURE__*/_jsx(Text, {
1180
+ style: {
1181
+ color: '#00C985',
1182
+ fontFamily: FONT_MEDIUM,
1183
+ fontSize: 15
1184
+ },
1185
+ children: "Transaction Saved"
1186
+ })]
1187
+ })
1188
+ }), /*#__PURE__*/_jsx(NewModal, {
1189
+ isVisible: ChangeModal,
1190
+ onBackButtonPress: () => {
1191
+ setShowNewBtn(false);
1192
+ setChangeModal(false);
1193
+ },
1194
+ onBackdropPress: () => {
1195
+ setShowNewBtn(false);
1196
+ setChangeModal(false);
1197
+ },
1198
+ avoidKeyboard: false,
1199
+ children: /*#__PURE__*/_jsxs(View, {
1200
+ style: styles._changeModalMain,
1201
+ children: [/*#__PURE__*/_jsx(View, {
1202
+ style: styles._changeModalHeader,
1203
+ children: /*#__PURE__*/_jsx(Text, {
1204
+ style: styles._changeModalHeaderTxt,
1205
+ children: "Select Party"
1206
+ })
1207
+ }), /*#__PURE__*/_jsx(View, {
1208
+ style: styles._modalSearchMain,
1209
+ children: /*#__PURE__*/_jsx(TextInput, {
1210
+ style: styles._modalSearch,
1211
+ cursorColor: COLORS.primaryColor,
1212
+ placeholder: ShowNewBtn ? filteredContacts?.length && filteredContacts.length != 0 ? 'Search Contacts' : 'Type Customer Name' : 'Search Clients',
1213
+ value: searchText,
1214
+ maxLength: 25,
1215
+ onChangeText: setSearchText,
1216
+ placeholderTextColor: COLORS.gray
1217
+ })
1218
+ }), /*#__PURE__*/_jsx(View, {
1219
+ style: styles._modalSearchMain,
1220
+ children: !ShowNewBtn ? /*#__PURE__*/_jsxs(TouchableOpacity, {
1221
+ style: styles._addContactBtn,
1222
+ activeOpacity: 0.8,
1223
+ onPress: () => setShowNewBtn(true),
1224
+ children: [/*#__PURE__*/_jsx(View, {
1225
+ style: styles._avatarMain,
1226
+ children: /*#__PURE__*/_jsx(Ionicons, {
1227
+ name: "person-add-outline",
1228
+ color: COLORS.primaryColor,
1229
+ size: 22
1230
+ })
1231
+ }), /*#__PURE__*/_jsx(View, {
1232
+ style: {
1233
+ width: '70%'
1234
+ },
1235
+ children: /*#__PURE__*/_jsx(Text, {
1236
+ style: {
1237
+ color: COLORS.primaryColor,
1238
+ fontFamily: FONT_NORMAL,
1239
+ fontSize: 12
1240
+ },
1241
+ children: "Add New Customer"
1242
+ })
1243
+ }), /*#__PURE__*/_jsx(Ionicons, {
1244
+ name: "chevron-forward",
1245
+ color: COLORS.primaryColor,
1246
+ size: 22
1247
+ })]
1248
+ }) : /*#__PURE__*/_jsxs(View, {
1249
+ style: styles._phoneInputMain,
1250
+ children: [/*#__PURE__*/_jsx(CountryPhoneInput, {
1251
+ contentContainerStyle: {
1252
+ width: '100%'
1253
+ },
1254
+ onChange: text => {
1255
+ setPhoneNum(text?.fullNumber);
1256
+ }
1257
+ }), /*#__PURE__*/_jsx(TouchableOpacity, {
1258
+ activeOpacity: 0.8,
1259
+ onPress: () => {
1260
+ if (searchText.trim()) {
1261
+ onContinue(searchText, PhoneNum);
1262
+ }
1263
+ },
1264
+ style: [styles._modalBtn, {
1265
+ backgroundColor: searchText?.trim() ? COLORS.primaryColor : COLORS.gray,
1266
+ width: '100%',
1267
+ justifyContent: 'center',
1268
+ paddingVertical: 15
1269
+ }],
1270
+ children: /*#__PURE__*/_jsx(Text, {
1271
+ style: {
1272
+ color: COLORS.whiteColor,
1273
+ fontFamily: FONT_NORMAL,
1274
+ fontSize: 12
1275
+ },
1276
+ children: "CONTINUE"
1277
+ })
1278
+ })]
1279
+ })
1280
+ }), !ShowNewBtn ? /*#__PURE__*/_jsx(ScrollView, {
1281
+ contentContainerStyle: {
1282
+ alignItems: 'center'
1283
+ },
1284
+ children: filteredClients?.length === 0 ? /*#__PURE__*/_jsx(View, {
1285
+ style: {
1286
+ height: 300,
1287
+ justifyContent: 'center',
1288
+ alignItems: 'center'
1289
+ },
1290
+ children: /*#__PURE__*/_jsx(Text, {
1291
+ style: {
1292
+ textAlign: 'center',
1293
+ color: COLORS.blackColor,
1294
+ fontFamily: FONT_MEDIUM,
1295
+ fontSize: 13
1296
+ },
1297
+ children: "No Records Found"
1298
+ })
1299
+ }) : filteredClients.map((item, index) => {
1300
+ let amount = item?.total_subamount - item?.total_amount;
1301
+ let type = 'none';
1302
+ if (amount > 0) {
1303
+ type = 'receivable';
1304
+ } else if (amount < 0) {
1305
+ type = 'payable';
1306
+ }
1307
+ amount = Math.abs(amount);
1308
+ return /*#__PURE__*/_jsx(User, {
1309
+ name: item?.name,
1310
+ addedAt: formatDateTime(item?.latest_transaction_date || item?.created_at),
1311
+ amount: amount,
1312
+ type: type,
1313
+ avatarColor: item?.type == 0 ? 'red' : 'green',
1314
+ clientType: item?.type,
1315
+ icon: item?.local_path,
1316
+ mainContainer: {
1317
+ width: '100%'
1318
+ },
1319
+ onPress: () => {
1320
+ setShowNewBtn(false);
1321
+ setChangeModal(false);
1322
+ setSelectedParty(item);
1323
+ }
1324
+ }, index);
1325
+ })
1326
+ }) : /*#__PURE__*/_jsx(FlatList, {
1327
+ data: filteredContacts // 🔹 now using filtered contacts
1328
+ ,
1329
+ keyExtractor: (item, index) => index.toString(),
1330
+ contentContainerStyle: {
1331
+ paddingBottom: HP(20)
1332
+ },
1333
+ renderItem: ({
1334
+ item
1335
+ }) => {
1336
+ const rawNumber = item?.phoneNumbers[0]?.number;
1337
+ const formattedNumber = formatPhoneNumber(rawNumber)?.toLowerCase();
1338
+ const clientInfo = clientPhoneMap.get(formattedNumber);
1339
+ const clientId = clientInfo?.id;
1340
+ const clientType = clientInfo?.type;
1341
+ let typeLabel = '';
1342
+ if (clientType === 0) typeLabel = 'Customer';else if (clientType === 1) typeLabel = 'Supplier';
1343
+ const highlight = clientType === 0 || clientType === 1;
1344
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
1345
+ style: [styles._contactsCardMain],
1346
+ activeOpacity: 0.8,
1347
+ onPress: async () => {
1348
+ onContinue(item?.displayName, item?.phoneNumbers[0]?.number);
1349
+ },
1350
+ children: [/*#__PURE__*/_jsx(View, {
1351
+ style: styles._avatarMain,
1352
+ children: /*#__PURE__*/_jsx(Text, {
1353
+ style: styles._avatarText,
1354
+ children: getAvatar(item?.displayName)
1355
+ })
1356
+ }), /*#__PURE__*/_jsxs(View, {
1357
+ style: {
1358
+ width: '55%'
1359
+ },
1360
+ children: [/*#__PURE__*/_jsx(Text, {
1361
+ style: {
1362
+ color: COLORS.blackColor,
1363
+ fontFamily: FONT_NORMAL,
1364
+ fontSize: 13
1365
+ },
1366
+ children: item?.displayName
1367
+ }), /*#__PURE__*/_jsx(Text, {
1368
+ style: {
1369
+ color: COLORS.blackColor,
1370
+ fontFamily: FONT_NORMAL,
1371
+ fontSize: 12,
1372
+ opacity: 0.6
1373
+ },
1374
+ children: formattedNumber
1375
+ })]
1376
+ }), /*#__PURE__*/_jsx(View, {
1377
+ style: {
1378
+ width: '27%',
1379
+ height: '100%',
1380
+ justifyContent: 'center',
1381
+ alignItems: 'flex-end'
1382
+ },
1383
+ children: /*#__PURE__*/_jsx(Text, {
1384
+ style: {
1385
+ color: COLORS.darkGrey,
1386
+ fontFamily: FONT_NORMAL,
1387
+ fontSize: 11
1388
+ },
1389
+ children: typeLabel
1390
+ })
1391
+ })]
1392
+ });
1393
+ }
1394
+ })]
1395
+ })
1396
+ })]
1397
+ });
1398
+ };
1399
+ export default OutSell;
1400
+ const styles = StyleSheet.create({
1401
+ _headerMain: {
1402
+ width: WP(100),
1403
+ height: 60,
1404
+ flexDirection: 'row',
1405
+ alignItems: 'center',
1406
+ justifyContent: 'flex-start',
1407
+ gap: 15
1408
+ },
1409
+ _headerTitle: {
1410
+ color: COLORS.whiteColor,
1411
+ fontFamily: FONT_NORMAL,
1412
+ fontSize: 18
1413
+ },
1414
+ _contentMain: {
1415
+ width: WP(94),
1416
+ // height: "90%",
1417
+ backgroundColor: COLORS.whiteColor,
1418
+ // position: "absolute",
1419
+ // top: 55,
1420
+ shadowColor: '#000',
1421
+ shadowOffset: {
1422
+ width: 0,
1423
+ height: 2
1424
+ },
1425
+ shadowOpacity: 0.2,
1426
+ shadowRadius: 3.84,
1427
+ elevation: 5,
1428
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1429
+ alignItems: 'center',
1430
+ justifyContent: 'space-between',
1431
+ paddingVertical: 12,
1432
+ overflow: 'hidden',
1433
+ alignSelf: 'center'
1434
+ // paddingTop: 30
1435
+ },
1436
+ headerContainer: {
1437
+ paddingTop: 60,
1438
+ paddingBottom: 20,
1439
+ paddingHorizontal: 20,
1440
+ flexDirection: 'row',
1441
+ alignItems: 'center'
1442
+ },
1443
+ scrollContainer: {
1444
+ paddingBottom: 200
1445
+ },
1446
+ header: {
1447
+ flexDirection: 'row',
1448
+ alignItems: 'center',
1449
+ backgroundColor: '#FF5C00',
1450
+ paddingVertical: 20,
1451
+ paddingHorizontal: 20,
1452
+ borderBottomLeftRadius: 20,
1453
+ borderBottomRightRadius: 20
1454
+ },
1455
+ headerTitle: {
1456
+ color: '#fff',
1457
+ fontSize: 20,
1458
+ fontFamily: FONT_NORMAL,
1459
+ marginLeft: 10
1460
+ },
1461
+ form: {
1462
+ backgroundColor: COLORS.whiteColor,
1463
+ // margin: 15,
1464
+ padding: 10,
1465
+ width: '100%'
1466
+ },
1467
+ inputContainer: {
1468
+ marginBottom: 15,
1469
+ width: '100%'
1470
+ },
1471
+ inputContainerQty: {
1472
+ flexDirection: 'row',
1473
+ justifyContent: 'space-between',
1474
+ width: '100%',
1475
+ marginBottom: 15,
1476
+ gap: 10
1477
+ },
1478
+ label: {
1479
+ fontSize: 13,
1480
+ color: '#000',
1481
+ marginBottom: 8,
1482
+ paddingLeft: 10
1483
+ },
1484
+ inputWithIcon: {
1485
+ flex: 1,
1486
+ flexDirection: 'row',
1487
+ alignItems: 'center',
1488
+ borderWidth: 1,
1489
+ borderColor: '#ddd',
1490
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1491
+ backgroundColor: '#fff',
1492
+ height: 55,
1493
+ paddingHorizontal: 12,
1494
+ justifyContent: 'space-between'
1495
+ },
1496
+ inputWithIconFull: {
1497
+ width: '100%',
1498
+ flexDirection: 'row',
1499
+ alignItems: 'center',
1500
+ borderWidth: 1,
1501
+ borderColor: '#ddd',
1502
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1503
+ backgroundColor: '#fff',
1504
+ height: 55,
1505
+ paddingHorizontal: 12,
1506
+ justifyContent: 'space-between',
1507
+ marginBottom: 15
1508
+ },
1509
+ inputTextOnly: {
1510
+ flex: 1,
1511
+ fontSize: 14,
1512
+ color: '#000',
1513
+ marginLeft: 10
1514
+ },
1515
+ inputTextOnlyFull: {
1516
+ flex: 1,
1517
+ fontSize: 14,
1518
+ color: '#000',
1519
+ marginLeft: 10
1520
+ },
1521
+ input: {
1522
+ flex: 1,
1523
+ borderWidth: 1,
1524
+ borderColor: '#ddd',
1525
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1526
+ height: 55,
1527
+ paddingHorizontal: 12,
1528
+ fontSize: 12,
1529
+ color: '#000',
1530
+ // marginLeft:10,
1531
+ backgroundColor: '#fff',
1532
+ fontFamily: FONT_NORMAL
1533
+ },
1534
+ fullInput: {
1535
+ width: '100%',
1536
+ borderWidth: 1,
1537
+ borderColor: '#ddd',
1538
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1539
+ height: 55,
1540
+ paddingHorizontal: 12,
1541
+ fontSize: 14,
1542
+ color: '#000',
1543
+ backgroundColor: '#fff',
1544
+ marginBottom: 15
1545
+ },
1546
+ inputDate: {
1547
+ borderWidth: 1,
1548
+ borderColor: '#ddd',
1549
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1550
+ height: 60,
1551
+ width: '48%',
1552
+ padding: 12,
1553
+ fontSize: 14,
1554
+ color: '#000',
1555
+ backgroundColor: '#fff'
1556
+ },
1557
+ inputAmount: {
1558
+ borderWidth: 1,
1559
+ borderColor: '#ddd',
1560
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1561
+ height: 60,
1562
+ width: '100%',
1563
+ justifyContent: 'center',
1564
+ alignSelf: 'center',
1565
+ padding: 12,
1566
+ fontSize: 14,
1567
+ color: '#000',
1568
+ backgroundColor: '#fff'
1569
+ },
1570
+ inputUnitName: {
1571
+ borderWidth: 1,
1572
+ borderColor: '#ddd',
1573
+ borderRadius: 10,
1574
+ height: 60,
1575
+ padding: 12,
1576
+ fontSize: 14,
1577
+ color: '#000',
1578
+ backgroundColor: '#fff',
1579
+ marginBottom: 20
1580
+ },
1581
+ dropdown: {
1582
+ borderWidth: 1,
1583
+ borderColor: '#ddd',
1584
+ borderRadius: 10,
1585
+ height: 60,
1586
+ padding: 12,
1587
+ flexDirection: 'row',
1588
+ justifyContent: 'space-between',
1589
+ alignItems: 'center'
1590
+ },
1591
+ placeholder: {
1592
+ color: '#B5B5B5',
1593
+ fontSize: 14
1594
+ },
1595
+ barcodeContainer: {
1596
+ flexDirection: 'row',
1597
+ alignItems: 'center',
1598
+ borderWidth: 1,
1599
+ borderColor: '#ddd',
1600
+ borderRadius: 10,
1601
+ paddingHorizontal: 10,
1602
+ height: 60
1603
+ },
1604
+ footer: {
1605
+ position: 'absolute',
1606
+ bottom: 80,
1607
+ left: 0,
1608
+ right: 0,
1609
+ backgroundColor: COLORS.whiteColor,
1610
+ paddingVertical: 10,
1611
+ paddingHorizontal: 15
1612
+ },
1613
+ nextButton: {
1614
+ backgroundColor: COLORS.primaryColor,
1615
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1616
+ alignItems: 'center',
1617
+ paddingVertical: 15
1618
+ },
1619
+ nextButtonText: {
1620
+ color: '#fff',
1621
+ fontSize: 16,
1622
+ fontFamily: FONT_NORMAL
1623
+ },
1624
+ cardContainer: {
1625
+ backgroundColor: COLORS.whiteColor,
1626
+ marginHorizontal: 15,
1627
+ width: '95%',
1628
+ alignSelf: 'center',
1629
+ // height: 60,
1630
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1631
+ marginTop: -35,
1632
+ // paddingVertical: 10,
1633
+ elevation: 5
1634
+ // alignItems: 'flex-start',
1635
+ // paddingLeft: 10,
1636
+ // justifyContent: 'center',
1637
+ },
1638
+ bottomBar: {
1639
+ position: 'absolute',
1640
+ left: 0,
1641
+ right: 0,
1642
+ backgroundColor: '#fff',
1643
+ borderTopLeftRadius: TEXT_SIZES.BORDER_RADIUS,
1644
+ borderTopRightRadius: TEXT_SIZES.BORDER_RADIUS,
1645
+ alignItems: 'center',
1646
+ justifyContent: 'center',
1647
+ paddingVertical: 10,
1648
+ elevation: 10
1649
+ },
1650
+ totalButton: {
1651
+ // borderWidth: 1,
1652
+ marginBottom: 10,
1653
+ // borderColor: COLORS.primaryColor,s
1654
+ backgroundColor: COLORS.primaryColor,
1655
+ borderRadius: 100,
1656
+ width: '100%',
1657
+ height: 50,
1658
+ alignItems: 'center',
1659
+ justifyContent: 'center'
1660
+ },
1661
+ totalText: {
1662
+ color: COLORS.whiteColor,
1663
+ fontFamily: FONT_NORMAL,
1664
+ fontSize: 13
1665
+ },
1666
+ _inputMain: {
1667
+ width: '100%',
1668
+ borderWidth: 1,
1669
+ borderColor: '#ddd',
1670
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1671
+ height: 60,
1672
+ paddingHorizontal: 12,
1673
+ fontSize: 14,
1674
+ color: '#000',
1675
+ backgroundColor: '#fff',
1676
+ marginBottom: 15,
1677
+ flexDirection: 'row',
1678
+ alignItems: 'center',
1679
+ justifyContent: 'space-between'
1680
+ },
1681
+ // dropdown: {
1682
+ // borderWidth: 1,
1683
+ // borderColor: '#E0E0E0',
1684
+ // borderRadius: 10,
1685
+ // padding: 12,
1686
+ // flexDirection: 'row',
1687
+ // justifyContent: 'space-between',
1688
+ // alignItems: 'center',
1689
+ // },
1690
+ valueText: {
1691
+ fontSize: 15,
1692
+ color: '#000'
1693
+ },
1694
+ modalBackdrop: {
1695
+ flex: 1,
1696
+ backgroundColor: 'rgba(0,0,0,0.3)',
1697
+ justifyContent: 'flex-end'
1698
+ },
1699
+ overlay: {
1700
+ ...StyleSheet.absoluteFillObject
1701
+ },
1702
+ bottomDrawer: {
1703
+ backgroundColor: '#fff',
1704
+ padding: 20,
1705
+ borderTopLeftRadius: 20,
1706
+ borderTopRightRadius: 20,
1707
+ minHeight: height * 0.45
1708
+ },
1709
+ drawerHeader: {
1710
+ flexDirection: 'row',
1711
+ justifyContent: 'space-between',
1712
+ alignItems: 'center',
1713
+ marginBottom: 10
1714
+ },
1715
+ drawerTitle: {
1716
+ fontSize: 18,
1717
+ fontFamily: FONT_NORMAL,
1718
+ marginBottom: 20
1719
+ },
1720
+ addNewButton: {
1721
+ flexDirection: 'row',
1722
+ alignItems: 'center',
1723
+ backgroundColor: COLORS.primaryColor,
1724
+ paddingHorizontal: 14,
1725
+ paddingVertical: 8,
1726
+ borderRadius: TEXT_SIZES.BORDER_RADIUS
1727
+ },
1728
+ addNewText: {
1729
+ color: COLORS.whiteColor,
1730
+ fontSize: 12,
1731
+ marginLeft: 6,
1732
+ fontFamily: FONT_NORMAL
1733
+ },
1734
+ unitGrid: {
1735
+ paddingVertical: 10
1736
+ },
1737
+ unitButton: {
1738
+ backgroundColor: '#F3F3F3',
1739
+ borderRadius: 25,
1740
+ borderColor: COLORS.borderColor,
1741
+ borderWidth: 1,
1742
+ paddingVertical: 10,
1743
+ paddingHorizontal: 15,
1744
+ height: 60,
1745
+ marginBottom: 10,
1746
+ flex: 1,
1747
+ alignItems: 'center',
1748
+ marginHorizontal: 4,
1749
+ justifyContent: 'center'
1750
+ },
1751
+ unitText: {
1752
+ color: '#000',
1753
+ fontSize: 13
1754
+ },
1755
+ nextText: {
1756
+ color: '#fff',
1757
+ fontSize: 16,
1758
+ fontFamily: FONT_NORMAL
1759
+ },
1760
+ _detailMain: {
1761
+ minHeight: 55,
1762
+ maxHeight: 150,
1763
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1764
+ color: COLORS.blackColor,
1765
+ fontFamily: FONT_MEDIUM,
1766
+ alignSelf: 'center',
1767
+ width: '100%',
1768
+ borderWidth: 1,
1769
+ borderColor: '#ddd',
1770
+ paddingHorizontal: 12,
1771
+ fontSize: 14,
1772
+ color: '#000',
1773
+ backgroundColor: '#fff',
1774
+ marginBottom: 15
1775
+ },
1776
+ _modalBtn: {
1777
+ flexDirection: 'row',
1778
+ alignItems: 'center',
1779
+ paddingVertical: 12,
1780
+ borderBottomColor: '#eee',
1781
+ borderBottomWidth: 1
1782
+ },
1783
+ _modalText: {
1784
+ marginLeft: 10,
1785
+ fontSize: 14,
1786
+ fontFamily: FONT_NORMAL,
1787
+ color: COLORS.blackColor
1788
+ },
1789
+ _voiceModalMain: {
1790
+ width: WP(90),
1791
+ height: HP(30),
1792
+ backgroundColor: COLORS.whiteColor,
1793
+ justifyContent: 'center',
1794
+ alignItems: 'center',
1795
+ borderRadius: 15
1796
+ },
1797
+ _voiceBtn: {
1798
+ width: 35,
1799
+ height: 35,
1800
+ borderColor: COLORS.blackColor,
1801
+ borderWidth: 1,
1802
+ borderRadius: 100,
1803
+ justifyContent: 'center',
1804
+ alignItems: 'center'
1805
+ },
1806
+ _textInputParty: {
1807
+ width: '100%',
1808
+ height: 60,
1809
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1810
+ borderColor: COLORS.gray,
1811
+ borderWidth: 1,
1812
+ flexDirection: 'row',
1813
+ justifyContent: 'space-between',
1814
+ alignItems: 'center',
1815
+ paddingHorizontal: 12,
1816
+ gap: 15
1817
+ },
1818
+ _changeModalMain: {
1819
+ width: WP(90),
1820
+ maxHeight: HP(75),
1821
+ backgroundColor: COLORS.whiteColor
1822
+ },
1823
+ _changeModalHeader: {
1824
+ width: '100%',
1825
+ height: HP(6),
1826
+ backgroundColor: COLORS.primaryColor,
1827
+ justifyContent: 'center',
1828
+ alignItems: 'center'
1829
+ },
1830
+ _changeModalHeaderTxt: {
1831
+ color: COLORS.whiteColor,
1832
+ fontFamily: FONT_MEDIUM,
1833
+ fontSize: 14
1834
+ },
1835
+ _modalSearchMain: {
1836
+ width: '100%',
1837
+ justifyContent: 'center',
1838
+ alignItems: 'center',
1839
+ marginVertical: 7.5
1840
+ },
1841
+ _modalSearch: {
1842
+ width: '92%',
1843
+ height: 50,
1844
+ borderWidth: 1,
1845
+ borderColor: COLORS.gray,
1846
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1847
+ paddingLeft: 10,
1848
+ fontFamily: FONT_NORMAL,
1849
+ fontSize: 13,
1850
+ color: COLORS.blackColor
1851
+ },
1852
+ _avatarText: {
1853
+ fontFamily: FONT_NORMAL,
1854
+ fontSize: 16,
1855
+ color: COLORS.primaryColor
1856
+ },
1857
+ _addContactBtn: {
1858
+ width: '92%',
1859
+ height: 50,
1860
+ // backgroundColor: "red",
1861
+ flexDirection: 'row',
1862
+ justifyContent: 'space-between',
1863
+ alignItems: 'center'
1864
+ },
1865
+ _contactsCardMain: {
1866
+ width: '92%',
1867
+ height: 50,
1868
+ // backgroundColor: "red",
1869
+ marginVertical: 10,
1870
+ flexDirection: 'row',
1871
+ justifyContent: 'space-between',
1872
+ alignItems: 'center',
1873
+ alignSelf: 'center'
1874
+ },
1875
+ _phoneInputMain: {
1876
+ width: '92%',
1877
+ // height:60,
1878
+ // backgroundColor:"red",
1879
+ alignItems: 'center',
1880
+ gap: 15
1881
+ }
1882
+ });
1883
+ //# sourceMappingURL=OutSell.js.map