import { Class, Mixin, Ref } from '@hcengineering/core' import { Drive } from '@hcengineering/drive' import { NotificationType } from '@hcengineering/notification' import { Asset, IntlString, Metadata, Plugin, plugin } from '@hcengineering/platform' import { AnyComponent } from '@hcengineering/ui/src/types' import { Action, Viewlet, ViewletDescriptor } from '@hcengineering/view' import { Widget } from '@hcengineering/workbench' import { DevicesPreference, Floor, Meeting, MeetingMinutes, MeetingSchedule, Office, ParticipantInfo, Room, RoomAccess, RoomInfo } from './types' export const loveId = 'love' as Plugin const love = plugin(loveId, { class: { Room: '' as Ref>, Floor: '' as Ref>, Office: '' as Ref>, ParticipantInfo: '' as Ref>, DevicesPreference: '' as Ref>, RoomInfo: '' as Ref>, MeetingMinutes: '' as Ref> }, mixin: { Meeting: '' as Ref>, MeetingSchedule: '' as Ref> }, action: { ToggleMic: '' as Ref, ToggleVideo: '' as Ref }, string: { Office: '' as IntlString, MyOffice: '' as IntlString, Room: '' as IntlString, IsKnocking: '' as IntlString, KnockingLabel: '' as IntlString, InivitingLabel: '' as IntlString, InvitingYou: '' as IntlString, RoomType: '' as IntlString, Knock: '' as IntlString, Open: '' as IntlString, DND: '' as IntlString, StartTranscription: '' as IntlString, StopTranscription: '' as IntlString, Meeting: '' as IntlString, Transcription: '' as IntlString, StartWithTranscription: '' as IntlString, MeetingMinutes: '' as IntlString, MeetingsMinutes: '' as IntlString, StartMeeting: '' as IntlString, Video: '' as IntlString, NoMeetingMinutes: '' as IntlString, JoinMeeting: '' as IntlString, MeetingStart: '' as IntlString, MeetingEnd: '' as IntlString, Status: '' as IntlString, Active: '' as IntlString, Finished: '' as IntlString, StartWithRecording: '' as IntlString, Kick: '' as IntlString, EndMeeting: '' as IntlString, SearchMeetingMinutes: '' as IntlString }, ids: { MainFloor: '' as Ref, Reception: '' as Ref, InviteNotification: '' as Ref, KnockNotification: '' as Ref, LoveWidget: '' as Ref, MeetingWidget: '' as Ref }, icon: { Love: '' as Asset, LeaveRoom: '' as Asset, EnterRoom: '' as Asset, Mic: '' as Asset, MicEnabled: '' as Asset, MicDisabled: '' as Asset, Cam: '' as Asset, CamEnabled: '' as Asset, CamDisabled: '' as Asset, SharingEnabled: '' as Asset, SharingDisabled: '' as Asset, Open: '' as Asset, Knock: '' as Asset, DND: '' as Asset, Record: '' as Asset, StopRecord: '' as Asset, FullScreen: '' as Asset, ExitFullScreen: '' as Asset, Invite: '' as Asset, Kick: '' as Asset, MeetingMinutes: '' as Asset }, sound: { Knock: '' as Asset, MeetingEndNotification: '' as Asset }, metadata: { WebSocketURL: '' as Metadata, ServiceEnpdoint: '' as Metadata }, space: { Drive: '' as Ref }, component: { SelectScreenSourcePopup: '' as AnyComponent }, viewlet: { TableMeetingMinutes: '' as Ref, TableMeetingMinutesEmbedded: '' as Ref, MeetingMinutesDescriptor: '' as Ref, FloorDescriptor: '' as Ref, Floor: '' as Ref, FloorMeetingMinutes: '' as Ref } }) export const roomAccessIcon = { [RoomAccess.Open]: love.icon.Open, [RoomAccess.Knock]: love.icon.Knock, [RoomAccess.DND]: love.icon.DND } export const roomAccessLabel = { [RoomAccess.Open]: love.string.Open, [RoomAccess.Knock]: love.string.Knock, [RoomAccess.DND]: love.string.DND } export default love