@mohamed-karawia/library 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/chromatic.yml +26 -0
- package/.storybook/main.js +21 -0
- package/.storybook/middleware.js +28 -0
- package/.storybook/preview.js +9 -0
- package/CHANGELOG.md +66 -0
- package/LICENSE +21 -0
- package/README.md +23 -0
- package/README.old.md +3 -0
- package/build-storybook.log +2704 -0
- package/dist/index.js +311 -0
- package/dist/stories/API/API.js +48 -0
- package/dist/stories/API/API.stories.js +24 -0
- package/dist/stories/Agora/Call/Call.js +316 -0
- package/dist/stories/Agora/Chat/Chat.js +107 -0
- package/dist/stories/Agora/Chat/Chat.stories.js +24 -0
- package/dist/stories/Agora/Chat/Components/ChatItem/ChatItem.js +34 -0
- package/dist/stories/Agora/Chat/Components/ChatRoom/ChatRoom.js +199 -0
- package/dist/stories/Agora/Controls/Controls.js +80 -0
- package/dist/stories/Agora/Preview/PreviewCamera.js +247 -0
- package/dist/stories/Agora/Preview/ShareScreen.js +119 -0
- package/dist/stories/Agora/Room/Room.js +114 -0
- package/dist/stories/Agora/Room/Room.stories.js +24 -0
- package/dist/stories/Buttons/Buttons/Buttons.js +59 -0
- package/dist/stories/Buttons/Buttons/Buttons.stories.js +39 -0
- package/dist/stories/Buttons/ReactModal/ReactModal.js +94 -0
- package/dist/stories/Buttons/ReactModal/ReactModal.stories.js +30 -0
- package/dist/stories/Buttons/ReactModal/ReactModalDemo.js +17 -0
- package/dist/stories/Chat/Chat.js +76 -0
- package/dist/stories/Chat/Chat.stories.js +76 -0
- package/dist/stories/Common Inputs/CheckboxGroup/CheckboxGroup.js +59 -0
- package/dist/stories/Common Inputs/CheckboxGroup/CheckboxGroup.stories.js +58 -0
- package/dist/stories/Common Inputs/CustomAutoComplete/CustomAutoComplete.js +93 -0
- package/dist/stories/Common Inputs/CustomAutoComplete/CustomAutoComplete.stories.js +56 -0
- package/dist/stories/Common Inputs/CustomDropzone/CustomDropZone.js +88 -0
- package/dist/stories/Common Inputs/CustomDropzone/CustomDropzone.stories.js +47 -0
- package/dist/stories/Common Inputs/CustomSelect/CustomSelect.js +92 -0
- package/dist/stories/Common Inputs/CustomSelect/CustomSelect.stories.js +61 -0
- package/dist/stories/Common Inputs/CustomTextarea/CustomTextarea.js +65 -0
- package/dist/stories/Common Inputs/CustomTextarea/CustomTextarea.stories.js +48 -0
- package/dist/stories/Common Inputs/DatePicker/DatePicker.js +104 -0
- package/dist/stories/Common Inputs/DatePicker/DatePicker.stories.js +60 -0
- package/dist/stories/Common Inputs/DatePicker/SingleDatePicker.js +97 -0
- package/dist/stories/Common Inputs/DropZone.js +148 -0
- package/dist/stories/Common Inputs/EditorComponent/EditorComponent.js +84 -0
- package/dist/stories/Common Inputs/EditorComponent/EditorComponent.stories.js +62 -0
- package/dist/stories/Common Inputs/EditorComponent/constants.js +41 -0
- package/dist/stories/Common Inputs/Formik/InputField/InputField.js +35 -0
- package/dist/stories/Common Inputs/Formik/InputField/InputField.stories.js +43 -0
- package/dist/stories/Common Inputs/Formik/RadioField/RadioField.js +54 -0
- package/dist/stories/Common Inputs/Formik/RadioField/RadioField.stories.js +60 -0
- package/dist/stories/Common Inputs/RadioInput/RadioInput.js +115 -0
- package/dist/stories/Common Inputs/RadioInput/RadioInput.stories.js +50 -0
- package/dist/stories/Common Inputs/RichTextInput/Components/Emoji/Emoji.js +31 -0
- package/dist/stories/Common Inputs/RichTextInput/Components/Gif/Gif.js +88 -0
- package/dist/stories/Common Inputs/RichTextInput/RichTextInput.js +278 -0
- package/dist/stories/Common Inputs/RichTextInput/RichTextInput.stories.js +51 -0
- package/dist/stories/Common Inputs/TextField/TextField.js +65 -0
- package/dist/stories/Common Inputs/TextField/TextField.stories.js +48 -0
- package/dist/stories/Containers/BaseMaterial.js +65 -0
- package/dist/stories/Containers/BaseMaterial.stories.js +24 -0
- package/dist/stories/Containers/WidgetExample/WidgetBody.js +17 -0
- package/dist/stories/Containers/WidgetExample/WidgetBody.stories.js +24 -0
- package/dist/stories/Containers/WidgetExample/WidgetExample.js +23 -0
- package/dist/stories/Containers/WidgetExample/WidgetExample.stories.js +24 -0
- package/dist/stories/Containers/WidgetExample/WidgetHead.js +17 -0
- package/dist/stories/Containers/WidgetExample/WidgetHead.stories.js +24 -0
- package/dist/stories/Enrollment/Admin/CreateForm/CreateForm.js +83 -0
- package/dist/stories/Enrollment/Admin/CreateForm/CreateForm.stories.js +22 -0
- package/dist/stories/Enrollment/Admin/DetailedForm/DetailedForm.js +81 -0
- package/dist/stories/Enrollment/Admin/DetailedForm/DetailedForm.stories.js +42 -0
- package/dist/stories/Enrollment/Admin/ViewForms/ViewForms.js +46 -0
- package/dist/stories/Enrollment/Admin/ViewForms/ViewForms.stories.js +65 -0
- package/dist/stories/Enrollment/Guest/FillForm/FillForm.js +64 -0
- package/dist/stories/Enrollment/Guest/FillForm/FillForm.stories.js +48 -0
- package/dist/stories/Events/CreateEvent/CreateEvent.js +110 -0
- package/dist/stories/Events/CreateEvent/CreateEvent.stories.js +30 -0
- package/dist/stories/Events/Event/Event.js +94 -0
- package/dist/stories/Events/Event/Event.stories.js +33 -0
- package/dist/stories/Events/EventsList/EventsList.js +135 -0
- package/dist/stories/Events/EventsList/EventsList.stories.js +44 -0
- package/dist/stories/Forms/AddPhoto/AddPhoto.js +101 -0
- package/dist/stories/Forms/AddPhoto/AddPhoto.stories.js +47 -0
- package/dist/stories/Forms/AddSong/AddSong.js +98 -0
- package/dist/stories/Forms/AddSong/AddSong.stories.js +37 -0
- package/dist/stories/Forms/AddVideo/AddVideo.js +103 -0
- package/dist/stories/Forms/AddVideo/AddVideo.stories.js +33 -0
- package/dist/stories/Forms/Create-Profile/CreateProfile.js +229 -0
- package/dist/stories/Forms/Create-Profile/CreateProfile.stories.js +49 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/LogoUploader.js +54 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/LogoUploader.stories.js +42 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/ProfilePhoto.js +49 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/ProfilePhoto.stories.js +41 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/ResetBtn.js +41 -0
- package/dist/stories/Forms/Create-Profile/subcomponents/ResetBtn.stories.js +32 -0
- package/dist/stories/Forms/CreateAlbum/CreateAlbum.js +95 -0
- package/dist/stories/Forms/CreateAlbum/CreateAlbum.stories.js +47 -0
- package/dist/stories/Forms/CreateAnnouncementForm/CreateAnnouncementForm.js +84 -0
- package/dist/stories/Forms/CreateAnnouncementForm/CreateAnnouncementForm.stories.js +58 -0
- package/dist/stories/Forms/CreateMusicAlbum/CreateMusicAlbum.js +100 -0
- package/dist/stories/Forms/CreateMusicAlbum/CreateMusicAlbum.stories.js +47 -0
- package/dist/stories/Forms/CreateProfile/CreateProfile.js +383 -0
- package/dist/stories/Forms/CreateProfile/CreateProfile.stories.js +24 -0
- package/dist/stories/Forms/CreateProfile-3/CreateProfile.js +324 -0
- package/dist/stories/Forms/CreateProfile-3/CreateProfile.stories.js +24 -0
- package/dist/stories/Forms/CreateUser/CreateUser.js +27 -0
- package/dist/stories/Forms/CreateUser/CreateUser.stories.js +26 -0
- package/dist/stories/Forms/CreateVideoAlbum/CreateVideoAlbum.js +84 -0
- package/dist/stories/Forms/CreateVideoAlbum/CreateVideoAlbum.stories.js +37 -0
- package/dist/stories/Forms/Form/Form.js +35 -0
- package/dist/stories/Forms/Form/Form.stories.js +24 -0
- package/dist/stories/Forms/NewProfile/NewProfile.js +450 -0
- package/dist/stories/Forms/NewProfile/NewProfile.stories.js +24 -0
- package/dist/stories/Layout/Body/Body.js +30 -0
- package/dist/stories/Layout/Body/Body.stories.js +30 -0
- package/dist/stories/Layout/Center/Center.js +26 -0
- package/dist/stories/Layout/Center/Center.stories.js +24 -0
- package/dist/stories/Layout/Head/Head.js +24 -0
- package/dist/stories/Layout/Head/Head.stories.js +24 -0
- package/dist/stories/Layout/Left/Left.js +28 -0
- package/dist/stories/Layout/Left/Left.stories.js +24 -0
- package/dist/stories/Layout/Right/Right.js +27 -0
- package/dist/stories/Layout/Right/Right.stories.js +24 -0
- package/dist/stories/Library/CreateFolder/CreateFolder.js +87 -0
- package/dist/stories/Library/CreateFolder/CreateFolder.stories.js +45 -0
- package/dist/stories/Library/Folders/Folders.js +126 -0
- package/dist/stories/Library/Folders/Folders.stories.js +55 -0
- package/dist/stories/Library/Notes/Notes.js +135 -0
- package/dist/stories/Library/Notes/Notes.stories.js +42 -0
- package/dist/stories/Library/ViewNote/ViewNote.js +30 -0
- package/dist/stories/Library/ViewNote/ViewNote.stories.js +24 -0
- package/dist/stories/Misc/Thumbnail/Thumbnail.js +118 -0
- package/dist/stories/Music Album/ViewAlbum/ViewAlbum.js +131 -0
- package/dist/stories/Music Album/ViewAlbum/ViewAlbum.stories.js +115 -0
- package/dist/stories/Music Album/ViewAlbums/ViewAlbums.js +149 -0
- package/dist/stories/Music Album/ViewAlbums/ViewAlbums.stories.js +107 -0
- package/dist/stories/Navbar/Navbar.js +346 -0
- package/dist/stories/Navbar/Navbar.stories.js +41 -0
- package/dist/stories/Pages/Blank/Blank.js +36 -0
- package/dist/stories/Pages/Blank/Blank.stories.js +24 -0
- package/dist/stories/Pages/Centered/Centered.js +34 -0
- package/dist/stories/Pages/Centered/Centered.stories.js +24 -0
- package/dist/stories/Pages/Chat/Chat.js +86 -0
- package/dist/stories/Pages/Chat/Chat.stories.js +74 -0
- package/dist/stories/Pages/Enrollment/DetailedForm/DetailedForm.js +96 -0
- package/dist/stories/Pages/Enrollment/DetailedForm/DetailedForm.stories.js +22 -0
- package/dist/stories/Pages/Enrollment/FillForm/FillForm.js +102 -0
- package/dist/stories/Pages/Enrollment/FillForm/FillForm.stories.js +22 -0
- package/dist/stories/Pages/Enrollment/Forms/Forms.js +125 -0
- package/dist/stories/Pages/Enrollment/Forms/Forms.stories.js +22 -0
- package/dist/stories/Pages/Events/Event/Event.js +89 -0
- package/dist/stories/Pages/Events/Event/Event.stories.js +22 -0
- package/dist/stories/Pages/Events/Events/Events.js +125 -0
- package/dist/stories/Pages/Events/Events/Events.stories.js +22 -0
- package/dist/stories/Pages/Library/Folders/Library.js +136 -0
- package/dist/stories/Pages/Library/Folders/Library.stories.js +22 -0
- package/dist/stories/Pages/Library/Notes/Notes.js +123 -0
- package/dist/stories/Pages/Library/Notes/Notes.stories.js +22 -0
- package/dist/stories/Pages/Music/MusicAlbum/Music.js +211 -0
- package/dist/stories/Pages/Music/MusicAlbum/Music.stories.js +22 -0
- package/dist/stories/Pages/Music/MusicAlbums/MusicAlbums.js +155 -0
- package/dist/stories/Pages/Music/MusicAlbums/MusicAlbums.stories.js +22 -0
- package/dist/stories/Pages/Photos/Album/Album.js +164 -0
- package/dist/stories/Pages/Photos/Album/Album.stories.js +22 -0
- package/dist/stories/Pages/Photos/Albums/Albums.js +151 -0
- package/dist/stories/Pages/Photos/Albums/Albums.stories.js +22 -0
- package/dist/stories/Pages/Video/DetailedVideo/DetailedVideo.js +112 -0
- package/dist/stories/Pages/Video/DetailedVideo/DetailedVideo.stories.js +22 -0
- package/dist/stories/Pages/Video/VideoAlbum/Video.js +216 -0
- package/dist/stories/Pages/Video/VideoAlbum/Video.stories.js +22 -0
- package/dist/stories/Pages/ViewWorld/ViewWorld.js +244 -0
- package/dist/stories/Pages/ViewWorld/ViewWorld.stories.js +264 -0
- package/dist/stories/Pages/ViewWorld/constatnts.js +172 -0
- package/dist/stories/Photo Album/DetailedPhoto/DetailedPhoto.js +24 -0
- package/dist/stories/Photo Album/DetailedPhoto/DetailedPhoto.stories.js +32 -0
- package/dist/stories/Photo Album/ViewAlbum/ViewAlbum.js +236 -0
- package/dist/stories/Photo Album/ViewAlbum/ViewAlbum.stories.js +115 -0
- package/dist/stories/Photo Album/ViewAlbums/ViewAlbums.js +156 -0
- package/dist/stories/Photo Album/ViewAlbums/ViewAlbums.stories.js +102 -0
- package/dist/stories/Reusable Components/Cards/Card-style-1/CardStyle1.js +67 -0
- package/dist/stories/Reusable Components/Cards/Card-style-1/CardStyle1.stories.js +35 -0
- package/dist/stories/Reusable Components/Cards/Card-style-10/CardStyle10.js +81 -0
- package/dist/stories/Reusable Components/Cards/Card-style-10/CardStyle10.stories.js +37 -0
- package/dist/stories/Reusable Components/Cards/Card-style-11/CardStyle11.js +67 -0
- package/dist/stories/Reusable Components/Cards/Card-style-11/CardStyle11.stories.js +40 -0
- package/dist/stories/Reusable Components/Cards/Card-style-2/CardStyle2.js +67 -0
- package/dist/stories/Reusable Components/Cards/Card-style-2/CardStyle2.stories.js +37 -0
- package/dist/stories/Reusable Components/Cards/Card-style-3/CardStyle3.js +65 -0
- package/dist/stories/Reusable Components/Cards/Card-style-3/CardStyle3.stories.js +34 -0
- package/dist/stories/Reusable Components/Cards/Card-style-4/CardStyle4.js +66 -0
- package/dist/stories/Reusable Components/Cards/Card-style-4/CardStyle4.stories.js +39 -0
- package/dist/stories/Reusable Components/Cards/Card-style-6/CardStyle6.js +93 -0
- package/dist/stories/Reusable Components/Cards/Card-style-6/CardStyle6.stories.js +27 -0
- package/dist/stories/Reusable Components/Cards/Card-style-7/CardStyle7.js +88 -0
- package/dist/stories/Reusable Components/Cards/Card-style-7/CardStyle7.stories.js +37 -0
- package/dist/stories/Reusable Components/Cards/Card-style-8/CardStyle8.js +86 -0
- package/dist/stories/Reusable Components/Cards/Card-style-8/CardStyle8.stories.js +44 -0
- package/dist/stories/Reusable Components/Cards/Card-style-9/CardStyle9.js +67 -0
- package/dist/stories/Reusable Components/Cards/Card-style-9/CardStyle9.stories.js +27 -0
- package/dist/stories/Reusable Components/Cards/Card.js +102 -0
- package/dist/stories/Reusable Components/Cards/Card.stories.js +132 -0
- package/dist/stories/Reusable Components/Cards/globalCardStyles.js +70 -0
- package/dist/stories/Reusable Components/Controls/Controls.js +128 -0
- package/dist/stories/Reusable Components/Controls/Controls.stories.js +49 -0
- package/dist/stories/Reusable Components/Gallery/Gallery.js +120 -0
- package/dist/stories/Reusable Components/Gallery/Gallery.stories.js +56 -0
- package/dist/stories/Reusable Components/Lists/Cards/ListCard-1.js +1 -0
- package/dist/stories/Reusable Components/Lists/Cards/ListCard-1.stories.js +1 -0
- package/dist/stories/Reusable Components/Lists/List.js +1 -0
- package/dist/stories/Reusable Components/Lists/List.stories.js +1 -0
- package/dist/stories/Reusable Components/Mention/Mention.js +72 -0
- package/dist/stories/Reusable Components/Mention/Mention.stories.js +66 -0
- package/dist/stories/Reusable Components/ReactModal/ReactModal.js +83 -0
- package/dist/stories/Reusable Components/ReusableForm/ReusableForm.js +100 -0
- package/dist/stories/Reusable Components/ReusableForm/ReusableForm.stories.js +207 -0
- package/dist/stories/Reusable Components/ReusableHeader/ReusableHeader.js +64 -0
- package/dist/stories/Reusable Components/ReusableHeader/ReusableHeader.stories.js +35 -0
- package/dist/stories/Reusable Components/ReusableList/ReusableList.js +92 -0
- package/dist/stories/Reusable Components/ReusableList/ReusableList.stories.js +84 -0
- package/dist/stories/Reusable Components/SearchCard/SearchCard.js +81 -0
- package/dist/stories/Reusable Components/SearchCard/SearchCard.stories.js +24 -0
- package/dist/stories/Reusable Components/SpaceContainer/SpaceContainer.js +48 -0
- package/dist/stories/Reusable Components/SpaceContainer/SpaceContainer.stories.js +80 -0
- package/dist/stories/Reusable Components/Spinner/Spinner.js +28 -0
- package/dist/stories/Reusable Components/Spinner/Spinner.stories.js +22 -0
- package/dist/stories/Reusable Components/WidgetContainer/WidgetContainer.js +51 -0
- package/dist/stories/Reusable Components/WidgetContainer/WidgetContainer.stories.js +80 -0
- package/dist/stories/Reusable Components/commonStyles.js +54 -0
- package/dist/stories/Reusable Components/fakeData.js +112 -0
- package/dist/stories/Spaces/WelcomeSpace/WelcomeSpace.js +74 -0
- package/dist/stories/Spaces/WelcomeSpace/WelcomeSpace.stories.js +24 -0
- package/dist/stories/VideoAlbum/AlbumsGallery/AlbumsGallery.js +151 -0
- package/dist/stories/VideoAlbum/AlbumsGallery/AlbumsGallery.stories.js +101 -0
- package/dist/stories/VideoAlbum/Comments/Comments.js +58 -0
- package/dist/stories/VideoAlbum/Comments/Comments.stories.js +45 -0
- package/dist/stories/VideoAlbum/VideoPlayer/VideoPlayer.js +235 -0
- package/dist/stories/VideoAlbum/VideoPlayer/VideoPlayer.stories.js +149 -0
- package/dist/stories/VideoAlbum/VideoSpace/VideoSpace.js +110 -0
- package/dist/stories/VideoAlbum/VideoSpace/VideoSpace.stories.js +49 -0
- package/dist/stories/VideoAlbum/ViewAlbum/ViewAlbum.js +150 -0
- package/dist/stories/VideoAlbum/ViewAlbum/ViewAlbum.stories.js +113 -0
- package/dist/stories/Widgets/LogoWidget/LogoWidget.js +32 -0
- package/dist/stories/Widgets/LogoWidget/LogoWidget.stories.js +26 -0
- package/dist/stories/Widgets/MusicPlayer/MusicPlayer.js +49 -0
- package/dist/stories/Widgets/MusicPlayer/MusicPlayer.stories.js +44 -0
- package/dist/stories/Widgets/MusicPlayerWidget/MusicPlayerWidget.js +93 -0
- package/dist/stories/Widgets/MusicPlayerWidget/MusicPlayerWidget.stories.js +52 -0
- package/dist/stories/Widgets/SpacesList/SpacesList.js +28 -0
- package/dist/stories/Widgets/SpacesList/SpacesList.stories.js +52 -0
- package/dist/stories/Widgets/SpacesList/SpacesListItem.js +50 -0
- package/dist/stories/Widgets/SpacesList/SpacesListItem.stories.js +24 -0
- package/dist/stories/helpers/util.js +178 -0
- package/package.json +131 -0
- package/public/favicon.ico +0 -0
- package/public/index.html +43 -0
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +25 -0
- package/public/robots.txt +3 -0
- package/src/assets/add-svgrepo-com.svg +36 -0
- package/src/assets/basket-svgrepo-com.svg +42 -0
- package/src/assets/bell-svgrepo-com.svg +44 -0
- package/src/assets/compass-svgrepo-com.svg +54 -0
- package/src/assets/home-svgrepo-com.svg +42 -0
- package/src/assets/medal-svgrepo-com.svg +53 -0
- package/src/assets/search-svgrepo-com.svg +42 -0
- package/src/assets/settings-svgrepo-com.svg +47 -0
- package/src/index.js +95 -0
- package/src/stories/API/API.jsx +47 -0
- package/src/stories/API/API.stories.js +10 -0
- package/src/stories/Agora/Call/Call.jsx +213 -0
- package/src/stories/Agora/Chat/Chat.jsx +130 -0
- package/src/stories/Agora/Chat/Chat.stories.jsx +10 -0
- package/src/stories/Agora/Chat/Components/ChatItem/ChatItem.jsx +38 -0
- package/src/stories/Agora/Chat/Components/ChatRoom/ChatRoom.jsx +167 -0
- package/src/stories/Agora/Controls/Controls.jsx +56 -0
- package/src/stories/Agora/Preview/PreviewCamera.jsx +259 -0
- package/src/stories/Agora/Preview/ShareScreen.jsx +58 -0
- package/src/stories/Agora/Room/Room.jsx +85 -0
- package/src/stories/Agora/Room/Room.stories.jsx +10 -0
- package/src/stories/Buttons/Buttons/Buttons.jsx +57 -0
- package/src/stories/Buttons/Buttons/Buttons.stories.jsx +24 -0
- package/src/stories/Buttons/ReactModal/ReactModal.jsx +81 -0
- package/src/stories/Buttons/ReactModal/ReactModal.stories.jsx +18 -0
- package/src/stories/Buttons/ReactModal/ReactModalDemo.jsx +12 -0
- package/src/stories/Chat/Chat.jsx +74 -0
- package/src/stories/Chat/Chat.stories.jsx +59 -0
- package/src/stories/Common Inputs/CheckboxGroup/CheckboxGroup.jsx +70 -0
- package/src/stories/Common Inputs/CheckboxGroup/CheckboxGroup.stories.jsx +32 -0
- package/src/stories/Common Inputs/CustomAutoComplete/CustomAutoComplete.jsx +98 -0
- package/src/stories/Common Inputs/CustomAutoComplete/CustomAutoComplete.stories.jsx +35 -0
- package/src/stories/Common Inputs/CustomDropzone/CustomDropZone.jsx +115 -0
- package/src/stories/Common Inputs/CustomDropzone/CustomDropzone.stories.jsx +26 -0
- package/src/stories/Common Inputs/CustomSelect/CustomSelect.jsx +89 -0
- package/src/stories/Common Inputs/CustomSelect/CustomSelect.stories.jsx +36 -0
- package/src/stories/Common Inputs/CustomTextarea/CustomTextarea.jsx +66 -0
- package/src/stories/Common Inputs/CustomTextarea/CustomTextarea.stories.jsx +31 -0
- package/src/stories/Common Inputs/DatePicker/DatePicker.jsx +105 -0
- package/src/stories/Common Inputs/DatePicker/DatePicker.stories.jsx +47 -0
- package/src/stories/Common Inputs/DatePicker/SingleDatePicker.jsx +91 -0
- package/src/stories/Common Inputs/DropZone.jsx +79 -0
- package/src/stories/Common Inputs/EditorComponent/EditorComponent.jsx +54 -0
- package/src/stories/Common Inputs/EditorComponent/EditorComponent.stories.jsx +60 -0
- package/src/stories/Common Inputs/EditorComponent/constants.js +26 -0
- package/src/stories/Common Inputs/Formik/InputField/InputField.jsx +24 -0
- package/src/stories/Common Inputs/Formik/InputField/InputField.stories.jsx +27 -0
- package/src/stories/Common Inputs/Formik/RadioField/RadioField.jsx +55 -0
- package/src/stories/Common Inputs/Formik/RadioField/RadioField.stories.jsx +41 -0
- package/src/stories/Common Inputs/RadioInput/RadioInput.jsx +108 -0
- package/src/stories/Common Inputs/RadioInput/RadioInput.stories.js +30 -0
- package/src/stories/Common Inputs/RichTextInput/Components/Emoji/Emoji.jsx +16 -0
- package/src/stories/Common Inputs/RichTextInput/Components/Gif/Gif.jsx +64 -0
- package/src/stories/Common Inputs/RichTextInput/RichTextInput.jsx +331 -0
- package/src/stories/Common Inputs/RichTextInput/RichTextInput.stories.js +45 -0
- package/src/stories/Common Inputs/TextField/TextField.jsx +66 -0
- package/src/stories/Common Inputs/TextField/TextField.stories.jsx +31 -0
- package/src/stories/Containers/BaseMaterial.jsx +58 -0
- package/src/stories/Containers/BaseMaterial.stories.js +10 -0
- package/src/stories/Containers/WidgetExample/WidgetBody.jsx +9 -0
- package/src/stories/Containers/WidgetExample/WidgetBody.stories.js +10 -0
- package/src/stories/Containers/WidgetExample/WidgetExample.jsx +19 -0
- package/src/stories/Containers/WidgetExample/WidgetExample.stories.js +10 -0
- package/src/stories/Containers/WidgetExample/WidgetHead.jsx +9 -0
- package/src/stories/Containers/WidgetExample/WidgetHead.stories.js +10 -0
- package/src/stories/Enrollment/Admin/CreateForm/CreateForm.jsx +62 -0
- package/src/stories/Enrollment/Admin/CreateForm/CreateForm.stories.jsx +8 -0
- package/src/stories/Enrollment/Admin/DetailedForm/DetailedForm.jsx +98 -0
- package/src/stories/Enrollment/Admin/DetailedForm/DetailedForm.stories.jsx +36 -0
- package/src/stories/Enrollment/Admin/ViewForms/ViewForms.jsx +40 -0
- package/src/stories/Enrollment/Admin/ViewForms/ViewForms.stories.jsx +66 -0
- package/src/stories/Enrollment/Guest/FillForm/FillForm.jsx +61 -0
- package/src/stories/Enrollment/Guest/FillForm/FillForm.stories.jsx +27 -0
- package/src/stories/Events/CreateEvent/CreateEvent.jsx +96 -0
- package/src/stories/Events/CreateEvent/CreateEvent.stories.jsx +19 -0
- package/src/stories/Events/Event/Event.jsx +113 -0
- package/src/stories/Events/Event/Event.stories.jsx +21 -0
- package/src/stories/Events/EventsList/EventsList.jsx +117 -0
- package/src/stories/Events/EventsList/EventsList.stories.jsx +25 -0
- package/src/stories/Forms/AddPhoto/AddPhoto.jsx +85 -0
- package/src/stories/Forms/AddPhoto/AddPhoto.stories.jsx +37 -0
- package/src/stories/Forms/AddSong/AddSong.jsx +86 -0
- package/src/stories/Forms/AddSong/AddSong.stories.jsx +26 -0
- package/src/stories/Forms/AddVideo/AddVideo.jsx +78 -0
- package/src/stories/Forms/AddVideo/AddVideo.stories.jsx +20 -0
- package/src/stories/Forms/Create-Profile/CreateProfile.jsx +278 -0
- package/src/stories/Forms/Create-Profile/CreateProfile.stories.jsx +36 -0
- package/src/stories/Forms/Create-Profile/subcomponents/LogoUploader.jsx +63 -0
- package/src/stories/Forms/Create-Profile/subcomponents/LogoUploader.stories.jsx +27 -0
- package/src/stories/Forms/Create-Profile/subcomponents/ProfilePhoto.jsx +58 -0
- package/src/stories/Forms/Create-Profile/subcomponents/ProfilePhoto.stories.jsx +26 -0
- package/src/stories/Forms/Create-Profile/subcomponents/ResetBtn.jsx +21 -0
- package/src/stories/Forms/Create-Profile/subcomponents/ResetBtn.stories.jsx +18 -0
- package/src/stories/Forms/CreateAlbum/CreateAlbum.jsx +82 -0
- package/src/stories/Forms/CreateAlbum/CreateAlbum.stories.jsx +37 -0
- package/src/stories/Forms/CreateAnnouncementForm/CreateAnnouncementForm.jsx +63 -0
- package/src/stories/Forms/CreateAnnouncementForm/CreateAnnouncementForm.stories.jsx +44 -0
- package/src/stories/Forms/CreateMusicAlbum/CreateMusicAlbum.jsx +87 -0
- package/src/stories/Forms/CreateMusicAlbum/CreateMusicAlbum.stories.jsx +38 -0
- package/src/stories/Forms/CreateProfile/CreateProfile.jsx +556 -0
- package/src/stories/Forms/CreateProfile/CreateProfile.stories.js +10 -0
- package/src/stories/Forms/CreateProfile-3/CreateProfile.jsx +488 -0
- package/src/stories/Forms/CreateProfile-3/CreateProfile.stories.js +10 -0
- package/src/stories/Forms/CreateUser/CreateUser.jsx +13 -0
- package/src/stories/Forms/CreateUser/CreateUser.stories.js +10 -0
- package/src/stories/Forms/CreateVideoAlbum/CreateVideoAlbum.jsx +78 -0
- package/src/stories/Forms/CreateVideoAlbum/CreateVideoAlbum.stories.jsx +23 -0
- package/src/stories/Forms/Form/Form.jsx +34 -0
- package/src/stories/Forms/Form/Form.stories.js +10 -0
- package/src/stories/Forms/NewProfile/NewProfile.jsx +464 -0
- package/src/stories/Forms/NewProfile/NewProfile.stories.jsx +10 -0
- package/src/stories/Forms/NewProfile/presets.json +9 -0
- package/src/stories/Layout/Body/Body.jsx +24 -0
- package/src/stories/Layout/Body/Body.stories.js +26 -0
- package/src/stories/Layout/Center/Center.jsx +16 -0
- package/src/stories/Layout/Center/Center.stories.js +14 -0
- package/src/stories/Layout/Head/Head.jsx +15 -0
- package/src/stories/Layout/Head/Head.stories.js +10 -0
- package/src/stories/Layout/Left/Left.jsx +21 -0
- package/src/stories/Layout/Left/Left.stories.js +14 -0
- package/src/stories/Layout/Right/Right.jsx +17 -0
- package/src/stories/Layout/Right/Right.stories.js +14 -0
- package/src/stories/Library/CreateFolder/CreateFolder.jsx +78 -0
- package/src/stories/Library/CreateFolder/CreateFolder.stories.jsx +32 -0
- package/src/stories/Library/Folders/Folders.jsx +117 -0
- package/src/stories/Library/Folders/Folders.stories.jsx +34 -0
- package/src/stories/Library/Notes/Notes.jsx +117 -0
- package/src/stories/Library/Notes/Notes.stories.jsx +24 -0
- package/src/stories/Library/ViewNote/ViewNote.jsx +25 -0
- package/src/stories/Library/ViewNote/ViewNote.stories.jsx +16 -0
- package/src/stories/Misc/Thumbnail/Thumbnail.jsx +79 -0
- package/src/stories/Music Album/ViewAlbum/ViewAlbum.jsx +111 -0
- package/src/stories/Music Album/ViewAlbum/ViewAlbum.stories.jsx +60 -0
- package/src/stories/Music Album/ViewAlbums/ViewAlbums.jsx +134 -0
- package/src/stories/Music Album/ViewAlbums/ViewAlbums.stories.jsx +57 -0
- package/src/stories/Navbar/Navbar.jsx +350 -0
- package/src/stories/Navbar/Navbar.stories.js +25 -0
- package/src/stories/Pages/Blank/Blank.jsx +32 -0
- package/src/stories/Pages/Blank/Blank.stories.js +10 -0
- package/src/stories/Pages/Centered/Centered.jsx +31 -0
- package/src/stories/Pages/Centered/Centered.stories.js +14 -0
- package/src/stories/Pages/Chat/Chat.jsx +82 -0
- package/src/stories/Pages/Chat/Chat.stories.jsx +53 -0
- package/src/stories/Pages/Enrollment/DetailedForm/DetailedForm.jsx +102 -0
- package/src/stories/Pages/Enrollment/DetailedForm/DetailedForm.stories.jsx +8 -0
- package/src/stories/Pages/Enrollment/FillForm/FillForm.jsx +96 -0
- package/src/stories/Pages/Enrollment/FillForm/FillForm.stories.jsx +8 -0
- package/src/stories/Pages/Enrollment/Forms/Forms.jsx +129 -0
- package/src/stories/Pages/Enrollment/Forms/Forms.stories.jsx +8 -0
- package/src/stories/Pages/Events/Event/Event.jsx +88 -0
- package/src/stories/Pages/Events/Event/Event.stories.jsx +8 -0
- package/src/stories/Pages/Events/Events/Events.jsx +110 -0
- package/src/stories/Pages/Events/Events/Events.stories.jsx +8 -0
- package/src/stories/Pages/Library/Folders/Library.jsx +118 -0
- package/src/stories/Pages/Library/Folders/Library.stories.jsx +8 -0
- package/src/stories/Pages/Library/Notes/Notes.jsx +109 -0
- package/src/stories/Pages/Library/Notes/Notes.stories.jsx +8 -0
- package/src/stories/Pages/Music/MusicAlbum/Music.jsx +159 -0
- package/src/stories/Pages/Music/MusicAlbum/Music.stories.jsx +8 -0
- package/src/stories/Pages/Music/MusicAlbums/MusicAlbums.jsx +138 -0
- package/src/stories/Pages/Music/MusicAlbums/MusicAlbums.stories.jsx +8 -0
- package/src/stories/Pages/Photos/Album/Album.jsx +120 -0
- package/src/stories/Pages/Photos/Album/Album.stories.jsx +8 -0
- package/src/stories/Pages/Photos/Albums/Albums.jsx +144 -0
- package/src/stories/Pages/Photos/Albums/Albums.stories.jsx +8 -0
- package/src/stories/Pages/Video/DetailedVideo/DetailedVideo.jsx +91 -0
- package/src/stories/Pages/Video/DetailedVideo/DetailedVideo.stories.jsx +8 -0
- package/src/stories/Pages/Video/VideoAlbum/Video.jsx +166 -0
- package/src/stories/Pages/Video/VideoAlbum/Video.stories.jsx +8 -0
- package/src/stories/Pages/ViewWorld/ViewWorld.jsx +193 -0
- package/src/stories/Pages/ViewWorld/ViewWorld.stories.js +270 -0
- package/src/stories/Pages/ViewWorld/constatnts.js +158 -0
- package/src/stories/Pages/ViewWorld/styles.json +18 -0
- package/src/stories/Photo Album/DetailedPhoto/DetailedPhoto.jsx +17 -0
- package/src/stories/Photo Album/DetailedPhoto/DetailedPhoto.stories.jsx +20 -0
- package/src/stories/Photo Album/ViewAlbum/ViewAlbum.jsx +250 -0
- package/src/stories/Photo Album/ViewAlbum/ViewAlbum.stories.jsx +60 -0
- package/src/stories/Photo Album/ViewAlbums/ViewAlbums.jsx +146 -0
- package/src/stories/Photo Album/ViewAlbums/ViewAlbums.stories.jsx +59 -0
- package/src/stories/Reusable Components/Cards/Card-style-1/CardStyle1.jsx +74 -0
- package/src/stories/Reusable Components/Cards/Card-style-1/CardStyle1.stories.jsx +22 -0
- package/src/stories/Reusable Components/Cards/Card-style-10/CardStyle10.jsx +94 -0
- package/src/stories/Reusable Components/Cards/Card-style-10/CardStyle10.stories.jsx +21 -0
- package/src/stories/Reusable Components/Cards/Card-style-11/CardStyle11.jsx +79 -0
- package/src/stories/Reusable Components/Cards/Card-style-11/CardStyle11.stories.jsx +21 -0
- package/src/stories/Reusable Components/Cards/Card-style-2/CardStyle2.jsx +75 -0
- package/src/stories/Reusable Components/Cards/Card-style-2/CardStyle2.stories.jsx +24 -0
- package/src/stories/Reusable Components/Cards/Card-style-3/CardStyle3.jsx +61 -0
- package/src/stories/Reusable Components/Cards/Card-style-3/CardStyle3.stories.jsx +22 -0
- package/src/stories/Reusable Components/Cards/Card-style-4/CardStyle4.jsx +67 -0
- package/src/stories/Reusable Components/Cards/Card-style-4/CardStyle4.stories.jsx +25 -0
- package/src/stories/Reusable Components/Cards/Card-style-6/CardStyle6.jsx +117 -0
- package/src/stories/Reusable Components/Cards/Card-style-6/CardStyle6.stories.jsx +9 -0
- package/src/stories/Reusable Components/Cards/Card-style-7/CardStyle7.jsx +126 -0
- package/src/stories/Reusable Components/Cards/Card-style-7/CardStyle7.stories.jsx +23 -0
- package/src/stories/Reusable Components/Cards/Card-style-8/CardStyle8.jsx +113 -0
- package/src/stories/Reusable Components/Cards/Card-style-8/CardStyle8.stories.jsx +29 -0
- package/src/stories/Reusable Components/Cards/Card-style-9/CardStyle9.jsx +86 -0
- package/src/stories/Reusable Components/Cards/Card-style-9/CardStyle9.stories.jsx +14 -0
- package/src/stories/Reusable Components/Cards/Card.jsx +119 -0
- package/src/stories/Reusable Components/Cards/Card.stories.jsx +118 -0
- package/src/stories/Reusable Components/Cards/globalCardStyles.js +54 -0
- package/src/stories/Reusable Components/Controls/Controls.jsx +137 -0
- package/src/stories/Reusable Components/Controls/Controls.stories.jsx +24 -0
- package/src/stories/Reusable Components/Gallery/Gallery.jsx +110 -0
- package/src/stories/Reusable Components/Gallery/Gallery.stories.jsx +43 -0
- package/src/stories/Reusable Components/Lists/Cards/ListCard-1.jsx +0 -0
- package/src/stories/Reusable Components/Lists/Cards/ListCard-1.stories.js +0 -0
- package/src/stories/Reusable Components/Lists/List.jsx +0 -0
- package/src/stories/Reusable Components/Lists/List.stories.js +0 -0
- package/src/stories/Reusable Components/Mention/Mention.jsx +69 -0
- package/src/stories/Reusable Components/Mention/Mention.stories.jsx +55 -0
- package/src/stories/Reusable Components/ReactModal/ReactModal.jsx +76 -0
- package/src/stories/Reusable Components/ReusableForm/ReusableForm.jsx +121 -0
- package/src/stories/Reusable Components/ReusableForm/ReusableForm.stories.jsx +167 -0
- package/src/stories/Reusable Components/ReusableHeader/ReusableHeader.jsx +76 -0
- package/src/stories/Reusable Components/ReusableHeader/ReusableHeader.stories.jsx +22 -0
- package/src/stories/Reusable Components/ReusableList/ReusableList.jsx +103 -0
- package/src/stories/Reusable Components/ReusableList/ReusableList.stories.jsx +70 -0
- package/src/stories/Reusable Components/SearchCard/SearchCard.jsx +89 -0
- package/src/stories/Reusable Components/SearchCard/SearchCard.stories.js +10 -0
- package/src/stories/Reusable Components/SpaceContainer/SpaceContainer.jsx +48 -0
- package/src/stories/Reusable Components/SpaceContainer/SpaceContainer.stories.jsx +78 -0
- package/src/stories/Reusable Components/Spinner/Spinner.jsx +82 -0
- package/src/stories/Reusable Components/Spinner/Spinner.stories.jsx +8 -0
- package/src/stories/Reusable Components/WidgetContainer/WidgetContainer.jsx +59 -0
- package/src/stories/Reusable Components/WidgetContainer/WidgetContainer.stories.jsx +61 -0
- package/src/stories/Reusable Components/commonStyles.js +47 -0
- package/src/stories/Reusable Components/fakeData.js +95 -0
- package/src/stories/Spaces/WelcomeSpace/WelcomeSpace.jsx +102 -0
- package/src/stories/Spaces/WelcomeSpace/WelcomeSpace.stories.js +10 -0
- package/src/stories/VideoAlbum/AlbumsGallery/AlbumsGallery.jsx +130 -0
- package/src/stories/VideoAlbum/AlbumsGallery/AlbumsGallery.stories.jsx +59 -0
- package/src/stories/VideoAlbum/Comments/Comments.jsx +58 -0
- package/src/stories/VideoAlbum/Comments/Comments.stories.jsx +18 -0
- package/src/stories/VideoAlbum/VideoPlayer/VideoPlayer.jsx +214 -0
- package/src/stories/VideoAlbum/VideoPlayer/VideoPlayer.stories.jsx +82 -0
- package/src/stories/VideoAlbum/VideoSpace/VideoSpace.jsx +101 -0
- package/src/stories/VideoAlbum/VideoSpace/VideoSpace.stories.jsx +23 -0
- package/src/stories/VideoAlbum/ViewAlbum/ViewAlbum.jsx +131 -0
- package/src/stories/VideoAlbum/ViewAlbum/ViewAlbum.stories.jsx +57 -0
- package/src/stories/Widgets/LogoWidget/LogoWidget.jsx +21 -0
- package/src/stories/Widgets/LogoWidget/LogoWidget.stories.js +12 -0
- package/src/stories/Widgets/MusicPlayer/MusicPlayer.jsx +64 -0
- package/src/stories/Widgets/MusicPlayer/MusicPlayer.stories.jsx +23 -0
- package/src/stories/Widgets/MusicPlayerWidget/MusicPlayerWidget.jsx +107 -0
- package/src/stories/Widgets/MusicPlayerWidget/MusicPlayerWidget.stories.jsx +33 -0
- package/src/stories/Widgets/SpacesList/SpacesList.jsx +16 -0
- package/src/stories/Widgets/SpacesList/SpacesList.stories.jsx +27 -0
- package/src/stories/Widgets/SpacesList/SpacesListItem.jsx +75 -0
- package/src/stories/Widgets/SpacesList/SpacesListItem.stories.jsx +10 -0
- package/src/stories/assets/camera.svg +1 -0
- package/src/stories/assets/code-brackets.svg +1 -0
- package/src/stories/assets/colors.svg +1 -0
- package/src/stories/assets/comments.svg +1 -0
- package/src/stories/assets/direction.svg +1 -0
- package/src/stories/assets/flow.svg +1 -0
- package/src/stories/assets/images/album1.jpg +0 -0
- package/src/stories/assets/images/album2.jpg +0 -0
- package/src/stories/assets/images/album3.jpg +0 -0
- package/src/stories/assets/images/album4.jpg +0 -0
- package/src/stories/assets/images/album5.jpg +0 -0
- package/src/stories/assets/images/album6.jpg +0 -0
- package/src/stories/assets/images/art.jpg +0 -0
- package/src/stories/assets/images/dance.jpg +0 -0
- package/src/stories/assets/images/football.jpg +0 -0
- package/src/stories/assets/images/music.jpg +0 -0
- package/src/stories/assets/images/music1.jpg +0 -0
- package/src/stories/assets/images/music2.jpg +0 -0
- package/src/stories/assets/images/music3.jpg +0 -0
- package/src/stories/assets/images/music4.jpg +0 -0
- package/src/stories/assets/images/music5.jpg +0 -0
- package/src/stories/assets/images/music6.jpg +0 -0
- package/src/stories/assets/images/reset.png +0 -0
- package/src/stories/assets/images/robotics.jpg +0 -0
- package/src/stories/assets/images/tennis.jpg +0 -0
- package/src/stories/assets/plugin.svg +1 -0
- package/src/stories/assets/repo.svg +1 -0
- package/src/stories/assets/reset.svg +1 -0
- package/src/stories/assets/stackalt.svg +1 -0
- package/src/stories/helpers/util.js +66 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
|
4
|
+
const ChatItem = ({ onClick, channelName, channelCaption }) => {
|
5
|
+
return (
|
6
|
+
<Item onClick={onClick}>
|
7
|
+
<ChannelName>{channelName}</ChannelName>
|
8
|
+
<ChannelTagLine>{channelCaption}</ChannelTagLine>
|
9
|
+
</Item>
|
10
|
+
);
|
11
|
+
};
|
12
|
+
|
13
|
+
const Item = styled.div`
|
14
|
+
margin-top: 10px;
|
15
|
+
width: 70%;
|
16
|
+
height: 60px;
|
17
|
+
display: flex;
|
18
|
+
flex-direction: column;
|
19
|
+
border: 1px solid black;
|
20
|
+
border-radius: 20px;
|
21
|
+
margin-left: auto;
|
22
|
+
margin-right: auto;
|
23
|
+
padding: 10px;
|
24
|
+
background-color: aliceblue;
|
25
|
+
font-family: Arial, Helvetica, sans-serif;
|
26
|
+
cursor: pointer;
|
27
|
+
`;
|
28
|
+
|
29
|
+
const ChannelName = styled.label`
|
30
|
+
font-size: 18px;
|
31
|
+
`;
|
32
|
+
const ChannelTagLine = styled.label`
|
33
|
+
font-size: 14px;
|
34
|
+
color: grey;
|
35
|
+
margin-top: 10px;
|
36
|
+
`;
|
37
|
+
|
38
|
+
export default ChatItem;
|
@@ -0,0 +1,167 @@
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import AgoraRTM from 'agora-rtm-sdk';
|
4
|
+
|
5
|
+
const appID = '3f54ddbde65d4f0ab9a9f5a46baa4310';
|
6
|
+
const client = AgoraRTM.createInstance(appID);
|
7
|
+
|
8
|
+
const ChatRoom = ({ setInChannel, channelName, user }) => {
|
9
|
+
const [message, setMessage] = useState('');
|
10
|
+
const [messages, setMessages] = useState([]);
|
11
|
+
const channel = useRef(client.createChannel(channelName)).current;
|
12
|
+
useEffect(() => {
|
13
|
+
channel.on('ChannelMessage', function (message, memberId) {
|
14
|
+
console.log('channel message:', message, 'from:', memberId);
|
15
|
+
setMessages((messages) => [
|
16
|
+
...messages,
|
17
|
+
{ text: message.text, author: memberId },
|
18
|
+
]);
|
19
|
+
updateScroll();
|
20
|
+
});
|
21
|
+
channel.on('MemberJoined', function (memberId) {
|
22
|
+
console.log('member joined:', memberId);
|
23
|
+
});
|
24
|
+
channel.on('MemberLeft', function (memberId) {
|
25
|
+
console.log('member left:', memberId);
|
26
|
+
});
|
27
|
+
}, [client, channel]);
|
28
|
+
|
29
|
+
useEffect(() => {
|
30
|
+
login();
|
31
|
+
return () => {
|
32
|
+
channel.leave();
|
33
|
+
client.logout();
|
34
|
+
};
|
35
|
+
}, []);
|
36
|
+
const login = async () => {
|
37
|
+
await client.login({ uid: user.name, token: user.token });
|
38
|
+
await channel.join().then(() => {
|
39
|
+
console.log('joined successfully');
|
40
|
+
});
|
41
|
+
};
|
42
|
+
|
43
|
+
const sendMessage = async (message) => {
|
44
|
+
console.log('message', message);
|
45
|
+
await channel.sendMessage({ text: message }).then(() => {
|
46
|
+
console.log('message sent successfully');
|
47
|
+
setMessages((messages) => [...messages, { text: message, author: 'me' }]);
|
48
|
+
updateScroll();
|
49
|
+
});
|
50
|
+
};
|
51
|
+
const updateScroll = () => {
|
52
|
+
var element = document.getElementById('chat');
|
53
|
+
element.scrollTop = element.scrollHeight;
|
54
|
+
};
|
55
|
+
return (
|
56
|
+
<Container>
|
57
|
+
<button
|
58
|
+
onClick={() => {
|
59
|
+
channel.leave();
|
60
|
+
setInChannel(false);
|
61
|
+
}}
|
62
|
+
>
|
63
|
+
Go to Channels
|
64
|
+
</button>
|
65
|
+
<LabelContainer>
|
66
|
+
<label>Welcome to {channelName}</label>
|
67
|
+
</LabelContainer>
|
68
|
+
<ChatContainer id='chat'>
|
69
|
+
{messages.map((message) => {
|
70
|
+
console.log(message);
|
71
|
+
if (message.author === 'me') {
|
72
|
+
return (
|
73
|
+
<Sent>
|
74
|
+
<Sender>{message.author}:</Sender>
|
75
|
+
<Message>{message.text}</Message>
|
76
|
+
</Sent>
|
77
|
+
);
|
78
|
+
} else {
|
79
|
+
return (
|
80
|
+
<Received>
|
81
|
+
<Sender>{message.author}:</Sender>
|
82
|
+
<Message>{message.text}</Message>
|
83
|
+
</Received>
|
84
|
+
);
|
85
|
+
}
|
86
|
+
})}
|
87
|
+
</ChatContainer>
|
88
|
+
|
89
|
+
<ChatInputContainer>
|
90
|
+
<ChatInput
|
91
|
+
placeholder='Type your message'
|
92
|
+
value={message}
|
93
|
+
onChange={(e) => setMessage(e.target.value)}
|
94
|
+
onKeyUp={(e) => {
|
95
|
+
console.log('message', e.target.value);
|
96
|
+
if (e.key === 'Enter') {
|
97
|
+
sendMessage(e.target.value);
|
98
|
+
setMessage('');
|
99
|
+
}
|
100
|
+
}}
|
101
|
+
/>
|
102
|
+
</ChatInputContainer>
|
103
|
+
</Container>
|
104
|
+
);
|
105
|
+
};
|
106
|
+
const Container = styled.div`
|
107
|
+
width: 100%;
|
108
|
+
`;
|
109
|
+
|
110
|
+
const ChatContainer = styled.div`
|
111
|
+
width: 100%;
|
112
|
+
height: 350px;
|
113
|
+
border: 1px solid black;
|
114
|
+
display: flex;
|
115
|
+
flex-direction: column;
|
116
|
+
overflow-y: auto;
|
117
|
+
margin: auto;
|
118
|
+
padding-bottom: 10px;
|
119
|
+
font-family: Arial, Helvetica, sans-serif;
|
120
|
+
`;
|
121
|
+
|
122
|
+
const Received = styled.div`
|
123
|
+
border: 1px solid #fdfdfd;
|
124
|
+
width: 50%;
|
125
|
+
margin: 15px;
|
126
|
+
padding: 10px;
|
127
|
+
display: flex;
|
128
|
+
flex-direction: column;
|
129
|
+
border-radius: 20px;
|
130
|
+
background-color: #f5f5f5;
|
131
|
+
font-weight: 500;
|
132
|
+
`;
|
133
|
+
|
134
|
+
const Sent = styled.div`
|
135
|
+
border: 1px solid #fdfdfd;
|
136
|
+
border-radius: 20px;
|
137
|
+
background-color: blue;
|
138
|
+
color: white;
|
139
|
+
font-weight: 500;
|
140
|
+
width: 50%;
|
141
|
+
margin: 15px;
|
142
|
+
margin-left: auto;
|
143
|
+
padding: 5px;
|
144
|
+
display: flex;
|
145
|
+
flex-direction: column;
|
146
|
+
`;
|
147
|
+
const Sender = styled.label``;
|
148
|
+
|
149
|
+
const Message = styled.label`
|
150
|
+
margin-left: 5px;
|
151
|
+
`;
|
152
|
+
const ChatInputContainer = styled.div`
|
153
|
+
margin-top: 20px;
|
154
|
+
`;
|
155
|
+
const ChatInput = styled.input`
|
156
|
+
width: 100%;
|
157
|
+
height: 30px;
|
158
|
+
border: 1px solid black;
|
159
|
+
margin: auto;
|
160
|
+
display: flex;
|
161
|
+
padding: 3px;
|
162
|
+
`;
|
163
|
+
const LabelContainer = styled.div`
|
164
|
+
display: flex;
|
165
|
+
justify-content: center;
|
166
|
+
`;
|
167
|
+
export default ChatRoom;
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import styled from 'styled-components';
|
3
|
+
import ShareScreen from '../Preview/ShareScreen';
|
4
|
+
|
5
|
+
const Controls = ({ muteVideo, pauseVideo }) => {
|
6
|
+
const [muted, setMuted] = useState(false);
|
7
|
+
const [stopVideo, setStopVideo] = useState(false);
|
8
|
+
const [screenShared, setScreenShared] = useState(false);
|
9
|
+
return (
|
10
|
+
<Container>
|
11
|
+
<MuteButton
|
12
|
+
onClick={() => {
|
13
|
+
setMuted(!muted);
|
14
|
+
muteVideo(!muted);
|
15
|
+
}}
|
16
|
+
muted={muted}
|
17
|
+
>
|
18
|
+
Mute
|
19
|
+
</MuteButton>
|
20
|
+
<StopVideoButton
|
21
|
+
onClick={() => {
|
22
|
+
setStopVideo(!stopVideo);
|
23
|
+
pauseVideo(!stopVideo);
|
24
|
+
}}
|
25
|
+
stopped={stopVideo}
|
26
|
+
>
|
27
|
+
Stop Video
|
28
|
+
</StopVideoButton>
|
29
|
+
<ShareScreenButton
|
30
|
+
onClick={() => {
|
31
|
+
setScreenShared(!screenShared);
|
32
|
+
}}
|
33
|
+
color={screenShared}
|
34
|
+
>
|
35
|
+
{screenShared ? 'Stop' : 'Share'} Screen
|
36
|
+
</ShareScreenButton>
|
37
|
+
{screenShared && <ShareScreen />}
|
38
|
+
</Container>
|
39
|
+
);
|
40
|
+
};
|
41
|
+
|
42
|
+
const Container = styled.div`
|
43
|
+
margin-left: 120px;
|
44
|
+
`;
|
45
|
+
const MuteButton = styled.button`
|
46
|
+
background-color: ${(props) => (props.muted ? 'black' : 'grey')};
|
47
|
+
`;
|
48
|
+
|
49
|
+
const StopVideoButton = styled.button`
|
50
|
+
background-color: ${(props) => (props.stopped ? 'black' : 'grey')};
|
51
|
+
`;
|
52
|
+
|
53
|
+
const ShareScreenButton = styled.button`
|
54
|
+
background-color: ${(props) => (props.color ? 'blue' : 'grey')};
|
55
|
+
`;
|
56
|
+
export default Controls;
|
@@ -0,0 +1,259 @@
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
2
|
+
import {
|
3
|
+
createCameraVideoTrack,
|
4
|
+
getDevices,
|
5
|
+
createClient,
|
6
|
+
createMicrophoneAudioTrack,
|
7
|
+
} from 'agora-rtc-react';
|
8
|
+
import styled from 'styled-components';
|
9
|
+
const rtc = {
|
10
|
+
localVideoTrack: null,
|
11
|
+
localAudioTrack: null,
|
12
|
+
};
|
13
|
+
|
14
|
+
var options = {
|
15
|
+
appid: '3f54ddbde65d4f0ab9a9f5a46baa4310',
|
16
|
+
channel: 'bcd',
|
17
|
+
uid: '123',
|
18
|
+
token:
|
19
|
+
'0063f54ddbde65d4f0ab9a9f5a46baa4310IAALsgGjVTL2Av/GANIuUU61cNObFj9T7krqkn2UG1uXeHlbHbAAAAAAEAAw9+/yVoJUYQEAAQBWglRh',
|
20
|
+
audienceLatency: 2,
|
21
|
+
};
|
22
|
+
const createCameraTrack = createCameraVideoTrack();
|
23
|
+
const createAudioTrack = createMicrophoneAudioTrack();
|
24
|
+
const useuplinkClient = createClient();
|
25
|
+
const usedownlinkClient = createClient();
|
26
|
+
|
27
|
+
export const PreviewCamera = ({ getDeviceIds, token, uid, uid2, token2 }) => {
|
28
|
+
const [audioDevices, setAudioDevices] = useState([]);
|
29
|
+
const [videoDevices, setVideoDevices] = useState([]);
|
30
|
+
const [selectedAudioDevice, setSelectedAudioDevice] = useState();
|
31
|
+
const [selectedVideoDevice, setSelectedVideoDevice] = useState();
|
32
|
+
const [muted, setMuted] = useState(false);
|
33
|
+
const uplinkClient = useuplinkClient();
|
34
|
+
const downlinkClient = usedownlinkClient();
|
35
|
+
const localVideo = createCameraTrack();
|
36
|
+
const localAudio = createAudioTrack();
|
37
|
+
rtc.localAudioTrack = localAudio.track;
|
38
|
+
rtc.localVideoTrack = localVideo.track;
|
39
|
+
const localPlayerContainer = document.createElement('div');
|
40
|
+
localPlayerContainer.id = 'player';
|
41
|
+
if (localPlayerContainer && rtc.localVideoTrack) {
|
42
|
+
localPlayerContainer.style.width = '450px';
|
43
|
+
localPlayerContainer.style.height = '360px';
|
44
|
+
localPlayerContainer.style.borderRadius = '10px';
|
45
|
+
const container = document.getElementById('playerContainer');
|
46
|
+
container.appendChild(localPlayerContainer);
|
47
|
+
rtc.localVideoTrack.play(localPlayerContainer);
|
48
|
+
}
|
49
|
+
|
50
|
+
useEffect(() => {
|
51
|
+
getDevices().then((devices) => {
|
52
|
+
const audioDeviceList = devices.filter(function (device) {
|
53
|
+
return device.kind === 'audioinput';
|
54
|
+
});
|
55
|
+
const videoDeviceList = devices.filter(function (device) {
|
56
|
+
return device.kind === 'videoinput';
|
57
|
+
});
|
58
|
+
setSelectedAudioDevice(audioDeviceList[0]?.deviceId);
|
59
|
+
setAudioDevices(audioDeviceList);
|
60
|
+
setSelectedVideoDevice(videoDeviceList[0]?.deviceId);
|
61
|
+
setVideoDevices(videoDeviceList);
|
62
|
+
});
|
63
|
+
|
64
|
+
return () => {
|
65
|
+
rtc.localVideoTrack.stop();
|
66
|
+
rtc.localVideoTrack.close();
|
67
|
+
rtc.localAudioTrack.stop();
|
68
|
+
rtc.localAudioTrack.close();
|
69
|
+
uplinkClient.leave();
|
70
|
+
downlinkClient.leave();
|
71
|
+
uplinkClient.removeAllListeners();
|
72
|
+
downlinkClient.removeAllListeners();
|
73
|
+
const player = document.getElementById('player');
|
74
|
+
player.remove();
|
75
|
+
|
76
|
+
};
|
77
|
+
}, []);
|
78
|
+
useEffect(() => {
|
79
|
+
let init = async () => {
|
80
|
+
downlinkClient.on('user-published', (user, mediaType) => {
|
81
|
+
downlinkClient.subscribe(user, mediaType);
|
82
|
+
});
|
83
|
+
downlinkClient.on('network-quality', (quality) => {
|
84
|
+
const networkQuality = quality.downlinkNetworkQuality;
|
85
|
+
const networkAdapters = document.getElementsByClassName(
|
86
|
+
'networkAdapter'
|
87
|
+
);
|
88
|
+
networkAdapters.forEach((networkAdapter) => {
|
89
|
+
if (networkQuality === 1) {
|
90
|
+
networkAdapter.style.backgroundColor = 'green';
|
91
|
+
}
|
92
|
+
if (networkQuality === 3) {
|
93
|
+
networkAdapter.style.backgroundColor = 'yellow';
|
94
|
+
}
|
95
|
+
if (networkQuality === 5) {
|
96
|
+
networkAdapter.style.backgroundColor = 'red';
|
97
|
+
}
|
98
|
+
});
|
99
|
+
});
|
100
|
+
uplinkClient.on('network-quality', (quality) => {
|
101
|
+
const networkQuality = quality.uplinkNetworkQuality;
|
102
|
+
const networkAdapters = document.getElementsByClassName(
|
103
|
+
'networkAdapter'
|
104
|
+
);
|
105
|
+
networkAdapters.forEach((networkAdapter) => {
|
106
|
+
if (networkQuality === 1) {
|
107
|
+
networkAdapter.style.backgroundColor = 'green';
|
108
|
+
}
|
109
|
+
if (networkQuality === 3) {
|
110
|
+
networkAdapter.style.backgroundColor = 'yellow';
|
111
|
+
}
|
112
|
+
if (networkQuality === 5) {
|
113
|
+
networkAdapter.style.backgroundColor = 'red';
|
114
|
+
}
|
115
|
+
});
|
116
|
+
});
|
117
|
+
|
118
|
+
await uplinkClient.join(
|
119
|
+
options.appid,
|
120
|
+
options.channel,
|
121
|
+
token || null,
|
122
|
+
uid
|
123
|
+
);
|
124
|
+
await downlinkClient.join(
|
125
|
+
options.appid,
|
126
|
+
options.channel,
|
127
|
+
token2 || null,
|
128
|
+
uid2
|
129
|
+
);
|
130
|
+
uplinkClient.publish([rtc.localAudioTrack, rtc.localVideoTrack]);
|
131
|
+
};
|
132
|
+
if (rtc.localAudioTrack && rtc.localVideoTrack) {
|
133
|
+
init();
|
134
|
+
}
|
135
|
+
}, [rtc.localAudioTrack, rtc.localVideoTrack]);
|
136
|
+
getDeviceIds({ selectedAudioDevice, selectedVideoDevice });
|
137
|
+
|
138
|
+
// Get the uplink statistics
|
139
|
+
const uplinkVideoStats = uplinkClient.getLocalVideoStats();
|
140
|
+
|
141
|
+
return (
|
142
|
+
<Container>
|
143
|
+
<h1>handsome preview</h1>
|
144
|
+
{/* <button
|
145
|
+
onClick={() => {
|
146
|
+
setMuted(!muted);
|
147
|
+
}}
|
148
|
+
style={{
|
149
|
+
backgroundColor: `${muted ? 'black' : 'grey'}`,
|
150
|
+
color: 'white',
|
151
|
+
}}
|
152
|
+
>
|
153
|
+
Mute
|
154
|
+
</button> */}
|
155
|
+
<OptionContainer>
|
156
|
+
<TextContainer>
|
157
|
+
<h3>Audio Device</h3>
|
158
|
+
</TextContainer>
|
159
|
+
<DropDownContainer>
|
160
|
+
<select>
|
161
|
+
{audioDevices?.map((audioDevice, i) => {
|
162
|
+
return (
|
163
|
+
<option
|
164
|
+
onClick={() => {
|
165
|
+
setSelectedAudioDevice(audioDevice.id);
|
166
|
+
}}
|
167
|
+
key={i}
|
168
|
+
>
|
169
|
+
{audioDevice.label}
|
170
|
+
</option>
|
171
|
+
);
|
172
|
+
})}
|
173
|
+
</select>
|
174
|
+
</DropDownContainer>
|
175
|
+
</OptionContainer>
|
176
|
+
<OptionContainer>
|
177
|
+
<TextContainer>
|
178
|
+
<h3>Video device</h3>
|
179
|
+
</TextContainer>
|
180
|
+
<DropDownContainer>
|
181
|
+
<select>
|
182
|
+
{videoDevices?.map((videoDevice, i) => {
|
183
|
+
return (
|
184
|
+
<option
|
185
|
+
onClick={() => {
|
186
|
+
setSelectedVideoDevice(videoDevice.id);
|
187
|
+
|
188
|
+
rtc.localVideoTrack.setDevice(videoDevice.id).then(() => {
|
189
|
+
});
|
190
|
+
}}
|
191
|
+
key={i}
|
192
|
+
>
|
193
|
+
{videoDevice.label}
|
194
|
+
</option>
|
195
|
+
);
|
196
|
+
})}
|
197
|
+
</select>
|
198
|
+
</DropDownContainer>
|
199
|
+
</OptionContainer>
|
200
|
+
<OptionContainer>
|
201
|
+
<NetworkContainer>
|
202
|
+
<TextContainer>
|
203
|
+
<h3>Network Quality</h3>
|
204
|
+
</TextContainer>
|
205
|
+
<NetworkAdapterContainer>
|
206
|
+
<NetworkAdapter className='networkAdapter' />
|
207
|
+
<NetworkAdapter className='networkAdapter' />
|
208
|
+
<NetworkAdapter className='networkAdapter' />
|
209
|
+
<NetworkAdapter className='networkAdapter' />
|
210
|
+
<NetworkAdapter className='networkAdapter' />
|
211
|
+
</NetworkAdapterContainer>
|
212
|
+
</NetworkContainer>
|
213
|
+
</OptionContainer>
|
214
|
+
<div id='playerContainer'>
|
215
|
+
<div id='player'></div>
|
216
|
+
</div>
|
217
|
+
</Container>
|
218
|
+
);
|
219
|
+
};
|
220
|
+
|
221
|
+
const Container = styled.div`
|
222
|
+
display: flex;
|
223
|
+
flex-direction: column;
|
224
|
+
`;
|
225
|
+
|
226
|
+
const OptionContainer = styled.div`
|
227
|
+
display: flex;
|
228
|
+
align-items: center;
|
229
|
+
width: 50%;
|
230
|
+
justify-content: space-between;
|
231
|
+
border-bottom: 1px solid grey;
|
232
|
+
`;
|
233
|
+
|
234
|
+
const TextContainer = styled.div`
|
235
|
+
/* margin-right: 20px; */
|
236
|
+
`;
|
237
|
+
const DropDownContainer = styled.div`
|
238
|
+
height: 20px;
|
239
|
+
width: 40%;
|
240
|
+
margin-bottom: 5px;
|
241
|
+
`;
|
242
|
+
|
243
|
+
const NetworkContainer = styled.div`
|
244
|
+
display: flex;
|
245
|
+
align-items: center;
|
246
|
+
justify-content: space-between;
|
247
|
+
width: 100%;
|
248
|
+
`;
|
249
|
+
const NetworkAdapterContainer = styled.div`
|
250
|
+
border: 1px solid black;
|
251
|
+
display: flex;
|
252
|
+
align-items: center;
|
253
|
+
justify-content: space-between;
|
254
|
+
width: 57px;
|
255
|
+
`;
|
256
|
+
const NetworkAdapter = styled.div`
|
257
|
+
width: 10px;
|
258
|
+
height: 10px;
|
259
|
+
`;
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
2
|
+
import axios from 'axios';
|
3
|
+
import { createScreenVideoTrack, createClient } from 'agora-rtc-react';
|
4
|
+
import styled from 'styled-components';
|
5
|
+
const rtc = {
|
6
|
+
localVideoTrack: null,
|
7
|
+
};
|
8
|
+
const config = {
|
9
|
+
mode: 'rtc',
|
10
|
+
codec: 'vp8',
|
11
|
+
};
|
12
|
+
const createScreenTrack = () =>
|
13
|
+
createScreenVideoTrack({
|
14
|
+
encoderConfig: '480p_1',
|
15
|
+
optimizationMode: 'detail',
|
16
|
+
});
|
17
|
+
var options = {
|
18
|
+
appid: '3f54ddbde65d4f0ab9a9f5a46baa4310',
|
19
|
+
channel: 'bcd',
|
20
|
+
uid: '123',
|
21
|
+
token:
|
22
|
+
'0063f54ddbde65d4f0ab9a9f5a46baa4310IABfwrauypm943Sff/0EgA8ZZgYszFEd918opDbcDyTQMnlbHbAAAAAAEAApikciJ9RVYQEAAQAn1FVh',
|
23
|
+
audienceLatency: 2,
|
24
|
+
};
|
25
|
+
const useClient = createClient(config);
|
26
|
+
const ShareScreen = () => {
|
27
|
+
const client = useClient();
|
28
|
+
const [uid, setUid] = useState();
|
29
|
+
const [token, setToken] = useState();
|
30
|
+
const useLocalScreenTrack = createScreenTrack();
|
31
|
+
rtc.localVideoTrack = useLocalScreenTrack().tracks;
|
32
|
+
useEffect(() => {
|
33
|
+
const _uid = Math.floor(Math.random() * 1000);
|
34
|
+
setUid(_uid);
|
35
|
+
axios.get(`/getToken/${_uid}`).then((res) => setToken(res.data.token));
|
36
|
+
}, []);
|
37
|
+
useEffect(() => {
|
38
|
+
let init = async () => {
|
39
|
+
await client.join(options.appid, options.channel, token, uid);
|
40
|
+
await client.publish(rtc.localVideoTrack);
|
41
|
+
};
|
42
|
+
if (rtc.localVideoTrack && uid && token) {
|
43
|
+
init();
|
44
|
+
}
|
45
|
+
}, [client, rtc.localVideoTrack, uid, token]);
|
46
|
+
|
47
|
+
useEffect(() => {
|
48
|
+
return () => {
|
49
|
+
rtc.localVideoTrack.stop();
|
50
|
+
rtc.localVideoTrack.close();
|
51
|
+
client.leave();
|
52
|
+
client.removeAllListeners();
|
53
|
+
};
|
54
|
+
}, []);
|
55
|
+
return <div></div>;
|
56
|
+
};
|
57
|
+
|
58
|
+
export default ShareScreen;
|
@@ -0,0 +1,85 @@
|
|
1
|
+
import React, { useState, useRef, useEffect } from 'react';
|
2
|
+
import axios from 'axios';
|
3
|
+
import { PreviewCamera } from '../Preview/PreviewCamera';
|
4
|
+
// import VideoCall from '../VideoCall/VideoCall';
|
5
|
+
import Call from '../Call/Call';
|
6
|
+
const Room = () => {
|
7
|
+
const [source, setSource] = useState(0);
|
8
|
+
const [join, setJoin] = useState(false);
|
9
|
+
const [token, setToken] = useState('');
|
10
|
+
const [token2, setToken2] = useState('');
|
11
|
+
const videoDeviceId = useRef();
|
12
|
+
const audioDeviceId = useRef();
|
13
|
+
const [uid, setUid] = useState();
|
14
|
+
const [uid2, setUid2] = useState();
|
15
|
+
useEffect(() => {
|
16
|
+
const _uid = Math.floor(Math.random() * 1000);
|
17
|
+
setUid(_uid);
|
18
|
+
const _uid2 = Math.floor(Math.random() * 1000);
|
19
|
+
setUid2(_uid2);
|
20
|
+
axios
|
21
|
+
.get(`/getToken/${_uid}`)
|
22
|
+
.then((response) => setToken(response.data.token));
|
23
|
+
|
24
|
+
axios
|
25
|
+
.get(`/getToken/${_uid2}`)
|
26
|
+
.then((response) => setToken2(response.data.token));
|
27
|
+
|
28
|
+
}, []);
|
29
|
+
return (
|
30
|
+
<div>
|
31
|
+
<h1>Room</h1>
|
32
|
+
<button onClick={() => setSource(0)}>Preview</button>
|
33
|
+
<button
|
34
|
+
onClick={() => {
|
35
|
+
setJoin(true);
|
36
|
+
}}
|
37
|
+
>
|
38
|
+
Join Video Call
|
39
|
+
</button>
|
40
|
+
<button
|
41
|
+
onClick={() => {
|
42
|
+
setJoin(false);
|
43
|
+
}}
|
44
|
+
>
|
45
|
+
Leave video call
|
46
|
+
</button>
|
47
|
+
{!join && source === 0 && token.length > 0 && uid && (
|
48
|
+
<PreviewCamera
|
49
|
+
token={token}
|
50
|
+
token2={token2}
|
51
|
+
uid={uid}
|
52
|
+
uid2={uid2}
|
53
|
+
getDeviceIds={({ selectedAudioDevice, selectedVideoDevice }) => {
|
54
|
+
if (selectedAudioDevice) {
|
55
|
+
audioDeviceId.current = selectedAudioDevice;
|
56
|
+
}
|
57
|
+
if (selectedVideoDevice) {
|
58
|
+
videoDeviceId.current = selectedVideoDevice;
|
59
|
+
}
|
60
|
+
}}
|
61
|
+
/>
|
62
|
+
)}
|
63
|
+
|
64
|
+
{/* {join && (
|
65
|
+
<VideoCall
|
66
|
+
videoDeviceId={videoDeviceId.current}
|
67
|
+
audioDeviceId={audioDeviceId.current}
|
68
|
+
source={source}
|
69
|
+
join={true}
|
70
|
+
/>
|
71
|
+
)} */}
|
72
|
+
|
73
|
+
{join && token.length > 0 && uid && (
|
74
|
+
<Call
|
75
|
+
videoDeviceId={videoDeviceId.current}
|
76
|
+
audioDeviceId={audioDeviceId.current}
|
77
|
+
token={token}
|
78
|
+
uid={uid}
|
79
|
+
/>
|
80
|
+
)}
|
81
|
+
</div>
|
82
|
+
);
|
83
|
+
};
|
84
|
+
|
85
|
+
export default Room;
|