2023-11-30 19:08:16 +08:00
|
|
|
import React from 'react';
|
2018-12-13 04:10:27 +08:00
|
|
|
import { withTracker } from 'meteor/react-meteor-data';
|
2021-10-16 03:07:13 +08:00
|
|
|
import Notes from './component';
|
|
|
|
import Service from './service';
|
2022-10-24 21:11:28 +08:00
|
|
|
import { layoutSelectInput, layoutDispatch, layoutSelectOutput } from '../layout/context';
|
2023-11-30 19:08:16 +08:00
|
|
|
import useCurrentUser from '/imports/ui/core/hooks/useCurrentUser';
|
2024-01-16 03:49:09 +08:00
|
|
|
import NotesContainerGraphql from './notes-graphql/component';
|
2024-04-25 00:07:06 +08:00
|
|
|
import { useSubscription } from '@apollo/client';
|
|
|
|
import { PINNED_PAD_SUBSCRIPTION } from './notes-graphql/queries';
|
|
|
|
|
|
|
|
const NOTES_CONFIG = window.meetingClientSettings.public.notes;
|
2018-12-13 04:10:27 +08:00
|
|
|
|
2021-10-16 03:07:13 +08:00
|
|
|
const Container = ({ ...props }) => {
|
2021-09-11 04:48:52 +08:00
|
|
|
const cameraDock = layoutSelectInput((i) => i.cameraDock);
|
2022-10-24 21:11:28 +08:00
|
|
|
const sharedNotesOutput = layoutSelectOutput((i) => i.sharedNotes);
|
|
|
|
const sidebarContent = layoutSelectInput((i) => i.sidebarContent);
|
2021-08-19 21:05:25 +08:00
|
|
|
const { isResizing } = cameraDock;
|
2021-09-11 04:48:52 +08:00
|
|
|
const layoutContextDispatch = layoutDispatch();
|
2023-11-30 19:08:16 +08:00
|
|
|
const { data: currentUserData } = useCurrentUser((user) => ({
|
|
|
|
presenter: user.presenter,
|
|
|
|
}));
|
|
|
|
const amIPresenter = currentUserData?.presenter;
|
2021-09-10 04:49:15 +08:00
|
|
|
|
2024-04-25 00:07:06 +08:00
|
|
|
const { data: pinnedPadData } = useSubscription(PINNED_PAD_SUBSCRIPTION);
|
|
|
|
const shouldShowSharedNotesOnPresentationArea = !!pinnedPadData
|
|
|
|
&& pinnedPadData.sharedNotes[0]?.sharedNotesExtId === NOTES_CONFIG.id;
|
|
|
|
|
2022-10-24 21:11:28 +08:00
|
|
|
return <Notes {...{
|
|
|
|
layoutContextDispatch,
|
|
|
|
isResizing,
|
|
|
|
sidebarContent,
|
|
|
|
sharedNotesOutput,
|
2022-11-03 19:56:03 +08:00
|
|
|
amIPresenter,
|
2024-04-25 00:07:06 +08:00
|
|
|
shouldShowSharedNotesOnPresentationArea,
|
2022-10-24 21:11:28 +08:00
|
|
|
...props
|
|
|
|
}} />;
|
2021-05-18 04:25:07 +08:00
|
|
|
};
|
2018-12-13 04:10:27 +08:00
|
|
|
|
2024-01-16 03:49:09 +08:00
|
|
|
withTracker(() => {
|
2021-10-16 03:07:13 +08:00
|
|
|
const hasPermission = Service.hasPermission();
|
2019-08-27 22:56:50 +08:00
|
|
|
const isRTL = document.documentElement.getAttribute('dir') === 'rtl';
|
2018-12-13 04:10:27 +08:00
|
|
|
return {
|
2021-10-16 03:07:13 +08:00
|
|
|
hasPermission,
|
2019-08-27 22:56:50 +08:00
|
|
|
isRTL,
|
2024-02-23 21:42:12 +08:00
|
|
|
isGridEnabled: Session.get('isGridEnabled') || false,
|
2018-12-13 04:10:27 +08:00
|
|
|
};
|
2021-10-16 03:07:13 +08:00
|
|
|
})(Container);
|
2024-01-16 03:49:09 +08:00
|
|
|
|
|
|
|
export default NotesContainerGraphql;
|