bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/end-meeting-confirmation/container.jsx
2024-04-11 09:53:58 -03:00

34 lines
1.1 KiB
JavaScript

import React from 'react';
import { withTracker } from 'meteor/react-meteor-data';
import { useMutation, useSubscription } from '@apollo/client';
import EndMeetingComponent from './component';
import Service from './service';
import logger from '/imports/startup/client/logger';
import { MEETING_END } from './mutations';
import { USER_AGGREGATE_COUNT_SUBSCRIPTION } from '/imports/ui/core/graphql/queries/users';
const EndMeetingContainer = (props) => {
const [meetingEnd] = useMutation(MEETING_END);
const {
data: countData,
} = useSubscription(USER_AGGREGATE_COUNT_SUBSCRIPTION);
const users = countData?.user_aggregate?.aggregate?.count || 0;
const { setIsOpen } = props;
const endMeeting = () => {
logger.warn({
logCode: 'moderator_forcing_end_meeting',
extraInfo: { logType: 'user_action' },
}, 'this user clicked on EndMeeting and confirmed, removing everybody from the meeting');
meetingEnd();
setIsOpen(false);
};
return <EndMeetingComponent endMeeting={endMeeting} users={users} {...props} />;
};
export default withTracker(() => ({
meetingTitle: Service.getMeetingTitle(),
}))(EndMeetingContainer);