You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

EmbedMeetingTrigger.js 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // @flow
  2. import React from 'react';
  3. import { connect } from 'react-redux';
  4. import { openDialog } from '../../base/dialog';
  5. import { translate } from '../../base/i18n';
  6. import EmbedMeetingDialog from './EmbedMeetingDialog';
  7. type Props = {
  8. /**
  9. * Open the embed meeting dialog
  10. */
  11. openEmbedDialog: Function,
  12. /**
  13. * Invoked to obtain translated strings.
  14. */
  15. t: Function,
  16. };
  17. /**
  18. * Component meant to trigger showing the EmbedMeetingDialog.
  19. *
  20. * @returns {React$Element<any>}
  21. */
  22. function EmbedMeetingTrigger({ t, openEmbedDialog }: Props) {
  23. /**
  24. * Handles opening the embed dialog.
  25. *
  26. * @returns {void}
  27. */
  28. function onClick() {
  29. openEmbedDialog(EmbedMeetingDialog);
  30. }
  31. return (
  32. <div
  33. className = 'embed-meeting-trigger'
  34. onClick = { onClick }>
  35. {t('embedMeeting.title')}
  36. </div>
  37. );
  38. }
  39. const mapDispatchToProps = { openEmbedDialog: openDialog };
  40. export default translate(connect(null, mapDispatchToProps)(EmbedMeetingTrigger));