diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/components/meeting-components-plugins.token.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/components/meeting-components-plugins.token.ts deleted file mode 100644 index 23033c73..00000000 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/components/meeting-components-plugins.token.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { InjectionToken, Type } from '@angular/core'; - -/** - * Interface for registering custom components to be used in the meeting view. - * Each property represents a slot where a custom component can be injected. - */ -export interface MeetingComponentsPlugins { - /** - * Toolbar-related plugin components - */ - toolbar?: MeetingComponentsToolbarPlugins; - - /** - * Participant panel-related plugin components - */ - participantPanel?: MeetingComponentsParticipantPanelPlugins; - - /** - * Complete custom layout component that replaces the entire default layout. - * This component will receive all necessary inputs including additionalElements plugin. - */ - layout?: Type; - - /** - * Additional elements to inject within the layout component. - * The layout component should provide an injection point for these elements. - * - * @example - * layoutAdditionalElements: ShareLinkOverlayComponent - */ - layoutAdditionalElements?: Type; - - /** - * Lobby-related plugin components - */ - lobby?: Type; -} - -export interface MeetingComponentsToolbarPlugins { - /** - * Additional buttons to show in the toolbar (e.g., copy link, settings) - */ - additionalButtons?: Type; - /** - * Custom leave button component (only shown for moderators) - */ - leaveButton?: Type; -} - -export interface MeetingComponentsParticipantPanelPlugins { - /** - * Custom component to render each participant item in the panel - */ - item?: Type; - /** - * Component to show after the local participant in the panel - */ - afterLocalParticipant?: Type; -} - -/** - * Injection token for registering meeting plugins. - * Apps (CE/PRO) should provide their custom components using this token. - */ -export const MEETING_COMPONENTS_TOKEN = new InjectionToken('MEETING_COMPONENTS_TOKEN'); diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/handlers/meeting-action-handler.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/handlers/meeting-action-handler.ts deleted file mode 100644 index de3cbfc1..00000000 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/handlers/meeting-action-handler.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { InjectionToken } from '@angular/core'; -import { CustomParticipantModel } from '../../models'; - -/** - * Interface defining the controls to show for a participant in the participant panel. - */ -export interface ParticipantControls { - /** - * Whether to show the moderator badge - */ - showModeratorBadge: boolean; - - /** - * Whether to show moderation controls (make/unmake moderator, kick) - */ - showModerationControls: boolean; - - /** - * Whether to show the "Make Moderator" button - */ - showMakeModerator: boolean; - - /** - * Whether to show the "Remove Moderator" button - */ - showUnmakeModerator: boolean; - - /** - * Whether to show the "Kick" button - */ - showKickButton: boolean; -} - -/** - * Abstract class defining the actions that can be performed in a meeting. - * Apps (CE/PRO) must extend this class and provide their implementation. - */ -export abstract class MeetingActionHandler { - /** - * Room ID - will be set by MeetingComponent - */ - roomId = ''; - - /** - * Room secret - will be set by MeetingComponent - */ - roomSecret = ''; - - /** - * Local participant - will be set by MeetingComponent - */ - localParticipant?: CustomParticipantModel; - - /** - * Kicks a participant from the meeting - */ - abstract kickParticipant(participant: CustomParticipantModel): Promise; - - /** - * Makes a participant a moderator - */ - abstract makeModerator(participant: CustomParticipantModel): Promise; - - /** - * Removes moderator role from a participant - */ - abstract unmakeModerator(participant: CustomParticipantModel): Promise; - - /** - * Copies the moderator link to clipboard - */ - abstract copyModeratorLink(): Promise; - - /** - * Copies the speaker link to clipboard - */ - abstract copySpeakerLink(): Promise; - - /** - * Gets the controls to show for a participant based on permissions and roles - */ - abstract getParticipantControls(participant: CustomParticipantModel): ParticipantControls; -} - -/** - * Injection token for the meeting action handler. - * Apps (CE/PRO) should provide their implementation using this token. - */ -export const MEETING_ACTION_HANDLER_TOKEN = new InjectionToken('MEETING_ACTION_HANDLER_TOKEN'); diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/index.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/index.ts index 358c3326..742094d5 100644 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/index.ts +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/customization/index.ts @@ -1,7 +1 @@ -/** - * Index file for customization exports - */ -export * from './components/meeting-components-plugins.token'; -export * from './handlers/meeting-action-handler'; - export * from './components/index';