@ethora/chat-component-rn 26.8.2 → 26.8.3

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 (529) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +27 -1
  3. package/lib/commonjs/assets/EmptyChatIllustration.js +7 -6
  4. package/lib/commonjs/assets/EmptyChatIllustration.js.map +1 -1
  5. package/lib/commonjs/assets/icons.js +2 -2
  6. package/lib/commonjs/assets/icons.js.map +1 -1
  7. package/lib/commonjs/components/AuthForms/Login.js +23 -8
  8. package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
  9. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js +12 -4
  10. package/lib/commonjs/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  11. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js +16 -9
  12. package/lib/commonjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  13. package/lib/commonjs/components/ExampleComponents/CustomMessage.js +25 -7
  14. package/lib/commonjs/components/ExampleComponents/CustomMessage.js.map +1 -1
  15. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  16. package/lib/commonjs/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  17. package/lib/commonjs/components/Header/HeaderRoomList.js +9 -6
  18. package/lib/commonjs/components/Header/HeaderRoomList.js.map +1 -1
  19. package/lib/commonjs/components/InputComponents/Search.js +13 -4
  20. package/lib/commonjs/components/InputComponents/Search.js.map +1 -1
  21. package/lib/commonjs/components/MainComponents/ChatHeader.js +9 -3
  22. package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
  23. package/lib/commonjs/components/MainComponents/ChatRoom.js +6 -3
  24. package/lib/commonjs/components/MainComponents/ChatRoom.js.map +1 -1
  25. package/lib/commonjs/components/MainComponents/ChatWrapper.js +8 -6
  26. package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
  27. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js +37 -10
  28. package/lib/commonjs/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  29. package/lib/commonjs/components/MainComponents/MediaMessage.js +43 -19
  30. package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
  31. package/lib/commonjs/components/MainComponents/MessageList.js +9 -3
  32. package/lib/commonjs/components/MainComponents/MessageList.js.map +1 -1
  33. package/lib/commonjs/components/MainComponents/RNStyled.js +12 -4
  34. package/lib/commonjs/components/MainComponents/RNStyled.js.map +1 -1
  35. package/lib/commonjs/components/MainComponents/ReduxWrapper.js +25 -8
  36. package/lib/commonjs/components/MainComponents/ReduxWrapper.js.map +1 -1
  37. package/lib/commonjs/components/MainComponents/RoomList.js +12 -9
  38. package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
  39. package/lib/commonjs/components/MainComponents/Select.js +29 -8
  40. package/lib/commonjs/components/MainComponents/Select.js.map +1 -1
  41. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js +24 -13
  42. package/lib/commonjs/components/Menu/HeaderRoomListMenu.js.map +1 -1
  43. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js +24 -8
  44. package/lib/commonjs/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  45. package/lib/commonjs/components/MessageBubble/Message.js +46 -24
  46. package/lib/commonjs/components/MessageBubble/Message.js.map +1 -1
  47. package/lib/commonjs/components/MessageBubble/MessageInteractions.js +15 -4
  48. package/lib/commonjs/components/MessageBubble/MessageInteractions.js.map +1 -1
  49. package/lib/commonjs/components/MessageBubble/MessageReaction.js +10 -5
  50. package/lib/commonjs/components/MessageBubble/MessageReaction.js.map +1 -1
  51. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js +1 -5
  52. package/lib/commonjs/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  53. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js +42 -27
  54. package/lib/commonjs/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  55. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +77 -24
  56. package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  57. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js +5 -7
  58. package/lib/commonjs/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  59. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js +18 -14
  60. package/lib/commonjs/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  61. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +20 -9
  62. package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  63. package/lib/commonjs/components/Modals/ModalHeaderComponent.js +8 -2
  64. package/lib/commonjs/components/Modals/ModalHeaderComponent.js.map +1 -1
  65. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js +8 -8
  66. package/lib/commonjs/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  67. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js +1 -5
  68. package/lib/commonjs/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  69. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js +18 -15
  70. package/lib/commonjs/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  71. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js +14 -9
  72. package/lib/commonjs/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -1
  73. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js +3 -7
  74. package/lib/commonjs/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  75. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  76. package/lib/commonjs/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  77. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  78. package/lib/commonjs/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  79. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  80. package/lib/commonjs/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  81. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  82. package/lib/commonjs/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  83. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  84. package/lib/commonjs/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  85. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js +3 -1
  86. package/lib/commonjs/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  87. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +18 -15
  88. package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  89. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js +9 -6
  90. package/lib/commonjs/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  91. package/lib/commonjs/components/Modals/styledModalComponents.js +60 -16
  92. package/lib/commonjs/components/Modals/styledModalComponents.js.map +1 -1
  93. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +16 -10
  94. package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
  95. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  96. package/lib/commonjs/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  97. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  98. package/lib/commonjs/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  99. package/lib/commonjs/components/Thread/ThreadWrapper.js +9 -2
  100. package/lib/commonjs/components/Thread/ThreadWrapper.js.map +1 -1
  101. package/lib/commonjs/components/Toast/Toast.js +3 -1
  102. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  103. package/lib/commonjs/components/styled/AudioMessage.js +16 -11
  104. package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
  105. package/lib/commonjs/components/styled/Button.js +18 -9
  106. package/lib/commonjs/components/styled/Button.js.map +1 -1
  107. package/lib/commonjs/components/styled/DateLabel.js +8 -5
  108. package/lib/commonjs/components/styled/DateLabel.js.map +1 -1
  109. package/lib/commonjs/components/styled/MediaModal.js +27 -21
  110. package/lib/commonjs/components/styled/MediaModal.js.map +1 -1
  111. package/lib/commonjs/components/styled/RoomListComponents/index.js +60 -38
  112. package/lib/commonjs/components/styled/RoomListComponents/index.js.map +1 -1
  113. package/lib/commonjs/components/styled/SendInput.js +13 -8
  114. package/lib/commonjs/components/styled/SendInput.js.map +1 -1
  115. package/lib/commonjs/components/styled/StyledComponents.js +67 -23
  116. package/lib/commonjs/components/styled/StyledComponents.js.map +1 -1
  117. package/lib/commonjs/components/styled/StyledInput.js +32 -18
  118. package/lib/commonjs/components/styled/StyledInput.js.map +1 -1
  119. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  120. package/lib/commonjs/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  121. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  122. package/lib/commonjs/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  123. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js +39 -18
  124. package/lib/commonjs/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  125. package/lib/commonjs/components/styled/TreadLabel.js +6 -3
  126. package/lib/commonjs/components/styled/TreadLabel.js.map +1 -1
  127. package/lib/commonjs/context/MessageNotificationContext.js +14 -3
  128. package/lib/commonjs/context/MessageNotificationContext.js.map +1 -1
  129. package/lib/commonjs/helpers/getChatBackground.js +4 -1
  130. package/lib/commonjs/helpers/getChatBackground.js.map +1 -1
  131. package/lib/commonjs/helpers/getDateLabelColor.js +3 -1
  132. package/lib/commonjs/helpers/getDateLabelColor.js.map +1 -1
  133. package/lib/commonjs/helpers/getIconColor.js +4 -1
  134. package/lib/commonjs/helpers/getIconColor.js.map +1 -1
  135. package/lib/commonjs/helpers/getSenderNameColor.js +3 -1
  136. package/lib/commonjs/helpers/getSenderNameColor.js.map +1 -1
  137. package/lib/commonjs/helpers/markdownParser.js +27 -5
  138. package/lib/commonjs/helpers/markdownParser.js.map +1 -1
  139. package/lib/commonjs/helpers/parseMessageBody.js +82 -24
  140. package/lib/commonjs/helpers/parseMessageBody.js.map +1 -1
  141. package/lib/commonjs/hooks/useCustomTypingIndicator.js +7 -3
  142. package/lib/commonjs/hooks/useCustomTypingIndicator.js.map +1 -1
  143. package/lib/commonjs/hooks/useLogout.js +10 -3
  144. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  145. package/lib/commonjs/hooks/useTheme.js +35 -0
  146. package/lib/commonjs/hooks/useTheme.js.map +1 -0
  147. package/lib/commonjs/i18n/strings.js +18 -0
  148. package/lib/commonjs/i18n/strings.js.map +1 -1
  149. package/lib/commonjs/main.js +75 -0
  150. package/lib/commonjs/main.js.map +1 -1
  151. package/lib/commonjs/networking/api-requests/push.api.js +130 -45
  152. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  153. package/lib/commonjs/networking/api-requests/rooms.api.js +13 -0
  154. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  155. package/lib/commonjs/services/pushRegistration.js +250 -0
  156. package/lib/commonjs/services/pushRegistration.js.map +1 -0
  157. package/lib/commonjs/services/pushSubscriptionService.js +0 -24
  158. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  159. package/lib/commonjs/theme/index.js +38 -0
  160. package/lib/commonjs/theme/index.js.map +1 -0
  161. package/lib/commonjs/theme/styled.d.js +4 -0
  162. package/lib/commonjs/theme/styled.d.js.map +1 -0
  163. package/lib/commonjs/theme/theme.js +137 -0
  164. package/lib/commonjs/theme/theme.js.map +1 -0
  165. package/lib/module/assets/EmptyChatIllustration.js +7 -6
  166. package/lib/module/assets/EmptyChatIllustration.js.map +1 -1
  167. package/lib/module/assets/icons.js +1 -1
  168. package/lib/module/assets/icons.js.map +1 -1
  169. package/lib/module/components/AuthForms/Login.js +23 -8
  170. package/lib/module/components/AuthForms/Login.js.map +1 -1
  171. package/lib/module/components/ContextMenu/ContextMenuComponents.js +12 -4
  172. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  173. package/lib/module/components/DropdownMenu/DropdownMenu.js +16 -9
  174. package/lib/module/components/DropdownMenu/DropdownMenu.js.map +1 -1
  175. package/lib/module/components/ExampleComponents/CustomMessage.js +25 -7
  176. package/lib/module/components/ExampleComponents/CustomMessage.js.map +1 -1
  177. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  178. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  179. package/lib/module/components/Header/HeaderRoomList.js +9 -6
  180. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  181. package/lib/module/components/InputComponents/Search.js +13 -4
  182. package/lib/module/components/InputComponents/Search.js.map +1 -1
  183. package/lib/module/components/MainComponents/ChatHeader.js +9 -3
  184. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  185. package/lib/module/components/MainComponents/ChatRoom.js +6 -3
  186. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  187. package/lib/module/components/MainComponents/ChatWrapper.js +8 -6
  188. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  189. package/lib/module/components/MainComponents/LanguageSelectorModal.js +37 -10
  190. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  191. package/lib/module/components/MainComponents/MediaMessage.js +42 -19
  192. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  193. package/lib/module/components/MainComponents/MessageList.js +9 -3
  194. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  195. package/lib/module/components/MainComponents/RNStyled.js +12 -4
  196. package/lib/module/components/MainComponents/RNStyled.js.map +1 -1
  197. package/lib/module/components/MainComponents/ReduxWrapper.js +25 -8
  198. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  199. package/lib/module/components/MainComponents/RoomList.js +12 -9
  200. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  201. package/lib/module/components/MainComponents/Select.js +29 -8
  202. package/lib/module/components/MainComponents/Select.js.map +1 -1
  203. package/lib/module/components/Menu/HeaderRoomListMenu.js +24 -13
  204. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  205. package/lib/module/components/MessageBubble/BottomReplyContainer.js +24 -8
  206. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  207. package/lib/module/components/MessageBubble/Message.js +47 -25
  208. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  209. package/lib/module/components/MessageBubble/MessageInteractions.js +15 -4
  210. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  211. package/lib/module/components/MessageBubble/MessageReaction.js +10 -5
  212. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  213. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js +2 -6
  214. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  215. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +42 -27
  216. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  217. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +79 -26
  218. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  219. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +6 -8
  220. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  221. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +18 -16
  222. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  223. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +20 -9
  224. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  225. package/lib/module/components/Modals/ModalHeaderComponent.js +8 -2
  226. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  227. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +10 -10
  228. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  229. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -6
  230. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  231. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +18 -15
  232. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  233. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +14 -9
  234. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -1
  235. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -8
  236. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  237. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  238. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  239. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  240. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  241. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  242. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  243. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  244. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  245. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  246. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  247. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +3 -2
  248. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  249. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +18 -15
  250. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  251. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +9 -6
  252. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  253. package/lib/module/components/Modals/styledModalComponents.js +59 -15
  254. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  255. package/lib/module/components/RoomComponents/ChatRoomItem.js +16 -10
  256. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  257. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  258. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  259. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  260. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  261. package/lib/module/components/Thread/ThreadWrapper.js +9 -2
  262. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  263. package/lib/module/components/Toast/Toast.js +3 -1
  264. package/lib/module/components/Toast/Toast.js.map +1 -1
  265. package/lib/module/components/styled/AudioMessage.js +16 -11
  266. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  267. package/lib/module/components/styled/Button.js +17 -9
  268. package/lib/module/components/styled/Button.js.map +1 -1
  269. package/lib/module/components/styled/DateLabel.js +8 -5
  270. package/lib/module/components/styled/DateLabel.js.map +1 -1
  271. package/lib/module/components/styled/MediaModal.js +29 -23
  272. package/lib/module/components/styled/MediaModal.js.map +1 -1
  273. package/lib/module/components/styled/RoomListComponents/index.js +62 -39
  274. package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
  275. package/lib/module/components/styled/SendInput.js +13 -8
  276. package/lib/module/components/styled/SendInput.js.map +1 -1
  277. package/lib/module/components/styled/StyledComponents.js +67 -23
  278. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  279. package/lib/module/components/styled/StyledInput.js +32 -18
  280. package/lib/module/components/styled/StyledInput.js.map +1 -1
  281. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  282. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  283. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  284. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  285. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +39 -18
  286. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  287. package/lib/module/components/styled/TreadLabel.js +6 -3
  288. package/lib/module/components/styled/TreadLabel.js.map +1 -1
  289. package/lib/module/context/MessageNotificationContext.js +14 -3
  290. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  291. package/lib/module/helpers/getChatBackground.js +5 -1
  292. package/lib/module/helpers/getChatBackground.js.map +1 -1
  293. package/lib/module/helpers/getDateLabelColor.js +4 -1
  294. package/lib/module/helpers/getDateLabelColor.js.map +1 -1
  295. package/lib/module/helpers/getIconColor.js +5 -1
  296. package/lib/module/helpers/getIconColor.js.map +1 -1
  297. package/lib/module/helpers/getSenderNameColor.js +4 -1
  298. package/lib/module/helpers/getSenderNameColor.js.map +1 -1
  299. package/lib/module/helpers/markdownParser.js +27 -5
  300. package/lib/module/helpers/markdownParser.js.map +1 -1
  301. package/lib/module/helpers/parseMessageBody.js +82 -24
  302. package/lib/module/helpers/parseMessageBody.js.map +1 -1
  303. package/lib/module/hooks/useCustomTypingIndicator.js +8 -3
  304. package/lib/module/hooks/useCustomTypingIndicator.js.map +1 -1
  305. package/lib/module/hooks/useLogout.js +10 -3
  306. package/lib/module/hooks/useLogout.js.map +1 -1
  307. package/lib/module/hooks/useTheme.js +30 -0
  308. package/lib/module/hooks/useTheme.js.map +1 -0
  309. package/lib/module/i18n/strings.js +18 -0
  310. package/lib/module/i18n/strings.js.map +1 -1
  311. package/lib/module/main.js +3 -0
  312. package/lib/module/main.js.map +1 -1
  313. package/lib/module/networking/api-requests/push.api.js +119 -45
  314. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  315. package/lib/module/networking/api-requests/rooms.api.js +12 -0
  316. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  317. package/lib/module/services/pushRegistration.js +239 -0
  318. package/lib/module/services/pushRegistration.js.map +1 -0
  319. package/lib/module/services/pushSubscriptionService.js +0 -24
  320. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  321. package/lib/module/theme/index.js +7 -0
  322. package/lib/module/theme/index.js.map +1 -0
  323. package/lib/module/theme/styled.d.js +6 -0
  324. package/lib/module/theme/styled.d.js.map +1 -0
  325. package/lib/module/theme/theme.js +131 -0
  326. package/lib/module/theme/theme.js.map +1 -0
  327. package/lib/typescript/assets/EmptyChatIllustration.d.ts +1 -0
  328. package/lib/typescript/assets/EmptyChatIllustration.d.ts.map +1 -1
  329. package/lib/typescript/assets/icons.d.ts +8 -0
  330. package/lib/typescript/assets/icons.d.ts.map +1 -1
  331. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  332. package/lib/typescript/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  333. package/lib/typescript/components/ExampleComponents/CustomMessage.d.ts.map +1 -1
  334. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  335. package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
  336. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  337. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  338. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  339. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  340. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  341. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  342. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  343. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  344. package/lib/typescript/components/MainComponents/Select.d.ts.map +1 -1
  345. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  346. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  347. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  348. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  349. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  350. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  351. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  352. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  353. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
  354. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  355. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  356. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  357. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  358. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  359. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -1
  360. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  361. package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
  362. package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
  363. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +2 -2
  364. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
  365. package/lib/typescript/components/Modals/SettingsModals/Visibility/RadioInput.d.ts.map +1 -1
  366. package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.d.ts.map +1 -1
  367. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  368. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  369. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  370. package/lib/typescript/components/Modals/styledModalComponents.d.ts +2 -0
  371. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  372. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  373. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  374. package/lib/typescript/components/RoomComponents/styled/StyledRoomComponents.d.ts.map +1 -1
  375. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  376. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  377. package/lib/typescript/components/styled/Button.d.ts.map +1 -1
  378. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  379. package/lib/typescript/components/styled/MediaModal.d.ts +2 -2
  380. package/lib/typescript/components/styled/MediaModal.d.ts.map +1 -1
  381. package/lib/typescript/components/styled/RoomListComponents/index.d.ts.map +1 -1
  382. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  383. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  384. package/lib/typescript/components/styled/StyledInput.d.ts.map +1 -1
  385. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  386. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  387. package/lib/typescript/components/styled/TreadLabel.d.ts.map +1 -1
  388. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  389. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  390. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -1
  391. package/lib/typescript/helpers/getDateLabelColor.d.ts +3 -7
  392. package/lib/typescript/helpers/getDateLabelColor.d.ts.map +1 -1
  393. package/lib/typescript/helpers/getIconColor.d.ts +4 -7
  394. package/lib/typescript/helpers/getIconColor.d.ts.map +1 -1
  395. package/lib/typescript/helpers/getSenderNameColor.d.ts +3 -7
  396. package/lib/typescript/helpers/getSenderNameColor.d.ts.map +1 -1
  397. package/lib/typescript/helpers/markdownParser.d.ts +8 -1
  398. package/lib/typescript/helpers/markdownParser.d.ts.map +1 -1
  399. package/lib/typescript/helpers/parseMessageBody.d.ts +8 -1
  400. package/lib/typescript/helpers/parseMessageBody.d.ts.map +1 -1
  401. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts +2 -0
  402. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts.map +1 -1
  403. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  404. package/lib/typescript/hooks/useTheme.d.ts +16 -0
  405. package/lib/typescript/hooks/useTheme.d.ts.map +1 -0
  406. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  407. package/lib/typescript/main.d.ts +7 -0
  408. package/lib/typescript/main.d.ts.map +1 -1
  409. package/lib/typescript/networking/api-requests/push.api.d.ts +46 -3
  410. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  411. package/lib/typescript/networking/api-requests/rooms.api.d.ts +1 -0
  412. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  413. package/lib/typescript/services/pushRegistration.d.ts +21 -0
  414. package/lib/typescript/services/pushRegistration.d.ts.map +1 -0
  415. package/lib/typescript/services/pushSubscriptionService.d.ts +0 -4
  416. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  417. package/lib/typescript/theme/index.d.ts +5 -0
  418. package/lib/typescript/theme/index.d.ts.map +1 -0
  419. package/lib/typescript/theme/theme.d.ts +113 -0
  420. package/lib/typescript/theme/theme.d.ts.map +1 -0
  421. package/lib/typescript/types/models/room.model.d.ts +1 -0
  422. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  423. package/lib/typescript/types/types.d.ts +20 -0
  424. package/lib/typescript/types/types.d.ts.map +1 -1
  425. package/package.json +1 -1
  426. package/src/assets/EmptyChatIllustration.tsx +7 -5
  427. package/src/assets/icons.tsx +24 -0
  428. package/src/components/AuthForms/Login.tsx +11 -9
  429. package/src/components/ContextMenu/ContextMenuComponents.tsx +4 -4
  430. package/src/components/DropdownMenu/DropdownMenu.tsx +14 -6
  431. package/src/components/ExampleComponents/CustomMessage.tsx +9 -8
  432. package/src/components/ExampleComponents/CustomTypingIndicatorExamples.tsx +6 -6
  433. package/src/components/Header/HeaderRoomList.tsx +11 -6
  434. package/src/components/InputComponents/Search.tsx +7 -4
  435. package/src/components/MainComponents/ChatHeader.tsx +9 -3
  436. package/src/components/MainComponents/ChatRoom.tsx +5 -2
  437. package/src/components/MainComponents/ChatWrapper.tsx +8 -6
  438. package/src/components/MainComponents/LanguageSelectorModal.tsx +33 -7
  439. package/src/components/MainComponents/MediaMessage.tsx +37 -18
  440. package/src/components/MainComponents/MessageList.tsx +13 -3
  441. package/src/components/MainComponents/RNStyled.tsx +4 -4
  442. package/src/components/MainComponents/ReduxWrapper.tsx +23 -7
  443. package/src/components/MainComponents/RoomList.tsx +13 -7
  444. package/src/components/MainComponents/Select.tsx +13 -8
  445. package/src/components/Menu/HeaderRoomListMenu.tsx +30 -13
  446. package/src/components/MessageBubble/BottomReplyContainer.tsx +16 -11
  447. package/src/components/MessageBubble/Message.tsx +48 -25
  448. package/src/components/MessageBubble/MessageInteractions.tsx +17 -4
  449. package/src/components/MessageBubble/MessageReaction.tsx +9 -4
  450. package/src/components/Modals/AddMembersModal/AddMembersModal.tsx +2 -2
  451. package/src/components/Modals/AttachSheet/AttachSheet.tsx +57 -23
  452. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +63 -25
  453. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +6 -4
  454. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +18 -14
  455. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +14 -9
  456. package/src/components/Modals/ModalHeaderComponent.tsx +9 -2
  457. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +14 -6
  458. package/src/components/Modals/NewChatModal/ModalContent.tsx +2 -2
  459. package/src/components/Modals/NewChatModal/NewChatModal.tsx +19 -15
  460. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +15 -8
  461. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +2 -3
  462. package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +8 -6
  463. package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +5 -3
  464. package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +4 -4
  465. package/src/components/Modals/SettingsModals/Visibility/RadioInput.tsx +9 -5
  466. package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +7 -7
  467. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +3 -1
  468. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  469. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +15 -6
  470. package/src/components/Modals/styledModalComponents.tsx +23 -15
  471. package/src/components/RoomComponents/ChatRoomItem.tsx +19 -10
  472. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +4 -2
  473. package/src/components/RoomComponents/styled/StyledRoomComponents.ts +2 -0
  474. package/src/components/Thread/ThreadWrapper.tsx +6 -5
  475. package/src/components/Toast/Toast.tsx +1 -1
  476. package/src/components/styled/AudioMessage.tsx +12 -9
  477. package/src/components/styled/Button.tsx +15 -8
  478. package/src/components/styled/DateLabel.tsx +7 -3
  479. package/src/components/styled/MediaModal.tsx +30 -25
  480. package/src/components/styled/RoomListComponents/index.tsx +60 -35
  481. package/src/components/styled/SendInput.tsx +23 -8
  482. package/src/components/styled/StyledComponents.ts +30 -23
  483. package/src/components/styled/StyledInput.tsx +35 -21
  484. package/src/components/styled/StyledInputComponents/CustomTypingIndicator.tsx +8 -8
  485. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +20 -7
  486. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +15 -19
  487. package/src/components/styled/TreadLabel.tsx +9 -3
  488. package/src/context/MessageNotificationContext.tsx +18 -4
  489. package/src/helpers/getChatBackground.ts +3 -1
  490. package/src/helpers/getDateLabelColor.ts +5 -3
  491. package/src/helpers/getIconColor.ts +6 -3
  492. package/src/helpers/getSenderNameColor.ts +5 -3
  493. package/src/helpers/markdownParser.tsx +29 -5
  494. package/src/helpers/parseMessageBody.tsx +79 -26
  495. package/src/hooks/useCustomTypingIndicator.tsx +7 -3
  496. package/src/hooks/useLogout.tsx +10 -3
  497. package/src/hooks/useTheme.ts +41 -0
  498. package/src/i18n/strings.ts +18 -0
  499. package/src/main.ts +31 -0
  500. package/src/networking/api-requests/push.api.ts +185 -62
  501. package/src/networking/api-requests/rooms.api.ts +9 -0
  502. package/src/services/pushRegistration.ts +356 -0
  503. package/src/services/pushSubscriptionService.ts +0 -34
  504. package/src/theme/index.ts +10 -0
  505. package/src/theme/styled.d.ts +9 -0
  506. package/src/theme/theme.ts +243 -0
  507. package/src/types/models/room.model.ts +1 -0
  508. package/src/types/types.ts +24 -0
  509. package/lib/commonjs/context/PushNotificationProvider.js +0 -79
  510. package/lib/commonjs/context/PushNotificationProvider.js.map +0 -1
  511. package/lib/commonjs/hooks/usePushNotifications.js +0 -110
  512. package/lib/commonjs/hooks/usePushNotifications.js.map +0 -1
  513. package/lib/commonjs/services/pushNotifications.js +0 -143
  514. package/lib/commonjs/services/pushNotifications.js.map +0 -1
  515. package/lib/module/context/PushNotificationProvider.js +0 -79
  516. package/lib/module/context/PushNotificationProvider.js.map +0 -1
  517. package/lib/module/hooks/usePushNotifications.js +0 -106
  518. package/lib/module/hooks/usePushNotifications.js.map +0 -1
  519. package/lib/module/services/pushNotifications.js +0 -130
  520. package/lib/module/services/pushNotifications.js.map +0 -1
  521. package/lib/typescript/context/PushNotificationProvider.d.ts +0 -2
  522. package/lib/typescript/context/PushNotificationProvider.d.ts.map +0 -1
  523. package/lib/typescript/hooks/usePushNotifications.d.ts +0 -5
  524. package/lib/typescript/hooks/usePushNotifications.d.ts.map +0 -1
  525. package/lib/typescript/services/pushNotifications.d.ts +0 -10
  526. package/lib/typescript/services/pushNotifications.d.ts.map +0 -1
  527. package/src/context/PushNotificationProvider.tsx +0 -78
  528. package/src/hooks/usePushNotifications.ts +0 -131
  529. package/src/services/pushNotifications.ts +0 -170
@@ -26,6 +26,8 @@ import { postRoom } from '../../../networking/api-requests/rooms.api';
26
26
  import { useAppDispatch, useAppSelector } from '../../../hooks/hooks';
27
27
  import { useChatSettingState } from '../../../hooks/useChatSettingState';
28
28
  import { useToast } from '../../../context/ToastContext';
29
+ import { useTheme } from '../../../hooks/useTheme';
30
+ import type { ChatTheme } from '../../../theme/theme';
29
31
 
30
32
  interface NewChatModalProps {
31
33
  handleCloseModal?: () => void;
@@ -46,6 +48,8 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
46
48
  const { client } = useXmppClient();
47
49
  const { user } = useChatSettingState();
48
50
  const { showToast } = useToast();
51
+ const theme = useTheme();
52
+ const styles = useMemo(() => createStyles(theme), [theme]);
49
53
 
50
54
  const [loading, setLoading] = useState<boolean>(false);
51
55
 
@@ -314,7 +318,7 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
314
318
  {pickedUri ? (
315
319
  <Image source={{ uri: pickedUri }} style={styles.pictureImage} />
316
320
  ) : (
317
- <CameraIcon color="#FFFFFF" width={26} height={26} />
321
+ <CameraIcon color={theme.textOnPrimary} width={26} height={26} />
318
322
  )}
319
323
  </TouchableOpacity>
320
324
 
@@ -324,7 +328,7 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
324
328
  value={roomName}
325
329
  onChangeText={handleRoomNameChange}
326
330
  placeholder={t('modal.newChat.roomNamePlaceholder')}
327
- placeholderTextColor="#8C8C8C"
331
+ placeholderTextColor={theme.textMuted}
328
332
  returnKeyType="next"
329
333
  />
330
334
  {!!errors.name && roomName.length > 0 && (
@@ -339,7 +343,7 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
339
343
  value={roomDescription}
340
344
  onChangeText={handleRoomDescriptionChange}
341
345
  placeholder={t('modal.newChat.descriptionPlaceholder')}
342
- placeholderTextColor="#8C8C8C"
346
+ placeholderTextColor={theme.textMuted}
343
347
  multiline
344
348
  />
345
349
 
@@ -363,7 +367,7 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
363
367
  onPress={handleCreateRoom}
364
368
  >
365
369
  {loading ? (
366
- <ActivityIndicator color="#FFFFFF" />
370
+ <ActivityIndicator color={theme.textOnPrimary} />
367
371
  ) : (
368
372
  <Text style={styles.submitLabel}>
369
373
  {t('modal.newChat.createButton')}
@@ -377,12 +381,12 @@ const NewChatModal: React.FC<NewChatModalProps> = ({
377
381
  );
378
382
  };
379
383
 
380
- const styles = StyleSheet.create({
384
+ const createStyles = (theme: ChatTheme) => StyleSheet.create({
381
385
  backdrop: {
382
386
  flex: 1,
383
387
  // Opaque, per the design: the chat list behind stays hidden rather
384
388
  // than showing through a translucent dim.
385
- backgroundColor: '#E9EDF2',
389
+ backgroundColor: theme.listBackground,
386
390
  alignItems: 'center',
387
391
  justifyContent: 'center',
388
392
  padding: 24,
@@ -391,9 +395,9 @@ const styles = StyleSheet.create({
391
395
  width: '100%',
392
396
  maxWidth: 380,
393
397
  borderRadius: 20,
394
- backgroundColor: '#FFFFFF',
398
+ backgroundColor: theme.surface,
395
399
  padding: 20,
396
- shadowColor: '#121219',
400
+ shadowColor: theme.shadow,
397
401
  shadowOffset: { width: 0, height: 8 },
398
402
  shadowOpacity: 0.08,
399
403
  shadowRadius: 24,
@@ -402,7 +406,7 @@ const styles = StyleSheet.create({
402
406
  title: {
403
407
  fontSize: 17,
404
408
  fontWeight: '700',
405
- color: '#141414',
409
+ color: theme.text,
406
410
  textAlign: 'center',
407
411
  },
408
412
  picture: {
@@ -421,11 +425,11 @@ const styles = StyleSheet.create({
421
425
  },
422
426
  input: {
423
427
  borderRadius: 12,
424
- backgroundColor: '#F4F5F7',
428
+ backgroundColor: theme.surfaceSecondary,
425
429
  paddingHorizontal: 14,
426
430
  paddingVertical: 12,
427
431
  fontSize: 15,
428
- color: '#141414',
432
+ color: theme.text,
429
433
  marginTop: 10,
430
434
  },
431
435
  textArea: {
@@ -433,7 +437,7 @@ const styles = StyleSheet.create({
433
437
  textAlignVertical: 'top',
434
438
  },
435
439
  error: {
436
- color: '#E53935',
440
+ color: theme.danger,
437
441
  fontSize: 12,
438
442
  marginTop: 6,
439
443
  marginLeft: 4,
@@ -451,17 +455,17 @@ const styles = StyleSheet.create({
451
455
  justifyContent: 'center',
452
456
  },
453
457
  cancel: {
454
- backgroundColor: '#E7E8EA',
458
+ backgroundColor: theme.surfaceSecondary,
455
459
  },
456
460
  cancelLabel: {
457
461
  fontSize: 15,
458
462
  fontWeight: '500',
459
- color: '#8C8C8C',
463
+ color: theme.textSecondary,
460
464
  },
461
465
  submitLabel: {
462
466
  fontSize: 15,
463
467
  fontWeight: '600',
464
- color: '#FFFFFF',
468
+ color: theme.textOnPrimary,
465
469
  },
466
470
  });
467
471
 
@@ -13,6 +13,7 @@ import {
13
13
  View,
14
14
  } from 'react-native';
15
15
  import { MoreIcon } from '../../../assets/icons';
16
+ import { useTheme } from '../../../hooks/useTheme';
16
17
 
17
18
  export interface ProfileMenuItem {
18
19
  key: string;
@@ -44,6 +45,7 @@ const ProfileMenu: React.FC<{
44
45
  items: ProfileMenuItem[];
45
46
  testIDPrefix?: string;
46
47
  }> = ({ items, testIDPrefix = 'chat-profile' }) => {
48
+ const theme = useTheme();
47
49
  const buttonRef = useRef<View>(null);
48
50
  const [open, setOpen] = useState(false);
49
51
  const [anchor, setAnchor] = useState({ top: DEFAULT_TOP, right: EDGE });
@@ -131,6 +133,8 @@ const ProfileMenu: React.FC<{
131
133
  style={[
132
134
  styles.card,
133
135
  {
136
+ backgroundColor: theme.surface,
137
+ shadowColor: theme.shadow,
134
138
  top: anchor.top,
135
139
  right: anchor.right,
136
140
  opacity: progress,
@@ -151,11 +155,19 @@ const ProfileMenu: React.FC<{
151
155
  key={item.key}
152
156
  testID={`${testIDPrefix}-menu-${item.key}`}
153
157
  activeOpacity={0.6}
154
- style={[styles.row, index > 0 && styles.rowDivider]}
158
+ style={[
159
+ styles.row,
160
+ index > 0 && styles.rowDivider,
161
+ index > 0 && theme.dark && { borderTopColor: theme.divider },
162
+ ]}
155
163
  onPress={() => closeMenu(item.onPress)}
156
164
  >
157
165
  <Text
158
- style={[styles.label, item.destructive && styles.destructive]}
166
+ style={[
167
+ styles.label,
168
+ { color: theme.text },
169
+ item.destructive && { color: theme.danger },
170
+ ]}
159
171
  >
160
172
  {item.label}
161
173
  </Text>
@@ -180,10 +192,8 @@ const styles = StyleSheet.create({
180
192
  card: {
181
193
  position: 'absolute',
182
194
  minWidth: 200,
183
- backgroundColor: '#FFFFFF',
184
195
  borderRadius: 14,
185
196
  paddingVertical: 4,
186
- shadowColor: '#121219',
187
197
  shadowOffset: { width: 0, height: 6 },
188
198
  shadowOpacity: 0.18,
189
199
  shadowRadius: 16,
@@ -199,14 +209,11 @@ const styles = StyleSheet.create({
199
209
  },
200
210
  rowDivider: {
201
211
  borderTopWidth: StyleSheet.hairlineWidth,
212
+ // Light hairline; swapped for theme.divider in dark mode.
202
213
  borderTopColor: '#EFEFF2',
203
214
  },
204
215
  label: {
205
216
  fontSize: 16,
206
- color: '#141414',
207
- },
208
- destructive: {
209
- color: '#E53935',
210
217
  },
211
218
  icon: {
212
219
  width: 22,
@@ -4,6 +4,7 @@ import { getActiveRoom, RootState } from '../../../roomStore';
4
4
  import {
5
5
  ActionButton,
6
6
  CloseButton,
7
+ CloseButtonText,
7
8
  GroupContainer,
8
9
  ModalBackground,
9
10
  ModalContainer,
@@ -15,7 +16,6 @@ import Loader from '../../styled/Loader';
15
16
  import { postAddRoomMember } from '../../../networking/api-requests/rooms.api';
16
17
  import { useToast } from '../../../context/ToastContext';
17
18
  import { updateRoom } from '../../../roomStore/roomsSlice';
18
- import { Text } from 'react-native';
19
19
 
20
20
  interface SelectUsersModalProps {
21
21
  /** Render the opener yourself (the chat profile uses an "Add Members"
@@ -92,8 +92,7 @@ const SelectUsersModal: React.FC<SelectUsersModalProps> = ({ trigger }) => {
92
92
  <ModalBackground>
93
93
  <ModalContainer>
94
94
  <CloseButton onPress={handleCloseModal}>
95
- <Text style={{ fontSize: 24 }}>&times;</Text>
96
- &times;
95
+ <CloseButtonText>&times;</CloseButtonText>
97
96
  </CloseButton>
98
97
  <GroupContainer
99
98
  style={{
@@ -20,6 +20,7 @@ import {
20
20
  SharedSettingsStyledLabel,
21
21
  } from '../SharedStyledComponents';
22
22
  import { View } from 'react-native';
23
+ import { useTheme } from '../../../../hooks/useTheme';
23
24
 
24
25
  interface ManageDataModalProps {
25
26
  handleCloseModal: any;
@@ -37,6 +38,7 @@ const ManageDataModal: React.FC<ManageDataModalProps> = ({
37
38
  handleCloseModal,
38
39
  }) => {
39
40
  const { config } = useSelector((state: RootState) => state.chatSettingStore);
41
+ const theme = useTheme();
40
42
 
41
43
  const handleDownloadClick = async () => {
42
44
  // const exportedData = await getExportMyData();
@@ -76,10 +78,10 @@ const ManageDataModal: React.FC<ManageDataModalProps> = ({
76
78
  </LabelData>
77
79
  </SharedSettingsSectionContainer>
78
80
  <SharedSettingsStyledButton
79
- borderColor={config?.colors?.primary || '#0052CD'}
81
+ borderColor={theme.primary}
80
82
  onPress={handleDownloadClick}
81
83
  text="Download your data"
82
- color={config?.colors?.primary || '#0052CD'}
84
+ color={theme.primary}
83
85
  />
84
86
  </SharedSettingsColumnContainer>
85
87
  <SharedSettingsColumnContainer>
@@ -93,10 +95,10 @@ const ManageDataModal: React.FC<ManageDataModalProps> = ({
93
95
  </SharedSettingsLabelData>
94
96
  </SharedSettingsSectionContainer>
95
97
  <SharedSettingsInfoPanel
96
- bgColor={config?.colors?.secondary || '#F3F6FC'}
98
+ bgColor={config?.colors?.secondary || theme.surfaceHighlight}
97
99
  >
98
100
  <View>
99
- <InfoIcon color={config?.colors?.primary || '#0052CD'} />
101
+ <InfoIcon color={theme.primary} />
100
102
  </View>
101
103
  <SharedSettingsInfoText>
102
104
  Due to the immutable nature of distributed ledger technology,
@@ -108,9 +110,9 @@ const ManageDataModal: React.FC<ManageDataModalProps> = ({
108
110
  </SharedSettingsInfoText>
109
111
  </SharedSettingsInfoPanel>
110
112
  <SharedSettingsStyledButton
111
- borderColor="#E53935"
113
+ borderColor={theme.danger}
112
114
  text="Delete My Account"
113
- color="#E53935"
115
+ color={theme.danger}
114
116
  />
115
117
  </SharedSettingsColumnContainer>
116
118
  </SharedSettingsCenterContainer>
@@ -22,6 +22,7 @@ import { useSelector } from 'react-redux';
22
22
  import { RootState } from '../../../../roomStore';
23
23
  import { View, Text } from 'react-native';
24
24
  import Animated from 'react-native-reanimated';
25
+ import { useTheme } from '../../../../hooks/useTheme';
25
26
 
26
27
  interface ReferralsModalProps {
27
28
  handleCloseModal: any;
@@ -31,6 +32,7 @@ const ReferralsModal: React.FC<ReferralsModalProps> = ({
31
32
  handleCloseModal,
32
33
  }) => {
33
34
  const { config } = useSelector((state: RootState) => state.chatSettingStore);
35
+ const theme = useTheme();
34
36
 
35
37
  return (
36
38
  <ModalContainerFullScreen>
@@ -45,7 +47,7 @@ const ReferralsModal: React.FC<ReferralsModalProps> = ({
45
47
  <SendCoinIcon style={{ width: 24, height: 24 }} />
46
48
  <SharedSettingsStyledLabel>and receive 25</SharedSettingsStyledLabel>
47
49
  <SendCoinIcon style={{ width: 24, height: 24 }} />
48
- <Text>.</Text>
50
+ <Text style={{ color: theme.text }}>.</Text>
49
51
  <SharedSettingsStyledLabel>
50
52
  Send friends invite with your personal invitation code.
51
53
  </SharedSettingsStyledLabel>
@@ -55,7 +57,7 @@ const ReferralsModal: React.FC<ReferralsModalProps> = ({
55
57
  Your invitation code
56
58
  </SharedSettingsStyledLabel>
57
59
  <StyledInput
58
- {...{ color: config?.colors?.primary || '' } as any}
60
+ {...{ color: config?.colors?.primary || theme.primary } as any}
59
61
  placeholder="Your invitation code"
60
62
  // label={'About'}
61
63
  // value={message}
@@ -71,7 +73,7 @@ const ReferralsModal: React.FC<ReferralsModalProps> = ({
71
73
  Or enter your referral code to earn coins
72
74
  </SharedSettingsStyledLabel>
73
75
  <StyledInput
74
- {...{ color: config?.colors?.primary || '' } as any}
76
+ {...{ color: config?.colors?.primary || theme.primary } as any}
75
77
  placeholder="Your referral code"
76
78
  // label={'About'}
77
79
  // value={message}
@@ -39,7 +39,7 @@ export const RowWrapper = styled.View`
39
39
  export const SharedSettingsLabelData = styled(Label)`
40
40
  font-size: 12px;
41
41
  text-align: start;
42
- color: #8c8c8c;
42
+ color: ${({theme}) => theme.textSecondary};
43
43
  `;
44
44
 
45
45
  export const SharedSettingsStyledButton = styled(Button)<{
@@ -57,10 +57,10 @@ export const SharedSettingsStyledButton = styled(Button)<{
57
57
  border: 1px solid ${({borderColor}) => borderColor};
58
58
  `;
59
59
 
60
- export const SharedSettingsInfoPanel = styled.View<{bgColor: string | undefined}>`
60
+ export const SharedSettingsInfoPanel = styled.View<{bgColor?: string}>`
61
61
  display: flex;
62
62
  align-items: flex-start;
63
- background-color: ${({bgColor}) => bgColor};
63
+ background-color: ${({bgColor}) => bgColor || 'transparent'};
64
64
  padding: 16px;
65
65
  border-radius: 8px;
66
66
  gap: 8px;
@@ -68,7 +68,7 @@ export const SharedSettingsInfoPanel = styled.View<{bgColor: string | undefined}
68
68
 
69
69
  export const SharedSettingsInfoText = styled.Text`
70
70
  font-size: 12px;
71
- color: #141414;
71
+ color: ${({theme}) => theme.text};
72
72
  display: flex;
73
73
  text-align: start;
74
74
  `;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
3
+ import { useTheme } from '../../../../hooks/useTheme';
3
4
 
4
5
  interface RadioInputProps {
5
6
  option: { label: string; value?: boolean };
@@ -12,8 +13,10 @@ export const RadioInput: React.FC<RadioInputProps> = ({
12
13
  option,
13
14
  checked,
14
15
  onChange,
15
- radioColor = '#0052CD',
16
+ radioColor,
16
17
  }) => {
18
+ const theme = useTheme();
19
+ const color = radioColor || theme.primary;
17
20
  return (
18
21
  <View style={styles.container}>
19
22
  <TouchableOpacity
@@ -25,12 +28,14 @@ export const RadioInput: React.FC<RadioInputProps> = ({
25
28
  style={[
26
29
  styles.radioCircle,
27
30
  {
28
- borderColor: radioColor,
29
- backgroundColor: checked ? radioColor : 'transparent',
31
+ borderColor: color,
32
+ backgroundColor: checked ? color : 'transparent',
30
33
  },
31
34
  ]}
32
35
  />
33
- <Text style={styles.radioLabel}>{option.label}</Text>
36
+ <Text style={[styles.radioLabel, { color: theme.text }]}>
37
+ {option.label}
38
+ </Text>
34
39
  </TouchableOpacity>
35
40
  </View>
36
41
  );
@@ -54,6 +59,5 @@ const styles = StyleSheet.create({
54
59
  },
55
60
  radioLabel: {
56
61
  fontSize: 16,
57
- color: '#333',
58
62
  },
59
63
  });
@@ -15,6 +15,7 @@ import {
15
15
  SharedSettingsStyledLabel,
16
16
  } from '../SharedStyledComponents';
17
17
  import { RadioInput } from './RadioInput';
18
+ import { useTheme } from '../../../../hooks/useTheme';
18
19
 
19
20
  interface VisibilityModalProps {
20
21
  handleCloseModal: any;
@@ -24,9 +25,8 @@ const VisibilityModal: React.FC<VisibilityModalProps> = ({
24
25
  handleCloseModal,
25
26
  }) => {
26
27
  const dispatch = useDispatch();
27
- const { user, config } = useSelector(
28
- (state: RootState) => state.chatSettingStore
29
- );
28
+ const { user } = useSelector((state: RootState) => state.chatSettingStore);
29
+ const theme = useTheme();
30
30
 
31
31
  const doUpdateUser = (user: User) => dispatch(setUser(user));
32
32
  const [isProfileOpen, setIsProfileOpen] = useState(user?.isProfileOpen);
@@ -78,7 +78,7 @@ const VisibilityModal: React.FC<VisibilityModalProps> = ({
78
78
  <RadioLabel>
79
79
  <RadioInput
80
80
  option={{ label: 'Open (default)', value: isProfileOpen }}
81
- radioColor={config?.colors?.primary}
81
+ radioColor={theme.primary}
82
82
  checked={isProfileOpen === true}
83
83
  onChange={() => setIsProfileOpen(true)}
84
84
  />
@@ -91,7 +91,7 @@ const VisibilityModal: React.FC<VisibilityModalProps> = ({
91
91
  <RadioLabel>
92
92
  <RadioInput
93
93
  option={{ label: 'Restricted', value: isProfileOpen }}
94
- radioColor={config?.colors?.primary}
94
+ radioColor={theme.primary}
95
95
  checked={isProfileOpen === false}
96
96
  onChange={() => setIsProfileOpen(false)}
97
97
  />
@@ -110,7 +110,7 @@ const VisibilityModal: React.FC<VisibilityModalProps> = ({
110
110
  <RadioLabel>
111
111
  <RadioInput
112
112
  option={{ label: 'Full (default)', value: isAssetsOpen }}
113
- radioColor={config?.colors?.primary}
113
+ radioColor={theme.primary}
114
114
  checked={isAssetsOpen === true}
115
115
  onChange={() => setIsAssetsOpen(true)}
116
116
  />
@@ -121,7 +121,7 @@ const VisibilityModal: React.FC<VisibilityModalProps> = ({
121
121
  <RadioLabel>
122
122
  <RadioInput
123
123
  option={{ label: 'InViewidual', value: isAssetsOpen }}
124
- radioColor={config?.colors?.primary}
124
+ radioColor={theme.primary}
125
125
  checked={isAssetsOpen === false}
126
126
  onChange={() => setIsAssetsOpen(false)}
127
127
  />
@@ -10,6 +10,7 @@ import { updateUser } from '../../../roomStore/chatSettingsSlice';
10
10
  import { View } from 'react-native';
11
11
  import { pickImageAsset, PickedImage } from '../../../helpers/pickImageAsset';
12
12
  import { AddPhotoIcon } from '../../../assets/icons';
13
+ import { useTheme } from '../../../hooks/useTheme';
13
14
  // import { actionUpdateUser } from '../actions';
14
15
 
15
16
  interface EditUserModalProps {
@@ -24,6 +25,7 @@ const EditUserModal: React.FC<EditUserModalProps> = ({
24
25
  config,
25
26
  }) => {
26
27
  const dispatch = useDispatch();
28
+ const theme = useTheme();
27
29
 
28
30
  const [firstName, setFirstName] = useState(modalUser?.firstName || '');
29
31
  const [lastName, setLastName] = useState(modalUser?.lastName || '');
@@ -92,7 +94,7 @@ const EditUserModal: React.FC<EditUserModalProps> = ({
92
94
  onPress={onSave}
93
95
  variant="outlined"
94
96
  style={{ width: 128 }}
95
- color="#0052CD"
97
+ color={theme.primary}
96
98
  text="Save"
97
99
  />
98
100
  }
@@ -29,6 +29,8 @@ import { useT } from '../../../i18n/useT';
29
29
  import { useFileToken } from '../../../hooks/useFileToken';
30
30
  import { appendFileToken } from '../../../helpers/secureFileUrl';
31
31
  import { getIconColor } from '../../../helpers/getIconColor';
32
+ import { useTheme } from '../../../hooks/useTheme';
33
+ import type { ChatTheme } from '../../../theme/theme';
32
34
  import { chatTextStyle } from '../../../helpers/typography';
33
35
  import { getElementFont } from '../../../helpers/getElementFont';
34
36
  import { LANGUAGE_OPTIONS } from '../../../helpers/constants/LANGUAGE_OPTIONS';
@@ -107,6 +109,8 @@ const UserProfileModal: React.FC<UserProfileModalProps> = ({
107
109
  const { showToast } = useToast();
108
110
  const { config, user, selectedUser, langSource } = useChatSettingState();
109
111
  const fileToken = useFileToken();
112
+ const theme = useTheme();
113
+ const styles = useMemo(() => createStyles(theme), [theme]);
110
114
 
111
115
  const [isEditing, setIsEditing] = useState(false);
112
116
  const [files, setFiles] = useState<UserFile[]>([]);
@@ -349,12 +353,12 @@ const UserProfileModal: React.FC<UserProfileModalProps> = ({
349
353
  ? heroActions.map((action) => ({
350
354
  key: action.key,
351
355
  label: action.label,
352
- icon: action.icon('#141414'),
356
+ icon: action.icon(theme.text),
353
357
  destructive: action.key === 'logout',
354
358
  onPress: action.onPress,
355
359
  }))
356
360
  : [],
357
- [isCollapsed, heroActions]
361
+ [isCollapsed, heroActions, theme.text]
358
362
  );
359
363
 
360
364
  if (isEditing) {
@@ -591,10 +595,10 @@ const UserProfileModal: React.FC<UserProfileModalProps> = ({
591
595
  );
592
596
  };
593
597
 
594
- const styles = StyleSheet.create({
598
+ const createStyles = (theme: ChatTheme) => StyleSheet.create({
595
599
  screen: {
596
600
  position: 'relative',
597
- backgroundColor: '#F2F3F5',
601
+ backgroundColor: theme.listBackground,
598
602
  },
599
603
  scroll: {
600
604
  width: '100%',
@@ -608,21 +612,21 @@ const styles = StyleSheet.create({
608
612
  gap: 12,
609
613
  },
610
614
  card: {
611
- backgroundColor: '#FFFFFF',
615
+ backgroundColor: theme.surface,
612
616
  borderRadius: 14,
613
617
  padding: 16,
614
- shadowColor: '#000',
618
+ shadowColor: theme.shadow,
615
619
  shadowOffset: { width: 0, height: 1 },
616
620
  shadowOpacity: 0.05,
617
621
  shadowRadius: 4,
618
622
  elevation: 1,
619
623
  },
620
624
  cardLabel: {
621
- color: '#8C8C8C',
625
+ color: theme.textSecondary,
622
626
  fontSize: 14,
623
627
  },
624
628
  cardValue: {
625
- color: '#141414',
629
+ color: theme.text,
626
630
  fontSize: 16,
627
631
  marginTop: 4,
628
632
  },
@@ -644,7 +648,7 @@ const styles = StyleSheet.create({
644
648
  flexDirection: 'row',
645
649
  gap: 20,
646
650
  borderBottomWidth: StyleSheet.hairlineWidth,
647
- borderBottomColor: '#EFEFF2',
651
+ borderBottomColor: theme.border,
648
652
  marginBottom: 12,
649
653
  },
650
654
  tab: {
@@ -658,7 +662,7 @@ const styles = StyleSheet.create({
658
662
  tabLabel: {
659
663
  fontSize: 15,
660
664
  fontWeight: '500',
661
- color: '#8C8C8C',
665
+ color: theme.textSecondary,
662
666
  },
663
667
  tabBadge: {
664
668
  minWidth: 20,
@@ -668,7 +672,7 @@ const styles = StyleSheet.create({
668
672
  alignItems: 'center',
669
673
  },
670
674
  tabBadgeText: {
671
- color: '#FFFFFF',
675
+ color: theme.textOnPrimary,
672
676
  fontSize: 11,
673
677
  fontWeight: '600',
674
678
  },
@@ -680,7 +684,7 @@ const styles = StyleSheet.create({
680
684
  },
681
685
  languageLabel: {
682
686
  fontSize: 16,
683
- color: '#141414',
687
+ color: theme.text,
684
688
  },
685
689
  check: {
686
690
  fontSize: 16,
@@ -696,7 +700,7 @@ const styles = StyleSheet.create({
696
700
  aspectRatio: 1,
697
701
  borderRadius: 10,
698
702
  overflow: 'hidden',
699
- backgroundColor: '#EFEFF2',
703
+ backgroundColor: theme.surfaceSecondary,
700
704
  },
701
705
  mediaImage: {
702
706
  width: '100%',
@@ -713,11 +717,11 @@ const styles = StyleSheet.create({
713
717
  },
714
718
  documentName: {
715
719
  fontSize: 16,
716
- color: '#141414',
720
+ color: theme.text,
717
721
  },
718
722
  documentDate: {
719
723
  fontSize: 13,
720
- color: '#8C8C8C',
724
+ color: theme.textSecondary,
721
725
  marginTop: 2,
722
726
  },
723
727
  });
@@ -11,6 +11,8 @@ import { MODAL_TYPES } from '../../../helpers/constants/MODAL_TYPES';
11
11
  import { useChatSettingState } from '../../../hooks/useChatSettingState';
12
12
  import { chatTextStyle } from '../../../helpers/typography';
13
13
  import { useT } from '../../../i18n/useT';
14
+ import { useTheme } from '../../../hooks/useTheme';
15
+ import type { ChatTheme } from '../../../theme/theme';
14
16
 
15
17
  interface UserSettingsModalProps {
16
18
  handleCloseModal: any;
@@ -22,6 +24,8 @@ const UserSettingsModal: React.FC<UserSettingsModalProps> = ({
22
24
  const t = useT();
23
25
  const dispatch = useDispatch();
24
26
  const { config } = useChatSettingState();
27
+ const theme = useTheme();
28
+ const styles = useMemo(() => createStyles(theme), [theme]);
25
29
 
26
30
  const options = useMemo(
27
31
  () => [
@@ -58,7 +62,12 @@ const UserSettingsModal: React.FC<UserSettingsModalProps> = ({
58
62
  onPress={() => handleClick(option.key)}
59
63
  >
60
64
  <Text style={styles.label}>{option.label}</Text>
61
- <ArowDownIcon color="#8C8C8C" width={20} height={20} style={styles.chevron} />
65
+ <ArowDownIcon
66
+ color={theme.textSecondary}
67
+ width={20}
68
+ height={20}
69
+ style={styles.chevron}
70
+ />
62
71
  </TouchableOpacity>
63
72
  ))}
64
73
  </View>
@@ -66,9 +75,9 @@ const UserSettingsModal: React.FC<UserSettingsModalProps> = ({
66
75
  );
67
76
  };
68
77
 
69
- const styles = StyleSheet.create({
78
+ const createStyles = (theme: ChatTheme) => StyleSheet.create({
70
79
  screen: {
71
- backgroundColor: '#E8EDF2',
80
+ backgroundColor: theme.listBackground,
72
81
  },
73
82
  body: {
74
83
  width: '100%',
@@ -79,11 +88,11 @@ const styles = StyleSheet.create({
79
88
  flexDirection: 'row',
80
89
  alignItems: 'center',
81
90
  justifyContent: 'space-between',
82
- backgroundColor: '#FFFFFF',
91
+ backgroundColor: theme.surface,
83
92
  borderRadius: 20,
84
93
  paddingHorizontal: 20,
85
94
  paddingVertical: 22,
86
- shadowColor: '#101828',
95
+ shadowColor: theme.shadow,
87
96
  shadowOffset: { width: 0, height: 4 },
88
97
  shadowOpacity: 0.06,
89
98
  shadowRadius: 12,
@@ -92,7 +101,7 @@ const styles = StyleSheet.create({
92
101
  label: {
93
102
  fontSize: 17,
94
103
  fontWeight: '500',
95
- color: '#141414',
104
+ color: theme.text,
96
105
  },
97
106
  chevron: {
98
107
  transform: [{ rotate: '-90deg' }],