@amityco/react-native-social-uikit 4.0.0-eaa97a5.0 → 4.0.0-eb58afc.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 (614) 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/ErrorBoundary/ErrorBoundary.js +77 -0
  5. package/lib/commonjs/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  6. package/lib/commonjs/components/ErrorBoundary/index.js +20 -0
  7. package/lib/commonjs/components/ErrorBoundary/index.js.map +1 -0
  8. package/lib/commonjs/components/Social/PostList/index.js +7 -2
  9. package/lib/commonjs/components/Social/PostList/index.js.map +1 -1
  10. package/lib/commonjs/components/Toast/Toast.js +2 -1
  11. package/lib/commonjs/components/Toast/Toast.js.map +1 -1
  12. package/lib/commonjs/hooks/useAuth.js +4 -2
  13. package/lib/commonjs/hooks/useAuth.js.map +1 -1
  14. package/lib/commonjs/hooks/useSearch.js +2 -1
  15. package/lib/commonjs/hooks/useSearch.js.map +1 -1
  16. package/lib/commonjs/index.js +7 -0
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/providers/Social/communities-sdk.js +2 -1
  19. package/lib/commonjs/providers/Social/communities-sdk.js.map +1 -1
  20. package/lib/commonjs/providers/amity-ui-kit-provider.js +4 -2
  21. package/lib/commonjs/providers/amity-ui-kit-provider.js.map +1 -1
  22. package/lib/commonjs/providers/auth-provider.js +20 -11
  23. package/lib/commonjs/providers/auth-provider.js.map +1 -1
  24. package/lib/commonjs/providers/file-provider.js +38 -19
  25. package/lib/commonjs/providers/file-provider.js.map +1 -1
  26. package/lib/commonjs/screens/CommunitySearch/index.js +2 -1
  27. package/lib/commonjs/screens/CommunitySearch/index.js.map +1 -1
  28. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +6 -1
  29. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  30. package/lib/commonjs/svg/svg-xml-list.js +6 -1
  31. package/lib/commonjs/svg/svg-xml-list.js.map +1 -1
  32. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  33. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  34. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +37 -21
  35. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  36. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +5 -7
  37. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  38. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  39. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  40. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  41. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  42. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  43. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  44. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  45. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  46. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  47. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  48. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  49. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  50. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  51. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  52. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  53. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  54. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  55. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  56. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +8 -23
  57. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  58. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  59. package/lib/commonjs/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  60. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  61. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  62. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +37 -20
  63. package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  64. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +24 -61
  65. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  66. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +1 -1
  67. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  68. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +37 -1
  69. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  70. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  71. package/lib/commonjs/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  72. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  73. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +21 -29
  74. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  75. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  76. package/lib/commonjs/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  77. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  78. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  79. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  80. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  81. package/lib/commonjs/v4/assets/icons/lock.js +6 -4
  82. package/lib/commonjs/v4/assets/icons/lock.js.map +1 -1
  83. package/lib/commonjs/v4/assets/icons/poll.js +2 -2
  84. package/lib/commonjs/v4/assets/icons/toast.js +6 -6
  85. package/lib/commonjs/v4/assets/icons/toast.js.map +1 -1
  86. package/lib/commonjs/v4/component/Avatar/Avatar.js +5 -3
  87. package/lib/commonjs/v4/component/Avatar/Avatar.js.map +1 -1
  88. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  89. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  90. package/lib/commonjs/v4/component/CommunityStories/index.js +9 -4
  91. package/lib/commonjs/v4/component/CommunityStories/index.js.map +1 -1
  92. package/lib/commonjs/v4/component/CommunityStories/styles.js +7 -2
  93. package/lib/commonjs/v4/component/CommunityStories/styles.js.map +1 -1
  94. package/lib/commonjs/v4/component/LivestreamContent/index.js +2 -2
  95. package/lib/commonjs/v4/component/LivestreamContent/index.js.map +1 -1
  96. package/lib/commonjs/v4/component/LoadingImage/index.js +22 -25
  97. package/lib/commonjs/v4/component/LoadingImage/index.js.map +1 -1
  98. package/lib/commonjs/v4/component/LoadingImage/styles.js +19 -2
  99. package/lib/commonjs/v4/component/LoadingImage/styles.js.map +1 -1
  100. package/lib/commonjs/v4/component/LoadingVideo/index.js +12 -6
  101. package/lib/commonjs/v4/component/LoadingVideo/index.js.map +1 -1
  102. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js +9 -6
  103. package/lib/commonjs/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  104. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js +11 -4
  105. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  106. package/lib/commonjs/v4/component/MyStories/styles.js +5 -0
  107. package/lib/commonjs/v4/component/MyStories/styles.js.map +1 -1
  108. package/lib/commonjs/v4/component/PollContent/PollResults.js +15 -6
  109. package/lib/commonjs/v4/component/PollContent/PollResults.js.map +1 -1
  110. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js +16 -9
  111. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  112. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  113. package/lib/commonjs/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  114. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js +24 -15
  115. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js.map +1 -1
  116. package/lib/commonjs/v4/component/Social/CommentList/styles.js +12 -0
  117. package/lib/commonjs/v4/component/Social/CommentList/styles.js.map +1 -1
  118. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  119. package/lib/commonjs/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  120. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  121. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  122. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  123. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  124. package/lib/commonjs/v4/constants/index.js +4 -2
  125. package/lib/commonjs/v4/constants/index.js.map +1 -1
  126. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  127. package/lib/commonjs/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  128. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  129. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  130. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js +4 -32
  131. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  132. package/lib/commonjs/v4/engine/AssetDownloader.js +2 -1
  133. package/lib/commonjs/v4/engine/AssetDownloader.js.map +1 -1
  134. package/lib/commonjs/v4/enum/roomStatus.js +3 -1
  135. package/lib/commonjs/v4/enum/roomStatus.js.map +1 -1
  136. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js +3 -1
  137. package/lib/commonjs/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  138. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  139. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  140. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  141. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  142. package/lib/commonjs/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +19 -21
  143. package/lib/commonjs/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  144. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js +13 -0
  145. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  146. package/lib/commonjs/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  147. package/lib/commonjs/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  148. package/lib/commonjs/v4/features/feed/components/index.js +17 -0
  149. package/lib/commonjs/v4/features/feed/components/index.js.map +1 -0
  150. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +42 -0
  151. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  152. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js +13 -0
  153. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  154. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js +29 -0
  155. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  156. package/lib/commonjs/v4/features/feed/elements/index.js +17 -0
  157. package/lib/commonjs/v4/features/feed/elements/index.js.map +1 -0
  158. package/lib/commonjs/v4/features/room/hooks/useRoom.js +26 -0
  159. package/lib/commonjs/v4/features/room/hooks/useRoom.js.map +1 -0
  160. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js +2 -1
  161. package/lib/commonjs/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  162. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +33 -38
  163. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  164. package/lib/commonjs/v4/hook/usePaginator.js +11 -16
  165. package/lib/commonjs/v4/hook/usePaginator.js.map +1 -1
  166. package/lib/commonjs/v4/hook/usePostPermission.js +38 -0
  167. package/lib/commonjs/v4/hook/usePostPermission.js.map +1 -0
  168. package/lib/commonjs/v4/hook/useSearch.js +2 -1
  169. package/lib/commonjs/v4/hook/useSearch.js.map +1 -1
  170. package/lib/commonjs/v4/routes/AmityPageRenderer.js +5 -0
  171. package/lib/commonjs/v4/routes/AmityPageRenderer.js.map +1 -1
  172. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  173. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  174. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  175. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  176. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js +42 -0
  177. package/lib/commonjs/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  178. package/lib/commonjs/v4/screen/GlobalBan/index.js +13 -0
  179. package/lib/commonjs/v4/screen/GlobalBan/index.js.map +1 -0
  180. package/lib/commonjs/v4/screen/GlobalBan/styles.js +46 -0
  181. package/lib/commonjs/v4/screen/GlobalBan/styles.js.map +1 -0
  182. package/lib/commonjs/v4/screen/PostDetail/index.js +3 -2
  183. package/lib/commonjs/v4/screen/PostDetail/index.js.map +1 -1
  184. package/lib/module/components/AddMembersModal/index.js +3 -2
  185. package/lib/module/components/AddMembersModal/index.js.map +1 -1
  186. package/lib/module/components/ErrorBoundary/ErrorBoundary.js +69 -0
  187. package/lib/module/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
  188. package/lib/module/components/ErrorBoundary/index.js +3 -0
  189. package/lib/module/components/ErrorBoundary/index.js.map +1 -0
  190. package/lib/module/components/Social/PostList/index.js +7 -2
  191. package/lib/module/components/Social/PostList/index.js.map +1 -1
  192. package/lib/module/components/Toast/Toast.js +2 -1
  193. package/lib/module/components/Toast/Toast.js.map +1 -1
  194. package/lib/module/hooks/useAuth.js +4 -2
  195. package/lib/module/hooks/useAuth.js.map +1 -1
  196. package/lib/module/hooks/useSearch.js +3 -2
  197. package/lib/module/hooks/useSearch.js.map +1 -1
  198. package/lib/module/index.js +2 -1
  199. package/lib/module/index.js.map +1 -1
  200. package/lib/module/providers/Social/communities-sdk.js +2 -1
  201. package/lib/module/providers/Social/communities-sdk.js.map +1 -1
  202. package/lib/module/providers/amity-ui-kit-provider.js +4 -2
  203. package/lib/module/providers/amity-ui-kit-provider.js.map +1 -1
  204. package/lib/module/providers/auth-provider.js +20 -11
  205. package/lib/module/providers/auth-provider.js.map +1 -1
  206. package/lib/module/providers/file-provider.js +38 -19
  207. package/lib/module/providers/file-provider.js.map +1 -1
  208. package/lib/module/screens/CommunitySearch/index.js +3 -2
  209. package/lib/module/screens/CommunitySearch/index.js.map +1 -1
  210. package/lib/module/snippet/AmityGlobalFeedComponent.js +6 -1
  211. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  212. package/lib/module/svg/svg-xml-list.js +4 -0
  213. package/lib/module/svg/svg-xml-list.js.map +1 -1
  214. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  215. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  216. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +38 -22
  217. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  218. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +6 -8
  219. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  220. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  221. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  222. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +12 -30
  223. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  224. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js +22 -9
  225. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.js.map +1 -1
  226. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js +4 -3
  227. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.js.map +1 -1
  228. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js +14 -13
  229. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.js.map +1 -1
  230. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js +8 -10
  231. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.js.map +1 -1
  232. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +2 -1
  233. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  234. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  235. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  236. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  237. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  238. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +9 -23
  239. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  240. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js +16 -9
  241. package/lib/module/v4/PublicApi/Elements/CommonElements/AvatarElement.js.map +1 -1
  242. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +13 -3
  243. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  244. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +37 -20
  245. package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
  246. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +24 -61
  247. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  248. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js +1 -1
  249. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
  250. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +37 -1
  251. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  252. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js +21 -2
  253. package/lib/module/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.js.map +1 -1
  254. package/lib/module/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.js.map +1 -1
  255. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +23 -31
  256. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  257. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js +17 -6
  258. package/lib/module/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.js.map +1 -1
  259. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js +55 -21
  260. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.js.map +1 -1
  261. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js +24 -2
  262. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/styles.js.map +1 -1
  263. package/lib/module/v4/assets/icons/lock.js +6 -4
  264. package/lib/module/v4/assets/icons/lock.js.map +1 -1
  265. package/lib/module/v4/assets/icons/poll.js +2 -2
  266. package/lib/module/v4/assets/icons/toast.js +6 -6
  267. package/lib/module/v4/assets/icons/toast.js.map +1 -1
  268. package/lib/module/v4/component/Avatar/Avatar.js +5 -3
  269. package/lib/module/v4/component/Avatar/Avatar.js.map +1 -1
  270. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  271. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  272. package/lib/module/v4/component/CommunityStories/index.js +10 -5
  273. package/lib/module/v4/component/CommunityStories/index.js.map +1 -1
  274. package/lib/module/v4/component/CommunityStories/styles.js +7 -2
  275. package/lib/module/v4/component/CommunityStories/styles.js.map +1 -1
  276. package/lib/module/v4/component/LivestreamContent/index.js +2 -2
  277. package/lib/module/v4/component/LivestreamContent/index.js.map +1 -1
  278. package/lib/module/v4/component/LoadingImage/index.js +22 -24
  279. package/lib/module/v4/component/LoadingImage/index.js.map +1 -1
  280. package/lib/module/v4/component/LoadingImage/styles.js +19 -2
  281. package/lib/module/v4/component/LoadingImage/styles.js.map +1 -1
  282. package/lib/module/v4/component/LoadingVideo/index.js +12 -6
  283. package/lib/module/v4/component/LoadingVideo/index.js.map +1 -1
  284. package/lib/module/v4/component/MyAvatar/MyAvatar.js +9 -6
  285. package/lib/module/v4/component/MyAvatar/MyAvatar.js.map +1 -1
  286. package/lib/module/v4/component/MyStories/StoryCircleItem.js +13 -6
  287. package/lib/module/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  288. package/lib/module/v4/component/MyStories/styles.js +5 -0
  289. package/lib/module/v4/component/MyStories/styles.js.map +1 -1
  290. package/lib/module/v4/component/PollContent/PollResults.js +15 -6
  291. package/lib/module/v4/component/PollContent/PollResults.js.map +1 -1
  292. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js +17 -10
  293. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  294. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js +1 -0
  295. package/lib/module/v4/component/SearchResultItem/SearchResultItem.js.map +1 -1
  296. package/lib/module/v4/component/Social/CommentList/CommentList.js +24 -15
  297. package/lib/module/v4/component/Social/CommentList/CommentList.js.map +1 -1
  298. package/lib/module/v4/component/Social/CommentList/styles.js +12 -0
  299. package/lib/module/v4/component/Social/CommentList/styles.js.map +1 -1
  300. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js +3 -2
  301. package/lib/module/v4/component/Social/CommentListItem/CommentListItem.js.map +1 -1
  302. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  303. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  304. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +22 -2
  305. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  306. package/lib/module/v4/constants/index.js +3 -1
  307. package/lib/module/v4/constants/index.js.map +1 -1
  308. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js +1 -1
  309. package/lib/module/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.js.map +1 -1
  310. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  311. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  312. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js +6 -34
  313. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  314. package/lib/module/v4/engine/AssetDownloader.js +2 -1
  315. package/lib/module/v4/engine/AssetDownloader.js.map +1 -1
  316. package/lib/module/v4/enum/roomStatus.js +3 -1
  317. package/lib/module/v4/enum/roomStatus.js.map +1 -1
  318. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js +3 -1
  319. package/lib/module/v4/features/community/AddMember/hooks/useAddMember.js.map +1 -1
  320. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js +2 -1
  321. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  322. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  323. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  324. package/lib/module/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +18 -19
  325. package/lib/module/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  326. package/lib/module/v4/features/feed/components/CommunityCategories/index.js +2 -0
  327. package/lib/module/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  328. package/lib/module/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  329. package/lib/module/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  330. package/lib/module/v4/features/feed/components/index.js +2 -0
  331. package/lib/module/v4/features/feed/components/index.js.map +1 -0
  332. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +35 -0
  333. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  334. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js +2 -0
  335. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  336. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js +22 -0
  337. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  338. package/lib/module/v4/features/feed/elements/index.js +2 -0
  339. package/lib/module/v4/features/feed/elements/index.js.map +1 -0
  340. package/lib/module/v4/features/room/hooks/useRoom.js +20 -0
  341. package/lib/module/v4/features/room/hooks/useRoom.js.map +1 -0
  342. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js +3 -2
  343. package/lib/module/v4/hook/useAmityGlobalSearchViewModel.js.map +1 -1
  344. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +34 -39
  345. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  346. package/lib/module/v4/hook/usePaginator.js +12 -17
  347. package/lib/module/v4/hook/usePaginator.js.map +1 -1
  348. package/lib/module/v4/hook/usePostPermission.js +31 -0
  349. package/lib/module/v4/hook/usePostPermission.js.map +1 -0
  350. package/lib/module/v4/hook/useSearch.js +3 -2
  351. package/lib/module/v4/hook/useSearch.js.map +1 -1
  352. package/lib/module/v4/routes/AmityPageRenderer.js +5 -0
  353. package/lib/module/v4/routes/AmityPageRenderer.js.map +1 -1
  354. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js +5 -1
  355. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  356. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  357. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  358. package/lib/module/v4/screen/GlobalBan/GlobalBan.js +35 -0
  359. package/lib/module/v4/screen/GlobalBan/GlobalBan.js.map +1 -0
  360. package/lib/module/v4/screen/GlobalBan/index.js +2 -0
  361. package/lib/module/v4/screen/GlobalBan/index.js.map +1 -0
  362. package/lib/module/v4/screen/GlobalBan/styles.js +39 -0
  363. package/lib/module/v4/screen/GlobalBan/styles.js.map +1 -0
  364. package/lib/module/v4/screen/PostDetail/index.js +3 -2
  365. package/lib/module/v4/screen/PostDetail/index.js.map +1 -1
  366. package/lib/typescript/src/components/AddMembersModal/index.d.ts.map +1 -1
  367. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts +20 -0
  368. package/lib/typescript/src/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  369. package/lib/typescript/src/components/ErrorBoundary/index.d.ts +3 -0
  370. package/lib/typescript/src/components/ErrorBoundary/index.d.ts.map +1 -0
  371. package/lib/typescript/src/components/PollSection/usePoll.d.ts +1 -1
  372. package/lib/typescript/src/components/Social/PostList/index.d.ts.map +1 -1
  373. package/lib/typescript/src/components/Toast/Toast.d.ts.map +1 -1
  374. package/lib/typescript/src/hooks/useAuth.d.ts.map +1 -1
  375. package/lib/typescript/src/hooks/useSearch.d.ts.map +1 -1
  376. package/lib/typescript/src/index.d.ts +2 -1
  377. package/lib/typescript/src/index.d.ts.map +1 -1
  378. package/lib/typescript/src/providers/amity-ui-kit-provider.d.ts.map +1 -1
  379. package/lib/typescript/src/providers/auth-provider.d.ts.map +1 -1
  380. package/lib/typescript/src/providers/file-provider.d.ts.map +1 -1
  381. package/lib/typescript/src/screens/CommunitySearch/index.d.ts.map +1 -1
  382. package/lib/typescript/src/svg/svg-xml-list.d.ts +1 -0
  383. package/lib/typescript/src/svg/svg-xml-list.d.ts.map +1 -1
  384. package/lib/typescript/src/types/auth.interface.d.ts +1 -0
  385. package/lib/typescript/src/types/auth.interface.d.ts.map +1 -1
  386. package/lib/typescript/src/types/user.interface.d.ts +1 -0
  387. package/lib/typescript/src/types/user.interface.d.ts.map +1 -1
  388. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts.map +1 -1
  389. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +4 -0
  390. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  391. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts +1 -0
  392. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts.map +1 -1
  393. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  394. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.d.ts.map +1 -1
  395. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts +1 -0
  396. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.d.ts.map +1 -1
  397. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts +1 -2
  398. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.d.ts.map +1 -1
  399. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts +3 -5
  400. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.d.ts.map +1 -1
  401. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  402. package/lib/typescript/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.d.ts.map +1 -1
  403. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts +1 -0
  404. package/lib/typescript/src/v4/PublicApi/Elements/CommonElements/AvatarElement.d.ts.map +1 -1
  405. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
  406. package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.d.ts.map +1 -1
  407. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.d.ts.map +1 -1
  408. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.d.ts.map +1 -1
  409. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts +1 -0
  410. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.d.ts.map +1 -1
  411. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.d.ts.map +1 -1
  412. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  413. package/lib/typescript/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.d.ts.map +1 -1
  414. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.d.ts.map +1 -1
  415. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts +22 -0
  416. package/lib/typescript/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.d.ts.map +1 -1
  417. package/lib/typescript/src/v4/assets/icons/lock.d.ts +1 -1
  418. package/lib/typescript/src/v4/assets/icons/lock.d.ts.map +1 -1
  419. package/lib/typescript/src/v4/assets/icons/toast.d.ts +3 -3
  420. package/lib/typescript/src/v4/assets/icons/toast.d.ts.map +1 -1
  421. package/lib/typescript/src/v4/component/Avatar/Avatar.d.ts.map +1 -1
  422. package/lib/typescript/src/v4/component/CommunityStories/index.d.ts.map +1 -1
  423. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts +5 -0
  424. package/lib/typescript/src/v4/component/CommunityStories/styles.d.ts.map +1 -1
  425. package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts.map +1 -1
  426. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts +2 -1
  427. package/lib/typescript/src/v4/component/LoadingImage/index.d.ts.map +1 -1
  428. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts +21 -0
  429. package/lib/typescript/src/v4/component/LoadingImage/styles.d.ts.map +1 -1
  430. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts +2 -1
  431. package/lib/typescript/src/v4/component/LoadingVideo/index.d.ts.map +1 -1
  432. package/lib/typescript/src/v4/component/MyAvatar/MyAvatar.d.ts.map +1 -1
  433. package/lib/typescript/src/v4/component/MyStories/StoryCircleItem.d.ts.map +1 -1
  434. package/lib/typescript/src/v4/component/MyStories/styles.d.ts +5 -0
  435. package/lib/typescript/src/v4/component/MyStories/styles.d.ts.map +1 -1
  436. package/lib/typescript/src/v4/component/PollContent/PollResults.d.ts.map +1 -1
  437. package/lib/typescript/src/v4/component/RenderTextWithMention/RenderTextWithMention.d.ts.map +1 -1
  438. package/lib/typescript/src/v4/component/SearchResultItem/SearchResultItem.d.ts.map +1 -1
  439. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts +1 -0
  440. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts.map +1 -1
  441. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts +12 -0
  442. package/lib/typescript/src/v4/component/Social/CommentList/styles.d.ts.map +1 -1
  443. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts +2 -1
  444. package/lib/typescript/src/v4/component/Social/CommentListItem/CommentListItem.d.ts.map +1 -1
  445. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts +2 -1
  446. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts.map +1 -1
  447. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  448. package/lib/typescript/src/v4/constants/index.d.ts +2 -0
  449. package/lib/typescript/src/v4/constants/index.d.ts.map +1 -1
  450. package/lib/typescript/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.d.ts.map +1 -1
  451. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts +1 -1
  452. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts.map +1 -1
  453. package/lib/typescript/src/v4/enum/roomStatus.d.ts +7 -5
  454. package/lib/typescript/src/v4/enum/roomStatus.d.ts.map +1 -1
  455. package/lib/typescript/src/v4/features/community/AddMember/hooks/useAddMember.d.ts.map +1 -1
  456. package/lib/typescript/src/v4/features/community/Membership/components/MemberItem/MemberItem.d.ts.map +1 -1
  457. package/lib/typescript/src/v4/features/community/Setting/hooks/useCommunitySetting.d.ts.map +1 -1
  458. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts +12 -0
  459. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts.map +1 -0
  460. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts +2 -0
  461. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts.map +1 -0
  462. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts +30 -0
  463. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts.map +1 -0
  464. package/lib/typescript/src/v4/features/feed/components/index.d.ts +2 -0
  465. package/lib/typescript/src/v4/features/feed/components/index.d.ts.map +1 -0
  466. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts +12 -0
  467. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts.map +1 -0
  468. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts +2 -0
  469. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts.map +1 -0
  470. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts +17 -0
  471. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts.map +1 -0
  472. package/lib/typescript/src/v4/features/feed/elements/index.d.ts +2 -0
  473. package/lib/typescript/src/v4/features/feed/elements/index.d.ts.map +1 -0
  474. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts +2 -0
  475. package/lib/typescript/src/v4/features/room/hooks/useRoom.d.ts.map +1 -0
  476. package/lib/typescript/src/v4/hook/useAmityGlobalSearchViewModel.d.ts.map +1 -1
  477. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts +6 -1
  478. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts.map +1 -1
  479. package/lib/typescript/src/v4/hook/usePaginator.d.ts.map +1 -1
  480. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts +1 -38
  481. package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts.map +1 -1
  482. package/lib/typescript/src/v4/hook/usePoll.d.ts +1 -1
  483. package/lib/typescript/src/v4/hook/usePostPermission.d.ts +6 -0
  484. package/lib/typescript/src/v4/hook/usePostPermission.d.ts.map +1 -0
  485. package/lib/typescript/src/v4/hook/useSearch.d.ts.map +1 -1
  486. package/lib/typescript/src/v4/routes/AmityPageRenderer.d.ts.map +1 -1
  487. package/lib/typescript/src/v4/routes/AmitySocialUIKitV4Navigator.d.ts.map +1 -1
  488. package/lib/typescript/src/v4/routes/RouteParamList.d.ts +1 -0
  489. package/lib/typescript/src/v4/routes/RouteParamList.d.ts.map +1 -1
  490. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts +3 -0
  491. package/lib/typescript/src/v4/screen/GlobalBan/GlobalBan.d.ts.map +1 -0
  492. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts +2 -0
  493. package/lib/typescript/src/v4/screen/GlobalBan/index.d.ts.map +1 -0
  494. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts +34 -0
  495. package/lib/typescript/src/v4/screen/GlobalBan/styles.d.ts.map +1 -0
  496. package/lib/typescript/src/v4/screen/PostDetail/index.d.ts.map +1 -1
  497. package/package.json +10 -7
  498. package/src/components/AddMembersModal/index.tsx +9 -2
  499. package/src/components/ErrorBoundary/ErrorBoundary.tsx +84 -0
  500. package/src/components/ErrorBoundary/index.ts +2 -0
  501. package/src/components/Social/PostList/index.tsx +7 -2
  502. package/src/components/Toast/Toast.tsx +1 -0
  503. package/src/hooks/useAuth.ts +2 -0
  504. package/src/hooks/useSearch.ts +6 -1
  505. package/src/index.tsx +2 -0
  506. package/src/providers/Social/communities-sdk.ts +1 -1
  507. package/src/providers/amity-ui-kit-provider.tsx +33 -27
  508. package/src/providers/auth-provider.tsx +17 -7
  509. package/src/providers/file-provider.tsx +42 -20
  510. package/src/screens/CommunitySearch/index.tsx +6 -1
  511. package/src/snippet/AmityGlobalFeedComponent.tsx +6 -1
  512. package/src/svg/svg-xml-list.ts +6 -0
  513. package/src/types/auth.interface.ts +1 -0
  514. package/src/types/user.interface.ts +1 -0
  515. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +3 -3
  516. package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx +38 -22
  517. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +9 -6
  518. package/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.tsx +27 -2
  519. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +31 -45
  520. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/CommentListItem.tsx +39 -15
  521. package/src/v4/PublicApi/Components/AmityPostCommentComponent/CommentListItem/styles.ts +3 -2
  522. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/index.tsx +38 -23
  523. package/src/v4/PublicApi/Components/AmityPostCommentComponent/ReplyCommentList/styles.ts +5 -7
  524. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +1 -0
  525. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.tsx +2 -2
  526. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.tsx +1 -1
  527. package/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.tsx +8 -24
  528. package/src/v4/PublicApi/Elements/CommonElements/AvatarElement.tsx +23 -10
  529. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +13 -3
  530. package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.tsx +45 -25
  531. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.tsx +36 -88
  532. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.ts +1 -1
  533. package/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.tsx +46 -0
  534. package/src/v4/PublicApi/Pages/AmityPostDetailPage/AmityPostDetailPage.tsx +20 -1
  535. package/src/v4/PublicApi/Pages/AmitySocialGlobalSearchPage/AmitySocialGlobalSearchPage.tsx +0 -1
  536. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +27 -33
  537. package/src/v4/PublicApi/Pages/AmityUserProfilePage/AmityUserProfilePage.tsx +24 -7
  538. package/src/v4/PublicApi/Pages/AmityViewStoryPage/Components/AmityViewStoryItem.tsx +123 -57
  539. package/src/v4/PublicApi/Pages/AmityViewStoryPage/styles.ts +23 -1
  540. package/src/v4/assets/icons/lock.tsx +7 -6
  541. package/src/v4/assets/icons/poll.tsx +2 -2
  542. package/src/v4/assets/icons/toast.tsx +12 -9
  543. package/src/v4/component/Avatar/Avatar.tsx +5 -2
  544. package/src/v4/component/CommunityRowItem/CommunityRowItem.tsx +4 -4
  545. package/src/v4/component/CommunityStories/index.tsx +26 -17
  546. package/src/v4/component/CommunityStories/styles.ts +7 -2
  547. package/src/v4/component/LivestreamContent/index.tsx +3 -2
  548. package/src/v4/component/LoadingImage/index.tsx +28 -25
  549. package/src/v4/component/LoadingImage/styles.ts +17 -0
  550. package/src/v4/component/LoadingVideo/index.tsx +13 -7
  551. package/src/v4/component/MyAvatar/MyAvatar.tsx +12 -6
  552. package/src/v4/component/MyStories/StoryCircleItem.tsx +19 -12
  553. package/src/v4/component/MyStories/styles.ts +5 -0
  554. package/src/v4/component/PollContent/PollResults.tsx +17 -11
  555. package/src/v4/component/RenderTextWithMention/RenderTextWithMention.tsx +16 -10
  556. package/src/v4/component/SearchResultItem/SearchResultItem.tsx +3 -0
  557. package/src/v4/component/Social/CommentList/CommentList.tsx +69 -56
  558. package/src/v4/component/Social/CommentList/styles.ts +12 -0
  559. package/src/v4/component/Social/CommentListItem/CommentListItem.tsx +3 -1
  560. package/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.tsx +3 -0
  561. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +23 -1
  562. package/src/v4/constants/index.ts +4 -0
  563. package/src/v4/elements/CommunityCreatePostButton/CommunityCreatePostButton.tsx +1 -1
  564. package/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.tsx +6 -2
  565. package/src/v4/elements/CommunityRowImage/CommunityRowImage.tsx +7 -34
  566. package/src/v4/engine/AssetDownloader.ts +1 -1
  567. package/src/v4/enum/roomStatus.ts +8 -6
  568. package/src/v4/features/community/AddMember/hooks/useAddMember.ts +2 -0
  569. package/src/v4/features/community/Membership/components/MemberItem/MemberItem.tsx +1 -0
  570. package/src/v4/features/community/Setting/hooks/useCommunitySetting.ts +4 -2
  571. package/src/v4/{component/CommunityCategoryChips/CommunityCategoryChips.tsx → features/feed/components/CommunityCategories/CommunityCategories.tsx} +20 -22
  572. package/src/v4/features/feed/components/CommunityCategories/index.ts +1 -0
  573. package/src/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.ts +4 -2
  574. package/src/v4/features/feed/components/index.ts +1 -0
  575. package/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx +45 -0
  576. package/src/v4/features/feed/elements/CommunityCategory/index.ts +1 -0
  577. package/src/v4/features/feed/elements/CommunityCategory/styles.ts +20 -0
  578. package/src/v4/features/feed/elements/index.ts +1 -0
  579. package/src/v4/features/room/hooks/useRoom.ts +20 -0
  580. package/src/v4/hook/useAmityGlobalSearchViewModel.ts +6 -1
  581. package/src/v4/hook/useCustomRankingGlobalFeed.ts +47 -47
  582. package/src/v4/hook/usePaginator.ts +20 -23
  583. package/src/v4/hook/usePostPermission.ts +46 -0
  584. package/src/v4/hook/useSearch.ts +6 -1
  585. package/src/v4/routes/AmityPageRenderer.tsx +6 -0
  586. package/src/v4/routes/AmitySocialUIKitV4Navigator.tsx +6 -1
  587. package/src/v4/routes/RouteParamList.tsx +1 -0
  588. package/src/v4/screen/FollowerList/Components/FollowerListItem.tsx +1 -1
  589. package/src/v4/screen/GlobalBan/GlobalBan.tsx +38 -0
  590. package/src/v4/screen/GlobalBan/index.ts +1 -0
  591. package/src/v4/screen/GlobalBan/styles.ts +39 -0
  592. package/src/v4/screen/PostDetail/index.tsx +1 -0
  593. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -38
  594. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  595. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  596. package/lib/commonjs/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  597. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js +0 -38
  598. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  599. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -30
  600. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  601. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  602. package/lib/module/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  603. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js +0 -31
  604. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  605. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts +0 -11
  606. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts.map +0 -1
  607. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts +0 -11
  608. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts.map +0 -1
  609. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts +0 -27
  610. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts.map +0 -1
  611. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts +0 -12
  612. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts.map +0 -1
  613. package/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.tsx +0 -47
  614. package/src/v4/elements/CommunityCatetory/CommunityCategory.tsx +0 -41
@@ -8,10 +8,6 @@ import {
8
8
  } from '../../../providers/file-provider';
9
9
  import { closeIcon, toastIcon } from '../../../svg/svg-xml-list';
10
10
  import { useStyles } from './styles';
11
- import { useTheme } from 'react-native-paper';
12
- import type { MyMD3Theme } from '../../../providers/amity-ui-kit-provider';
13
- import uiSlice from '../../../redux/slices/uiSlice';
14
- import { useUIKitDispatch } from '../../../redux/store';
15
11
 
16
12
  interface OverlayImageProps {
17
13
  source: string;
@@ -23,6 +19,7 @@ interface OverlayImageProps {
23
19
  index: number,
24
20
  originalPath: string
25
21
  ) => void;
22
+ onUploadError?: (hasError: boolean, source: string) => void;
26
23
  index?: number;
27
24
  isUploaded: boolean;
28
25
  fileId?: string;
@@ -36,6 +33,7 @@ const LoadingImage = ({
36
33
  onClose,
37
34
  index,
38
35
  onLoadFinish,
36
+ onUploadError,
39
37
  isUploaded = false,
40
38
  fileId = '',
41
39
  isEditMode = false,
@@ -43,9 +41,6 @@ const LoadingImage = ({
43
41
  postId,
44
42
  setIsUploading,
45
43
  }: OverlayImageProps) => {
46
- const theme = useTheme() as MyMD3Theme;
47
- const dispatch = useUIKitDispatch();
48
- const { showToastMessage } = uiSlice.actions;
49
44
  const [loading, setLoading] = useState(true);
50
45
  const [progress, setProgress] = useState(0);
51
46
  const [isProcess, setIsProcess] = useState<boolean>(false);
@@ -84,33 +79,39 @@ const LoadingImage = ({
84
79
  source
85
80
  );
86
81
  } else {
82
+ setIsUploading(false);
87
83
  handleLoadEnd();
88
- dispatch(showToastMessage({ toastMessage: 'Failed to upload file' }));
84
+ setIsProcess(false);
89
85
  setIsUploadError(true);
86
+ onUploadError?.(true, source);
90
87
  }
91
88
  } catch (error) {
92
89
  handleLoadEnd();
93
- dispatch(showToastMessage({ toastMessage: 'Failed to upload file' }));
90
+ setIsProcess(false);
91
+ setIsUploading(false);
94
92
  setIsUploadError(true);
93
+ onUploadError?.(true, source);
95
94
  }
96
95
  }, [
97
- dispatch,
98
96
  handleLoadEnd,
99
97
  index,
100
98
  onLoadFinish,
99
+ onUploadError,
101
100
  setIsUploading,
102
- showToastMessage,
103
101
  source,
104
102
  ]);
105
103
 
106
104
  const handleDelete = async () => {
107
- if (!fileId) return null;
108
- if (!isEditMode) {
105
+ if (fileId && !isEditMode) {
109
106
  await deleteAmityFile(fileId);
110
107
  }
111
108
  onClose && onClose(source, fileId, postId);
112
109
  };
113
110
  useEffect(() => {
111
+ setIsUploadError(false);
112
+ onUploadError?.(false, source);
113
+ setProgress(0);
114
+ setIsProcess(false);
114
115
  if (isUploaded) {
115
116
  setLoading(false);
116
117
  } else {
@@ -151,19 +152,21 @@ const LoadingImage = ({
151
152
  )}
152
153
  </View>
153
154
  )}
154
- {!loading && isUploadError ? (
155
- <TouchableOpacity style={styles.overlay} onPress={onRetryUpload}>
156
- <SvgXml xml={toastIcon()} width="24" height="24" />
157
- </TouchableOpacity>
158
- ) : (
159
- <TouchableOpacity
160
- style={styles.closeButton}
161
- disabled={loading || isProcess}
162
- onPress={handleDelete}
163
- >
164
- <SvgXml xml={closeIcon(theme.colors.base)} width="12" height="12" />
165
- </TouchableOpacity>
155
+ {!loading && isUploadError && (
156
+ <View style={styles.failedOverlay}>
157
+ <TouchableOpacity style={styles.errorOverlay} onPress={onRetryUpload}>
158
+ <SvgXml xml={toastIcon()} width="28" height="28" />
159
+ </TouchableOpacity>
160
+ </View>
166
161
  )}
162
+
163
+ <TouchableOpacity
164
+ style={styles.closeButton}
165
+ disabled={(loading || isProcess) && !isUploadError}
166
+ onPress={handleDelete}
167
+ >
168
+ <SvgXml xml={closeIcon('white')} width="12" height="12" />
169
+ </TouchableOpacity>
167
170
  </View>
168
171
  );
169
172
  };
@@ -18,12 +18,28 @@ export const useStyles = () => {
18
18
  height: '100%',
19
19
  resizeMode: 'cover',
20
20
  borderRadius: 5,
21
+ position: 'relative',
21
22
  },
22
23
  overlay: {
23
24
  ...StyleSheet.absoluteFillObject,
24
25
  justifyContent: 'center',
25
26
  alignItems: 'center',
26
27
  },
28
+ failedOverlay: {
29
+ ...StyleSheet.absoluteFillObject,
30
+ justifyContent: 'center',
31
+ alignItems: 'center',
32
+ backgroundColor: 'rgba(0, 0, 0, 0.4)',
33
+ borderRadius: 5,
34
+ },
35
+ errorOverlay: {
36
+ position: 'absolute',
37
+ top: '50%',
38
+ left: 0,
39
+ right: 0,
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ },
27
43
  progressBar: {
28
44
  marginVertical: 10,
29
45
  },
@@ -40,6 +56,7 @@ export const useStyles = () => {
40
56
  padding: 7,
41
57
  backgroundColor: 'rgba(0, 0, 0, 0.4)',
42
58
  borderRadius: 72,
59
+ zIndex: 10,
43
60
  },
44
61
  });
45
62
  };
@@ -18,8 +18,6 @@ import { useStyles } from './styles';
18
18
  import Video from 'react-native-video';
19
19
  import { useNavigation } from '@react-navigation/native';
20
20
  import type { NativeStackNavigationProp } from '@react-navigation/native-stack';
21
- import { useTheme } from 'react-native-paper';
22
- import type { MyMD3Theme } from '../../../providers/amity-ui-kit-provider';
23
21
  import uiSlice from '../../../redux/slices/uiSlice';
24
22
  import { createVideoThumbnail } from 'react-native-compressor';
25
23
  import { useUIKitDispatch } from '../../../redux/store';
@@ -35,6 +33,7 @@ interface OverlayImageProps {
35
33
  originalPath: string,
36
34
  thumbNail: string
37
35
  ) => void;
36
+ onUploadError?: (hasError: boolean, source: string) => void;
38
37
  index?: number;
39
38
  isUploaded: boolean;
40
39
  fileId?: string;
@@ -50,6 +49,7 @@ const LoadingVideo = ({
50
49
  onClose,
51
50
  index,
52
51
  onLoadFinish,
52
+ onUploadError,
53
53
  isUploaded = false,
54
54
  thumbNail,
55
55
  onPlay,
@@ -59,7 +59,6 @@ const LoadingVideo = ({
59
59
  postId,
60
60
  setIsUploading,
61
61
  }: OverlayImageProps) => {
62
- const theme = useTheme() as MyMD3Theme;
63
62
  const dispatch = useUIKitDispatch();
64
63
  const { showToastMessage } = uiSlice.actions;
65
64
  const [loading, setLoading] = useState(true);
@@ -129,23 +128,30 @@ const LoadingVideo = ({
129
128
  } else {
130
129
  handleLoadEnd();
131
130
  dispatch(showToastMessage({ toastMessage: 'Failed to upload file' }));
131
+ setIsProcess(false);
132
132
  setIsUploadError(true);
133
+ onUploadError?.(true, source);
133
134
  }
134
135
  } catch (error) {
135
136
  handleLoadEnd();
136
137
  dispatch(showToastMessage({ toastMessage: 'Failed to upload file' }));
138
+ setIsProcess(false);
137
139
  setIsUploadError(true);
140
+ onUploadError?.(true, source);
138
141
  }
139
142
  }, [source]);
140
143
 
141
144
  const handleDelete = async () => {
142
- if (!fileId) return null;
143
- if (!isEditMode) {
145
+ if (fileId && !isEditMode) {
144
146
  await deleteAmityFile(fileId);
145
147
  }
146
148
  onClose && onClose(source, fileId, postId);
147
149
  };
148
150
  useEffect(() => {
151
+ setIsUploadError(false);
152
+ onUploadError?.(false, source);
153
+ setProgress(0);
154
+ setIsProcess(false);
149
155
  if (isUploaded) {
150
156
  setLoading(false);
151
157
  } else {
@@ -216,10 +222,10 @@ const LoadingVideo = ({
216
222
  ) : (
217
223
  <TouchableOpacity
218
224
  style={styles.closeButton}
219
- disabled={loading || isProcess}
225
+ disabled={(loading || isProcess) && !isUploadError}
220
226
  onPress={handleDelete}
221
227
  >
222
- <SvgXml xml={closeIcon(theme.colors.base)} width="12" height="12" />
228
+ <SvgXml xml={closeIcon('white')} width="12" height="12" />
223
229
  </TouchableOpacity>
224
230
  )}
225
231
  </View>
@@ -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
 
@@ -2,12 +2,13 @@ import { Image, Text, TouchableOpacity, View } from 'react-native';
2
2
  import React, { FC, useEffect, useState } from 'react';
3
3
  import { SvgXml } from 'react-native-svg';
4
4
  import {
5
+ errorIcon,
5
6
  officialIcon,
6
7
  privateIcon,
7
8
  storyRing,
8
9
  } from '../../../svg/svg-xml-list';
9
10
  import { ComponentID, ElementID, ImageSizeState, PageID } from '../../enum';
10
- import { useFile } from '../../hook';
11
+ import { useFile, useStoryPermission } from '../../hook';
11
12
  import useConfig from '../../hook/useConfig';
12
13
  import { useStyles } from './styles';
13
14
  import { CommunityRepository } from '@amityco/ts-sdk-react-native';
@@ -26,18 +27,20 @@ const StoryCircleItem: FC<IStoryCircleItem> = ({
26
27
  const theme = useTheme() as MyMD3Theme;
27
28
  const [avatarUrl, setAvatarUrl] = useState(null);
28
29
  const [communityData, setCommunityData] = useState<Amity.Community>(null);
30
+ const hasStoryPermission = useStoryPermission(storyTarget.targetId);
29
31
  const { getImage } = useFile();
30
32
  const { getUiKitConfig } = useConfig();
31
33
  const styles = useStyles();
32
- const storyRingColor: string[] = storyTarget?.hasUnseen
33
- ? (getUiKitConfig({
34
- page: PageID.StoryPage,
35
- component: ComponentID.StoryTab,
36
- element: ElementID.StoryRing,
37
- })?.progress_color as string[]) ?? ['#e2e2e2', '#e2e2e2']
38
- : storyTarget?.failedStoriesCount > 0
39
- ? ['#DE1029', '#DE1029']
40
- : ['#e2e2e2', '#e2e2e2'];
34
+ const storyRingColor: string[] =
35
+ hasStoryPermission && storyTarget?.failedStoriesCount > 0
36
+ ? ['#DE1029', '#DE1029']
37
+ : storyTarget?.hasUnseen
38
+ ? (getUiKitConfig({
39
+ page: PageID.StoryPage,
40
+ component: ComponentID.StoryTab,
41
+ element: ElementID.StoryRing,
42
+ })?.progress_color as string[]) ?? ['#e2e2e2', '#e2e2e2']
43
+ : ['#e2e2e2', '#e2e2e2'];
41
44
 
42
45
  useEffect(() => {
43
46
  if (storyTarget.targetType !== 'community') return;
@@ -80,12 +83,16 @@ const StoryCircleItem: FC<IStoryCircleItem> = ({
80
83
  height={68}
81
84
  xml={storyRing(storyRingColor[0], storyRingColor[1])}
82
85
  />
83
- {communityData?.isOfficial && (
86
+ {hasStoryPermission && storyTarget?.failedStoriesCount > 0 ? (
87
+ <View style={styles.errorIcon}>
88
+ <SvgXml width={16} height={16} xml={errorIcon()} />
89
+ </View>
90
+ ) : communityData?.isOfficial ? (
84
91
  <SvgXml
85
92
  style={styles.officialIcon}
86
93
  xml={officialIcon(theme.colors.primary)}
87
94
  />
88
- )}
95
+ ) : null}
89
96
  <View style={styles.textRow}>
90
97
  {!communityData?.isPublic && (
91
98
  <SvgXml width={17} height={17} xml={privateIcon(theme.colors.base)} />
@@ -82,6 +82,11 @@ export const useStyles = () => {
82
82
  left: 45,
83
83
  top: 42,
84
84
  },
85
+ errorIcon: {
86
+ position: 'absolute',
87
+ left: 45,
88
+ bottom: 24,
89
+ },
85
90
  scrollContainer: {
86
91
  paddingVertical: 4,
87
92
  },
@@ -26,18 +26,23 @@ export function PollResults({ options, totalVotes }: PollResultsProps) {
26
26
  100
27
27
  ).toFixed(2);
28
28
 
29
- const voteBy = (option: Amity.PollAnswer) => {
30
- if (option.voteCount === 1 && option.isVotedByUser) return 'Voted by you';
31
- if (option.voteCount > 1) {
32
- const voteCount = option.isVotedByUser
33
- ? option.voteCount - 1
34
- : option.voteCount;
35
- const formattedCount = formatVoteCount(voteCount);
36
- return `Voted by ${formattedCount} participant${
37
- voteCount > 1 ? 's' : ''
38
- }${option.isVotedByUser ? ' and you' : ''}`;
29
+ const voteBy = (option: Amity.PollAnswer): string => {
30
+ const { voteCount, isVotedByUser } = option;
31
+
32
+ if (voteCount === 0) return 'No votes';
33
+
34
+ if (isVotedByUser) {
35
+ const otherVotes = voteCount - 1;
36
+ if (otherVotes === 0) return 'Voted by you';
37
+
38
+ const formattedCount = formatVoteCount(otherVotes);
39
+ const plural = otherVotes > 1 ? 's' : '';
40
+ return `Voted by ${formattedCount} participant${plural} and you`;
39
41
  }
40
- return 'No votes';
42
+
43
+ const formattedCount = formatVoteCount(voteCount);
44
+ const plural = voteCount > 1 ? 's' : '';
45
+ return `Voted by ${formattedCount} participant${plural}`;
41
46
  };
42
47
 
43
48
  return (
@@ -75,6 +80,7 @@ export function PollResults({ options, totalVotes }: PollResultsProps) {
75
80
  targetType="user"
76
81
  style={styles.optionAvatar}
77
82
  avatarId={user?.avatarFileId}
83
+ avatarCustomUrl={user?.avatarCustomUrl}
78
84
  elementID={ElementID.WildCardElement}
79
85
  />
80
86
  )}
@@ -1,4 +1,4 @@
1
- import { Text, Linking } from 'react-native';
1
+ import { Text, Linking, TouchableOpacity } from 'react-native';
2
2
  import { useStyles } from './styles';
3
3
  import React, { memo, useCallback } from 'react';
4
4
  import { useNavigation } from '@react-navigation/native';
@@ -6,6 +6,7 @@ import { IMentionPosition } from '../../types/type';
6
6
  import { NativeStackNavigationProp } from '@react-navigation/native-stack';
7
7
  import { RootStackParamList } from '../../routes/RouteParamList';
8
8
  import ReadMore from '@fawazahmed/react-native-read-more';
9
+ import { URL_REGEX } from '../../../v4/constants';
9
10
 
10
11
  interface IrenderTextWithMention {
11
12
  mentionPositionArr: IMentionPosition[];
@@ -28,10 +29,9 @@ const RenderTextWithMention: React.FC<IrenderTextWithMention> = ({
28
29
  const navigation =
29
30
  useNavigation() as NativeStackNavigationProp<RootStackParamList>;
30
31
  const linkArr = useCallback((text: string): LinkInfo[] => {
31
- const urlRegex = /(https?:\/\/|www\.)[^\s]+/g;
32
32
  const links: LinkInfo[] = [];
33
33
  let match;
34
- while ((match = urlRegex.exec(text)) !== null) {
34
+ while ((match = URL_REGEX.exec(text)) !== null) {
35
35
  links.push({
36
36
  link: match[0],
37
37
  index: match.index,
@@ -54,8 +54,14 @@ const RenderTextWithMention: React.FC<IrenderTextWithMention> = ({
54
54
  },
55
55
  [navigation]
56
56
  );
57
- const handleLinkClick = useCallback((url: string) => {
58
- Linking.openURL(url);
57
+ const handleLinkClick = useCallback(async (url: string) => {
58
+ try {
59
+ const hasProtocol = /^(https?|ftp|mailto):/.test(url);
60
+ const formattedUrl = hasProtocol ? url : `https://${url}`;
61
+ await Linking.openURL(formattedUrl);
62
+ } catch (error) {
63
+ console.warn('Failed to open URL:', error);
64
+ }
59
65
  }, []);
60
66
 
61
67
  const handleOnClick = useCallback(
@@ -88,14 +94,14 @@ const RenderTextWithMention: React.FC<IrenderTextWithMention> = ({
88
94
  const nonHighlightedText = textPost.slice(currentPosition, index);
89
95
  // Add highlighted text
90
96
  const highlightedText = (
91
- <Text
92
- selectable
97
+ <TouchableOpacity
93
98
  onPress={() => handleOnClick(link, userId)}
94
99
  key={`highlighted-${i}`}
95
- style={styles.mentionText}
96
100
  >
97
- {textPost.slice(index, index + length)}
98
- </Text>
101
+ <Text style={styles.mentionText} selectable>
102
+ {textPost.slice(index, index + length)}
103
+ </Text>
104
+ </TouchableOpacity>
99
105
  );
100
106
 
101
107
  // Update currentPosition for the next iteration
@@ -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;