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,1161 @@
1
+ import React, { useState, useRef, useEffect } from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ TextInput,
6
+ TouchableOpacity,
7
+ Animated,
8
+ FlatList,
9
+ StyleSheet,
10
+ Platform,
11
+ PermissionsAndroid,
12
+ ActivityIndicator,
13
+ BackHandler,
14
+ Alert,
15
+ Keyboard,
16
+ ScrollView,
17
+ ImageBackground,
18
+ } from 'react-native';
19
+ import {
20
+ Button_Text_SIZES,
21
+ COLORS,
22
+ FONT_MEDIUM,
23
+ FONT_NORMAL,
24
+ HP,
25
+ Input_Field_SIZES,
26
+ TEXT_SIZES,
27
+ WP,
28
+ } from '../themes/config';
29
+ import LinearGradient from 'react-native-linear-gradient';
30
+ import Ionicons from 'react-native-vector-icons/Ionicons';
31
+ import {
32
+ BottomView,
33
+ CountryPhoneInput,
34
+ CustomToast,
35
+ FloatingInput,
36
+ } from '../components';
37
+ import { generatePDF } from 'react-native-html-to-pdf';
38
+ import { viewDocument } from '@react-native-documents/viewer';
39
+ import Geolocation from '@react-native-community/geolocation';
40
+ import axios from 'axios';
41
+ import {
42
+ addNewBusiness,
43
+ getAllBusinesses,
44
+ selectBusiness,
45
+ } from '../database/business';
46
+ import { useDispatch, useSelector } from 'react-redux';
47
+ import { SELECTED_BUSINESS } from '../redux/reducers/client/client_types';
48
+ import CityModal from '../components/CityModal';
49
+ import Carousel from 'react-native-reanimated-carousel';
50
+ import {
51
+ Card1,
52
+ Card10,
53
+ Card2,
54
+ Card3,
55
+ Card4,
56
+ Card5,
57
+ Card6,
58
+ Card7,
59
+ Card8,
60
+ Card9,
61
+ } from '../components/BusinessCards';
62
+
63
+ export default function AddBusiness({ navigation }) {
64
+ const dispatch = useDispatch();
65
+ const user = useSelector((state) => state.user.user_data);
66
+ const [step, setStep] = useState(1);
67
+ const fadeAnim = useRef(new Animated.Value(1)).current;
68
+ const [ownerName, setOwnerName] = useState('');
69
+ const [businessName, setBusinessName] = useState('');
70
+ const [businessNameOther, setBusinessNameOther] = useState('');
71
+ const [businessNameOtherCategory, setBusinessNameOtherCategory] =
72
+ useState('');
73
+ const [phone, setPhone] = useState('');
74
+ const [businessType, setBusinessType] = useState(null);
75
+ const [businessCategory, setBusinessCategory] = useState(null);
76
+ const [inputValue, setInputValue] = useState('');
77
+ const [locationData, setLocationData] = useState(null);
78
+ const [loading, setLoading] = useState(false);
79
+ const [coords, setCoords] = useState(null);
80
+ const [isSubmitting, setIsSubmitting] = useState(false);
81
+ const [showCityModal, setShowCityModal] = useState(false);
82
+ const [otherType, setOtherType] = useState('');
83
+ const [toast, setToast] = useState(null); // { type, title, message }
84
+ const [keyboardPadding, setKeyboardPadding] = useState(0);
85
+
86
+ const cardComponents = [
87
+ Card8,
88
+ Card2,
89
+ Card3,
90
+ Card4,
91
+ Card7,
92
+ Card5,
93
+ Card6,
94
+ Card1,
95
+ Card10,
96
+ Card9,
97
+ ];
98
+
99
+ const businessCards = [
100
+ require('../assets/businessCards/card_wall_01.jpeg'),
101
+ require('../assets/businessCards/card_wall_02.jpeg'),
102
+ require('../assets/businessCards/card_wall_03.jpeg'),
103
+ require('../assets/businessCards/card_wall_04.jpeg'),
104
+ require('../assets/businessCards/card_wall_05.jpeg'),
105
+ require('../assets/businessCards/card_wall_06.jpeg'),
106
+ require('../assets/businessCards/card_wall_07.jpeg'),
107
+ require('../assets/businessCards/card_wall_08.jpeg'),
108
+ require('../assets/businessCards/card_11.png'),
109
+ require('../assets/businessCards/card_12_bg.png'),
110
+ ];
111
+
112
+ const [address, setAddress] = useState({
113
+ formattedAddress: '',
114
+ building: '',
115
+ area: '',
116
+ city: '',
117
+ });
118
+
119
+ const fetchLocation = async () => {
120
+ try {
121
+ if (!coords?.latitude || !coords?.longitude) {
122
+ console.warn('❗ Coordinates not found yet');
123
+ return;
124
+ }
125
+
126
+ setLoading(true);
127
+
128
+ const formData = new FormData();
129
+ formData.append('coords', `${coords.latitude},${coords.longitude}`);
130
+
131
+ const response = await axios.post(
132
+ 'https://ai-api.invoicex.tech/minikyc/find-location',
133
+ formData,
134
+ { headers: { 'Content-Type': 'multipart/form-data' } }
135
+ );
136
+
137
+ const data = response.data;
138
+ console.log('Location Response:', data);
139
+
140
+ // Extract parts of formatted address for better display
141
+ const parts =
142
+ data.FormattedAddress?.split(',').map((p) => p.trim()) || [];
143
+
144
+ setAddress({
145
+ formattedAddress: data.FormattedAddress || '',
146
+ building: parts[0] || '',
147
+ area: data['Area/Province'] || '',
148
+ city: data.City || '',
149
+ });
150
+ } catch (error) {
151
+ console.error('❌ Error fetching location:', error);
152
+ } finally {
153
+ setLoading(false);
154
+ }
155
+ };
156
+
157
+ const getLocation = () => {
158
+ Geolocation.getCurrentPosition((position) => {
159
+ const { latitude, longitude } = position.coords;
160
+ setCoords({ latitude, longitude });
161
+
162
+ console.log('Location_obtained:', { latitude, longitude });
163
+ });
164
+ };
165
+
166
+ const requestLocationPermission = async () => {
167
+ console.log('Requesting location permission...');
168
+ if (Platform.OS === 'android') {
169
+ try {
170
+ const granted = await PermissionsAndroid.request(
171
+ PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
172
+ );
173
+
174
+ console.log('Permission granted:', granted);
175
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
176
+ getLocation();
177
+ fetchLocation();
178
+ } else {
179
+ console.log('Location permission not granted');
180
+ }
181
+ } catch (err) {
182
+ console.warn('Permission error:', err);
183
+ }
184
+ } else {
185
+ getLocation(); // iOS
186
+ fetchLocation();
187
+ }
188
+ };
189
+
190
+ // 👇 Run when user reaches step 5
191
+ useEffect(() => {
192
+ if (step === 5) {
193
+ requestLocationPermission();
194
+ fetchLocation();
195
+ }
196
+ }, [step]);
197
+
198
+ useEffect(() => {
199
+ if (coords) {
200
+ fetchLocation(); // 👈 only runs when coords is available
201
+ }
202
+ }, [coords]);
203
+
204
+ const handleNext = async () => {
205
+ if (isSubmitting) return; // Prevent double taps during submission
206
+
207
+ // 🧩 Validation by step
208
+ switch (step) {
209
+ case 1:
210
+ if (!ownerName.trim()) {
211
+ setToast({
212
+ type: 'warning',
213
+ title: 'Missing Info',
214
+ message: 'Please enter owner name.',
215
+ });
216
+ return;
217
+ }
218
+ break;
219
+
220
+ case 2:
221
+ if (!businessName.trim() || !phone.trim()) {
222
+ setToast({
223
+ type: 'warning',
224
+ title: 'Incomplete Info',
225
+ message: 'Please enter business name and phone number.',
226
+ });
227
+ return;
228
+ }
229
+ break;
230
+
231
+ case 3:
232
+ if (!businessType) {
233
+ setToast({
234
+ type: 'warning',
235
+ title: 'Missing Selection',
236
+ message: 'Please select a business type.',
237
+ });
238
+ return;
239
+ }
240
+ break;
241
+
242
+ case 4:
243
+ if (!businessCategory) {
244
+ setToast({
245
+ type: 'warning',
246
+ title: 'Missing Selection',
247
+ message: 'Please select a business category.',
248
+ });
249
+ return;
250
+ }
251
+ break;
252
+
253
+ case 5:
254
+ if (
255
+ !address?.building?.trim() ||
256
+ !address?.area?.trim() ||
257
+ !address?.city?.trim()
258
+ ) {
259
+ setToast({
260
+ type: 'warning',
261
+ title: 'Address Required',
262
+ message: 'Please fill in your complete address.',
263
+ });
264
+ return;
265
+ }
266
+
267
+ default:
268
+ break;
269
+ }
270
+
271
+ // ✅ If validation passes:
272
+ if (step < 5) {
273
+ Animated.sequence([
274
+ Animated.timing(fadeAnim, {
275
+ toValue: 0,
276
+ duration: 250,
277
+ useNativeDriver: true,
278
+ }),
279
+ Animated.timing(fadeAnim, {
280
+ toValue: 1,
281
+ duration: 250,
282
+ useNativeDriver: true,
283
+ }),
284
+ ]).start(() => setStep(step + 1));
285
+ } else {
286
+ // ✅ When step 5 is reached, submit final data
287
+ const finalData = {
288
+ ownerName,
289
+ phone,
290
+ businessName,
291
+ businessType,
292
+ businessCategory,
293
+ address,
294
+ businessNameOther,
295
+ businessNameOtherCategory,
296
+ };
297
+
298
+ console.log('Final Data:', finalData);
299
+
300
+ try {
301
+ setIsSubmitting(true); // 🔒 lock submission
302
+
303
+ const added = await addNewBusiness(
304
+ businessName,
305
+ phone,
306
+ ownerName,
307
+ businessType,
308
+ businessCategory,
309
+ address.formattedAddress, // ✅ fixed key
310
+ address.area, // ✅ fixed key
311
+ address.city,
312
+ businessNameOtherCategory,
313
+ businessNameOther
314
+ );
315
+
316
+ console.log('Business_Added', added);
317
+
318
+ const insertedId = added?.insertId;
319
+
320
+ if (insertedId) {
321
+ await selectBusiness(insertedId);
322
+
323
+ const all = await getAllBusinesses();
324
+ const filtered = all.find((item) => item?.id == insertedId);
325
+
326
+ if (filtered) {
327
+ dispatch({
328
+ type: SELECTED_BUSINESS,
329
+ payload: filtered,
330
+ });
331
+ }
332
+ }
333
+
334
+ setToast({
335
+ type: 'success',
336
+ title: 'Business Added',
337
+ message: `${businessName} has been added successfully.`,
338
+ });
339
+
340
+ navigation.reset({
341
+ index: 0,
342
+ routes: [
343
+ {
344
+ name: 'HomeStack',
345
+ state: {
346
+ routes: [{ name: 'HomeScreen' }],
347
+ },
348
+ },
349
+ ],
350
+ });
351
+ } catch (error) {
352
+ console.error('Error adding business:', error);
353
+ setToast({
354
+ type: 'error',
355
+ title: 'Error',
356
+ message: 'Something went wrong while adding your business.',
357
+ });
358
+ } finally {
359
+ setIsSubmitting(false); // 🔓 unlock once complete
360
+ }
361
+ }
362
+ };
363
+
364
+ // ---- Card data ----
365
+ const typeData = [
366
+ { id: '1', title: 'Retailer/ Shop', icon: 'storefront-outline' },
367
+ { id: '2', title: 'Wholesaler', icon: 'restaurant-outline' },
368
+ { id: '3', title: 'Distributor', icon: 'storefront-outline' },
369
+ { id: '4', title: 'Manufacturer', icon: 'briefcase-outline' },
370
+ { id: '5', title: 'Services', icon: 'briefcase-outline' },
371
+ { id: '6', title: 'Other', icon: 'briefcase-outline' },
372
+ ];
373
+
374
+ const categoryData = [
375
+ { id: '1', title: 'Kirana/Grocery', icon: 'cart-outline' },
376
+ { id: '2', title: 'Textile/Fashion', icon: 'shirt-outline' },
377
+ { id: '3', title: 'Medical', icon: 'medkit-outline' },
378
+ { id: '4', title: 'Electronics', icon: 'tv-outline' },
379
+ { id: '5', title: 'Mobile', icon: 'phone-portrait-outline' },
380
+ { id: '6', title: 'Automobile', icon: 'car-outline' },
381
+ { id: '7', title: 'Sports', icon: 'bicycle-outline' },
382
+ { id: '8', title: 'Kids/Toys', icon: 'happy-outline' },
383
+ { id: '9', title: 'Hardware/Tools', icon: 'construct-outline' },
384
+ { id: '10', title: 'Others', icon: 'apps-outline' },
385
+ ];
386
+
387
+ // ---- Step UI ----
388
+ const renderStep = () => {
389
+ switch (step) {
390
+ case 1:
391
+ return (
392
+ <View style={styles.stepContainer}>
393
+ <Text style={styles.label}>Owner Name</Text>
394
+ {/* <View style={styles.inputBox}>
395
+ <TextInput
396
+ style={styles.input}
397
+ placeholder="Enter owner name"
398
+ value={ownerName}
399
+ onChangeText={(text) => {
400
+ // Allow letters, numbers, and spaces, limit to 15 characters
401
+ const filtered = text
402
+ .replace(/[^A-Za-z0-9\s]/g, '')
403
+ .slice(0, 15);
404
+ setOwnerName(filtered);
405
+ }}
406
+ placeholderTextColor="#888"
407
+ />
408
+ <View style={styles.IoniconsParent}>
409
+ <Ionicons
410
+ name="person-outline"
411
+ size={24}
412
+ color={COLORS.primaryColor}
413
+ />
414
+ </View>
415
+ </View> */}
416
+ <FloatingInput
417
+ label="Enter owner Name"
418
+ iconName="person-outline"
419
+ iconPosition="left"
420
+ value={ownerName}
421
+ onChangeText={(text) => setOwnerName(text)}
422
+ allowedChars={/[^A-Za-z0-9\s]/g}
423
+ maxLength={15}
424
+ />
425
+ </View>
426
+ );
427
+
428
+ case 2:
429
+ return (
430
+ <View style={styles.stepContainer}>
431
+ {/* <Text style={styles.label}>Business Name</Text>
432
+ <View style={styles.inputBox}>
433
+ <TextInput
434
+ style={styles.input}
435
+ placeholder="Enter business name"
436
+ value={businessName}
437
+ onChangeText={(text) => {
438
+ // Allow only letters (A-Z, a-z) and limit to 15 characters
439
+ const filtered = text
440
+ .replace(/[^A-Za-z0-9\s]/g, '')
441
+ .slice(0, 15);
442
+
443
+ setBusinessName(filtered);
444
+ }}
445
+ placeholderTextColor="#888"
446
+ />
447
+ <View style={styles.IoniconsParent}>
448
+ <Ionicons
449
+ name="storefront-outline"
450
+ size={24}
451
+ color={COLORS.primaryColor}
452
+ />
453
+ </View>
454
+ </View> */}
455
+ <Text style={styles.label}>Business Name</Text>
456
+ <FloatingInput
457
+ label="Enter your business name"
458
+ iconName="storefront-outline"
459
+ iconPosition="left"
460
+ value={businessName}
461
+ onChangeText={(text) => {
462
+ // Allow only letters (A-Z, a-z) and limit to 15 characters
463
+ const filtered = text
464
+ .replace(/[^A-Za-z0-9\s]/g, '')
465
+ .slice(0, 15);
466
+
467
+ setBusinessName(filtered);
468
+ }}
469
+ allowedChars={/[^A-Za-z0-9\s]/g}
470
+ // maxLength={15}
471
+ />
472
+ <Text style={styles.label}>Phone</Text>
473
+ <View style={{ width: '100%', marginTop: 8 }}>
474
+ {/* <Ionicons
475
+ name="phone-portrait-outline"
476
+ size={20}
477
+ color={COLORS.primaryColor}
478
+ /> */}
479
+ {/* <TextInput
480
+ style={styles.input}
481
+ placeholder="Enter phone number"
482
+ value={phone}
483
+ onChangeText={setPhone}
484
+ placeholderTextColor="#888"
485
+ /> */}
486
+ <CountryPhoneInput
487
+ onChange={(text) => setPhone(text.fullNumber)}
488
+ />
489
+ </View>
490
+ </View>
491
+ );
492
+
493
+ case 3:
494
+ return (
495
+ <View style={styles.stepContainer}>
496
+ <Text style={styles.label}>Select Business Type</Text>
497
+ <FlatList
498
+ data={typeData}
499
+ numColumns={2}
500
+ columnWrapperStyle={{
501
+ justifyContent: 'space-between',
502
+ paddingHorizontal: 3,
503
+ }}
504
+ renderItem={({ item }) => (
505
+ <TouchableOpacity
506
+ style={[
507
+ styles.card,
508
+ businessType === item.id && {
509
+ borderColor: COLORS.primaryColor,
510
+ elevation: 4,
511
+ },
512
+ ]}
513
+ onPress={() => setBusinessType(item.id)}
514
+ activeOpacity={0.8}
515
+ >
516
+ {/* Icon Circle */}
517
+ <View
518
+ style={{
519
+ width: 40,
520
+ height: 40,
521
+ borderRadius: 25,
522
+ backgroundColor: COLORS.primaryBase,
523
+ alignItems: 'center',
524
+ justifyContent: 'center',
525
+ }}
526
+ >
527
+ <Ionicons
528
+ name={item.icon}
529
+ size={24}
530
+ color={
531
+ businessType === item.id ? COLORS.primaryColor : '#444'
532
+ }
533
+ />
534
+ </View>
535
+
536
+ {/* Title */}
537
+ <Text
538
+ style={[
539
+ styles.cardTitle,
540
+ {
541
+ color:
542
+ businessType === item.id
543
+ ? COLORS.primaryColor
544
+ : '#333',
545
+ },
546
+ ]}
547
+ >
548
+ {item.title}
549
+ </Text>
550
+ </TouchableOpacity>
551
+ )}
552
+ keyExtractor={(item) => item.id}
553
+ />
554
+ {businessType === '6' && (
555
+ <View>
556
+ {/* <View style={styles.inputBox}>
557
+ <TextInput
558
+ style={styles.input}
559
+ placeholder="Other"
560
+ value={businessNameOther}
561
+ onChangeText={(text) => {
562
+ // Allow only letters (A-Z, a-z) and limit to 15 characters
563
+ const filtered = text
564
+ .replace(/[^A-Za-z0-9\s]/g, '')
565
+ .slice(0, 25);
566
+
567
+ setBusinessNameOther(filtered);
568
+ }}
569
+ placeholderTextColor="#888"
570
+ />
571
+ <View style={styles.IoniconsParent}>
572
+ <Ionicons
573
+ name="create-outline"
574
+ size={24}
575
+ color={COLORS.primaryColor}
576
+ />
577
+ </View>
578
+ </View> */}
579
+ <FloatingInput
580
+ label="Other"
581
+ iconName="create-outline"
582
+ iconPosition="right"
583
+ value={businessNameOther}
584
+ onChangeText={(text) => setBusinessNameOther(text)}
585
+ allowedChars={/[^A-Za-z0-9\s]/g}
586
+ maxLength={25}
587
+ />
588
+ </View>
589
+ )}
590
+ </View>
591
+ );
592
+
593
+ case 4:
594
+ return (
595
+ <View style={styles.stepContainer}>
596
+ <Text style={styles.label}>Select Business Category</Text>
597
+ <FlatList
598
+ data={categoryData}
599
+ numColumns={2}
600
+ columnWrapperStyle={{
601
+ justifyContent: 'space-between',
602
+ paddingHorizontal: 3,
603
+ }}
604
+ renderItem={({ item }) => (
605
+ <TouchableOpacity
606
+ style={[
607
+ styles.card,
608
+ businessCategory === item.id && {
609
+ borderColor: COLORS.primaryColor,
610
+ elevation: 4,
611
+ },
612
+ ]}
613
+ onPress={() => setBusinessCategory(item.id)}
614
+ activeOpacity={0.8}
615
+ >
616
+ {/* Icon Circle */}
617
+ <View
618
+ style={{
619
+ width: 40,
620
+ height: 40,
621
+ borderRadius: 25,
622
+ backgroundColor: COLORS.primaryBase,
623
+ alignItems: 'center',
624
+ justifyContent: 'center',
625
+ }}
626
+ >
627
+ <Ionicons
628
+ name={item.icon}
629
+ size={24}
630
+ color={
631
+ businessCategory === item.id
632
+ ? COLORS.primaryColor
633
+ : '#444'
634
+ }
635
+ />
636
+ </View>
637
+
638
+ {/* Title */}
639
+ <Text
640
+ style={[
641
+ styles.cardTitle,
642
+ {
643
+ color:
644
+ businessCategory === item.id
645
+ ? COLORS.primaryColor
646
+ : '#333',
647
+ },
648
+ ]}
649
+ >
650
+ {item.title}
651
+ </Text>
652
+ </TouchableOpacity>
653
+ )}
654
+ keyExtractor={(item) => item.id}
655
+ />
656
+
657
+ {businessCategory === '10' && (
658
+ <View>
659
+ {/* <TextInput
660
+ style={styles.input}
661
+ placeholder="Other"
662
+ value={businessNameOtherCategory}
663
+ onChangeText={(text) => {
664
+ // Allow only letters (A-Z, a-z) and limit to 15 characters
665
+ const filtered = text
666
+ .replace(/[^A-Za-z0-9\s]/g, '')
667
+ .slice(0, 25);
668
+
669
+ setBusinessNameOtherCategory(filtered);
670
+ }}
671
+ placeholderTextColor="#888"
672
+ />
673
+ <View style={styles.IoniconsParent}>
674
+ <Ionicons
675
+ name="create-outline"
676
+ size={24}
677
+ color={COLORS.primaryColor}
678
+ />
679
+ </View> */}
680
+ <FloatingInput
681
+ label="Other"
682
+ iconName="create-outline"
683
+ iconPosition="right"
684
+ value={businessNameOtherCategory}
685
+ onChangeText={(text) => setBusinessNameOtherCategory(text)}
686
+ allowedChars={/[^A-Za-z0-9\s]/g}
687
+ maxLength={25}
688
+ />
689
+ </View>
690
+ )}
691
+ </View>
692
+ );
693
+
694
+ case 5:
695
+ return (
696
+ <View style={styles.stepContainer}>
697
+ <View style={styles.businesTittleParent}>
698
+ <View>
699
+ <Text style={styles.label}>Business Address</Text>
700
+ </View>
701
+
702
+ <TouchableOpacity
703
+ style={styles.getLocationParent}
704
+ onPress={fetchLocation}
705
+ disabled={loading}
706
+ >
707
+ {loading ? (
708
+ <>
709
+ <ActivityIndicator
710
+ size="small"
711
+ color={COLORS.primaryColor}
712
+ />
713
+ <Text style={styles.getLocationChild}>Google Location</Text>
714
+ </>
715
+ ) : (
716
+ <>
717
+ <Ionicons
718
+ name="location-outline"
719
+ size={22}
720
+ color={COLORS.primaryColor}
721
+ />
722
+ <Text style={styles.getLocationChild}>Google Location</Text>
723
+ </>
724
+ )}
725
+ </TouchableOpacity>
726
+ </View>
727
+
728
+ {/* Building / Shop */}
729
+ <View>
730
+ {/* <Text style={styles.topText}>Shop / Building Number</Text> */}
731
+ {/* <View style={styles.inputBox}>
732
+ <TextInput
733
+ style={styles.input}
734
+ placeholder="Shop / Building Number"
735
+ value={address.formattedAddress}
736
+ onChangeText={(text) =>
737
+ setAddress({ ...address, formattedAddress: text })
738
+ }
739
+ placeholderTextColor="#888"
740
+ />
741
+ <View style={styles.IoniconsParent}>
742
+ <Ionicons
743
+ name="home-outline"
744
+ size={24}
745
+ color={COLORS.primaryColor}
746
+ />
747
+ </View>
748
+ </View> */}
749
+ <FloatingInput
750
+ label="Shop / Building Number"
751
+ iconName=""
752
+ iconPosition="right"
753
+ value={address.building}
754
+ onChangeText={(text) =>
755
+ setAddress({ ...address, building: text })
756
+ }
757
+ // allowedChars={/[^A-Za-z0-9\s]/g}
758
+ // maxLength={15}
759
+ />
760
+ </View>
761
+
762
+ {/* Area */}
763
+ <View>
764
+ {/* <Text style={styles.topText}>Area / Locality</Text> */}
765
+ {/* <View style={styles.inputBox}>
766
+ <TextInput
767
+ style={styles.input}
768
+ placeholder="Area / Locality"
769
+ value={address.area}
770
+ onChangeText={(text) =>
771
+ setAddress({ ...address, area: text })
772
+ }
773
+ placeholderTextColor="#888"
774
+ />
775
+ <View style={styles.IoniconsParent}>
776
+ <Ionicons
777
+ name="location-outline"
778
+ size={24}
779
+ color={COLORS.primaryColor}
780
+ />
781
+ </View>
782
+ </View> */}
783
+ <FloatingInput
784
+ label="Area / Locality"
785
+ iconName=""
786
+ iconPosition="right"
787
+ value={address.area}
788
+ onChangeText={(text) => setAddress({ ...address, area: text })}
789
+ // allowedChars={/[^A-Za-z0-9\s]/g}
790
+ // maxLength={15}
791
+ />
792
+ </View>
793
+
794
+ {/* City */}
795
+ <View>
796
+ {/* <Text style={styles.topText}>Select City</Text> */}
797
+ <FloatingInput
798
+ label="City"
799
+ value={address.city}
800
+ editable={false}
801
+ placeholder="Select City"
802
+ iconName=""
803
+ iconPosition="right"
804
+ onPress={() => setShowCityModal(true)} // 👈 opens modal
805
+ />
806
+ </View>
807
+ </View>
808
+ );
809
+
810
+ default:
811
+ return null;
812
+ }
813
+ };
814
+
815
+ const progressAnim = useRef(new Animated.Value(0)).current;
816
+
817
+ // Animate progress whenever step changes
818
+ useEffect(() => {
819
+ // Make the button start at 20% fill instead of 0%
820
+ const progress = 0.2 + ((step - 1) / 4) * 0.8; // 0.2 = initial fill, remaining 0.8 covers all 5 steps
821
+
822
+ Animated.timing(progressAnim, {
823
+ toValue: progress,
824
+ duration: 400,
825
+ useNativeDriver: false,
826
+ }).start();
827
+ }, [step]);
828
+
829
+ useEffect(() => {
830
+ const backAction = () => {
831
+ (async () => {
832
+ try {
833
+ const all = await getAllBusinesses();
834
+
835
+ if (all && all.length > 0) {
836
+ navigation?.goBack();
837
+ } else {
838
+ console.log('Do nothing!');
839
+ }
840
+ } catch (err) {
841
+ console.error('BackHandler error:', err);
842
+ }
843
+ })();
844
+
845
+ return true;
846
+ };
847
+
848
+ const backHandler = BackHandler.addEventListener(
849
+ 'hardwareBackPress',
850
+ backAction
851
+ );
852
+
853
+ return () => backHandler.remove();
854
+ }, [navigation]);
855
+
856
+ useEffect(() => {
857
+ const showSubscription = Keyboard.addListener('keyboardDidShow', () => {
858
+ console.log('Keyboard Shown');
859
+ setKeyboardPadding(260);
860
+ });
861
+
862
+ const hideSubscription = Keyboard.addListener('keyboardDidHide', () => {
863
+ console.log('Keyboard Hidden');
864
+ setKeyboardPadding(0);
865
+ });
866
+
867
+ return () => {
868
+ showSubscription.remove();
869
+ hideSubscription.remove();
870
+ };
871
+ }, []);
872
+
873
+ return (
874
+ <View style={styles._mainContainers}>
875
+ {/* Header */}
876
+ <LinearGradient
877
+ start={{ x: 0, y: 0 }}
878
+ end={{ x: 1, y: 0 }}
879
+ colors={[COLORS.secondaryColor, COLORS.primaryColor]}
880
+ style={styles._linearGradient}
881
+ >
882
+ <View style={styles._titleMain}>
883
+ <Text style={styles._title}>Set up New Business</Text>
884
+ </View>
885
+ </LinearGradient>
886
+
887
+ {/* Animated Content */}
888
+ <Animated.View style={[styles._contentMain]}>
889
+ <ScrollView
890
+ contentContainerStyle={{ alignItems: 'center', paddingBottom: 350 }}
891
+ showsVerticalScrollIndicator={false}
892
+ >
893
+ <View>
894
+ <Carousel
895
+ width={WP(100)}
896
+ height={HP(30)}
897
+ data={cardComponents}
898
+ mode="parallax"
899
+ loop
900
+ renderItem={({ item: Card }) => (
901
+ <View style={{ width: '100%', height: '100%' }}>
902
+ <Card
903
+ businessName={businessName}
904
+ ownerName={ownerName}
905
+ createAddress={address}
906
+ phoneNumber={phone}
907
+ businessType={businessType}
908
+ businessCategory={businessCategory}
909
+ businessNameOther={businessNameOther}
910
+ businessNameOtherCategory={businessNameOtherCategory}
911
+ />
912
+ </View>
913
+ )}
914
+ />
915
+ </View>
916
+ {renderStep()}
917
+ </ScrollView>
918
+ </Animated.View>
919
+
920
+ {/* Bottom Button */}
921
+ <BottomView style={[styles.bottomBar]}>
922
+ <TouchableOpacity
923
+ activeOpacity={0.9}
924
+ style={styles.totalButton}
925
+ onPress={handleNext}
926
+ // disabled={isNextDisabled} // disable when empty
927
+ >
928
+ {/* Animated fill background */}
929
+ <Animated.View
930
+ style={[
931
+ styles.progressFill,
932
+ {
933
+ width: progressAnim.interpolate({
934
+ inputRange: [0, 1],
935
+ outputRange: ['0%', '100%'],
936
+ }),
937
+ },
938
+ ]}
939
+ />
940
+ <Text style={styles._continueBtnTxt}>
941
+ NEXT
942
+ {/* {step === 5 ? 'Save' : 'Next'} */}
943
+ </Text>
944
+ </TouchableOpacity>
945
+ </BottomView>
946
+ <CityModal
947
+ visible={showCityModal}
948
+ onClose={() => setShowCityModal(false)}
949
+ onSelect={(selectedCity) =>
950
+ setAddress({ ...address, city: selectedCity })
951
+ }
952
+ />
953
+ {toast && (
954
+ <CustomToast
955
+ type={toast.type}
956
+ title={toast.title}
957
+ message={toast.message}
958
+ onClose={() => setToast(null)}
959
+ />
960
+ )}
961
+ </View>
962
+ );
963
+ }
964
+
965
+ const styles = StyleSheet.create({
966
+ _mainContainers: {
967
+ flex: 1,
968
+ backgroundColor: COLORS.whiteColor,
969
+ alignItems: 'center',
970
+ },
971
+ _linearGradient: {
972
+ width: WP(100),
973
+ height: 80,
974
+ alignItems: 'center',
975
+ justifyContent: 'flex-end',
976
+ paddingBottom: 20,
977
+ },
978
+ _titleMain: {
979
+ width: WP(94),
980
+ flexDirection: 'row',
981
+ alignItems: 'center',
982
+ textAlign: 'center',
983
+ justifyContent: 'center',
984
+ marginBottom: HP(2),
985
+ },
986
+ _title: {
987
+ color: COLORS.whiteColor,
988
+ fontFamily: FONT_MEDIUM,
989
+ fontSize: 17,
990
+ // marginLeft: 15,
991
+ },
992
+ _contentMain: {
993
+ // width: WP(94),
994
+ width: '95%',
995
+ height: '90%',
996
+ backgroundColor: COLORS.whiteColor,
997
+ position: 'absolute',
998
+ top: 60,
999
+ shadowColor: '#000',
1000
+ shadowOffset: {
1001
+ width: 0,
1002
+ height: 2,
1003
+ },
1004
+ shadowOpacity: 0.2,
1005
+ shadowRadius: 3.84,
1006
+ elevation: 5,
1007
+ borderRadius: 10,
1008
+ // alignItems: 'center',
1009
+ justifyContent: 'space-between',
1010
+ paddingVertical: 12,
1011
+ padding: 10,
1012
+ },
1013
+ stepContainer: {
1014
+ width: '100%',
1015
+ gap: 4,
1016
+ },
1017
+ businesTittleParent: {
1018
+ flexDirection: 'row',
1019
+ justifyContent: 'space-between',
1020
+ alignItems: 'center',
1021
+ alignContent: 'center',
1022
+ width: '100%', // 👈 ADD THIS
1023
+ // backgroundColor: COLORS.redColor,
1024
+ },
1025
+ label: {
1026
+ fontSize: TEXT_SIZES.Normal_Heading,
1027
+ fontFamily: FONT_MEDIUM,
1028
+ color: COLORS.blackColor,
1029
+ alignSelf: 'flex-start',
1030
+ // marginBottom: 10,
1031
+ },
1032
+ getLocationParent: {
1033
+ backgroundColor: '#cdf0f5',
1034
+ padding: 6,
1035
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1036
+ flexDirection: 'row',
1037
+ gap: 5,
1038
+ alignItems: "center"
1039
+ },
1040
+ getLocationChild: {
1041
+ color: COLORS.blackColor,
1042
+ fontFamily: FONT_MEDIUM,
1043
+ fontSize: 12,
1044
+ },
1045
+ topText: {
1046
+ color: COLORS.blackColor,
1047
+ fontFamily: FONT_MEDIUM,
1048
+ fontSize: 12,
1049
+ marginBottom: HP(1),
1050
+ },
1051
+ inputBox: {
1052
+ width: '98%',
1053
+ height: Input_Field_SIZES.Input_Height,
1054
+ borderWidth: 1,
1055
+ borderColor: COLORS.grey,
1056
+ borderRadius: TEXT_SIZES.BORDER_RADIUS,
1057
+ flexDirection: 'row',
1058
+ alignItems: 'center',
1059
+ paddingHorizontal: 12,
1060
+ // marginBottom: 10,
1061
+ },
1062
+ input: {
1063
+ flex: 1,
1064
+ // marginLeft: 8,
1065
+ fontSize: Input_Field_SIZES.Input_Font_Size,
1066
+ color: COLORS.blackColor,
1067
+ fontFamily: FONT_MEDIUM,
1068
+ },
1069
+ IoniconsParent: {
1070
+ // backgroundColor: COLORS.iconBG,
1071
+ padding: 10,
1072
+ borderRadius: 50,
1073
+ },
1074
+ card: {
1075
+ width: '49.5%',
1076
+ height: 60,
1077
+ borderRadius: 100,
1078
+ alignItems: 'center',
1079
+ justifyContent: 'flex-start',
1080
+ gap: 5,
1081
+ padding: 3,
1082
+ marginVertical: 6,
1083
+ backgroundColor: '#fff',
1084
+ flexDirection: 'row',
1085
+ // 💡 3D effect using light and dark edges
1086
+ borderTopWidth: 1,
1087
+ borderLeftWidth: 1,
1088
+ borderBottomWidth: 1,
1089
+ borderRightWidth: 1,
1090
+ borderTopColor: '#f2f2f2', // light edge (top/left)
1091
+ borderLeftColor: '#f2f2f2',
1092
+ borderBottomColor: '#f2f2f2', // darker edge (bottom/right)
1093
+ borderRightColor: '#f2f2f2',
1094
+ elevation: 5,
1095
+ },
1096
+
1097
+ cardTitle: {
1098
+ fontSize: 13,
1099
+ // marginTop: 6,
1100
+ },
1101
+ _bottomContainer: {
1102
+ position: 'absolute',
1103
+ bottom: HP(5),
1104
+ width: '100%',
1105
+ backgroundColor: 'transparent',
1106
+ paddingVertical: 15,
1107
+ alignItems: 'center',
1108
+ shadowColor: '#000',
1109
+ shadowOffset: { width: 0, height: -2 },
1110
+ shadowOpacity: 0.1,
1111
+ shadowRadius: 3,
1112
+ // elevation: 8,
1113
+ },
1114
+ _continueBtn: {
1115
+ width: '90%',
1116
+ height: 50,
1117
+ backgroundColor: '#FF1900' + '30', // light base
1118
+ borderRadius: 100,
1119
+ justifyContent: 'center',
1120
+ alignItems: 'center',
1121
+ overflow: 'hidden', // ensure animated fill stays rounded
1122
+ },
1123
+
1124
+ progressFill: {
1125
+ ...StyleSheet.absoluteFillObject,
1126
+ backgroundColor: COLORS.primaryColor,
1127
+ borderRadius: 100,
1128
+ width: '0%',
1129
+ },
1130
+ _continueBtnTxt: {
1131
+ color: COLORS.whiteColor,
1132
+ fontFamily: FONT_MEDIUM,
1133
+ // fontSize: Button_Text_SIZES.Button_Text,
1134
+ fontSize: 15
1135
+ },
1136
+
1137
+ bottomBar: {
1138
+ position: 'absolute',
1139
+ left: 0,
1140
+ right: 0,
1141
+ backgroundColor: '#fff',
1142
+ borderTopLeftRadius: TEXT_SIZES.BORDER_RADIUS,
1143
+ borderTopRightRadius: TEXT_SIZES.BORDER_RADIUS,
1144
+ alignItems: 'center',
1145
+ justifyContent: 'center',
1146
+ paddingVertical: 10,
1147
+ elevation: 10,
1148
+ },
1149
+
1150
+ totalButton: {
1151
+ // borderWidth: 1,
1152
+ marginBottom: 10,
1153
+ // borderColor: '#FF3B30',
1154
+ backgroundColor: '#FF1900' + '30', // light base
1155
+ borderRadius: 100,
1156
+ width: '95%',
1157
+ height: 50,
1158
+ alignItems: 'center',
1159
+ justifyContent: 'center',
1160
+ },
1161
+ });