@ethora/chat-component-rn 26.8.2 → 26.8.4

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 (547) hide show
  1. package/CHANGELOG.md +18 -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 +61 -7
  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 +145 -9
  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/helpers/preferencesStorage.js +44 -0
  142. package/lib/commonjs/helpers/preferencesStorage.js.map +1 -0
  143. package/lib/commonjs/hooks/useCustomTypingIndicator.js +7 -3
  144. package/lib/commonjs/hooks/useCustomTypingIndicator.js.map +1 -1
  145. package/lib/commonjs/hooks/useLogout.js +10 -3
  146. package/lib/commonjs/hooks/useLogout.js.map +1 -1
  147. package/lib/commonjs/hooks/useTheme.js +35 -0
  148. package/lib/commonjs/hooks/useTheme.js.map +1 -0
  149. package/lib/commonjs/i18n/strings.js +60 -0
  150. package/lib/commonjs/i18n/strings.js.map +1 -1
  151. package/lib/commonjs/main.js +88 -0
  152. package/lib/commonjs/main.js.map +1 -1
  153. package/lib/commonjs/networking/api-requests/push.api.js +130 -45
  154. package/lib/commonjs/networking/api-requests/push.api.js.map +1 -1
  155. package/lib/commonjs/networking/api-requests/rooms.api.js +13 -0
  156. package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
  157. package/lib/commonjs/roomStore/chatSettingsSlice.js +17 -4
  158. package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
  159. package/lib/commonjs/services/pushRegistration.js +261 -0
  160. package/lib/commonjs/services/pushRegistration.js.map +1 -0
  161. package/lib/commonjs/services/pushSubscriptionService.js +0 -24
  162. package/lib/commonjs/services/pushSubscriptionService.js.map +1 -1
  163. package/lib/commonjs/theme/index.js +38 -0
  164. package/lib/commonjs/theme/index.js.map +1 -0
  165. package/lib/commonjs/theme/styled.d.js +4 -0
  166. package/lib/commonjs/theme/styled.d.js.map +1 -0
  167. package/lib/commonjs/theme/theme.js +161 -0
  168. package/lib/commonjs/theme/theme.js.map +1 -0
  169. package/lib/commonjs/version.js +1 -1
  170. package/lib/module/assets/EmptyChatIllustration.js +7 -6
  171. package/lib/module/assets/EmptyChatIllustration.js.map +1 -1
  172. package/lib/module/assets/icons.js +1 -1
  173. package/lib/module/assets/icons.js.map +1 -1
  174. package/lib/module/components/AuthForms/Login.js +23 -8
  175. package/lib/module/components/AuthForms/Login.js.map +1 -1
  176. package/lib/module/components/ContextMenu/ContextMenuComponents.js +12 -4
  177. package/lib/module/components/ContextMenu/ContextMenuComponents.js.map +1 -1
  178. package/lib/module/components/DropdownMenu/DropdownMenu.js +16 -9
  179. package/lib/module/components/DropdownMenu/DropdownMenu.js.map +1 -1
  180. package/lib/module/components/ExampleComponents/CustomMessage.js +25 -7
  181. package/lib/module/components/ExampleComponents/CustomMessage.js.map +1 -1
  182. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js +18 -6
  183. package/lib/module/components/ExampleComponents/CustomTypingIndicatorExamples.js.map +1 -1
  184. package/lib/module/components/Header/HeaderRoomList.js +9 -6
  185. package/lib/module/components/Header/HeaderRoomList.js.map +1 -1
  186. package/lib/module/components/InputComponents/Search.js +13 -4
  187. package/lib/module/components/InputComponents/Search.js.map +1 -1
  188. package/lib/module/components/MainComponents/ChatHeader.js +9 -3
  189. package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
  190. package/lib/module/components/MainComponents/ChatRoom.js +6 -3
  191. package/lib/module/components/MainComponents/ChatRoom.js.map +1 -1
  192. package/lib/module/components/MainComponents/ChatWrapper.js +8 -6
  193. package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
  194. package/lib/module/components/MainComponents/LanguageSelectorModal.js +37 -10
  195. package/lib/module/components/MainComponents/LanguageSelectorModal.js.map +1 -1
  196. package/lib/module/components/MainComponents/MediaMessage.js +42 -19
  197. package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
  198. package/lib/module/components/MainComponents/MessageList.js +9 -3
  199. package/lib/module/components/MainComponents/MessageList.js.map +1 -1
  200. package/lib/module/components/MainComponents/RNStyled.js +12 -4
  201. package/lib/module/components/MainComponents/RNStyled.js.map +1 -1
  202. package/lib/module/components/MainComponents/ReduxWrapper.js +64 -10
  203. package/lib/module/components/MainComponents/ReduxWrapper.js.map +1 -1
  204. package/lib/module/components/MainComponents/RoomList.js +12 -9
  205. package/lib/module/components/MainComponents/RoomList.js.map +1 -1
  206. package/lib/module/components/MainComponents/Select.js +29 -8
  207. package/lib/module/components/MainComponents/Select.js.map +1 -1
  208. package/lib/module/components/Menu/HeaderRoomListMenu.js +24 -13
  209. package/lib/module/components/Menu/HeaderRoomListMenu.js.map +1 -1
  210. package/lib/module/components/MessageBubble/BottomReplyContainer.js +24 -8
  211. package/lib/module/components/MessageBubble/BottomReplyContainer.js.map +1 -1
  212. package/lib/module/components/MessageBubble/Message.js +47 -25
  213. package/lib/module/components/MessageBubble/Message.js.map +1 -1
  214. package/lib/module/components/MessageBubble/MessageInteractions.js +15 -4
  215. package/lib/module/components/MessageBubble/MessageInteractions.js.map +1 -1
  216. package/lib/module/components/MessageBubble/MessageReaction.js +10 -5
  217. package/lib/module/components/MessageBubble/MessageReaction.js.map +1 -1
  218. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js +2 -6
  219. package/lib/module/components/Modals/AddMembersModal/AddMembersModal.js.map +1 -1
  220. package/lib/module/components/Modals/AttachSheet/AttachSheet.js +42 -27
  221. package/lib/module/components/Modals/AttachSheet/AttachSheet.js.map +1 -1
  222. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +79 -26
  223. package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
  224. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js +6 -8
  225. package/lib/module/components/Modals/ChatProfileModal/DeleteChatModal.js.map +1 -1
  226. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js +18 -16
  227. package/lib/module/components/Modals/ChatProfileModal/ReportChatModal.js.map +1 -1
  228. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +20 -9
  229. package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
  230. package/lib/module/components/Modals/ModalHeaderComponent.js +8 -2
  231. package/lib/module/components/Modals/ModalHeaderComponent.js.map +1 -1
  232. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js +10 -10
  233. package/lib/module/components/Modals/ModalWrapper/ModalWrapper.js.map +1 -1
  234. package/lib/module/components/Modals/NewChatModal/ModalContent.js +2 -6
  235. package/lib/module/components/Modals/NewChatModal/ModalContent.js.map +1 -1
  236. package/lib/module/components/Modals/NewChatModal/NewChatModal.js +18 -15
  237. package/lib/module/components/Modals/NewChatModal/NewChatModal.js.map +1 -1
  238. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js +14 -9
  239. package/lib/module/components/Modals/ProfileHeader/ProfileMenu.js.map +1 -1
  240. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js +4 -8
  241. package/lib/module/components/Modals/SelectUsersModal/SelectUsersModal.js.map +1 -1
  242. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js +8 -6
  243. package/lib/module/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.js.map +1 -1
  244. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js +7 -2
  245. package/lib/module/components/Modals/SettingsModals/Referrals/Referrals.js.map +1 -1
  246. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js +7 -3
  247. package/lib/module/components/Modals/SettingsModals/SharedStyledComponents.js.map +1 -1
  248. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js +10 -6
  249. package/lib/module/components/Modals/SettingsModals/Visibility/RadioInput.js.map +1 -1
  250. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js +7 -6
  251. package/lib/module/components/Modals/SettingsModals/Visibility/VisibilityModal.js.map +1 -1
  252. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js +3 -2
  253. package/lib/module/components/Modals/UserProfileModal/EditUserModal.js.map +1 -1
  254. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +18 -15
  255. package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
  256. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js +148 -12
  257. package/lib/module/components/Modals/UserSettingsModal/UserSettingsModal.js.map +1 -1
  258. package/lib/module/components/Modals/styledModalComponents.js +59 -15
  259. package/lib/module/components/Modals/styledModalComponents.js.map +1 -1
  260. package/lib/module/components/RoomComponents/ChatRoomItem.js +16 -10
  261. package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
  262. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js +6 -2
  263. package/lib/module/components/RoomComponents/styled/LastAudioMessage.js.map +1 -1
  264. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js +6 -0
  265. package/lib/module/components/RoomComponents/styled/StyledRoomComponents.js.map +1 -1
  266. package/lib/module/components/Thread/ThreadWrapper.js +9 -2
  267. package/lib/module/components/Thread/ThreadWrapper.js.map +1 -1
  268. package/lib/module/components/Toast/Toast.js +3 -1
  269. package/lib/module/components/Toast/Toast.js.map +1 -1
  270. package/lib/module/components/styled/AudioMessage.js +16 -11
  271. package/lib/module/components/styled/AudioMessage.js.map +1 -1
  272. package/lib/module/components/styled/Button.js +17 -9
  273. package/lib/module/components/styled/Button.js.map +1 -1
  274. package/lib/module/components/styled/DateLabel.js +8 -5
  275. package/lib/module/components/styled/DateLabel.js.map +1 -1
  276. package/lib/module/components/styled/MediaModal.js +29 -23
  277. package/lib/module/components/styled/MediaModal.js.map +1 -1
  278. package/lib/module/components/styled/RoomListComponents/index.js +62 -39
  279. package/lib/module/components/styled/RoomListComponents/index.js.map +1 -1
  280. package/lib/module/components/styled/SendInput.js +13 -8
  281. package/lib/module/components/styled/SendInput.js.map +1 -1
  282. package/lib/module/components/styled/StyledComponents.js +67 -23
  283. package/lib/module/components/styled/StyledComponents.js.map +1 -1
  284. package/lib/module/components/styled/StyledInput.js +32 -18
  285. package/lib/module/components/styled/StyledInput.js.map +1 -1
  286. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js +13 -8
  287. package/lib/module/components/styled/StyledInputComponents/CustomTypingIndicator.js.map +1 -1
  288. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js +20 -9
  289. package/lib/module/components/styled/StyledInputComponents/MediaComponents.js.map +1 -1
  290. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js +39 -18
  291. package/lib/module/components/styled/StyledInputComponents/StyledInputComponents.js.map +1 -1
  292. package/lib/module/components/styled/TreadLabel.js +6 -3
  293. package/lib/module/components/styled/TreadLabel.js.map +1 -1
  294. package/lib/module/context/MessageNotificationContext.js +14 -3
  295. package/lib/module/context/MessageNotificationContext.js.map +1 -1
  296. package/lib/module/helpers/getChatBackground.js +5 -1
  297. package/lib/module/helpers/getChatBackground.js.map +1 -1
  298. package/lib/module/helpers/getDateLabelColor.js +4 -1
  299. package/lib/module/helpers/getDateLabelColor.js.map +1 -1
  300. package/lib/module/helpers/getIconColor.js +5 -1
  301. package/lib/module/helpers/getIconColor.js.map +1 -1
  302. package/lib/module/helpers/getSenderNameColor.js +4 -1
  303. package/lib/module/helpers/getSenderNameColor.js.map +1 -1
  304. package/lib/module/helpers/markdownParser.js +27 -5
  305. package/lib/module/helpers/markdownParser.js.map +1 -1
  306. package/lib/module/helpers/parseMessageBody.js +82 -24
  307. package/lib/module/helpers/parseMessageBody.js.map +1 -1
  308. package/lib/module/helpers/preferencesStorage.js +36 -0
  309. package/lib/module/helpers/preferencesStorage.js.map +1 -0
  310. package/lib/module/hooks/useCustomTypingIndicator.js +8 -3
  311. package/lib/module/hooks/useCustomTypingIndicator.js.map +1 -1
  312. package/lib/module/hooks/useLogout.js +10 -3
  313. package/lib/module/hooks/useLogout.js.map +1 -1
  314. package/lib/module/hooks/useTheme.js +30 -0
  315. package/lib/module/hooks/useTheme.js.map +1 -0
  316. package/lib/module/i18n/strings.js +60 -0
  317. package/lib/module/i18n/strings.js.map +1 -1
  318. package/lib/module/main.js +4 -0
  319. package/lib/module/main.js.map +1 -1
  320. package/lib/module/networking/api-requests/push.api.js +119 -45
  321. package/lib/module/networking/api-requests/push.api.js.map +1 -1
  322. package/lib/module/networking/api-requests/rooms.api.js +12 -0
  323. package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
  324. package/lib/module/roomStore/chatSettingsSlice.js +14 -3
  325. package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
  326. package/lib/module/services/pushRegistration.js +250 -0
  327. package/lib/module/services/pushRegistration.js.map +1 -0
  328. package/lib/module/services/pushSubscriptionService.js +0 -24
  329. package/lib/module/services/pushSubscriptionService.js.map +1 -1
  330. package/lib/module/theme/index.js +7 -0
  331. package/lib/module/theme/index.js.map +1 -0
  332. package/lib/module/theme/styled.d.js +6 -0
  333. package/lib/module/theme/styled.d.js.map +1 -0
  334. package/lib/module/theme/theme.js +156 -0
  335. package/lib/module/theme/theme.js.map +1 -0
  336. package/lib/module/version.js +1 -1
  337. package/lib/typescript/assets/EmptyChatIllustration.d.ts +1 -0
  338. package/lib/typescript/assets/EmptyChatIllustration.d.ts.map +1 -1
  339. package/lib/typescript/assets/icons.d.ts +8 -0
  340. package/lib/typescript/assets/icons.d.ts.map +1 -1
  341. package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
  342. package/lib/typescript/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  343. package/lib/typescript/components/ExampleComponents/CustomMessage.d.ts.map +1 -1
  344. package/lib/typescript/components/Header/HeaderRoomList.d.ts.map +1 -1
  345. package/lib/typescript/components/InputComponents/Search.d.ts.map +1 -1
  346. package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
  347. package/lib/typescript/components/MainComponents/ChatRoom.d.ts.map +1 -1
  348. package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
  349. package/lib/typescript/components/MainComponents/LanguageSelectorModal.d.ts.map +1 -1
  350. package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
  351. package/lib/typescript/components/MainComponents/MessageList.d.ts.map +1 -1
  352. package/lib/typescript/components/MainComponents/ReduxWrapper.d.ts.map +1 -1
  353. package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
  354. package/lib/typescript/components/MainComponents/Select.d.ts.map +1 -1
  355. package/lib/typescript/components/Menu/HeaderRoomListMenu.d.ts.map +1 -1
  356. package/lib/typescript/components/MessageBubble/BottomReplyContainer.d.ts.map +1 -1
  357. package/lib/typescript/components/MessageBubble/Message.d.ts.map +1 -1
  358. package/lib/typescript/components/MessageBubble/MessageInteractions.d.ts.map +1 -1
  359. package/lib/typescript/components/MessageBubble/MessageReaction.d.ts.map +1 -1
  360. package/lib/typescript/components/Modals/AttachSheet/AttachSheet.d.ts.map +1 -1
  361. package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
  362. package/lib/typescript/components/Modals/ChatProfileModal/DeleteChatModal.d.ts.map +1 -1
  363. package/lib/typescript/components/Modals/ChatProfileModal/ReportChatModal.d.ts.map +1 -1
  364. package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
  365. package/lib/typescript/components/Modals/ModalHeaderComponent.d.ts.map +1 -1
  366. package/lib/typescript/components/Modals/ModalWrapper/ModalWrapper.d.ts.map +1 -1
  367. package/lib/typescript/components/Modals/NewChatModal/ModalContent.d.ts.map +1 -1
  368. package/lib/typescript/components/Modals/NewChatModal/NewChatModal.d.ts.map +1 -1
  369. package/lib/typescript/components/Modals/ProfileHeader/ProfileMenu.d.ts.map +1 -1
  370. package/lib/typescript/components/Modals/SelectUsersModal/SelectUsersModal.d.ts.map +1 -1
  371. package/lib/typescript/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.d.ts.map +1 -1
  372. package/lib/typescript/components/Modals/SettingsModals/Referrals/Referrals.d.ts.map +1 -1
  373. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts +2 -2
  374. package/lib/typescript/components/Modals/SettingsModals/SharedStyledComponents.d.ts.map +1 -1
  375. package/lib/typescript/components/Modals/SettingsModals/Visibility/RadioInput.d.ts.map +1 -1
  376. package/lib/typescript/components/Modals/SettingsModals/Visibility/VisibilityModal.d.ts.map +1 -1
  377. package/lib/typescript/components/Modals/UserProfileModal/EditUserModal.d.ts.map +1 -1
  378. package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
  379. package/lib/typescript/components/Modals/UserSettingsModal/UserSettingsModal.d.ts.map +1 -1
  380. package/lib/typescript/components/Modals/styledModalComponents.d.ts +2 -0
  381. package/lib/typescript/components/Modals/styledModalComponents.d.ts.map +1 -1
  382. package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
  383. package/lib/typescript/components/RoomComponents/styled/LastAudioMessage.d.ts.map +1 -1
  384. package/lib/typescript/components/RoomComponents/styled/StyledRoomComponents.d.ts.map +1 -1
  385. package/lib/typescript/components/Thread/ThreadWrapper.d.ts.map +1 -1
  386. package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
  387. package/lib/typescript/components/styled/Button.d.ts.map +1 -1
  388. package/lib/typescript/components/styled/DateLabel.d.ts.map +1 -1
  389. package/lib/typescript/components/styled/MediaModal.d.ts +2 -2
  390. package/lib/typescript/components/styled/MediaModal.d.ts.map +1 -1
  391. package/lib/typescript/components/styled/RoomListComponents/index.d.ts.map +1 -1
  392. package/lib/typescript/components/styled/SendInput.d.ts.map +1 -1
  393. package/lib/typescript/components/styled/StyledComponents.d.ts.map +1 -1
  394. package/lib/typescript/components/styled/StyledInput.d.ts.map +1 -1
  395. package/lib/typescript/components/styled/StyledInputComponents/MediaComponents.d.ts.map +1 -1
  396. package/lib/typescript/components/styled/StyledInputComponents/StyledInputComponents.d.ts.map +1 -1
  397. package/lib/typescript/components/styled/TreadLabel.d.ts.map +1 -1
  398. package/lib/typescript/context/MessageNotificationContext.d.ts.map +1 -1
  399. package/lib/typescript/helpers/getAvatarColor.d.ts +1 -1
  400. package/lib/typescript/helpers/getChatBackground.d.ts.map +1 -1
  401. package/lib/typescript/helpers/getDateLabelColor.d.ts +3 -7
  402. package/lib/typescript/helpers/getDateLabelColor.d.ts.map +1 -1
  403. package/lib/typescript/helpers/getIconColor.d.ts +4 -7
  404. package/lib/typescript/helpers/getIconColor.d.ts.map +1 -1
  405. package/lib/typescript/helpers/getSenderNameColor.d.ts +3 -7
  406. package/lib/typescript/helpers/getSenderNameColor.d.ts.map +1 -1
  407. package/lib/typescript/helpers/markdownParser.d.ts +8 -1
  408. package/lib/typescript/helpers/markdownParser.d.ts.map +1 -1
  409. package/lib/typescript/helpers/parseMessageBody.d.ts +8 -1
  410. package/lib/typescript/helpers/parseMessageBody.d.ts.map +1 -1
  411. package/lib/typescript/helpers/preferencesStorage.d.ts +11 -0
  412. package/lib/typescript/helpers/preferencesStorage.d.ts.map +1 -0
  413. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts +2 -0
  414. package/lib/typescript/hooks/useCustomTypingIndicator.d.ts.map +1 -1
  415. package/lib/typescript/hooks/useLogout.d.ts.map +1 -1
  416. package/lib/typescript/hooks/useTheme.d.ts +16 -0
  417. package/lib/typescript/hooks/useTheme.d.ts.map +1 -0
  418. package/lib/typescript/i18n/strings.d.ts.map +1 -1
  419. package/lib/typescript/main.d.ts +9 -0
  420. package/lib/typescript/main.d.ts.map +1 -1
  421. package/lib/typescript/networking/api-requests/push.api.d.ts +46 -3
  422. package/lib/typescript/networking/api-requests/push.api.d.ts.map +1 -1
  423. package/lib/typescript/networking/api-requests/rooms.api.d.ts +1 -0
  424. package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
  425. package/lib/typescript/roomStore/chatSettingsSlice.d.ts +12 -1
  426. package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
  427. package/lib/typescript/services/pushRegistration.d.ts +21 -0
  428. package/lib/typescript/services/pushRegistration.d.ts.map +1 -0
  429. package/lib/typescript/services/pushSubscriptionService.d.ts +0 -4
  430. package/lib/typescript/services/pushSubscriptionService.d.ts.map +1 -1
  431. package/lib/typescript/theme/index.d.ts +5 -0
  432. package/lib/typescript/theme/index.d.ts.map +1 -0
  433. package/lib/typescript/theme/theme.d.ts +127 -0
  434. package/lib/typescript/theme/theme.d.ts.map +1 -0
  435. package/lib/typescript/types/models/room.model.d.ts +1 -0
  436. package/lib/typescript/types/models/room.model.d.ts.map +1 -1
  437. package/lib/typescript/types/types.d.ts +42 -0
  438. package/lib/typescript/types/types.d.ts.map +1 -1
  439. package/lib/typescript/version.d.ts +1 -1
  440. package/package.json +2 -2
  441. package/src/assets/EmptyChatIllustration.tsx +7 -5
  442. package/src/assets/icons.tsx +24 -0
  443. package/src/components/AuthForms/Login.tsx +11 -9
  444. package/src/components/ContextMenu/ContextMenuComponents.tsx +4 -4
  445. package/src/components/DropdownMenu/DropdownMenu.tsx +14 -6
  446. package/src/components/ExampleComponents/CustomMessage.tsx +9 -8
  447. package/src/components/ExampleComponents/CustomTypingIndicatorExamples.tsx +6 -6
  448. package/src/components/Header/HeaderRoomList.tsx +11 -6
  449. package/src/components/InputComponents/Search.tsx +7 -4
  450. package/src/components/MainComponents/ChatHeader.tsx +9 -3
  451. package/src/components/MainComponents/ChatRoom.tsx +5 -2
  452. package/src/components/MainComponents/ChatWrapper.tsx +8 -6
  453. package/src/components/MainComponents/LanguageSelectorModal.tsx +33 -7
  454. package/src/components/MainComponents/MediaMessage.tsx +37 -18
  455. package/src/components/MainComponents/MessageList.tsx +13 -3
  456. package/src/components/MainComponents/RNStyled.tsx +4 -4
  457. package/src/components/MainComponents/ReduxWrapper.tsx +67 -10
  458. package/src/components/MainComponents/RoomList.tsx +13 -7
  459. package/src/components/MainComponents/Select.tsx +13 -8
  460. package/src/components/Menu/HeaderRoomListMenu.tsx +30 -13
  461. package/src/components/MessageBubble/BottomReplyContainer.tsx +16 -11
  462. package/src/components/MessageBubble/Message.tsx +48 -25
  463. package/src/components/MessageBubble/MessageInteractions.tsx +17 -4
  464. package/src/components/MessageBubble/MessageReaction.tsx +9 -4
  465. package/src/components/Modals/AddMembersModal/AddMembersModal.tsx +2 -2
  466. package/src/components/Modals/AttachSheet/AttachSheet.tsx +57 -23
  467. package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +63 -25
  468. package/src/components/Modals/ChatProfileModal/DeleteChatModal.tsx +6 -4
  469. package/src/components/Modals/ChatProfileModal/ReportChatModal.tsx +18 -14
  470. package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +14 -9
  471. package/src/components/Modals/ModalHeaderComponent.tsx +9 -2
  472. package/src/components/Modals/ModalWrapper/ModalWrapper.tsx +14 -6
  473. package/src/components/Modals/NewChatModal/ModalContent.tsx +2 -2
  474. package/src/components/Modals/NewChatModal/NewChatModal.tsx +19 -15
  475. package/src/components/Modals/ProfileHeader/ProfileMenu.tsx +15 -8
  476. package/src/components/Modals/SelectUsersModal/SelectUsersModal.tsx +2 -3
  477. package/src/components/Modals/SettingsModals/ManageDataModal/ManageDataModal.tsx +8 -6
  478. package/src/components/Modals/SettingsModals/Referrals/Referrals.tsx +5 -3
  479. package/src/components/Modals/SettingsModals/SharedStyledComponents.ts +4 -4
  480. package/src/components/Modals/SettingsModals/Visibility/RadioInput.tsx +9 -5
  481. package/src/components/Modals/SettingsModals/Visibility/VisibilityModal.tsx +7 -7
  482. package/src/components/Modals/UserProfileModal/EditUserModal.tsx +3 -1
  483. package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +19 -15
  484. package/src/components/Modals/UserSettingsModal/UserSettingsModal.tsx +171 -9
  485. package/src/components/Modals/styledModalComponents.tsx +23 -15
  486. package/src/components/RoomComponents/ChatRoomItem.tsx +19 -10
  487. package/src/components/RoomComponents/styled/LastAudioMessage.tsx +4 -2
  488. package/src/components/RoomComponents/styled/StyledRoomComponents.ts +2 -0
  489. package/src/components/Thread/ThreadWrapper.tsx +6 -5
  490. package/src/components/Toast/Toast.tsx +1 -1
  491. package/src/components/styled/AudioMessage.tsx +12 -9
  492. package/src/components/styled/Button.tsx +15 -8
  493. package/src/components/styled/DateLabel.tsx +7 -3
  494. package/src/components/styled/MediaModal.tsx +30 -25
  495. package/src/components/styled/RoomListComponents/index.tsx +60 -35
  496. package/src/components/styled/SendInput.tsx +23 -8
  497. package/src/components/styled/StyledComponents.ts +30 -23
  498. package/src/components/styled/StyledInput.tsx +35 -21
  499. package/src/components/styled/StyledInputComponents/CustomTypingIndicator.tsx +8 -8
  500. package/src/components/styled/StyledInputComponents/MediaComponents.tsx +20 -7
  501. package/src/components/styled/StyledInputComponents/StyledInputComponents.tsx +15 -19
  502. package/src/components/styled/TreadLabel.tsx +9 -3
  503. package/src/context/MessageNotificationContext.tsx +18 -4
  504. package/src/helpers/getChatBackground.ts +3 -1
  505. package/src/helpers/getDateLabelColor.ts +5 -3
  506. package/src/helpers/getIconColor.ts +6 -3
  507. package/src/helpers/getSenderNameColor.ts +5 -3
  508. package/src/helpers/markdownParser.tsx +29 -5
  509. package/src/helpers/parseMessageBody.tsx +79 -26
  510. package/src/helpers/preferencesStorage.ts +40 -0
  511. package/src/hooks/useCustomTypingIndicator.tsx +7 -3
  512. package/src/hooks/useLogout.tsx +10 -3
  513. package/src/hooks/useTheme.ts +41 -0
  514. package/src/i18n/strings.ts +60 -0
  515. package/src/main.ts +33 -0
  516. package/src/networking/api-requests/push.api.ts +185 -62
  517. package/src/networking/api-requests/rooms.api.ts +9 -0
  518. package/src/roomStore/chatSettingsSlice.ts +24 -2
  519. package/src/services/pushRegistration.ts +369 -0
  520. package/src/services/pushSubscriptionService.ts +0 -34
  521. package/src/theme/index.ts +10 -0
  522. package/src/theme/styled.d.ts +9 -0
  523. package/src/theme/theme.ts +277 -0
  524. package/src/types/models/room.model.ts +1 -0
  525. package/src/types/types.ts +47 -0
  526. package/src/version.ts +1 -1
  527. package/lib/commonjs/context/PushNotificationProvider.js +0 -79
  528. package/lib/commonjs/context/PushNotificationProvider.js.map +0 -1
  529. package/lib/commonjs/hooks/usePushNotifications.js +0 -110
  530. package/lib/commonjs/hooks/usePushNotifications.js.map +0 -1
  531. package/lib/commonjs/services/pushNotifications.js +0 -143
  532. package/lib/commonjs/services/pushNotifications.js.map +0 -1
  533. package/lib/module/context/PushNotificationProvider.js +0 -79
  534. package/lib/module/context/PushNotificationProvider.js.map +0 -1
  535. package/lib/module/hooks/usePushNotifications.js +0 -106
  536. package/lib/module/hooks/usePushNotifications.js.map +0 -1
  537. package/lib/module/services/pushNotifications.js +0 -130
  538. package/lib/module/services/pushNotifications.js.map +0 -1
  539. package/lib/typescript/context/PushNotificationProvider.d.ts +0 -2
  540. package/lib/typescript/context/PushNotificationProvider.d.ts.map +0 -1
  541. package/lib/typescript/hooks/usePushNotifications.d.ts +0 -5
  542. package/lib/typescript/hooks/usePushNotifications.d.ts.map +0 -1
  543. package/lib/typescript/services/pushNotifications.d.ts +0 -10
  544. package/lib/typescript/services/pushNotifications.d.ts.map +0 -1
  545. package/src/context/PushNotificationProvider.tsx +0 -78
  546. package/src/hooks/usePushNotifications.ts +0 -131
  547. package/src/services/pushNotifications.ts +0 -170
@@ -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;
@@ -2,14 +2,9 @@
2
2
 
3
3
  import styled from 'styled-components/native';
4
4
 
5
- // Theme variables for reuse
6
- const colors = {
7
- primary: '#141414',
8
- secondary: '#f5f7f9',
9
- border: '#ccc',
10
- white: '#fff',
11
- black: '#000',
12
- };
5
+ // Colours come from the ThemeProvider mounted in ReduxWrapper
6
+ // (`({ theme }) => theme.x`); the light palette holds the values that
7
+ // used to be hard-coded here.
13
8
 
14
9
  export const InputContainer = styled.View<{ isText?: boolean }>`
15
10
  flex-direction: column;
@@ -58,12 +53,12 @@ export const MessageInput = styled.TextInput<{
58
53
  padding: 8px 14px;
59
54
  border-radius: 20px;
60
55
  border-width: 1px;
61
- border-color: ${(props) =>
62
- props.isFocused ? props.color || '#0052CD' : 'transparent'};
63
- color: #141414;
56
+ border-color: ${({ isFocused, color, theme }) =>
57
+ isFocused ? color || theme.primary : 'transparent'};
58
+ color: ${({ theme }) => theme.text};
64
59
  font-size: ${({ fontSize }) => fontSize ?? 16}px;
65
60
  ${({ fontWeight }) => (fontWeight ? `font-weight: ${fontWeight};` : '')}
66
- background-color: #f5f7f9;
61
+ background-color: ${({ theme }) => theme.surfaceSecondary};
67
62
  flex: 1;
68
63
  /* No explicit line-height: on iOS a line-height larger than the
69
64
  font's natural metrics drops the glyph to the bottom of the line
@@ -85,13 +80,13 @@ export const Timer = styled.Text`
85
80
  export const TimerText = styled.Text`
86
81
  font-size: 18px;
87
82
  font-weight: bold;
88
- color: ${colors.black};
83
+ color: ${({ theme }) => theme.text};
89
84
  `;
90
85
 
91
86
  export const WaveformContainer = styled.View`
92
87
  width: 100%;
93
88
  height: 40px;
94
- background-color: #f1f1f1;
89
+ background-color: ${({ theme }) => theme.surfaceSecondary};
95
90
  `;
96
91
 
97
92
  export const RecordContainer = styled.View`
@@ -114,9 +109,9 @@ export const FilePreview = styled.View`
114
109
  width: 100px;
115
110
  height: 100px;
116
111
  border-width: 1px;
117
- border-color: ${colors.border};
112
+ border-color: ${({ theme }) => theme.border};
118
113
  border-radius: 8px;
119
- background-color: #f9f9f9;
114
+ background-color: ${({ theme }) => theme.surfaceSecondary};
120
115
  overflow: hidden;
121
116
  `;
122
117
 
@@ -132,15 +127,16 @@ export const VideoPreview = styled.View`
132
127
 
133
128
  export const StyledInput = styled.TextInput`
134
129
  padding: 16px 12px;
135
- background-color: ${colors.secondary};
130
+ background-color: ${({ theme }) => theme.surfaceSecondary};
131
+ color: ${({ theme }) => theme.text};
136
132
  font-size: 16px;
137
133
  border-radius: 16px;
138
134
  `;
139
135
 
140
136
  export const TextareaInput = styled.TextInput`
141
137
  padding: 16px 12px;
142
- background-color: ${colors.secondary};
138
+ background-color: ${({ theme }) => theme.surfaceSecondary};
143
139
  font-size: 16px;
144
- color: ${colors.black};
140
+ color: ${({ theme }) => theme.text};
145
141
  border-radius: 16px;
146
142
  `;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import styled from 'styled-components/native';
3
+ import { useTheme } from '../../hooks/useTheme';
3
4
  import { Line } from './StyledComponents';
4
5
 
5
6
  interface DateLabelProps {
@@ -21,7 +22,7 @@ export const StyledDateLabel = styled.Text<{
21
22
  secondary?: string;
22
23
  }>`
23
24
  margin: 0;
24
- color: ${(props) => props.primary || '#0052cd'};
25
+ color: ${(props) => props.primary || props.theme.dateLabel};
25
26
  border-radius: 118px;
26
27
  padding: 5px 8px;
27
28
  display: flex;
@@ -30,16 +31,21 @@ export const StyledDateLabel = styled.Text<{
30
31
  font-size: 12px;
31
32
  line-height: 14px;
32
33
  font-weight: 600;
33
- background-color: ${(props) => props.secondary || '#e7edf9'};
34
+ background-color: ${(props) =>
35
+ props.theme.dark ? props.theme.surfaceSecondary : props.secondary || '#e7edf9'};
34
36
  height: 24px;
35
37
  white-space: nowrap;
36
38
  `;
37
39
 
38
40
  const TreadLabel: React.FC<DateLabelProps> = ({ reply, colors }) => {
41
+ const theme = useTheme();
39
42
  return (
40
43
  <Container>
41
44
  <Line />
42
- <StyledDateLabel {...colors}>
45
+ <StyledDateLabel
46
+ primary={theme.dark ? undefined : colors?.primary}
47
+ secondary={colors?.secondary}
48
+ >
43
49
  {reply} {reply > 1 ? 'replies' : 'reply'}
44
50
  </StyledDateLabel>
45
51
  <Line />
@@ -25,6 +25,7 @@ import { messageNotificationManager } from '../utils/messageNotificationManager'
25
25
  import { setCurrentRoom } from '../roomStore/roomsSlice';
26
26
  import { IConfig, IMessage } from '../types/types';
27
27
  import { RootState } from '../roomStore';
28
+ import { useTheme } from '../hooks/useTheme';
28
29
 
29
30
  interface ToastItem {
30
31
  id: string;
@@ -228,6 +229,7 @@ const ToastRow: React.FC<{
228
229
  onPress: () => void;
229
230
  onDismiss: () => void;
230
231
  }> = ({ item, onPress, onDismiss }) => {
232
+ const theme = useTheme();
231
233
  const fade = useRef(new Animated.Value(0)).current;
232
234
  useEffect(() => {
233
235
  Animated.timing(fade, {
@@ -238,17 +240,29 @@ const ToastRow: React.FC<{
238
240
  }, [fade]);
239
241
 
240
242
  return (
241
- <Animated.View style={[styles.toast, { opacity: fade }]}>
243
+ <Animated.View
244
+ style={[
245
+ styles.toast,
246
+ { backgroundColor: theme.surface, shadowColor: theme.shadow },
247
+ { opacity: fade },
248
+ ]}
249
+ >
242
250
  <Pressable style={styles.toastBody} onPress={onPress}>
243
- <Text style={styles.toastTitle} numberOfLines={1}>
251
+ <Text
252
+ style={[styles.toastTitle, { color: theme.text }]}
253
+ numberOfLines={1}
254
+ >
244
255
  {item.roomName}
245
256
  </Text>
246
- <Text style={styles.toastSubtitle} numberOfLines={2}>
257
+ <Text
258
+ style={[styles.toastSubtitle, { color: theme.textSecondary }]}
259
+ numberOfLines={2}
260
+ >
247
261
  {item.senderName}: {item.message?.body || ''}
248
262
  </Text>
249
263
  </Pressable>
250
264
  <Pressable onPress={onDismiss} style={styles.dismiss}>
251
- <Text style={styles.dismissText}>×</Text>
265
+ <Text style={[styles.dismissText, { color: theme.textMuted }]}>×</Text>
252
266
  </Pressable>
253
267
  </Animated.View>
254
268
  );
@@ -1,6 +1,7 @@
1
1
  /** @format */
2
2
 
3
3
  import type { IConfig } from '../types/types';
4
+ import { resolveTheme } from '../theme/theme';
4
5
 
5
6
  /** Ground behind the conversation, and behind the rounded corners of the
6
7
  * header and the composer that sit over it. */
@@ -15,4 +16,5 @@ export const DEFAULT_CHAT_BACKGROUND = '#F3F6FC';
15
16
  * white parent, not the conversation.
16
17
  */
17
18
  export const getChatBackgroundColor = (config?: IConfig): string =>
18
- config?.backgroundChat?.color || DEFAULT_CHAT_BACKGROUND;
19
+ // Theme-aware: dark mode ignores `backgroundChat.color` (see theme.ts).
20
+ resolveTheme(config).chatBackground;
@@ -1,3 +1,5 @@
1
- export const getDateLabelColor = (config?: {
2
- colors?: { primary?: string; secondary?: string; dateLabel?: string };
3
- }) => config?.colors?.dateLabel || config?.colors?.primary || '#0052CD';
1
+ import { resolveTheme, type ThemeConfigInput } from '../theme/theme';
2
+
3
+ /** Day-separator pill colour; theme-aware (see getIconColor). */
4
+ export const getDateLabelColor = (config?: ThemeConfigInput | null) =>
5
+ resolveTheme(config).dateLabel;
@@ -1,3 +1,6 @@
1
- export const getIconColor = (config?: {
2
- colors?: { primary?: string; secondary?: string; icon?: string };
3
- }) => config?.colors?.icon || config?.colors?.primary || '#0052CD';
1
+ import { resolveTheme, type ThemeConfigInput } from '../theme/theme';
2
+
3
+ /** Chrome icon tint (attach, mic/send, burger, back). Theme-aware: in dark
4
+ * mode it comes from `darkColors.icon` → `darkColors.primary` → default. */
5
+ export const getIconColor = (config?: ThemeConfigInput | null) =>
6
+ resolveTheme(config).icon;
@@ -1,3 +1,5 @@
1
- export const getSenderNameColor = (config?: {
2
- colors?: { primary?: string; secondary?: string; senderName?: string };
3
- }) => config?.colors?.senderName || config?.colors?.primary || '#0052CD';
1
+ import { resolveTheme, type ThemeConfigInput } from '../theme/theme';
2
+
3
+ /** Sender name colour above incoming bubbles; theme-aware (see getIconColor). */
4
+ export const getSenderNameColor = (config?: ThemeConfigInput | null) =>
5
+ resolveTheme(config).senderName;
@@ -1,9 +1,33 @@
1
1
  import React from 'react';
2
2
  import { Text, View, Linking, StyleSheet, TouchableOpacity } from 'react-native';
3
+ import type { ChatThemeColors } from '../theme/theme';
3
4
 
4
- export const MarkDown = (text: string): (string | JSX.Element)[] => {
5
+ /**
6
+ * Optional palette for the colour-bearing nodes (links, code grounds, quote
7
+ * rule). Helpers can't use hooks; callers pass the resolved theme. Omitted →
8
+ * the historical hard-coded colours, so existing output is unchanged.
9
+ */
10
+ export type MarkDownTheme = Pick<
11
+ ChatThemeColors,
12
+ 'primary' | 'surfaceSecondary' | 'border'
13
+ >;
14
+
15
+ export const MarkDown = (
16
+ text: string,
17
+ theme?: MarkDownTheme
18
+ ): (string | JSX.Element)[] => {
5
19
  if (typeof text !== 'string') {return [text];}
6
20
 
21
+ // Colour overrides layered over the static StyleSheet below.
22
+ const themed = theme
23
+ ? {
24
+ link: { color: theme.primary },
25
+ codeInline: { backgroundColor: theme.surfaceSecondary },
26
+ codeBlock: { backgroundColor: theme.surfaceSecondary },
27
+ quote: { borderLeftColor: theme.border },
28
+ }
29
+ : undefined;
30
+
7
31
  let key = 0;
8
32
  const elements: (string | JSX.Element)[] = [];
9
33
  const lines = text.split('\n');
@@ -43,7 +67,7 @@ export const MarkDown = (text: string): (string | JSX.Element)[] => {
43
67
  output.push(
44
68
  <Text
45
69
  key={`code-${key++}`}
46
- style={styles.codeInline}
70
+ style={[styles.codeInline, themed?.codeInline]}
47
71
  >
48
72
  {token.slice(1, -1).trim()}
49
73
  </Text>
@@ -53,7 +77,7 @@ export const MarkDown = (text: string): (string | JSX.Element)[] => {
53
77
  <Text key={`link-${key++}`}>
54
78
  <Text
55
79
  onPress={() => Linking.openURL(token)}
56
- style={styles.link}
80
+ style={[styles.link, themed?.link]}
57
81
  >
58
82
  {token}
59
83
  </Text>
@@ -129,7 +153,7 @@ export const MarkDown = (text: string): (string | JSX.Element)[] => {
129
153
  elements.push(
130
154
  <View
131
155
  key={`pre-${key++}`}
132
- style={styles.codeBlock}
156
+ style={[styles.codeBlock, themed?.codeBlock]}
133
157
  >
134
158
  <Text style={styles.codeBlockText}>
135
159
  {codeBuffer.join('\n')}
@@ -164,7 +188,7 @@ export const MarkDown = (text: string): (string | JSX.Element)[] => {
164
188
  elements.push(
165
189
  <View
166
190
  key={`quote-${key++}`}
167
- style={styles.quote}
191
+ style={[styles.quote, themed?.quote]}
168
192
  >
169
193
  {parseInline(line.replace(/^>\s*/, '')).map((el, idx) => (
170
194
  <React.Fragment key={idx}>{el}</React.Fragment>