@100mslive/roomkit-react 0.1.12-alpha.0 → 0.1.13-alpha.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/dist/{HLSView-J2MIS3H2.js → HLSView-AIPLCDXY.js} +2 -2
- package/dist/Prebuilt/App.d.ts +0 -2
- package/dist/Prebuilt/AppContext.d.ts +0 -2
- package/dist/Prebuilt/common/constants.d.ts +110 -0
- package/dist/Prebuilt/components/AppData/AppData.d.ts +2 -0
- package/dist/Prebuilt/components/Chat/MwebChatOption.d.ts +7 -0
- package/dist/Prebuilt/components/Chat/Navigation.d.ts +8 -0
- package/dist/Prebuilt/components/Chat/PinnedMessage.d.ts +4 -0
- package/dist/Prebuilt/components/Footer/Footer.d.ts +3 -2
- package/dist/Prebuilt/components/Preview/PreviewJoin.d.ts +2 -1
- package/dist/Prebuilt/components/VirtualBackground/VBCollection.d.ts +2 -1
- package/dist/Prebuilt/components/VirtualBackground/VBPicker.d.ts +3 -0
- package/dist/Prebuilt/components/VirtualBackground/constants.d.ts +0 -6
- package/dist/Prebuilt/components/hooks/useChatBlacklist.d.ts +4 -0
- package/dist/Prebuilt/components/hooks/useSetPinnedMessages.d.ts +16 -0
- package/dist/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.d.ts +3 -2
- package/dist/Theme/stitches.config.d.ts +226 -226
- package/dist/{chunk-OYSYEA6R.js → chunk-5DCII2TP.js} +2248 -1269
- package/dist/chunk-5DCII2TP.js.map +7 -0
- package/dist/index.cjs.js +2943 -1902
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.js +1 -1
- package/dist/meta.cjs.json +819 -313
- package/dist/meta.esbuild.json +826 -320
- package/package.json +8 -8
- package/src/Prebuilt/App.tsx +3 -14
- package/src/Prebuilt/AppContext.tsx +0 -2
- package/src/Prebuilt/common/{constants.js → constants.ts} +22 -20
- package/src/Prebuilt/components/AppData/{AppData.jsx → AppData.tsx} +8 -22
- package/src/Prebuilt/components/AppData/useUISettings.js +0 -4
- package/src/Prebuilt/components/AuthToken.jsx +4 -4
- package/src/Prebuilt/components/Chat/Chat.jsx +51 -73
- package/src/Prebuilt/components/Chat/ChatBody.jsx +219 -48
- package/src/Prebuilt/components/Chat/ChatFooter.tsx +50 -6
- package/src/Prebuilt/components/Chat/ChatStates.jsx +66 -0
- package/src/Prebuilt/components/Chat/MwebChatOption.tsx +24 -0
- package/src/Prebuilt/components/Chat/Navigation.tsx +60 -0
- package/src/Prebuilt/components/Chat/PinnedMessage.tsx +118 -0
- package/src/Prebuilt/components/Footer/Footer.tsx +4 -7
- package/src/Prebuilt/components/Header/common.jsx +1 -1
- package/src/Prebuilt/components/Preview/PreviewJoin.tsx +6 -8
- package/src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx +4 -1
- package/src/Prebuilt/components/Settings/DeviceSettings.jsx +1 -1
- package/src/Prebuilt/components/SidePaneTabs.tsx +3 -2
- package/src/Prebuilt/components/Toast/ToastConfig.jsx +20 -0
- package/src/Prebuilt/components/VirtualBackground/VBCollection.tsx +4 -4
- package/src/Prebuilt/components/VirtualBackground/{VBPicker.jsx → VBPicker.tsx} +27 -18
- package/src/Prebuilt/components/VirtualBackground/constants.ts +0 -8
- package/src/Prebuilt/components/hooks/useAutoStartStreaming.tsx +10 -1
- package/src/Prebuilt/components/hooks/useChatBlacklist.ts +21 -0
- package/src/Prebuilt/components/hooks/useSetPinnedMessages.ts +76 -0
- package/src/Prebuilt/layouts/SidePane.tsx +1 -1
- package/src/Prebuilt/layouts/VideoStreamingSection.tsx +30 -2
- package/src/Prebuilt/plugins/whiteboard/PusherCommunicationProvider.js +1 -1
- package/src/Prebuilt/plugins/whiteboard/README.md +1 -1
- package/src/Prebuilt/primitives/DialogContent.jsx +1 -1
- package/src/Prebuilt/provider/roomLayoutProvider/constants/index.ts +12 -1
- package/src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts +5 -1
- package/src/Theme/stitches.config.ts +1 -2
- package/dist/chunk-OYSYEA6R.js.map +0 -7
- package/src/Prebuilt/components/hooks/useSetPinnedMessage.js +0 -38
- package/src/Prebuilt/services/tokenService.js +0 -49
- /package/dist/{HLSView-J2MIS3H2.js.map → HLSView-AIPLCDXY.js.map} +0 -0
@@ -4,9 +4,19 @@ import {
|
|
4
4
|
DefaultConferencingScreen_Elements,
|
5
5
|
HLSLiveStreamingScreen_Elements,
|
6
6
|
} from '@100mslive/types-prebuilt';
|
7
|
-
import {
|
7
|
+
import { v4 as uuid } from 'uuid';
|
8
|
+
import {
|
9
|
+
selectIsConnectedToRoom,
|
10
|
+
selectLocalPeerName,
|
11
|
+
selectLocalPeerRoleName,
|
12
|
+
selectSessionStore,
|
13
|
+
useHMSActions,
|
14
|
+
useHMSStore,
|
15
|
+
} from '@100mslive/react-sdk';
|
8
16
|
// @ts-ignore: No implicit Any
|
9
17
|
import FullPageProgress from '../components/FullPageProgress';
|
18
|
+
// @ts-ignore: No implicit Any
|
19
|
+
import { ToastBatcher } from '../components/Toast/ToastBatcher';
|
10
20
|
import { GridLayout } from '../components/VideoLayouts/GridLayout';
|
11
21
|
import { Flex } from '../../Layout';
|
12
22
|
// @ts-ignore: No implicit Any
|
@@ -46,15 +56,33 @@ export const VideoStreamingSection = ({
|
|
46
56
|
const waitingViewerRole = useWaitingViewerRole();
|
47
57
|
const urlToIframe = useUrlToEmbed();
|
48
58
|
const pdfAnnotatorActive = usePDFConfig();
|
59
|
+
const localPeerName = useHMSStore(selectLocalPeerName);
|
60
|
+
const { enabled: isChatEnabled = true, updatedBy: chatStateUpdatedBy = '' } =
|
61
|
+
useHMSStore(selectSessionStore(SESSION_STORE_KEY.CHAT_STATE)) || {};
|
49
62
|
|
50
63
|
useEffect(() => {
|
51
64
|
if (!isConnected) {
|
52
65
|
return;
|
53
66
|
}
|
54
|
-
hmsActions.sessionStore.observe([
|
67
|
+
hmsActions.sessionStore.observe([
|
68
|
+
SESSION_STORE_KEY.PINNED_MESSAGES,
|
69
|
+
SESSION_STORE_KEY.SPOTLIGHT,
|
70
|
+
SESSION_STORE_KEY.CHAT_STATE,
|
71
|
+
SESSION_STORE_KEY.CHAT_MESSAGE_BLACKLIST,
|
72
|
+
SESSION_STORE_KEY.CHAT_PEER_BLACKLIST,
|
73
|
+
]);
|
55
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
56
75
|
}, [isConnected, hmsActions]);
|
57
76
|
|
77
|
+
useEffect(() => {
|
78
|
+
if (!chatStateUpdatedBy || chatStateUpdatedBy === localPeerName) {
|
79
|
+
return;
|
80
|
+
}
|
81
|
+
const type = isChatEnabled ? 'CHAT_RESUMED' : 'CHAT_PAUSED';
|
82
|
+
const notification = { id: uuid(), message: '', type, data: { name: localPeerName } };
|
83
|
+
ToastBatcher.showToast({ notification, type });
|
84
|
+
}, [isChatEnabled, chatStateUpdatedBy, localPeerName]);
|
85
|
+
|
58
86
|
if (!localPeerRole) {
|
59
87
|
// we don't know the role yet to decide how to render UI
|
60
88
|
return null;
|
@@ -36,7 +36,7 @@ class PusherCommunicationProvider {
|
|
36
36
|
|
37
37
|
/** @private */
|
38
38
|
this.pusher = new Pusher(process.env.REACT_APP_PUSHER_APP_KEY, {
|
39
|
-
cluster: 'ap2',
|
39
|
+
cluster: process.env.REACT_APP_PUSHER_CLUSTER || 'ap2',
|
40
40
|
authEndpoint: process.env.REACT_APP_PUSHER_AUTHENDPOINT,
|
41
41
|
});
|
42
42
|
|
@@ -24,6 +24,6 @@ APP_ID="app_id"
|
|
24
24
|
## Whiteboard Client
|
25
25
|
|
26
26
|
- Copy the whole folder at `/src/plugins/whiteboard` into your live video conferencing apps using 100ms' SDKs.
|
27
|
-
- Add the pusher app key
|
27
|
+
- Add the pusher app key, auth endpoint and cluster to `REACT_APP_PUSHER_APP_KEY`, `REACT_APP_PUSHER_AUTHENDPOINT`, `REACT_APP_PUSHER_CLUSTER` environment variables.
|
28
28
|
- The `useWhiteboardMetadata` hook returns state such as the whiteboard owner(`whiteboardOwner`) and action to toggle the whiteboard(`toggleWhiteboard`). Refer usage in `ToggleWhiteboard.jsx` - an icon button to toggle the whiteboard based on the active state.
|
29
29
|
- When the whiteboard is active(`whiteboardOwner` from `useWhiteboardMetadata` is not null), render the `Whiteboard` component on your UI to let your users draw on the whiteboard. Refer `mainView.jsx` and `WhiteboardView.jsx`.
|
@@ -102,7 +102,7 @@ export const RequestDialog = ({ open = true, onOpenChange, title, body, actionTe
|
|
102
102
|
);
|
103
103
|
|
104
104
|
/**
|
105
|
-
* a row of items which breaks into column on small screen. For
|
105
|
+
* a row of items which breaks into column on small screen. For example title on left and options to select
|
106
106
|
* from on right for select component.
|
107
107
|
*/
|
108
108
|
export const DialogRow = ({ children, breakSm = false, css, justify = 'between' }) => {
|
@@ -30,7 +30,18 @@ export const defaultLayout: Layout = {
|
|
30
30
|
conferencing: {
|
31
31
|
default: {
|
32
32
|
elements: {
|
33
|
-
chat: {
|
33
|
+
chat: {
|
34
|
+
public_chat_enabled: true,
|
35
|
+
private_chat_enabled: true,
|
36
|
+
chat_title: 'Chat',
|
37
|
+
allow_pinning_messages: true,
|
38
|
+
message_placeholder: 'Send a message...',
|
39
|
+
real_time_controls: {
|
40
|
+
can_disable_chat: true,
|
41
|
+
can_block_user: true,
|
42
|
+
can_hide_message: true,
|
43
|
+
},
|
44
|
+
},
|
34
45
|
participant_list: {},
|
35
46
|
video_tile_layout: {
|
36
47
|
grid: {
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import {
|
2
2
|
ConferencingScreen,
|
3
|
+
DefaultConferencingScreen_Elements,
|
3
4
|
DefaultPreviewScreen_Elements,
|
5
|
+
HLSLiveStreamingScreen_Elements,
|
4
6
|
LeaveScreen,
|
5
7
|
PreviewScreen,
|
6
8
|
Screens,
|
@@ -43,10 +45,12 @@ export function useRoomLayoutPreviewScreen() {
|
|
43
45
|
};
|
44
46
|
}
|
45
47
|
|
48
|
+
export type ConferencingScreenElements = DefaultConferencingScreen_Elements & HLSLiveStreamingScreen_Elements;
|
49
|
+
|
46
50
|
export function useRoomLayoutConferencingScreen() {
|
47
51
|
const screenProps = useRoomLayoutScreen({ screen: 'conferencing' }) || {};
|
48
52
|
const screenType = Object.keys(screenProps)[0] as keyof ConferencingScreen;
|
49
|
-
const elements = screenProps[screenType]?.elements;
|
53
|
+
const elements = screenProps[screenType]?.elements as ConferencingScreenElements;
|
50
54
|
// @ts-ignore
|
51
55
|
const hideSections: string[] = screenProps[screenType]?.hideSections || [];
|
52
56
|
return {
|
@@ -1,11 +1,10 @@
|
|
1
1
|
import type * as Stitches from '@stitches/react';
|
2
2
|
import { createStitches } from '@stitches/react';
|
3
3
|
import merge from 'lodash.merge';
|
4
|
-
import { v4 as uuidv4 } from 'uuid';
|
5
4
|
import { baseConfig, defaultMedia, defaultThemeMap, defaultUtils } from './base.config';
|
6
5
|
|
7
6
|
const HmsStitches = createStitches({
|
8
|
-
prefix:
|
7
|
+
prefix: 'hms-ui',
|
9
8
|
theme: {
|
10
9
|
...baseConfig.theme,
|
11
10
|
colors: {
|