@amityco/react-native-social-uikit 4.0.0-b295c41.0 → 4.0.0-c2327e7.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.
- package/lib/commonjs/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js +1 -1
- package/lib/commonjs/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js.map +1 -1
- package/lib/commonjs/components/MediaSection/index.js +3 -3
- package/lib/commonjs/components/MediaSection/index.js.map +1 -1
- package/lib/commonjs/components/PostTypeChoiceModal/PostTypeChoiceModal.js +14 -5
- package/lib/commonjs/components/PostTypeChoiceModal/PostTypeChoiceModal.js.map +1 -1
- package/lib/commonjs/components/PostTypeChoiceModal/style.js +1 -2
- package/lib/commonjs/components/PostTypeChoiceModal/style.js.map +1 -1
- package/lib/commonjs/components/Social/PostList/index.js +1 -3
- package/lib/commonjs/components/Social/PostList/index.js.map +1 -1
- package/lib/commonjs/index.js +6 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/screens/CreateLivestream/CreateLivestream.js +16 -16
- package/lib/commonjs/screens/CreateLivestream/CreateLivestream.js.map +1 -1
- package/lib/commonjs/screens/LivestreamPlayer/index.js +3 -6
- package/lib/commonjs/screens/LivestreamPlayer/index.js.map +1 -1
- package/lib/commonjs/svg/svg-xml-list.js +1 -1
- package/lib/commonjs/util/postTypeChecker.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +11 -9
- package/lib/commonjs/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Elements/ButtonWithIconElement/styles.js +3 -2
- package/lib/commonjs/v4/PublicApi/Elements/ButtonWithIconElement/styles.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +28 -25
- package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js +2 -2
- package/lib/commonjs/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +206 -68
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js +50 -0
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js.map +1 -0
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js +71 -3
- package/lib/commonjs/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +120 -117
- package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
- package/lib/commonjs/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
- package/lib/commonjs/v4/component/LivestreamContent/index.js +12 -12
- package/lib/commonjs/v4/component/LivestreamContent/index.js.map +1 -1
- package/lib/commonjs/v4/component/PostContent/index.js +4 -4
- package/lib/commonjs/v4/component/PostContent/index.js.map +1 -1
- package/lib/commonjs/v4/component/PostMenu/index.js +2 -2
- package/lib/commonjs/v4/component/PostMenu/index.js.map +1 -1
- package/lib/commonjs/v4/component/Toast/index.js +4 -4
- package/lib/commonjs/v4/component/Toast/index.js.map +1 -1
- package/lib/commonjs/v4/component/Toast/styles.js +2 -2
- package/lib/commonjs/v4/component/Toast/styles.js.map +1 -1
- package/lib/commonjs/v4/enum/roomStatus.js +14 -0
- package/lib/commonjs/v4/enum/roomStatus.js.map +1 -0
- package/lib/commonjs/v4/hook/index.js +22 -0
- package/lib/commonjs/v4/hook/index.js.map +1 -1
- package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js +1 -3
- package/lib/commonjs/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
- package/lib/commonjs/v4/hook/usePostSubscription.js +38 -0
- package/lib/commonjs/v4/hook/usePostSubscription.js.map +1 -0
- package/lib/commonjs/v4/hook/useRoomSubscription.js +22 -0
- package/lib/commonjs/v4/hook/useRoomSubscription.js.map +1 -0
- package/lib/commonjs/v4/index.js +7 -0
- package/lib/commonjs/v4/index.js.map +1 -1
- package/lib/commonjs/v4/stores/slices/toast.js +4 -1
- package/lib/commonjs/v4/stores/slices/toast.js.map +1 -1
- package/lib/module/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js +1 -1
- package/lib/module/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.js.map +1 -1
- package/lib/module/components/MediaSection/index.js +3 -3
- package/lib/module/components/MediaSection/index.js.map +1 -1
- package/lib/module/components/PostTypeChoiceModal/PostTypeChoiceModal.js +15 -8
- package/lib/module/components/PostTypeChoiceModal/PostTypeChoiceModal.js.map +1 -1
- package/lib/module/components/PostTypeChoiceModal/style.js +1 -2
- package/lib/module/components/PostTypeChoiceModal/style.js.map +1 -1
- package/lib/module/components/Social/PostList/index.js +1 -3
- package/lib/module/components/Social/PostList/index.js.map +1 -1
- package/lib/module/index.js +2 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/CreateLivestream/CreateLivestream.js +17 -17
- package/lib/module/screens/CreateLivestream/CreateLivestream.js.map +1 -1
- package/lib/module/screens/LivestreamPlayer/index.js +4 -8
- package/lib/module/screens/LivestreamPlayer/index.js.map +1 -1
- package/lib/module/svg/svg-xml-list.js +1 -1
- package/lib/module/util/postTypeChecker.js.map +1 -1
- package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js +11 -9
- package/lib/module/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.js.map +1 -1
- package/lib/module/v4/PublicApi/Elements/ButtonWithIconElement/styles.js +3 -2
- package/lib/module/v4/PublicApi/Elements/ButtonWithIconElement/styles.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js +29 -26
- package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js +2 -2
- package/lib/module/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js +211 -72
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js +42 -0
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.js.map +1 -0
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js +71 -3
- package/lib/module/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js +123 -120
- package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.js.map +1 -1
- package/lib/module/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.js.map +1 -1
- package/lib/module/v4/component/LivestreamContent/index.js +13 -13
- package/lib/module/v4/component/LivestreamContent/index.js.map +1 -1
- package/lib/module/v4/component/PostContent/index.js +4 -4
- package/lib/module/v4/component/PostContent/index.js.map +1 -1
- package/lib/module/v4/component/PostMenu/index.js +2 -2
- package/lib/module/v4/component/PostMenu/index.js.map +1 -1
- package/lib/module/v4/component/Toast/index.js +4 -4
- package/lib/module/v4/component/Toast/index.js.map +1 -1
- package/lib/module/v4/component/Toast/styles.js +2 -2
- package/lib/module/v4/component/Toast/styles.js.map +1 -1
- package/lib/module/v4/enum/roomStatus.js +8 -0
- package/lib/module/v4/enum/roomStatus.js.map +1 -0
- package/lib/module/v4/hook/index.js +2 -0
- package/lib/module/v4/hook/index.js.map +1 -1
- package/lib/module/v4/hook/useCustomRankingGlobalFeed.js +1 -3
- package/lib/module/v4/hook/useCustomRankingGlobalFeed.js.map +1 -1
- package/lib/module/v4/hook/usePostSubscription.js +31 -0
- package/lib/module/v4/hook/usePostSubscription.js.map +1 -0
- package/lib/module/v4/hook/useRoomSubscription.js +15 -0
- package/lib/module/v4/hook/useRoomSubscription.js.map +1 -0
- package/lib/module/v4/index.js +1 -1
- package/lib/module/v4/index.js.map +1 -1
- package/lib/module/v4/stores/slices/toast.js +4 -1
- package/lib/module/v4/stores/slices/toast.js.map +1 -1
- package/lib/typescript/src/components/MediaSection/index.d.ts.map +1 -1
- package/lib/typescript/src/components/PostTypeChoiceModal/style.d.ts +1 -2
- package/lib/typescript/src/components/PostTypeChoiceModal/style.d.ts.map +1 -1
- package/lib/typescript/src/components/Social/PostList/index.d.ts +1 -3
- package/lib/typescript/src/components/Social/PostList/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/LivestreamPlayer/index.d.ts.map +1 -1
- package/lib/typescript/src/util/postTypeChecker.d.ts +1 -1
- package/lib/typescript/src/util/postTypeChecker.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts +1 -3
- package/lib/typescript/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.d.ts +1 -0
- package/lib/typescript/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.d.ts +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.d.ts +8 -0
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.d.ts.map +1 -0
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.d.ts +70 -2
- package/lib/typescript/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.d.ts.map +1 -1
- package/lib/typescript/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.d.ts.map +1 -1
- package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts +1 -1
- package/lib/typescript/src/v4/component/LivestreamContent/index.d.ts.map +1 -1
- package/lib/typescript/src/v4/component/PostContent/index.d.ts.map +1 -1
- package/lib/typescript/src/v4/component/Toast/styles.d.ts +1 -1
- package/lib/typescript/src/v4/component/Toast/styles.d.ts.map +1 -1
- package/lib/typescript/src/v4/enum/roomStatus.d.ts +8 -0
- package/lib/typescript/src/v4/enum/roomStatus.d.ts.map +1 -0
- package/lib/typescript/src/v4/hook/index.d.ts +2 -0
- package/lib/typescript/src/v4/hook/index.d.ts.map +1 -1
- package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts +3 -0
- package/lib/typescript/src/v4/hook/usePendingPostQuery.d.ts.map +1 -1
- package/lib/typescript/src/v4/hook/usePostSubscription.d.ts +4 -0
- package/lib/typescript/src/v4/hook/usePostSubscription.d.ts.map +1 -0
- package/lib/typescript/src/v4/hook/useRoomSubscription.d.ts +4 -0
- package/lib/typescript/src/v4/hook/useRoomSubscription.d.ts.map +1 -0
- package/lib/typescript/src/v4/index.d.ts +1 -0
- package/lib/typescript/src/v4/index.d.ts.map +1 -1
- package/lib/typescript/src/v4/routes/RouteParamList.d.ts +1 -1
- package/lib/typescript/src/v4/routes/RouteParamList.d.ts.map +1 -1
- package/lib/typescript/src/v4/stores/slices/toast.d.ts +1 -0
- package/lib/typescript/src/v4/stores/slices/toast.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/components/CreatePostChooseTargetModal/CreatePostChooseTargetModal.tsx +1 -1
- package/src/components/MediaSection/index.tsx +4 -6
- package/src/components/PostTypeChoiceModal/PostTypeChoiceModal.tsx +15 -15
- package/src/components/PostTypeChoiceModal/style.ts +1 -2
- package/src/components/Social/PostList/index.tsx +1 -4
- package/src/index.tsx +2 -2
- package/src/screens/CreateLivestream/CreateLivestream.tsx +17 -17
- package/src/screens/LivestreamPlayer/index.tsx +9 -15
- package/src/svg/svg-xml-list.ts +1 -1
- package/src/util/postTypeChecker.ts +1 -1
- package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx +10 -10
- package/src/v4/PublicApi/Components/AmityPostContentComponent/AmityPostContentComponent.tsx +1 -1
- package/src/v4/PublicApi/Elements/ButtonWithIconElement/styles.ts +3 -2
- package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/AmityCommunityProfilePage.tsx +24 -25
- package/src/v4/PublicApi/Pages/AmityCommunityProfilePage/styles.ts +2 -2
- package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/AmityCreateLivestreamPage.tsx +241 -89
- package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/RoomView.tsx +48 -0
- package/src/v4/PublicApi/Pages/AmityCreateLivestreamPage/styles.ts +72 -3
- package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/AmityLivestreamPlayerPage.tsx +135 -148
- package/src/v4/PublicApi/Pages/AmityLivestreamPlayerPage/styles.ts +1 -0
- package/src/v4/component/LivestreamContent/index.tsx +21 -22
- package/src/v4/component/PostContent/index.tsx +6 -8
- package/src/v4/component/PostMenu/index.tsx +2 -2
- package/src/v4/component/Toast/index.tsx +1 -1
- package/src/v4/component/Toast/styles.ts +2 -2
- package/src/v4/enum/roomStatus.ts +7 -0
- package/src/v4/hook/index.ts +2 -0
- package/src/v4/hook/useCustomRankingGlobalFeed.ts +1 -1
- package/src/v4/hook/usePostSubscription.ts +34 -0
- package/src/v4/hook/useRoomSubscription.ts +19 -0
- package/src/v4/index.tsx +1 -1
- package/src/v4/routes/RouteParamList.tsx +1 -1
- package/src/v4/stores/slices/toast.ts +5 -0
- package/uikit.config.json +1 -1
- package/lib/commonjs/v4/enum/livestreamStatus.js +0 -13
- package/lib/commonjs/v4/enum/livestreamStatus.js.map +0 -1
- package/lib/module/v4/enum/livestreamStatus.js +0 -7
- package/lib/module/v4/enum/livestreamStatus.js.map +0 -1
- package/lib/typescript/src/v4/enum/livestreamStatus.d.ts +0 -7
- package/lib/typescript/src/v4/enum/livestreamStatus.d.ts.map +0 -1
- package/src/v4/enum/livestreamStatus.ts +0 -6
|
@@ -67,7 +67,7 @@ export interface IPost {
|
|
|
67
67
|
export interface IPostList {
|
|
68
68
|
onDelete?: (postId: string) => void;
|
|
69
69
|
onChange?: (postDetail: Amity.Post<any>) => void;
|
|
70
|
-
postDetail: Amity.Post<any
|
|
70
|
+
postDetail: Amity.Post<any>;
|
|
71
71
|
postIndex?: number;
|
|
72
72
|
isGlobalfeed?: boolean;
|
|
73
73
|
}
|
|
@@ -124,7 +124,6 @@ export default function PostList({
|
|
|
124
124
|
children: childrenPosts = [],
|
|
125
125
|
editedAt,
|
|
126
126
|
metadata,
|
|
127
|
-
structureType,
|
|
128
127
|
} = postDetail ?? {};
|
|
129
128
|
const mentionPosition = metadata?.mentioned;
|
|
130
129
|
|
|
@@ -412,8 +411,6 @@ export default function PostList({
|
|
|
412
411
|
});
|
|
413
412
|
};
|
|
414
413
|
|
|
415
|
-
if (structureType === 'liveStream') return null;
|
|
416
|
-
|
|
417
414
|
return (
|
|
418
415
|
<View key={postId} style={styles.postWrap}>
|
|
419
416
|
<View style={styles.headerSection}>
|
package/src/index.tsx
CHANGED
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
AmityAllCategoriesPage,
|
|
64
64
|
AmityCommunitiesByCategoryPage,
|
|
65
65
|
AmityCommunityProfilePage as CommunityProfilePage,
|
|
66
|
-
|
|
66
|
+
AmityCreateLivestreamPage,
|
|
67
67
|
AmityLivestreamPostTargetSelectionPage,
|
|
68
68
|
AmityLivestreamTerminatedPage,
|
|
69
69
|
AmityLivestreamPlayerPage,
|
|
@@ -162,7 +162,7 @@ export {
|
|
|
162
162
|
AmityAllCategoriesPage,
|
|
163
163
|
AmityCommunitiesByCategoryPage,
|
|
164
164
|
CommunityProfilePage,
|
|
165
|
-
|
|
165
|
+
AmityCreateLivestreamPage,
|
|
166
166
|
AmityLivestreamPostTargetSelectionPage,
|
|
167
167
|
AmityLivestreamTerminatedPage,
|
|
168
168
|
AmityLivestreamPlayerPage,
|
|
@@ -16,7 +16,7 @@ import { useStyles } from './styles';
|
|
|
16
16
|
import useImagePicker from '../../../src/hooks/useImagePicker';
|
|
17
17
|
import { uploadImageFile } from '../../../src/providers/file-provider';
|
|
18
18
|
|
|
19
|
-
import {
|
|
19
|
+
import { PostRepository, RoomRepository } from '@amityco/ts-sdk-react-native';
|
|
20
20
|
import BottomSheet, { BottomSheetMethods } from '@devvie/bottom-sheet';
|
|
21
21
|
|
|
22
22
|
// import {
|
|
@@ -55,7 +55,7 @@ const CreateLivestream = ({ navigation, route }) => {
|
|
|
55
55
|
|
|
56
56
|
const [title, setTitle] = useState<string>('');
|
|
57
57
|
const [description, setDescription] = useState<string>('');
|
|
58
|
-
const [
|
|
58
|
+
const [room, setRoom] = useState<Amity.Room | null>(null);
|
|
59
59
|
const [isLive, setIsLive] = useState<boolean>(false);
|
|
60
60
|
const [timer] = useState<number | null>(null);
|
|
61
61
|
|
|
@@ -141,16 +141,16 @@ const CreateLivestream = ({ navigation, route }) => {
|
|
|
141
141
|
}, []);
|
|
142
142
|
|
|
143
143
|
const createStreamPost = useCallback(
|
|
144
|
-
(
|
|
144
|
+
(newRoom: Amity.Room) => {
|
|
145
145
|
const params = {
|
|
146
146
|
targetId,
|
|
147
147
|
targetType,
|
|
148
|
-
dataType: '
|
|
148
|
+
dataType: 'room' as Amity.PostContentType,
|
|
149
149
|
data: {
|
|
150
|
-
text: `${
|
|
151
|
-
|
|
150
|
+
text: `${newRoom.title}${
|
|
151
|
+
newRoom.description ? `\n\n${newRoom.description}` : ''
|
|
152
152
|
}`,
|
|
153
|
-
|
|
153
|
+
roomId: newRoom.roomId,
|
|
154
154
|
},
|
|
155
155
|
};
|
|
156
156
|
|
|
@@ -168,18 +168,18 @@ const CreateLivestream = ({ navigation, route }) => {
|
|
|
168
168
|
|
|
169
169
|
if (imageUri) fileId = await uploadFile(imageUri);
|
|
170
170
|
|
|
171
|
-
const { data:
|
|
171
|
+
const { data: newRoom } = await RoomRepository.createRoom({
|
|
172
172
|
title,
|
|
173
173
|
description: description || undefined,
|
|
174
174
|
thumbnailFileId: fileId,
|
|
175
175
|
});
|
|
176
176
|
|
|
177
|
-
if (
|
|
178
|
-
const { data: newPost } = await createStreamPost(
|
|
179
|
-
|
|
177
|
+
if (newRoom) {
|
|
178
|
+
const { data: newPost } = await createStreamPost(newRoom);
|
|
179
|
+
setRoom(newRoom);
|
|
180
180
|
setPost(newPost);
|
|
181
181
|
|
|
182
|
-
streamRef?.current.startPublish(
|
|
182
|
+
streamRef?.current.startPublish(newRoom.roomId);
|
|
183
183
|
}
|
|
184
184
|
} else emptyTitleAlert();
|
|
185
185
|
}, [title, description, createStreamPost, imageUri, uploadFile]);
|
|
@@ -193,17 +193,17 @@ const CreateLivestream = ({ navigation, route }) => {
|
|
|
193
193
|
// };
|
|
194
194
|
|
|
195
195
|
const onStopStream = useCallback(async () => {
|
|
196
|
-
if (
|
|
196
|
+
if (room) {
|
|
197
197
|
setIsEnding(true);
|
|
198
198
|
try {
|
|
199
|
-
await
|
|
199
|
+
await RoomRepository.stopRoom(room.roomId);
|
|
200
200
|
} catch (e) {
|
|
201
|
-
console.log('
|
|
201
|
+
console.log('stopRoom error', e);
|
|
202
202
|
}
|
|
203
203
|
|
|
204
204
|
streamRef?.current.stopPublish();
|
|
205
205
|
setIsLive(false);
|
|
206
|
-
|
|
206
|
+
setRoom(null);
|
|
207
207
|
setTitle(undefined);
|
|
208
208
|
setDescription(undefined);
|
|
209
209
|
setTime(0);
|
|
@@ -214,7 +214,7 @@ const CreateLivestream = ({ navigation, route }) => {
|
|
|
214
214
|
postId: post.postId,
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
|
-
}, [
|
|
217
|
+
}, [room, timer, post, navigation]);
|
|
218
218
|
|
|
219
219
|
const onSwitchCamera = () => {
|
|
220
220
|
streamRef?.current.switchCamera();
|
|
@@ -7,14 +7,11 @@ import {
|
|
|
7
7
|
} from 'react-native';
|
|
8
8
|
import { useStyles } from './styles';
|
|
9
9
|
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
// import { AmityStreamPlayer } from '@amityco/video-player-react-native';
|
|
12
|
-
|
|
13
10
|
import LivestreamEndedView from '../../v4/component/LivestreamContent/LivestreamEndedThumbnail';
|
|
14
11
|
import { Animated } from 'react-native';
|
|
15
12
|
import { SvgXml } from 'react-native-svg';
|
|
16
13
|
import { closeIcon, playIcon, stopIcon } from '../../svg/svg-xml-list';
|
|
17
|
-
import {
|
|
14
|
+
import { RoomRepository } from '@amityco/ts-sdk-react-native';
|
|
18
15
|
|
|
19
16
|
const LiveStreamPlayer = ({ navigation, route }) => {
|
|
20
17
|
const ref = useRef<any>(null);
|
|
@@ -24,9 +21,9 @@ const LiveStreamPlayer = ({ navigation, route }) => {
|
|
|
24
21
|
|
|
25
22
|
const [isPlaying, setIsPlaying] = useState(true);
|
|
26
23
|
|
|
27
|
-
const {
|
|
24
|
+
const { roomId } = route.params;
|
|
28
25
|
|
|
29
|
-
const [livestream, setLivestream] = useState<Amity.
|
|
26
|
+
const [livestream, setLivestream] = useState<Amity.Room>();
|
|
30
27
|
|
|
31
28
|
const onClosePlayer = () => {
|
|
32
29
|
navigation.goBack();
|
|
@@ -59,15 +56,12 @@ const LiveStreamPlayer = ({ navigation, route }) => {
|
|
|
59
56
|
|
|
60
57
|
useEffect(() => {
|
|
61
58
|
const getLivestream = () => {
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
(
|
|
65
|
-
|
|
66
|
-
if (!loading && data) {
|
|
67
|
-
setLivestream({ ...data });
|
|
68
|
-
}
|
|
59
|
+
return RoomRepository.getRoom(roomId, ({ data, loading, error }) => {
|
|
60
|
+
if (error) console.error('Error fetching livestream', error);
|
|
61
|
+
if (!loading && data) {
|
|
62
|
+
setLivestream({ ...data });
|
|
69
63
|
}
|
|
70
|
-
);
|
|
64
|
+
});
|
|
71
65
|
};
|
|
72
66
|
|
|
73
67
|
const unsubscribe = getLivestream();
|
|
@@ -75,7 +69,7 @@ const LiveStreamPlayer = ({ navigation, route }) => {
|
|
|
75
69
|
return () => {
|
|
76
70
|
unsubscribe();
|
|
77
71
|
};
|
|
78
|
-
}, [
|
|
72
|
+
}, [roomId]);
|
|
79
73
|
|
|
80
74
|
return (
|
|
81
75
|
<View style={styles.container}>
|
package/src/svg/svg-xml-list.ts
CHANGED
|
@@ -396,7 +396,7 @@ export const editThumbnailIcon = (
|
|
|
396
396
|
export const livestreamIcon = (
|
|
397
397
|
color: string = '#292B32'
|
|
398
398
|
) => `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
399
|
-
<path d="M8.41406 8.
|
|
399
|
+
<path d="M8.41406 8.80469C8.51953 8.91016 8.58984 9.01562 8.58984 9.19141C8.58984 9.29688 8.55469 9.4375 8.48438 9.50781C7.85156 10.2812 7.5 11.2305 7.5 12.2852C7.5 13.3047 7.85156 14.2539 8.48438 15.0273C8.55469 15.0977 8.58984 15.2383 8.58984 15.3438C8.58984 15.5195 8.51953 15.625 8.41406 15.7305L8.02734 16.1172C7.92188 16.2227 7.78125 16.293 7.64062 16.293C7.46484 16.293 7.28906 16.2227 7.18359 16.082C6.30469 15.0625 5.8125 13.7266 5.8125 12.25C5.8125 10.8086 6.30469 9.47266 7.18359 8.45312C7.28906 8.3125 7.46484 8.24219 7.64062 8.24219C7.78125 8.24219 7.92188 8.3125 8.02734 8.41797L8.41406 8.80469ZM5.63672 6.0625C5.84766 6.27344 5.84766 6.58984 5.63672 6.83594C4.33594 8.27734 3.5625 10.1758 3.5625 12.2852C3.5625 14.3594 4.33594 16.2578 5.63672 17.6992C5.84766 17.9453 5.84766 18.2617 5.63672 18.4727L5.25 18.8594C5.14453 18.9648 5.00391 19.0352 4.82812 19.0352C4.65234 19.0352 4.51172 18.9297 4.40625 18.8242C2.75391 16.9961 1.875 14.7109 1.875 12.25C1.875 9.82422 2.75391 7.50391 4.40625 5.71094C4.51172 5.60547 4.65234 5.53516 4.82812 5.53516C5.00391 5.53516 5.14453 5.57031 5.25 5.67578L5.63672 6.0625ZM19.5586 5.71094C21.2109 7.50391 22.125 9.82422 22.125 12.25C22.125 14.7109 21.2109 16.9961 19.5586 18.8242C19.4531 18.9297 19.3125 19 19.1367 19C18.9609 19 18.8203 18.9648 18.75 18.8594L18.3281 18.4727C18.1172 18.2617 18.1172 17.9453 18.3281 17.6992C19.6289 16.2578 20.4023 14.3594 20.4023 12.25C20.4023 10.1758 19.6289 8.27734 18.3281 6.83594C18.1172 6.58984 18.1172 6.27344 18.3281 6.0625L18.75 5.67578C18.8203 5.57031 18.9609 5.5 19.1367 5.5C19.3125 5.5 19.4531 5.60547 19.5586 5.71094ZM12 10.2812C13.0547 10.2812 13.9688 11.1953 13.9688 12.25C13.9688 13.3398 13.0547 14.2188 12 14.2188C10.9102 14.2188 10.0312 13.3398 10.0312 12.25C10.0312 11.1953 10.9102 10.2812 12 10.2812ZM15.9375 8.41797C16.043 8.3125 16.1836 8.24219 16.3242 8.24219C16.5 8.24219 16.6758 8.3125 16.7812 8.45312C17.6602 9.47266 18.1523 10.8086 18.1523 12.2852C18.1523 13.7266 17.6602 15.0625 16.7812 16.082C16.6758 16.2227 16.5 16.293 16.3242 16.293C16.1836 16.293 16.043 16.2227 15.9375 16.1172L15.5508 15.7305C15.4453 15.625 15.375 15.5195 15.375 15.3438C15.375 15.2383 15.4102 15.0977 15.4805 15.0273C16.1133 14.2539 16.4648 13.3047 16.4648 12.25C16.4648 11.2305 16.1133 10.2812 15.4805 9.50781C15.4102 9.4375 15.375 9.29688 15.375 9.19141C15.375 9.01562 15.4453 8.91016 15.5508 8.80469L15.9375 8.41797Z" fill=${color}/>
|
|
400
400
|
</svg>
|
|
401
401
|
`;
|
|
402
402
|
|
package/src/v4/PublicApi/Components/AmityCreatePostMenuComponent/AmityCreatePostMenuComponent.tsx
CHANGED
|
@@ -62,14 +62,14 @@ const AmityCreatePostMenuComponent = ({
|
|
|
62
62
|
navigation.navigate('PollTargetSelection');
|
|
63
63
|
},
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
[AmityPostTargetSelectionPageType.livestream]: () => {
|
|
66
|
+
if (
|
|
67
|
+
AmityCreatePostMenuComponentBehavior.goToSelectLivestreamPostTargetPage
|
|
68
|
+
) {
|
|
69
|
+
AmityCreatePostMenuComponentBehavior.goToSelectLivestreamPostTargetPage();
|
|
70
|
+
}
|
|
71
|
+
navigation.navigate('LivestreamPostTargetSelection');
|
|
72
|
+
},
|
|
73
73
|
};
|
|
74
74
|
postTypeHandlers[postType]?.();
|
|
75
75
|
},
|
|
@@ -100,14 +100,14 @@ const AmityCreatePostMenuComponent = ({
|
|
|
100
100
|
elementId={ElementID.create_poll_button}
|
|
101
101
|
onClick={() => onPressCreatePost(AmityPostTargetSelectionPageType.poll)}
|
|
102
102
|
/>
|
|
103
|
-
|
|
103
|
+
<ButtonWithIconElement
|
|
104
104
|
pageId={pageId}
|
|
105
105
|
componentId={componentId}
|
|
106
106
|
elementId={ElementID.create_livestream_button}
|
|
107
107
|
onClick={() =>
|
|
108
108
|
onPressCreatePost(AmityPostTargetSelectionPageType.livestream)
|
|
109
109
|
}
|
|
110
|
-
/>
|
|
110
|
+
/>
|
|
111
111
|
</View>
|
|
112
112
|
);
|
|
113
113
|
};
|
|
@@ -34,7 +34,7 @@ import AnnouncementBadge from '../../../../v4/elements/AnnouncementBadge';
|
|
|
34
34
|
import { Typography } from '../../../../v4/component/Typography/Typography';
|
|
35
35
|
|
|
36
36
|
type AmityPostContentComponentProps = {
|
|
37
|
-
post: Amity.Post
|
|
37
|
+
post: Amity.Post;
|
|
38
38
|
pageId?: PageID;
|
|
39
39
|
AmityPostContentComponentStyle?: AmityPostContentComponentStyleEnum;
|
|
40
40
|
isCommunityNameShown?: boolean;
|
|
@@ -6,6 +6,7 @@ export const useStyle = (themeStyle: MyMD3Theme) => {
|
|
|
6
6
|
container: {
|
|
7
7
|
display: 'flex',
|
|
8
8
|
flexDirection: 'row',
|
|
9
|
+
alignItems: 'center',
|
|
9
10
|
width: 200,
|
|
10
11
|
paddingTop: 12,
|
|
11
12
|
paddingBottom: 12,
|
|
@@ -13,8 +14,8 @@ export const useStyle = (themeStyle: MyMD3Theme) => {
|
|
|
13
14
|
gap: 12,
|
|
14
15
|
},
|
|
15
16
|
icon: {
|
|
16
|
-
width:
|
|
17
|
-
height:
|
|
17
|
+
width: 24,
|
|
18
|
+
height: 24,
|
|
18
19
|
tintColor: themeStyle.colors.base,
|
|
19
20
|
},
|
|
20
21
|
label: {
|
|
@@ -35,8 +35,7 @@ import { RootStackParamList } from '../../../routes/RouteParamList';
|
|
|
35
35
|
import CommunityCreatePostButton from '../../../elements/CommunityCreatePostButton/CommunityCreatePostButton';
|
|
36
36
|
import { SvgXml } from 'react-native-svg';
|
|
37
37
|
import { useBehaviour } from '../../../../v4/providers/BehaviourProvider';
|
|
38
|
-
|
|
39
|
-
import { poll, post, story } from '../../../../v4/assets/icons';
|
|
38
|
+
import { livestream, poll, post, story } from '../../../../v4/assets/icons';
|
|
40
39
|
import { RouteProp, useNavigation, useRoute } from '@react-navigation/native';
|
|
41
40
|
|
|
42
41
|
import { useTheme } from 'react-native-paper';
|
|
@@ -265,7 +264,7 @@ function CommunityProfileActions({ pageId, communityId, styles }) {
|
|
|
265
264
|
AmityPostTargetSelectionPageBehavior,
|
|
266
265
|
AmityPollTargetSelectionPageBehavior,
|
|
267
266
|
AmityStoryTargetSelectionPageBehavior,
|
|
268
|
-
|
|
267
|
+
AmityLivestreamPostTargetSelectionPageBehavior,
|
|
269
268
|
} = useBehaviour();
|
|
270
269
|
const navigation =
|
|
271
270
|
useNavigation<
|
|
@@ -311,26 +310,26 @@ function CommunityProfileActions({ pageId, communityId, styles }) {
|
|
|
311
310
|
});
|
|
312
311
|
};
|
|
313
312
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
313
|
+
const handleCreateLivestream = () => {
|
|
314
|
+
closeBottomSheet();
|
|
315
|
+
|
|
316
|
+
if (
|
|
317
|
+
AmityLivestreamPostTargetSelectionPageBehavior.goToCreateLivestreamPage
|
|
318
|
+
) {
|
|
319
|
+
return AmityLivestreamPostTargetSelectionPageBehavior.goToCreateLivestreamPage(
|
|
320
|
+
{
|
|
321
|
+
targetId: communityId,
|
|
322
|
+
targetType: 'community',
|
|
323
|
+
targetName: community?.displayName,
|
|
324
|
+
}
|
|
325
|
+
);
|
|
326
|
+
}
|
|
327
|
+
navigation.navigate('CreateLivestream', {
|
|
328
|
+
targetId: communityId,
|
|
329
|
+
targetType: 'community',
|
|
330
|
+
targetName: community?.displayName,
|
|
331
|
+
});
|
|
332
|
+
};
|
|
334
333
|
|
|
335
334
|
const handleCreatePoll = () => {
|
|
336
335
|
closeBottomSheet();
|
|
@@ -398,7 +397,7 @@ function CommunityProfileActions({ pageId, communityId, styles }) {
|
|
|
398
397
|
<SvgXml width={24} height={24} xml={poll()} color={colors.base} />
|
|
399
398
|
<Text style={styles.bottomSheetOptionText}>Poll</Text>
|
|
400
399
|
</TouchableOpacity>
|
|
401
|
-
|
|
400
|
+
<TouchableOpacity
|
|
402
401
|
onPress={handleCreateLivestream}
|
|
403
402
|
style={styles.bottomSheetOption}
|
|
404
403
|
>
|
|
@@ -409,7 +408,7 @@ function CommunityProfileActions({ pageId, communityId, styles }) {
|
|
|
409
408
|
color={colors.base}
|
|
410
409
|
/>
|
|
411
410
|
<Text style={styles.bottomSheetOptionText}>Livestream</Text>
|
|
412
|
-
</TouchableOpacity>
|
|
411
|
+
</TouchableOpacity>
|
|
413
412
|
</Animated.View>
|
|
414
413
|
</Pressable>
|
|
415
414
|
</Modal>
|
|
@@ -41,7 +41,7 @@ export const useStyles = (theme: MyMD3Theme) => {
|
|
|
41
41
|
backgroundColor: theme.colors.background,
|
|
42
42
|
borderTopLeftRadius: 20,
|
|
43
43
|
borderTopRightRadius: 20,
|
|
44
|
-
|
|
44
|
+
paddingHorizontal: 16,
|
|
45
45
|
minHeight: 200,
|
|
46
46
|
paddingBottom: insets.bottom + 10,
|
|
47
47
|
},
|
|
@@ -57,7 +57,7 @@ export const useStyles = (theme: MyMD3Theme) => {
|
|
|
57
57
|
flexDirection: 'row',
|
|
58
58
|
alignItems: 'center',
|
|
59
59
|
paddingVertical: 16,
|
|
60
|
-
paddingHorizontal:
|
|
60
|
+
paddingHorizontal: 0,
|
|
61
61
|
},
|
|
62
62
|
bottomSheetOptionText: {
|
|
63
63
|
fontSize: 16,
|