@amityco/react-native-social-uikit 4.0.0-36607be.0 → 4.0.0-3e7b2eb7.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 (394) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/AddMembersModal/index.js +2 -1
  3. package/lib/commonjs/components/AddMembersModal/index.js.map +1 -1
  4. package/lib/commonjs/components/Social/PostList/index.js +7 -2
  5. package/lib/commonjs/components/Social/PostList/index.js.map +1 -1
  6. package/lib/commonjs/hooks/useSearch.js +2 -1
  7. package/lib/commonjs/hooks/useSearch.js.map +1 -1
  8. package/lib/commonjs/redux/slices/globalfeedSlice.js +20 -7
  9. package/lib/commonjs/redux/slices/globalfeedSlice.js.map +1 -1
  10. package/lib/commonjs/screens/CommunitySearch/index.js +2 -1
  11. package/lib/commonjs/screens/CommunitySearch/index.js.map +1 -1
  12. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +6 -1
  13. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  14. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  15. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  16. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +19 -14
  17. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  18. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  19. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  20. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +11 -16
  21. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  22. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  23. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  24. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  25. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  26. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  27. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  28. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  29. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  30. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  31. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  32. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  33. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  34. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  35. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  36. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +8 -23
  37. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  38. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js +14 -8
  39. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  40. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  41. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  42. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  43. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +21 -29
  44. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  45. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  46. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  47. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +1 -0
  48. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  49. package/lib/commonjs/v4/assets/icons/lock.js +6 -4
  50. package/lib/commonjs/v4/assets/icons/lock.js.map +1 -1
  51. package/lib/commonjs/v4/component/Avatar/Avatar.js +5 -3
  52. package/lib/commonjs/v4/component/Avatar/Avatar.js.map +1 -1
  53. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  54. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  55. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  56. package/lib/commonjs/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  57. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js +9 -6
  58. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  59. package/lib/commonjs/v4/component/PollContent/PollResults.js +1 -0
  60. package/lib/commonjs/v4/component/PollContent/PollResults.js.map +1 -1
  61. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  62. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  63. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js +24 -15
  64. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js.map +1 -1
  65. package/lib/commonjs/v4/component/Social/CommentList/styles.js +12 -0
  66. package/lib/commonjs/v4/component/Social/CommentList/styles.js.map +1 -1
  67. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  68. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  69. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  70. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  71. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  72. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  73. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  74. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  75. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js +4 -32
  76. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  77. package/lib/commonjs/v4/enum/roomStatus.js +2 -1
  78. package/lib/commonjs/v4/enum/roomStatus.js.map +1 -1
  79. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js +3 -1
  80. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  81. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  82. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  83. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  84. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  85. package/lib/commonjs/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +19 -21
  86. package/lib/commonjs/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  87. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js +13 -0
  88. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  89. package/lib/commonjs/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  90. package/lib/commonjs/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  91. package/lib/commonjs/v4/features/feed/components/index.js +17 -0
  92. package/lib/commonjs/v4/features/feed/components/index.js.map +1 -0
  93. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +42 -0
  94. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  95. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js +13 -0
  96. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  97. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js +29 -0
  98. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  99. package/lib/commonjs/v4/features/feed/elements/index.js +17 -0
  100. package/lib/commonjs/v4/features/feed/elements/index.js.map +1 -0
  101. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js +2 -1
  102. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  103. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +40 -38
  104. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  105. package/lib/commonjs/v4/hook/usePaginator.js +36 -24
  106. package/lib/commonjs/v4/hook/usePaginator.js.map +1 -1
  107. package/lib/commonjs/v4/hook/usePostPermission.js +38 -0
  108. package/lib/commonjs/v4/hook/usePostPermission.js.map +1 -0
  109. package/lib/commonjs/v4/hook/useSearch.js +2 -1
  110. package/lib/commonjs/v4/hook/useSearch.js.map +1 -1
  111. package/lib/commonjs/v4/routes/AmityPageRenderer.js +5 -0
  112. package/lib/commonjs/v4/routes/AmityPageRenderer.js.map +1 -1
  113. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js +1 -0
  114. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  115. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  116. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  117. package/lib/module/components/AddMembersModal/index.js +3 -2
  118. package/lib/module/components/AddMembersModal/index.js.map +1 -1
  119. package/lib/module/components/Social/PostList/index.js +7 -2
  120. package/lib/module/components/Social/PostList/index.js.map +1 -1
  121. package/lib/module/hooks/useSearch.js +3 -2
  122. package/lib/module/hooks/useSearch.js.map +1 -1
  123. package/lib/module/redux/slices/globalfeedSlice.js +20 -7
  124. package/lib/module/redux/slices/globalfeedSlice.js.map +1 -1
  125. package/lib/module/screens/CommunitySearch/index.js +3 -2
  126. package/lib/module/screens/CommunitySearch/index.js.map +1 -1
  127. package/lib/module/snippet/AmityGlobalFeedComponent.js +6 -1
  128. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  129. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  130. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  131. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +21 -16
  132. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  133. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  134. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  135. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +11 -16
  136. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  137. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  138. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  139. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  140. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  141. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  142. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  143. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  144. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  145. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  146. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  147. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  148. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  149. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  150. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  151. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +9 -23
  152. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  153. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js +14 -8
  154. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  155. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  156. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  157. package/lib/module/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  158. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +23 -31
  159. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  160. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  161. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  162. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +1 -0
  163. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  164. package/lib/module/v4/assets/icons/lock.js +6 -4
  165. package/lib/module/v4/assets/icons/lock.js.map +1 -1
  166. package/lib/module/v4/component/Avatar/Avatar.js +5 -3
  167. package/lib/module/v4/component/Avatar/Avatar.js.map +1 -1
  168. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  169. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  170. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js +1 -1
  171. package/lib/module/v4/component/CommunitySearchResult/CommunitySearchResult.js.map +1 -1
  172. package/lib/module/v4/component/MyAvatar/MyAvatar.js +9 -6
  173. package/lib/module/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  174. package/lib/module/v4/component/PollContent/PollResults.js +1 -0
  175. package/lib/module/v4/component/PollContent/PollResults.js.map +1 -1
  176. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  177. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  178. package/lib/module/v4/component/Social/CommentList/CommentList.js +24 -15
  179. package/lib/module/v4/component/Social/CommentList/CommentList.js.map +1 -1
  180. package/lib/module/v4/component/Social/CommentList/styles.js +12 -0
  181. package/lib/module/v4/component/Social/CommentList/styles.js.map +1 -1
  182. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  183. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  184. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  185. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  186. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  187. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  188. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  189. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  190. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js +6 -34
  191. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  192. package/lib/module/v4/enum/roomStatus.js +2 -1
  193. package/lib/module/v4/enum/roomStatus.js.map +1 -1
  194. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js +3 -1
  195. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  196. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  197. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  198. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  199. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  200. package/lib/module/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +18 -19
  201. package/lib/module/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  202. package/lib/module/v4/features/feed/components/CommunityCategories/index.js +2 -0
  203. package/lib/module/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  204. package/lib/module/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  205. package/lib/module/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  206. package/lib/module/v4/features/feed/components/index.js +2 -0
  207. package/lib/module/v4/features/feed/components/index.js.map +1 -0
  208. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +35 -0
  209. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  210. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js +2 -0
  211. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  212. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js +22 -0
  213. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  214. package/lib/module/v4/features/feed/elements/index.js +2 -0
  215. package/lib/module/v4/features/feed/elements/index.js.map +1 -0
  216. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js +3 -2
  217. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  218. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +41 -39
  219. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  220. package/lib/module/v4/hook/usePaginator.js +37 -25
  221. package/lib/module/v4/hook/usePaginator.js.map +1 -1
  222. package/lib/module/v4/hook/usePostPermission.js +31 -0
  223. package/lib/module/v4/hook/usePostPermission.js.map +1 -0
  224. package/lib/module/v4/hook/useSearch.js +3 -2
  225. package/lib/module/v4/hook/useSearch.js.map +1 -1
  226. package/lib/module/v4/routes/AmityPageRenderer.js +5 -0
  227. package/lib/module/v4/routes/AmityPageRenderer.js.map +1 -1
  228. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js +1 -0
  229. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  230. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  231. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  232. package/lib/typescript/src/components/AddMembersModal/index.d.ts.map +1 -1
  233. package/lib/typescript/src/components/PollSection/usePoll.d.ts +1 -1
  234. package/lib/typescript/src/components/Social/PostList/index.d.ts.map +1 -1
  235. package/lib/typescript/src/hooks/useSearch.d.ts.map +1 -1
  236. package/lib/typescript/src/redux/slices/globalfeedSlice.d.ts.map +1 -1
  237. package/lib/typescript/src/screens/CommunitySearch/index.d.ts.map +1 -1
  238. package/lib/typescript/src/types/user.interface.d.ts +1 -0
  239. package/lib/typescript/src/types/user.interface.d.ts.map +1 -1
  240. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +4 -0
  241. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  242. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts +1 -0
  243. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts.map +1 -1
  244. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  245. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.d.ts.map +1 -1
  246. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts +1 -0
  247. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts.map +1 -1
  248. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts +1 -2
  249. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts.map +1 -1
  250. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts +3 -5
  251. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts.map +1 -1
  252. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  253. package/lib/typescript/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.d.ts.map +1 -1
  254. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts +1 -0
  255. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts.map +1 -1
  256. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
  257. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.d.ts.map +1 -1
  258. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  259. package/lib/typescript/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.d.ts.map +1 -1
  260. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.d.ts.map +1 -1
  261. package/lib/typescript/src/v4/assets/icons/lock.d.ts +1 -1
  262. package/lib/typescript/src/v4/assets/icons/lock.d.ts.map +1 -1
  263. package/lib/typescript/src/v4/component/Avatar/Avatar.d.ts.map +1 -1
  264. package/lib/typescript/src/v4/component/CommunitySearchResult/CommunitySearchResult.d.ts.map +1 -1
  265. package/lib/typescript/src/v4/component/MyAvatar/MyAvatar.d.ts.map +1 -1
  266. package/lib/typescript/src/v4/component/PollContent/PollResults.d.ts.map +1 -1
  267. package/lib/typescript/src/v4/component/SearchResultItem/SearchResultItem.d.ts.map +1 -1
  268. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts +1 -0
  269. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts.map +1 -1
  270. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts +12 -0
  271. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts.map +1 -1
  272. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts +2 -1
  273. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts.map +1 -1
  274. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts +2 -1
  275. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts.map +1 -1
  276. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  277. package/lib/typescript/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.d.ts.map +1 -1
  278. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts +1 -1
  279. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts.map +1 -1
  280. package/lib/typescript/src/v4/enum/roomStatus.d.ts +1 -0
  281. package/lib/typescript/src/v4/enum/roomStatus.d.ts.map +1 -1
  282. package/lib/typescript/src/v4/features/community/AddMember/hooks/useAddMember.d.ts.map +1 -1
  283. package/lib/typescript/src/v4/features/community/Membership/components/MemberItem/MemberItem.d.ts.map +1 -1
  284. package/lib/typescript/src/v4/features/community/Setting/hooks/useCommunitySetting.d.ts.map +1 -1
  285. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts +12 -0
  286. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts.map +1 -0
  287. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts +2 -0
  288. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts.map +1 -0
  289. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts +30 -0
  290. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts.map +1 -0
  291. package/lib/typescript/src/v4/features/feed/components/index.d.ts +2 -0
  292. package/lib/typescript/src/v4/features/feed/components/index.d.ts.map +1 -0
  293. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts +12 -0
  294. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts.map +1 -0
  295. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts +2 -0
  296. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts.map +1 -0
  297. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts +17 -0
  298. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts.map +1 -0
  299. package/lib/typescript/src/v4/features/feed/elements/index.d.ts +2 -0
  300. package/lib/typescript/src/v4/features/feed/elements/index.d.ts.map +1 -0
  301. package/lib/typescript/src/v4/hook/useAmityGlobalSearchViewModel.d.ts.map +1 -1
  302. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts +6 -1
  303. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts.map +1 -1
  304. package/lib/typescript/src/v4/hook/usePaginator.d.ts.map +1 -1
  305. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts +1 -38
  306. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts.map +1 -1
  307. package/lib/typescript/src/v4/hook/usePoll.d.ts +1 -1
  308. package/lib/typescript/src/v4/hook/usePostPermission.d.ts +6 -0
  309. package/lib/typescript/src/v4/hook/usePostPermission.d.ts.map +1 -0
  310. package/lib/typescript/src/v4/hook/useSearch.d.ts.map +1 -1
  311. package/lib/typescript/src/v4/routes/AmityPageRenderer.d.ts.map +1 -1
  312. package/lib/typescript/src/v4/routes/AmitySocialUIKitV4Navigator.d.ts.map +1 -1
  313. package/package.json +3 -3
  314. package/src/components/AddMembersModal/index.tsx +9 -2
  315. package/src/components/Social/PostList/index.tsx +7 -2
  316. package/src/hooks/useSearch.ts +6 -1
  317. package/src/redux/slices/globalfeedSlice.ts +26 -16
  318. package/src/screens/CommunitySearch/index.tsx +6 -1
  319. package/src/snippet/AmityGlobalFeedComponent.tsx +6 -1
  320. package/src/types/user.interface.ts +1 -0
  321. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +3 -3
  322. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +33 -22
  323. package/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.tsx +27 -2
  324. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +29 -35
  325. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.tsx +39 -15
  326. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.ts +3 -2
  327. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.tsx +38 -23
  328. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.ts +5 -7
  329. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +1 -0
  330. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.tsx +2 -2
  331. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.tsx +1 -1
  332. package/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.tsx +8 -24
  333. package/src/v4/PublicApi/Elements/CommonElements/AvatarElement.tsx +20 -9
  334. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +13 -3
  335. package/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.tsx +0 -1
  336. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +27 -33
  337. package/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.tsx +24 -7
  338. package/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.tsx +1 -0
  339. package/src/v4/assets/icons/lock.tsx +7 -6
  340. package/src/v4/component/Avatar/Avatar.tsx +5 -2
  341. package/src/v4/component/CommunityRowItem/CommunityRowItem.tsx +4 -4
  342. package/src/v4/component/CommunitySearchResult/CommunitySearchResult.tsx +3 -1
  343. package/src/v4/component/MyAvatar/MyAvatar.tsx +12 -6
  344. package/src/v4/component/PollContent/PollResults.tsx +1 -0
  345. package/src/v4/component/SearchResultItem/SearchResultItem.tsx +3 -0
  346. package/src/v4/component/Social/CommentList/CommentList.tsx +69 -56
  347. package/src/v4/component/Social/CommentList/styles.ts +12 -0
  348. package/src/v4/component/Social/CommentListItem/CommentListItem.tsx +3 -1
  349. package/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.tsx +3 -0
  350. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +23 -1
  351. package/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.tsx +6 -2
  352. package/src/v4/elements/CommunityRowImage/CommunityRowImage.tsx +7 -34
  353. package/src/v4/enum/roomStatus.ts +1 -0
  354. package/src/v4/features/community/AddMember/hooks/useAddMember.ts +2 -0
  355. package/src/v4/features/community/Membership/components/MemberItem/MemberItem.tsx +1 -0
  356. package/src/v4/features/community/Setting/hooks/useCommunitySetting.ts +4 -2
  357. package/src/v4/{component/CommunityCategoryChips/CommunityCategoryChips.tsx → features/feed/components/CommunityCategories/CommunityCategories.tsx} +20 -22
  358. package/src/v4/features/feed/components/CommunityCategories/index.ts +1 -0
  359. package/src/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.ts +4 -2
  360. package/src/v4/features/feed/components/index.ts +1 -0
  361. package/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx +45 -0
  362. package/src/v4/features/feed/elements/CommunityCategory/index.ts +1 -0
  363. package/src/v4/features/feed/elements/CommunityCategory/styles.ts +20 -0
  364. package/src/v4/features/feed/elements/index.ts +1 -0
  365. package/src/v4/hook/useAmityGlobalSearchViewModel.ts +6 -1
  366. package/src/v4/hook/useCustomRankingGlobalFeed.ts +55 -46
  367. package/src/v4/hook/usePaginator.ts +60 -31
  368. package/src/v4/hook/usePostPermission.ts +46 -0
  369. package/src/v4/hook/useSearch.ts +6 -1
  370. package/src/v4/routes/AmityPageRenderer.tsx +6 -0
  371. package/src/v4/routes/AmitySocialUIKitV4Navigator.tsx +1 -0
  372. package/src/v4/screen/FollowerList/Components/FollowerListItem.tsx +1 -1
  373. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -38
  374. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  375. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  376. package/lib/commonjs/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  377. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js +0 -38
  378. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  379. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -30
  380. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  381. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  382. package/lib/module/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  383. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js +0 -31
  384. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  385. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts +0 -11
  386. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts.map +0 -1
  387. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts +0 -11
  388. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts.map +0 -1
  389. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts +0 -27
  390. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts.map +0 -1
  391. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts +0 -12
  392. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts.map +0 -1
  393. package/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.tsx +0 -47
  394. package/src/v4/elements/CommunityCatetory/CommunityCategory.tsx +0 -41
@@ -1,9 +1,10 @@
1
- export const icon = (
2
- color: string = '#292B32'
3
- ) => `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
4
- <path d="M10 14.1562C9.625 14.1562 9.34375 13.875 9.34375 13.5V12C9.34375 11.6484 9.625 11.3438 10 11.3438C10.3516 11.3438 10.6562 11.6484 10.6562 12V13.5C10.6562 13.875 10.3516 14.1562 10 14.1562ZM15.25 10.125V15.375C15.25 16.0078 14.7344 16.5 14.125 16.5H5.875C5.24219 16.5 4.75 16.0078 4.75 15.375V10.125C4.75 9.51562 5.24219 9 5.875 9H6.625V7.875C6.625 6.02344 8.125 4.5 10 4.5C11.875 4.52344 13.375 6.04688 13.375 7.92188V9H14.125C14.7344 9 15.25 9.51562 15.25 10.125ZM7.75 9H12.25V7.875C12.25 6.65625 11.2188 5.625 10 5.625C8.75781 5.625 7.75 6.65625 7.75 7.875V9ZM14.125 10.125H5.875V15.375H14.125V10.125Z" fill="${color}"/>
5
- </svg>
6
-
1
+ export const icon =
2
+ () => `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" fill="none" viewBox="0 0 20 20">
3
+ <path
4
+ fill="currentColor"
5
+ d="M15.5 8c.813 0 1.5.688 1.5 1.5v7a1.5 1.5 0 01-1.5 1.5h-11A1.48 1.48 0 013 16.5v-7A1.5 1.5 0 014.5 8h1V6.5C5.5 4.031 7.5 2 10 2c2.5.031 4.5 2.063 4.5 4.563V8h1zM7 6.5V8h6V6.5c0-1.625-1.375-3-3-3-1.656 0-3 1.375-3 3zm8.5 10v-7h-11v7h11z"
6
+ ></path>
7
+ </svg>
7
8
  `;
8
9
 
9
10
  export default icon;
@@ -54,12 +54,15 @@ function Avatar({ uri, imageProps, iconProps, userAvatarProps }: AvatarProps) {
54
54
  {...imageProps}
55
55
  onError={() => setImageError(true)}
56
56
  />
57
+ {userAvatarProps?.roles && isModerator(userAvatarProps?.roles) && (
58
+ <ModeratorBadge style={styles.moderatorBadge} />
59
+ )}
57
60
  </TouchableOpacity>
58
61
  ) : iconProps ? (
59
62
  <SvgXml {...iconProps} />
60
63
  ) : (
61
64
  <TouchableOpacity
62
- style={[styles.defaultUserAvatar, userAvatarProps.style]}
65
+ style={[styles.defaultUserAvatar, userAvatarProps?.style]}
63
66
  activeOpacity={0.7}
64
67
  onPress={() => {
65
68
  if (userAvatarProps?.shouldRedirectToUserProfile) {
@@ -72,7 +75,7 @@ function Avatar({ uri, imageProps, iconProps, userAvatarProps }: AvatarProps) {
72
75
  <Typography.Body style={styles.firstChar}>
73
76
  {userAvatarProps.userName?.trim()?.charAt(0).toUpperCase()}
74
77
  </Typography.Body>
75
- {userAvatarProps.roles && isModerator(userAvatarProps.roles) && (
78
+ {userAvatarProps?.roles && isModerator(userAvatarProps.roles) && (
76
79
  <ModeratorBadge style={styles.moderatorBadge} />
77
80
  )}
78
81
  </TouchableOpacity>
@@ -6,11 +6,11 @@ import { View } from 'react-native';
6
6
  import CommunityJoinedButtonElement from '../../elements/CommunityJoinedButtonElement/CommunityJoinedButtonElement';
7
7
  import CommunityJoinButtonElement from '../../elements/CommunityJoinButtonElement/CommunityJoinButtonElement';
8
8
  import CommunityDisplayname from '../../elements/CommunityDisplayname/CommunityDisplayname';
9
- import CommunityCategory from '../../elements/CommunityCatetory/CommunityCategory';
10
9
  import CommunityMemeberCount from '../../elements/CommunityMemeberCount/CommunityMemeberCount';
11
10
  import { useStyles } from './styles';
12
11
  import CommunityPrivateBadge from '../../elements/CommunityPrivateBadge/CommunityPrivateBadge';
13
12
  import CommunityOfficialBadge from '../../elements/CommunityOfficialBadge/CommunityOfficialBadge';
13
+ import { CommunityCategories } from '../../../v4/features/feed/components';
14
14
 
15
15
  type CommunityRowItemProps = {
16
16
  pageId?: PageID;
@@ -34,7 +34,7 @@ const CommunityRowItem: FC<CommunityRowItemProps> = ({
34
34
  <CommunityRowImage
35
35
  pageId={pageId}
36
36
  componentId={componentId}
37
- fileId={community.avatarFileId}
37
+ fileUrl={community.avatar?.fileUrl}
38
38
  label={label}
39
39
  />
40
40
  <View style={styles.detailWrap}>
@@ -54,8 +54,8 @@ const CommunityRowItem: FC<CommunityRowItemProps> = ({
54
54
  </View>
55
55
  <View style={styles.detailBottomWrap}>
56
56
  <View style={styles.detailBottomWrapLeft}>
57
- <CommunityCategory
58
- categoryIds={community.categoryIds}
57
+ <CommunityCategories
58
+ categories={community.categories}
59
59
  pageId={pageId}
60
60
  componentId={componentId}
61
61
  />
@@ -108,7 +108,9 @@ const CommunitySearchResult: FC<CommunitySearchResultProps> = ({
108
108
  />
109
109
  </Pressable>
110
110
  )}
111
- keyExtractor={(item, index) => item.communityId + index}
111
+ keyExtractor={(item, index) =>
112
+ (item.communityId ?? index).toString() + '_' + index
113
+ }
112
114
  onEndReachedThreshold={0.5}
113
115
  style={styles.list}
114
116
  contentContainerStyle={styles.listContent}
@@ -15,13 +15,19 @@ const MyAvatar: FC<MyAvatarProp> = (props) => {
15
15
 
16
16
  useEffect(() => {
17
17
  UserRepository.getUser(myId, async ({ data, loading, error }) => {
18
- if (!loading && !error) {
19
- const avatar = await getImage({
20
- fileId: data?.avatarFileId,
21
- imageSize: ImageSizeState.small,
22
- });
23
- setAvatarUrl(avatar ?? defaultAvatarUri);
18
+ if (loading || error || !data) return;
19
+
20
+ if (data.avatarCustomUrl) {
21
+ setAvatarUrl(data.avatarCustomUrl);
22
+ return;
24
23
  }
24
+
25
+ const avatar = await getImage({
26
+ fileId: data.avatarFileId,
27
+ imageSize: ImageSizeState.small,
28
+ });
29
+
30
+ setAvatarUrl(avatar ?? defaultAvatarUri);
25
31
  });
26
32
  }, [getImage, myId]);
27
33
 
@@ -80,6 +80,7 @@ export function PollResults({ options, totalVotes }: PollResultsProps) {
80
80
  targetType="user"
81
81
  style={styles.optionAvatar}
82
82
  avatarId={user?.avatarFileId}
83
+ avatarCustomUrl={user?.avatarCustomUrl}
83
84
  elementID={ElementID.WildCardElement}
84
85
  />
85
86
  )}
@@ -91,6 +91,9 @@ const SearchResultItem: FC<SearchResultItemType> = ({
91
91
  pageID={pageId}
92
92
  componentID={componentId}
93
93
  elementID={ElementID.community_avatar}
94
+ avatarCustomUrl={
95
+ searchType === TabName.Users ? item?.avatarCustomUrl : undefined
96
+ }
94
97
  targetType={searchType === TabName.Communities ? 'community' : 'user'}
95
98
  />
96
99
  <View style={styles.profileInfoContainer}>
@@ -9,7 +9,6 @@ import {
9
9
  } from 'react-native';
10
10
  import React, { FC, useEffect, useState, useRef, memo } from 'react';
11
11
  import { UserInterface, IMentionPosition } from '../../../../types';
12
- import { getAmityUser } from '../../../../providers/user-provider';
13
12
  import { CommentRepository } from '@amityco/ts-sdk-react-native';
14
13
  import CommentListItem from '../CommentListItem/CommentListItem';
15
14
  import {
@@ -30,6 +29,8 @@ import useMention from '../../../hook/useMention';
30
29
  import { replaceTriggerValues } from 'react-native-controlled-mentions';
31
30
  import MyAvatar from '../../MyAvatar/MyAvatar';
32
31
  import { useToast } from '../../../../v4/stores/slices/toast';
32
+ import { Typography } from '../../Typography/Typography';
33
+ import { lock } from '../../../../v4/assets/icons';
33
34
 
34
35
  interface ICommentListProp {
35
36
  postId: string;
@@ -37,6 +38,7 @@ interface ICommentListProp {
37
38
  disabledInteraction?: boolean;
38
39
  onNavigate?: () => void;
39
40
  withAvatar?: boolean;
41
+ disabledComment?: boolean;
40
42
  }
41
43
 
42
44
  interface IComment {
@@ -64,6 +66,7 @@ const CommentList: FC<ICommentListProp> = ({
64
66
  disabledInteraction,
65
67
  onNavigate,
66
68
  withAvatar,
69
+ disabledComment,
67
70
  }) => {
68
71
  const styles = useStyles();
69
72
  const theme = useTheme() as MyMD3Theme;
@@ -103,10 +106,10 @@ const CommentList: FC<ICommentListProp> = ({
103
106
  referenceType: postType,
104
107
  limit: commentListLimit,
105
108
  },
106
- async ({ error, loading, data, hasNextPage, onNextPage }) => {
109
+ ({ error, loading, data, hasNextPage, onNextPage }) => {
107
110
  if (error) return;
108
111
  if (!loading) {
109
- data && data.length > 0 && (await queryComment(data));
112
+ data && data.length > 0 && queryComment(data);
110
113
  onNextPageRef.current = hasNextPage ? onNextPage : null;
111
114
  }
112
115
  }
@@ -129,34 +132,31 @@ const CommentList: FC<ICommentListProp> = ({
129
132
  }, [inputMessage]);
130
133
 
131
134
  const queryComment = async (comments: Amity.InternalComment[]) => {
132
- const formattedCommentList = await Promise.all(
133
- comments.map(async (item: Amity.Comment) => {
134
- const { userObject } = await getAmityUser(item.userId);
135
- let formattedUserObject: UserInterface;
135
+ const formattedCommentList = comments.map((item: Amity.Comment) => {
136
+ let formattedUserObject: UserInterface;
136
137
 
137
- formattedUserObject = {
138
- userId: userObject.data.userId,
139
- displayName: userObject.data.displayName,
140
- avatarFileId: userObject.data.avatarFileId,
141
- };
138
+ formattedUserObject = {
139
+ userId: item?.creator?.userId,
140
+ displayName: item?.creator?.displayName,
141
+ avatarFileId: item?.creator?.avatarFileId,
142
+ };
142
143
 
143
- return {
144
- commentId: item.commentId,
145
- data: item.data as Record<string, any>,
146
- dataType: item.dataType || 'text',
147
- myReactions: item.myReactions as string[],
148
- reactions: item.reactions as Record<string, number>,
149
- user: formattedUserObject as UserInterface,
150
- updatedAt: item.updatedAt,
151
- editedAt: item.editedAt,
152
- createdAt: item.createdAt,
153
- childrenComment: item.children,
154
- childrenNumber: item.childrenNumber,
155
- referenceId: item.referenceId,
156
- mentionPosition: item?.metadata?.mentioned ?? [],
157
- };
158
- })
159
- );
144
+ return {
145
+ commentId: item.commentId,
146
+ data: item.data as Record<string, any>,
147
+ dataType: item.dataType || 'text',
148
+ myReactions: item.myReactions as string[],
149
+ reactions: item.reactions as Record<string, number>,
150
+ user: formattedUserObject as UserInterface,
151
+ updatedAt: item.updatedAt,
152
+ editedAt: item.editedAt,
153
+ createdAt: item.createdAt,
154
+ childrenComment: item.children,
155
+ childrenNumber: item.childrenNumber,
156
+ referenceId: item.referenceId,
157
+ mentionPosition: item?.metadata?.mentioned ?? [],
158
+ };
159
+ });
160
160
  setCommentList([...formattedCommentList]);
161
161
  };
162
162
 
@@ -251,35 +251,47 @@ const CommentList: FC<ICommentListProp> = ({
251
251
  </TouchableOpacity>
252
252
  </View>
253
253
  )}
254
- {!disabledInteraction && (
255
- <View style={styles.inputWrap}>
256
- {withAvatar && <MyAvatar />}
257
- <View style={styles.inputContainer}>
258
- {renderInput({
259
- multiline: true,
260
- style: styles.textInput,
261
- placeholder: 'Say something nice...',
262
- placeholderTextColor: theme.colors.baseShade3,
263
- })}
254
+ {!disabledInteraction &&
255
+ (disabledComment ? (
256
+ <View style={styles.disabledCommentWrap}>
257
+ <SvgXml
258
+ width={20}
259
+ height={20}
260
+ xml={lock()}
261
+ color={theme.colors.baseShade2}
262
+ />
263
+ <Typography.Body style={styles.disabledCommentText}>
264
+ Comments are disabled for this story
265
+ </Typography.Body>
264
266
  </View>
265
-
266
- <TouchableOpacity
267
- disabled={inputMessage.length > 0 ? false : true}
268
- onPress={handleSend}
269
- style={styles.postBtn}
270
- >
271
- <Text
272
- style={
273
- inputMessage.length > 0
274
- ? styles.postBtnText
275
- : styles.postDisabledBtn
276
- }
267
+ ) : (
268
+ <View style={styles.inputWrap}>
269
+ {withAvatar && <MyAvatar />}
270
+ <View style={styles.inputContainer}>
271
+ {renderInput({
272
+ multiline: true,
273
+ style: styles.textInput,
274
+ placeholder: 'Say something nice...',
275
+ placeholderTextColor: theme.colors.baseShade3,
276
+ })}
277
+ </View>
278
+ <TouchableOpacity
279
+ disabled={inputMessage.length > 0 ? false : true}
280
+ onPress={handleSend}
281
+ style={styles.postBtn}
277
282
  >
278
- Post
279
- </Text>
280
- </TouchableOpacity>
281
- </View>
282
- )}
283
+ <Text
284
+ style={
285
+ inputMessage.length > 0
286
+ ? styles.postBtnText
287
+ : styles.postDisabledBtn
288
+ }
289
+ >
290
+ Post
291
+ </Text>
292
+ </TouchableOpacity>
293
+ </View>
294
+ ))}
283
295
  </KeyboardAvoidingView>
284
296
  );
285
297
  };
@@ -299,6 +311,7 @@ const CommentList: FC<ICommentListProp> = ({
299
311
  commentDetail={item}
300
312
  onClickReply={handleClickReply}
301
313
  postType={postType}
314
+ disabledComment={disabledComment}
302
315
  disabledInteraction={disabledInteraction}
303
316
  onNavigate={onNavigate}
304
317
  />
@@ -123,6 +123,18 @@ export const useStyles = () => {
123
123
  commentListFooter: {
124
124
  width: width,
125
125
  },
126
+ disabledCommentWrap: {
127
+ flexDirection: 'row',
128
+ alignItems: 'center',
129
+ justifyContent: 'center',
130
+ padding: 16,
131
+ gap: 8,
132
+ borderTopWidth: 1,
133
+ borderTopColor: theme.colors.baseShade4,
134
+ },
135
+ disabledCommentText: {
136
+ color: theme.colors.baseShade2,
137
+ },
126
138
  });
127
139
 
128
140
  return styles;
@@ -69,6 +69,7 @@ export interface ICommentList {
69
69
  onClickReply: (user: UserInterface, commentId: string) => void;
70
70
  postType: Amity.CommentReferenceType;
71
71
  disabledInteraction?: boolean;
72
+ disabledComment?: boolean;
72
73
  onNavigate?: () => void;
73
74
  }
74
75
 
@@ -79,6 +80,7 @@ const CommentListItem = ({
79
80
  postType,
80
81
  disabledInteraction,
81
82
  onNavigate,
83
+ disabledComment,
82
84
  }: ICommentList) => {
83
85
  const theme = useTheme() as MyMD3Theme;
84
86
  const styles = useStyles();
@@ -345,7 +347,7 @@ const CommentListItem = ({
345
347
  </Typography.CaptionBold>
346
348
  </TouchableOpacity>
347
349
  <TouchableOpacity
348
- onPress={onHandleReply}
350
+ onPress={disabledComment ? undefined : onHandleReply}
349
351
  style={styles.likeBtn}
350
352
  >
351
353
  <Typography.CaptionBold style={styles.btnText}>
@@ -18,6 +18,7 @@ interface ITargetItem {
18
18
  isBadgeShow?: boolean;
19
19
  isPrivate?: boolean;
20
20
  onSelect: () => void;
21
+ avatarCustomUrl?: string;
21
22
  }
22
23
 
23
24
  const TargetItem = ({
@@ -30,6 +31,7 @@ const TargetItem = ({
30
31
  isBadgeShow,
31
32
  isPrivate,
32
33
  onSelect,
34
+ avatarCustomUrl,
33
35
  }: ITargetItem) => {
34
36
  const theme = useTheme() as MyMD3Theme;
35
37
 
@@ -72,6 +74,7 @@ const TargetItem = ({
72
74
  elementID={avatarElementId}
73
75
  avatarId={avatarFileId}
74
76
  targetType="community"
77
+ avatarCustomUrl={avatarCustomUrl}
75
78
  />
76
79
  {isPrivate && (
77
80
  <ImageElement
@@ -19,6 +19,8 @@ import { useStyles } from './styles';
19
19
  import { Illustration } from '../../../v4/PublicApi/Components/AmityEmptyNewsFeedComponent/Elements';
20
20
  import { useNavigation } from '@react-navigation/native';
21
21
  import { NativeStackNavigationProp } from '@react-navigation/native-stack';
22
+ import { CommunityPostSettings } from '@amityco/ts-sdk-react-native';
23
+ import { usePostPermission } from '../../../v4/hook/usePostPermission';
22
24
 
23
25
  export type FeedParams = {
24
26
  targetId: string;
@@ -76,7 +78,7 @@ const TargetSelectionPage = ({
76
78
  });
77
79
 
78
80
  const renderItem = ({ item }: { item: Amity.Community }) => {
79
- return (
81
+ const target = (
80
82
  <TargetItem
81
83
  key={item.communityId}
82
84
  displayName={item.displayName}
@@ -88,12 +90,20 @@ const TargetSelectionPage = ({
88
90
  targetName: item.displayName,
89
91
  targetType: 'community',
90
92
  community: item,
93
+ postSetting: item.postSetting,
94
+ isPublic: item.isPublic,
91
95
  })
92
96
  }
93
97
  avatarElementId={ElementID.community_avatar}
94
98
  avatarFileId={item.avatarFileId}
95
99
  />
96
100
  );
101
+
102
+ if (item?.postSetting === CommunityPostSettings.ONLY_ADMIN_CAN_POST) {
103
+ return <AdminOnlyCommunity community={item}>{target}</AdminOnlyCommunity>;
104
+ }
105
+
106
+ return target;
97
107
  };
98
108
 
99
109
  return (
@@ -135,6 +145,7 @@ const TargetSelectionPage = ({
135
145
  targetType: 'user',
136
146
  })
137
147
  }
148
+ avatarCustomUrl={user?.avatarCustomUrl}
138
149
  avatarFileId={user?.avatarFileId}
139
150
  />
140
151
  <View style={styles.divider}>
@@ -166,3 +177,14 @@ const TargetSelectionPage = ({
166
177
  };
167
178
 
168
179
  export default React.memo(TargetSelectionPage);
180
+
181
+ type AdminOnlyCommunityProps = {
182
+ community: Amity.Community;
183
+ children: React.ReactNode;
184
+ };
185
+
186
+ function AdminOnlyCommunity({ community, children }: AdminOnlyCommunityProps) {
187
+ const hasPostPermission = usePostPermission({ community });
188
+
189
+ return hasPostPermission ? children : null;
190
+ }
@@ -27,9 +27,13 @@ const CommunityJoinButton: FC<CommunityJoinButtonType> = ({
27
27
  elementId: ElementID.community_join_button,
28
28
  });
29
29
 
30
- const { refresh } = useCustomRankingGlobalFeed();
30
+ const { refresh, globalFeedPosts } = useCustomRankingGlobalFeed({
31
+ enabled: false,
32
+ });
31
33
  const { joinCommunity, isPending } = useJoinCommunity({
32
- onSuccess: () => setTimeout(() => refresh(), 3000),
34
+ onSuccess: () => {
35
+ globalFeedPosts.length === 0 && refresh();
36
+ },
33
37
  });
34
38
 
35
39
  const handleJoinCommunity = () => {
@@ -1,67 +1,40 @@
1
- import React, { FC, memo, useEffect, useState } from 'react';
1
+ import React, { FC, memo } from 'react';
2
2
  import LinearGradient from 'react-native-linear-gradient';
3
3
  import { ComponentID, ElementID, PageID } from '../../enum';
4
- import { useAmityElement, useConfigImageUri, useFile } from '../../hook';
4
+ import { useAmityElement } from '../../hook';
5
5
  import { Image, View } from 'react-native';
6
6
  import { useStyles } from './styles';
7
7
  import { Typography } from '../../component/Typography/Typography';
8
8
  import { SvgXml } from 'react-native-svg';
9
9
  import { community as communityIcon } from '../../assets/icons';
10
+ import { getFileUrlWithSize } from '../../../v4/utils';
10
11
 
11
12
  type CommunityRowImageyProps = {
12
- fileId?: string;
13
+ fileUrl?: string;
13
14
  pageId?: PageID;
14
15
  componentId?: ComponentID;
15
16
  label?: string;
16
17
  };
17
18
 
18
19
  const CommunityRowImagey: FC<CommunityRowImageyProps> = ({
19
- fileId,
20
+ fileUrl,
20
21
  pageId = PageID.WildCardPage,
21
22
  componentId = ComponentID.WildCardComponent,
22
23
  label,
23
24
  }) => {
24
- // TODO: add state loading and loading skeleton
25
25
  const elementId = ElementID.community_row_image;
26
26
  const styles = useStyles();
27
- const [image, setImage] = useState<string | undefined>(undefined);
28
27
  const { accessibilityId } = useAmityElement({
29
28
  pageId,
30
29
  componentId,
31
30
  elementId,
32
31
  });
33
32
 
34
- const { uri } = useConfigImageUri({
35
- configPath: {
36
- page: pageId,
37
- component: componentId,
38
- element: elementId,
39
- },
40
- configKey: 'image',
41
- });
42
-
43
- const { getImage } = useFile();
44
-
45
- useEffect(() => {
46
- const getImageUrl = async () => {
47
- if (!fileId) return;
48
-
49
- if (!fileId && uri) {
50
- setImage(uri);
51
- } else if (fileId) {
52
- const url = await getImage({ fileId });
53
- setImage(url);
54
- }
55
- };
56
-
57
- getImageUrl();
58
- }, [uri, fileId, getImage]);
59
-
60
33
  return (
61
34
  <View testID={accessibilityId} style={styles.container}>
62
- {image ? (
35
+ {fileUrl ? (
63
36
  <Image
64
- source={{ uri: image as string }}
37
+ source={{ uri: getFileUrlWithSize(fileUrl) }}
65
38
  style={styles.image}
66
39
  resizeMode="cover"
67
40
  />
@@ -5,4 +5,5 @@ export const RoomStatus = {
5
5
  ended: 'ended',
6
6
  waitingReconnect: 'waitingReconnect',
7
7
  terminated: 'terminated',
8
+ error: 'error',
8
9
  } as const satisfies Record<Amity.RoomStatus, Amity.RoomStatus>;
@@ -6,6 +6,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
6
6
  import { useForm } from 'react-hook-form';
7
7
  import { useUserCollection } from '../../../../../v4/hook/collections/useUserCollection';
8
8
  import { useSearchUserByDisplayNameCollection } from '../../../../../v4/hook/collections/useSearchUserByDisplayNameCollection';
9
+ import { SearchUsersByEnum } from '@amityco/ts-sdk-react-native';
9
10
 
10
11
  type UseAddMemberProps = {
11
12
  communityId?: string;
@@ -47,6 +48,7 @@ function useAddMember({ communityId }: UseAddMemberProps = {}) {
47
48
  params: {
48
49
  displayName: values.search,
49
50
  limit: 20,
51
+ searchBy: [SearchUsersByEnum.DISPLAY_NAME],
50
52
  },
51
53
  enabled: !!values.search && !communityId,
52
54
  });
@@ -221,6 +221,7 @@ function MemberItem({ member, communityId, refreshMembers }: MemberItemProps) {
221
221
  uri={member.user?.avatarCustomUrl}
222
222
  roles={member.roles}
223
223
  userName={member.user?.displayName ?? member.user?.userId}
224
+ userId={member.userId}
224
225
  />
225
226
  <Typography.BodyBold
226
227
  style={styles.userName}
@@ -18,7 +18,9 @@ export function useCommunitySetting(community: Amity.Community) {
18
18
  >();
19
19
  const { AmityCommunitySettingPageBehavior } = useBehaviour();
20
20
  const { showToast } = useToast();
21
- const { refresh } = useCustomRankingGlobalFeed();
21
+ const { refresh, globalFeedPosts } = useCustomRankingGlobalFeed({
22
+ enabled: false,
23
+ });
22
24
 
23
25
  const { mutate: leaveCommunity } = useMutation({
24
26
  mutationFn: async () =>
@@ -26,7 +28,7 @@ export function useCommunitySetting(community: Amity.Community) {
26
28
  onSuccess: () => {
27
29
  navigation.goBack();
28
30
  showToast({ message: 'Successfully left the group', type: 'success' });
29
- setTimeout(() => refresh(), 3000);
31
+ globalFeedPosts.length === 0 && setTimeout(() => refresh(), 3000);
30
32
  },
31
33
  onError: (error) => {
32
34
  if (error.message.includes(ERROR_CODE.ONLY_ONE_MODERATOR)) {