2c8d39c471
Adds a check for unmounting the sidebar content when the display option from layout context is `false`.
45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
import React from 'react';
|
|
import SidebarContent from './component';
|
|
import { layoutSelectInput, layoutSelectOutput, layoutDispatch } from '../layout/context';
|
|
|
|
import {
|
|
CURRENT_PRESENTATION_PAGE_SUBSCRIPTION,
|
|
} from '/imports/ui/components/whiteboard/queries';
|
|
import useCurrentUser from '/imports/ui/core/hooks/useCurrentUser';
|
|
import useDeduplicatedSubscription from '../../core/hooks/useDeduplicatedSubscription';
|
|
|
|
const SidebarContentContainer = () => {
|
|
const sidebarContentInput = layoutSelectInput((i) => i.sidebarContent);
|
|
const sidebarContentOutput = layoutSelectOutput((i) => i.sidebarContent);
|
|
const layoutContextDispatch = layoutDispatch();
|
|
const { sidebarContentPanel } = sidebarContentInput;
|
|
const { data: currentUserData } = useCurrentUser((user) => ({
|
|
presenter: user.presenter,
|
|
isModerator: user.isModerator,
|
|
}));
|
|
const amIPresenter = currentUserData?.presenter;
|
|
const amIModerator = currentUserData?.isModerator;
|
|
|
|
const { data: presentationPageData } = useDeduplicatedSubscription(
|
|
CURRENT_PRESENTATION_PAGE_SUBSCRIPTION,
|
|
);
|
|
const presentationPage = presentationPageData?.pres_page_curr[0] || {};
|
|
|
|
const currentSlideId = presentationPage?.pageId;
|
|
|
|
if (sidebarContentOutput.display === false) return null;
|
|
|
|
return (
|
|
<SidebarContent
|
|
{...sidebarContentOutput}
|
|
contextDispatch={layoutContextDispatch}
|
|
sidebarContentPanel={sidebarContentPanel}
|
|
amIPresenter={amIPresenter}
|
|
amIModerator={amIModerator}
|
|
currentSlideId={currentSlideId}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default SidebarContentContainer;
|