@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
@@ -6,7 +6,7 @@ import Button from '../styled/Button';
6
6
  export const ModalBackground = styled.View`
7
7
  width: 100%;
8
8
  height: 100%;
9
- background: rgba(0, 0, 0, 0.5);
9
+ background: ${({ theme }) => theme.overlay};
10
10
  flex: 1;
11
11
  justify-content: center;
12
12
  align-items: center;
@@ -20,14 +20,20 @@ export const CloseButton = styled.TouchableOpacity`
20
20
  border: none;
21
21
  font-size: 20px;
22
22
  cursor: pointer;
23
- color: #888;
23
+ color: ${({ theme }) => theme.textMuted};
24
+ `;
25
+
26
+ /** The "×" glyph inside CloseButton — themed so it reads on dark surfaces. */
27
+ export const CloseButtonText = styled.Text`
28
+ font-size: 24px;
29
+ color: ${({ theme }) => theme.text};
24
30
  `;
25
31
 
26
32
  export const ModalContainer = styled.View`
27
33
  // flex: 1;
28
34
  // width: 100%;
29
35
  // height: 100%;
30
- background: white;
36
+ background: ${({ theme }) => theme.surface};
31
37
  padding: 32px 64px;
32
38
  box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.2);
33
39
  display: flex;
@@ -39,12 +45,14 @@ export const ModalContainer = styled.View`
39
45
  `;
40
46
 
41
47
  export const ModalTitle = styled.Text`
48
+ color: ${({ theme }) => theme.text};
42
49
  font-size: 20px;
43
50
  margin: 0;
44
51
  font-weight: 400;
45
52
  `;
46
53
 
47
54
  export const ModalDescription = styled.Text`
55
+ color: ${({ theme }) => theme.text};
48
56
  font-size: 14px;
49
57
  margin: 0;
50
58
  font-weight: 400;
@@ -60,7 +68,7 @@ export const GroupContainer = styled.View`
60
68
  export const ModalContainerFullScreen = styled.View`
61
69
  width: 100%;
62
70
  height: 100%;
63
- background-color: #fff;
71
+ background-color: ${({ theme }) => theme.surface};
64
72
  display: flex;
65
73
  flex-direction: column;
66
74
  align-items: center;
@@ -85,12 +93,12 @@ export const HeaderContainer = styled.View`
85
93
  * 20px on an SE). Together that's status-bar + 8px above the back
86
94
  * button and 8px below — properly sized and properly centered. */
87
95
  padding: 8px 16px;
88
- background-color: #fff;
96
+ background-color: ${({ theme }) => theme.surface};
89
97
  /* Same card treatment as the room-list header: rounded bottom corners
90
98
  * and a soft drop shadow instead of a hairline rule. */
91
99
  border-bottom-left-radius: 20px;
92
100
  border-bottom-right-radius: 20px;
93
- shadow-color: #101828;
101
+ shadow-color: ${({ theme }) => theme.shadow};
94
102
  shadow-offset: 0px 4px;
95
103
  shadow-opacity: 0.06;
96
104
  shadow-radius: 12px;
@@ -124,7 +132,7 @@ export const ProfileImage = styled.View`
124
132
  width: 120px;
125
133
  height: 120px;
126
134
  border-radius: 10000px;
127
- border: 1px solid #f0f0f0;
135
+ border: 1px solid ${({ theme }) => theme.border};
128
136
  `;
129
137
 
130
138
  export const UserInfo = styled.View`
@@ -139,13 +147,13 @@ export const UserName = styled.Text<{
139
147
  fontSize?: number;
140
148
  fontWeight?: string;
141
149
  }>`
142
- color: #141414;
150
+ color: ${({ theme }) => theme.text};
143
151
  font-size: ${({ fontSize }) => fontSize ?? 24}px;
144
152
  font-weight: ${({ fontWeight }) => fontWeight ?? 400};
145
153
  `;
146
154
 
147
155
  export const UserStatus = styled.Text`
148
- color: #8c8c8c;
156
+ color: ${({ theme }) => theme.textSecondary};
149
157
  font-size: 16px;
150
158
  font-weight: 400;
151
159
  `;
@@ -153,20 +161,20 @@ export const UserStatus = styled.Text`
153
161
  export const BorderedContainer = styled.View`
154
162
  width: 100%;
155
163
  border-radius: 8px;
156
- border: 1px solid #f0f0f0;
164
+ border: 1px solid ${({ theme }) => theme.border};
157
165
  display: flex;
158
166
  flex-direction: column;
159
167
  padding: 16px;
160
168
  `;
161
169
 
162
170
  export const LabelData = styled.Text`
163
- color: #8c8c8c;
171
+ color: ${({ theme }) => theme.textSecondary};
164
172
  font-size: 14px;
165
173
  font-weight: 400;
166
174
  `;
167
175
 
168
176
  export const Label = styled.Text`
169
- color: #141414;
177
+ color: ${({ theme }) => theme.text};
170
178
  font-size: 16px;
171
179
  `;
172
180
 
@@ -176,7 +184,7 @@ export const ActionButton = styled(Button)`
176
184
 
177
185
  export const EmptySection = styled.View`
178
186
  height: 200px;
179
- border: 1px solid #f0f0f0;
187
+ border: 1px solid ${({ theme }) => theme.border};
180
188
  border-radius: 8px;
181
189
  width: 100%;
182
190
  display: flex;
@@ -185,11 +193,11 @@ export const EmptySection = styled.View`
185
193
  export const Viewider = styled.View`
186
194
  height: 1px;
187
195
  width: 100%;
188
- background-color: #0052cd0d;
196
+ background-color: ${({ theme }) => theme.surfaceHighlight};
189
197
  `;
190
198
 
191
199
  export const Divider = styled.View`
192
200
  height: 1px;
193
201
  width: 100%;
194
- background-color: #0052cd0d;
202
+ background-color: ${({ theme }) => theme.surfaceHighlight};
195
203
  `;
@@ -17,6 +17,8 @@ import Composing from '../styled/StyledInputComponents/Composing';
17
17
  import { Text, View } from 'react-native';
18
18
  import LastMessageItem from './LastMessageItem';
19
19
  import { LastRoomMessageText } from './styled/StyledRoomComponents';
20
+ import { useTheme } from '../../hooks/useTheme';
21
+ import { resolveTheme } from '../../theme/theme';
20
22
 
21
23
  interface ChatRoomItemProps {
22
24
  chat: IRoom;
@@ -31,6 +33,13 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
31
33
  isDriver,
32
34
  config,
33
35
  }) => {
36
+ // Rows can be rendered with an explicit `config` prop (tests, hosts
37
+ // composing their own list); honour its colours over the store's.
38
+ const storeTheme = useTheme();
39
+ const theme = useMemo(
40
+ () => (config ? resolveTheme(config) : storeTheme),
41
+ [config, storeTheme]
42
+ );
34
43
  // Room icons can live on the membership-gated secure-files host.
35
44
  const fileToken = useFileToken();
36
45
  const displayName = String(chat?.title || chat?.name || '').trim();
@@ -150,9 +159,9 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
150
159
  paddingVertical: 8,
151
160
  paddingRight: 8,
152
161
  borderBottomWidth: 1,
153
- // Reads against the list's #E8EDF2 ground; #F0F0F0 was lighter
154
- // than the ground itself, so the row separators vanished.
155
- borderBottomColor: '#C6CFDA',
162
+ // `divider` reads against the list ground; the lighter border
163
+ // tone was paler than the ground itself, so the separators vanished.
164
+ borderBottomColor: theme.divider,
156
165
  }}
157
166
  >
158
167
  <View
@@ -167,7 +176,7 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
167
176
  {stamp ? (
168
177
  <UserCount
169
178
  style={{
170
- color: '#8C8C8C',
179
+ color: theme.textSecondary,
171
180
  fontSize: 12,
172
181
  }}
173
182
  text={stamp}
@@ -239,7 +248,7 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
239
248
  <View
240
249
  style={{
241
250
  borderRadius: 8,
242
- backgroundColor: config?.colors?.primary,
251
+ backgroundColor: theme.primary,
243
252
  padding: 2,
244
253
  minWidth: 24,
245
254
  minHeight: 24,
@@ -252,7 +261,7 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
252
261
  <Text
253
262
  style={{
254
263
  // color: isChatActive ? "#141414" : "#fff",
255
- color: '#141414',
264
+ color: theme.text,
256
265
  fontSize: 14,
257
266
  fontWeight: '600',
258
267
  }}
@@ -263,11 +272,11 @@ const ChatRoomItem: React.FC<ChatRoomItemProps> = ({
263
272
  ) : null}
264
273
  </View>
265
274
  {isDriver && (
266
- // Darker than the list's own ground (#E8EDF2), otherwise the
267
- // separator disappears into it — white and the old #0052CD0D
268
- // hairline both did.
275
+ // Darker than the list's own ground, otherwise the separator
276
+ // disappears into it — white and the old highlight hairline both
277
+ // did.
269
278
  <View
270
- style={{ height: 1, backgroundColor: '#C6CFDA', marginTop: 8 }}
279
+ style={{ height: 1, backgroundColor: theme.divider, marginTop: 8 }}
271
280
  />
272
281
  )}
273
282
  </View>
@@ -8,6 +8,7 @@ import { LastMessage } from '../../../types/types';
8
8
  import styled from 'styled-components/native';
9
9
  import { View } from 'react-native';
10
10
  import { PlayIcon } from '../../../assets/icons';
11
+ import { useTheme } from '../../../hooks/useTheme';
11
12
 
12
13
  interface LastMessageEmojiProps extends Pick<LastMessage, 'user' | 'body'> {}
13
14
 
@@ -18,7 +19,7 @@ const PlayButton = styled.View`
18
19
  display: flex;
19
20
  justify-content: center;
20
21
  align-items: center;
21
- background-color: #d8ecff;
22
+ background-color: ${({ theme }) => (theme.dark ? theme.surfaceSecondary : '#d8ecff')};
22
23
  margin-top: 1px;
23
24
  `;
24
25
 
@@ -29,12 +30,13 @@ const AudioRow = styled.View`
29
30
  `;
30
31
 
31
32
  const LastAudioMessage: FC<LastMessageEmojiProps> = ({ user, body }) => {
33
+ const theme = useTheme();
32
34
  return (
33
35
  <LastRoomMessageContainer>
34
36
  <LastRoomMessageName numberOfLines={1}>{user?.name ?? ''}</LastRoomMessageName>
35
37
  <AudioRow>
36
38
  <PlayButton>
37
- <PlayIcon width={10} height={10} color="#1F2937" />
39
+ <PlayIcon width={10} height={10} color={theme.dark ? theme.text : '#1F2937'} />
38
40
  </PlayButton>
39
41
  <LastRoomMessageText numberOfLines={1}>
40
42
  {body?.trim() ? body : 'audio'}
@@ -12,9 +12,11 @@ export const LastRoomMessageContainer = styled.View`
12
12
  export const LastRoomMessageName = styled.Text`
13
13
  font-weight: 600;
14
14
  max-width: 190px;
15
+ color: ${({ theme }) => theme.text};
15
16
  `;
16
17
 
17
18
  export const LastRoomMessageText = styled.Text`
19
+ color: ${({ theme }) => theme.textSecondary};
18
20
  max-width: 190px;
19
21
  flex-shrink: 1;
20
22
  flex-wrap: nowrap;
@@ -22,6 +22,7 @@ import { useSendMessage } from '../../hooks/useSendMessage';
22
22
  import { createMainMessageForThread } from '../../helpers/createMainMessageForThread';
23
23
  import { useRoomState } from '../../hooks/useRoomState';
24
24
  import { useChatSettingState } from '../../hooks/useChatSettingState';
25
+ import { useTheme } from '../../hooks/useTheme';
25
26
  import {
26
27
  Animated,
27
28
  Text,
@@ -51,6 +52,7 @@ const ThreadWrapper: FC<ThreadWrapperProps> = ({
51
52
 
52
53
  const { loading, roomsList, editAction, activeRoomJID } = useRoomState();
53
54
  const { config } = useChatSettingState();
55
+ const theme = useTheme();
54
56
  const { sendMessage: sendMs, sendMedia: sendMessageMedia, sendEditMessage, isLastMessageFromUserAndProcessing } = useSendMessage();
55
57
 
56
58
  const [isLoadingMore, setIsLoadingMore] = useState<boolean>(false);
@@ -179,6 +181,7 @@ const ThreadWrapper: FC<ThreadWrapperProps> = ({
179
181
  {...panResponder.panHandlers}
180
182
  style={[
181
183
  styles.threadContainer,
184
+ { backgroundColor: theme.chatBackground },
182
185
  { transform: [{ translateX: slideAnim }] },
183
186
  // ...config?.chatRoomStyles,
184
187
  ]}
@@ -199,17 +202,15 @@ const ThreadWrapper: FC<ThreadWrapperProps> = ({
199
202
  />
200
203
  <AlsoContainer onPress={() => setIsChecked((prev) => !prev)}>
201
204
  <AlsoCheckbox
202
- accentColor={
203
- isChecked ? config?.colors?.primary || '#0052CD' : '#fff'
204
- }
205
+ accentColor={isChecked ? theme.primary : theme.surface}
205
206
  // checked={isChecked}
206
207
  // onPress={() => setIsChecked(!isChecked)}
207
208
  />
208
- <Text>Also send to</Text>
209
+ <Text style={{ color: theme.text }}>Also send to</Text>
209
210
  <TouchableOpacity onPress={closeThread}>
210
211
  <Text
211
212
  style={{
212
- color: config?.colors?.primary || '#0052CD',
213
+ color: theme.primary,
213
214
  fontWeight: 500,
214
215
  }}
215
216
  >
@@ -32,7 +32,7 @@ const ToastContainer = styled(Animated.View)<{ type: string }>`
32
32
  border-radius: 6px;
33
33
  margin-bottom: 8px;
34
34
  width: 240px;
35
- shadow-color: #000;
35
+ shadow-color: ${({ theme }) => theme.shadow};
36
36
  shadow-offset: 0px 2px;
37
37
  shadow-opacity: 0.2;
38
38
  shadow-radius: 4px;
@@ -17,7 +17,7 @@ import {
17
17
  import * as FileSystem from 'expo-file-system/legacy';
18
18
  import { WebView, WebViewMessageEvent } from 'react-native-webview';
19
19
  import { PauseIcon, PlayIcon } from '../../assets/icons';
20
- import { useChatSettingState } from '../../hooks/useChatSettingState';
20
+ import { useTheme } from '../../hooks/useTheme';
21
21
  import { getIosAudioPlaybackCacheExtension } from '../../helpers/mimeToExtension';
22
22
  import { pushLog as devPushLog } from '../../utils/devLogger';
23
23
 
@@ -319,7 +319,7 @@ const AudioMessage = ({
319
319
  fileName,
320
320
  originalName,
321
321
  }: AudioMessageProps) => {
322
- const { config } = useChatSettingState();
322
+ const theme = useTheme();
323
323
  const soundRef = useRef<AudioPlayer | null>(null);
324
324
  // expo-audio delivers progress through an event subscription instead of
325
325
  // expo-av's `onPlaybackStatusUpdate` callback argument, so the handle has
@@ -339,7 +339,10 @@ const AudioMessage = ({
339
339
  const [position, setPosition] = useState(0);
340
340
  const [duration, setDuration] = useState(0);
341
341
  const [webViewEnabled, setWebViewEnabled] = useState(false);
342
- const primaryColor = config?.colors?.primary || '#0A84FF';
342
+ const primaryColor = theme.primary;
343
+ const onPrimary = theme.textOnPrimary;
344
+ const trackStyle = { backgroundColor: theme.border };
345
+ const timeStyle = { color: theme.textSecondary };
343
346
 
344
347
  const clearLoadingGuard = () => {
345
348
  if (loadingTimerRef.current) {
@@ -760,19 +763,19 @@ const AudioMessage = ({
760
763
  activeOpacity={0.85}
761
764
  >
762
765
  {isLoading ? (
763
- <ActivityIndicator size="small" color="#fff" />
766
+ <ActivityIndicator size="small" color={onPrimary} />
764
767
  ) : (
765
768
  <View style={styles.iconWrap}>
766
769
  {isPlaying ? (
767
- <PauseIcon width={18} height={18} color="#fff" />
770
+ <PauseIcon width={18} height={18} color={onPrimary} />
768
771
  ) : (
769
- <PlayIcon width={18} height={18} color="#fff" />
772
+ <PlayIcon width={18} height={18} color={onPrimary} />
770
773
  )}
771
774
  </View>
772
775
  )}
773
776
  </TouchableOpacity>
774
777
  <View style={styles.progressContainer}>
775
- <View style={styles.progressTrack}>
778
+ <View style={[styles.progressTrack, trackStyle]}>
776
779
  <View
777
780
  style={[
778
781
  styles.progressFill,
@@ -781,12 +784,12 @@ const AudioMessage = ({
781
784
  />
782
785
  </View>
783
786
  <View style={styles.progressRow}>
784
- <Text style={styles.time}>
787
+ <Text style={[styles.time, timeStyle]}>
785
788
  {playbackError ? 'Audio unavailable' : formatTime(position)}
786
789
  </Text>
787
790
  {/* Always render the right slot (empty until known) so the row
788
791
  never reflows when the duration appears after decoding. */}
789
- <Text style={styles.time}>
792
+ <Text style={[styles.time, timeStyle]}>
790
793
  {!playbackError && duration > 0 ? formatTime(duration) : ''}
791
794
  </Text>
792
795
  </View>
@@ -1,5 +1,5 @@
1
- import React, { ReactElement, ReactNode } from 'react';
2
- import styled from 'styled-components/native';
1
+ import React, { ReactElement, ReactNode, useContext } from 'react';
2
+ import styled, { ThemeContext } from 'styled-components/native';
3
3
  import {
4
4
  TouchableOpacity,
5
5
  View,
@@ -20,10 +20,10 @@ const CustomButton = styled(TouchableOpacity)<{
20
20
  variant?: 'default' | 'filled' | 'outlined';
21
21
  }>`
22
22
  border-width: ${({ variant }) => (variant === 'outlined' ? 1 : 0)}px;
23
- border-color: ${({ borderColor }) => borderColor || '#0052CD'};
23
+ border-color: ${({ borderColor, theme }) => borderColor || theme.primary};
24
24
  border-radius: 20px;
25
- background-color: ${({ variant, backgroundColor }) =>
26
- variant === 'filled' ? backgroundColor || '#0052CD' : 'transparent'};
25
+ background-color: ${({ variant, backgroundColor, theme }) =>
26
+ variant === 'filled' ? backgroundColor || theme.primary : 'transparent'};
27
27
  flex-direction: row;
28
28
  justify-content: center;
29
29
  align-items: center;
@@ -38,8 +38,10 @@ const ButtonText = styled.Text<{
38
38
  variant?: 'default' | 'filled' | 'outlined';
39
39
  backgroundColor?: string;
40
40
  }>`
41
- color: ${({ variant, backgroundColor }) =>
42
- variant === 'filled' ? '#FFFFFF' : backgroundColor || '#0052CD'};
41
+ color: ${({ variant, backgroundColor, theme }) =>
42
+ variant === 'filled'
43
+ ? theme.textOnPrimary
44
+ : backgroundColor || theme.primary};
43
45
  font-size: ${PixelRatio.getFontScale() * 14}px;
44
46
  font-weight: bold;
45
47
  `;
@@ -83,6 +85,11 @@ const Button: React.FC<ButtonProps> = ({
83
85
  accessibilityLabel,
84
86
  }) => {
85
87
  const iconOnly = !loading && !children && !text && !StartIcon && !!EndIcon;
88
+ // Theme from the styled ThemeProvider. `useContext` (not styled's
89
+ // `useTheme`) so rendering outside the provider — isolated tests — does
90
+ // not throw; the inline label colour then falls back to the historical
91
+ // black.
92
+ const theme = useContext(ThemeContext);
86
93
 
87
94
  return (
88
95
  <CustomButton
@@ -100,7 +107,7 @@ const Button: React.FC<ButtonProps> = ({
100
107
  {!loading && children}
101
108
  {!loading && !children && typeof text !== 'undefined' && (
102
109
  <ButtonText
103
- style={[{ color: color || 'black' }]}
110
+ style={[{ color: color || theme?.text || 'black' }]}
104
111
  variant={variant}
105
112
  backgroundColor={backgroundColor}
106
113
  >
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import styled from 'styled-components/native';
3
3
  import { Line } from './StyledComponents';
4
4
  import { Text } from 'react-native';
5
- import { getDateLabelColor } from '../../helpers/getDateLabelColor';
5
+ import { useTheme } from '../../hooks/useTheme';
6
6
  import { useT, useUiLocale } from '../../i18n/useT';
7
7
 
8
8
  interface DateLabelProps {
@@ -71,12 +71,16 @@ const DateLabel: React.FC<DateLabelProps> = ({ date, colors }) => {
71
71
  label = date.toLocaleDateString(uiLocale, options);
72
72
  }
73
73
 
74
- const textColor = getDateLabelColor({ colors });
74
+ // Theme-aware: dark mode ignores the light-only `colors` knobs (the
75
+ // theme already folds `colors.dateLabel` / `colors.primary` in light).
76
+ const theme = useTheme();
77
+ const textColor = theme.dateLabel;
78
+ const bgColor = theme.dark ? theme.surfaceSecondary : colors?.secondary;
75
79
 
76
80
  return (
77
81
  <Container>
78
82
  <Line />
79
- <StyledDateLabel bgColor={colors?.secondary}>
83
+ <StyledDateLabel bgColor={bgColor}>
80
84
  <StyledDateText color={textColor}>{label}</StyledDateText>
81
85
  </StyledDateLabel>
82
86
  <Line />
@@ -1,7 +1,8 @@
1
1
  /** @format */
2
2
 
3
- import React from 'react';
4
- import { View, Modal, StyleSheet, ViewStyle, Text } from 'react-native';
3
+ import React from "react";
4
+ import { View, Modal, StyleSheet, ViewStyle, Text } from "react-native";
5
+ import { useTheme } from "../../hooks/useTheme";
5
6
 
6
7
  interface OverlayProps {
7
8
  children?: React.ReactNode;
@@ -9,18 +10,23 @@ interface OverlayProps {
9
10
  style?: ViewStyle;
10
11
  }
11
12
 
12
- export const Overlay = ({ children, visible, style }: OverlayProps) => (
13
- <Modal
14
- transparent={true}
15
- animationType="fade"
16
- visible={visible}
17
- onRequestClose={() => {
18
- // Implement logic to close the modal if needed
19
- }}
20
- >
21
- <View style={[styles.modal, style]}>{children}</View>
22
- </Modal>
23
- );
13
+ export const Overlay = ({ children, visible, style }: OverlayProps) => {
14
+ const theme = useTheme();
15
+ return (
16
+ <Modal
17
+ transparent={true}
18
+ animationType="fade"
19
+ visible={visible}
20
+ onRequestClose={() => {
21
+ // Implement logic to close the modal if needed
22
+ }}
23
+ >
24
+ <View style={[styles.modal, { backgroundColor: theme.surface }, style]}>
25
+ {children}
26
+ </View>
27
+ </Modal>
28
+ );
29
+ };
24
30
 
25
31
  export const StyledModal = ({
26
32
  children,
@@ -34,22 +40,21 @@ export const StyledModal = ({
34
40
 
35
41
  const styles = StyleSheet.create({
36
42
  overlay: {
37
- backgroundColor: 'rgba(0, 0, 0, 0.75)',
43
+ backgroundColor: "rgba(0, 0, 0, 0.75)",
38
44
  flex: 1,
39
- justifyContent: 'center',
40
- alignItems: 'center',
45
+ justifyContent: "center",
46
+ alignItems: "center",
41
47
  zIndex: 999, // Use zIndex for stacking, although this won't work in all cases, Android uses elevation.
42
48
  elevation: 999, // Added to give the overlay layer a higher stacking context on Android.
43
49
  },
44
50
  modal: {
45
51
  flex: 1,
46
- width: '100%',
47
- height: '100%',
48
- backgroundColor: 'white',
52
+ width: "100%",
53
+ height: "100%",
54
+ backgroundColor: "white",
49
55
  padding: 0,
50
- display: 'flex',
51
- justifyContent: 'center',
52
- alignItems: 'center',
56
+ display: "flex",
57
+ justifyContent: "center",
58
+ alignItems: "center",
53
59
  },
54
- })
55
-
60
+ });