added toggle aside method
This commit is contained in:
parent
dadd8c6d2b
commit
f18c2d2d62
|
|
@ -98,7 +98,7 @@ export const PeopleAside = () => {
|
|||
const { showAside, setShowAside } = useUIState();
|
||||
const { allParticipants, isOwner } = useParticipants();
|
||||
|
||||
if (!showAside && showAside !== PEOPLE_ASIDE) {
|
||||
if (!showAside || showAside !== PEOPLE_ASIDE) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,7 @@ import { Tray, TrayButton } from './Tray';
|
|||
|
||||
export const BasicTray = () => {
|
||||
const { callObject, leave } = useCallState();
|
||||
const { customTrayComponent, setShowDeviceModal, setShowAside } =
|
||||
useUIState();
|
||||
const { customTrayComponent, setShowDeviceModal, toggleAside } = useUIState();
|
||||
const { isCamMuted, isMicMuted } = useMediaDevices();
|
||||
|
||||
const toggleCamera = (newState) => {
|
||||
|
|
@ -48,10 +47,7 @@ export const BasicTray = () => {
|
|||
<IconSettings />
|
||||
</TrayButton>
|
||||
|
||||
<TrayButton
|
||||
label="People"
|
||||
onClick={() => setShowAside((p) => (p ? null : PEOPLE_ASIDE))}
|
||||
>
|
||||
<TrayButton label="People" onClick={() => toggleAside(PEOPLE_ASIDE)}>
|
||||
<IconPeople />
|
||||
</TrayButton>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import React, { createContext, useContext, useState } from 'react';
|
||||
import React, { useCallback, createContext, useContext, useState } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
export const UIStateContext = createContext();
|
||||
|
|
@ -7,6 +7,10 @@ export const UIStateProvider = ({ asides, customTrayComponent, children }) => {
|
|||
const [showDeviceModal, setShowDeviceModal] = useState(false);
|
||||
const [showAside, setShowAside] = useState();
|
||||
|
||||
const toggleAside = useCallback((newAside) => {
|
||||
setShowAside((p) => (p === newAside ? null : newAside));
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<UIStateContext.Provider
|
||||
value={{
|
||||
|
|
@ -14,6 +18,7 @@ export const UIStateProvider = ({ asides, customTrayComponent, children }) => {
|
|||
customTrayComponent,
|
||||
showDeviceModal,
|
||||
setShowDeviceModal,
|
||||
toggleAside,
|
||||
showAside,
|
||||
setShowAside,
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
import React from 'react';
|
||||
import Aside from '@dailyjs/shared/components/Aside';
|
||||
import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider';
|
||||
|
||||
export const CHAT_ASIDE = 'chat';
|
||||
|
||||
export const ChatAside = () => {
|
||||
const { showAside, setShowAside } = useUIState();
|
||||
|
||||
if (!showAside || showAside !== CHAT_ASIDE) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<Aside onClose={() => setShowAside(false)}>Hello I am teh chat aside</Aside>
|
||||
);
|
||||
};
|
||||
|
||||
export default ChatAside;
|
||||
|
|
@ -0,0 +1 @@
|
|||
export { ChatAside as default } from './ChatAside';
|
||||
|
|
@ -1,14 +1,20 @@
|
|||
import React from 'react';
|
||||
|
||||
import { TrayButton } from '@dailyjs/shared/components/Tray';
|
||||
import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider';
|
||||
import { ReactComponent as IconChat } from '@dailyjs/shared/icons/chat-md.svg';
|
||||
import { CHAT_ASIDE } from '../ChatAside/ChatAside';
|
||||
|
||||
export const Tray = () => (
|
||||
<>
|
||||
<TrayButton label="Chat">
|
||||
<IconChat />
|
||||
</TrayButton>
|
||||
</>
|
||||
);
|
||||
export const Tray = () => {
|
||||
const { toggleAside } = useUIState();
|
||||
|
||||
return (
|
||||
<>
|
||||
<TrayButton label="Chat" onClick={() => toggleAside(CHAT_ASIDE)}>
|
||||
<IconChat />
|
||||
</TrayButton>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default Tray;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
import React from 'react';
|
||||
import App from '@dailyjs/basic-call/pages/_app';
|
||||
|
||||
import ChatAside from '../components/ChatAside/ChatAside';
|
||||
import Tray from '../components/Tray';
|
||||
|
||||
App.asides = [];
|
||||
App.asides = [ChatAside];
|
||||
App.customTrayComponent = <Tray />;
|
||||
|
||||
export default App;
|
||||
|
|
|
|||
Loading…
Reference in New Issue