import React from 'react'; import { withTracker } from 'meteor/react-meteor-data'; import Meetings from '/imports/api/meetings'; import Users from '/imports/api/users'; import Auth from '/imports/ui/services/auth'; import { withModalMounter } from '/imports/ui/components/modal/service'; import { makeCall } from '/imports/ui/services/api'; import RandomUserSelect from './component'; const RandomUserSelectContainer = props => ; export default withModalMounter(withTracker(({ mountModal }) => { const viewerPool = Users.find({ meetingId: Auth.meetingID, presenter: { $ne: true }, role: { $eq: 'VIEWER' }, }, { fields: { userId: 1, }, }).fetch(); const meeting = Meetings.findOne({ meetingId: Auth.meetingID }, { fields: { randomlySelectedUser: 1, }, }); const selectedUser = Users.findOne({ meetingId: Auth.meetingID, userId: meeting.randomlySelectedUser, }, { fields: { userId: 1, avatar: 1, color: 1, name: 1, }, }); const currentUser = Users.findOne( { userId: Auth.userID }, { fields: { userId: 1, presenter: 1 } }, ); const randomUserReq = () => makeCall('setRandomUser'); const clearRandomlySelectedUser = () => makeCall('clearRandomlySelectedUser'); return ({ closeModal: () => mountModal(null), numAvailableViewers: viewerPool.length, randomUserReq, selectedUser, currentUser, clearRandomlySelectedUser, }); })(RandomUserSelectContainer));