import type { RcVMeetingModel } from '@ringcentral-integration/commons/interfaces/Rcv.model'; import { RcButton, RcCheckbox, spacing, styled } from '@ringcentral/juno'; import type { FunctionComponent } from 'react'; import React from 'react'; import { MeetingScheduleButtonWrapper } from '../MeetingScheduleButton/MeetingScheduleButtonWrapper'; import i18n from './i18n'; export interface RcVideoScheduleButtonProps { currentLocale: string; meeting: RcVMeetingModel; hidden?: boolean; disabled?: boolean; onClick: () => any; showSaveAsDefault: boolean; disableSaveAsDefault: boolean; update: (args: any) => any; buttonLabel?: string; } function getI18nButtonString() { return i18n.getString('schedule'); } const RcVideoScheduleButtonWrapper = styled(MeetingScheduleButtonWrapper)<{ $noCheckbox: boolean; }>` padding: ${({ $noCheckbox }) => ($noCheckbox ? spacing(4) : '5px')} 16px 16px 16px; `; export const RcVideoScheduleButton: FunctionComponent< RcVideoScheduleButtonProps > = (props) => { const { hidden = false, disabled, meeting, onClick, currentLocale, showSaveAsDefault, disableSaveAsDefault, update, buttonLabel, } = props; return ( {showSaveAsDefault ? ( { update({ ...meeting, saveAsDefault: !meeting.saveAsDefault, }); }} /> ) : null} {buttonLabel ?? getI18nButtonString()} ); };