// import { AppModule } from '/imports/client/views/app/module/index' import { composeWithTracker, compose, composeAll } from 'react-komposer'; import { AdminAppLayout } from './AdminAppLayout'; import { Loading } from '/imports/client/components/Loading'; import { Users } from '/imports/collections/users/index'; import { Orgs } from '/imports/collections/orgs/index'; const meteorTick = (props, onData) => { const handles = [ Meteor.subscribe('users.current'), Meteor.subscribe('orgs.current'), Meteor.subscribe('users.forMyOrg'), Meteor.subscribe('student.forMyOrg'), ]; if(_.every(handles, (handle) => (handle.ready()) )) { const user = Users.current(); const org = Orgs.current(); onData(null, { data: { user: user, org: org, }, }); } return () => { _.each(handles, (handle) => handle.stop() ); }; }; const reduxTick = (props, onData) => { onData(null, { location: props.location, data: {} }); }; export const AdminAppModule = composeAll( composeWithTracker(meteorTick, Loading), compose(reduxTick, Loading), )(AdminAppLayout);