@amityco/react-native-social-uikit 4.0.0-9b57f0b0.0 → 4.0.0-RC.22

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 (626) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/AddMembersModal/index.js +3 -1
  3. package/lib/commonjs/components/AddMembersModal/index.js.map +1 -1
  4. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +77 -0
  5. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  6. package/lib/commonjs/components/ErrorBoundary/index.js +20 -0
  7. package/lib/commonjs/components/ErrorBoundary/index.js.map +1 -0
  8. package/lib/commonjs/components/Social/PostList/index.js +7 -2
  9. package/lib/commonjs/components/Social/PostList/index.js.map +1 -1
  10. package/lib/commonjs/components/Toast/Toast.js +2 -1
  11. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  12. package/lib/commonjs/hooks/useAuth.js +4 -2
  13. package/lib/commonjs/hooks/useAuth.js.map +1 -1
  14. package/lib/commonjs/hooks/useSearch.js +3 -1
  15. package/lib/commonjs/hooks/useSearch.js.map +1 -1
  16. package/lib/commonjs/index.js +7 -0
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/providers/Social/communities-sdk.js +2 -1
  19. package/lib/commonjs/providers/Social/communities-sdk.js.map +1 -1
  20. package/lib/commonjs/providers/amity-ui-kit-provider.js +4 -2
  21. package/lib/commonjs/providers/amity-ui-kit-provider.js.map +1 -1
  22. package/lib/commonjs/providers/auth-provider.js +20 -11
  23. package/lib/commonjs/providers/auth-provider.js.map +1 -1
  24. package/lib/commonjs/providers/file-provider.js +38 -19
  25. package/lib/commonjs/providers/file-provider.js.map +1 -1
  26. package/lib/commonjs/redux/slices/globalfeedSlice.js +20 -7
  27. package/lib/commonjs/redux/slices/globalfeedSlice.js.map +1 -1
  28. package/lib/commonjs/screens/CommunitySearch/index.js +3 -1
  29. package/lib/commonjs/screens/CommunitySearch/index.js.map +1 -1
  30. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +6 -1
  31. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  32. package/lib/commonjs/svg/svg-xml-list.js +6 -1
  33. package/lib/commonjs/svg/svg-xml-list.js.map +1 -1
  34. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  35. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  36. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +37 -21
  37. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  38. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +19 -14
  39. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  40. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  41. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  42. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  43. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  44. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  45. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  46. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  47. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  48. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  49. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  50. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  51. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  52. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  53. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  54. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  55. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  56. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  57. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  58. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +8 -23
  59. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  60. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  61. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  62. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  63. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  64. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +26 -20
  65. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  66. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +23 -60
  67. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  68. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +1 -1
  69. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  70. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +37 -1
  71. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  72. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  73. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  74. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  75. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +21 -29
  76. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  77. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  78. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  79. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  80. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  81. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  82. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  83. package/lib/commonjs/v4/assets/icons/lock.js +6 -4
  84. package/lib/commonjs/v4/assets/icons/lock.js.map +1 -1
  85. package/lib/commonjs/v4/assets/icons/poll.js +2 -2
  86. package/lib/commonjs/v4/assets/icons/toast.js +6 -6
  87. package/lib/commonjs/v4/assets/icons/toast.js.map +1 -1
  88. package/lib/commonjs/v4/component/Avatar/Avatar.js +5 -3
  89. package/lib/commonjs/v4/component/Avatar/Avatar.js.map +1 -1
  90. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  91. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  92. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  93. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  94. package/lib/commonjs/v4/component/CommunityStories/index.js +9 -4
  95. package/lib/commonjs/v4/component/CommunityStories/index.js.map +1 -1
  96. package/lib/commonjs/v4/component/CommunityStories/styles.js +7 -2
  97. package/lib/commonjs/v4/component/CommunityStories/styles.js.map +1 -1
  98. package/lib/commonjs/v4/component/LivestreamContent/index.js +2 -2
  99. package/lib/commonjs/v4/component/LivestreamContent/index.js.map +1 -1
  100. package/lib/commonjs/v4/component/LoadingImage/index.js +22 -25
  101. package/lib/commonjs/v4/component/LoadingImage/index.js.map +1 -1
  102. package/lib/commonjs/v4/component/LoadingImage/styles.js +19 -2
  103. package/lib/commonjs/v4/component/LoadingImage/styles.js.map +1 -1
  104. package/lib/commonjs/v4/component/LoadingVideo/index.js +12 -6
  105. package/lib/commonjs/v4/component/LoadingVideo/index.js.map +1 -1
  106. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js +9 -6
  107. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  108. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js +11 -4
  109. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  110. package/lib/commonjs/v4/component/MyStories/styles.js +5 -0
  111. package/lib/commonjs/v4/component/MyStories/styles.js.map +1 -1
  112. package/lib/commonjs/v4/component/PollContent/PollResults.js +15 -6
  113. package/lib/commonjs/v4/component/PollContent/PollResults.js.map +1 -1
  114. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js +16 -9
  115. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  116. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  117. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  118. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js +24 -15
  119. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js.map +1 -1
  120. package/lib/commonjs/v4/component/Social/CommentList/styles.js +12 -0
  121. package/lib/commonjs/v4/component/Social/CommentList/styles.js.map +1 -1
  122. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  123. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  124. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  125. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  126. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  127. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  128. package/lib/commonjs/v4/constants/index.js +4 -2
  129. package/lib/commonjs/v4/constants/index.js.map +1 -1
  130. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  131. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  132. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  133. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  134. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js +4 -32
  135. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  136. package/lib/commonjs/v4/engine/AssetDownloader.js +2 -1
  137. package/lib/commonjs/v4/engine/AssetDownloader.js.map +1 -1
  138. package/lib/commonjs/v4/enum/roomStatus.js +3 -1
  139. package/lib/commonjs/v4/enum/roomStatus.js.map +1 -1
  140. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js +4 -1
  141. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  142. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  143. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  144. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  145. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  146. package/lib/commonjs/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +19 -21
  147. package/lib/commonjs/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  148. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js +13 -0
  149. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  150. package/lib/commonjs/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  151. package/lib/commonjs/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  152. package/lib/commonjs/v4/features/feed/components/index.js +17 -0
  153. package/lib/commonjs/v4/features/feed/components/index.js.map +1 -0
  154. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +42 -0
  155. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  156. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js +13 -0
  157. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  158. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js +29 -0
  159. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  160. package/lib/commonjs/v4/features/feed/elements/index.js +17 -0
  161. package/lib/commonjs/v4/features/feed/elements/index.js.map +1 -0
  162. package/lib/commonjs/v4/features/room/hooks/useRoom.js +26 -0
  163. package/lib/commonjs/v4/features/room/hooks/useRoom.js.map +1 -0
  164. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js +3 -1
  165. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  166. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +40 -38
  167. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  168. package/lib/commonjs/v4/hook/usePaginator.js +36 -24
  169. package/lib/commonjs/v4/hook/usePaginator.js.map +1 -1
  170. package/lib/commonjs/v4/hook/usePostPermission.js +38 -0
  171. package/lib/commonjs/v4/hook/usePostPermission.js.map +1 -0
  172. package/lib/commonjs/v4/hook/useSearch.js +3 -1
  173. package/lib/commonjs/v4/hook/useSearch.js.map +1 -1
  174. package/lib/commonjs/v4/routes/AmityPageRenderer.js +5 -0
  175. package/lib/commonjs/v4/routes/AmityPageRenderer.js.map +1 -1
  176. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  177. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  178. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  179. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  180. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js +42 -0
  181. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  182. package/lib/commonjs/v4/screen/GlobalBan/index.js +13 -0
  183. package/lib/commonjs/v4/screen/GlobalBan/index.js.map +1 -0
  184. package/lib/commonjs/v4/screen/GlobalBan/styles.js +46 -0
  185. package/lib/commonjs/v4/screen/GlobalBan/styles.js.map +1 -0
  186. package/lib/commonjs/v4/screen/PostDetail/index.js +3 -2
  187. package/lib/commonjs/v4/screen/PostDetail/index.js.map +1 -1
  188. package/lib/module/components/AddMembersModal/index.js +4 -2
  189. package/lib/module/components/AddMembersModal/index.js.map +1 -1
  190. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +69 -0
  191. package/lib/module/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  192. package/lib/module/components/ErrorBoundary/index.js +3 -0
  193. package/lib/module/components/ErrorBoundary/index.js.map +1 -0
  194. package/lib/module/components/Social/PostList/index.js +7 -2
  195. package/lib/module/components/Social/PostList/index.js.map +1 -1
  196. package/lib/module/components/Toast/Toast.js +2 -1
  197. package/lib/module/components/Toast/Toast.js.map +1 -1
  198. package/lib/module/hooks/useAuth.js +4 -2
  199. package/lib/module/hooks/useAuth.js.map +1 -1
  200. package/lib/module/hooks/useSearch.js +4 -2
  201. package/lib/module/hooks/useSearch.js.map +1 -1
  202. package/lib/module/index.js +2 -1
  203. package/lib/module/index.js.map +1 -1
  204. package/lib/module/providers/Social/communities-sdk.js +2 -1
  205. package/lib/module/providers/Social/communities-sdk.js.map +1 -1
  206. package/lib/module/providers/amity-ui-kit-provider.js +4 -2
  207. package/lib/module/providers/amity-ui-kit-provider.js.map +1 -1
  208. package/lib/module/providers/auth-provider.js +20 -11
  209. package/lib/module/providers/auth-provider.js.map +1 -1
  210. package/lib/module/providers/file-provider.js +38 -19
  211. package/lib/module/providers/file-provider.js.map +1 -1
  212. package/lib/module/redux/slices/globalfeedSlice.js +20 -7
  213. package/lib/module/redux/slices/globalfeedSlice.js.map +1 -1
  214. package/lib/module/screens/CommunitySearch/index.js +4 -2
  215. package/lib/module/screens/CommunitySearch/index.js.map +1 -1
  216. package/lib/module/snippet/AmityGlobalFeedComponent.js +6 -1
  217. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  218. package/lib/module/svg/svg-xml-list.js +4 -0
  219. package/lib/module/svg/svg-xml-list.js.map +1 -1
  220. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  221. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  222. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +38 -22
  223. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  224. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +21 -16
  225. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  226. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  227. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  228. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  229. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  230. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  231. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  232. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  233. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  234. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  235. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  236. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  237. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  238. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  239. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  240. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  241. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  242. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  243. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  244. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +9 -23
  245. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  246. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  247. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  248. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  249. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  250. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +26 -20
  251. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  252. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +23 -60
  253. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  254. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +1 -1
  255. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  256. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +37 -1
  257. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  258. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  259. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  260. package/lib/module/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  261. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +23 -31
  262. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  263. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  264. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  265. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  266. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  267. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  268. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  269. package/lib/module/v4/assets/icons/lock.js +6 -4
  270. package/lib/module/v4/assets/icons/lock.js.map +1 -1
  271. package/lib/module/v4/assets/icons/poll.js +2 -2
  272. package/lib/module/v4/assets/icons/toast.js +6 -6
  273. package/lib/module/v4/assets/icons/toast.js.map +1 -1
  274. package/lib/module/v4/component/Avatar/Avatar.js +5 -3
  275. package/lib/module/v4/component/Avatar/Avatar.js.map +1 -1
  276. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  277. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  278. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  279. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  280. package/lib/module/v4/component/CommunityStories/index.js +10 -5
  281. package/lib/module/v4/component/CommunityStories/index.js.map +1 -1
  282. package/lib/module/v4/component/CommunityStories/styles.js +7 -2
  283. package/lib/module/v4/component/CommunityStories/styles.js.map +1 -1
  284. package/lib/module/v4/component/LivestreamContent/index.js +2 -2
  285. package/lib/module/v4/component/LivestreamContent/index.js.map +1 -1
  286. package/lib/module/v4/component/LoadingImage/index.js +22 -24
  287. package/lib/module/v4/component/LoadingImage/index.js.map +1 -1
  288. package/lib/module/v4/component/LoadingImage/styles.js +19 -2
  289. package/lib/module/v4/component/LoadingImage/styles.js.map +1 -1
  290. package/lib/module/v4/component/LoadingVideo/index.js +12 -6
  291. package/lib/module/v4/component/LoadingVideo/index.js.map +1 -1
  292. package/lib/module/v4/component/MyAvatar/MyAvatar.js +9 -6
  293. package/lib/module/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  294. package/lib/module/v4/component/MyStories/StoryCircleItem.js +13 -6
  295. package/lib/module/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  296. package/lib/module/v4/component/MyStories/styles.js +5 -0
  297. package/lib/module/v4/component/MyStories/styles.js.map +1 -1
  298. package/lib/module/v4/component/PollContent/PollResults.js +15 -6
  299. package/lib/module/v4/component/PollContent/PollResults.js.map +1 -1
  300. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js +17 -10
  301. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  302. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  303. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  304. package/lib/module/v4/component/Social/CommentList/CommentList.js +24 -15
  305. package/lib/module/v4/component/Social/CommentList/CommentList.js.map +1 -1
  306. package/lib/module/v4/component/Social/CommentList/styles.js +12 -0
  307. package/lib/module/v4/component/Social/CommentList/styles.js.map +1 -1
  308. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  309. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  310. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  311. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  312. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  313. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  314. package/lib/module/v4/constants/index.js +3 -1
  315. package/lib/module/v4/constants/index.js.map +1 -1
  316. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  317. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  318. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  319. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  320. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js +6 -34
  321. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  322. package/lib/module/v4/engine/AssetDownloader.js +2 -1
  323. package/lib/module/v4/engine/AssetDownloader.js.map +1 -1
  324. package/lib/module/v4/enum/roomStatus.js +3 -1
  325. package/lib/module/v4/enum/roomStatus.js.map +1 -1
  326. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js +4 -1
  327. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  328. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  329. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  330. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  331. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  332. package/lib/module/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +18 -19
  333. package/lib/module/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  334. package/lib/module/v4/features/feed/components/CommunityCategories/index.js +2 -0
  335. package/lib/module/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  336. package/lib/module/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  337. package/lib/module/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  338. package/lib/module/v4/features/feed/components/index.js +2 -0
  339. package/lib/module/v4/features/feed/components/index.js.map +1 -0
  340. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +35 -0
  341. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  342. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js +2 -0
  343. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  344. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js +22 -0
  345. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  346. package/lib/module/v4/features/feed/elements/index.js +2 -0
  347. package/lib/module/v4/features/feed/elements/index.js.map +1 -0
  348. package/lib/module/v4/features/room/hooks/useRoom.js +20 -0
  349. package/lib/module/v4/features/room/hooks/useRoom.js.map +1 -0
  350. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js +4 -2
  351. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  352. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +41 -39
  353. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  354. package/lib/module/v4/hook/usePaginator.js +37 -25
  355. package/lib/module/v4/hook/usePaginator.js.map +1 -1
  356. package/lib/module/v4/hook/usePostPermission.js +31 -0
  357. package/lib/module/v4/hook/usePostPermission.js.map +1 -0
  358. package/lib/module/v4/hook/useSearch.js +4 -2
  359. package/lib/module/v4/hook/useSearch.js.map +1 -1
  360. package/lib/module/v4/routes/AmityPageRenderer.js +5 -0
  361. package/lib/module/v4/routes/AmityPageRenderer.js.map +1 -1
  362. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  363. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  364. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  365. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  366. package/lib/module/v4/screen/GlobalBan/GlobalBan.js +35 -0
  367. package/lib/module/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  368. package/lib/module/v4/screen/GlobalBan/index.js +2 -0
  369. package/lib/module/v4/screen/GlobalBan/index.js.map +1 -0
  370. package/lib/module/v4/screen/GlobalBan/styles.js +39 -0
  371. package/lib/module/v4/screen/GlobalBan/styles.js.map +1 -0
  372. package/lib/module/v4/screen/PostDetail/index.js +3 -2
  373. package/lib/module/v4/screen/PostDetail/index.js.map +1 -1
  374. package/lib/typescript/src/components/AddMembersModal/index.d.ts.map +1 -1
  375. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts +20 -0
  376. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  377. package/lib/typescript/src/components/ErrorBoundary/index.d.ts +3 -0
  378. package/lib/typescript/src/components/ErrorBoundary/index.d.ts.map +1 -0
  379. package/lib/typescript/src/components/PollSection/usePoll.d.ts +1 -1
  380. package/lib/typescript/src/components/Social/PostList/index.d.ts.map +1 -1
  381. package/lib/typescript/src/components/Toast/Toast.d.ts.map +1 -1
  382. package/lib/typescript/src/hooks/useAuth.d.ts.map +1 -1
  383. package/lib/typescript/src/hooks/useSearch.d.ts.map +1 -1
  384. package/lib/typescript/src/index.d.ts +2 -1
  385. package/lib/typescript/src/index.d.ts.map +1 -1
  386. package/lib/typescript/src/providers/amity-ui-kit-provider.d.ts.map +1 -1
  387. package/lib/typescript/src/providers/auth-provider.d.ts.map +1 -1
  388. package/lib/typescript/src/providers/file-provider.d.ts.map +1 -1
  389. package/lib/typescript/src/redux/slices/globalfeedSlice.d.ts.map +1 -1
  390. package/lib/typescript/src/screens/CommunitySearch/index.d.ts.map +1 -1
  391. package/lib/typescript/src/svg/svg-xml-list.d.ts +1 -0
  392. package/lib/typescript/src/svg/svg-xml-list.d.ts.map +1 -1
  393. package/lib/typescript/src/types/auth.interface.d.ts +1 -0
  394. package/lib/typescript/src/types/auth.interface.d.ts.map +1 -1
  395. package/lib/typescript/src/types/user.interface.d.ts +1 -0
  396. package/lib/typescript/src/types/user.interface.d.ts.map +1 -1
  397. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts.map +1 -1
  398. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +4 -0
  399. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  400. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts +1 -0
  401. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts.map +1 -1
  402. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  403. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.d.ts.map +1 -1
  404. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts +1 -0
  405. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts.map +1 -1
  406. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts +1 -2
  407. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts.map +1 -1
  408. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts +3 -5
  409. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts.map +1 -1
  410. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  411. package/lib/typescript/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.d.ts.map +1 -1
  412. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts +1 -0
  413. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts.map +1 -1
  414. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
  415. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.d.ts.map +1 -1
  416. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.d.ts.map +1 -1
  417. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.d.ts.map +1 -1
  418. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts +1 -0
  419. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts.map +1 -1
  420. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.d.ts.map +1 -1
  421. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  422. package/lib/typescript/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.d.ts.map +1 -1
  423. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.d.ts.map +1 -1
  424. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts +22 -0
  425. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts.map +1 -1
  426. package/lib/typescript/src/v4/assets/icons/lock.d.ts +1 -1
  427. package/lib/typescript/src/v4/assets/icons/lock.d.ts.map +1 -1
  428. package/lib/typescript/src/v4/assets/icons/toast.d.ts +3 -3
  429. package/lib/typescript/src/v4/assets/icons/toast.d.ts.map +1 -1
  430. package/lib/typescript/src/v4/component/Avatar/Avatar.d.ts.map +1 -1
  431. package/lib/typescript/src/v4/component/CommunitySearchResult/CommunitySearchResult.d.ts.map +1 -1
  432. package/lib/typescript/src/v4/component/CommunityStories/index.d.ts.map +1 -1
  433. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts +5 -0
  434. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts.map +1 -1
  435. package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts.map +1 -1
  436. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts +2 -1
  437. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts.map +1 -1
  438. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts +21 -0
  439. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts.map +1 -1
  440. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts +2 -1
  441. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts.map +1 -1
  442. package/lib/typescript/src/v4/component/MyAvatar/MyAvatar.d.ts.map +1 -1
  443. package/lib/typescript/src/v4/component/MyStories/StoryCircleItem.d.ts.map +1 -1
  444. package/lib/typescript/src/v4/component/MyStories/styles.d.ts +5 -0
  445. package/lib/typescript/src/v4/component/MyStories/styles.d.ts.map +1 -1
  446. package/lib/typescript/src/v4/component/PollContent/PollResults.d.ts.map +1 -1
  447. package/lib/typescript/src/v4/component/RenderTextWithMention/RenderTextWithMention.d.ts.map +1 -1
  448. package/lib/typescript/src/v4/component/SearchResultItem/SearchResultItem.d.ts.map +1 -1
  449. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts +1 -0
  450. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts.map +1 -1
  451. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts +12 -0
  452. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts.map +1 -1
  453. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts +2 -1
  454. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts.map +1 -1
  455. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts +2 -1
  456. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts.map +1 -1
  457. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  458. package/lib/typescript/src/v4/constants/index.d.ts +2 -0
  459. package/lib/typescript/src/v4/constants/index.d.ts.map +1 -1
  460. package/lib/typescript/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.d.ts.map +1 -1
  461. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts +1 -1
  462. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts.map +1 -1
  463. package/lib/typescript/src/v4/enum/roomStatus.d.ts +7 -5
  464. package/lib/typescript/src/v4/enum/roomStatus.d.ts.map +1 -1
  465. package/lib/typescript/src/v4/features/community/AddMember/hooks/useAddMember.d.ts.map +1 -1
  466. package/lib/typescript/src/v4/features/community/Membership/components/MemberItem/MemberItem.d.ts.map +1 -1
  467. package/lib/typescript/src/v4/features/community/Setting/hooks/useCommunitySetting.d.ts.map +1 -1
  468. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts +12 -0
  469. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts.map +1 -0
  470. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts +2 -0
  471. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts.map +1 -0
  472. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts +30 -0
  473. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts.map +1 -0
  474. package/lib/typescript/src/v4/features/feed/components/index.d.ts +2 -0
  475. package/lib/typescript/src/v4/features/feed/components/index.d.ts.map +1 -0
  476. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts +12 -0
  477. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts.map +1 -0
  478. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts +2 -0
  479. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts.map +1 -0
  480. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts +17 -0
  481. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts.map +1 -0
  482. package/lib/typescript/src/v4/features/feed/elements/index.d.ts +2 -0
  483. package/lib/typescript/src/v4/features/feed/elements/index.d.ts.map +1 -0
  484. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts +2 -0
  485. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts.map +1 -0
  486. package/lib/typescript/src/v4/hook/useAmityGlobalSearchViewModel.d.ts.map +1 -1
  487. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts +6 -1
  488. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts.map +1 -1
  489. package/lib/typescript/src/v4/hook/usePaginator.d.ts.map +1 -1
  490. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts +1 -38
  491. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts.map +1 -1
  492. package/lib/typescript/src/v4/hook/usePoll.d.ts +1 -1
  493. package/lib/typescript/src/v4/hook/usePostPermission.d.ts +6 -0
  494. package/lib/typescript/src/v4/hook/usePostPermission.d.ts.map +1 -0
  495. package/lib/typescript/src/v4/hook/useSearch.d.ts.map +1 -1
  496. package/lib/typescript/src/v4/routes/AmityPageRenderer.d.ts.map +1 -1
  497. package/lib/typescript/src/v4/routes/AmitySocialUIKitV4Navigator.d.ts.map +1 -1
  498. package/lib/typescript/src/v4/routes/RouteParamList.d.ts +1 -0
  499. package/lib/typescript/src/v4/routes/RouteParamList.d.ts.map +1 -1
  500. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts +3 -0
  501. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts.map +1 -0
  502. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts +2 -0
  503. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts.map +1 -0
  504. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts +34 -0
  505. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts.map +1 -0
  506. package/lib/typescript/src/v4/screen/PostDetail/index.d.ts.map +1 -1
  507. package/package.json +10 -7
  508. package/src/components/AddMembersModal/index.tsx +10 -2
  509. package/src/components/ErrorBoundary/ErrorBoundary.tsx +84 -0
  510. package/src/components/ErrorBoundary/index.ts +2 -0
  511. package/src/components/Social/PostList/index.tsx +7 -2
  512. package/src/components/Toast/Toast.tsx +1 -0
  513. package/src/hooks/useAuth.ts +2 -0
  514. package/src/hooks/useSearch.ts +7 -1
  515. package/src/index.tsx +2 -0
  516. package/src/providers/Social/communities-sdk.ts +1 -1
  517. package/src/providers/amity-ui-kit-provider.tsx +33 -27
  518. package/src/providers/auth-provider.tsx +17 -7
  519. package/src/providers/file-provider.tsx +42 -20
  520. package/src/redux/slices/globalfeedSlice.ts +26 -16
  521. package/src/screens/CommunitySearch/index.tsx +7 -1
  522. package/src/snippet/AmityGlobalFeedComponent.tsx +6 -1
  523. package/src/svg/svg-xml-list.ts +6 -0
  524. package/src/types/auth.interface.ts +1 -0
  525. package/src/types/user.interface.ts +1 -0
  526. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +3 -3
  527. package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx +38 -22
  528. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +33 -22
  529. package/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.tsx +27 -2
  530. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +31 -45
  531. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.tsx +39 -15
  532. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.ts +3 -2
  533. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.tsx +38 -23
  534. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.ts +5 -7
  535. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +1 -0
  536. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.tsx +2 -2
  537. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.tsx +1 -1
  538. package/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.tsx +8 -24
  539. package/src/v4/PublicApi/Elements/CommonElements/AvatarElement.tsx +23 -10
  540. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +13 -3
  541. package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.tsx +30 -24
  542. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.tsx +22 -78
  543. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.ts +1 -1
  544. package/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.tsx +46 -0
  545. package/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.tsx +20 -1
  546. package/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.tsx +0 -1
  547. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +27 -33
  548. package/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.tsx +24 -7
  549. package/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.tsx +123 -57
  550. package/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.ts +23 -1
  551. package/src/v4/assets/icons/lock.tsx +7 -6
  552. package/src/v4/assets/icons/poll.tsx +2 -2
  553. package/src/v4/assets/icons/toast.tsx +12 -9
  554. package/src/v4/component/Avatar/Avatar.tsx +5 -2
  555. package/src/v4/component/CommunityRowItem/CommunityRowItem.tsx +4 -4
  556. package/src/v4/component/CommunitySearchResult/CommunitySearchResult.tsx +3 -1
  557. package/src/v4/component/CommunityStories/index.tsx +26 -17
  558. package/src/v4/component/CommunityStories/styles.ts +7 -2
  559. package/src/v4/component/LivestreamContent/index.tsx +3 -2
  560. package/src/v4/component/LoadingImage/index.tsx +28 -25
  561. package/src/v4/component/LoadingImage/styles.ts +17 -0
  562. package/src/v4/component/LoadingVideo/index.tsx +13 -7
  563. package/src/v4/component/MyAvatar/MyAvatar.tsx +12 -6
  564. package/src/v4/component/MyStories/StoryCircleItem.tsx +19 -12
  565. package/src/v4/component/MyStories/styles.ts +5 -0
  566. package/src/v4/component/PollContent/PollResults.tsx +17 -11
  567. package/src/v4/component/RenderTextWithMention/RenderTextWithMention.tsx +16 -10
  568. package/src/v4/component/SearchResultItem/SearchResultItem.tsx +3 -0
  569. package/src/v4/component/Social/CommentList/CommentList.tsx +69 -56
  570. package/src/v4/component/Social/CommentList/styles.ts +12 -0
  571. package/src/v4/component/Social/CommentListItem/CommentListItem.tsx +3 -1
  572. package/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.tsx +3 -0
  573. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +23 -1
  574. package/src/v4/constants/index.ts +4 -0
  575. package/src/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.tsx +1 -1
  576. package/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.tsx +6 -2
  577. package/src/v4/elements/CommunityRowImage/CommunityRowImage.tsx +7 -34
  578. package/src/v4/engine/AssetDownloader.ts +1 -1
  579. package/src/v4/enum/roomStatus.ts +8 -6
  580. package/src/v4/features/community/AddMember/hooks/useAddMember.ts +6 -0
  581. package/src/v4/features/community/Membership/components/MemberItem/MemberItem.tsx +1 -0
  582. package/src/v4/features/community/Setting/hooks/useCommunitySetting.ts +4 -2
  583. package/src/v4/{component/CommunityCategoryChips/CommunityCategoryChips.tsx → features/feed/components/CommunityCategories/CommunityCategories.tsx} +20 -22
  584. package/src/v4/features/feed/components/CommunityCategories/index.ts +1 -0
  585. package/src/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.ts +4 -2
  586. package/src/v4/features/feed/components/index.ts +1 -0
  587. package/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx +45 -0
  588. package/src/v4/features/feed/elements/CommunityCategory/index.ts +1 -0
  589. package/src/v4/features/feed/elements/CommunityCategory/styles.ts +20 -0
  590. package/src/v4/features/feed/elements/index.ts +1 -0
  591. package/src/v4/features/room/hooks/useRoom.ts +20 -0
  592. package/src/v4/hook/useAmityGlobalSearchViewModel.ts +7 -1
  593. package/src/v4/hook/useCustomRankingGlobalFeed.ts +55 -46
  594. package/src/v4/hook/usePaginator.ts +60 -31
  595. package/src/v4/hook/usePostPermission.ts +46 -0
  596. package/src/v4/hook/useSearch.ts +7 -1
  597. package/src/v4/routes/AmityPageRenderer.tsx +6 -0
  598. package/src/v4/routes/AmitySocialUIKitV4Navigator.tsx +6 -1
  599. package/src/v4/routes/RouteParamList.tsx +1 -0
  600. package/src/v4/screen/FollowerList/Components/FollowerListItem.tsx +1 -1
  601. package/src/v4/screen/GlobalBan/GlobalBan.tsx +38 -0
  602. package/src/v4/screen/GlobalBan/index.ts +1 -0
  603. package/src/v4/screen/GlobalBan/styles.ts +39 -0
  604. package/src/v4/screen/PostDetail/index.tsx +1 -0
  605. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -38
  606. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  607. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  608. package/lib/commonjs/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  609. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js +0 -38
  610. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  611. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -30
  612. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  613. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  614. package/lib/module/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  615. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js +0 -31
  616. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  617. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts +0 -11
  618. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts.map +0 -1
  619. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts +0 -11
  620. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts.map +0 -1
  621. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts +0 -27
  622. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts.map +0 -1
  623. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts +0 -12
  624. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts.map +0 -1
  625. package/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.tsx +0 -47
  626. package/src/v4/elements/CommunityCatetory/CommunityCategory.tsx +0 -41
@@ -17,6 +17,8 @@ import { AdEngineProvider } from '../v4/providers/AdEngineProvider';
17
17
  import BottomSheetComponent from '../v4/component/BottomSheetComponent/BottomSheetComponent';
18
18
  import Toast from '../v4/component/Toast';
19
19
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
20
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
21
+ import { ErrorBoundary } from '../components/ErrorBoundary';
20
22
 
21
23
  export type CusTomTheme = typeof DefaultTheme;
22
24
  export interface IAmityUIkitProvider {
@@ -143,32 +145,36 @@ export default function AmityUiKitProvider({
143
145
  };
144
146
 
145
147
  return (
146
- <QueryClientProvider client={queryClient}>
147
- <Provider store={store} context={AmityUIKitReduxContext}>
148
- <AuthContextProvider
149
- userId={userId}
150
- displayName={displayName || userId}
151
- apiKey={apiKey}
152
- apiRegion={apiRegion}
153
- apiEndpoint={apiEndpoint}
154
- authToken={authToken}
155
- fcmToken={fcmToken}
156
- >
157
- <AdEngineProvider>
158
- <ConfigProvider configs={configData}>
159
- <BehaviourProvider behaviour={behaviour}>
160
- <ExploreProvider>
161
- <PaperProvider theme={globalTheme}>
162
- {children}
163
- <BottomSheetComponent />
164
- <Toast />
165
- </PaperProvider>
166
- </ExploreProvider>
167
- </BehaviourProvider>
168
- </ConfigProvider>
169
- </AdEngineProvider>
170
- </AuthContextProvider>
171
- </Provider>
172
- </QueryClientProvider>
148
+ <ErrorBoundary>
149
+ <SafeAreaProvider>
150
+ <QueryClientProvider client={queryClient}>
151
+ <Provider store={store} context={AmityUIKitReduxContext}>
152
+ <AuthContextProvider
153
+ userId={userId}
154
+ displayName={displayName || userId}
155
+ apiKey={apiKey}
156
+ apiRegion={apiRegion}
157
+ apiEndpoint={apiEndpoint}
158
+ authToken={authToken}
159
+ fcmToken={fcmToken}
160
+ >
161
+ <AdEngineProvider>
162
+ <ConfigProvider configs={configData}>
163
+ <BehaviourProvider behaviour={behaviour}>
164
+ <ExploreProvider>
165
+ <PaperProvider theme={globalTheme}>
166
+ {children}
167
+ <BottomSheetComponent />
168
+ <Toast />
169
+ </PaperProvider>
170
+ </ExploreProvider>
171
+ </BehaviourProvider>
172
+ </ConfigProvider>
173
+ </AdEngineProvider>
174
+ </AuthContextProvider>
175
+ </Provider>
176
+ </QueryClientProvider>
177
+ </SafeAreaProvider>
178
+ </ErrorBoundary>
173
179
  );
174
180
  }
@@ -4,8 +4,7 @@ import { Client } from '@amityco/ts-sdk-react-native';
4
4
  import type { AuthContextInterface } from '../types/auth.interface';
5
5
  import { Alert, Platform } from 'react-native';
6
6
  import type { IAmityUIkitProvider } from './amity-ui-kit-provider';
7
- // @ts-ignore
8
- // import { setupAmityVideoPlayer } from '@amityco/video-player-react-native';
7
+ import { ERROR_CODE } from '../v4/constants';
9
8
 
10
9
  export const AuthContext = React.createContext<AuthContextInterface>({
11
10
  client: null,
@@ -18,6 +17,7 @@ export const AuthContext = React.createContext<AuthContextInterface>({
18
17
  apiRegion: 'sg',
19
18
  authToken: '',
20
19
  fcmToken: undefined,
20
+ isGlobalBan: false,
21
21
  });
22
22
 
23
23
  export const AuthContextProvider: FC<IAmityUIkitProvider> = ({
@@ -37,6 +37,7 @@ export const AuthContextProvider: FC<IAmityUIkitProvider> = ({
37
37
  const client: Amity.Client = Client.createClient(apiKey, apiRegion, {
38
38
  apiEndpoint: { http: apiEndpoint },
39
39
  });
40
+ const [isGlobalBan, setIsGlobalBan] = useState(false);
40
41
 
41
42
  const sessionHandler: Amity.SessionHandler = {
42
43
  sessionWillRenewAccessToken(renewal) {
@@ -45,8 +46,11 @@ export const AuthContextProvider: FC<IAmityUIkitProvider> = ({
45
46
  };
46
47
 
47
48
  useEffect(() => {
48
- return Client.onSessionStateChange((state: Amity.SessionStates) =>
49
- setSessionState(state)
49
+ return Client.onSessionStateChange(
50
+ (state: Amity.SessionStates, reason: Amity.TokenTerminationReason) => {
51
+ setSessionState(state);
52
+ setIsGlobalBan(reason === 'globalBan');
53
+ }
50
54
  );
51
55
  }, []);
52
56
 
@@ -77,8 +81,14 @@ export const AuthContextProvider: FC<IAmityUIkitProvider> = ({
77
81
  if (authToken?.length > 0) {
78
82
  loginParam = { ...loginParam, authToken: authToken };
79
83
  }
80
- const response = await Client.login(loginParam, sessionHandler);
81
- if (!response) return;
84
+ try {
85
+ const response = await Client.login(loginParam, sessionHandler);
86
+ if (!response) return;
87
+ } catch (err) {
88
+ if (err?.message?.includes(ERROR_CODE.GLOBAL_BAN)) {
89
+ setIsGlobalBan(true);
90
+ }
91
+ }
82
92
 
83
93
  // setupAmityVideoPlayer();
84
94
 
@@ -149,11 +159,11 @@ export const AuthContextProvider: FC<IAmityUIkitProvider> = ({
149
159
  isConnected,
150
160
  sessionState,
151
161
  apiRegion: apiRegion.toLowerCase(),
162
+ isGlobalBan,
152
163
  }}
153
164
  >
154
165
  {children}
155
166
  </AuthContext.Provider>
156
- //
157
167
  );
158
168
  };
159
169
  export default AuthContextProvider;
@@ -38,29 +38,51 @@ export async function uploadImageFile(
38
38
  perCentCallback?: (percent: number) => void
39
39
  ): Promise<Amity.File<'image'>[]> {
40
40
  return await new Promise(async (resolve, reject) => {
41
- const formData = new FormData();
42
- const parts = filePath.split('/');
43
- const fileName = parts[parts.length - 1];
44
- const fileType = Platform.OS === 'ios' ? 'image/jpeg' : 'image/jpg';
45
- const uri =
46
- Platform.OS === 'android' ? filePath : filePath.replace('file://', '');
41
+ try {
42
+ const formData = new FormData();
43
+ const parts = filePath.split('/');
44
+ const fileName = parts[parts.length - 1];
45
+ const fileType = Platform.OS === 'ios' ? 'image/jpeg' : 'image/jpg';
46
+ const uri =
47
+ Platform.OS === 'android' ? filePath : filePath.replace('file://', '');
47
48
 
48
- formData.append('files', {
49
- name: fileName,
50
- type: fileType,
51
- uri: uri,
52
- });
49
+ formData.append('files', {
50
+ name: fileName,
51
+ type: fileType,
52
+ uri: uri,
53
+ });
53
54
 
54
- const { data: file } = await FileRepository.uploadImage(
55
- formData,
56
- (percent) => {
57
- perCentCallback && perCentCallback(percent);
55
+ const { data: file } = await FileRepository.uploadImage(
56
+ formData,
57
+ (percent) => {
58
+ perCentCallback && perCentCallback(percent);
59
+ }
60
+ );
61
+
62
+ if (file) {
63
+ resolve(file);
64
+ } else {
65
+ reject({ message: 'Upload failed - no file data returned' });
66
+ }
67
+ } catch (error: any) {
68
+ if (
69
+ error?.message?.includes('INVALID_IMAGE') ||
70
+ error?.message?.includes('Inappropriate')
71
+ ) {
72
+ reject({
73
+ message: 'Inappropriate image',
74
+ details: 'Please choose a different image to upload.',
75
+ code: 'INVALID_IMAGE',
76
+ });
77
+ } else {
78
+ reject({
79
+ message: 'Upload failed',
80
+ details:
81
+ error?.message ||
82
+ "We couldn't complete your upload. Please try again.",
83
+ originalError: error,
84
+ });
58
85
  }
59
- );
60
- if (file) {
61
- resolve(file);
62
- } else {
63
- reject('Upload error');
64
86
  }
65
87
  });
66
88
  }
@@ -21,23 +21,28 @@ const globalFeedSlice = createSlice({
21
21
  initialState,
22
22
  reducers: {
23
23
  setNewGlobalFeed: (state, action: PayloadAction<Amity.Post<any>[]>) => {
24
- state.postList = [...action.payload];
24
+ const seen = new Set<string>();
25
+ state.postList = action.payload.filter((post) => {
26
+ if (seen.has(post.postId)) return false;
27
+ seen.add(post.postId);
28
+ return true;
29
+ });
25
30
  },
26
31
  updateGlobalFeed: (state, action: PayloadAction<Amity.Post<any>[]>) => {
27
- const getUniqueArrayById = (arr: (Amity.Post<any> | Amity.Ad)[]) => {
28
- const uniqueIds = new Set(
29
- state.postList.map((post) =>
30
- isAmityAd(post) ? post.adId : post.postId
31
- )
32
- );
33
- return arr.filter(
34
- (post) => !uniqueIds.has(isAmityAd(post) ? post.adId : post.postId)
35
- );
36
- };
37
- state.postList = [
38
- ...state.postList,
39
- ...getUniqueArrayById(action.payload),
40
- ];
32
+ const uniqueIds = new Set(
33
+ state.postList.map((post) =>
34
+ isAmityAd(post) ? post.adId : post.postId
35
+ )
36
+ );
37
+ const newUnique: (Amity.Post<any> | Amity.Ad)[] = [];
38
+ for (const post of action.payload) {
39
+ const id = isAmityAd(post) ? post.adId : post.postId;
40
+ if (!uniqueIds.has(id)) {
41
+ uniqueIds.add(id);
42
+ newUnique.push(post);
43
+ }
44
+ }
45
+ state.postList = [...state.postList, ...newUnique];
41
46
  },
42
47
  setPaginationData: (
43
48
  state,
@@ -46,7 +51,12 @@ const globalFeedSlice = createSlice({
46
51
  state.paginationData = action.payload;
47
52
  },
48
53
  addPostToGlobalFeed: (state, action: PayloadAction<Amity.Post<any>>) => {
49
- state.postList = [action.payload, ...state.postList];
54
+ const alreadyExists = state.postList.some(
55
+ (item) => !isAmityAd(item) && item.postId === action.payload.postId
56
+ );
57
+ if (!alreadyExists) {
58
+ state.postList = [action.payload, ...state.postList];
59
+ }
50
60
  },
51
61
  updateByPostId: (
52
62
  state,
@@ -15,6 +15,7 @@ import { useNavigation } from '@react-navigation/native';
15
15
  import CustomTab from '../../components/CustomTab';
16
16
  import {
17
17
  CommunityRepository,
18
+ SearchUsersByEnum,
18
19
  UserRepository,
19
20
  } from '@amityco/ts-sdk-react-native';
20
21
  import type { ISearchItem } from '../../components/SearchItem';
@@ -83,7 +84,12 @@ export default function CommunitySearch() {
83
84
  const searchAccounts = (text: string = '') => {
84
85
  if (text.length > 2) {
85
86
  const unsubscribe = UserRepository.searchUserByDisplayName(
86
- { displayName: text, limit: 20 },
87
+ {
88
+ displayName: text,
89
+ limit: 20,
90
+ searchBy: [SearchUsersByEnum.DISPLAY_NAME],
91
+ matchType: UserRepository.AmityUserSearchMatchType.PARTIAL,
92
+ },
87
93
  (data) => {
88
94
  setUsersObject(data);
89
95
  }
@@ -25,6 +25,11 @@ import config from '../../uikit.config.json';
25
25
  },
26
26
  }}
27
27
  >
28
- <AmityGlobalFeedComponent />
28
+ <AmityGlobalFeedComponent
29
+ itemWithAds={[]}
30
+ refresh={() => Promise.resolve()}
31
+ loading={false}
32
+ onNextPage={() => null}
33
+ />
29
34
  </AmityUiKitProvider>;
30
35
  /* end_sample_code */
@@ -429,3 +429,9 @@ export const infoIcon = (
429
429
  ): string => `<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
430
430
  <path d="M8 2.25006C4.25 2.25006 1.25 5.28131 1.25 9.00006C1.25 12.7501 4.25 15.7501 8 15.7501C11.7188 15.7501 14.75 12.7501 14.75 9.00006C14.75 5.28131 11.6875 2.25006 8 2.25006ZM8 1.25006C12.25 1.25006 15.75 4.75006 15.75 9.00006C15.75 13.2813 12.25 16.7501 8 16.7501C3.71875 16.7501 0.25 13.2813 0.25 9.00006C0.25 4.75006 3.71875 1.25006 8 1.25006ZM6.875 12.0001H7.25V8.25006H6.875C6.65625 8.25006 6.5 8.09381 6.5 7.87506V7.62506C6.5 7.43756 6.65625 7.25006 6.875 7.25006H8.375C8.5625 7.25006 8.75 7.43756 8.75 7.62506V12.0001H9.125C9.3125 12.0001 9.5 12.1876 9.5 12.3751V12.6251C9.5 12.8438 9.3125 13.0001 9.125 13.0001H6.875C6.65625 13.0001 6.5 12.8438 6.5 12.6251V12.3751C6.5 12.1876 6.65625 12.0001 6.875 12.0001ZM8 4.50006C8.53125 4.50006 9 4.96881 9 5.50006C9 6.06256 8.53125 6.50006 8 6.50006C7.4375 6.50006 7 6.06256 7 5.50006C7 4.96881 7.4375 4.50006 8 4.50006Z" fill="${color}"/>
431
431
  </svg>`;
432
+ export const errorIcon = (
433
+ color: string = '#fff'
434
+ ): string => `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
435
+ <circle cx="8" cy="8" r="7.25" fill="#FA4D30" stroke="#fff" strokeWidth="1.5"></circle>
436
+ <path d="M9.25 10.75C9.25 11.453 8.687 12 8 12c-.703 0-1.25-.547-1.25-1.25 0-.688.547-1.25 1.25-1.25.688 0 1.25.563 1.25 1.25zM6.89 4.406A.378.378 0 017.267 4h1.453c.219 0 .39.188.375.406l-.203 4.25A.387.387 0 018.516 9H7.469a.387.387 0 01-.375-.344l-.203-4.25z" fill="${color}"/>
437
+ </svg>`;
@@ -9,4 +9,5 @@ export type AuthContextInterface = {
9
9
  apiRegion: string;
10
10
  authToken?: string;
11
11
  fcmToken?: string;
12
+ isGlobalBan: boolean;
12
13
  };
@@ -11,4 +11,5 @@ export interface UserInterface {
11
11
  userId: string;
12
12
  displayName: string;
13
13
  avatarFileId: string;
14
+ avatarCustomUrl?: string;
14
15
  }
@@ -11,7 +11,6 @@ import CommunityCover from '../../../elements/CommunityCover/CommunityCover';
11
11
  import CommunityPrivateBadge from '../../../elements/CommunityPrivateBadge/CommunityPrivateBadge';
12
12
  import CommunityName from '../../../elements/CommunityName/CommunityName';
13
13
  import CommunityVerifyBadge from '../../../elements/CommunityVerifyBadge/CommunityVerifyBadge';
14
- import CommunityCategory from '../../../elements/CommunityCatetory/CommunityCategory';
15
14
  import CommunityDescription from '../../../elements/CommunityDescription/CommunityDescription';
16
15
  import CommunityInfo from '../../../elements/CommunityInfo/CommunityInfo';
17
16
  import CommunityJoinButtonElement from '../../../elements/CommunityJoinButtonElement/CommunityJoinButtonElement';
@@ -24,6 +23,7 @@ import { useNavigation } from '@react-navigation/native';
24
23
  import { NativeStackNavigationProp } from '@react-navigation/native-stack';
25
24
  import { RootStackParamList } from '../../../../v4/routes/RouteParamList';
26
25
  import { Client } from '@amityco/ts-sdk-react-native';
26
+ import { CommunityCategories } from '../../../../v4/features/feed/components';
27
27
 
28
28
  export interface AmityCommunityHeaderRef {
29
29
  height: number;
@@ -135,10 +135,10 @@ const AmityCommunityHeaderComponent: FC<AmityCommunityHeaderComponentProps> = ({
135
135
  <CommunityVerifyBadge pageId={pageId} componentId={componentId} />
136
136
  )}
137
137
  </View>
138
- <CommunityCategory
138
+ <CommunityCategories
139
139
  pageId={pageId}
140
140
  componentId={componentId}
141
- categoryIds={community.categoryIds}
141
+ categories={community.categories}
142
142
  allVisible={true}
143
143
  style={styles.categoryWrap}
144
144
  />
@@ -1,13 +1,14 @@
1
1
  import React, { useCallback, memo } from 'react';
2
2
  import { StyleSheet, View } from 'react-native';
3
- import { ComponentID, ElementID, PageID } from '../../../enum/enumUIKitID';
3
+ import { ComponentID, PageID } from '../../../enum/enumUIKitID';
4
4
  import { useAmityComponent, useStoryPermission } from '../../../hook';
5
5
  import { useBehaviour } from '../../../providers/BehaviourProvider';
6
6
  import { useNavigation } from '@react-navigation/native';
7
7
  import { StackNavigationProp } from '@react-navigation/stack';
8
8
  import { RootStackParamList } from '../../../../v4/routes/RouteParamList';
9
- import ButtonWithIconElement from '../../Elements/ButtonWithIconElement/ButtonWithIconElement';
10
9
  import { AmityPostTargetSelectionPageType } from '../../../enum';
10
+ import { livestream, poll, post, story } from '../../../../v4/assets/icons';
11
+ import MenuAction from '../../../../v4/elements/MenuAction';
11
12
 
12
13
  interface AmityCreatePostMenuComponentProps {
13
14
  pageId?: PageID;
@@ -32,6 +33,13 @@ const AmityCreatePostMenuComponent = ({
32
33
  backgroundColor: themeStyles.colors.background,
33
34
  borderRadius: 12,
34
35
  },
36
+ menu: {
37
+ gap: 12,
38
+ paddingVertical: 12,
39
+ paddingHorizontal: 16,
40
+ flexDirection: 'row',
41
+ alignItems: 'center',
42
+ },
35
43
  });
36
44
 
37
45
  const onPressCreatePost = useCallback(
@@ -78,33 +86,41 @@ const AmityCreatePostMenuComponent = ({
78
86
 
79
87
  return (
80
88
  <View style={styles.container}>
81
- <ButtonWithIconElement
82
- pageId={pageId}
83
- componentId={componentId}
84
- elementId={ElementID.create_post_button}
85
- onClick={() => onPressCreatePost(AmityPostTargetSelectionPageType.post)}
89
+ <MenuAction
90
+ onPress={() => onPressCreatePost(AmityPostTargetSelectionPageType.post)}
91
+ style={styles.menu}
92
+ label="Post"
93
+ iconProps={{
94
+ xml: post(),
95
+ }}
86
96
  />
87
97
  {hasStoryPermission && (
88
- <ButtonWithIconElement
89
- pageId={pageId}
90
- componentId={componentId}
91
- elementId={ElementID.create_story_button}
92
- onClick={() =>
98
+ <MenuAction
99
+ style={styles.menu}
100
+ label="Story"
101
+ iconProps={{
102
+ xml: story(),
103
+ }}
104
+ onPress={() =>
93
105
  onPressCreatePost(AmityPostTargetSelectionPageType.story)
94
106
  }
95
107
  />
96
108
  )}
97
- <ButtonWithIconElement
98
- pageId={pageId}
99
- componentId={componentId}
100
- elementId={ElementID.create_poll_button}
101
- onClick={() => onPressCreatePost(AmityPostTargetSelectionPageType.poll)}
109
+ <MenuAction
110
+ style={styles.menu}
111
+ label="Poll"
112
+ iconProps={{
113
+ xml: poll(),
114
+ }}
115
+ onPress={() => onPressCreatePost(AmityPostTargetSelectionPageType.poll)}
102
116
  />
103
- <ButtonWithIconElement
104
- pageId={pageId}
105
- componentId={componentId}
106
- elementId={ElementID.create_livestream_button}
107
- onClick={() =>
117
+ <MenuAction
118
+ style={styles.menu}
119
+ label="Livestream"
120
+ iconProps={{
121
+ xml: livestream(),
122
+ }}
123
+ onPress={() =>
108
124
  onPressCreatePost(AmityPostTargetSelectionPageType.livestream)
109
125
  }
110
126
  />
@@ -1,4 +1,4 @@
1
- import React, { FC, memo, useCallback, useRef, useState } from 'react';
1
+ import React, { FC, memo, useCallback, useMemo, useRef, useState } from 'react';
2
2
  import { FlatList, View } from 'react-native';
3
3
 
4
4
  import { RefreshControl } from 'react-native';
@@ -10,10 +10,7 @@ import AmityStoryTabComponent from '../AmityStoryTabComponent/AmityStoryTabCompo
10
10
  import { AmityStoryTabComponentEnum } from '../../types';
11
11
  import { usePostImpression } from '../../../../v4/hook/usePostImpression';
12
12
  import { useStyle } from './styles';
13
- import {
14
- isAmityAd,
15
- useCustomRankingGlobalFeed,
16
- } from '../../../hook/useCustomRankingGlobalFeed';
13
+ import { isAmityAd } from '../../../hook/useCustomRankingGlobalFeed';
17
14
  import PostAdComponent from '../../../component/PostAdComponent/PostAdComponent';
18
15
  import Divider from '../../../component/Divider';
19
16
 
@@ -21,6 +18,10 @@ type AmityGlobalFeedComponentType = {
21
18
  pageId?: PageID;
22
19
  isShowStoryTab?: boolean;
23
20
  GlobalFeedHeaderComponent?: React.ReactElement;
21
+ itemWithAds: (Amity.Post | Amity.Ad)[] | undefined;
22
+ refresh: () => void;
23
+ loading: boolean;
24
+ onNextPage: (() => void) | null;
24
25
  };
25
26
 
26
27
  export const globalFeedPageLimit = 20;
@@ -29,9 +30,11 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
29
30
  pageId,
30
31
  isShowStoryTab = true,
31
32
  GlobalFeedHeaderComponent,
33
+ itemWithAds,
34
+ refresh,
35
+ loading,
36
+ onNextPage,
32
37
  }) => {
33
- const { itemWithAds, refresh, loading, onNextPage } =
34
- useCustomRankingGlobalFeed();
35
38
  const componentId = ComponentID.global_feed_component;
36
39
  const { isExcluded, themeStyles, accessibilityId } = useAmityComponent({
37
40
  pageId,
@@ -59,6 +62,24 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
59
62
  )
60
63
  );
61
64
 
65
+ const viewabilityConfig = useRef({
66
+ viewAreaCoveragePercentThreshold: 60,
67
+ }).current;
68
+
69
+ const listHeaderComponent = useMemo(() => {
70
+ if (isShowStoryTab) {
71
+ return (
72
+ <View>
73
+ {GlobalFeedHeaderComponent}
74
+ <AmityStoryTabComponent
75
+ type={AmityStoryTabComponentEnum.globalFeed}
76
+ />
77
+ </View>
78
+ );
79
+ }
80
+ return GlobalFeedHeaderComponent || null;
81
+ }, [isShowStoryTab, GlobalFeedHeaderComponent]);
82
+
62
83
  if (isExcluded) return null;
63
84
 
64
85
  return (
@@ -86,8 +107,9 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
86
107
  );
87
108
  }}
88
109
  keyExtractor={(item, index) =>
89
- (isAmityAd(item) ? item.adId.toString() : item.postId.toString()) +
90
- `_${index}`
110
+ isAmityAd(item)
111
+ ? item.adId.toString() + '_' + index
112
+ : item.postId.toString() + '_' + index
91
113
  }
92
114
  onEndReachedThreshold={0.5}
93
115
  onEndReached={handleLoadMore}
@@ -101,19 +123,8 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
101
123
  />
102
124
  }
103
125
  keyboardShouldPersistTaps="handled"
104
- ListHeaderComponent={
105
- !refreshing && !loading && isShowStoryTab ? (
106
- <View>
107
- {GlobalFeedHeaderComponent}
108
- <AmityStoryTabComponent
109
- type={AmityStoryTabComponentEnum.globalFeed}
110
- />
111
- </View>
112
- ) : (
113
- GlobalFeedHeaderComponent
114
- )
115
- }
116
- viewabilityConfig={{ viewAreaCoveragePercentThreshold: 60 }}
126
+ ListHeaderComponent={listHeaderComponent}
127
+ viewabilityConfig={viewabilityConfig}
117
128
  onViewableItemsChanged={handleViewChange}
118
129
  extraData={itemWithAds}
119
130
  />
@@ -5,23 +5,42 @@ import AmityGlobalFeedComponent from '../AmityGlobalFeedComponent/AmityGlobalFee
5
5
  import { useStyles } from './styles';
6
6
  import Divider from '../../../component/Divider';
7
7
  import { useAmityComponent } from '../../../hook';
8
+ import { useCustomRankingGlobalFeed } from '../../../hook/useCustomRankingGlobalFeed';
9
+ import NewsFeedLoadingComponent from '../../../component/NewsFeedLoadingComponent/NewsFeedLoadingComponent';
10
+ import AmityEmptyNewsFeedComponent from '../AmityEmptyNewsFeedComponent/AmityEmptyNewsFeedComponent';
8
11
 
9
12
  type AmityNewsFeedComponentType = {
10
13
  pageId?: PageID;
14
+ onPressExploreCommunity?: () => void;
11
15
  };
12
16
 
13
17
  const AmityNewsFeedComponent: FC<AmityNewsFeedComponentType> = ({
14
18
  pageId = PageID.WildCardPage,
19
+ onPressExploreCommunity,
15
20
  }) => {
21
+ const styles = useStyles();
16
22
  const componentId = ComponentID.newsfeed_component;
17
23
  const { themeStyles, accessibilityId, isExcluded } = useAmityComponent({
18
24
  pageId,
19
25
  componentId,
20
26
  });
21
27
 
22
- const styles = useStyles();
28
+ const { itemWithAds, refresh, globalFeedPosts, loading, onNextPage } =
29
+ useCustomRankingGlobalFeed();
30
+
23
31
  if (isExcluded) return null;
24
32
 
33
+ if (loading || (globalFeedPosts?.length > 0 && !itemWithAds?.length))
34
+ return <NewsFeedLoadingComponent />;
35
+
36
+ if (!loading && !globalFeedPosts?.length)
37
+ return (
38
+ <AmityEmptyNewsFeedComponent
39
+ pageId={pageId}
40
+ onPressExploreCommunity={onPressExploreCommunity}
41
+ />
42
+ );
43
+
25
44
  return (
26
45
  <View
27
46
  style={styles.container}
@@ -29,7 +48,13 @@ const AmityNewsFeedComponent: FC<AmityNewsFeedComponentType> = ({
29
48
  accessibilityLabel={accessibilityId}
30
49
  >
31
50
  <Divider themeStyles={themeStyles} />
32
- <AmityGlobalFeedComponent pageId={pageId} />
51
+ <AmityGlobalFeedComponent
52
+ pageId={pageId}
53
+ itemWithAds={itemWithAds}
54
+ refresh={refresh}
55
+ loading={loading}
56
+ onNextPage={onNextPage}
57
+ />
33
58
  </View>
34
59
  );
35
60
  };