@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
@@ -19,6 +19,7 @@ import {
19
19
  import * as Clipboard from 'expo-clipboard';
20
20
  import { useToast } from '../../context/ToastContext';
21
21
  import { useInteractionsOverlay } from './InteractionsOverlay';
22
+ import { useTheme } from '../../hooks/useTheme';
22
23
 
23
24
  interface MessageInteractionsProps {
24
25
  isReply?: boolean;
@@ -50,6 +51,14 @@ const MessageInteractions: React.FC<MessageInteractionsProps> = ({
50
51
  const { showToast } = useToast();
51
52
  const { present, dismiss, originX, originY } = useInteractionsOverlay();
52
53
  const overlayId = useId();
54
+ const theme = useTheme();
55
+ const themedStyles = useMemo(
56
+ () => ({
57
+ menu: { backgroundColor: theme.surface, shadowColor: theme.shadow },
58
+ text: { color: theme.text },
59
+ }),
60
+ [theme]
61
+ );
53
62
 
54
63
  const config = useSelector(
55
64
  (state: RootState) => state.chatSettingStore.config
@@ -180,11 +189,13 @@ const MessageInteractions: React.FC<MessageInteractionsProps> = ({
180
189
  <View style={styles.overlayFill}>
181
190
  <Pressable style={StyleSheet.absoluteFill} onPress={closeMenu} />
182
191
  <View
183
- style={[styles.contextMenu, localPosition]}
192
+ style={[styles.contextMenu, themedStyles.menu, localPosition]}
184
193
  onLayout={handleMenuLayout}
185
194
  >
186
195
  <MenuItem onPress={() => handleCopyMessage(message.body!)}>
187
- <Text style={styles.menuText}>{MESSAGE_INTERACTIONS.COPY}</Text>
196
+ <Text style={[styles.menuText, themedStyles.text]}>
197
+ {MESSAGE_INTERACTIONS.COPY}
198
+ </Text>
188
199
  <MESSAGE_INTERACTIONS_ICONS.COPY />
189
200
  </MenuItem>
190
201
  {isUser && (
@@ -195,7 +206,7 @@ const MessageInteractions: React.FC<MessageInteractionsProps> = ({
195
206
  <>
196
207
  <Delimeter />
197
208
  <MenuItem onPress={handleEditMessage}>
198
- <Text style={styles.menuText}>
209
+ <Text style={[styles.menuText, themedStyles.text]}>
199
210
  {MESSAGE_INTERACTIONS.EDIT}
200
211
  </Text>
201
212
  <MESSAGE_INTERACTIONS_ICONS.EDIT />
@@ -204,7 +215,9 @@ const MessageInteractions: React.FC<MessageInteractionsProps> = ({
204
215
  )}
205
216
  <Delimeter />
206
217
  <MenuItem onPress={handleDeleteMessage}>
207
- <Text style={styles.menuText}>{MESSAGE_INTERACTIONS.DELETE}</Text>
218
+ <Text style={[styles.menuText, themedStyles.text]}>
219
+ {MESSAGE_INTERACTIONS.DELETE}
220
+ </Text>
208
221
  <MESSAGE_INTERACTIONS_ICONS.DELETE />
209
222
  </MenuItem>
210
223
  </>
@@ -3,6 +3,7 @@ import React, { FC, useMemo, useState } from 'react';
3
3
  import { View, Text, TouchableOpacity, Animated } from 'react-native';
4
4
  import styled from 'styled-components/native';
5
5
  import { ReactionMessage } from '../../types/types';
6
+ import { useTheme } from '../../hooks/useTheme';
6
7
 
7
8
  const ReactionContainer = styled.View`
8
9
  flex-direction: row;
@@ -13,7 +14,8 @@ const ReactionContainer = styled.View`
13
14
  const ReactionBox = styled(TouchableOpacity)<{ active: boolean; color: string }>`
14
15
  padding: 4px 8px;
15
16
  border-radius: 20px;
16
- background-color: ${({ active, color }) => (active ? color : '#ffffff')};
17
+ background-color: ${({ active, color, theme }) =>
18
+ active ? color : theme.surface};
17
19
  flex-direction: row;
18
20
  align-items: center;
19
21
  justify-content: center;
@@ -42,6 +44,7 @@ export const MessageReaction: FC<MessageReactionProps> = ({
42
44
  changeReaction,
43
45
  userName,
44
46
  }) => {
47
+ const theme = useTheme();
45
48
  const [tooltipEmoji, setTooltipEmoji] = useState<string | null>(null);
46
49
  const fadeAnim = new Animated.Value(0);
47
50
 
@@ -104,7 +107,7 @@ export const MessageReaction: FC<MessageReactionProps> = ({
104
107
  style={{
105
108
  fontSize: 14,
106
109
  fontWeight: '600',
107
- color: isUserReacted ? '#fff' : color,
110
+ color: isUserReacted ? theme.textOnPrimary : color,
108
111
  }}
109
112
  >
110
113
  {details.count}
@@ -128,7 +131,9 @@ export const MessageReaction: FC<MessageReactionProps> = ({
128
131
  },
129
132
  ],
130
133
  opacity: fadeAnim,
131
- backgroundColor: '#333',
134
+ // Inverted pill: text colour as ground, surface as ink,
135
+ // so it stays high-contrast on both palettes.
136
+ backgroundColor: theme.text,
132
137
  borderRadius: 6,
133
138
  paddingHorizontal: 10,
134
139
  paddingVertical: 6,
@@ -136,7 +141,7 @@ export const MessageReaction: FC<MessageReactionProps> = ({
136
141
  zIndex: 999,
137
142
  }}
138
143
  >
139
- <Text style={{ color: '#fff', fontSize: 12 }}>
144
+ <Text style={{ color: theme.surface, fontSize: 12 }}>
140
145
  {details.users.join(', ')}
141
146
  </Text>
142
147
  </Animated.View>
@@ -6,6 +6,7 @@ import { useXmppClient } from '../../../context/xmppProvider';
6
6
  import {
7
7
  ActionButton,
8
8
  CloseButton,
9
+ CloseButtonText,
9
10
  GroupContainer,
10
11
  ModalBackground,
11
12
  ModalContainer,
@@ -20,7 +21,6 @@ import { addRoomViaApi } from '../../../roomStore/roomsSlice';
20
21
  import { createRoomFromApi } from '../../../helpers/createRoomFromApi';
21
22
  import { useChatSettingState } from '../../../hooks/useChatSettingState';
22
23
  import { useAppDispatch } from '../../../hooks/hooks';
23
- import { Text } from 'react-native';
24
24
  import { useToast } from '../../../context/ToastContext';
25
25
 
26
26
  const AddMembersModal: React.FC = () => {
@@ -97,7 +97,7 @@ const AddMembersModal: React.FC = () => {
97
97
  <ModalBackground>
98
98
  <ModalContainer>
99
99
  <CloseButton onPress={handleCloseModal}>
100
- <Text style={{ fontSize: 24 }}>&times;</Text>
100
+ <CloseButtonText>&times;</CloseButtonText>
101
101
  </CloseButton>
102
102
  <ModalTitle>Add New Member</ModalTitle>
103
103
  <GroupContainer
@@ -17,6 +17,7 @@ import {
17
17
  } from 'react-native';
18
18
  import { CameraIcon, DocumentIcon } from '../../../assets/icons';
19
19
  import { useChatSettingState } from '../../../hooks/useChatSettingState';
20
+ import { useTheme } from '../../../hooks/useTheme';
20
21
  import { chatTextStyle } from '../../../helpers/typography';
21
22
  import { useT } from '../../../i18n/useT';
22
23
  import { getMediaLibrary } from '../../../helpers/mediaLibraryRuntime';
@@ -100,10 +101,17 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
100
101
  onGallery,
101
102
  onDocument,
102
103
  onPickMedia,
103
- primaryColor = '#0052CD',
104
+ primaryColor,
104
105
  }) => {
105
106
  const { config } = useChatSettingState();
107
+ const theme = useTheme();
106
108
  const ts = config?.typography?.attachSheet;
109
+ const accent = primaryColor || theme.primary;
110
+ // Sheet chrome tints. Light keeps the historical iOS-ish greys (not in
111
+ // the palette); dark reads everything off the theme.
112
+ const chromeText = theme.dark ? theme.text : '#1C1C1E';
113
+ const chromeMuted = theme.dark ? theme.textSecondary : '#8A8A8E';
114
+ const chromeHairline = theme.dark ? theme.divider : '#EFEFF2';
107
115
  const t = useT();
108
116
  const pendingRef = useRef<(() => void) | null>(null);
109
117
  const runPending = () => {
@@ -326,7 +334,13 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
326
334
  onDismiss={Platform.OS === 'ios' ? runPending : undefined}
327
335
  >
328
336
  <Animated.View
329
- style={[styles.backdrop, { opacity: backdropOpacity }]}
337
+ style={[
338
+ styles.backdrop,
339
+ {
340
+ opacity: backdropOpacity,
341
+ backgroundColor: theme.dark ? theme.overlay : 'rgba(15,15,20,0.45)',
342
+ },
343
+ ]}
330
344
  >
331
345
  <TouchableOpacity
332
346
  testID="attach-backdrop"
@@ -337,7 +351,11 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
337
351
  <Animated.View
338
352
  style={[
339
353
  styles.sheet,
340
- { transform: [{ translateY: sheetTranslateY }] },
354
+ {
355
+ backgroundColor: theme.surface,
356
+ shadowColor: theme.shadow,
357
+ transform: [{ translateY: sheetTranslateY }],
358
+ },
341
359
  ]}
342
360
  {...sheetPan.panHandlers}
343
361
  >
@@ -346,12 +364,23 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
346
364
  style={styles.grabberArea}
347
365
  {...grabberPan.panHandlers}
348
366
  >
349
- <View style={styles.grabber} />
367
+ <View
368
+ style={[
369
+ styles.grabber,
370
+ { backgroundColor: theme.dark ? theme.border : '#D9D9DE' },
371
+ ]}
372
+ />
350
373
  </View>
351
374
 
352
375
  {/* Photos & Videos ------------------------------------------------ */}
353
376
  <View style={styles.sectionHeader}>
354
- <Text style={[styles.sectionTitle, chatTextStyle(ts?.title)]}>
377
+ <Text
378
+ style={[
379
+ styles.sectionTitle,
380
+ { color: chromeText },
381
+ chatTextStyle(ts?.title),
382
+ ]}
383
+ >
355
384
  {t('attach.photosAndVideos')}
356
385
  </Text>
357
386
  <TouchableOpacity
@@ -363,7 +392,7 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
363
392
  <Text
364
393
  style={[
365
394
  styles.sectionAction,
366
- { color: primaryColor },
395
+ { color: accent },
367
396
  chatTextStyle(ts?.viewLibrary),
368
397
  ]}
369
398
  >
@@ -384,15 +413,21 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
384
413
  accessibilityRole="button"
385
414
  accessibilityLabel={t('attach.takePhoto')}
386
415
  activeOpacity={0.7}
387
- style={styles.cameraTile}
416
+ style={[
417
+ styles.cameraTile,
418
+ {
419
+ borderColor: theme.dark ? theme.border : '#E4E4E9',
420
+ backgroundColor: theme.dark ? theme.surfaceSecondary : '#FAFAFC',
421
+ },
422
+ ]}
388
423
  onPress={trigger(onCamera)}
389
424
  >
390
- <CameraIcon color="#8A8A8E" width={26} height={26} />
425
+ <CameraIcon color={chromeMuted} width={26} height={26} />
391
426
  </TouchableOpacity>
392
427
 
393
428
  {loadingRecents && recents.length === 0 && (
394
429
  <View style={styles.loadingTile}>
395
- <ActivityIndicator color="#8A8A8E" />
430
+ <ActivityIndicator color={chromeMuted} />
396
431
  </View>
397
432
  )}
398
433
 
@@ -401,7 +436,7 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
401
436
  key={item.id}
402
437
  testID={`attach-recent-${item.id}`}
403
438
  activeOpacity={0.8}
404
- style={styles.thumbWrap}
439
+ style={[styles.thumbWrap, { backgroundColor: chromeHairline }]}
405
440
  onPress={handleRecentPress(item)}
406
441
  >
407
442
  <Image
@@ -419,7 +454,9 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
419
454
  ))}
420
455
  </ScrollView>
421
456
 
422
- <View style={styles.rowsDivider} />
457
+ <View
458
+ style={[styles.rowsDivider, { backgroundColor: chromeHairline }]}
459
+ />
423
460
  {rows.map(({ id, label, Icon, handler }) => (
424
461
  <TouchableOpacity
425
462
  key={id}
@@ -429,9 +466,15 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
429
466
  onPress={trigger(handler)}
430
467
  >
431
468
  <View style={styles.rowIcon}>
432
- <Icon color="#1C1C1E" width={20} height={20} />
469
+ <Icon color={chromeText} width={20} height={20} />
433
470
  </View>
434
- <Text style={[styles.rowLabel, chatTextStyle(ts?.rowLabel)]}>
471
+ <Text
472
+ style={[
473
+ styles.rowLabel,
474
+ { color: chromeText },
475
+ chatTextStyle(ts?.rowLabel),
476
+ ]}
477
+ >
435
478
  {label}
436
479
  </Text>
437
480
  </TouchableOpacity>
@@ -443,18 +486,16 @@ const AttachSheet: React.FC<AttachSheetProps> = ({
443
486
  };
444
487
 
445
488
  const styles = StyleSheet.create({
489
+ // Colours live inline (theme-dependent); only layout stays here.
446
490
  backdrop: {
447
491
  flex: 1,
448
- backgroundColor: 'rgba(15,15,20,0.45)',
449
492
  justifyContent: 'flex-end',
450
493
  },
451
494
  sheet: {
452
- backgroundColor: '#fff',
453
495
  borderTopLeftRadius: 24,
454
496
  borderTopRightRadius: 24,
455
497
  paddingTop: 4,
456
498
  paddingBottom: Platform.OS === 'ios' ? 32 : 20,
457
- shadowColor: '#000',
458
499
  shadowOffset: { width: 0, height: -2 },
459
500
  shadowOpacity: 0.08,
460
501
  shadowRadius: 12,
@@ -469,7 +510,6 @@ const styles = StyleSheet.create({
469
510
  width: 40,
470
511
  height: 4,
471
512
  borderRadius: 2,
472
- backgroundColor: '#D9D9DE',
473
513
  },
474
514
  sectionHeader: {
475
515
  flexDirection: 'row',
@@ -481,7 +521,6 @@ const styles = StyleSheet.create({
481
521
  sectionTitle: {
482
522
  fontSize: 17,
483
523
  fontWeight: '700',
484
- color: '#1C1C1E',
485
524
  },
486
525
  sectionAction: {
487
526
  fontSize: 15,
@@ -497,8 +536,6 @@ const styles = StyleSheet.create({
497
536
  height: THUMB_SIZE,
498
537
  borderRadius: 16,
499
538
  borderWidth: 1,
500
- borderColor: '#E4E4E9',
501
- backgroundColor: '#FAFAFC',
502
539
  alignItems: 'center',
503
540
  justifyContent: 'center',
504
541
  },
@@ -513,7 +550,6 @@ const styles = StyleSheet.create({
513
550
  height: THUMB_SIZE,
514
551
  borderRadius: 16,
515
552
  overflow: 'hidden',
516
- backgroundColor: '#EFEFF2',
517
553
  },
518
554
  thumb: {
519
555
  width: '100%',
@@ -521,7 +557,6 @@ const styles = StyleSheet.create({
521
557
  },
522
558
  rowsDivider: {
523
559
  height: StyleSheet.hairlineWidth,
524
- backgroundColor: '#EFEFF2',
525
560
  },
526
561
  row: {
527
562
  flexDirection: 'row',
@@ -537,7 +572,6 @@ const styles = StyleSheet.create({
537
572
  rowLabel: {
538
573
  fontSize: 16,
539
574
  fontWeight: '500',
540
- color: '#1C1C1E',
541
575
  },
542
576
  });
543
577
 
@@ -26,6 +26,8 @@ import { deleteRoom, updateRoom } from '../../../roomStore/roomsSlice';
26
26
  import Loader from '../../styled/Loader';
27
27
  import {
28
28
  AddNewIcon,
29
+ BellIcon,
30
+ BellOffIcon,
29
31
  DeleteIcon,
30
32
  EditIcon,
31
33
  LeaveIcon,
@@ -36,7 +38,9 @@ import { useChatSettingState } from '../../../hooks/useChatSettingState';
36
38
  import { chatTextStyle } from '../../../helpers/typography';
37
39
  import { getElementFont } from '../../../helpers/getElementFont';
38
40
  import { getIconColor } from '../../../helpers/getIconColor';
39
- import { deleteRoomMember } from '../../../networking/api-requests/rooms.api';
41
+ import { useTheme } from '../../../hooks/useTheme';
42
+ import type { ChatTheme } from '../../../theme/theme';
43
+ import { deleteRoomMember, setRoomMuted } from '../../../networking/api-requests/rooms.api';
40
44
  import { RoomMember } from '../../../types/models/room.model';
41
45
  import { setActiveModal, setSelectedUser } from '../../../roomStore/chatSettingsSlice';
42
46
  import { MODAL_TYPES } from '../../../helpers/constants/MODAL_TYPES';
@@ -96,6 +100,8 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
96
100
  const dispatch = useDispatch();
97
101
  const { client } = useXmppClient();
98
102
  const { user: stateUser, config } = useChatSettingState();
103
+ const theme = useTheme();
104
+ const styles = useMemo(() => createStyles(theme), [theme]);
99
105
  const activeRoom = useSelector((state: RootState) => getActiveRoom(state));
100
106
  const fileToken = useFileToken();
101
107
 
@@ -355,8 +361,40 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
355
361
  return () => sub.remove();
356
362
  }, [isSearchOpen]); // eslint-disable-line react-hooks/exhaustive-deps
357
363
 
364
+ const muteInFlightRef = useRef(false);
365
+ const toggleMuted = async () => {
366
+ if (!activeRoom?.jid || !activeRoom?.name || muteInFlightRef.current) {return;}
367
+ const next = !activeRoom.muted;
368
+ muteInFlightRef.current = true;
369
+ dispatch(updateRoom({ jid: activeRoom.jid, updates: { muted: next } }));
370
+ try {
371
+ const confirmed = await setRoomMuted(activeRoom.name, next);
372
+ if (confirmed !== next) {
373
+ dispatch(updateRoom({ jid: activeRoom.jid, updates: { muted: confirmed } }));
374
+ }
375
+ } catch (error) {
376
+ dispatch(updateRoom({ jid: activeRoom.jid, updates: { muted: !next } }));
377
+ console.warn('[ethora-rn] mute toggle failed', error);
378
+ showToast({
379
+ id: Date.now().toString(),
380
+ title: 'Error',
381
+ message: t('toast.muteFailed'),
382
+ type: 'error',
383
+ });
384
+ } finally {
385
+ muteInFlightRef.current = false;
386
+ }
387
+ };
388
+
358
389
  const heroActions: HeroAction[] = useMemo(
359
390
  () => [
391
+ {
392
+ key: 'mute',
393
+ label: activeRoom?.muted ? t('action.muted') : t('action.unmuted'),
394
+ icon: (color: string) =>
395
+ activeRoom?.muted ? <BellOffIcon color={color} /> : <BellIcon color={color} />,
396
+ onPress: toggleMuted,
397
+ },
360
398
  {
361
399
  key: 'search',
362
400
  label: t('action.search'),
@@ -376,7 +414,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
376
414
  onPress: () => setIsReportOpen(true),
377
415
  },
378
416
  ],
379
- [t, activeRoom?.jid] // eslint-disable-line react-hooks/exhaustive-deps
417
+ [t, activeRoom?.jid, activeRoom?.muted] // eslint-disable-line react-hooks/exhaustive-deps
380
418
  );
381
419
 
382
420
  // "…" menu. Edit is the chat picture — the only chat detail this SDK can
@@ -388,7 +426,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
388
426
  items.push({
389
427
  key: 'edit',
390
428
  label: t('action.edit'),
391
- icon: <EditIcon color="#141414" width={18} height={18} />,
429
+ icon: <EditIcon color={theme.text} width={18} height={18} />,
392
430
  onPress: onUpload,
393
431
  });
394
432
  if (hasIcon) {
@@ -406,14 +444,14 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
406
444
  items.push({
407
445
  key: 'search',
408
446
  label: t('action.search'),
409
- icon: <SearchIcon color="#141414" width={18} height={18} />,
447
+ icon: <SearchIcon color={theme.text} width={18} height={18} />,
410
448
  onPress: openMemberSearch,
411
449
  });
412
450
  }
413
451
  items.push({
414
452
  key: 'report',
415
453
  label: t('action.report'),
416
- icon: <ReportIcon color="#141414" width={18} height={18} />,
454
+ icon: <ReportIcon color={theme.text} width={18} height={18} />,
417
455
  onPress: () => setIsReportOpen(true),
418
456
  });
419
457
  if (canDeleteChat) {
@@ -426,7 +464,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
426
464
  });
427
465
  }
428
466
  return items;
429
- }, [canEditIcon, canDeleteChat, hasIcon, isCollapsed, t]); // eslint-disable-line react-hooks/exhaustive-deps
467
+ }, [canEditIcon, canDeleteChat, hasIcon, isCollapsed, t, theme.text]); // eslint-disable-line react-hooks/exhaustive-deps
430
468
 
431
469
  if (!activeRoom) {
432
470
  return null;
@@ -547,7 +585,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
547
585
 
548
586
  {isSearchOpen && (
549
587
  <View style={styles.searchRow}>
550
- <SearchIcon color="#8C8C8C" width={18} height={18} />
588
+ <SearchIcon color={theme.textSecondary} width={18} height={18} />
551
589
  <TextInput
552
590
  testID="chat-profile-member-search"
553
591
  ref={searchInputRef}
@@ -555,7 +593,7 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
555
593
  value={memberQuery}
556
594
  onChangeText={setMemberQuery}
557
595
  placeholder={t('search.members')}
558
- placeholderTextColor="#8C8C8C"
596
+ placeholderTextColor={theme.textMuted}
559
597
  autoCorrect={false}
560
598
  returnKeyType="search"
561
599
  />
@@ -687,10 +725,10 @@ const ChatProfileModal: React.FC<ChatProfileModalProps> = ({
687
725
  );
688
726
  };
689
727
 
690
- const styles = StyleSheet.create({
728
+ const createStyles = (theme: ChatTheme) => StyleSheet.create({
691
729
  screen: {
692
730
  position: 'relative',
693
- backgroundColor: '#F2F3F5',
731
+ backgroundColor: theme.listBackground,
694
732
  },
695
733
  scroll: {
696
734
  width: '100%',
@@ -704,21 +742,21 @@ const styles = StyleSheet.create({
704
742
  gap: 12,
705
743
  },
706
744
  card: {
707
- backgroundColor: '#FFFFFF',
745
+ backgroundColor: theme.surface,
708
746
  borderRadius: 14,
709
747
  padding: 16,
710
- shadowColor: '#000',
748
+ shadowColor: theme.shadow,
711
749
  shadowOffset: { width: 0, height: 1 },
712
750
  shadowOpacity: 0.05,
713
751
  shadowRadius: 4,
714
752
  elevation: 1,
715
753
  },
716
754
  cardLabel: {
717
- color: '#8C8C8C',
755
+ color: theme.textSecondary,
718
756
  fontSize: 14,
719
757
  },
720
758
  cardValue: {
721
- color: '#141414',
759
+ color: theme.text,
722
760
  fontSize: 16,
723
761
  marginTop: 4,
724
762
  },
@@ -729,12 +767,12 @@ const styles = StyleSheet.create({
729
767
  paddingBottom: 14,
730
768
  marginBottom: 10,
731
769
  borderBottomWidth: StyleSheet.hairlineWidth,
732
- borderBottomColor: '#EFEFF2',
770
+ borderBottomColor: theme.border,
733
771
  },
734
772
  addMembersLabel: {
735
773
  fontSize: 16,
736
774
  fontWeight: '500',
737
- color: '#141414',
775
+ color: theme.text,
738
776
  },
739
777
  searchRow: {
740
778
  flexDirection: 'row',
@@ -744,24 +782,24 @@ const styles = StyleSheet.create({
744
782
  paddingHorizontal: 12,
745
783
  height: 40,
746
784
  borderRadius: 12,
747
- backgroundColor: '#F2F3F5',
785
+ backgroundColor: theme.surfaceSecondary,
748
786
  },
749
787
  searchInput: {
750
788
  flex: 1,
751
789
  fontSize: 15,
752
- color: '#141414',
790
+ color: theme.text,
753
791
  padding: 0,
754
792
  },
755
793
  searchClose: {
756
794
  fontSize: 22,
757
795
  lineHeight: 24,
758
- color: '#8C8C8C',
796
+ color: theme.textSecondary,
759
797
  },
760
798
  emptyMembers: {
761
799
  opacity: 0.6,
762
800
  textAlign: 'center',
763
801
  paddingVertical: 8,
764
- color: '#141414',
802
+ color: theme.text,
765
803
  },
766
804
  memberRow: {
767
805
  flexDirection: 'row',
@@ -770,7 +808,7 @@ const styles = StyleSheet.create({
770
808
  },
771
809
  memberDivider: {
772
810
  borderTopWidth: StyleSheet.hairlineWidth,
773
- borderTopColor: '#EFEFF2',
811
+ borderTopColor: theme.border,
774
812
  },
775
813
  memberMain: {
776
814
  flex: 1,
@@ -784,20 +822,20 @@ const styles = StyleSheet.create({
784
822
  memberName: {
785
823
  fontSize: 16,
786
824
  fontWeight: '600',
787
- color: '#141414',
825
+ color: theme.text,
788
826
  },
789
827
  memberStatus: {
790
828
  fontSize: 13,
791
- color: '#8C8C8C',
829
+ color: theme.textSecondary,
792
830
  marginTop: 2,
793
831
  },
794
832
  memberRole: {
795
833
  fontSize: 13,
796
- color: '#8C8C8C',
834
+ color: theme.textSecondary,
797
835
  marginLeft: 8,
798
836
  },
799
837
  memberBanned: {
800
- color: '#E53935',
838
+ color: theme.danger,
801
839
  },
802
840
  memberRemove: {
803
841
  marginLeft: 12,
@@ -4,6 +4,7 @@ import { useDispatch, useSelector } from 'react-redux';
4
4
  import { getActiveRoom, RootState } from '../../../roomStore';
5
5
  import {
6
6
  CloseButton,
7
+ CloseButtonText,
7
8
  GroupContainer,
8
9
  ModalBackground,
9
10
  ModalContainer,
@@ -11,8 +12,8 @@ import {
11
12
  } from '../styledModalComponents';
12
13
  import { deleteRoom as deleteRoomApi } from '../../../networking/api-requests/rooms.api';
13
14
  import { deleteRoom as deleteRoomAction } from '../../../roomStore/roomsSlice';
14
- import { Text } from 'react-native';
15
15
  import { useToast } from '../../../context/ToastContext';
16
+ import { useTheme } from '../../../hooks/useTheme';
16
17
  import { useT } from '../../../i18n/useT';
17
18
 
18
19
  interface DeleteChatModalProps {
@@ -26,6 +27,7 @@ const DeleteChatModal: React.FC<DeleteChatModalProps> = ({
26
27
  }) => {
27
28
  const dispatch = useDispatch();
28
29
  const { showToast } = useToast();
30
+ const theme = useTheme();
29
31
  const t = useT();
30
32
  const activeRoom = useSelector((state: RootState) => getActiveRoom(state));
31
33
 
@@ -59,7 +61,7 @@ const DeleteChatModal: React.FC<DeleteChatModalProps> = ({
59
61
  <ModalBackground>
60
62
  <ModalContainer>
61
63
  <CloseButton onPress={handleCloseModal}>
62
- <Text style={{ fontSize: 24 }}>&times;</Text>
64
+ <CloseButtonText>&times;</CloseButtonText>
63
65
  </CloseButton>
64
66
  <ModalTitle>{t('modal.deleteChat.title')}</ModalTitle>
65
67
 
@@ -77,9 +79,9 @@ const DeleteChatModal: React.FC<DeleteChatModalProps> = ({
77
79
  style={{
78
80
  width: '100%',
79
81
  borderWidth: 1,
80
- borderColor: 'red',
82
+ borderColor: theme.danger,
81
83
  }}
82
- color="red"
84
+ color={theme.danger}
83
85
  unstyled
84
86
  variant="outlined"
85
87
  />