@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
@@ -7,6 +7,7 @@ import {
7
7
  TextStyle,
8
8
  } from 'react-native';
9
9
  import { getTintedColor } from '../../../helpers/getTintedColor';
10
+ import { useTheme } from '../../../hooks/useTheme';
10
11
 
11
12
  // Container with burger menu support
12
13
  export const Container = ({
@@ -17,24 +18,34 @@ export const Container = ({
17
18
  burgerMenu?: boolean;
18
19
  open?: boolean;
19
20
  children: React.ReactNode;
20
- }) => (
21
- <View
22
- style={[
23
- styles.container,
24
- burgerMenu && open ? styles.containerOpen : styles.containerClosed,
25
- burgerMenu && styles.burgerMenu,
26
- ]}
27
- >
28
- {children}
29
- </View>
30
- );
21
+ }) => {
22
+ const theme = useTheme();
23
+ return (
24
+ <View
25
+ style={[
26
+ styles.container,
27
+ { backgroundColor: theme.surface },
28
+ burgerMenu && open ? styles.containerOpen : styles.containerClosed,
29
+ burgerMenu && [
30
+ styles.burgerMenu,
31
+ { backgroundColor: theme.surface, borderRightColor: theme.border },
32
+ ],
33
+ ]}
34
+ >
35
+ {children}
36
+ </View>
37
+ );
38
+ };
31
39
 
32
40
  // Button for the burger menu
33
- export const BurgerButton = ({ onPress }: { onPress: () => void }) => (
34
- <TouchableOpacity style={styles.burgerButton} onPress={onPress}>
35
- <Text style={styles.burgerButtonText}>☰</Text>
36
- </TouchableOpacity>
37
- );
41
+ export const BurgerButton = ({ onPress }: { onPress: () => void }) => {
42
+ const theme = useTheme();
43
+ return (
44
+ <TouchableOpacity style={styles.burgerButton} onPress={onPress}>
45
+ <Text style={[styles.burgerButtonText, { color: theme.text }]}>☰</Text>
46
+ </TouchableOpacity>
47
+ );
48
+ };
38
49
 
39
50
  // Chat item
40
51
  const ColorContext = createContext<string | undefined>(undefined);
@@ -71,17 +82,31 @@ export const ChatInfo = ({ children }: { children: React.ReactNode }) => (
71
82
  // One line, ellipsised. Without this a long room title (or a display name
72
83
  // that happens to be an email) wrapped to three or four lines and pushed
73
84
  // the whole row's height around.
74
- export const ChatName = ({ text }: { text: string }) => (
75
- <Text style={styles.chatName} numberOfLines={1} ellipsizeMode="tail">
76
- {text}
77
- </Text>
78
- );
85
+ export const ChatName = ({ text }: { text: string }) => {
86
+ const theme = useTheme();
87
+ return (
88
+ <Text
89
+ style={[styles.chatName, { color: theme.text }]}
90
+ numberOfLines={1}
91
+ ellipsizeMode="tail"
92
+ >
93
+ {text}
94
+ </Text>
95
+ );
96
+ };
79
97
 
80
- export const LastMessage = ({ children }: { children: React.ReactNode }) => (
81
- <Text style={styles.lastMessage} numberOfLines={1} ellipsizeMode="tail">
82
- {children}
83
- </Text>
84
- );
98
+ export const LastMessage = ({ children }: { children: React.ReactNode }) => {
99
+ const theme = useTheme();
100
+ return (
101
+ <Text
102
+ style={[styles.lastMessage, { color: theme.textMuted }]}
103
+ numberOfLines={1}
104
+ ellipsizeMode="tail"
105
+ >
106
+ {children}
107
+ </Text>
108
+ );
109
+ };
85
110
 
86
111
  // User count display for the chat
87
112
  export const UserCount = ({
@@ -92,13 +117,19 @@ export const UserCount = ({
92
117
  style: TextStyle;
93
118
  }) => <Text style={[styles.userCount, style]}>{text}</Text>;
94
119
 
95
- export const Viewider = () => <View style={styles.viewider} />;
120
+ export const Viewider = () => {
121
+ const theme = useTheme();
122
+ return (
123
+ <View
124
+ style={[styles.viewider, { backgroundColor: theme.surfaceHighlight }]}
125
+ />
126
+ );
127
+ };
96
128
 
97
129
  const styles = StyleSheet.create({
98
130
  container: {
99
131
  padding: 16,
100
132
  paddingTop: 0,
101
- backgroundColor: '#fff',
102
133
  overflow: 'hidden',
103
134
  },
104
135
  burgerMenu: {
@@ -110,10 +141,8 @@ const styles = StyleSheet.create({
110
141
  transform: [{ translateX: -300 }],
111
142
  display: 'flex',
112
143
  flexDirection: 'column',
113
- backgroundColor: '#fff',
114
144
  padding: 16,
115
145
  borderRightWidth: 1,
116
- borderRightColor: '#f0f0f0',
117
146
  },
118
147
  containerOpen: {
119
148
  transform: [{ translateX: 0 }],
@@ -129,7 +158,6 @@ const styles = StyleSheet.create({
129
158
  },
130
159
  burgerButtonText: {
131
160
  fontSize: 24,
132
- color: '#333',
133
161
  },
134
162
  chatItem: {
135
163
  borderRadius: 16,
@@ -162,15 +190,12 @@ const styles = StyleSheet.create({
162
190
  chatName: {
163
191
  fontWeight: 'bold',
164
192
  },
165
- lastMessage: {
166
- color: '#999',
167
- },
193
+ lastMessage: {},
168
194
  userCount: {
169
195
  marginLeft: 'auto',
170
196
  },
171
197
  viewider: {
172
198
  height: 1,
173
199
  width: '100%',
174
- backgroundColor: '#0052cd0d',
175
200
  },
176
201
  });
@@ -14,6 +14,7 @@ import AttachSheet, { PickedMedia } from '../Modals/AttachSheet/AttachSheet';
14
14
  import { MediaFilePreview } from './MediaFilePreview';
15
15
  import { getIconColor } from '../../helpers/getIconColor';
16
16
  import { getElementFont } from '../../helpers/getElementFont';
17
+ import { useTheme } from '../../hooks/useTheme';
17
18
  import { useT } from '../../i18n/useT';
18
19
  import { getMediaLibrary } from '../../helpers/mediaLibraryRuntime';
19
20
  import * as ImagePicker from 'expo-image-picker';
@@ -99,6 +100,7 @@ const SendInput: React.FC<SendInputProps> = ({
99
100
  isMessageProcessing,
100
101
  }) => {
101
102
  const t = useT();
103
+ const theme = useTheme();
102
104
  const [message, setMessage] = useState('');
103
105
  const [isRecording, setIsRecording] = useState(false);
104
106
  // Live counter (seconds) for the recording overlay. Updated by a
@@ -630,7 +632,8 @@ const SendInput: React.FC<SendInputProps> = ({
630
632
  fontSize={config?.typography?.input?.fontSize}
631
633
  fontWeight={config?.typography?.input?.fontWeight as any}
632
634
  placeholder={t('input.placeholder')}
633
- placeholderTextColor="#999"
635
+ placeholderTextColor={theme.textMuted}
636
+ keyboardAppearance={theme.dark ? 'dark' : 'light'}
634
637
  value={message}
635
638
  onChangeText={(text) => {
636
639
  messageRef.current = text;
@@ -678,11 +681,21 @@ const SendInput: React.FC<SendInputProps> = ({
678
681
  borderRadius: 20,
679
682
  alignItems: 'center',
680
683
  justifyContent: 'center',
681
- backgroundColor: '#FEE2E2',
684
+ // Light keeps its pale-red chip; on a dark ground the
685
+ // danger tint on the glyph alone carries the meaning.
686
+ backgroundColor: theme.dark ? theme.surfaceSecondary : '#FEE2E2',
682
687
  }}
683
688
  activeOpacity={0.7}
684
689
  >
685
- <Text style={{ color: '#B91C1C', fontWeight: '700', fontSize: 18 }}>×</Text>
690
+ <Text
691
+ style={{
692
+ color: theme.dark ? theme.danger : '#B91C1C',
693
+ fontWeight: '700',
694
+ fontSize: 18,
695
+ }}
696
+ >
697
+ ×
698
+ </Text>
686
699
  </TouchableOpacity>
687
700
  {/* Live elapsed time + red recording dot. flex:1 so it
688
701
  * occupies the middle slot the input used to have. */}
@@ -701,14 +714,14 @@ const SendInput: React.FC<SendInputProps> = ({
701
714
  width: 10,
702
715
  height: 10,
703
716
  borderRadius: 5,
704
- backgroundColor: '#EF4444',
717
+ backgroundColor: theme.dark ? theme.danger : '#EF4444',
705
718
  }}
706
719
  />
707
- <Text style={{ fontSize: 16, color: '#1F2937', fontWeight: '500' }}>
720
+ <Text style={{ fontSize: 16, color: theme.text, fontWeight: '500' }}>
708
721
  {Math.floor(recordingDuration / 60)}:
709
722
  {(recordingDuration % 60).toString().padStart(2, '0')}
710
723
  </Text>
711
- <Text style={{ fontSize: 13, color: '#6B7280' }}>Recording…</Text>
724
+ <Text style={{ fontSize: 13, color: theme.textSecondary }}>Recording…</Text>
712
725
  </View>
713
726
  </>
714
727
  )}
@@ -742,9 +755,11 @@ const SendInput: React.FC<SendInputProps> = ({
742
755
  disabled={disabled}
743
756
  EndIcon={
744
757
  showMic ? (
745
- <RecordIcon color="#FFFFFF" />
758
+ <RecordIcon color={theme.textOnPrimary} />
746
759
  ) : (
747
- <SendIcon color={filled ? '#FFFFFF' : '#D4D4D8'} />
760
+ <SendIcon
761
+ color={filled ? theme.textOnPrimary : theme.textMuted}
762
+ />
748
763
  )
749
764
  }
750
765
  style={{
@@ -11,7 +11,7 @@ export const ChatContainer = styled.View`
11
11
  flex-direction: column;
12
12
  flex: 1;
13
13
  width: 100%;
14
- background-color: #ffffff;
14
+ background-color: ${({ theme }) => theme.surface};
15
15
  `;
16
16
 
17
17
  export const ThreadContainer = styled.View`
@@ -19,20 +19,20 @@ export const ThreadContainer = styled.View`
19
19
  justify-content: space-between;
20
20
  flex: 1;
21
21
  width: 100%;
22
- background-color: #ffffff;
22
+ background-color: ${({ theme }) => theme.surface};
23
23
  `;
24
24
 
25
25
  export const ChatContainerHeader = styled.View`
26
26
  flex-direction: row;
27
27
  padding: 12px 16px;
28
- background-color: #ffffff;
28
+ background-color: ${({ theme }) => theme.surface};
29
29
  align-items: center;
30
30
  justify-content: space-between;
31
31
  /* Rounded bottom corners + a soft drop shadow instead of the hairline
32
32
  * rule, so the header reads as a card over the conversation. */
33
33
  border-bottom-left-radius: 20px;
34
34
  border-bottom-right-radius: 20px;
35
- shadow-color: #101828;
35
+ shadow-color: ${({ theme }) => theme.shadow};
36
36
  shadow-offset: 0px 4px;
37
37
  shadow-opacity: 0.06;
38
38
  shadow-radius: 12px;
@@ -88,7 +88,7 @@ export const ChatContainerHeaderLabel = styled.Text<{
88
88
  fontSize?: number;
89
89
  fontWeight?: string;
90
90
  }>`
91
- color: #141414;
91
+ color: ${({ theme }) => theme.text};
92
92
  font-weight: ${({ fontWeight }) => fontWeight ?? 600};
93
93
  font-size: ${({ fontSize }) => fontSize ?? 16}px;
94
94
  text-align: left;
@@ -102,14 +102,14 @@ export const NonRoomChat = styled.View`
102
102
  width: 100%;
103
103
  align-items: center;
104
104
  justify-content: center;
105
- background-color: #fff;
105
+ background-color: ${({ theme }) => theme.surface};
106
106
  flex-direction: column;
107
107
  gap: 16px;
108
108
  `;
109
109
 
110
110
  export const MessagesScroll = styled.ScrollView`
111
111
  flex: 1;
112
- background-color: #f3f6fc;
112
+ background-color: ${({ theme }) => theme.chatBackground};
113
113
  padding: 0px 16px;
114
114
  `;
115
115
 
@@ -121,12 +121,19 @@ export const MessagesList = styled.View`
121
121
 
122
122
  export const MessageTimestamp = styled.Text`
123
123
  font-size: 12px;
124
- color: #999;
124
+ color: ${({ theme }) => theme.textMuted};
125
125
  margin-bottom: 5px;
126
126
  `;
127
127
 
128
128
  export const Message = styled.View<{ isUser: boolean }>`
129
- background-color: ${(props) => (props.isUser ? '#e8eafd' : '#f3f6fc')};
129
+ background-color: ${({ isUser, theme }) =>
130
+ theme.dark
131
+ ? isUser
132
+ ? theme.messageBackgroundUser
133
+ : theme.messageBackground
134
+ : isUser
135
+ ? '#e8eafd'
136
+ : '#f3f6fc'};
130
137
  padding: 10px;
131
138
  margin: 10px 0;
132
139
  border-radius: 8px;
@@ -137,17 +144,17 @@ export const Message = styled.View<{ isUser: boolean }>`
137
144
 
138
145
  export const MessageText = styled.Text`
139
146
  margin: 0;
140
- color: #141414;
147
+ color: ${({ theme }) => theme.text};
141
148
  `;
142
149
 
143
150
  export const UserName = styled.Text`
144
151
  font-weight: bold;
145
- color: #141414;
152
+ color: ${({ theme }) => theme.text};
146
153
  `;
147
154
 
148
155
  // Input Components
149
156
  export const InputContainer = styled.View`
150
- background-color: #ffffff;
157
+ background-color: ${({ theme }) => theme.surface};
151
158
  flex-direction: row;
152
159
  gap: 5px;
153
160
  padding: 8px;
@@ -158,9 +165,9 @@ export const InputContainer = styled.View`
158
165
  export const MessageInput = styled.TextInput`
159
166
  padding: 10px;
160
167
  border-radius: 8px;
161
- border: 1px solid #e5e7eb;
162
- background-color: #f5f7f9;
163
- color: #141414;
168
+ border: 1px solid ${({ theme }) => theme.border};
169
+ background-color: ${({ theme }) => theme.surfaceSecondary};
170
+ color: ${({ theme }) => theme.text};
164
171
  `;
165
172
 
166
173
  export const IconButton = styled.TouchableOpacity`
@@ -171,14 +178,14 @@ export const IconButton = styled.TouchableOpacity`
171
178
  export const SendButton = styled.TouchableOpacity`
172
179
  padding: 10px 20px;
173
180
  border-radius: 8px;
174
- background-color: #007bff;
181
+ background-color: ${({ theme }) => theme.primary};
175
182
  box-shadow: 1px -1px 10px rgba(0, 0, 0, 0.25);
176
183
  justify-content: center;
177
184
  align-items: center;
178
185
  `;
179
186
 
180
187
  export const SendButtonText = styled.Text`
181
- color: white;
188
+ color: ${({ theme }) => theme.textOnPrimary};
182
189
  `;
183
190
 
184
191
  // Avatar and Utility Components
@@ -234,7 +241,7 @@ export const Overlay = styled.View`
234
241
  left: 0;
235
242
  width: 100%;
236
243
  height: 100%;
237
- background-color: rgba(0, 0, 0, 0.3);
244
+ background-color: ${({ theme }) => theme.overlay};
238
245
  display: flex;
239
246
  align-items: center;
240
247
  justify-content: center;
@@ -247,8 +254,8 @@ export const CustomMessageText = styled.Text<{
247
254
  colorUser: string;
248
255
  }>`
249
256
  margin: 0px;
250
- color: ${({ color, isUser, colorUser }) =>
251
- isUser ? colorUser || '#000' : color || '#000'};
257
+ color: ${({ color, isUser, colorUser, theme }) =>
258
+ isUser ? colorUser || theme.messageTextUser : color || theme.messageText};
252
259
  `;
253
260
 
254
261
  export const FileInput = styled.TextInput`
@@ -271,13 +278,13 @@ export const OrDelimiter = styled.Text`
271
278
 
272
279
  export const OrDelimiterText = styled.Text`
273
280
  font-size: 14px;
274
- color: #999;
281
+ color: ${({ theme }) => theme.textMuted};
275
282
  `;
276
283
 
277
284
  export const Line = styled.View`
278
285
  width: 100%;
279
286
  height: 1px;
280
- background-color: #0052cd0d;
287
+ background-color: ${({ theme }) => theme.surfaceHighlight};
281
288
  `;
282
289
 
283
290
  export const AlsoCheckbox = styled.View<{ accentColor: string }>`
@@ -291,7 +298,7 @@ export const AlsoContainer = styled.TouchableOpacity`
291
298
  align-items: center;
292
299
  flex-direction: row;
293
300
  gap: 8px;
294
- background-color: #0052cd0d;
301
+ background-color: ${({ theme }) => theme.surfaceHighlight};
295
302
  font-size: 14px;
296
303
  padding: 10px 28px;
297
304
  text-align: start;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, Text, TextInput, StyleSheet } from 'react-native';
3
+ import { useTheme } from '../../hooks/useTheme';
3
4
 
4
5
  interface StyledInputProps {
5
6
  label?: string;
@@ -13,9 +14,12 @@ const InputWrapper = ({ children }: { children: React.ReactNode }) => {
13
14
  return <View style={styles.inputWrapper}>{children}</View>;
14
15
  };
15
16
 
16
- const Label = ({ children }: { children: React.ReactNode }) => (
17
- <Text style={styles.label}>{children}</Text>
18
- );
17
+ const Label = ({ children }: { children: React.ReactNode }) => {
18
+ const theme = useTheme();
19
+ return (
20
+ <Text style={[styles.label, { color: theme.textSecondary }]}>{children}</Text>
21
+ );
22
+ };
19
23
 
20
24
  const StyledInput = ({
21
25
  color,
@@ -23,18 +27,24 @@ const StyledInput = ({
23
27
  ...props
24
28
  }: { color?: string; error?: boolean } & React.ComponentProps<
25
29
  typeof TextInput
26
- >) => (
27
- <TextInput
28
- style={[
29
- styles.input,
30
- {
31
- borderColor: error ? 'red' : color || '#0052CD',
32
- backgroundColor: '#F5F7F9',
33
- },
34
- ]}
35
- {...props}
36
- />
37
- );
30
+ >) => {
31
+ const theme = useTheme();
32
+ return (
33
+ <TextInput
34
+ placeholderTextColor={theme.textMuted}
35
+ keyboardAppearance={theme.dark ? 'dark' : 'light'}
36
+ style={[
37
+ styles.input,
38
+ {
39
+ borderColor: error ? 'red' : color || theme.primary,
40
+ backgroundColor: theme.surfaceSecondary,
41
+ color: theme.text,
42
+ },
43
+ ]}
44
+ {...props}
45
+ />
46
+ );
47
+ };
38
48
 
39
49
  const HelperText = ({
40
50
  children,
@@ -42,11 +52,16 @@ const HelperText = ({
42
52
  }: {
43
53
  children: React.ReactNode;
44
54
  error?: boolean;
45
- }) => (
46
- <Text style={[styles.helperText, { color: error ? 'red' : '#8c8c8c' }]}>
47
- {children}
48
- </Text>
49
- );
55
+ }) => {
56
+ const theme = useTheme();
57
+ return (
58
+ <Text
59
+ style={[styles.helperText, { color: error ? 'red' : theme.textSecondary }]}
60
+ >
61
+ {children}
62
+ </Text>
63
+ );
64
+ };
50
65
 
51
66
  const InputWithLabel: React.FC<StyledInputProps> = ({
52
67
  label,
@@ -77,7 +92,6 @@ const styles = StyleSheet.create({
77
92
  },
78
93
  label: {
79
94
  fontSize: 14,
80
- color: '#8c8c8c',
81
95
  marginBottom: 4,
82
96
  marginLeft: 8,
83
97
  },
@@ -54,7 +54,7 @@ const BaseWrapper = styled.View<{ $position: NonNullable<CustomTypingIndicatorPr
54
54
  /* основная типографика */
55
55
  /* (цвета текста задаём на текстовых нодах) */
56
56
 
57
- ${({ $position }) => {
57
+ ${({ $position, theme }) => {
58
58
  switch ($position) {
59
59
  case 'top':
60
60
  return css`
@@ -62,11 +62,11 @@ const BaseWrapper = styled.View<{ $position: NonNullable<CustomTypingIndicatorPr
62
62
  top: 8px;
63
63
  left: 16px;
64
64
  right: 16px;
65
- background-color: rgba(255, 255, 255, 0.95);
65
+ background-color: ${theme.surface};
66
66
  padding: 8px 12px;
67
67
  border-radius: 8px;
68
68
  /* тени (iOS/Android) */
69
- shadow-color: #000;
69
+ shadow-color: ${theme.shadow};
70
70
  shadow-opacity: 0.1;
71
71
  shadow-radius: 8px;
72
72
  shadow-offset: 0px 2px;
@@ -79,7 +79,7 @@ const BaseWrapper = styled.View<{ $position: NonNullable<CustomTypingIndicatorPr
79
79
  top: 0; left: 0; right: 0; bottom: 0;
80
80
  align-items: center;
81
81
  justify-content: center;
82
- background-color: rgba(0, 0, 0, 0.4); /* лёгкая вуаль */
82
+ background-color: ${theme.overlay}; /* лёгкая вуаль */
83
83
  padding: 16px 24px;
84
84
  `;
85
85
  case 'floating':
@@ -87,10 +87,10 @@ const BaseWrapper = styled.View<{ $position: NonNullable<CustomTypingIndicatorPr
87
87
  position: absolute;
88
88
  right: 20px;
89
89
  bottom: 80px;
90
- background-color: rgba(255, 255, 255, 0.95);
90
+ background-color: ${theme.surface};
91
91
  padding: 12px 16px;
92
92
  border-radius: 20px;
93
- shadow-color: #000;
93
+ shadow-color: ${theme.shadow};
94
94
  shadow-opacity: 0.15;
95
95
  shadow-radius: 12px;
96
96
  shadow-offset: 0px 4px;
@@ -110,7 +110,7 @@ const Label = styled.Text`
110
110
  margin-right: 8px;
111
111
  font-weight: 500;
112
112
  font-size: 14px;
113
- color: #555;
113
+ color: ${({ theme }) => theme.textSecondary};
114
114
  `;
115
115
 
116
116
  const DotsRow = styled.View`
@@ -195,7 +195,7 @@ const DotView = styled(Animated.View)`
195
195
  width: 6px;
196
196
  height: 6px;
197
197
  border-radius: 3px;
198
- background-color: #666;
198
+ background-color: ${({ theme }) => theme.textSecondary};
199
199
  margin-right: 2px;
200
200
  `;
201
201
 
@@ -59,9 +59,19 @@ export const UnsupportedContainer = styled.TouchableOpacity<{ isUser?: boolean }
59
59
  margin: 8px;
60
60
  cursor: pointer;
61
61
  gap: 8px;
62
- background-color: ${({ isUser }) => (isUser ? '#EDF5FF' : '#F7F9FC')};
62
+ /* Light keeps its own tints (not in the palette); dark sits the card on
63
+ the bubble colours so it reads on a dark ground. */
64
+ background-color: ${({ isUser, theme }) =>
65
+ theme.dark
66
+ ? isUser
67
+ ? theme.messageBackgroundUser
68
+ : theme.surfaceSecondary
69
+ : isUser
70
+ ? '#EDF5FF'
71
+ : '#F7F9FC'};
63
72
  border-width: 1px;
64
- border-color: ${({ isUser }) => (isUser ? '#D7E6FF' : '#E7ECF3')};
73
+ border-color: ${({ isUser, theme }) =>
74
+ theme.dark ? theme.border : isUser ? '#D7E6FF' : '#E7ECF3'};
65
75
  min-width: 196px;
66
76
  max-width: 260px;
67
77
  `;
@@ -71,7 +81,8 @@ export const BackgroundFile = styled.View`
71
81
  height: 54px;
72
82
  align-items: center;
73
83
  justify-content: center;
74
- background-color: #F3EAFB;
84
+ background-color: ${({ theme }) =>
85
+ theme.dark ? theme.surfaceHighlight : '#F3EAFB'};
75
86
  border-radius: 10px;
76
87
  `;
77
88
 
@@ -90,20 +101,22 @@ export const FileName = styled.Text<{
90
101
  font-size: 14px;
91
102
  font-weight: 600;
92
103
  flex-shrink: 1;
93
- color: ${({ isUser, colorIsUser }) =>
94
- isUser ? colorIsUser || '#1D4ED8' : '#1F2937'};
104
+ color: ${({ isUser, colorIsUser, theme }) =>
105
+ isUser
106
+ ? colorIsUser || (theme.dark ? theme.senderName : '#1D4ED8')
107
+ : theme.text};
95
108
  `;
96
109
 
97
110
  export const FileSizeContainer = styled.View`
98
111
  align-items: flex-start;
99
112
  flex-direction: row;
100
- background-color: #FFFFFF;
113
+ background-color: ${({ theme }) => theme.surface};
101
114
  padding: 3px 8px;
102
115
  border-radius: 999px;
103
116
  `;
104
117
 
105
118
  export const FileSize = styled.Text`
106
- color: #667085;
119
+ color: ${({ theme }) => (theme.dark ? theme.textSecondary : '#667085')};
107
120
  overflow: hidden;
108
121
  text-align: left;
109
122
  font-size: 12px;