import type { RcMMeetingModel } from '@ringcentral-integration/commons/modules/Meeting'; import { RcButton, RcCheckbox } from '@ringcentral/juno'; import React from 'react'; import { MeetingScheduleButtonWrapper, ScheduleButton, } from './MeetingScheduleButtonWrapper'; import i18n from './i18n'; import styles from './styles.scss'; export type MeetingScheduleButtonProps = { currentLocale: string; meeting?: RcMMeetingModel; scheduleButtonLabel?: string; onClick?: () => void; hidden?: boolean; showSaveAsDefault?: boolean; disableSaveAsDefault?: boolean; disabled?: boolean; scheduling?: boolean; update?: (data: Partial) => void; showLaunchMeetingBtn?: boolean; launchMeeting?: (meeting?: RcMMeetingModel) => void; }; export const MeetingScheduleButton: React.FC = ({ meeting, scheduleButtonLabel, currentLocale, hidden = false, showSaveAsDefault = false, disableSaveAsDefault = false, showLaunchMeetingBtn = false, disabled = false, scheduling = false, update, onClick, launchMeeting, }) => { return ( {hidden ? (
{i18n.getString('prompt')}
) : null} {showSaveAsDefault ? ( update?.({ ...meeting, saveAsDefault: !meeting?.saveAsDefault, }) } label={i18n.getString('saveAsDefault', currentLocale)} /> ) : null} {scheduleButtonLabel ?? i18n.getString('schedule')} {showLaunchMeetingBtn ? ( launchMeeting?.(meeting)} data-sign="launchMeetingButton" variant="text" fullWidth > {i18n.getString('launchMeeting', currentLocale)} ) : null}
); };