@amityco/react-native-social-uikit 4.0.0-RC.22 → 4.0.0-RC.24

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 (187) hide show
  1. package/lib/commonjs/components/CustomText/index.js +3 -4
  2. package/lib/commonjs/components/CustomText/index.js.map +1 -1
  3. package/lib/commonjs/components/Social/PostList/Components/RenderTextWithMention.js.map +1 -1
  4. package/lib/commonjs/components/StoryKit/src/Story.js +1 -1
  5. package/lib/commonjs/components/StoryKit/src/Story.js.map +1 -1
  6. package/lib/commonjs/components/StoryKit/src/helpers/StateHelpers.js +1 -1
  7. package/lib/commonjs/components/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  8. package/lib/commonjs/redux/slices/bottomSheetSlice.js.map +1 -1
  9. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +3 -6
  10. package/lib/commonjs/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  11. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +3 -1
  12. package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  13. package/lib/commonjs/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js +2 -6
  14. package/lib/commonjs/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js.map +1 -1
  15. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +3 -6
  16. package/lib/commonjs/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  17. package/lib/commonjs/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.js.map +1 -1
  18. package/lib/commonjs/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js +3 -7
  19. package/lib/commonjs/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js.map +1 -1
  20. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +3 -1
  21. package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  22. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +1 -1
  23. package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  24. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +3 -6
  25. package/lib/commonjs/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  26. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js +3 -1
  27. package/lib/commonjs/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js.map +1 -1
  28. package/lib/commonjs/v4/component/CommunityStories/index.js +4 -1
  29. package/lib/commonjs/v4/component/CommunityStories/index.js.map +1 -1
  30. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js +19 -4
  31. package/lib/commonjs/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  32. package/lib/commonjs/v4/component/MyStories/StoryTargetView.js +4 -2
  33. package/lib/commonjs/v4/component/MyStories/StoryTargetView.js.map +1 -1
  34. package/lib/commonjs/v4/component/PostMenu/index.js +3 -8
  35. package/lib/commonjs/v4/component/PostMenu/index.js.map +1 -1
  36. package/lib/commonjs/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  37. package/lib/commonjs/v4/component/StoryKit/src/Story.js +1 -1
  38. package/lib/commonjs/v4/component/StoryKit/src/Story.js.map +1 -1
  39. package/lib/commonjs/v4/component/StoryKit/src/StoryCircleListItem.js +3 -1
  40. package/lib/commonjs/v4/component/StoryKit/src/StoryCircleListItem.js.map +1 -1
  41. package/lib/commonjs/v4/component/StoryKit/src/StoryListItem.js +3 -1
  42. package/lib/commonjs/v4/component/StoryKit/src/StoryListItem.js.map +1 -1
  43. package/lib/commonjs/v4/component/StoryKit/src/helpers/StateHelpers.js +1 -1
  44. package/lib/commonjs/v4/component/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  45. package/lib/commonjs/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.js.map +1 -1
  46. package/lib/commonjs/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.js.map +1 -1
  47. package/lib/commonjs/v4/hook/index.js +4 -4
  48. package/lib/commonjs/v4/hook/index.js.map +1 -1
  49. package/lib/commonjs/v4/hook/isModerator.js +22 -0
  50. package/lib/commonjs/v4/hook/isModerator.js.map +1 -0
  51. package/lib/commonjs/v4/hook/useStoryPermission.js +4 -3
  52. package/lib/commonjs/v4/hook/useStoryPermission.js.map +1 -1
  53. package/lib/commonjs/v4/utils/permissions.js +8 -3
  54. package/lib/commonjs/v4/utils/permissions.js.map +1 -1
  55. package/lib/module/components/CustomText/index.js +3 -4
  56. package/lib/module/components/CustomText/index.js.map +1 -1
  57. package/lib/module/components/Social/PostList/Components/RenderTextWithMention.js.map +1 -1
  58. package/lib/module/components/StoryKit/src/Story.js +1 -1
  59. package/lib/module/components/StoryKit/src/Story.js.map +1 -1
  60. package/lib/module/components/StoryKit/src/helpers/StateHelpers.js +1 -1
  61. package/lib/module/components/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  62. package/lib/module/redux/slices/bottomSheetSlice.js.map +1 -1
  63. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js +4 -7
  64. package/lib/module/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.js.map +1 -1
  65. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +3 -1
  66. package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
  67. package/lib/module/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js +3 -7
  68. package/lib/module/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.js.map +1 -1
  69. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js +4 -7
  70. package/lib/module/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.js.map +1 -1
  71. package/lib/module/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.js.map +1 -1
  72. package/lib/module/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js +4 -9
  73. package/lib/module/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.js.map +1 -1
  74. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +3 -1
  75. package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
  76. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +1 -1
  77. package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
  78. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js +4 -7
  79. package/lib/module/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.js.map +1 -1
  80. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js +3 -1
  81. package/lib/module/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.js.map +1 -1
  82. package/lib/module/v4/component/CommunityStories/index.js +4 -1
  83. package/lib/module/v4/component/CommunityStories/index.js.map +1 -1
  84. package/lib/module/v4/component/MyStories/StoryCircleItem.js +19 -4
  85. package/lib/module/v4/component/MyStories/StoryCircleItem.js.map +1 -1
  86. package/lib/module/v4/component/MyStories/StoryTargetView.js +4 -2
  87. package/lib/module/v4/component/MyStories/StoryTargetView.js.map +1 -1
  88. package/lib/module/v4/component/PostMenu/index.js +4 -9
  89. package/lib/module/v4/component/PostMenu/index.js.map +1 -1
  90. package/lib/module/v4/component/RenderTextWithMention/RenderTextWithMention.js.map +1 -1
  91. package/lib/module/v4/component/StoryKit/src/Story.js +1 -1
  92. package/lib/module/v4/component/StoryKit/src/Story.js.map +1 -1
  93. package/lib/module/v4/component/StoryKit/src/StoryCircleListItem.js +3 -1
  94. package/lib/module/v4/component/StoryKit/src/StoryCircleListItem.js.map +1 -1
  95. package/lib/module/v4/component/StoryKit/src/StoryListItem.js +3 -1
  96. package/lib/module/v4/component/StoryKit/src/StoryListItem.js.map +1 -1
  97. package/lib/module/v4/component/StoryKit/src/helpers/StateHelpers.js +1 -1
  98. package/lib/module/v4/component/StoryKit/src/helpers/StateHelpers.js.map +1 -1
  99. package/lib/module/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.js.map +1 -1
  100. package/lib/module/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.js.map +1 -1
  101. package/lib/module/v4/hook/index.js +1 -1
  102. package/lib/module/v4/hook/index.js.map +1 -1
  103. package/lib/module/v4/hook/isModerator.js +15 -0
  104. package/lib/module/v4/hook/isModerator.js.map +1 -0
  105. package/lib/module/v4/hook/useStoryPermission.js +5 -4
  106. package/lib/module/v4/hook/useStoryPermission.js.map +1 -1
  107. package/lib/module/v4/utils/permissions.js +8 -3
  108. package/lib/module/v4/utils/permissions.js.map +1 -1
  109. package/lib/typescript/src/components/CustomText/index.d.ts.map +1 -1
  110. package/lib/typescript/src/components/StoryKit/src/Story.d.ts.map +1 -1
  111. package/lib/typescript/src/components/StoryKit/src/helpers/StateHelpers.d.ts +1 -1
  112. package/lib/typescript/src/components/StoryKit/src/helpers/StateHelpers.d.ts.map +1 -1
  113. package/lib/typescript/src/redux/slices/bottomSheetSlice.d.ts +4 -3
  114. package/lib/typescript/src/redux/slices/bottomSheetSlice.d.ts.map +1 -1
  115. package/lib/typescript/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.d.ts.map +1 -1
  116. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts +1 -1
  117. package/lib/typescript/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.d.ts.map +1 -1
  118. package/lib/typescript/src/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.d.ts.map +1 -1
  119. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts +1 -1
  120. package/lib/typescript/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.d.ts.map +1 -1
  121. package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
  122. package/lib/typescript/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.d.ts +2 -1
  123. package/lib/typescript/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.d.ts.map +1 -1
  124. package/lib/typescript/src/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.d.ts.map +1 -1
  125. package/lib/typescript/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.d.ts.map +1 -1
  126. package/lib/typescript/src/v4/component/CommunityStories/index.d.ts.map +1 -1
  127. package/lib/typescript/src/v4/component/MyStories/StoryCircleItem.d.ts.map +1 -1
  128. package/lib/typescript/src/v4/component/MyStories/StoryTargetView.d.ts.map +1 -1
  129. package/lib/typescript/src/v4/component/PostMenu/index.d.ts.map +1 -1
  130. package/lib/typescript/src/v4/component/RenderTextWithMention/RenderTextWithMention.d.ts.map +1 -1
  131. package/lib/typescript/src/v4/component/StoryKit/src/Story.d.ts.map +1 -1
  132. package/lib/typescript/src/v4/component/StoryKit/src/helpers/StateHelpers.d.ts +1 -1
  133. package/lib/typescript/src/v4/component/StoryKit/src/helpers/StateHelpers.d.ts.map +1 -1
  134. package/lib/typescript/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.d.ts +2 -1
  135. package/lib/typescript/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.d.ts.map +1 -1
  136. package/lib/typescript/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.d.ts +2 -1
  137. package/lib/typescript/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.d.ts.map +1 -1
  138. package/lib/typescript/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.d.ts +2 -2
  139. package/lib/typescript/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.d.ts.map +1 -1
  140. package/lib/typescript/src/v4/hook/index.d.ts +1 -1
  141. package/lib/typescript/src/v4/hook/index.d.ts.map +1 -1
  142. package/lib/typescript/src/v4/hook/isModerator.d.ts +2 -0
  143. package/lib/typescript/src/v4/hook/isModerator.d.ts.map +1 -0
  144. package/lib/typescript/src/v4/hook/useStoryPermission.d.ts +3 -1
  145. package/lib/typescript/src/v4/hook/useStoryPermission.d.ts.map +1 -1
  146. package/lib/typescript/src/v4/utils/permissions.d.ts +1 -1
  147. package/lib/typescript/src/v4/utils/permissions.d.ts.map +1 -1
  148. package/package.json +1 -1
  149. package/src/components/CustomText/index.tsx +6 -5
  150. package/src/components/Social/PostList/Components/RenderTextWithMention.tsx +1 -1
  151. package/src/components/StoryKit/src/Story.tsx +3 -1
  152. package/src/components/StoryKit/src/helpers/StateHelpers.ts +2 -2
  153. package/src/redux/slices/bottomSheetSlice.ts +3 -2
  154. package/src/v4/PublicApi/Components/AmityCommunityHeaderComponent/AmityCommunityHeaderComponent.tsx +4 -9
  155. package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx +2 -2
  156. package/src/v4/PublicApi/Components/AmityPendingPostListComponent/AmityPendingPostListComponent.tsx +3 -5
  157. package/src/v4/PublicApi/Components/AmityPostCommentComponent/AmityPostCommentComponent.tsx +1 -1
  158. package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +4 -5
  159. package/src/v4/PublicApi/Components/AmityThumbnailActionComponent/AmityThumbnailActionComponent.tsx +1 -1
  160. package/src/v4/PublicApi/Elements/ModeratorBadgeElement/ModeratorBadgeElement.tsx +4 -7
  161. package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +1 -1
  162. package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.tsx +1 -1
  163. package/src/v4/PublicApi/Pages/AmityPostComposerPage/AmityPostComposerPage.tsx +4 -5
  164. package/src/v4/PublicApi/Pages/AmityViewStoryPage/AmityViewStoryPage.tsx +1 -1
  165. package/src/v4/component/CommunityStories/index.tsx +3 -1
  166. package/src/v4/component/MyStories/StoryCircleItem.tsx +17 -4
  167. package/src/v4/component/MyStories/StoryTargetView.tsx +4 -2
  168. package/src/v4/component/PostMenu/index.tsx +6 -8
  169. package/src/v4/component/RenderTextWithMention/RenderTextWithMention.tsx +3 -4
  170. package/src/v4/component/StoryKit/src/Story.tsx +3 -1
  171. package/src/v4/component/StoryKit/src/StoryCircleListItem.tsx +1 -1
  172. package/src/v4/component/StoryKit/src/StoryListItem.tsx +1 -1
  173. package/src/v4/component/StoryKit/src/helpers/StateHelpers.ts +2 -2
  174. package/src/v4/elements/ChangeThumbnailButton/ChangeThumbnailButton.tsx +1 -1
  175. package/src/v4/elements/DeleteThumbnailButton/DeleteThumbnailButton.tsx +1 -1
  176. package/src/v4/features/community/Setting/elements/CloseCommunityDescription/CloseCommunityDescription.tsx +2 -2
  177. package/src/v4/hook/index.ts +1 -1
  178. package/src/v4/hook/isModerator.ts +19 -0
  179. package/src/v4/hook/useStoryPermission.ts +2 -8
  180. package/src/v4/utils/permissions.ts +13 -8
  181. package/lib/commonjs/v4/hook/useIsCommunityModerator.js +0 -43
  182. package/lib/commonjs/v4/hook/useIsCommunityModerator.js.map +0 -1
  183. package/lib/module/v4/hook/useIsCommunityModerator.js +0 -36
  184. package/lib/module/v4/hook/useIsCommunityModerator.js.map +0 -1
  185. package/lib/typescript/src/v4/hook/useIsCommunityModerator.d.ts +0 -7
  186. package/lib/typescript/src/v4/hook/useIsCommunityModerator.d.ts.map +0 -1
  187. package/src/v4/hook/useIsCommunityModerator.ts +0 -35
@@ -88,8 +88,8 @@ const RenderTextWithMention: React.FC<IrenderTextWithMention> = ({
88
88
  }
89
89
 
90
90
  let currentPosition = 0;
91
- const result: (string | JSX.Element)[][] = heightlightTextPositions.map(
92
- ({ index, length, userId, link }, i) => {
91
+ const result: (string | React.ReactElement)[][] =
92
+ heightlightTextPositions.map(({ index, length, userId, link }, i) => {
93
93
  // Add non-highlighted text before the mention
94
94
  const nonHighlightedText = textPost.slice(currentPosition, index);
95
95
  // Add highlighted text
@@ -109,8 +109,7 @@ const RenderTextWithMention: React.FC<IrenderTextWithMention> = ({
109
109
 
110
110
  // Return an array of non-highlighted and highlighted text
111
111
  return [nonHighlightedText, highlightedText];
112
- }
113
- );
112
+ });
114
113
 
115
114
  // Add any remaining non-highlighted text after the mentions
116
115
  const remainingText = textPost.slice(currentPosition);
@@ -22,7 +22,9 @@ export const Story = ({
22
22
  const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
23
23
  const [currentPage, setCurrentPage] = useState<number>(0);
24
24
  const [selectedData, setSelectedData] = useState<IUserStory[]>([]);
25
- const cube = useRef<CubeNavigationHorizontal | AndroidCubeEffect>();
25
+ const cube = useRef<CubeNavigationHorizontal | AndroidCubeEffect | null>(
26
+ null
27
+ );
26
28
  // Component Functions
27
29
  const _handleStoryItemPress = (item: IUserStory, index?: number) => {
28
30
  if (item?.stories?.length === 0) return;
@@ -25,7 +25,7 @@ const StoryCircleListItem = ({
25
25
  const styles = useStyles();
26
26
  const [, setIsPressed] = useState(item?.seen);
27
27
  const prevSeen = usePrevious(item?.seen);
28
- const hasStoryPermission = useStoryPermission(item.user_id);
28
+ const { hasStoryPermission } = useStoryPermission(item.user_id);
29
29
  const { getUiKitConfig } = useConfig();
30
30
  const storyRingColor: string[] = item?.seen
31
31
  ? ['#e2e2e2', '#e2e2e2']
@@ -61,7 +61,7 @@ export const StoryListItem = ({
61
61
  isModerator,
62
62
  }: StoryListItemProps) => {
63
63
  const styles = useStyles();
64
- const hasStoryPermission = useStoryPermission(userId);
64
+ const { hasStoryPermission } = useStoryPermission(userId);
65
65
  const { getUiKitConfig } = useConfig();
66
66
  const storyReactionBgColor =
67
67
  (getUiKitConfig({
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useRef } from 'react';
2
2
 
3
- export function usePrevious(value: any) {
4
- const ref = useRef();
3
+ export function usePrevious<T>(value: T): T | undefined {
4
+ const ref = useRef<T | undefined>(undefined);
5
5
  useEffect(() => {
6
6
  ref.current = value;
7
7
  });
@@ -16,7 +16,7 @@ const ChangeThumbnailButton = ({
16
16
  pageId = PageID.WildCardPage,
17
17
  componentId = ComponentID.WildCardComponent,
18
18
  ...props
19
- }: ChangeThumbnailButtonProps): JSX.Element => {
19
+ }: ChangeThumbnailButtonProps): React.ReactElement => {
20
20
  const { themeStyles, config } = useAmityElement({
21
21
  pageId,
22
22
  componentId,
@@ -16,7 +16,7 @@ const ChangeThumbnailButton = ({
16
16
  pageId = PageID.WildCardPage,
17
17
  componentId = ComponentID.WildCardComponent,
18
18
  ...props
19
- }: ChangeThumbnailButtonProps): JSX.Element => {
19
+ }: ChangeThumbnailButtonProps): React.ReactElement => {
20
20
  const { themeStyles, config } = useAmityElement({
21
21
  pageId,
22
22
  componentId,
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import { TouchableOpacityProps } from 'react-native';
2
+ import { TextProps } from 'react-native';
3
3
  import { useAmityElement } from '../../../../../../v4/hook';
4
4
  import { ComponentID, ElementID, PageID } from '../../../../../../v4/enum';
5
5
  import { useStyles } from './styles';
6
6
  import { Typography } from '../../../../../../v4/component/Typography/Typography';
7
7
 
8
- type CloseCommunityDescriptionProps = TouchableOpacityProps & {
8
+ type CloseCommunityDescriptionProps = TextProps & {
9
9
  pageId?: PageID;
10
10
  componentId?: ComponentID;
11
11
  elementId?: ElementID;
@@ -14,7 +14,7 @@ export * from './useCommunities';
14
14
  export * from './useCommunity';
15
15
  export * from './useCategory';
16
16
  export * from './useUiKitReference';
17
- export * from './useIsCommunityModerator';
17
+ export * from './isModerator';
18
18
  export * from './useSearch';
19
19
  export * from './useTimeDifference';
20
20
  export * from './useReaction';
@@ -0,0 +1,19 @@
1
+ import { MemberRoles } from '../constants';
2
+
3
+ const { COMMUNITY_MODERATOR, CHANNEL_MODERATOR, MODERATOR, SUPER_MODERATOR } =
4
+ MemberRoles;
5
+
6
+ export const isModerator = (userRoles?: string[]) => {
7
+ if (!userRoles?.length) {
8
+ return false;
9
+ }
10
+
11
+ const roles: string[] = [
12
+ COMMUNITY_MODERATOR,
13
+ CHANNEL_MODERATOR,
14
+ MODERATOR,
15
+ SUPER_MODERATOR,
16
+ ];
17
+
18
+ return userRoles.some((role) => roles.includes(role));
19
+ };
@@ -1,11 +1,7 @@
1
1
  import useAuth from '../../hooks/useAuth';
2
2
  import { useUser } from './useUser';
3
3
  import useSocialSettings from '../core/hooks/useSocialSettings';
4
- import {
5
- isAdmin,
6
- isModerator,
7
- checkStoryPermission,
8
- } from '../utils/permissions';
4
+ import { checkStoryPermission, isAdmin } from '../utils/permissions';
9
5
 
10
6
  export function useStoryPermission(communityId?: string) {
11
7
  const { client } = useAuth();
@@ -13,14 +9,12 @@ export function useStoryPermission(communityId?: string) {
13
9
  const user = useUser(client?.userId || '');
14
10
 
15
11
  const isGlobalAdmin = isAdmin(user?.roles);
16
- const isModeratorUser = isModerator(user?.roles);
17
12
 
18
13
  const hasStoryPermission = !communityId
19
14
  ? socialSettings?.story?.allowAllUserToCreateStory
20
15
  : socialSettings?.story?.allowAllUserToCreateStory ||
21
16
  isGlobalAdmin ||
22
- isModeratorUser ||
23
17
  checkStoryPermission(client, communityId);
24
18
 
25
- return hasStoryPermission;
19
+ return { hasStoryPermission };
26
20
  }
@@ -49,14 +49,19 @@ export const isAdmin = (roles: string[] = []) => {
49
49
  };
50
50
 
51
51
  export const checkStoryPermission = (
52
- client: Amity.Client,
53
- communityId: string
54
- ) => {
55
- if (!client || !communityId) return false;
52
+ client: Amity.Client | null | undefined,
53
+ communityId?: string
54
+ ): boolean => {
55
+ if (!client) {
56
+ return false;
57
+ }
56
58
 
57
- const communityPermission = client
58
- .hasPermission(Permissions.ManageStoryPermission)
59
- .community(communityId);
59
+ if (communityId) {
60
+ const communityPermission = client
61
+ .hasPermission(Permissions.ManageStoryPermission)
62
+ .community(communityId);
63
+ return communityPermission;
64
+ }
60
65
 
61
- return !!communityPermission;
66
+ return false;
62
67
  };
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useIsCommunityModerator = void 0;
7
- var _tsSdkReactNative = require("@amityco/ts-sdk-react-native");
8
- var _permission = require("../../util/permission");
9
- var _react = require("react");
10
- const useIsCommunityModerator = ({
11
- userId,
12
- communityId
13
- }) => {
14
- const [isCommunityModerator, setisCommunityModerator] = (0, _react.useState)(false);
15
- (0, _react.useEffect)(() => {
16
- if (!userId || !communityId) return setisCommunityModerator(false);
17
- const unsub = _tsSdkReactNative.CommunityRepository.Membership.searchMembers({
18
- communityId: communityId,
19
- search: userId,
20
- limit: 1,
21
- sortBy: 'firstCreated',
22
- memberships: ['member']
23
- }, async ({
24
- error,
25
- loading,
26
- data
27
- }) => {
28
- if (error) return setisCommunityModerator(false);
29
- if (!loading) {
30
- var _data$;
31
- const userRoles = ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.roles) ?? [];
32
- return setisCommunityModerator(() => (0, _permission.isModerator)(userRoles));
33
- }
34
- return setisCommunityModerator(false);
35
- });
36
- return () => unsub();
37
- }, [communityId, userId]);
38
- return {
39
- isCommunityModerator: isCommunityModerator
40
- };
41
- };
42
- exports.useIsCommunityModerator = useIsCommunityModerator;
43
- //# sourceMappingURL=useIsCommunityModerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_tsSdkReactNative","require","_permission","_react","useIsCommunityModerator","userId","communityId","isCommunityModerator","setisCommunityModerator","useState","useEffect","unsub","CommunityRepository","Membership","searchMembers","search","limit","sortBy","memberships","error","loading","data","_data$","userRoles","roles","isModerator","exports"],"sourceRoot":"../../../../src","sources":["v4/hook/useIsCommunityModerator.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEO,MAAMG,uBAAuB,GAAGA,CAAC;EACtCC,MAAM;EACNC;AAIF,CAAC,KAAK;EACJ,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvE,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACL,MAAM,IAAI,CAACC,WAAW,EAAE,OAAOE,uBAAuB,CAAC,KAAK,CAAC;IAClE,MAAMG,KAAK,GAAGC,qCAAmB,CAACC,UAAU,CAACC,aAAa,CACxD;MACER,WAAW,EAAEA,WAAW;MACxBS,MAAM,EAAEV,MAAM;MACdW,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,cAAc;MACtBC,WAAW,EAAE,CAAC,QAAQ;IACxB,CAAC,EACD,OAAO;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAK,CAAC,KAAK;MAClC,IAAIF,KAAK,EAAE,OAAOX,uBAAuB,CAAC,KAAK,CAAC;MAChD,IAAI,CAACY,OAAO,EAAE;QAAA,IAAAE,MAAA;QACZ,MAAMC,SAAS,GAAG,EAAAD,MAAA,GAAAD,IAAI,CAAC,CAAC,CAAC,cAAAC,MAAA,uBAAPA,MAAA,CAASE,KAAK,KAAI,EAAE;QACtC,OAAOhB,uBAAuB,CAAC,MAAM,IAAAiB,uBAAW,EAACF,SAAS,CAAC,CAAC;MAC9D;MACA,OAAOf,uBAAuB,CAAC,KAAK,CAAC;IACvC,CACF,CAAC;IACD,OAAO,MAAMG,KAAK,CAAC,CAAC;EACtB,CAAC,EAAE,CAACL,WAAW,EAAED,MAAM,CAAC,CAAC;EACzB,OAAO;IAAEE,oBAAoB,EAAEA;EAAqB,CAAC;AACvD,CAAC;AAACmB,OAAA,CAAAtB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,36 +0,0 @@
1
- import { CommunityRepository } from '@amityco/ts-sdk-react-native';
2
- import { isModerator } from '../../util/permission';
3
- import { useEffect, useState } from 'react';
4
- export const useIsCommunityModerator = ({
5
- userId,
6
- communityId
7
- }) => {
8
- const [isCommunityModerator, setisCommunityModerator] = useState(false);
9
- useEffect(() => {
10
- if (!userId || !communityId) return setisCommunityModerator(false);
11
- const unsub = CommunityRepository.Membership.searchMembers({
12
- communityId: communityId,
13
- search: userId,
14
- limit: 1,
15
- sortBy: 'firstCreated',
16
- memberships: ['member']
17
- }, async ({
18
- error,
19
- loading,
20
- data
21
- }) => {
22
- if (error) return setisCommunityModerator(false);
23
- if (!loading) {
24
- var _data$;
25
- const userRoles = ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.roles) ?? [];
26
- return setisCommunityModerator(() => isModerator(userRoles));
27
- }
28
- return setisCommunityModerator(false);
29
- });
30
- return () => unsub();
31
- }, [communityId, userId]);
32
- return {
33
- isCommunityModerator: isCommunityModerator
34
- };
35
- };
36
- //# sourceMappingURL=useIsCommunityModerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CommunityRepository","isModerator","useEffect","useState","useIsCommunityModerator","userId","communityId","isCommunityModerator","setisCommunityModerator","unsub","Membership","searchMembers","search","limit","sortBy","memberships","error","loading","data","_data$","userRoles","roles"],"sourceRoot":"../../../../src","sources":["v4/hook/useIsCommunityModerator.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,8BAA8B;AAClE,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAO,MAAMC,uBAAuB,GAAGA,CAAC;EACtCC,MAAM;EACNC;AAIF,CAAC,KAAK;EACJ,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGL,QAAQ,CAAC,KAAK,CAAC;EACvED,SAAS,CAAC,MAAM;IACd,IAAI,CAACG,MAAM,IAAI,CAACC,WAAW,EAAE,OAAOE,uBAAuB,CAAC,KAAK,CAAC;IAClE,MAAMC,KAAK,GAAGT,mBAAmB,CAACU,UAAU,CAACC,aAAa,CACxD;MACEL,WAAW,EAAEA,WAAW;MACxBM,MAAM,EAAEP,MAAM;MACdQ,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,cAAc;MACtBC,WAAW,EAAE,CAAC,QAAQ;IACxB,CAAC,EACD,OAAO;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAK,CAAC,KAAK;MAClC,IAAIF,KAAK,EAAE,OAAOR,uBAAuB,CAAC,KAAK,CAAC;MAChD,IAAI,CAACS,OAAO,EAAE;QAAA,IAAAE,MAAA;QACZ,MAAMC,SAAS,GAAG,EAAAD,MAAA,GAAAD,IAAI,CAAC,CAAC,CAAC,cAAAC,MAAA,uBAAPA,MAAA,CAASE,KAAK,KAAI,EAAE;QACtC,OAAOb,uBAAuB,CAAC,MAAMP,WAAW,CAACmB,SAAS,CAAC,CAAC;MAC9D;MACA,OAAOZ,uBAAuB,CAAC,KAAK,CAAC;IACvC,CACF,CAAC;IACD,OAAO,MAAMC,KAAK,CAAC,CAAC;EACtB,CAAC,EAAE,CAACH,WAAW,EAAED,MAAM,CAAC,CAAC;EACzB,OAAO;IAAEE,oBAAoB,EAAEA;EAAqB,CAAC;AACvD,CAAC","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- export declare const useIsCommunityModerator: ({ userId, communityId, }: {
2
- userId: string;
3
- communityId: string;
4
- }) => {
5
- isCommunityModerator: boolean;
6
- };
7
- //# sourceMappingURL=useIsCommunityModerator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsCommunityModerator.d.ts","sourceRoot":"","sources":["../../../../../src/v4/hook/useIsCommunityModerator.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,GAAI,0BAGrC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;;CAwBA,CAAC"}
@@ -1,35 +0,0 @@
1
- import { CommunityRepository } from '@amityco/ts-sdk-react-native';
2
- import { isModerator } from '../../util/permission';
3
- import { useEffect, useState } from 'react';
4
-
5
- export const useIsCommunityModerator = ({
6
- userId,
7
- communityId,
8
- }: {
9
- userId: string;
10
- communityId: string;
11
- }) => {
12
- const [isCommunityModerator, setisCommunityModerator] = useState(false);
13
- useEffect(() => {
14
- if (!userId || !communityId) return setisCommunityModerator(false);
15
- const unsub = CommunityRepository.Membership.searchMembers(
16
- {
17
- communityId: communityId,
18
- search: userId,
19
- limit: 1,
20
- sortBy: 'firstCreated',
21
- memberships: ['member'],
22
- },
23
- async ({ error, loading, data }) => {
24
- if (error) return setisCommunityModerator(false);
25
- if (!loading) {
26
- const userRoles = data[0]?.roles ?? [];
27
- return setisCommunityModerator(() => isModerator(userRoles));
28
- }
29
- return setisCommunityModerator(false);
30
- }
31
- );
32
- return () => unsub();
33
- }, [communityId, userId]);
34
- return { isCommunityModerator: isCommunityModerator };
35
- };