@amityco/react-native-social-uikit 4.0.0-RC18 → 4.0.0-RC19

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 (204) hide show
  1. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +6 -1
  2. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  3. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  4. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  5. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +5 -7
  6. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  7. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  8. package/lib/commonjs/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  9. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +11 -17
  10. package/lib/commonjs/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  11. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  12. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  13. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  14. package/lib/commonjs/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  15. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +8 -23
  16. package/lib/commonjs/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  17. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +8 -2
  18. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  19. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +21 -29
  20. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  21. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  22. package/lib/commonjs/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  23. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js +8 -12
  24. package/lib/commonjs/v4/component/Social/CommentList/CommentList.js.map +1 -1
  25. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  26. package/lib/commonjs/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  27. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +1 -0
  28. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  29. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  30. package/lib/commonjs/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  31. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js +4 -32
  32. package/lib/commonjs/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  33. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  34. package/lib/commonjs/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  35. package/lib/commonjs/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +19 -21
  36. package/lib/commonjs/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  37. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js +13 -0
  38. package/lib/commonjs/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  39. package/lib/commonjs/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  40. package/lib/commonjs/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  41. package/lib/commonjs/v4/features/feed/components/index.js +17 -0
  42. package/lib/commonjs/v4/features/feed/components/index.js.map +1 -0
  43. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +42 -0
  44. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  45. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js +13 -0
  46. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  47. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js +29 -0
  48. package/lib/commonjs/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  49. package/lib/commonjs/v4/features/feed/elements/index.js +17 -0
  50. package/lib/commonjs/v4/features/feed/elements/index.js.map +1 -0
  51. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +33 -38
  52. package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  53. package/lib/commonjs/v4/hook/usePaginator.js +11 -16
  54. package/lib/commonjs/v4/hook/usePaginator.js.map +1 -1
  55. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js +1 -0
  56. package/lib/commonjs/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  57. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  58. package/lib/commonjs/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  59. package/lib/module/snippet/AmityGlobalFeedComponent.js +6 -1
  60. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  61. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -3
  62. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  63. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +6 -8
  64. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  65. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js +23 -3
  66. package/lib/module/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.js.map +1 -1
  67. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js +11 -17
  68. package/lib/module/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.js.map +1 -1
  69. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js +1 -1
  70. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.js.map +1 -1
  71. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js +1 -1
  72. package/lib/module/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.js.map +1 -1
  73. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js +9 -23
  74. package/lib/module/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.js.map +1 -1
  75. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +8 -2
  76. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  77. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js +23 -31
  78. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  79. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js +5 -4
  80. package/lib/module/v4/component/CommunityRowItem/CommunityRowItem.js.map +1 -1
  81. package/lib/module/v4/component/Social/CommentList/CommentList.js +8 -12
  82. package/lib/module/v4/component/Social/CommentList/CommentList.js.map +1 -1
  83. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js +4 -2
  84. package/lib/module/v4/component/TargetSelectionPage/TargetItem/TargetItem.js.map +1 -1
  85. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +1 -0
  86. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  87. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js +8 -3
  88. package/lib/module/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.js.map +1 -1
  89. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js +6 -34
  90. package/lib/module/v4/elements/CommunityRowImage/CommunityRowImage.js.map +1 -1
  91. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js +6 -3
  92. package/lib/module/v4/features/community/Setting/hooks/useCommunitySetting.js.map +1 -1
  93. package/lib/module/v4/{component/CommunityCategoryChips/CommunityCategoryChips.js → features/feed/components/CommunityCategories/CommunityCategories.js} +18 -19
  94. package/lib/module/v4/features/feed/components/CommunityCategories/CommunityCategories.js.map +1 -0
  95. package/lib/module/v4/features/feed/components/CommunityCategories/index.js +2 -0
  96. package/lib/module/v4/features/feed/components/CommunityCategories/index.js.map +1 -0
  97. package/lib/module/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.js +7 -2
  98. package/lib/module/v4/features/feed/components/CommunityCategories/styles.js.map +1 -0
  99. package/lib/module/v4/features/feed/components/index.js +2 -0
  100. package/lib/module/v4/features/feed/components/index.js.map +1 -0
  101. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js +35 -0
  102. package/lib/module/v4/features/feed/elements/CommunityCategory/CommunityCategory.js.map +1 -0
  103. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js +2 -0
  104. package/lib/module/v4/features/feed/elements/CommunityCategory/index.js.map +1 -0
  105. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js +22 -0
  106. package/lib/module/v4/features/feed/elements/CommunityCategory/styles.js.map +1 -0
  107. package/lib/module/v4/features/feed/elements/index.js +2 -0
  108. package/lib/module/v4/features/feed/elements/index.js.map +1 -0
  109. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +34 -39
  110. package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
  111. package/lib/module/v4/hook/usePaginator.js +12 -17
  112. package/lib/module/v4/hook/usePaginator.js.map +1 -1
  113. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js +1 -0
  114. package/lib/module/v4/routes/AmitySocialUIKitV4Navigator.js.map +1 -1
  115. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js +1 -1
  116. package/lib/module/v4/screen/FollowerList/Components/FollowerListItem.js.map +1 -1
  117. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +4 -0
  118. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  119. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts +1 -0
  120. package/lib/typescript/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.d.ts.map +1 -1
  121. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  122. package/lib/typescript/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.d.ts.map +1 -1
  123. package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
  124. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  125. package/lib/typescript/src/v4/component/Social/CommentList/CommentList.d.ts.map +1 -1
  126. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts +2 -1
  127. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.d.ts.map +1 -1
  128. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  129. package/lib/typescript/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.d.ts.map +1 -1
  130. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts +1 -1
  131. package/lib/typescript/src/v4/elements/CommunityRowImage/CommunityRowImage.d.ts.map +1 -1
  132. package/lib/typescript/src/v4/features/community/Setting/hooks/useCommunitySetting.d.ts.map +1 -1
  133. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts +12 -0
  134. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/CommunityCategories.d.ts.map +1 -0
  135. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts +2 -0
  136. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/index.d.ts.map +1 -0
  137. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts +30 -0
  138. package/lib/typescript/src/v4/features/feed/components/CommunityCategories/styles.d.ts.map +1 -0
  139. package/lib/typescript/src/v4/features/feed/components/index.d.ts +2 -0
  140. package/lib/typescript/src/v4/features/feed/components/index.d.ts.map +1 -0
  141. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts +12 -0
  142. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.d.ts.map +1 -0
  143. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts +2 -0
  144. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/index.d.ts.map +1 -0
  145. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts +17 -0
  146. package/lib/typescript/src/v4/features/feed/elements/CommunityCategory/styles.d.ts.map +1 -0
  147. package/lib/typescript/src/v4/features/feed/elements/index.d.ts +2 -0
  148. package/lib/typescript/src/v4/features/feed/elements/index.d.ts.map +1 -0
  149. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts +6 -1
  150. package/lib/typescript/src/v4/hook/useCustomRankingGlobalFeed.d.ts.map +1 -1
  151. package/lib/typescript/src/v4/hook/usePaginator.d.ts.map +1 -1
  152. package/lib/typescript/src/v4/routes/AmitySocialUIKitV4Navigator.d.ts.map +1 -1
  153. package/package.json +3 -3
  154. package/src/snippet/AmityGlobalFeedComponent.tsx +6 -1
  155. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +3 -3
  156. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +9 -6
  157. package/src/v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent.tsx +27 -2
  158. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +29 -36
  159. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/DetailStyle.tsx +2 -2
  160. package/src/v4/PublicApi/Components/AmityPostEngagementActionsComponent/Components/FeedStyle.tsx +1 -1
  161. package/src/v4/PublicApi/Components/AmityRecommenedCommunityComponent/RecommenedCommunityItems/RecommenedCommunityItems.tsx +8 -24
  162. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +9 -2
  163. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +27 -33
  164. package/src/v4/component/CommunityRowItem/CommunityRowItem.tsx +4 -4
  165. package/src/v4/component/Social/CommentList/CommentList.tsx +25 -29
  166. package/src/v4/component/TargetSelectionPage/TargetItem/TargetItem.tsx +3 -0
  167. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +1 -0
  168. package/src/v4/elements/CommunityJoinButtonElement/CommunityJoinButtonElement.tsx +6 -2
  169. package/src/v4/elements/CommunityRowImage/CommunityRowImage.tsx +7 -34
  170. package/src/v4/features/community/Setting/hooks/useCommunitySetting.ts +4 -2
  171. package/src/v4/{component/CommunityCategoryChips/CommunityCategoryChips.tsx → features/feed/components/CommunityCategories/CommunityCategories.tsx} +20 -22
  172. package/src/v4/features/feed/components/CommunityCategories/index.ts +1 -0
  173. package/src/v4/{component/CommunityCategoryChips → features/feed/components/CommunityCategories}/styles.ts +4 -2
  174. package/src/v4/features/feed/components/index.ts +1 -0
  175. package/src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx +45 -0
  176. package/src/v4/features/feed/elements/CommunityCategory/index.ts +1 -0
  177. package/src/v4/features/feed/elements/CommunityCategory/styles.ts +20 -0
  178. package/src/v4/features/feed/elements/index.ts +1 -0
  179. package/src/v4/hook/useCustomRankingGlobalFeed.ts +47 -47
  180. package/src/v4/hook/usePaginator.ts +20 -23
  181. package/src/v4/routes/AmitySocialUIKitV4Navigator.tsx +1 -0
  182. package/src/v4/screen/FollowerList/Components/FollowerListItem.tsx +1 -1
  183. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -38
  184. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  185. package/lib/commonjs/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  186. package/lib/commonjs/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  187. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js +0 -38
  188. package/lib/commonjs/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  189. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js +0 -30
  190. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.js.map +0 -1
  191. package/lib/module/v4/component/CommunityCategoryChips/CommunityCategoryChips.js.map +0 -1
  192. package/lib/module/v4/component/CommunityCategoryChips/styles.js.map +0 -1
  193. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js +0 -31
  194. package/lib/module/v4/elements/CommunityCatetory/CommunityCategory.js.map +0 -1
  195. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts +0 -11
  196. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.d.ts.map +0 -1
  197. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts +0 -11
  198. package/lib/typescript/src/v4/component/CommunityCategoryChips/CommunityCategoryChips.d.ts.map +0 -1
  199. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts +0 -27
  200. package/lib/typescript/src/v4/component/CommunityCategoryChips/styles.d.ts.map +0 -1
  201. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts +0 -12
  202. package/lib/typescript/src/v4/elements/CommunityCatetory/CommunityCategory.d.ts.map +0 -1
  203. package/src/v4/component/CommunityCategoryChips/CommunityCategoryChip/CommunityCategoryChip.tsx +0 -47
  204. package/src/v4/elements/CommunityCatetory/CommunityCategory.tsx +0 -41
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v4/features/feed/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ComponentID, PageID } from '../../../../enum';
3
+ type CommunityCategoryProps = {
4
+ categoryName: string;
5
+ style?: object;
6
+ maxWidth?: number | string;
7
+ pageId?: PageID;
8
+ componentId?: ComponentID;
9
+ };
10
+ export declare function CommunityCategory({ categoryName, style, maxWidth, pageId, componentId, }: CommunityCategoryProps): React.JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=CommunityCategory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommunityCategory.d.ts","sourceRoot":"","sources":["../../../../../../../../src/v4/features/feed/elements/CommunityCategory/CommunityCategory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAa,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElE,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,WAAW,GACZ,EAAE,sBAAsB,qBAwBxB"}
@@ -0,0 +1,2 @@
1
+ export { CommunityCategory } from './CommunityCategory';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/v4/features/feed/elements/CommunityCategory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { MyMD3Theme } from 'src/providers/amity-ui-kit-provider';
2
+ export declare const useStyles: () => {
3
+ styles: {
4
+ chipContainer: {
5
+ backgroundColor: string;
6
+ paddingHorizontal: number;
7
+ borderRadius: number;
8
+ };
9
+ chipText: {
10
+ fontSize: number;
11
+ lineHeight: number;
12
+ color: string;
13
+ };
14
+ };
15
+ theme: MyMD3Theme;
16
+ };
17
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../../../src/v4/features/feed/elements/CommunityCategory/styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;CAerB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './CommunityCategory';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/v4/features/feed/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -1,10 +1,15 @@
1
1
  import { IComment } from '../../components/Social/CommentList';
2
2
  export declare const isAmityAd: (item: Amity.Post<any> | Amity.Ad | IComment) => item is Amity.Ad;
3
- export declare const useCustomRankingGlobalFeed: () => {
3
+ type UseCustomRankingGlobalFeed = {
4
+ enabled?: boolean;
5
+ };
6
+ export declare const useCustomRankingGlobalFeed: ({ enabled, }?: UseCustomRankingGlobalFeed) => {
4
7
  loading: boolean;
5
8
  refresh: () => void;
6
9
  itemWithAds: (Amity.Post<any> | Amity.Ad)[];
7
10
  onNextPage: () => void | null;
8
11
  error: boolean;
12
+ globalFeedPosts: any;
9
13
  };
14
+ export {};
10
15
  //# sourceMappingURL=useCustomRankingGlobalFeed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCustomRankingGlobalFeed.d.ts","sourceRoot":"","sources":["../../../../../src/v4/hook/useCustomRankingGlobalFeed.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,eAAO,MAAM,SAAS,GACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,QAAQ,KAC1C,IAAI,IAAI,KAAK,CAAC,EAEhB,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;sBAIF,IAAI,GAAG,IAAI;;CA6F/C,CAAC"}
1
+ {"version":3,"file":"useCustomRankingGlobalFeed.d.ts","sourceRoot":"","sources":["../../../../../src/v4/hook/useCustomRankingGlobalFeed.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,eAAO,MAAM,SAAS,GACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,QAAQ,KAC1C,IAAI,IAAI,KAAK,CAAC,EAEhB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,eAExC,0BAA+B;;;;sBAIG,IAAI,GAAG,IAAI;;;CAmF/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginator.d.ts","sourceRoot":"","sources":["../../../../../src/v4/hook/usePaginator.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,gFAMjC;IACD,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,4BAA4B,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;CACnE;oCA2MwC,CAAC,EAAE,KAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;;;CAmBjE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,QAAQ;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;CAoCA,CAAC"}
1
+ {"version":3,"file":"usePaginator.d.ts","sourceRoot":"","sources":["../../../../../src/v4/hook/usePaginator.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,gFAMjC;IACD,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,4BAA4B,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;CACnE;oCA0MwC,CAAC,EAAE,KAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;;;CAmBjE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,QAAQ;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;CAmCA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AmitySocialUIKitV4Navigator.d.ts","sourceRoot":"","sources":["../../../../../src/v4/routes/AmitySocialUIKitV4Navigator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgE/B,MAAM,CAAC,OAAO,UAAU,2BAA2B,sBA8SlD"}
1
+ {"version":3,"file":"AmitySocialUIKitV4Navigator.d.ts","sourceRoot":"","sources":["../../../../../src/v4/routes/AmitySocialUIKitV4Navigator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgE/B,MAAM,CAAC,OAAO,UAAU,2BAA2B,sBA+SlD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/react-native-social-uikit",
3
- "version": "4.0.0-RC18",
3
+ "version": "4.0.0-RC19",
4
4
  "description": "Social UIKit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -57,7 +57,7 @@
57
57
  "registry": "https://registry.npmjs.org/"
58
58
  },
59
59
  "devDependencies": {
60
- "@amityco/ts-sdk-react-native": "^7.15.0",
60
+ "@amityco/ts-sdk-react-native": "^7.15.1",
61
61
  "@babel/plugin-transform-export-namespace-from": "^7.27.1",
62
62
  "@commitlint/config-conventional": "^17.0.2",
63
63
  "@evilmartians/lefthook": "^1.2.2",
@@ -116,7 +116,7 @@
116
116
  "@types/react": "18.2.37"
117
117
  },
118
118
  "peerDependencies": {
119
- "@amityco/ts-sdk-react-native": "^7.15.0",
119
+ "@amityco/ts-sdk-react-native": "^7.15.1",
120
120
  "@livekit/react-native": "^2.9.6",
121
121
  "@livekit/react-native-webrtc": "^137.0.2",
122
122
  "@react-native-async-storage/async-storage": "^1.19.3",
@@ -25,6 +25,11 @@ import config from '../../uikit.config.json';
25
25
  },
26
26
  }}
27
27
  >
28
- <AmityGlobalFeedComponent />
28
+ <AmityGlobalFeedComponent
29
+ itemWithAds={[]}
30
+ refresh={() => Promise.resolve()}
31
+ loading={false}
32
+ onNextPage={() => null}
33
+ />
29
34
  </AmityUiKitProvider>;
30
35
  /* end_sample_code */
@@ -11,7 +11,6 @@ import CommunityCover from '../../../elements/CommunityCover/CommunityCover';
11
11
  import CommunityPrivateBadge from '../../../elements/CommunityPrivateBadge/CommunityPrivateBadge';
12
12
  import CommunityName from '../../../elements/CommunityName/CommunityName';
13
13
  import CommunityVerifyBadge from '../../../elements/CommunityVerifyBadge/CommunityVerifyBadge';
14
- import CommunityCategory from '../../../elements/CommunityCatetory/CommunityCategory';
15
14
  import CommunityDescription from '../../../elements/CommunityDescription/CommunityDescription';
16
15
  import CommunityInfo from '../../../elements/CommunityInfo/CommunityInfo';
17
16
  import CommunityJoinButtonElement from '../../../elements/CommunityJoinButtonElement/CommunityJoinButtonElement';
@@ -24,6 +23,7 @@ import { useNavigation } from '@react-navigation/native';
24
23
  import { NativeStackNavigationProp } from '@react-navigation/native-stack';
25
24
  import { RootStackParamList } from '../../../../v4/routes/RouteParamList';
26
25
  import { Client } from '@amityco/ts-sdk-react-native';
26
+ import { CommunityCategories } from '../../../../v4/features/feed/components';
27
27
 
28
28
  export interface AmityCommunityHeaderRef {
29
29
  height: number;
@@ -135,10 +135,10 @@ const AmityCommunityHeaderComponent: FC<AmityCommunityHeaderComponentProps> = ({
135
135
  <CommunityVerifyBadge pageId={pageId} componentId={componentId} />
136
136
  )}
137
137
  </View>
138
- <CommunityCategory
138
+ <CommunityCategories
139
139
  pageId={pageId}
140
140
  componentId={componentId}
141
- categoryIds={community.categoryIds}
141
+ categories={community.categories}
142
142
  allVisible={true}
143
143
  style={styles.categoryWrap}
144
144
  />
@@ -10,10 +10,7 @@ import AmityStoryTabComponent from '../AmityStoryTabComponent/AmityStoryTabCompo
10
10
  import { AmityStoryTabComponentEnum } from '../../types';
11
11
  import { usePostImpression } from '../../../../v4/hook/usePostImpression';
12
12
  import { useStyle } from './styles';
13
- import {
14
- isAmityAd,
15
- useCustomRankingGlobalFeed,
16
- } from '../../../hook/useCustomRankingGlobalFeed';
13
+ import { isAmityAd } from '../../../hook/useCustomRankingGlobalFeed';
17
14
  import PostAdComponent from '../../../component/PostAdComponent/PostAdComponent';
18
15
  import Divider from '../../../component/Divider';
19
16
 
@@ -21,6 +18,10 @@ type AmityGlobalFeedComponentType = {
21
18
  pageId?: PageID;
22
19
  isShowStoryTab?: boolean;
23
20
  GlobalFeedHeaderComponent?: React.ReactElement;
21
+ itemWithAds: (Amity.Post | Amity.Ad)[] | undefined;
22
+ refresh: () => void;
23
+ loading: boolean;
24
+ onNextPage: (() => void) | null;
24
25
  };
25
26
 
26
27
  export const globalFeedPageLimit = 20;
@@ -29,9 +30,11 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
29
30
  pageId,
30
31
  isShowStoryTab = true,
31
32
  GlobalFeedHeaderComponent,
33
+ itemWithAds,
34
+ refresh,
35
+ loading,
36
+ onNextPage,
32
37
  }) => {
33
- const { itemWithAds, refresh, loading, onNextPage } =
34
- useCustomRankingGlobalFeed();
35
38
  const componentId = ComponentID.global_feed_component;
36
39
  const { isExcluded, themeStyles, accessibilityId } = useAmityComponent({
37
40
  pageId,
@@ -5,23 +5,42 @@ import AmityGlobalFeedComponent from '../AmityGlobalFeedComponent/AmityGlobalFee
5
5
  import { useStyles } from './styles';
6
6
  import Divider from '../../../component/Divider';
7
7
  import { useAmityComponent } from '../../../hook';
8
+ import { useCustomRankingGlobalFeed } from '../../../hook/useCustomRankingGlobalFeed';
9
+ import NewsFeedLoadingComponent from '../../../component/NewsFeedLoadingComponent/NewsFeedLoadingComponent';
10
+ import AmityEmptyNewsFeedComponent from '../AmityEmptyNewsFeedComponent/AmityEmptyNewsFeedComponent';
8
11
 
9
12
  type AmityNewsFeedComponentType = {
10
13
  pageId?: PageID;
14
+ onPressExploreCommunity?: () => void;
11
15
  };
12
16
 
13
17
  const AmityNewsFeedComponent: FC<AmityNewsFeedComponentType> = ({
14
18
  pageId = PageID.WildCardPage,
19
+ onPressExploreCommunity,
15
20
  }) => {
21
+ const styles = useStyles();
16
22
  const componentId = ComponentID.newsfeed_component;
17
23
  const { themeStyles, accessibilityId, isExcluded } = useAmityComponent({
18
24
  pageId,
19
25
  componentId,
20
26
  });
21
27
 
22
- const styles = useStyles();
28
+ const { itemWithAds, refresh, globalFeedPosts, loading, onNextPage } =
29
+ useCustomRankingGlobalFeed();
30
+
23
31
  if (isExcluded) return null;
24
32
 
33
+ if (loading || (globalFeedPosts?.length > 0 && !itemWithAds?.length))
34
+ return <NewsFeedLoadingComponent />;
35
+
36
+ if (!loading && !globalFeedPosts?.length)
37
+ return (
38
+ <AmityEmptyNewsFeedComponent
39
+ pageId={pageId}
40
+ onPressExploreCommunity={onPressExploreCommunity}
41
+ />
42
+ );
43
+
25
44
  return (
26
45
  <View
27
46
  style={styles.container}
@@ -29,7 +48,13 @@ const AmityNewsFeedComponent: FC<AmityNewsFeedComponentType> = ({
29
48
  accessibilityLabel={accessibilityId}
30
49
  >
31
50
  <Divider themeStyles={themeStyles} />
32
- <AmityGlobalFeedComponent pageId={pageId} />
51
+ <AmityGlobalFeedComponent
52
+ pageId={pageId}
53
+ itemWithAds={itemWithAds}
54
+ refresh={refresh}
55
+ loading={loading}
56
+ onNextPage={onNextPage}
57
+ />
33
58
  </View>
34
59
  );
35
60
  };
@@ -8,7 +8,6 @@ import React, {
8
8
  useCallback,
9
9
  } from 'react';
10
10
  import { UserInterface, IMentionPosition } from '../../../../types';
11
- import { getAmityUser } from '../../../../providers/user-provider';
12
11
  import { CommentRepository } from '@amityco/ts-sdk-react-native';
13
12
  import CommentListItem from './CommentListItem/CommentListItem';
14
13
  import { deleteCommentById } from '../../../../providers/Social/comment-sdk';
@@ -91,9 +90,9 @@ const AmityPostCommentComponent: FC<AmityPostCommentComponentType> = ({
91
90
  referenceType: postType,
92
91
  limit: commentListLimit,
93
92
  },
94
- async ({ loading, data, hasNextPage, onNextPage }) => {
93
+ ({ loading, data, hasNextPage, onNextPage }) => {
95
94
  if (!loading) {
96
- data && data.length > 0 && (await queryComment(data));
95
+ queryComment(data);
97
96
  onNextPageRef.current = hasNextPage ? onNextPage : null;
98
97
  setTimeout(() => {
99
98
  setIsLoading(false);
@@ -102,43 +101,37 @@ const AmityPostCommentComponent: FC<AmityPostCommentComponentType> = ({
102
101
  }
103
102
  );
104
103
  return () => {
105
- setCommentList([]);
106
104
  unsubComment();
107
105
  };
108
106
  }, [postId, postType]);
109
107
 
110
- const queryComment = async (comments: Amity.InternalComment[]) => {
111
- const formattedCommentList = await Promise.all(
112
- comments.map(async (item: Amity.Comment) => {
113
- const { userObject } = await getAmityUser(item.userId);
114
- let formattedUserObject: UserInterface;
115
-
116
- formattedUserObject = {
117
- userId: userObject.data.userId,
118
- displayName: userObject.data.displayName,
119
- avatarFileId: userObject.data?.avatarFileId,
120
- avatarCustomUrl: userObject.data?.avatarCustomUrl,
121
- };
122
-
123
- return {
124
- targetType: item.targetType,
125
- targetId: item.targetId,
126
- commentId: item.commentId,
127
- data: item.data as Record<string, any>,
128
- dataType: item?.dataType || 'text',
129
- myReactions: item.myReactions as string[],
130
- reactions: item.reactions as Record<string, number>,
131
- user: formattedUserObject as UserInterface,
132
- updatedAt: item.updatedAt,
133
- editedAt: item.editedAt,
134
- createdAt: item.createdAt,
135
- childrenComment: item.children,
136
- childrenNumber: item.childrenNumber,
137
- referenceId: item.referenceId,
138
- mentionPosition: item?.metadata?.mentioned ?? [],
139
- };
140
- })
141
- );
108
+ const queryComment = (comments: Amity.InternalComment[]) => {
109
+ const formattedCommentList = comments.map((item: Amity.Comment) => {
110
+ const formattedUserObject = {
111
+ userId: item.creator?.userId,
112
+ displayName: item.creator?.displayName,
113
+ avatarFileId: item.creator?.avatarFileId,
114
+ avatarCustomUrl: item.creator?.avatarCustomUrl,
115
+ };
116
+
117
+ return {
118
+ targetType: item.targetType,
119
+ targetId: item.targetId,
120
+ commentId: item.commentId,
121
+ data: item.data as Record<string, any>,
122
+ dataType: item?.dataType || 'text',
123
+ myReactions: item.myReactions as string[],
124
+ reactions: item.reactions as Record<string, number>,
125
+ user: formattedUserObject as UserInterface,
126
+ updatedAt: item.updatedAt,
127
+ editedAt: item.editedAt,
128
+ createdAt: item.createdAt,
129
+ childrenComment: item.children,
130
+ childrenNumber: item.childrenNumber,
131
+ referenceId: item.referenceId,
132
+ mentionPosition: item?.metadata?.mentioned ?? [],
133
+ };
134
+ });
142
135
  setCommentList([...formattedCommentList]);
143
136
  };
144
137
 
@@ -121,8 +121,8 @@ const DetailStyle: FC<AmityPostEngagementActionsSubComponentType> = ({
121
121
  </Text>
122
122
  )}
123
123
  <Text style={styles.commentCountText}>
124
- {formatNumber(postData?.commentsCount)}{' '}
125
- {renderCommentText(postData?.commentsCount)}
124
+ {formatNumber(postData?.localCommentCount)}{' '}
125
+ {renderCommentText(postData?.localCommentCount)}
126
126
  </Text>
127
127
  </View>
128
128
  <View style={[styles.actionSection, styles.detailActionSection]}>
@@ -129,7 +129,7 @@ const FeedStyle: FC<AmityPostEngagementActionsSubComponentType> = ({
129
129
  height={20}
130
130
  resizeMode="contain"
131
131
  />
132
- <Text style={styles.btnText}>{postData?.commentsCount}</Text>
132
+ <Text style={styles.btnText}>{postData?.localCommentCount}</Text>
133
133
  </TouchableOpacity>
134
134
  </View>
135
135
  <View style={styles.commentBtn} />
@@ -1,7 +1,6 @@
1
- import React, { useEffect } from 'react';
1
+ import React from 'react';
2
2
  import { Image, View } from 'react-native';
3
- import { ComponentID, ImageSizeState, PageID } from '../../../../enum';
4
- import { useFile } from '../../../../hook';
3
+ import { ComponentID, PageID } from '../../../../enum';
5
4
  import { useStyles } from './styles';
6
5
 
7
6
  import CommunityJoinedButton from '../../../../elements/CommunityJoinedButtonElement/CommunityJoinedButtonElement';
@@ -10,9 +9,10 @@ import { SvgXml } from 'react-native-svg';
10
9
  import { community as communityIcon } from '../../../../assets/icons';
11
10
  import CommunityPrivateBadge from '../../../../elements/CommunityPrivateBadge/CommunityPrivateBadge';
12
11
  import CommunityOfficialBadge from '../../../../elements/CommunityOfficialBadge/CommunityOfficialBadge';
13
- import CommunityCategory from '../../../../elements/CommunityCatetory/CommunityCategory';
14
12
  import CommunityMemeberCount from '../../../../elements/CommunityMemeberCount/CommunityMemeberCount';
15
13
  import CommunityDisplayname from '../../../../elements/CommunityDisplayname/CommunityDisplayname';
14
+ import { getFileUrlWithSize } from '../../../../utils';
15
+ import { CommunityCategories } from '../../../../../v4/features/feed/components';
16
16
 
17
17
  type RecommendedCommunityItemProps = {
18
18
  pageId?: PageID;
@@ -22,31 +22,15 @@ type RecommendedCommunityItemProps = {
22
22
  export const RecommendedCommunityItem: React.FC<
23
23
  RecommendedCommunityItemProps
24
24
  > = ({ community, pageId = PageID.WildCardPage }) => {
25
- const { getImage } = useFile();
26
25
  const componentId = ComponentID.recommended_communities;
27
26
  const styles = useStyles();
28
- const [imageUrl, setImageUrl] = React.useState<string | undefined>(undefined);
29
-
30
- useEffect(() => {
31
- const fetchImage = async () => {
32
- if (!community.avatarFileId) return;
33
-
34
- const url = await getImage({
35
- fileId: community.avatarFileId,
36
- imageSize: ImageSizeState.large,
37
- });
38
-
39
- setImageUrl(url);
40
- };
41
- fetchImage();
42
- }, [community.avatarFileId, getImage]);
43
27
 
44
28
  return (
45
29
  <View style={styles.container}>
46
- {community.avatarFileId && imageUrl ? (
30
+ {community.avatar?.fileUrl ? (
47
31
  <Image
48
32
  style={styles.image}
49
- source={{ uri: imageUrl }}
33
+ source={{ uri: getFileUrlWithSize(community.avatar?.fileUrl) }}
50
34
  resizeMode="cover"
51
35
  />
52
36
  ) : (
@@ -72,8 +56,8 @@ export const RecommendedCommunityItem: React.FC<
72
56
  </View>
73
57
  <View style={styles.detailBottomWrap}>
74
58
  <View style={styles.detailBottomWrapLeft}>
75
- <CommunityCategory
76
- categoryIds={community.categoryIds}
59
+ <CommunityCategories
60
+ categories={community.categories}
77
61
  pageId={pageId}
78
62
  componentId={componentId}
79
63
  />
@@ -69,6 +69,9 @@ const AmityCommunityProfilePage: React.FC<ICommunityProfilePage> = ({
69
69
 
70
70
  const animatedOpacity = useRef(new Animated.Value(0)).current;
71
71
  const animatedTranslateY = useRef(new Animated.Value(15)).current;
72
+ const stickyHeaderAnimation = useRef<Animated.CompositeAnimation | null>(
73
+ null
74
+ );
72
75
 
73
76
  const scrollY = useRef(new Animated.Value(0)).current;
74
77
  const feedRef = useRef<AmityCommunityFeedRef>(null);
@@ -94,7 +97,7 @@ const AmityCommunityProfilePage: React.FC<ICommunityProfilePage> = ({
94
97
  animatedTranslateY.setValue(15);
95
98
 
96
99
  // Run entrance animation
97
- Animated.parallel([
100
+ stickyHeaderAnimation.current = Animated.parallel([
98
101
  Animated.timing(animatedOpacity, {
99
102
  toValue: 1,
100
103
  duration: 200,
@@ -106,8 +109,12 @@ const AmityCommunityProfilePage: React.FC<ICommunityProfilePage> = ({
106
109
  easing: Easing.out(Easing.ease),
107
110
  useNativeDriver: true,
108
111
  }),
109
- ]).start();
112
+ ]);
113
+ stickyHeaderAnimation.current.start();
110
114
  }
115
+ return () => {
116
+ stickyHeaderAnimation.current?.stop();
117
+ };
111
118
  }, [isScrolledPastHeader, animatedOpacity, animatedTranslateY]);
112
119
 
113
120
  const handleLoadMore = useCallback(() => {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { useCallback, useState } from 'react';
3
- import { LogBox, SafeAreaView, StyleSheet } from 'react-native';
2
+ import { useCallback, useRef, useState } from 'react';
3
+ import { SafeAreaView, StyleSheet, View } from 'react-native';
4
4
  import CustomSocialTab from '../../../../v4/component/CustomSocialTab/CustomSocialTab';
5
5
  import { useUiKitConfig } from '../../../../v4/hook';
6
6
  import {
@@ -12,15 +12,11 @@ import {
12
12
  import { useTheme } from 'react-native-paper';
13
13
  import { useBehaviour } from '../../../../v4/providers/BehaviourProvider';
14
14
  import AmitySocialHomeTopNavigationComponent from '../../../../v4/PublicApi/Components/AmitySocialHomeTopNavigationComponent/AmitySocialHomeTopNavigationComponent';
15
- import AmityEmptyNewsFeedComponent from '../../../../v4/PublicApi/Components/AmityEmptyNewsFeedComponent/AmityEmptyNewsFeedComponent';
16
15
  import AmityMyCommunitiesComponent from '../../../../v4/PublicApi/Components/AmityMyCommunitiesComponent/AmityMyCommunitiesComponent';
17
16
  import AmityNewsFeedComponent from '../../../../v4/PublicApi/Components/AmityNewsFeedComponent/AmityNewsFeedComponent';
18
17
  import AmityExploreComponent from '../../../../v4/PublicApi/Components/AmityExploreComponent/AmityExploreComponent';
19
- import NewsFeedLoadingComponent from '../../../../v4/component/NewsFeedLoadingComponent/NewsFeedLoadingComponent';
20
- import { useCustomRankingGlobalFeed } from '../../../../v4/hook/useCustomRankingGlobalFeed';
21
18
  import { MyMD3Theme } from '../../../../providers/amity-ui-kit-provider';
22
19
 
23
- LogBox.ignoreAllLogs(true);
24
20
  const AmitySocialHomePage = () => {
25
21
  const theme = useTheme() as MyMD3Theme;
26
22
  const styles = StyleSheet.create({
@@ -31,8 +27,6 @@ const AmitySocialHomePage = () => {
31
27
  });
32
28
 
33
29
  const { AmitySocialHomePageBehaviour } = useBehaviour();
34
- const { itemWithAds: globalFeedPosts, loading } =
35
- useCustomRankingGlobalFeed();
36
30
 
37
31
  const [newsFeedTab] = useUiKitConfig({
38
32
  page: PageID.social_home_page,
@@ -56,11 +50,13 @@ const AmitySocialHomePage = () => {
56
50
  }) as string[];
57
51
 
58
52
  const [activeTab, setActiveTab] = useState<string>(newsFeedTab);
53
+ const visitedTabs = useRef<Set<string>>(new Set([newsFeedTab]));
59
54
 
60
55
  const onTabChange = useCallback(
61
56
  (tabName: string) => {
62
57
  if (AmitySocialHomePageBehaviour.onChooseTab)
63
58
  return AmitySocialHomePageBehaviour.onChooseTab(tabName);
59
+ visitedTabs.current.add(tabName);
64
60
  setActiveTab(tabName);
65
61
  },
66
62
  [AmitySocialHomePageBehaviour]
@@ -70,30 +66,10 @@ const AmitySocialHomePage = () => {
70
66
  onTabChange(exploreTab);
71
67
  }, [exploreTab, onTabChange]);
72
68
 
73
- const renderNewsFeed = () => {
74
- if (loading) return <NewsFeedLoadingComponent />;
75
- if (activeTab === exploreTab)
76
- return <AmityExploreComponent pageId={PageID.social_home_page} />;
77
-
78
- if (activeTab === newsFeedTab) {
79
- if (!loading && globalFeedPosts?.length === 0)
80
- return (
81
- <AmityEmptyNewsFeedComponent
82
- pageId={PageID.social_home_page}
83
- onPressExploreCommunity={onPressExploreCommunity}
84
- />
85
- );
86
- return <AmityNewsFeedComponent pageId={PageID.social_home_page} />;
87
- }
88
- if (activeTab === myCommunitiesTab)
89
- return (
90
- <AmityMyCommunitiesComponent
91
- pageId={PageID.social_home_page}
92
- componentId={ComponentID.my_communities}
93
- />
94
- );
95
- return null;
96
- };
69
+ const tabStyle = (tab: string) => ({
70
+ flex: 1,
71
+ display: activeTab === tab ? ('flex' as const) : ('none' as const),
72
+ });
97
73
 
98
74
  return (
99
75
  <SafeAreaView
@@ -108,7 +84,25 @@ const AmitySocialHomePage = () => {
108
84
  onTabChange={onTabChange}
109
85
  activeTab={activeTab}
110
86
  />
111
- {renderNewsFeed()}
87
+ <View style={tabStyle(newsFeedTab)}>
88
+ <AmityNewsFeedComponent
89
+ pageId={PageID.social_home_page}
90
+ onPressExploreCommunity={onPressExploreCommunity}
91
+ />
92
+ </View>
93
+ {visitedTabs.current.has(exploreTab) && (
94
+ <View style={tabStyle(exploreTab)}>
95
+ <AmityExploreComponent pageId={PageID.social_home_page} />
96
+ </View>
97
+ )}
98
+ {visitedTabs.current.has(myCommunitiesTab) && (
99
+ <View style={tabStyle(myCommunitiesTab)}>
100
+ <AmityMyCommunitiesComponent
101
+ pageId={PageID.social_home_page}
102
+ componentId={ComponentID.my_communities}
103
+ />
104
+ </View>
105
+ )}
112
106
  </SafeAreaView>
113
107
  );
114
108
  };
@@ -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
  />