@amityco/react-native-social-uikit 4.0.0-42bcb43.0 → 4.0.0-8da9962.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 (202) hide show
  1. package/lib/commonjs/screens/CategorytList/index.js.map +1 -1
  2. package/lib/commonjs/snippet/AmityCommunitySearchResultComponent.js +3 -3
  3. package/lib/commonjs/snippet/AmityCommunitySearchResultComponent.js.map +1 -1
  4. package/lib/commonjs/snippet/AmityCreatePostMenuComponent.js +3 -3
  5. package/lib/commonjs/snippet/AmityCreatePostMenuComponent.js.map +1 -1
  6. package/lib/commonjs/snippet/AmityDetailedMediaAttachmentComponent.js +4 -4
  7. package/lib/commonjs/snippet/AmityDetailedMediaAttachmentComponent.js.map +1 -1
  8. package/lib/commonjs/snippet/AmityEmptyNewsFeedComponent.js +3 -3
  9. package/lib/commonjs/snippet/AmityEmptyNewsFeedComponent.js.map +1 -1
  10. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js +3 -3
  11. package/lib/commonjs/snippet/AmityGlobalFeedComponent.js.map +1 -1
  12. package/lib/commonjs/snippet/AmityMediaAttachmentComponent.js +4 -4
  13. package/lib/commonjs/snippet/AmityMediaAttachmentComponent.js.map +1 -1
  14. package/lib/commonjs/snippet/AmityMyCommunitiesComponent.js +3 -3
  15. package/lib/commonjs/snippet/AmityMyCommunitiesComponent.js.map +1 -1
  16. package/lib/commonjs/snippet/AmityMyCommunitiesSearchPage.js +3 -3
  17. package/lib/commonjs/snippet/AmityMyCommunitiesSearchPage.js.map +1 -1
  18. package/lib/commonjs/snippet/AmityNewsFeedComponent.js +3 -3
  19. package/lib/commonjs/snippet/AmityNewsFeedComponent.js.map +1 -1
  20. package/lib/commonjs/snippet/AmityPostComposerPage.js +4 -4
  21. package/lib/commonjs/snippet/AmityPostComposerPage.js.map +1 -1
  22. package/lib/commonjs/snippet/AmityPostContentComponent.js +3 -3
  23. package/lib/commonjs/snippet/AmityPostContentComponent.js.map +1 -1
  24. package/lib/commonjs/snippet/AmityPostDetailPage.js +3 -3
  25. package/lib/commonjs/snippet/AmityPostDetailPage.js.map +1 -1
  26. package/lib/commonjs/snippet/AmityPostTargetSelectionPage.js +4 -4
  27. package/lib/commonjs/snippet/AmityPostTargetSelectionPage.js.map +1 -1
  28. package/lib/commonjs/snippet/AmityReactionListComponent.js +3 -3
  29. package/lib/commonjs/snippet/AmityReactionListComponent.js.map +1 -1
  30. package/lib/commonjs/snippet/AmitySocialGlobalSearchPage.js +3 -3
  31. package/lib/commonjs/snippet/AmitySocialGlobalSearchPage.js.map +1 -1
  32. package/lib/commonjs/snippet/AmitySocialHomePage.js +3 -3
  33. package/lib/commonjs/snippet/AmitySocialHomePage.js.map +1 -1
  34. package/lib/commonjs/snippet/AmitySocialHomeTopNavigationComponent.js +3 -3
  35. package/lib/commonjs/snippet/AmitySocialHomeTopNavigationComponent.js.map +1 -1
  36. package/lib/commonjs/snippet/AmityStoryTargetSelectionPage.js +3 -3
  37. package/lib/commonjs/snippet/AmityStoryTargetSelectionPage.js.map +1 -1
  38. package/lib/commonjs/snippet/AmityTopSearchBarComponent.js +3 -3
  39. package/lib/commonjs/snippet/AmityTopSearchBarComponent.js.map +1 -1
  40. package/lib/commonjs/snippet/AmityUserSearchResultComponent.js +3 -3
  41. package/lib/commonjs/snippet/AmityUserSearchResultComponent.js.map +1 -1
  42. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityFeedComponent/AmityCommunityFeedComponent.js.map +1 -1
  43. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityProfileTabComponent/AmityCommunityProfileTabComponent.js.map +1 -1
  44. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +4 -3
  45. package/lib/commonjs/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  46. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +0 -1
  47. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  48. package/lib/commonjs/v4/PublicApi/Components/AmityReactionListComponent/AmityReactionListComponent.js.map +1 -1
  49. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.js +7 -1
  50. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.js.map +1 -1
  51. package/lib/commonjs/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.js +7 -1
  52. package/lib/commonjs/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.js.map +1 -1
  53. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +8 -1
  54. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  55. package/lib/commonjs/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.js +7 -1
  56. package/lib/commonjs/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.js.map +1 -1
  57. package/lib/commonjs/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  58. package/lib/commonjs/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.js +7 -1
  59. package/lib/commonjs/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.js.map +1 -1
  60. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  61. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js +10 -4
  62. package/lib/commonjs/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  63. package/lib/commonjs/v4/elements/ActionButton/ActionButton.js.map +1 -1
  64. package/lib/commonjs/v4/elements/ImageViewer/ImageViewer.js.map +1 -1
  65. package/lib/commonjs/v4/elements/VideoViewer/VideoViewer.js.map +1 -1
  66. package/lib/commonjs/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  67. package/lib/commonjs/v4/features/community/shared/components/Privacy/index.js.map +1 -1
  68. package/lib/commonjs/v4/hook/useImagePicker.js.map +1 -1
  69. package/lib/commonjs/v4/providers/BehaviourProvider.js +2 -1
  70. package/lib/commonjs/v4/providers/BehaviourProvider.js.map +1 -1
  71. package/lib/module/screens/CategorytList/index.js.map +1 -1
  72. package/lib/module/snippet/AmityCommunitySearchResultComponent.js +1 -1
  73. package/lib/module/snippet/AmityCommunitySearchResultComponent.js.map +1 -1
  74. package/lib/module/snippet/AmityCreatePostMenuComponent.js +1 -1
  75. package/lib/module/snippet/AmityCreatePostMenuComponent.js.map +1 -1
  76. package/lib/module/snippet/AmityDetailedMediaAttachmentComponent.js +1 -1
  77. package/lib/module/snippet/AmityDetailedMediaAttachmentComponent.js.map +1 -1
  78. package/lib/module/snippet/AmityEmptyNewsFeedComponent.js +1 -1
  79. package/lib/module/snippet/AmityEmptyNewsFeedComponent.js.map +1 -1
  80. package/lib/module/snippet/AmityGlobalFeedComponent.js +1 -1
  81. package/lib/module/snippet/AmityGlobalFeedComponent.js.map +1 -1
  82. package/lib/module/snippet/AmityMediaAttachmentComponent.js +1 -1
  83. package/lib/module/snippet/AmityMediaAttachmentComponent.js.map +1 -1
  84. package/lib/module/snippet/AmityMyCommunitiesComponent.js +1 -1
  85. package/lib/module/snippet/AmityMyCommunitiesComponent.js.map +1 -1
  86. package/lib/module/snippet/AmityMyCommunitiesSearchPage.js +1 -1
  87. package/lib/module/snippet/AmityMyCommunitiesSearchPage.js.map +1 -1
  88. package/lib/module/snippet/AmityNewsFeedComponent.js +1 -1
  89. package/lib/module/snippet/AmityNewsFeedComponent.js.map +1 -1
  90. package/lib/module/snippet/AmityPostComposerPage.js +1 -1
  91. package/lib/module/snippet/AmityPostComposerPage.js.map +1 -1
  92. package/lib/module/snippet/AmityPostContentComponent.js +1 -1
  93. package/lib/module/snippet/AmityPostContentComponent.js.map +1 -1
  94. package/lib/module/snippet/AmityPostDetailPage.js +1 -1
  95. package/lib/module/snippet/AmityPostDetailPage.js.map +1 -1
  96. package/lib/module/snippet/AmityPostTargetSelectionPage.js +1 -1
  97. package/lib/module/snippet/AmityPostTargetSelectionPage.js.map +1 -1
  98. package/lib/module/snippet/AmityReactionListComponent.js +1 -1
  99. package/lib/module/snippet/AmityReactionListComponent.js.map +1 -1
  100. package/lib/module/snippet/AmitySocialGlobalSearchPage.js +1 -1
  101. package/lib/module/snippet/AmitySocialGlobalSearchPage.js.map +1 -1
  102. package/lib/module/snippet/AmitySocialHomePage.js +1 -1
  103. package/lib/module/snippet/AmitySocialHomePage.js.map +1 -1
  104. package/lib/module/snippet/AmitySocialHomeTopNavigationComponent.js +1 -1
  105. package/lib/module/snippet/AmitySocialHomeTopNavigationComponent.js.map +1 -1
  106. package/lib/module/snippet/AmityStoryTargetSelectionPage.js +1 -1
  107. package/lib/module/snippet/AmityStoryTargetSelectionPage.js.map +1 -1
  108. package/lib/module/snippet/AmityTopSearchBarComponent.js +1 -1
  109. package/lib/module/snippet/AmityTopSearchBarComponent.js.map +1 -1
  110. package/lib/module/snippet/AmityUserSearchResultComponent.js +1 -1
  111. package/lib/module/snippet/AmityUserSearchResultComponent.js.map +1 -1
  112. package/lib/module/v4/PublicApi/Components/AmityCommunityFeedComponent/AmityCommunityFeedComponent.js.map +1 -1
  113. package/lib/module/v4/PublicApi/Components/AmityCommunityProfileTabComponent/AmityCommunityProfileTabComponent.js.map +1 -1
  114. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js +5 -4
  115. package/lib/module/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.js.map +1 -1
  116. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +0 -1
  117. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  118. package/lib/module/v4/PublicApi/Components/AmityReactionListComponent/AmityReactionListComponent.js.map +1 -1
  119. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.js +7 -1
  120. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.js.map +1 -1
  121. package/lib/module/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.js +7 -1
  122. package/lib/module/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.js.map +1 -1
  123. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +8 -1
  124. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  125. package/lib/module/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.js +7 -1
  126. package/lib/module/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.js.map +1 -1
  127. package/lib/module/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.js.map +1 -1
  128. package/lib/module/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.js +7 -1
  129. package/lib/module/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.js.map +1 -1
  130. package/lib/module/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  131. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js +10 -4
  132. package/lib/module/v4/component/TargetSelectionPage/TargetSelectionPage.js.map +1 -1
  133. package/lib/module/v4/elements/ActionButton/ActionButton.js.map +1 -1
  134. package/lib/module/v4/elements/ImageViewer/ImageViewer.js.map +1 -1
  135. package/lib/module/v4/elements/VideoViewer/VideoViewer.js.map +1 -1
  136. package/lib/module/v4/features/community/Membership/components/MemberItem/MemberItem.js.map +1 -1
  137. package/lib/module/v4/features/community/shared/components/Privacy/index.js.map +1 -1
  138. package/lib/module/v4/hook/useImagePicker.js.map +1 -1
  139. package/lib/module/v4/providers/BehaviourProvider.js +2 -1
  140. package/lib/module/v4/providers/BehaviourProvider.js.map +1 -1
  141. package/lib/typescript/src/screens/CategorytList/index.d.ts.map +1 -1
  142. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts +1 -0
  143. package/lib/typescript/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.d.ts.map +1 -1
  144. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  145. package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.d.ts.map +1 -1
  146. package/lib/typescript/src/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.d.ts.map +1 -1
  147. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.d.ts.map +1 -1
  148. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.d.ts.map +1 -1
  149. package/lib/typescript/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.d.ts.map +1 -1
  150. package/lib/typescript/src/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.d.ts.map +1 -1
  151. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts +2 -1
  152. package/lib/typescript/src/v4/component/TargetSelectionPage/TargetSelectionPage.d.ts.map +1 -1
  153. package/lib/typescript/src/v4/elements/ActionButton/ActionButton.d.ts.map +1 -1
  154. package/lib/typescript/src/v4/features/community/Membership/components/MemberItem/MemberItem.d.ts.map +1 -1
  155. package/lib/typescript/src/v4/features/community/shared/components/Privacy/index.d.ts.map +1 -1
  156. package/lib/typescript/src/v4/hook/useImagePicker.d.ts.map +1 -1
  157. package/lib/typescript/src/v4/providers/BehaviourProvider.d.ts.map +1 -1
  158. package/lib/typescript/src/v4/types/behaviour.interface.d.ts +7 -0
  159. package/lib/typescript/src/v4/types/behaviour.interface.d.ts.map +1 -1
  160. package/package.json +1 -1
  161. package/src/screens/CategorytList/index.tsx +7 -14
  162. package/src/snippet/AmityCommunitySearchResultComponent.tsx +1 -1
  163. package/src/snippet/AmityCreatePostMenuComponent.tsx +1 -1
  164. package/src/snippet/AmityDetailedMediaAttachmentComponent.tsx +1 -1
  165. package/src/snippet/AmityEmptyNewsFeedComponent.tsx +1 -1
  166. package/src/snippet/AmityGlobalFeedComponent.tsx +1 -1
  167. package/src/snippet/AmityMediaAttachmentComponent.tsx +1 -1
  168. package/src/snippet/AmityMyCommunitiesComponent.tsx +1 -1
  169. package/src/snippet/AmityMyCommunitiesSearchPage.tsx +1 -1
  170. package/src/snippet/AmityNewsFeedComponent.tsx +1 -1
  171. package/src/snippet/AmityPostComposerPage.tsx +1 -1
  172. package/src/snippet/AmityPostContentComponent.tsx +1 -1
  173. package/src/snippet/AmityPostDetailPage.tsx +1 -1
  174. package/src/snippet/AmityPostTargetSelectionPage.tsx +1 -1
  175. package/src/snippet/AmityReactionListComponent.tsx +1 -1
  176. package/src/snippet/AmitySocialGlobalSearchPage.tsx +1 -1
  177. package/src/snippet/AmitySocialHomePage.tsx +1 -1
  178. package/src/snippet/AmitySocialHomeTopNavigationComponent.tsx +1 -1
  179. package/src/snippet/AmityStoryTargetSelectionPage.tsx +1 -1
  180. package/src/snippet/AmityTopSearchBarComponent.tsx +1 -1
  181. package/src/snippet/AmityUserSearchResultComponent.tsx +1 -1
  182. package/src/v4/PublicApi/Components/AmityCommunityFeedComponent/AmityCommunityFeedComponent.tsx +2 -2
  183. package/src/v4/PublicApi/Components/AmityCommunityProfileTabComponent/AmityCommunityProfileTabComponent.tsx +97 -97
  184. package/src/v4/PublicApi/Components/AmityGlobalFeedComponent/AmityGlobalFeedComponent.tsx +12 -7
  185. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +0 -2
  186. package/src/v4/PublicApi/Components/AmityReactionListComponent/AmityReactionListComponent.tsx +9 -9
  187. package/src/v4/PublicApi/Pages/AmityLivestreamPostTargetSelectionPage/AmityLivestreamPostTargetSelectionPage.tsx +6 -0
  188. package/src/v4/PublicApi/Pages/AmityPollTargetSelectionPage/AmityPollTargetSelectionPage.tsx +6 -1
  189. package/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.tsx +6 -1
  190. package/src/v4/PublicApi/Pages/AmityPostTargetSelectionPage/AmityPostTargetSelectionPage.tsx +7 -0
  191. package/src/v4/PublicApi/Pages/AmitySocialHomePage/AmitySocialHomePage.tsx +5 -1
  192. package/src/v4/PublicApi/Pages/AmityStoryTargetSelectionPage/AmityStoryTargetSelectionPage.tsx +7 -0
  193. package/src/v4/component/MyStories/StoryCircleItem.tsx +8 -8
  194. package/src/v4/component/TargetSelectionPage/TargetSelectionPage.tsx +12 -4
  195. package/src/v4/elements/ActionButton/ActionButton.tsx +4 -1
  196. package/src/v4/elements/ImageViewer/ImageViewer.tsx +1 -1
  197. package/src/v4/elements/VideoViewer/VideoViewer.tsx +1 -1
  198. package/src/v4/features/community/Membership/components/MemberItem/MemberItem.tsx +11 -2
  199. package/src/v4/features/community/shared/components/Privacy/index.tsx +4 -1
  200. package/src/v4/hook/useImagePicker.ts +4 -1
  201. package/src/v4/providers/BehaviourProvider.tsx +1 -0
  202. package/src/v4/types/behaviour.interface.ts +7 -0
@@ -28,107 +28,107 @@ const AmityCommunityProfileTabComponent: FC<
28
28
  currentTab,
29
29
  onTabChange,
30
30
  }) => {
31
- const elementId = ElementID.community_profile_tab;
31
+ const elementId = ElementID.community_profile_tab;
32
32
 
33
- const { themeStyles, accessibilityId } = useAmityElement({
34
- pageId,
35
- componentId,
36
- elementId,
37
- });
33
+ const { themeStyles, accessibilityId } = useAmityElement({
34
+ pageId,
35
+ componentId,
36
+ elementId,
37
+ });
38
38
 
39
- const styles = StyleSheet.create({
40
- container: {
41
- backgroundColor: themeStyles?.colors.background,
42
- flexDirection: 'row',
43
- width: '100%',
44
- paddingHorizontal: 16,
45
- justifyContent: 'space-between',
46
- borderBottomColor: themeStyles?.colors.baseShade4,
47
- borderBottomWidth: 1,
48
- },
49
- });
39
+ const styles = StyleSheet.create({
40
+ container: {
41
+ backgroundColor: themeStyles?.colors.background,
42
+ flexDirection: 'row',
43
+ width: '100%',
44
+ paddingHorizontal: 16,
45
+ justifyContent: 'space-between',
46
+ borderBottomColor: themeStyles?.colors.baseShade4,
47
+ borderBottomWidth: 1,
48
+ },
49
+ });
50
50
 
51
- const getActiveColor = useCallback(
52
- (isActive: boolean) => {
53
- return isActive
54
- ? themeStyles?.colors.base
55
- : themeStyles?.colors.baseShade2;
56
- },
57
- [themeStyles]
58
- );
51
+ const getActiveColor = useCallback(
52
+ (isActive: boolean) => {
53
+ return isActive
54
+ ? themeStyles?.colors.base
55
+ : themeStyles?.colors.baseShade2;
56
+ },
57
+ [themeStyles]
58
+ );
59
59
 
60
- return (
61
- <View
62
- style={styles.container}
63
- testID={accessibilityId}
64
- accessibilityLabel={accessibilityId}
60
+ return (
61
+ <View
62
+ style={styles.container}
63
+ testID={accessibilityId}
64
+ accessibilityLabel={accessibilityId}
65
+ >
66
+ <Pressable
67
+ onPress={() => onTabChange(CommunityProfileTab.community_feed)}
65
68
  >
66
- <Pressable
67
- onPress={() => onTabChange(CommunityProfileTab.community_feed)}
68
- >
69
- <IconTab
70
- themeStyles={themeStyles}
71
- icon={
72
- <SvgXml
73
- xml={feed(
74
- getActiveColor(
75
- currentTab === CommunityProfileTab.community_feed
76
- )
77
- )}
78
- />
79
- }
80
- isActive={currentTab === CommunityProfileTab.community_feed}
81
- />
82
- </Pressable>
83
- <Pressable onPress={() => onTabChange(CommunityProfileTab.community_pin)}>
84
- <IconTab
85
- themeStyles={themeStyles}
86
- icon={
87
- <SvgXml
88
- xml={pin(
89
- getActiveColor(currentTab === CommunityProfileTab.community_pin)
90
- )}
91
- />
92
- }
93
- isActive={currentTab === CommunityProfileTab.community_pin}
94
- />
95
- </Pressable>
96
- <Pressable
97
- onPress={() => onTabChange(CommunityProfileTab.community_image_feed)}
98
- >
99
- <IconTab
100
- themeStyles={themeStyles}
101
- icon={
102
- <SvgXml
103
- xml={image(
104
- getActiveColor(
105
- currentTab === CommunityProfileTab.community_image_feed
106
- )
107
- )}
108
- />
109
- }
110
- isActive={currentTab === CommunityProfileTab.community_image_feed}
111
- />
112
- </Pressable>
113
- <Pressable
114
- onPress={() => onTabChange(CommunityProfileTab.community_video_feed)}
115
- >
116
- <IconTab
117
- themeStyles={themeStyles}
118
- icon={
119
- <SvgXml
120
- xml={video(
121
- getActiveColor(
122
- currentTab === CommunityProfileTab.community_video_feed
123
- )
124
- )}
125
- />
126
- }
127
- isActive={currentTab === CommunityProfileTab.community_video_feed}
128
- />
129
- </Pressable>
130
- </View>
131
- );
132
- };
69
+ <IconTab
70
+ themeStyles={themeStyles}
71
+ icon={
72
+ <SvgXml
73
+ xml={feed(
74
+ getActiveColor(
75
+ currentTab === CommunityProfileTab.community_feed
76
+ )
77
+ )}
78
+ />
79
+ }
80
+ isActive={currentTab === CommunityProfileTab.community_feed}
81
+ />
82
+ </Pressable>
83
+ <Pressable onPress={() => onTabChange(CommunityProfileTab.community_pin)}>
84
+ <IconTab
85
+ themeStyles={themeStyles}
86
+ icon={
87
+ <SvgXml
88
+ xml={pin(
89
+ getActiveColor(currentTab === CommunityProfileTab.community_pin)
90
+ )}
91
+ />
92
+ }
93
+ isActive={currentTab === CommunityProfileTab.community_pin}
94
+ />
95
+ </Pressable>
96
+ <Pressable
97
+ onPress={() => onTabChange(CommunityProfileTab.community_image_feed)}
98
+ >
99
+ <IconTab
100
+ themeStyles={themeStyles}
101
+ icon={
102
+ <SvgXml
103
+ xml={image(
104
+ getActiveColor(
105
+ currentTab === CommunityProfileTab.community_image_feed
106
+ )
107
+ )}
108
+ />
109
+ }
110
+ isActive={currentTab === CommunityProfileTab.community_image_feed}
111
+ />
112
+ </Pressable>
113
+ <Pressable
114
+ onPress={() => onTabChange(CommunityProfileTab.community_video_feed)}
115
+ >
116
+ <IconTab
117
+ themeStyles={themeStyles}
118
+ icon={
119
+ <SvgXml
120
+ xml={video(
121
+ getActiveColor(
122
+ currentTab === CommunityProfileTab.community_video_feed
123
+ )
124
+ )}
125
+ />
126
+ }
127
+ isActive={currentTab === CommunityProfileTab.community_video_feed}
128
+ />
129
+ </Pressable>
130
+ </View>
131
+ );
132
+ };
133
133
 
134
134
  export default memo(AmityCommunityProfileTabComponent);
@@ -1,5 +1,5 @@
1
1
  import React, { FC, memo, useCallback, useRef, useState } from 'react';
2
- import { FlatList } from 'react-native';
2
+ import { FlatList, View } from 'react-native';
3
3
 
4
4
  import { RefreshControl } from 'react-native';
5
5
  import AmityPostContentComponent from '../AmityPostContentComponent/AmityPostContentComponent';
@@ -20,6 +20,7 @@ import Divider from '../../../component/Divider';
20
20
  type AmityGlobalFeedComponentType = {
21
21
  pageId?: PageID;
22
22
  isShowStoryTab?: boolean;
23
+ GlobalFeedHeaderComponent?: React.ReactElement;
23
24
  };
24
25
 
25
26
  export const globalFeedPageLimit = 20;
@@ -27,6 +28,7 @@ export const globalFeedPageLimit = 20;
27
28
  const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
28
29
  pageId,
29
30
  isShowStoryTab = true,
31
+ GlobalFeedHeaderComponent,
30
32
  }) => {
31
33
  const { itemWithAds, refresh, loading, onNextPage } =
32
34
  useCustomRankingGlobalFeed();
@@ -100,12 +102,15 @@ const AmityGlobalFeedComponent: FC<AmityGlobalFeedComponentType> = ({
100
102
  }
101
103
  keyboardShouldPersistTaps="handled"
102
104
  ListHeaderComponent={
103
- !refreshing &&
104
- !loading &&
105
- isShowStoryTab && (
106
- <AmityStoryTabComponent
107
- type={AmityStoryTabComponentEnum.globalFeed}
108
- />
105
+ !refreshing && !loading && isShowStoryTab ? (
106
+ <View>
107
+ {GlobalFeedHeaderComponent}
108
+ <AmityStoryTabComponent
109
+ type={AmityStoryTabComponentEnum.globalFeed}
110
+ />
111
+ </View>
112
+ ) : (
113
+ GlobalFeedHeaderComponent
109
114
  )
110
115
  }
111
116
  viewabilityConfig={{ viewAreaCoveragePercentThreshold: 60 }}
@@ -158,8 +158,6 @@ const AmityPostContentComponent: FC<AmityPostContentComponentProps> = ({
158
158
  });
159
159
  };
160
160
 
161
- if (post?.structureType === 'liveStream') return null;
162
-
163
161
  return (
164
162
  <View>
165
163
  {(category === AmityPostCategory.ANNOUNCEMENT ||
@@ -74,10 +74,10 @@ const AmityReactionListComponent: FC<AmityReactionListComponentType> = ({
74
74
  selectedReactionIndex === 0
75
75
  ? allReactionList
76
76
  : selectedReactionIndex === 1
77
- ? likeReactionList
78
- : selectedReactionIndex === 2
79
- ? loveReactionList
80
- : null;
77
+ ? likeReactionList
78
+ : selectedReactionIndex === 2
79
+ ? loveReactionList
80
+ : null;
81
81
  if (currentUsers?.length > 0) {
82
82
  const userList = currentUsers.map((item) => item.userId);
83
83
  try {
@@ -95,7 +95,7 @@ const AmityReactionListComponent: FC<AmityReactionListComponentType> = ({
95
95
  }
96
96
  })();
97
97
 
98
- return () => { };
98
+ return () => {};
99
99
  }, [
100
100
  allReactionList,
101
101
  likeReactionList,
@@ -231,10 +231,10 @@ const AmityReactionListComponent: FC<AmityReactionListComponentType> = ({
231
231
  {loading
232
232
  ? renderContentLoading()
233
233
  : hasError
234
- ? errorContent()
235
- : reactors
236
- ? renderReactionList()
237
- : null}
234
+ ? errorContent()
235
+ : reactors
236
+ ? renderReactionList()
237
+ : null}
238
238
  </View>
239
239
  </Modal>
240
240
  );
@@ -37,10 +37,16 @@ const AmityLivestreamPostTargetSelectionPage = () => {
37
37
  navigation.navigate('CreateLivestream', context);
38
38
  };
39
39
 
40
+ const onClickClose = () => {
41
+ if (AmityLivestreamPostTargetSelectionPageBehavior?.onClickClose) {
42
+ AmityLivestreamPostTargetSelectionPageBehavior.onClickClose();
43
+ }
44
+ };
40
45
  return (
41
46
  <TargetSelectionPage
42
47
  onSelectFeed={onSelectFeed}
43
48
  pageId={PageID.livestream_post_target_selection_page}
49
+ onClickClose={onClickClose}
44
50
  />
45
51
  );
46
52
  };
@@ -28,11 +28,16 @@ const AmityPollTargetSelectionPage = () => {
28
28
  }
29
29
  navigation.navigate('PollPostComposer', context);
30
30
  };
31
-
31
+ const onClickClose = () => {
32
+ if (AmityPollTargetSelectionPageBehavior?.onClickClose) {
33
+ AmityPollTargetSelectionPageBehavior.onClickClose();
34
+ }
35
+ };
32
36
  return (
33
37
  <TargetSelectionPage
34
38
  onSelectFeed={onSelectFeed}
35
39
  pageId={PageID.select_poll_target_page}
40
+ onClickClose={onClickClose}
36
41
  />
37
42
  );
38
43
  };
@@ -60,6 +60,7 @@ import { getPostErrorMessage } from '../../../utils/errors';
60
60
  import { MAXIMUM_POST_CHARACTERS } from '../../../constants';
61
61
  import { replaceTriggerValues } from 'react-native-controlled-mentions';
62
62
  import { useUIKitDispatch } from '../../../../redux/store';
63
+ import { useBehaviour } from '../../../../v4/providers/BehaviourProvider';
63
64
 
64
65
  const AmityPostComposerPage: FC<AmityPostComposerPageType> = ({
65
66
  mode,
@@ -75,6 +76,7 @@ const AmityPostComposerPage: FC<AmityPostComposerPageType> = ({
75
76
  shouldCall: true,
76
77
  });
77
78
  const pageId = PageID.post_composer_page;
79
+ const { AmityPostComposerPageBehavior } = useBehaviour();
78
80
  const { isExcluded, themeStyles, accessibilityId } = useAmityPage({ pageId });
79
81
  const styles = useStyles(themeStyles);
80
82
  const { getImage } = useFile();
@@ -286,10 +288,13 @@ const AmityPostComposerPage: FC<AmityPostComposerPageType> = ({
286
288
 
287
289
  const onPressClose = useCallback(() => {
288
290
  const routes = navigation.getState().routes;
291
+ if (AmityPostComposerPageBehavior?.onPressPost) {
292
+ AmityPostComposerPageBehavior.onPressPost();
293
+ }
289
294
  if (routes[routes.length - 2].name === 'PostTargetSelection') {
290
295
  navigation.pop(2);
291
296
  } else navigation.pop();
292
- }, [navigation]);
297
+ }, [navigation, AmityPostComposerPageBehavior]);
293
298
 
294
299
  const onClose = useCallback(() => {
295
300
  Alert.alert(
@@ -81,10 +81,17 @@ const AmityPostTargetSelectionPage = ({
81
81
  }
82
82
  };
83
83
 
84
+ const onClickClose = () => {
85
+ if (AmityPostTargetSelectionPageBehavior?.onClickClose) {
86
+ AmityPostTargetSelectionPageBehavior.onClickClose();
87
+ }
88
+ };
89
+
84
90
  return (
85
91
  <TargetSelectionPage
86
92
  pageId={PageID.select_post_target_page}
87
93
  onSelectFeed={onSelectFeed}
94
+ onClickClose={onClickClose}
88
95
  />
89
96
  );
90
97
  };
@@ -3,7 +3,11 @@ import { useCallback, useState } from 'react';
3
3
  import { LogBox, SafeAreaView, StyleSheet } from 'react-native';
4
4
  import CustomSocialTab from '../../../../v4/component/CustomSocialTab/CustomSocialTab';
5
5
  import { useUiKitConfig } from '../../../../v4/hook';
6
- import { ComponentID, ElementID, PageID } from '../../../../v4/enum/enumUIKitID';
6
+ import {
7
+ ComponentID,
8
+ ElementID,
9
+ PageID,
10
+ } from '../../../../v4/enum/enumUIKitID';
7
11
 
8
12
  import { useTheme } from 'react-native-paper';
9
13
  import { useBehaviour } from '../../../../v4/providers/BehaviourProvider';
@@ -24,11 +24,18 @@ const AmityStoryTargetSelectionPage = () => {
24
24
  });
25
25
  };
26
26
 
27
+ const onClickClose = () => {
28
+ if (AmityStoryTargetSelectionPageBehavior?.onClickClose) {
29
+ AmityStoryTargetSelectionPageBehavior.onClickClose();
30
+ }
31
+ };
32
+
27
33
  return (
28
34
  <TargetSelectionPage
29
35
  pageId={PageID.select_story_target_page}
30
36
  onSelectFeed={onSelectFeed}
31
37
  hideMyTimelineTarget={true}
38
+ onClickClose={onClickClose}
32
39
  />
33
40
  );
34
41
  };
@@ -31,13 +31,13 @@ const StoryCircleItem: FC<IStoryCircleItem> = ({
31
31
  const styles = useStyles();
32
32
  const storyRingColor: string[] = storyTarget?.hasUnseen
33
33
  ? (getUiKitConfig({
34
- page: PageID.StoryPage,
35
- component: ComponentID.StoryTab,
36
- element: ElementID.StoryRing,
37
- })?.progress_color as string[]) ?? ['#e2e2e2', '#e2e2e2']
34
+ page: PageID.StoryPage,
35
+ component: ComponentID.StoryTab,
36
+ element: ElementID.StoryRing,
37
+ })?.progress_color as string[]) ?? ['#e2e2e2', '#e2e2e2']
38
38
  : storyTarget?.failedStoriesCount > 0
39
- ? ['#DE1029', '#DE1029']
40
- : ['#e2e2e2', '#e2e2e2'];
39
+ ? ['#DE1029', '#DE1029']
40
+ : ['#e2e2e2', '#e2e2e2'];
41
41
 
42
42
  useEffect(() => {
43
43
  if (storyTarget.targetType !== 'community') return;
@@ -68,8 +68,8 @@ const StoryCircleItem: FC<IStoryCircleItem> = ({
68
68
  source={
69
69
  avatarUrl
70
70
  ? {
71
- uri: avatarUrl,
72
- }
71
+ uri: avatarUrl,
72
+ }
73
73
  : require('../../assets/images/userAvatar.png')
74
74
  }
75
75
  style={styles.communityAvatar}
@@ -13,11 +13,12 @@ import type { MyMD3Theme } from '../../../providers/amity-ui-kit-provider';
13
13
  import CloseButtonIconElement from '../../PublicApi/Elements/CloseButtonIconElement/CloseButtonIconElement';
14
14
  import { PageID, ComponentID, ElementID } from '../../enum';
15
15
  import { SafeAreaView } from 'react-native-safe-area-context';
16
- import { useNavigation } from '@react-navigation/native';
17
16
  import TextKeyElement from '../../PublicApi/Elements/TextKeyElement/TextKeyElement';
18
17
  import { Typography } from '../Typography/Typography';
19
18
  import { useStyles } from './styles';
20
19
  import { Illustration } from '../../../v4/PublicApi/Components/AmityEmptyNewsFeedComponent/Elements';
20
+ import { useNavigation } from '@react-navigation/native';
21
+ import { NativeStackNavigationProp } from '@react-navigation/native-stack';
21
22
 
22
23
  export type FeedParams = {
23
24
  targetId: string;
@@ -48,21 +49,23 @@ interface ITargetSelectionPage {
48
49
  postSetting,
49
50
  needApprovalOnPostCreation,
50
51
  }: FeedParams) => void;
52
+ onClickClose?: () => void;
51
53
  }
52
54
 
53
55
  const TargetSelectionPage = ({
54
56
  pageId,
55
57
  hideMyTimelineTarget = false,
56
58
  onSelectFeed,
59
+ onClickClose,
57
60
  }: ITargetSelectionPage) => {
58
61
  const { client } = useAuth();
59
- const navigation = useNavigation();
62
+
60
63
  const defaultTheme = useTheme() as MyMD3Theme;
61
64
 
62
65
  const user = useUser((client as Amity.Client).userId);
63
66
  const { communities, onNextCommunityPage, loading } = useCommunities();
64
67
  const { themeStyles, accessibilityId } = useAmityPage({ pageId });
65
-
68
+ const navigation = useNavigation<NativeStackNavigationProp<any>>();
66
69
  const theme = themeStyles || defaultTheme;
67
70
  const styles = useStyles(theme);
68
71
 
@@ -102,7 +105,12 @@ const TargetSelectionPage = ({
102
105
  <View style={styles.header}>
103
106
  <TouchableOpacity
104
107
  style={styles.closeButton}
105
- onPress={() => navigation.goBack()}
108
+ onPress={() => {
109
+ onClickClose?.();
110
+ if (navigation.canGoBack()) {
111
+ navigation.goBack();
112
+ }
113
+ }}
106
114
  >
107
115
  <CloseButtonIconElement style={styles.closeIcon} pageID={pageId} />
108
116
  </TouchableOpacity>
@@ -1,7 +1,10 @@
1
1
  import React from 'react';
2
2
  import { useAmityElement } from '../../../v4/hook';
3
3
  import { ComponentID, ElementID, PageID } from '../../../v4/enum';
4
- import Button, { BUTTON_SIZE, ButtonProps } from '../../../v4/component/Button/Button';
4
+ import Button, {
5
+ BUTTON_SIZE,
6
+ ButtonProps,
7
+ } from '../../../v4/component/Button/Button';
5
8
  import { useStyles } from './styles';
6
9
 
7
10
  type ActionButtonProps = ButtonProps & {
@@ -27,7 +27,7 @@ const ImageViewer: FC<ImageViewerProps> = ({
27
27
  images,
28
28
  onNextImage,
29
29
  onPreviousImage,
30
- onClose = () => { },
30
+ onClose = () => {},
31
31
  }) => {
32
32
  const [active, setActive] = useState(currentImageIndex);
33
33
  const scrollViewRef = useRef<ScrollView>(null);
@@ -27,7 +27,7 @@ const VideoViewer: FC<VideoViewerProps> = ({
27
27
  images,
28
28
  onNextImage,
29
29
  onPreviousImage,
30
- onClose = () => { },
30
+ onClose = () => {},
31
31
  }) => {
32
32
  const [active, setActive] = useState(currentImageIndex);
33
33
  const scrollViewRef = useRef<ScrollView>(null);
@@ -9,8 +9,17 @@ import { useBottomSheet } from '../../../../../../redux/slices/bottomSheetSlice'
9
9
  import MenuAction from '../../../../../../v4/elements/MenuAction';
10
10
  import { MemberRoles } from '../../../../../../v4/constants';
11
11
  import { useToast } from '../../../../../../v4/stores/slices/toast';
12
- import { demote, promote, report, trash, unreport } from '../../../../../../v4/assets/icons';
13
- import { checkEditRolePermission, isModerator } from '../../../../../../v4/utils/permissions';
12
+ import {
13
+ demote,
14
+ promote,
15
+ report,
16
+ trash,
17
+ unreport,
18
+ } from '../../../../../../v4/assets/icons';
19
+ import {
20
+ checkEditRolePermission,
21
+ isModerator,
22
+ } from '../../../../../../v4/utils/permissions';
14
23
  import {
15
24
  useRolesQuery,
16
25
  useMembersQuery,
@@ -5,7 +5,10 @@ import { Radio } from '../../../../../../v4/component/core/Radio';
5
5
  import { ElementID, PageID } from '../../../../../../v4/enum';
6
6
  import FormLabel from '../../../../../../v4/elements/FormLabel';
7
7
  import { AmityCommunityPrivacyEnum } from '../../types';
8
- import { public as $public, private as $private } from '../../../../../../v4/assets/icons';
8
+ import {
9
+ public as $public,
10
+ private as $private,
11
+ } from '../../../../../../v4/assets/icons';
9
12
  import { Title } from '../../../../../../v4/elements';
10
13
  import FormDescription from '../../../../../../v4/elements/FormDescription';
11
14
  import CommunityPrivacyIcon from '../../../../../../v4/elements/CommunityPrivacyIcon';
@@ -9,7 +9,10 @@ import {
9
9
 
10
10
  import { isValidImageType } from '../utils';
11
11
  import { useCameraPermission } from './usePermissions';
12
- import { deleteAmityFile, uploadImageFile } from '../../providers/file-provider';
12
+ import {
13
+ deleteAmityFile,
14
+ uploadImageFile,
15
+ } from '../../providers/file-provider';
13
16
 
14
17
  export type UseImagePickerResponse = {
15
18
  progress: number;
@@ -31,6 +31,7 @@ export const BehaviourProvider = ({
31
31
  AmityCommunitySettingPageBehavior: {},
32
32
  AmityCommunityMembershipPageBehavior: {},
33
33
  AmityCommunityNotificationSettingPageBehavior: {},
34
+ AmityPostComposerPageBehavior: {},
34
35
  }),
35
36
  []
36
37
  );
@@ -38,6 +38,9 @@ export interface IBehaviour {
38
38
  goToUserProfilePage?: (arg?: { userId?: string }) => void;
39
39
  goToPostComposerPage?: () => void;
40
40
  };
41
+ AmityPostComposerPageBehavior?: {
42
+ onPressPost?: () => void;
43
+ };
41
44
  AmityCommunitySearchResultComponent?: {
42
45
  goToCommunityProfilePage?: (arg?: {
43
46
  targetId: string;
@@ -100,12 +103,14 @@ export interface IBehaviour {
100
103
  needApprovalOnPostCreation?: boolean;
101
104
  isPublic?: boolean;
102
105
  }) => void;
106
+ onClickClose?: () => void;
103
107
  };
104
108
  AmityStoryTargetSelectionPageBehavior?: {
105
109
  goToStoryComposerPage?: (arg?: {
106
110
  targetId: string;
107
111
  targetType: 'community' | 'user';
108
112
  }) => void;
113
+ onClickClose?: () => void;
109
114
  };
110
115
  AmityLivestreamPostTargetSelectionPageBehavior?: {
111
116
  goToCreateLivestreamPage?: (arg?: {
@@ -123,6 +128,7 @@ export interface IBehaviour {
123
128
  needApprovalOnPostCreation?: boolean;
124
129
  isPublic?: boolean;
125
130
  }) => void;
131
+ onClickClose?: () => void;
126
132
  };
127
133
  AmityCommunityProfilePageBehavior?: {
128
134
  goToPendingPostPage?: () => void;
@@ -140,6 +146,7 @@ export interface IBehaviour {
140
146
  pop?: number;
141
147
  community?: Amity.Community;
142
148
  }) => void;
149
+ onClickClose?: () => void;
143
150
  };
144
151
  AmityCommunitySetupPageBehavior?: {
145
152
  goToAddCategoryPage?: (context: AddCategoryPageContext) => void;