@amityco/react-native-social-uikit 4.0.0-1fa7ca8.0 → 4.0.0-3473a9ea.0

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 (898) 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/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js +1 -1
  5. package/lib/commonjs/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js.map +1 -1
  6. package/lib/commonjs/components/CustomText/index.js +3 -4
  7. package/lib/commonjs/components/CustomText/index.js.map +1 -1
  8. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js +77 -0
  9. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  10. package/lib/commonjs/components/ErrorBoundary/index.js +20 -0
  11. package/lib/commonjs/components/ErrorBoundary/index.js.map +1 -0
  12. package/lib/commonjs/components/MediaSection/index.js +3 -3
  13. package/lib/commonjs/components/MediaSection/index.js.map +1 -1
  14. package/lib/commonjs/components/PostTypeChoiceModal/PostTypeChoiceModal.js +14 -5
  15. package/lib/commonjs/components/PostTypeChoiceModal/PostTypeChoiceModal.js.map +1 -1
  16. package/lib/commonjs/components/PostTypeChoiceModal/style.js +1 -2
  17. package/lib/commonjs/components/PostTypeChoiceModal/style.js.map +1 -1
  18. package/lib/commonjs/components/Social/PostList/Components/RenderTextWithMention.js.map +1 -1
  19. package/lib/commonjs/components/Social/PostList/index.js +8 -5
  20. package/lib/commonjs/components/Social/PostList/index.js.map +1 -1
  21. package/lib/commonjs/components/StoryKit/src/Story.js +1 -1
  22. package/lib/commonjs/components/StoryKit/src/Story.js.map +1 -1
  23. package/lib/commonjs/components/StoryKit/src/helpers/StateHelpers.js +1 -1
  24. package/lib/commonjs/components/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  25. package/lib/commonjs/components/Toast/Toast.js +2 -1
  26. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  27. package/lib/commonjs/hooks/useAuth.js +4 -2
  28. package/lib/commonjs/hooks/useAuth.js.map +1 -1
  29. package/lib/commonjs/hooks/useSearch.js +3 -1
  30. package/lib/commonjs/hooks/useSearch.js.map +1 -1
  31. package/lib/commonjs/index.js +13 -0
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/providers/Social/communities-sdk.js +2 -1
  34. package/lib/commonjs/providers/Social/communities-sdk.js.map +1 -1
  35. package/lib/commonjs/providers/amity-ui-kit-provider.js +4 -2
  36. package/lib/commonjs/providers/amity-ui-kit-provider.js.map +1 -1
  37. package/lib/commonjs/providers/auth-provider.js +20 -11
  38. package/lib/commonjs/providers/auth-provider.js.map +1 -1
  39. package/lib/commonjs/providers/file-provider.js +38 -19
  40. package/lib/commonjs/providers/file-provider.js.map +1 -1
  41. package/lib/commonjs/redux/slices/bottomSheetSlice.js.map +1 -1
  42. package/lib/commonjs/redux/slices/globalfeedSlice.js +20 -7
  43. package/lib/commonjs/redux/slices/globalfeedSlice.js.map +1 -1
  44. package/lib/commonjs/screens/CommunitySearch/index.js +3 -1
  45. package/lib/commonjs/screens/CommunitySearch/index.js.map +1 -1
  46. package/lib/commonjs/screens/CreateLivestream/CreateLivestream.js +16 -16
  47. package/lib/commonjs/screens/CreateLivestream/CreateLivestream.js.map +1 -1
  48. package/lib/commonjs/screens/LivestreamPlayer/index.js +3 -6
  49. package/lib/commonjs/screens/LivestreamPlayer/index.js.map +1 -1
  50. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +6 -1
  51. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  52. package/lib/commonjs/svg/svg-xml-list.js +7 -2
  53. package/lib/commonjs/svg/svg-xml-list.js.map +1 -1
  54. package/lib/commonjs/util/postTypeChecker.js.map +1 -1
  55. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +6 -9
  56. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  57. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +46 -26
  58. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  59. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +19 -14
  60. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  61. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  62. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  63. package/lib/commonjs/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js +2 -6
  64. package/lib/commonjs/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js.map +1 -1
  65. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  66. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  67. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  68. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  69. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  70. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  71. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  72. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  73. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  74. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  75. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +5 -7
  76. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  77. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +2 -2
  78. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  79. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +3 -2
  80. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  81. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +8 -23
  82. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  83. package/lib/commonjs/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.js.map +1 -1
  84. package/lib/commonjs/v4/PublicApi/Elements/ButtonWithIconElement/styles.js +3 -2
  85. package/lib/commonjs/v4/PublicApi/Elements/ButtonWithIconElement/styles.js.map +1 -1
  86. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  87. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  88. package/lib/commonjs/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js +3 -7
  89. package/lib/commonjs/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js.map +1 -1
  90. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +44 -29
  91. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  92. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js +2 -2
  93. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js.map +1 -1
  94. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +231 -76
  95. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  96. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js +50 -0
  97. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js.map +1 -0
  98. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js +71 -3
  99. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js.map +1 -1
  100. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +113 -124
  101. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  102. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +3 -2
  103. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  104. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +41 -8
  105. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  106. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  107. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  108. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  109. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +21 -29
  110. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  111. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  112. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  113. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js +3 -1
  114. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js.map +1 -1
  115. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  116. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  117. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  118. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  119. package/lib/commonjs/v4/assets/icons/lock.js +6 -4
  120. package/lib/commonjs/v4/assets/icons/lock.js.map +1 -1
  121. package/lib/commonjs/v4/assets/icons/poll.js +2 -2
  122. package/lib/commonjs/v4/assets/icons/toast.js +6 -6
  123. package/lib/commonjs/v4/assets/icons/toast.js.map +1 -1
  124. package/lib/commonjs/v4/component/Avatar/Avatar.js +5 -3
  125. package/lib/commonjs/v4/component/Avatar/Avatar.js.map +1 -1
  126. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  127. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  128. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  129. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  130. package/lib/commonjs/v4/component/CommunityStories/index.js +13 -5
  131. package/lib/commonjs/v4/component/CommunityStories/index.js.map +1 -1
  132. package/lib/commonjs/v4/component/CommunityStories/styles.js +7 -2
  133. package/lib/commonjs/v4/component/CommunityStories/styles.js.map +1 -1
  134. package/lib/commonjs/v4/component/LivestreamContent/index.js +12 -12
  135. package/lib/commonjs/v4/component/LivestreamContent/index.js.map +1 -1
  136. package/lib/commonjs/v4/component/LoadingImage/index.js +22 -25
  137. package/lib/commonjs/v4/component/LoadingImage/index.js.map +1 -1
  138. package/lib/commonjs/v4/component/LoadingImage/styles.js +19 -2
  139. package/lib/commonjs/v4/component/LoadingImage/styles.js.map +1 -1
  140. package/lib/commonjs/v4/component/LoadingVideo/index.js +12 -6
  141. package/lib/commonjs/v4/component/LoadingVideo/index.js.map +1 -1
  142. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js +9 -6
  143. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  144. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js +29 -7
  145. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  146. package/lib/commonjs/v4/component/MyStories/StoryTargetView.js +4 -2
  147. package/lib/commonjs/v4/component/MyStories/StoryTargetView.js.map +1 -1
  148. package/lib/commonjs/v4/component/MyStories/styles.js +5 -0
  149. package/lib/commonjs/v4/component/MyStories/styles.js.map +1 -1
  150. package/lib/commonjs/v4/component/PollContent/PollResults.js +15 -6
  151. package/lib/commonjs/v4/component/PollContent/PollResults.js.map +1 -1
  152. package/lib/commonjs/v4/component/PostContent/index.js +4 -4
  153. package/lib/commonjs/v4/component/PostContent/index.js.map +1 -1
  154. package/lib/commonjs/v4/component/PostMenu/index.js +4 -9
  155. package/lib/commonjs/v4/component/PostMenu/index.js.map +1 -1
  156. package/lib/commonjs/v4/component/PreviewLink/LinkPreview.js +3 -3
  157. package/lib/commonjs/v4/component/PreviewLink/LinkPreview.js.map +1 -1
  158. package/lib/commonjs/v4/component/PreviewLink/utils.js +9 -73
  159. package/lib/commonjs/v4/component/PreviewLink/utils.js.map +1 -1
  160. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js +16 -9
  161. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  162. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  163. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  164. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js +24 -15
  165. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js.map +1 -1
  166. package/lib/commonjs/v4/component/Social/CommentList/styles.js +12 -0
  167. package/lib/commonjs/v4/component/Social/CommentList/styles.js.map +1 -1
  168. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  169. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  170. package/lib/commonjs/v4/component/StoryKit/src/Story.js +1 -1
  171. package/lib/commonjs/v4/component/StoryKit/src/Story.js.map +1 -1
  172. package/lib/commonjs/v4/component/StoryKit/src/StoryCircleListItem.js +3 -1
  173. package/lib/commonjs/v4/component/StoryKit/src/StoryCircleListItem.js.map +1 -1
  174. package/lib/commonjs/v4/component/StoryKit/src/StoryListItem.js +3 -1
  175. package/lib/commonjs/v4/component/StoryKit/src/StoryListItem.js.map +1 -1
  176. package/lib/commonjs/v4/component/StoryKit/src/helpers/StateHelpers.js +1 -1
  177. package/lib/commonjs/v4/component/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  178. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  179. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  180. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  181. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  182. package/lib/commonjs/v4/component/Toast/index.js +4 -4
  183. package/lib/commonjs/v4/component/Toast/index.js.map +1 -1
  184. package/lib/commonjs/v4/component/Toast/styles.js +2 -2
  185. package/lib/commonjs/v4/component/Toast/styles.js.map +1 -1
  186. package/lib/commonjs/v4/constants/index.js +4 -2
  187. package/lib/commonjs/v4/constants/index.js.map +1 -1
  188. package/lib/commonjs/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.js.map +1 -1
  189. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  190. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  191. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  192. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  193. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js +4 -32
  194. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  195. package/lib/commonjs/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.js.map +1 -1
  196. package/lib/commonjs/v4/engine/AssetDownloader.js +2 -1
  197. package/lib/commonjs/v4/engine/AssetDownloader.js.map +1 -1
  198. package/lib/commonjs/v4/enum/roomStatus.js +16 -0
  199. package/lib/commonjs/v4/enum/roomStatus.js.map +1 -0
  200. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js +4 -1
  201. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  202. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  203. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  204. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  205. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  206. package/lib/commonjs/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +19 -21
  207. package/lib/commonjs/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  208. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js +13 -0
  209. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  210. package/lib/commonjs/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  211. package/lib/commonjs/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  212. package/lib/commonjs/v4/features/feed/components/index.js +17 -0
  213. package/lib/commonjs/v4/features/feed/components/index.js.map +1 -0
  214. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +42 -0
  215. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  216. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js +13 -0
  217. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  218. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js +29 -0
  219. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  220. package/lib/commonjs/v4/features/feed/elements/index.js +17 -0
  221. package/lib/commonjs/v4/features/feed/elements/index.js.map +1 -0
  222. package/lib/commonjs/v4/features/room/hooks/useRoom.js +26 -0
  223. package/lib/commonjs/v4/features/room/hooks/useRoom.js.map +1 -0
  224. package/lib/commonjs/v4/hook/index.js +26 -4
  225. package/lib/commonjs/v4/hook/index.js.map +1 -1
  226. package/lib/commonjs/v4/hook/isModerator.js +22 -0
  227. package/lib/commonjs/v4/hook/isModerator.js.map +1 -0
  228. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js +3 -1
  229. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  230. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +40 -40
  231. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  232. package/lib/commonjs/v4/hook/usePaginator.js +36 -24
  233. package/lib/commonjs/v4/hook/usePaginator.js.map +1 -1
  234. package/lib/commonjs/v4/hook/usePostPermission.js +38 -0
  235. package/lib/commonjs/v4/hook/usePostPermission.js.map +1 -0
  236. package/lib/commonjs/v4/hook/usePostSubscription.js +38 -0
  237. package/lib/commonjs/v4/hook/usePostSubscription.js.map +1 -0
  238. package/lib/commonjs/v4/hook/useRoomSubscription.js +22 -0
  239. package/lib/commonjs/v4/hook/useRoomSubscription.js.map +1 -0
  240. package/lib/commonjs/v4/hook/useSearch.js +3 -1
  241. package/lib/commonjs/v4/hook/useSearch.js.map +1 -1
  242. package/lib/commonjs/v4/hook/useStoryPermission.js +4 -3
  243. package/lib/commonjs/v4/hook/useStoryPermission.js.map +1 -1
  244. package/lib/commonjs/v4/index.js +7 -0
  245. package/lib/commonjs/v4/index.js.map +1 -1
  246. package/lib/commonjs/v4/routes/AmityPageRenderer.js +5 -0
  247. package/lib/commonjs/v4/routes/AmityPageRenderer.js.map +1 -1
  248. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  249. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  250. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  251. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  252. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js +42 -0
  253. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  254. package/lib/commonjs/v4/screen/GlobalBan/index.js +13 -0
  255. package/lib/commonjs/v4/screen/GlobalBan/index.js.map +1 -0
  256. package/lib/commonjs/v4/screen/GlobalBan/styles.js +46 -0
  257. package/lib/commonjs/v4/screen/GlobalBan/styles.js.map +1 -0
  258. package/lib/commonjs/v4/screen/PostDetail/index.js +3 -2
  259. package/lib/commonjs/v4/screen/PostDetail/index.js.map +1 -1
  260. package/lib/commonjs/v4/stores/slices/toast.js +4 -1
  261. package/lib/commonjs/v4/stores/slices/toast.js.map +1 -1
  262. package/lib/commonjs/v4/utils/permissions.js +8 -3
  263. package/lib/commonjs/v4/utils/permissions.js.map +1 -1
  264. package/lib/module/components/AddMembersModal/index.js +4 -2
  265. package/lib/module/components/AddMembersModal/index.js.map +1 -1
  266. package/lib/module/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js +1 -1
  267. package/lib/module/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js.map +1 -1
  268. package/lib/module/components/CustomText/index.js +3 -4
  269. package/lib/module/components/CustomText/index.js.map +1 -1
  270. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +69 -0
  271. package/lib/module/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  272. package/lib/module/components/ErrorBoundary/index.js +3 -0
  273. package/lib/module/components/ErrorBoundary/index.js.map +1 -0
  274. package/lib/module/components/MediaSection/index.js +3 -3
  275. package/lib/module/components/MediaSection/index.js.map +1 -1
  276. package/lib/module/components/PostTypeChoiceModal/PostTypeChoiceModal.js +15 -8
  277. package/lib/module/components/PostTypeChoiceModal/PostTypeChoiceModal.js.map +1 -1
  278. package/lib/module/components/PostTypeChoiceModal/style.js +1 -2
  279. package/lib/module/components/PostTypeChoiceModal/style.js.map +1 -1
  280. package/lib/module/components/Social/PostList/Components/RenderTextWithMention.js.map +1 -1
  281. package/lib/module/components/Social/PostList/index.js +8 -5
  282. package/lib/module/components/Social/PostList/index.js.map +1 -1
  283. package/lib/module/components/StoryKit/src/Story.js +1 -1
  284. package/lib/module/components/StoryKit/src/Story.js.map +1 -1
  285. package/lib/module/components/StoryKit/src/helpers/StateHelpers.js +1 -1
  286. package/lib/module/components/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  287. package/lib/module/components/Toast/Toast.js +2 -1
  288. package/lib/module/components/Toast/Toast.js.map +1 -1
  289. package/lib/module/hooks/useAuth.js +4 -2
  290. package/lib/module/hooks/useAuth.js.map +1 -1
  291. package/lib/module/hooks/useSearch.js +4 -2
  292. package/lib/module/hooks/useSearch.js.map +1 -1
  293. package/lib/module/index.js +3 -6
  294. package/lib/module/index.js.map +1 -1
  295. package/lib/module/providers/Social/communities-sdk.js +2 -1
  296. package/lib/module/providers/Social/communities-sdk.js.map +1 -1
  297. package/lib/module/providers/amity-ui-kit-provider.js +4 -2
  298. package/lib/module/providers/amity-ui-kit-provider.js.map +1 -1
  299. package/lib/module/providers/auth-provider.js +20 -11
  300. package/lib/module/providers/auth-provider.js.map +1 -1
  301. package/lib/module/providers/file-provider.js +38 -19
  302. package/lib/module/providers/file-provider.js.map +1 -1
  303. package/lib/module/redux/slices/bottomSheetSlice.js.map +1 -1
  304. package/lib/module/redux/slices/globalfeedSlice.js +20 -7
  305. package/lib/module/redux/slices/globalfeedSlice.js.map +1 -1
  306. package/lib/module/screens/CommunitySearch/index.js +4 -2
  307. package/lib/module/screens/CommunitySearch/index.js.map +1 -1
  308. package/lib/module/screens/CreateLivestream/CreateLivestream.js +17 -17
  309. package/lib/module/screens/CreateLivestream/CreateLivestream.js.map +1 -1
  310. package/lib/module/screens/LivestreamPlayer/index.js +4 -8
  311. package/lib/module/screens/LivestreamPlayer/index.js.map +1 -1
  312. package/lib/module/snippet/AmityGlobalFeedComponent.js +6 -1
  313. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  314. package/lib/module/svg/svg-xml-list.js +5 -1
  315. package/lib/module/svg/svg-xml-list.js.map +1 -1
  316. package/lib/module/util/postTypeChecker.js.map +1 -1
  317. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +7 -10
  318. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  319. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +47 -27
  320. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  321. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +21 -16
  322. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  323. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  324. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  325. package/lib/module/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js +3 -7
  326. package/lib/module/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js.map +1 -1
  327. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  328. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  329. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  330. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  331. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  332. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  333. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  334. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  335. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  336. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  337. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +6 -8
  338. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  339. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +2 -2
  340. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  341. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +3 -2
  342. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  343. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +9 -23
  344. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  345. package/lib/module/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.js.map +1 -1
  346. package/lib/module/v4/PublicApi/Elements/ButtonWithIconElement/styles.js +3 -2
  347. package/lib/module/v4/PublicApi/Elements/ButtonWithIconElement/styles.js.map +1 -1
  348. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  349. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  350. package/lib/module/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js +4 -9
  351. package/lib/module/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js.map +1 -1
  352. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +45 -30
  353. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  354. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js +2 -2
  355. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js.map +1 -1
  356. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +236 -80
  357. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  358. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js +42 -0
  359. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js.map +1 -0
  360. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js +71 -3
  361. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js.map +1 -1
  362. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +115 -126
  363. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  364. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +3 -2
  365. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  366. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +42 -9
  367. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  368. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  369. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  370. package/lib/module/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  371. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +23 -31
  372. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  373. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  374. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  375. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js +3 -1
  376. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js.map +1 -1
  377. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  378. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  379. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  380. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  381. package/lib/module/v4/assets/icons/lock.js +6 -4
  382. package/lib/module/v4/assets/icons/lock.js.map +1 -1
  383. package/lib/module/v4/assets/icons/poll.js +2 -2
  384. package/lib/module/v4/assets/icons/toast.js +6 -6
  385. package/lib/module/v4/assets/icons/toast.js.map +1 -1
  386. package/lib/module/v4/component/Avatar/Avatar.js +5 -3
  387. package/lib/module/v4/component/Avatar/Avatar.js.map +1 -1
  388. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  389. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  390. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  391. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  392. package/lib/module/v4/component/CommunityStories/index.js +14 -6
  393. package/lib/module/v4/component/CommunityStories/index.js.map +1 -1
  394. package/lib/module/v4/component/CommunityStories/styles.js +7 -2
  395. package/lib/module/v4/component/CommunityStories/styles.js.map +1 -1
  396. package/lib/module/v4/component/LivestreamContent/index.js +13 -13
  397. package/lib/module/v4/component/LivestreamContent/index.js.map +1 -1
  398. package/lib/module/v4/component/LoadingImage/index.js +22 -24
  399. package/lib/module/v4/component/LoadingImage/index.js.map +1 -1
  400. package/lib/module/v4/component/LoadingImage/styles.js +19 -2
  401. package/lib/module/v4/component/LoadingImage/styles.js.map +1 -1
  402. package/lib/module/v4/component/LoadingVideo/index.js +12 -6
  403. package/lib/module/v4/component/LoadingVideo/index.js.map +1 -1
  404. package/lib/module/v4/component/MyAvatar/MyAvatar.js +9 -6
  405. package/lib/module/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  406. package/lib/module/v4/component/MyStories/StoryCircleItem.js +31 -9
  407. package/lib/module/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  408. package/lib/module/v4/component/MyStories/StoryTargetView.js +4 -2
  409. package/lib/module/v4/component/MyStories/StoryTargetView.js.map +1 -1
  410. package/lib/module/v4/component/MyStories/styles.js +5 -0
  411. package/lib/module/v4/component/MyStories/styles.js.map +1 -1
  412. package/lib/module/v4/component/PollContent/PollResults.js +15 -6
  413. package/lib/module/v4/component/PollContent/PollResults.js.map +1 -1
  414. package/lib/module/v4/component/PostContent/index.js +4 -4
  415. package/lib/module/v4/component/PostContent/index.js.map +1 -1
  416. package/lib/module/v4/component/PostMenu/index.js +5 -10
  417. package/lib/module/v4/component/PostMenu/index.js.map +1 -1
  418. package/lib/module/v4/component/PreviewLink/LinkPreview.js +3 -3
  419. package/lib/module/v4/component/PreviewLink/LinkPreview.js.map +1 -1
  420. package/lib/module/v4/component/PreviewLink/utils.js +9 -73
  421. package/lib/module/v4/component/PreviewLink/utils.js.map +1 -1
  422. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js +17 -10
  423. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  424. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  425. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  426. package/lib/module/v4/component/Social/CommentList/CommentList.js +24 -15
  427. package/lib/module/v4/component/Social/CommentList/CommentList.js.map +1 -1
  428. package/lib/module/v4/component/Social/CommentList/styles.js +12 -0
  429. package/lib/module/v4/component/Social/CommentList/styles.js.map +1 -1
  430. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  431. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  432. package/lib/module/v4/component/StoryKit/src/Story.js +1 -1
  433. package/lib/module/v4/component/StoryKit/src/Story.js.map +1 -1
  434. package/lib/module/v4/component/StoryKit/src/StoryCircleListItem.js +3 -1
  435. package/lib/module/v4/component/StoryKit/src/StoryCircleListItem.js.map +1 -1
  436. package/lib/module/v4/component/StoryKit/src/StoryListItem.js +3 -1
  437. package/lib/module/v4/component/StoryKit/src/StoryListItem.js.map +1 -1
  438. package/lib/module/v4/component/StoryKit/src/helpers/StateHelpers.js +1 -1
  439. package/lib/module/v4/component/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  440. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  441. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  442. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  443. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  444. package/lib/module/v4/component/Toast/index.js +4 -4
  445. package/lib/module/v4/component/Toast/index.js.map +1 -1
  446. package/lib/module/v4/component/Toast/styles.js +2 -2
  447. package/lib/module/v4/component/Toast/styles.js.map +1 -1
  448. package/lib/module/v4/constants/index.js +3 -1
  449. package/lib/module/v4/constants/index.js.map +1 -1
  450. package/lib/module/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.js.map +1 -1
  451. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  452. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  453. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  454. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  455. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js +6 -34
  456. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  457. package/lib/module/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.js.map +1 -1
  458. package/lib/module/v4/engine/AssetDownloader.js +2 -1
  459. package/lib/module/v4/engine/AssetDownloader.js.map +1 -1
  460. package/lib/module/v4/enum/roomStatus.js +10 -0
  461. package/lib/module/v4/enum/roomStatus.js.map +1 -0
  462. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js +4 -1
  463. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  464. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  465. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  466. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  467. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  468. package/lib/module/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +18 -19
  469. package/lib/module/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  470. package/lib/module/v4/features/feed/components/CommunityCategories/index.js +2 -0
  471. package/lib/module/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  472. package/lib/module/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  473. package/lib/module/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  474. package/lib/module/v4/features/feed/components/index.js +2 -0
  475. package/lib/module/v4/features/feed/components/index.js.map +1 -0
  476. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +35 -0
  477. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  478. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js +2 -0
  479. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  480. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js +22 -0
  481. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  482. package/lib/module/v4/features/feed/elements/index.js +2 -0
  483. package/lib/module/v4/features/feed/elements/index.js.map +1 -0
  484. package/lib/module/v4/features/room/hooks/useRoom.js +20 -0
  485. package/lib/module/v4/features/room/hooks/useRoom.js.map +1 -0
  486. package/lib/module/v4/hook/index.js +3 -1
  487. package/lib/module/v4/hook/index.js.map +1 -1
  488. package/lib/module/v4/hook/isModerator.js +15 -0
  489. package/lib/module/v4/hook/isModerator.js.map +1 -0
  490. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js +4 -2
  491. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  492. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +41 -41
  493. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  494. package/lib/module/v4/hook/usePaginator.js +37 -25
  495. package/lib/module/v4/hook/usePaginator.js.map +1 -1
  496. package/lib/module/v4/hook/usePostPermission.js +31 -0
  497. package/lib/module/v4/hook/usePostPermission.js.map +1 -0
  498. package/lib/module/v4/hook/usePostSubscription.js +31 -0
  499. package/lib/module/v4/hook/usePostSubscription.js.map +1 -0
  500. package/lib/module/v4/hook/useRoomSubscription.js +15 -0
  501. package/lib/module/v4/hook/useRoomSubscription.js.map +1 -0
  502. package/lib/module/v4/hook/useSearch.js +4 -2
  503. package/lib/module/v4/hook/useSearch.js.map +1 -1
  504. package/lib/module/v4/hook/useStoryPermission.js +5 -4
  505. package/lib/module/v4/hook/useStoryPermission.js.map +1 -1
  506. package/lib/module/v4/index.js +1 -1
  507. package/lib/module/v4/index.js.map +1 -1
  508. package/lib/module/v4/routes/AmityPageRenderer.js +5 -0
  509. package/lib/module/v4/routes/AmityPageRenderer.js.map +1 -1
  510. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  511. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  512. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  513. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  514. package/lib/module/v4/screen/GlobalBan/GlobalBan.js +35 -0
  515. package/lib/module/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  516. package/lib/module/v4/screen/GlobalBan/index.js +2 -0
  517. package/lib/module/v4/screen/GlobalBan/index.js.map +1 -0
  518. package/lib/module/v4/screen/GlobalBan/styles.js +39 -0
  519. package/lib/module/v4/screen/GlobalBan/styles.js.map +1 -0
  520. package/lib/module/v4/screen/PostDetail/index.js +3 -2
  521. package/lib/module/v4/screen/PostDetail/index.js.map +1 -1
  522. package/lib/module/v4/stores/slices/toast.js +4 -1
  523. package/lib/module/v4/stores/slices/toast.js.map +1 -1
  524. package/lib/module/v4/utils/permissions.js +8 -3
  525. package/lib/module/v4/utils/permissions.js.map +1 -1
  526. package/lib/typescript/src/components/AddMembersModal/index.d.ts.map +1 -1
  527. package/lib/typescript/src/components/CustomText/index.d.ts.map +1 -1
  528. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts +20 -0
  529. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  530. package/lib/typescript/src/components/ErrorBoundary/index.d.ts +3 -0
  531. package/lib/typescript/src/components/ErrorBoundary/index.d.ts.map +1 -0
  532. package/lib/typescript/src/components/MediaSection/index.d.ts.map +1 -1
  533. package/lib/typescript/src/components/PollSection/usePoll.d.ts +1 -1
  534. package/lib/typescript/src/components/PostTypeChoiceModal/style.d.ts +1 -2
  535. package/lib/typescript/src/components/PostTypeChoiceModal/style.d.ts.map +1 -1
  536. package/lib/typescript/src/components/Social/PostList/index.d.ts +1 -3
  537. package/lib/typescript/src/components/Social/PostList/index.d.ts.map +1 -1
  538. package/lib/typescript/src/components/StoryKit/src/Story.d.ts.map +1 -1
  539. package/lib/typescript/src/components/StoryKit/src/helpers/StateHelpers.d.ts +1 -1
  540. package/lib/typescript/src/components/StoryKit/src/helpers/StateHelpers.d.ts.map +1 -1
  541. package/lib/typescript/src/components/Toast/Toast.d.ts.map +1 -1
  542. package/lib/typescript/src/hooks/useAuth.d.ts.map +1 -1
  543. package/lib/typescript/src/hooks/useSearch.d.ts.map +1 -1
  544. package/lib/typescript/src/index.d.ts +3 -2
  545. package/lib/typescript/src/index.d.ts.map +1 -1
  546. package/lib/typescript/src/providers/amity-ui-kit-provider.d.ts.map +1 -1
  547. package/lib/typescript/src/providers/auth-provider.d.ts.map +1 -1
  548. package/lib/typescript/src/providers/file-provider.d.ts.map +1 -1
  549. package/lib/typescript/src/redux/slices/bottomSheetSlice.d.ts +4 -3
  550. package/lib/typescript/src/redux/slices/bottomSheetSlice.d.ts.map +1 -1
  551. package/lib/typescript/src/redux/slices/globalfeedSlice.d.ts.map +1 -1
  552. package/lib/typescript/src/screens/CommunitySearch/index.d.ts.map +1 -1
  553. package/lib/typescript/src/screens/LivestreamPlayer/index.d.ts.map +1 -1
  554. package/lib/typescript/src/svg/svg-xml-list.d.ts +1 -0
  555. package/lib/typescript/src/svg/svg-xml-list.d.ts.map +1 -1
  556. package/lib/typescript/src/types/auth.interface.d.ts +1 -0
  557. package/lib/typescript/src/types/auth.interface.d.ts.map +1 -1
  558. package/lib/typescript/src/types/user.interface.d.ts +1 -0
  559. package/lib/typescript/src/types/user.interface.d.ts.map +1 -1
  560. package/lib/typescript/src/util/postTypeChecker.d.ts +1 -1
  561. package/lib/typescript/src/util/postTypeChecker.d.ts.map +1 -1
  562. package/lib/typescript/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.d.ts.map +1 -1
  563. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts +1 -1
  564. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts.map +1 -1
  565. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +4 -0
  566. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  567. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts +1 -0
  568. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts.map +1 -1
  569. package/lib/typescript/src/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.d.ts.map +1 -1
  570. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts +1 -1
  571. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  572. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.d.ts.map +1 -1
  573. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts +1 -0
  574. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts.map +1 -1
  575. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts +1 -2
  576. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts.map +1 -1
  577. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts +3 -5
  578. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts.map +1 -1
  579. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts +1 -3
  580. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  581. package/lib/typescript/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.d.ts.map +1 -1
  582. package/lib/typescript/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.d.ts +2 -1
  583. package/lib/typescript/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.d.ts.map +1 -1
  584. package/lib/typescript/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.d.ts +1 -0
  585. package/lib/typescript/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.d.ts.map +1 -1
  586. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts +1 -0
  587. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts.map +1 -1
  588. package/lib/typescript/src/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.d.ts.map +1 -1
  589. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
  590. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.d.ts +1 -1
  591. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.d.ts.map +1 -1
  592. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.d.ts +8 -0
  593. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.d.ts.map +1 -0
  594. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.d.ts +70 -2
  595. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.d.ts.map +1 -1
  596. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.d.ts.map +1 -1
  597. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.d.ts +1 -0
  598. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.d.ts.map +1 -1
  599. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.d.ts.map +1 -1
  600. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts +1 -0
  601. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts.map +1 -1
  602. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.d.ts.map +1 -1
  603. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  604. package/lib/typescript/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.d.ts.map +1 -1
  605. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.d.ts.map +1 -1
  606. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts +22 -0
  607. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts.map +1 -1
  608. package/lib/typescript/src/v4/assets/icons/lock.d.ts +1 -1
  609. package/lib/typescript/src/v4/assets/icons/lock.d.ts.map +1 -1
  610. package/lib/typescript/src/v4/assets/icons/toast.d.ts +3 -3
  611. package/lib/typescript/src/v4/assets/icons/toast.d.ts.map +1 -1
  612. package/lib/typescript/src/v4/component/Avatar/Avatar.d.ts.map +1 -1
  613. package/lib/typescript/src/v4/component/CommunitySearchResult/CommunitySearchResult.d.ts.map +1 -1
  614. package/lib/typescript/src/v4/component/CommunityStories/index.d.ts.map +1 -1
  615. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts +5 -0
  616. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts.map +1 -1
  617. package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts +1 -1
  618. package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts.map +1 -1
  619. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts +2 -1
  620. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts.map +1 -1
  621. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts +21 -0
  622. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts.map +1 -1
  623. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts +2 -1
  624. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts.map +1 -1
  625. package/lib/typescript/src/v4/component/MyAvatar/MyAvatar.d.ts.map +1 -1
  626. package/lib/typescript/src/v4/component/MyStories/StoryCircleItem.d.ts.map +1 -1
  627. package/lib/typescript/src/v4/component/MyStories/StoryTargetView.d.ts.map +1 -1
  628. package/lib/typescript/src/v4/component/MyStories/styles.d.ts +5 -0
  629. package/lib/typescript/src/v4/component/MyStories/styles.d.ts.map +1 -1
  630. package/lib/typescript/src/v4/component/PollContent/PollResults.d.ts.map +1 -1
  631. package/lib/typescript/src/v4/component/PostContent/index.d.ts.map +1 -1
  632. package/lib/typescript/src/v4/component/PostMenu/index.d.ts.map +1 -1
  633. package/lib/typescript/src/v4/component/PreviewLink/utils.d.ts +6 -1
  634. package/lib/typescript/src/v4/component/PreviewLink/utils.d.ts.map +1 -1
  635. package/lib/typescript/src/v4/component/RenderTextWithMention/RenderTextWithMention.d.ts.map +1 -1
  636. package/lib/typescript/src/v4/component/SearchResultItem/SearchResultItem.d.ts.map +1 -1
  637. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts +1 -0
  638. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts.map +1 -1
  639. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts +12 -0
  640. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts.map +1 -1
  641. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts +2 -1
  642. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts.map +1 -1
  643. package/lib/typescript/src/v4/component/StoryKit/src/Story.d.ts.map +1 -1
  644. package/lib/typescript/src/v4/component/StoryKit/src/helpers/StateHelpers.d.ts +1 -1
  645. package/lib/typescript/src/v4/component/StoryKit/src/helpers/StateHelpers.d.ts.map +1 -1
  646. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts +2 -1
  647. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts.map +1 -1
  648. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  649. package/lib/typescript/src/v4/component/Toast/styles.d.ts +1 -1
  650. package/lib/typescript/src/v4/component/Toast/styles.d.ts.map +1 -1
  651. package/lib/typescript/src/v4/constants/index.d.ts +2 -0
  652. package/lib/typescript/src/v4/constants/index.d.ts.map +1 -1
  653. package/lib/typescript/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.d.ts +2 -1
  654. package/lib/typescript/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.d.ts.map +1 -1
  655. package/lib/typescript/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.d.ts.map +1 -1
  656. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts +1 -1
  657. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts.map +1 -1
  658. package/lib/typescript/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.d.ts +2 -1
  659. package/lib/typescript/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.d.ts.map +1 -1
  660. package/lib/typescript/src/v4/enum/roomStatus.d.ts +10 -0
  661. package/lib/typescript/src/v4/enum/roomStatus.d.ts.map +1 -0
  662. package/lib/typescript/src/v4/features/community/AddMember/hooks/useAddMember.d.ts.map +1 -1
  663. package/lib/typescript/src/v4/features/community/Membership/components/MemberItem/MemberItem.d.ts.map +1 -1
  664. package/lib/typescript/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.d.ts +2 -2
  665. package/lib/typescript/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.d.ts.map +1 -1
  666. package/lib/typescript/src/v4/features/community/Setting/hooks/useCommunitySetting.d.ts.map +1 -1
  667. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts +12 -0
  668. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts.map +1 -0
  669. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts +2 -0
  670. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts.map +1 -0
  671. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts +30 -0
  672. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts.map +1 -0
  673. package/lib/typescript/src/v4/features/feed/components/index.d.ts +2 -0
  674. package/lib/typescript/src/v4/features/feed/components/index.d.ts.map +1 -0
  675. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts +12 -0
  676. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts.map +1 -0
  677. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts +2 -0
  678. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts.map +1 -0
  679. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts +17 -0
  680. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts.map +1 -0
  681. package/lib/typescript/src/v4/features/feed/elements/index.d.ts +2 -0
  682. package/lib/typescript/src/v4/features/feed/elements/index.d.ts.map +1 -0
  683. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts +2 -0
  684. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts.map +1 -0
  685. package/lib/typescript/src/v4/hook/index.d.ts +3 -1
  686. package/lib/typescript/src/v4/hook/index.d.ts.map +1 -1
  687. package/lib/typescript/src/v4/hook/isModerator.d.ts +2 -0
  688. package/lib/typescript/src/v4/hook/isModerator.d.ts.map +1 -0
  689. package/lib/typescript/src/v4/hook/useAmityGlobalSearchViewModel.d.ts.map +1 -1
  690. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts +6 -1
  691. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts.map +1 -1
  692. package/lib/typescript/src/v4/hook/usePaginator.d.ts.map +1 -1
  693. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts +1 -35
  694. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts.map +1 -1
  695. package/lib/typescript/src/v4/hook/usePoll.d.ts +1 -1
  696. package/lib/typescript/src/v4/hook/usePostPermission.d.ts +6 -0
  697. package/lib/typescript/src/v4/hook/usePostPermission.d.ts.map +1 -0
  698. package/lib/typescript/src/v4/hook/usePostSubscription.d.ts +4 -0
  699. package/lib/typescript/src/v4/hook/usePostSubscription.d.ts.map +1 -0
  700. package/lib/typescript/src/v4/hook/useRoomSubscription.d.ts +4 -0
  701. package/lib/typescript/src/v4/hook/useRoomSubscription.d.ts.map +1 -0
  702. package/lib/typescript/src/v4/hook/useSearch.d.ts.map +1 -1
  703. package/lib/typescript/src/v4/hook/useStoryPermission.d.ts +3 -1
  704. package/lib/typescript/src/v4/hook/useStoryPermission.d.ts.map +1 -1
  705. package/lib/typescript/src/v4/index.d.ts +1 -0
  706. package/lib/typescript/src/v4/index.d.ts.map +1 -1
  707. package/lib/typescript/src/v4/routes/AmityPageRenderer.d.ts.map +1 -1
  708. package/lib/typescript/src/v4/routes/AmitySocialUIKitV4Navigator.d.ts.map +1 -1
  709. package/lib/typescript/src/v4/routes/RouteParamList.d.ts +2 -1
  710. package/lib/typescript/src/v4/routes/RouteParamList.d.ts.map +1 -1
  711. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts +3 -0
  712. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts.map +1 -0
  713. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts +2 -0
  714. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts.map +1 -0
  715. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts +34 -0
  716. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts.map +1 -0
  717. package/lib/typescript/src/v4/screen/PostDetail/index.d.ts.map +1 -1
  718. package/lib/typescript/src/v4/stores/slices/toast.d.ts +1 -0
  719. package/lib/typescript/src/v4/stores/slices/toast.d.ts.map +1 -1
  720. package/lib/typescript/src/v4/utils/permissions.d.ts +1 -1
  721. package/lib/typescript/src/v4/utils/permissions.d.ts.map +1 -1
  722. package/package.json +10 -4
  723. package/src/components/AddMembersModal/index.tsx +10 -2
  724. package/src/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.tsx +1 -1
  725. package/src/components/CustomText/index.tsx +6 -5
  726. package/src/components/ErrorBoundary/ErrorBoundary.tsx +84 -0
  727. package/src/components/ErrorBoundary/index.ts +2 -0
  728. package/src/components/MediaSection/index.tsx +4 -6
  729. package/src/components/PostTypeChoiceModal/PostTypeChoiceModal.tsx +15 -15
  730. package/src/components/PostTypeChoiceModal/style.ts +1 -2
  731. package/src/components/Social/PostList/Components/RenderTextWithMention.tsx +1 -1
  732. package/src/components/Social/PostList/index.tsx +8 -6
  733. package/src/components/StoryKit/src/Story.tsx +3 -1
  734. package/src/components/StoryKit/src/helpers/StateHelpers.ts +2 -2
  735. package/src/components/Toast/Toast.tsx +1 -0
  736. package/src/hooks/useAuth.ts +2 -0
  737. package/src/hooks/useSearch.ts +7 -1
  738. package/src/index.tsx +4 -2
  739. package/src/providers/Social/communities-sdk.ts +1 -1
  740. package/src/providers/amity-ui-kit-provider.tsx +33 -27
  741. package/src/providers/auth-provider.tsx +17 -7
  742. package/src/providers/file-provider.tsx +42 -20
  743. package/src/redux/slices/bottomSheetSlice.ts +3 -2
  744. package/src/redux/slices/globalfeedSlice.ts +26 -16
  745. package/src/screens/CommunitySearch/index.tsx +7 -1
  746. package/src/screens/CreateLivestream/CreateLivestream.tsx +17 -17
  747. package/src/screens/LivestreamPlayer/index.tsx +9 -15
  748. package/src/snippet/AmityGlobalFeedComponent.tsx +6 -1
  749. package/src/svg/svg-xml-list.ts +7 -1
  750. package/src/types/auth.interface.ts +1 -0
  751. package/src/types/user.interface.ts +1 -0
  752. package/src/util/postTypeChecker.ts +1 -1
  753. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +7 -12
  754. package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx +49 -33
  755. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +33 -22
  756. package/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.tsx +27 -2
  757. package/src/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.tsx +3 -5
  758. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +32 -46
  759. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.tsx +39 -15
  760. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.ts +3 -2
  761. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.tsx +38 -23
  762. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.ts +5 -7
  763. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +6 -6
  764. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.tsx +3 -3
  765. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.tsx +2 -2
  766. package/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.tsx +8 -24
  767. package/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.tsx +1 -1
  768. package/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.ts +3 -2
  769. package/src/v4/PublicApi/Elements/CommonElements/AvatarElement.tsx +23 -10
  770. package/src/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.tsx +4 -7
  771. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +38 -29
  772. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.ts +2 -2
  773. package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.tsx +273 -101
  774. package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.tsx +48 -0
  775. package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.ts +72 -3
  776. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.tsx +150 -155
  777. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.ts +3 -1
  778. package/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.tsx +51 -6
  779. package/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.tsx +20 -1
  780. package/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.tsx +0 -1
  781. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +27 -33
  782. package/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.tsx +24 -7
  783. package/src/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.tsx +1 -1
  784. package/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.tsx +123 -57
  785. package/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.ts +23 -1
  786. package/src/v4/assets/icons/lock.tsx +7 -6
  787. package/src/v4/assets/icons/poll.tsx +2 -2
  788. package/src/v4/assets/icons/toast.tsx +12 -9
  789. package/src/v4/component/Avatar/Avatar.tsx +5 -2
  790. package/src/v4/component/CommunityRowItem/CommunityRowItem.tsx +4 -4
  791. package/src/v4/component/CommunitySearchResult/CommunitySearchResult.tsx +3 -1
  792. package/src/v4/component/CommunityStories/index.tsx +29 -18
  793. package/src/v4/component/CommunityStories/styles.ts +7 -2
  794. package/src/v4/component/LivestreamContent/index.tsx +22 -22
  795. package/src/v4/component/LoadingImage/index.tsx +28 -25
  796. package/src/v4/component/LoadingImage/styles.ts +17 -0
  797. package/src/v4/component/LoadingVideo/index.tsx +13 -7
  798. package/src/v4/component/MyAvatar/MyAvatar.tsx +12 -6
  799. package/src/v4/component/MyStories/StoryCircleItem.tsx +35 -15
  800. package/src/v4/component/MyStories/StoryTargetView.tsx +4 -2
  801. package/src/v4/component/MyStories/styles.ts +5 -0
  802. package/src/v4/component/PollContent/PollResults.tsx +17 -11
  803. package/src/v4/component/PostContent/index.tsx +6 -8
  804. package/src/v4/component/PostMenu/index.tsx +8 -10
  805. package/src/v4/component/PreviewLink/LinkPreview.tsx +3 -3
  806. package/src/v4/component/PreviewLink/utils.ts +9 -108
  807. package/src/v4/component/RenderTextWithMention/RenderTextWithMention.tsx +19 -14
  808. package/src/v4/component/SearchResultItem/SearchResultItem.tsx +3 -0
  809. package/src/v4/component/Social/CommentList/CommentList.tsx +69 -56
  810. package/src/v4/component/Social/CommentList/styles.ts +12 -0
  811. package/src/v4/component/Social/CommentListItem/CommentListItem.tsx +3 -1
  812. package/src/v4/component/StoryKit/src/Story.tsx +3 -1
  813. package/src/v4/component/StoryKit/src/StoryCircleListItem.tsx +1 -1
  814. package/src/v4/component/StoryKit/src/StoryListItem.tsx +1 -1
  815. package/src/v4/component/StoryKit/src/helpers/StateHelpers.ts +2 -2
  816. package/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.tsx +3 -0
  817. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +23 -1
  818. package/src/v4/component/Toast/index.tsx +1 -1
  819. package/src/v4/component/Toast/styles.ts +2 -2
  820. package/src/v4/constants/index.ts +4 -0
  821. package/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.tsx +1 -1
  822. package/src/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.tsx +1 -1
  823. package/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.tsx +6 -2
  824. package/src/v4/elements/CommunityRowImage/CommunityRowImage.tsx +7 -34
  825. package/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.tsx +1 -1
  826. package/src/v4/engine/AssetDownloader.ts +1 -1
  827. package/src/v4/enum/roomStatus.ts +9 -0
  828. package/src/v4/features/community/AddMember/hooks/useAddMember.ts +6 -0
  829. package/src/v4/features/community/Membership/components/MemberItem/MemberItem.tsx +1 -0
  830. package/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.tsx +2 -2
  831. package/src/v4/features/community/Setting/hooks/useCommunitySetting.ts +4 -2
  832. package/src/v4/{component/CommunityCategoryChips/CommunityCategoryChips.tsx → features/feed/components/CommunityCategories/CommunityCategories.tsx} +20 -22
  833. package/src/v4/features/feed/components/CommunityCategories/index.ts +1 -0
  834. package/src/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.ts +4 -2
  835. package/src/v4/features/feed/components/index.ts +1 -0
  836. package/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx +45 -0
  837. package/src/v4/features/feed/elements/CommunityCategory/index.ts +1 -0
  838. package/src/v4/features/feed/elements/CommunityCategory/styles.ts +20 -0
  839. package/src/v4/features/feed/elements/index.ts +1 -0
  840. package/src/v4/features/room/hooks/useRoom.ts +20 -0
  841. package/src/v4/hook/index.ts +3 -1
  842. package/src/v4/hook/isModerator.ts +19 -0
  843. package/src/v4/hook/useAmityGlobalSearchViewModel.ts +7 -1
  844. package/src/v4/hook/useCustomRankingGlobalFeed.ts +55 -46
  845. package/src/v4/hook/usePaginator.ts +60 -31
  846. package/src/v4/hook/usePostPermission.ts +46 -0
  847. package/src/v4/hook/usePostSubscription.ts +34 -0
  848. package/src/v4/hook/useRoomSubscription.ts +19 -0
  849. package/src/v4/hook/useSearch.ts +7 -1
  850. package/src/v4/hook/useStoryPermission.ts +2 -8
  851. package/src/v4/index.tsx +1 -1
  852. package/src/v4/routes/AmityPageRenderer.tsx +6 -0
  853. package/src/v4/routes/AmitySocialUIKitV4Navigator.tsx +6 -1
  854. package/src/v4/routes/RouteParamList.tsx +2 -1
  855. package/src/v4/screen/FollowerList/Components/FollowerListItem.tsx +1 -1
  856. package/src/v4/screen/GlobalBan/GlobalBan.tsx +38 -0
  857. package/src/v4/screen/GlobalBan/index.ts +1 -0
  858. package/src/v4/screen/GlobalBan/styles.ts +39 -0
  859. package/src/v4/screen/PostDetail/index.tsx +1 -0
  860. package/src/v4/stores/slices/toast.ts +5 -0
  861. package/src/v4/utils/permissions.ts +13 -8
  862. package/uikit.config.json +1 -1
  863. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -38
  864. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  865. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  866. package/lib/commonjs/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  867. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js +0 -38
  868. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  869. package/lib/commonjs/v4/enum/livestreamStatus.js +0 -13
  870. package/lib/commonjs/v4/enum/livestreamStatus.js.map +0 -1
  871. package/lib/commonjs/v4/hook/useIsCommunityModerator.js +0 -43
  872. package/lib/commonjs/v4/hook/useIsCommunityModerator.js.map +0 -1
  873. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -30
  874. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  875. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  876. package/lib/module/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  877. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js +0 -31
  878. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  879. package/lib/module/v4/enum/livestreamStatus.js +0 -7
  880. package/lib/module/v4/enum/livestreamStatus.js.map +0 -1
  881. package/lib/module/v4/hook/useIsCommunityModerator.js +0 -36
  882. package/lib/module/v4/hook/useIsCommunityModerator.js.map +0 -1
  883. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts +0 -11
  884. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts.map +0 -1
  885. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts +0 -11
  886. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts.map +0 -1
  887. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts +0 -27
  888. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts.map +0 -1
  889. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts +0 -12
  890. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts.map +0 -1
  891. package/lib/typescript/src/v4/enum/livestreamStatus.d.ts +0 -7
  892. package/lib/typescript/src/v4/enum/livestreamStatus.d.ts.map +0 -1
  893. package/lib/typescript/src/v4/hook/useIsCommunityModerator.d.ts +0 -7
  894. package/lib/typescript/src/v4/hook/useIsCommunityModerator.d.ts.map +0 -1
  895. package/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.tsx +0 -47
  896. package/src/v4/elements/CommunityCatetory/CommunityCategory.tsx +0 -41
  897. package/src/v4/enum/livestreamStatus.ts +0 -6
  898. package/src/v4/hook/useIsCommunityModerator.ts +0 -35
@@ -1,5 +1,9 @@
1
- import { FeedRepository, PostRepository } from '@amityco/ts-sdk-react-native';
1
+ import {
2
+ FeedRepository,
3
+ PostStructureType,
4
+ } from '@amityco/ts-sdk-react-native';
2
5
  import { useCallback, useEffect, useRef, useState } from 'react';
6
+ import { InteractionManager } from 'react-native';
3
7
  import globalFeedSlice from '../../redux/slices/globalfeedSlice';
4
8
  import { globalFeedPageLimit } from '../../v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent';
5
9
  import {
@@ -17,11 +21,18 @@ export const isAmityAd = (
17
21
  return (item as Amity.Ad)?.adId !== undefined;
18
22
  };
19
23
 
20
- export const useCustomRankingGlobalFeed = () => {
24
+ type UseCustomRankingGlobalFeed = {
25
+ enabled?: boolean;
26
+ };
27
+
28
+ export const useCustomRankingGlobalFeed = ({
29
+ enabled = true,
30
+ }: UseCustomRankingGlobalFeed = {}) => {
21
31
  const { isConnected } = useAuth();
22
32
  const dispatch = useUIKitDispatch();
23
33
  const unsubscribeRef = useRef<() => void | null>(null);
24
34
  const onNextPageRef = useRef<() => void | null>(null);
35
+ const interactionHandleRef = useRef<{ cancel: () => void } | null>(null);
25
36
 
26
37
  const { setNewGlobalFeed } = globalFeedSlice.actions;
27
38
 
@@ -39,70 +50,67 @@ export const useCustomRankingGlobalFeed = () => {
39
50
  getItemId: (item) => (item as Amity.Post).postId.toString(),
40
51
  });
41
52
 
42
- const processPosts = async (posts: Amity.Post[]) => {
43
- const results = await Promise.all(
44
- posts.map((post) => {
45
- if (post?.children.length > 0) {
46
- return new Promise((resolve) => {
47
- const unsubscribe = PostRepository.getPost(
48
- post?.children[0],
49
- ({ error: $error, loading, data }) => {
50
- if (!$error && !loading) {
51
- if (
52
- data?.dataType === 'image' ||
53
- data?.dataType === 'video' ||
54
- // data?.dataType === 'liveStream' ||
55
- data?.dataType === 'poll'
56
- ) {
57
- resolve(post);
58
- } else {
59
- resolve(null);
60
- }
61
- } else {
62
- resolve(null);
63
- }
64
- }
65
- );
66
-
67
- unsubscribe();
68
- });
69
- } else {
70
- return post;
71
- }
72
- })
73
- );
74
-
75
- return results.filter((result) => result !== null) as Amity.Post<any>[];
76
- };
53
+ const hasInitialDataRef = useRef(false);
77
54
 
78
55
  const fetchCustomRanking = useCallback(() => {
79
56
  if (!isConnected) return null;
80
57
 
81
- return FeedRepository.getCustomRankingGlobalFeed(
82
- { limit: globalFeedPageLimit },
83
- ({ data, loading, error: $error, onNextPage }) => {
84
- setFetching(loading);
58
+ hasInitialDataRef.current = false;
85
59
 
86
- if (!loading && data) {
87
- processPosts(data).then((posts) => dispatch(setNewGlobalFeed(posts)));
60
+ return FeedRepository.getGlobalFeed(
61
+ { limit: globalFeedPageLimit },
62
+ ({ data, loading: isLoading, error: $error, onNextPage }) => {
63
+ if (isLoading) {
64
+ // Only show loading state on initial fetch, not on pagination
65
+ if (!hasInitialDataRef.current) {
66
+ setFetching(true);
67
+ }
68
+ return;
88
69
  }
89
70
 
90
71
  if (onNextPage) onNextPageRef.current = onNextPage;
91
-
92
72
  if ($error) setError($error);
73
+
74
+ if (data) {
75
+ const filtered = data.filter(
76
+ (post) =>
77
+ post.structureType !== PostStructureType.AUDIO &&
78
+ post.structureType !== PostStructureType.FILE &&
79
+ post.structureType !== PostStructureType.MIXED
80
+ );
81
+ interactionHandleRef.current?.cancel();
82
+ interactionHandleRef.current =
83
+ InteractionManager.runAfterInteractions(() => {
84
+ dispatch(setNewGlobalFeed(filtered));
85
+ setFetching(false);
86
+ hasInitialDataRef.current = true;
87
+ interactionHandleRef.current = null;
88
+ });
89
+ } else {
90
+ setFetching(false);
91
+ }
93
92
  }
94
93
  );
95
94
  }, [dispatch, setNewGlobalFeed, isConnected]);
96
95
 
97
96
  useEffect(() => {
97
+ if (!enabled) return undefined;
98
+
98
99
  unsubscribeRef.current = fetchCustomRanking();
99
100
 
100
- return () => unsubscribeRef.current?.();
101
- }, [fetchCustomRanking]);
101
+ return () => {
102
+ unsubscribeRef.current?.();
103
+ interactionHandleRef.current?.cancel();
104
+ interactionHandleRef.current = null;
105
+ };
106
+ }, [fetchCustomRanking, enabled]);
102
107
 
103
108
  const refresh = useCallback(() => {
104
109
  if (unsubscribeRef.current) unsubscribeRef.current?.();
110
+ interactionHandleRef.current?.cancel();
111
+ interactionHandleRef.current = null;
105
112
  onNextPageRef.current = null;
113
+ hasInitialDataRef.current = false;
106
114
 
107
115
  unsubscribeRef.current = fetchCustomRanking();
108
116
  }, [fetchCustomRanking]);
@@ -113,5 +121,6 @@ export const useCustomRankingGlobalFeed = () => {
113
121
  itemWithAds,
114
122
  onNextPage: onNextPageRef.current,
115
123
  error,
124
+ globalFeedPosts: postList,
116
125
  };
117
126
  };
@@ -1,10 +1,9 @@
1
- import { useCallback, useEffect, useRef, useState } from 'react';
1
+ import { useCallback, useEffect, useRef, useState, useTransition } from 'react';
2
2
  import { AdEngine } from '../engine/AdEngine';
3
3
  import {
4
4
  useAdSettings,
5
5
  useRecommendAds,
6
6
  } from '../../v4/providers/AdEngineProvider';
7
- import { useFocusEffect } from '@react-navigation/native';
8
7
 
9
8
  type ItemWithAd<T> = [T] | [T, Amity.Ad];
10
9
 
@@ -41,21 +40,19 @@ export const usePaginatorCore = <T>({
41
40
  newItems: T[],
42
41
  newItemIds: Set<string>
43
42
  ): Array<ItemWithAd<T>> => {
43
+ const newItemsMap = new Map<string, T>(
44
+ newItems.map((item) => [getItemId(item), item])
45
+ );
44
46
  return (itemWithAdsRef.current || [])
45
47
  .map((itemWithAd) => {
46
48
  const itemId = getItemId(itemWithAd[0]);
47
49
 
48
- // Skip items not in new items list
49
50
  if (!newItemIds.has(itemId)) {
50
51
  return null;
51
52
  }
52
53
 
53
- // Find the updated version of this item
54
- const updatedItem = newItems.find(
55
- (newItem) => getItemId(newItem) === itemId
56
- );
54
+ const updatedItem = newItemsMap.get(itemId);
57
55
 
58
- // Update the item while preserving its ad (if any)
59
56
  if (updatedItem) {
60
57
  if (itemWithAd.length === 1) {
61
58
  return [updatedItem] as [T];
@@ -86,13 +83,14 @@ export const usePaginatorCore = <T>({
86
83
  topIndex: number,
87
84
  prevItems: Array<ItemWithAd<T>>
88
85
  ): T[] => {
89
- return newItems.slice(topIndex).filter((newItem) => {
90
- const itemId = getItemId(newItem);
91
- return !prevItems.some(
92
- (prevItem) =>
93
- prevItem && prevItem[0] && getItemId(prevItem[0]) === itemId
94
- );
95
- });
86
+ const prevItemIds = new Set<string>(
87
+ prevItems
88
+ .filter((item) => item && item[0])
89
+ .map((item) => getItemId(item[0]))
90
+ );
91
+ return newItems
92
+ .slice(topIndex)
93
+ .filter((newItem) => !prevItemIds.has(getItemId(newItem)));
96
94
  };
97
95
 
98
96
  const frequency = AdEngine.instance.getAdFrequencyByPlacement(placement);
@@ -142,7 +140,13 @@ export const usePaginatorCore = <T>({
142
140
  .slice(0, topIndex)
143
141
  .map((item) => [item]);
144
142
 
145
- const prevItems = [...newestItems, ...prevItemWithAds];
143
+ const prevItemWithAdsIds = new Set(
144
+ prevItemWithAds.map((item) => getItemId(item[0]))
145
+ );
146
+ const dedupedNewestItems = newestItems.filter(
147
+ (item) => !prevItemWithAdsIds.has(getItemId(item[0]))
148
+ );
149
+ const prevItems = [...dedupedNewestItems, ...prevItemWithAds];
146
150
 
147
151
  // filteredNewItems is the newest items in the next page that are not in prevItems
148
152
  const filteredNewItems = filterNewItems(newItems, topIndex, prevItems);
@@ -174,14 +178,24 @@ export const usePaginatorCore = <T>({
174
178
 
175
179
  const newItemsWithAds = [...prevItems, ...suffixItems];
176
180
 
177
- updateItemWithAds(newItemsWithAds);
181
+ const seenPostIds = new Set<string>();
182
+ const dedupedItemsWithAds = newItemsWithAds.filter((tuple) => {
183
+ const id = getItemId(tuple[0]);
184
+ if (seenPostIds.has(id)) return false;
185
+ seenPostIds.add(id);
186
+ return true;
187
+ });
178
188
 
179
- if (newItemsWithAds.length === 0) {
189
+ updateItemWithAds(dedupedItemsWithAds);
190
+
191
+ if (dedupedItemsWithAds.length === 0) {
180
192
  setCurrentAdIndex(0);
181
193
  setCurrentIndex(0);
182
194
  }
183
195
 
184
- const result = newItemsWithAds.flatMap((item) => item).filter(Boolean);
196
+ const result = dedupedItemsWithAds
197
+ .flatMap((item) => item)
198
+ .filter(Boolean);
185
199
  return result;
186
200
  } else if (frequency?.type === 'time-window') {
187
201
  const newItemIds = new Set(newItems.map((item) => getItemId(item)));
@@ -192,7 +206,13 @@ export const usePaginatorCore = <T>({
192
206
  .slice(0, topIndex)
193
207
  .map((item) => [item]);
194
208
 
195
- const prevItems = [...newestItems, ...prevItemWithAds];
209
+ const twPrevItemWithAdsIds = new Set(
210
+ prevItemWithAds.map((item) => getItemId(item[0]))
211
+ );
212
+ const twDedupedNewestItems = newestItems.filter(
213
+ (item) => !twPrevItemWithAdsIds.has(getItemId(item[0]))
214
+ );
215
+ const prevItems = [...twDedupedNewestItems, ...prevItemWithAds];
196
216
  const filteredNewItems = filterNewItems(newItems, topIndex, prevItems);
197
217
  const suffixItems: Array<ItemWithAd<T>> = filteredNewItems.map(
198
218
  (newItem, index) => {
@@ -213,11 +233,21 @@ export const usePaginatorCore = <T>({
213
233
 
214
234
  setHasAppenedFirstRoundAds(true);
215
235
 
216
- const newItemsWithAds = [...prevItems, ...suffixItems];
236
+ const seenTwPostIds = new Set<string>();
237
+ const dedupedTwItemsWithAds = [...prevItems, ...suffixItems].filter(
238
+ (tuple) => {
239
+ const id = getItemId(tuple[0]);
240
+ if (seenTwPostIds.has(id)) return false;
241
+ seenTwPostIds.add(id);
242
+ return true;
243
+ }
244
+ );
217
245
 
218
- updateItemWithAds(newItemsWithAds);
246
+ updateItemWithAds(dedupedTwItemsWithAds);
219
247
 
220
- const result = newItemsWithAds.flatMap((item) => item).filter(Boolean);
248
+ const result = dedupedTwItemsWithAds
249
+ .flatMap((item) => item)
250
+ .filter(Boolean);
221
251
  return result;
222
252
  }
223
253
  return newItems;
@@ -256,6 +286,7 @@ export const usePaginatorApi = <T>(params: {
256
286
  const [itemWithAds, setItemWithAds] = useState<
257
287
  (Amity.Ad | T)[] | undefined
258
288
  >();
289
+ const [_, startTransition] = useTransition();
259
290
 
260
291
  const { items, isLoading, ...rest } = params;
261
292
  const {
@@ -275,16 +306,14 @@ export const usePaginatorApi = <T>(params: {
275
306
  setHasAppenedFirstRoundAds(false);
276
307
  }, [coreReset]);
277
308
 
278
- useFocusEffect(
279
- useCallback(() => {
280
- if (!adsLoaded || isLoading) return;
281
-
309
+ useEffect(() => {
310
+ if (!adsLoaded || isLoading) return;
311
+ startTransition(() => {
282
312
  const newItems = combineItemsWithAds(items);
283
-
284
313
  setItemWithAds(newItems);
285
- // eslint-disable-next-line react-hooks/exhaustive-deps
286
- }, [adsLoaded, items, isLoading])
287
- );
314
+ });
315
+ // eslint-disable-next-line react-hooks/exhaustive-deps
316
+ }, [adsLoaded, items, isLoading]);
288
317
 
289
318
  return { itemWithAds, reset };
290
319
  };
@@ -0,0 +1,46 @@
1
+ import {
2
+ CommunityPostSettings,
3
+ CommunityRepository,
4
+ } from '@amityco/ts-sdk-react-native';
5
+ import { useEffect, useState } from 'react';
6
+ import useAuth from '../../hooks/useAuth';
7
+ import { isModerator } from '../utils/permissions';
8
+
9
+ type UsePostPermissionParams = {
10
+ community?: Amity.Community;
11
+ };
12
+
13
+ export function usePostPermission({ community }: UsePostPermissionParams) {
14
+ const { client } = useAuth();
15
+ const [hasPostPermission, setHasPostPermission] = useState(false);
16
+
17
+ const isOnlyAdminCanPost =
18
+ community?.postSetting === CommunityPostSettings.ONLY_ADMIN_CAN_POST;
19
+
20
+ useEffect(() => {
21
+ if (!community?.communityId || !client?.userId) return;
22
+
23
+ CommunityRepository.Membership.searchMembers(
24
+ {
25
+ communityId: community.communityId,
26
+ search: client.userId,
27
+ limit: 1,
28
+ memberships: ['member'],
29
+ includeDeleted: false,
30
+ },
31
+ ({ data }) => {
32
+ const userRoles = data[0]?.roles ?? [];
33
+ setHasPostPermission(
34
+ isOnlyAdminCanPost ? isModerator(userRoles) : !!community?.isJoined
35
+ );
36
+ }
37
+ );
38
+ }, [
39
+ community?.communityId,
40
+ client?.userId,
41
+ isOnlyAdminCanPost,
42
+ community?.isJoined,
43
+ ]);
44
+
45
+ return hasPostPermission;
46
+ }
@@ -0,0 +1,34 @@
1
+ import { useEffect, useState } from 'react';
2
+ import {
3
+ getPostTopic,
4
+ PostRepository,
5
+ subscribeTopic,
6
+ } from '@amityco/ts-sdk-react-native';
7
+
8
+ export const usePostSubscription = (postId: string) => {
9
+ const [subscribedPost, setSubscribedPost] = useState<Amity.Post>(null);
10
+
11
+ useEffect(() => {
12
+ let unsubscribe: () => void;
13
+ if (postId) {
14
+ unsubscribe = PostRepository.getPost(postId, ({ data }) => {
15
+ setSubscribedPost(data);
16
+ });
17
+ }
18
+ return () => {
19
+ unsubscribe && unsubscribe();
20
+ };
21
+ }, [postId]);
22
+
23
+ useEffect(() => {
24
+ let unsubscribe: () => void;
25
+ if (subscribedPost) {
26
+ unsubscribe = subscribeTopic(getPostTopic(subscribedPost));
27
+ }
28
+ return () => {
29
+ unsubscribe && unsubscribe();
30
+ };
31
+ }, [subscribedPost]);
32
+
33
+ return { subscribedPost };
34
+ };
@@ -0,0 +1,19 @@
1
+ import {
2
+ getRoomWatcherTopic,
3
+ subscribeTopic,
4
+ } from '@amityco/ts-sdk-react-native';
5
+ import { useEffect } from 'react';
6
+
7
+ export const useRoomSubscription = ({ room }: { room?: Amity.Room | null }) => {
8
+ useEffect(() => {
9
+ const unsubscriber: Amity.Unsubscriber[] = [];
10
+
11
+ if (room?.roomId && room?.status !== 'recorded') {
12
+ unsubscriber.push(subscribeTopic(getRoomWatcherTopic(room)));
13
+ }
14
+
15
+ return () => unsubscriber.forEach((fn) => fn());
16
+ }, [room, room?.roomId]);
17
+
18
+ return null;
19
+ };
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  CommunityRepository,
3
+ SearchUsersByEnum,
3
4
  UserRepository,
4
5
  } from '@amityco/ts-sdk-react-native';
5
6
  import { useCallback, useEffect, useState, useRef } from 'react';
@@ -45,7 +46,12 @@ const useSearch = (
45
46
 
46
47
  const searchAllUsers = useCallback((text: string) => {
47
48
  return UserRepository.searchUserByDisplayName(
48
- { displayName: text, limit: 5 },
49
+ {
50
+ displayName: text,
51
+ limit: 5,
52
+ searchBy: [SearchUsersByEnum.DISPLAY_NAME],
53
+ matchType: UserRepository.AmityUserSearchMatchType.PARTIAL,
54
+ },
49
55
  ({ data, error, hasNextPage, onNextPage }) => {
50
56
  if (error) return null;
51
57
  hasNextPage
@@ -1,11 +1,7 @@
1
1
  import useAuth from '../../hooks/useAuth';
2
2
  import { useUser } from './useUser';
3
3
  import useSocialSettings from '../core/hooks/useSocialSettings';
4
- import {
5
- isAdmin,
6
- isModerator,
7
- checkStoryPermission,
8
- } from '../utils/permissions';
4
+ import { checkStoryPermission, isAdmin } from '../utils/permissions';
9
5
 
10
6
  export function useStoryPermission(communityId?: string) {
11
7
  const { client } = useAuth();
@@ -13,14 +9,12 @@ export function useStoryPermission(communityId?: string) {
13
9
  const user = useUser(client?.userId || '');
14
10
 
15
11
  const isGlobalAdmin = isAdmin(user?.roles);
16
- const isModeratorUser = isModerator(user?.roles);
17
12
 
18
13
  const hasStoryPermission = !communityId
19
14
  ? socialSettings?.story?.allowAllUserToCreateStory
20
15
  : socialSettings?.story?.allowAllUserToCreateStory ||
21
16
  isGlobalAdmin ||
22
- isModeratorUser ||
23
17
  checkStoryPermission(client, communityId);
24
18
 
25
- return hasStoryPermission;
19
+ return { hasStoryPermission };
26
20
  }
package/src/v4/index.tsx CHANGED
@@ -11,7 +11,7 @@ export { default as AmityMyCommunitiesSearchPage } from './PublicApi/Pages/Amity
11
11
  export { default as AmityAllCategoriesPage } from './PublicApi/Pages/AmityAllCategoriesPage/AmityAllCategoriesPage';
12
12
  export { default as AmityCommunitiesByCategoryPage } from './PublicApi/Pages/AmityCommunitiesByCategoryPage/AmityCommunitiesByCategoryPage';
13
13
  export { default as AmityCommunityProfilePage } from './PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage';
14
- // export { default as AmityCreateLivestreamPage } from './PublicApi/Pages/AmityCreateLivestreamPage';
14
+ export { default as AmityCreateLivestreamPage } from './PublicApi/Pages/AmityCreateLivestreamPage';
15
15
  export { default as AmityLivestreamPostTargetSelectionPage } from './PublicApi/Pages/AmityLivestreamPostTargetSelectionPage';
16
16
  export { default as AmityLivestreamTerminatedPage } from './PublicApi/Pages/AmityLivestreamTerminatedPage';
17
17
  export { default as AmityLivestreamPlayerPage } from './PublicApi/Pages/AmityLivestreamPlayerPage';
@@ -65,6 +65,7 @@ import AmityCommunityProfilePage from '../PublicApi/Pages/AmityCommunityProfileP
65
65
  import LivestreamTerminated from '../screen/LivestreamTerminated';
66
66
  import PollTargetSelection from '../screen/PollTargetSelection';
67
67
  import LivestreamPostTargetSelection from '../screen/LivestreamPostTargetSelection';
68
+ import CommunityMembership from '../screen/CommunityMembership';
68
69
 
69
70
  interface PageRendererProps {
70
71
  children: React.JSX.Element;
@@ -82,6 +83,7 @@ export default function PageRenderer({ children }: PageRendererProps) {
82
83
  <Stack.Navigator
83
84
  id={undefined}
84
85
  screenOptions={{
86
+ headerShown: false,
85
87
  headerShadowVisible: false,
86
88
  contentStyle: {
87
89
  backgroundColor: theme.colors.background,
@@ -192,6 +194,10 @@ export default function PageRenderer({ children }: PageRendererProps) {
192
194
  name="CommunityAddMember"
193
195
  component={CommunityAddMember}
194
196
  />
197
+ <Stack.Screen
198
+ name="CommunityMembership"
199
+ component={CommunityMembership}
200
+ />
195
201
  <Stack.Screen
196
202
  name="CommunityPostPermission"
197
203
  component={CommunityPostPermission}
@@ -65,13 +65,17 @@ import CommunityCommentsNotificationSetting from '../../v4/screen/CommunityComme
65
65
  import CommunityStoriesNotificationSetting from '../../v4/screen/CommunityStoriesNotificationSetting';
66
66
  import CommunityLivestreamsNotificationSetting from '../../v4/screen/CommunityLivestreamsNotificationSetting';
67
67
  import CommunityPendingRequest from '../../v4/screen/CommunityPendingRequest';
68
+ import { GlobalBan } from '../screen/GlobalBan';
68
69
 
69
70
  export default function AmitySocialUIKitV4Navigator() {
70
71
  const Stack = createNativeStackNavigator<RootStackParamList>();
71
- const { isConnected } = useAuth();
72
+ const { isConnected, isGlobalBan } = useAuth();
72
73
  const theme = useTheme() as MyMD3Theme;
73
74
 
74
75
  const styles = useStyles();
76
+
77
+ if (isGlobalBan) return <GlobalBan />;
78
+
75
79
  return (
76
80
  <NavigationIndependentTree>
77
81
  <NavigationContainer>
@@ -285,6 +289,7 @@ export default function AmitySocialUIKitV4Navigator() {
285
289
  params: { displayName },
286
290
  },
287
291
  }: any) => ({
292
+ headerShown: true,
288
293
  title: displayName,
289
294
  headerLeft: () => <BackButton />,
290
295
  })}
@@ -35,6 +35,7 @@ export type RootStackParamList = {
35
35
  postId: string;
36
36
  showEndPopup?: boolean;
37
37
  category?: AmityPostCategory;
38
+ isDeleted?: boolean;
38
39
  };
39
40
  UserProfile: {
40
41
  userId: string;
@@ -72,7 +73,7 @@ export type RootStackParamList = {
72
73
  targetType: string;
73
74
  };
74
75
  LivestreamPlayer: {
75
- streamId: string;
76
+ roomId: string;
76
77
  post: Amity.Post;
77
78
  };
78
79
  LivestreamTerminated: {
@@ -70,7 +70,7 @@ const FollowerListItem: FC<FollowerListItemType> = ({
70
70
  fileId: data.avatarFileId,
71
71
  imageSize: ImageSizeState.small,
72
72
  });
73
- setAvatar(userAvatar ?? defaultAvatarUri);
73
+ setAvatar(data?.avatarCustomUrl ?? userAvatar ?? defaultAvatarUri);
74
74
  }
75
75
  });
76
76
  }, [getImage, userId]);
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { SafeAreaView } from 'react-native-safe-area-context';
3
+ import { useStyles } from './styles';
4
+ import { Typography } from '../../../v4/component/Typography/Typography';
5
+ import { View } from 'react-native';
6
+ import { SvgXml } from 'react-native-svg';
7
+ import { warning } from '../../../v4/assets/icons';
8
+
9
+ export function GlobalBan() {
10
+ const { styles, theme } = useStyles();
11
+
12
+ return (
13
+ <SafeAreaView style={styles.container} edges={['top', 'left']}>
14
+ <View style={styles.container}>
15
+ <View style={styles.titleContainer}>
16
+ <Typography.TitleBold style={styles.title}>
17
+ Community
18
+ </Typography.TitleBold>
19
+ </View>
20
+ <View style={styles.contentContainer}>
21
+ <SvgXml
22
+ width={56}
23
+ height={56}
24
+ xml={warning()}
25
+ color={theme.colors.base}
26
+ />
27
+ <Typography.Headline style={styles.title}>
28
+ You've been banned.
29
+ </Typography.Headline>
30
+ <Typography.Body style={styles.body}>
31
+ Based on your previous activities, your account has been banned from
32
+ all feeds.
33
+ </Typography.Body>
34
+ </View>
35
+ </View>
36
+ </SafeAreaView>
37
+ );
38
+ }
@@ -0,0 +1 @@
1
+ export { GlobalBan } from './GlobalBan';
@@ -0,0 +1,39 @@
1
+ import { StyleSheet } from 'react-native';
2
+ import { useTheme } from 'react-native-paper';
3
+ import type { MyMD3Theme } from 'src/providers/amity-ui-kit-provider';
4
+
5
+ export const useStyles = () => {
6
+ const theme = useTheme<MyMD3Theme>();
7
+
8
+ const styles = StyleSheet.create({
9
+ container: {
10
+ flex: 1,
11
+ backgroundColor: theme.colors.background,
12
+ },
13
+ titleContainer: {
14
+ padding: 16,
15
+ borderBottomWidth: 1,
16
+ flexDirection: 'row',
17
+ justifyContent: 'center',
18
+ borderBottomColor: theme.colors.baseShade4,
19
+ },
20
+ title: {
21
+ color: theme.colors.base,
22
+ },
23
+ contentContainer: {
24
+ gap: 8,
25
+ flex: 1,
26
+ paddingVertical: 24,
27
+ alignItems: 'center',
28
+ paddingHorizontal: 16,
29
+ flexDirection: 'column',
30
+ justifyContent: 'center',
31
+ },
32
+ body: {
33
+ textAlign: 'center',
34
+ color: theme.colors.baseShade2,
35
+ },
36
+ });
37
+
38
+ return { styles, theme };
39
+ };
@@ -34,6 +34,7 @@ const PostDetail: React.FC<IPostDetailPage> = ({ defaultPostId }) => {
34
34
  isFromComponent={!!defaultPostId && !postIdFromRoute}
35
35
  postId={postId}
36
36
  category={route?.params?.category}
37
+ isDeleted={route?.params?.isDeleted}
37
38
  />
38
39
  );
39
40
  };