diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/directives/template/openvidu-angular.directive.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/directives/template/openvidu-angular.directive.ts index d8cce83e..12854ee8 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/directives/template/openvidu-angular.directive.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/directives/template/openvidu-angular.directive.ts @@ -48,7 +48,7 @@ import { Directive, TemplateRef, ViewContainerRef } from '@angular/core'; * ``` * *
- * + * *
* */ @@ -63,8 +63,9 @@ export class ToolbarDirective { } /** - * The ***ovToolbarAdditionalButtons** directive allows to add additional buttons to the toolbar. We've added the same buttons as the {@link ToolbarDirective}. - * Here we are using the {@link ParticipantService} fror checking the audio or video status. + * The ***ovToolbarAdditionalButtons** directive allows to add additional buttons to center buttons group. + * We've added the same buttons as the {@link ToolbarDirective}. + * Here we are using the {@link ParticipantService} fror checking the audio or video status. * * _You can check the sample [here]()_. * @@ -111,7 +112,7 @@ export class ToolbarDirective { * } * ``` *
- * + * *
*/ @Directive({ @@ -124,6 +125,43 @@ export class ToolbarAdditionalButtonsDirective { constructor(public template: TemplateRef, public viewContainer: ViewContainerRef) {} } + +/** + * The ***ovToolbarAdditionalPanelButtons** directive allows to add additional **panel buttons** to the toolbar. + * We've added a simple button without any functionality. For being able to toggle the panel you can see the {@link AdditionalPanelsDirective}. + * + * _You can check the sample [here]()_. + * + * + *```html + * + *
+ * + *
+ *
+ * ``` + * + * ```javascript + * export class ToolbarAdditionalPanelButtonsDirectiveComponent { + * tokens: TokenModel; + * sessionId = 'toolbar-additionalPanelbtn'; + * OPENVIDU_URL = 'https://localhost:4443'; + * OPENVIDU_SECRET = 'MY_SECRET'; + * + * constructor(private restService: RestService) {} + * + * async onJoinButtonClicked() { + * this.tokens = { + * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + * }; + * } + * } + * ``` + *
+ * + *
+ */ @Directive({ selector: '[ovToolbarAdditionalPanelButtons]' }) @@ -135,6 +173,47 @@ export class ToolbarAdditionalPanelButtonsDirective { } +/** + * The ***ovPanel** directive allows to replace the default panels with yours. This directive also allows us insert elements + * tagged with the {@link ChatPanelDirective}, {@link ParticipantsPanelDirective} and {@link AdditionalPanelsDirective}. + * + * In this example we're going to replace the entire {@link PanelComponent} using the ***ovPanel** directive. Inside of it, we're customizing + * the {@link ParticipantsPanelComponent} and {@link ChatPanelcomponent} using theirs directives. + * + * _You can check the sample [here]()_. + * + * + *```html + * + * + *
This is my custom chat panel
+ *
This is my custom participants panel
+ *
+ *
+ * ``` + * + * ```javascript + * export class PanelDirectiveComponent { + * tokens: TokenModel; + * sessionId = 'panel-directive-example'; + * + * OPENVIDU_URL = 'https://localhost:4443'; + * OPENVIDU_SECRET = 'MY_SECRET'; + * + * constructor(private restService: RestService) {} + * + * async onJoinButtonClicked() { + * this.tokens = { + * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + * }; + * } + * } + * ``` + *
+ * + *
+ */ @Directive({ selector: '[ovPanel]' }) @@ -146,6 +225,73 @@ export class PanelDirective { } +/** + * The ***ovAdditionalPanels** directive allows to add more extra panels to the {@link PanelComponent}. In this example we've added a new + * panel besides the defaults. + * + * As we want to toggle this new panel as the others, we need to add a new button in the {@link ToolbarComponent} + * using the {@link ToolbarAdditionalPanelButtonsDirective}. + * + * _You can check the sample [here]()_. + * + * + *```html + * + *
+ * + * + *
+ *
+ *
+ *

NEW PANEL

+ *

This is my new additional panel

+ *
+ *
+ *

NEW PANEL 2

+ *

This is other new panel

+ *
+ *
+ *
+ * ``` + *
+ * + * We need to subscribe to the {@link ../injectables/PanelService.html#panelOpenedObs panelOpenedObs} Observable for listening the panel status and update our boolean variables + * (`showExternalPanel` and `showExternalPanel2`) for show and hide our panels. + * + * ```javascript + * export class AdditionalPanelsDirectiveComponent implements OnInit { + * tokens: TokenModel; + * sessionId = 'chat-panel-directive-example'; + * OPENVIDU_URL = 'https://localhost:4443'; + * OPENVIDU_SECRET = 'MY_SECRET'; + * showExternalPanel: boolean = false; + * showExternalPanel2: boolean = false; + * constructor(private restService: RestService, private panelService: PanelService) {} + * + * ngOnInit() { + * this.subscribeToPanelToggling(); + * } + * subscribeToPanelToggling() { + * this.panelService.panelOpenedObs.subscribe((ev: { opened: boolean; type?: PanelType | string }) => { + * this.showExternalPanel = ev.opened && ev.type === 'my-panel'; + * this.showExternalPanel2 = ev.opened && ev.type === 'my-panel2'; + * }); + * } + * async onJoinButtonClicked() { + * this.tokens = { + * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + * }; + * } + * toggleMyPanel(type: string) { + * this.panelService.togglePanel(type); + * } + * } + * ``` + *
+ * + *
+ */ @Directive({ selector: '[ovAdditionalPanels]' }) @@ -181,14 +327,14 @@ export class AdditionalPanelsDirective { * * *``` + *
* + * As we need to get the **openvidu-browser [Session](https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html)** + * for sending messages to others, we can get it from the `onSessionCreated` event fired by the {@link VideoconferenceComponent} + * when the session has been created. * - * As we need to get the OpenVidu Browser [Session](https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html) - * for sending messages to others, we can get it from the `onSessionCreated` event fired by the {@link VideoconferenceComponent} when the session has been created. - * - * Once we have the session created, we can use the `signal` method for sending our messages. - * - * + * Once we have the session created, we can use the + * [signal](https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html#signal) method for sending our messages. * * ```javascript * export class ChatPanelDirectiveComponent { @@ -227,7 +373,7 @@ export class AdditionalPanelsDirective { * ``` * *
- * + * *
*/ @Directive({ @@ -307,7 +453,7 @@ export class ChatPanelDirective { * ``` * *
- * + * *
*/ @Directive({ @@ -317,6 +463,54 @@ export class ParticipantsPanelDirective { constructor(public template: TemplateRef, public viewContainer: ViewContainerRef) {} } + +/** + * The ***ovParticipantPanelItem** directive allows to replace the default participant panel item template in the {@link ParticipantsPanelComponent} injecting your own component. + * + * With ***ovParticipantPanelItem** directive we can access to the participant object from its context using + * the `let` keyword and referencing to the `participant` variable: `*ovParticipantPanelItem="let participant"`. + * Now we can access to the {@link ParticipantAbstractModel} object. + * + * _You can check the sample [here]()_. + * + * ```html + * + *
+ *

{{ participant.nickname }}

+ * + * + * + * + * + *
+ *
+ *``` + * + * + * + * ```javascript + * export class ParticipantPanelItemDirectiveComponent { + * tokens: TokenModel; + * sessionId = 'participants-panel-directive-example'; + * OPENVIDU_URL = 'https://localhost:4443'; + * OPENVIDU_SECRET = 'MY_SECRET'; + * + * constructor(private restService: RestService) {} + * + * async onJoinButtonClicked() { + * this.tokens = { + * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + * }; + * } + * } + * + * ``` + * + *
+ * + *
+ */ @Directive({ selector: '[ovParticipantPanelItem]' }) @@ -324,6 +518,54 @@ export class ParticipantPanelItemDirective { constructor(public template: TemplateRef, public viewContainer: ViewContainerRef) {} } +/** + * The ***ovParticipantPanelItemElements** directive allows to add elements to the {@link ParticipantsPanelItemComponent}. + * Here we're going to add a simple button for disconnecting to the session. + * + * With ***ovParticipantPanelItemElements** directive we can access to the participant object from its context using + * the `let` keyword and referencing to the `participant` variable: `*ovParticipantPanelItem="let participant"`. + * Now we can access to the {@link ParticipantAbstractModel} object and enable the button just for local participants. + * + * + * _You can check the sample [here]()_. + * + * ```html + * + *
+ * + *
+ *
+ *``` + * + * + * + * ```javascript + * export class ParticipantPanelItemElementsDirectiveComponent { + * tokens: TokenModel; + * sessionId = 'participants-panel-directive-example'; + * OPENVIDU_URL = 'https://localhost:4443'; + * OPENVIDU_SECRET = 'MY_SECRET'; + * + * constructor(private restService: RestService, private openviduService: OpenViduService) {} + * + * async onJoinButtonClicked() { + * this.tokens = { + * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + * }; + * } + * + * leaveSession() { + * this.openviduService.disconnect(); + * } + * } + * ``` + * + *
+ * + *
+ */ + @Directive({ selector: '[ovParticipantPanelItemElements]' }) @@ -402,7 +644,7 @@ export class ParticipantPanelItemElementsDirective { * ``` * *
- * + * *
*/ @Directive({ @@ -448,7 +690,7 @@ export class LayoutDirective { * } * ``` *
- * + * *
* */ diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts index 3e68f17f..f6c78d8a 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts @@ -60,6 +60,10 @@ export class OpenViduService { } } + /** + * + * Returns the local Session. See {@link https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html Session} object. + */ getSession(): Session { return this.getWebcamSession(); } @@ -121,7 +125,7 @@ export class OpenViduService { } /** - * @internal + * Leaves the session, destroying all local streams and clean all participant data. */ disconnect() { this.disconnectSession(this.webcamSession); @@ -220,6 +224,11 @@ export class OpenViduService { } } + /** + * Publish or unpublish the video stream (if available). + * It hides the camera muted stream if screen is sharing. + * See openvidu-browser {@link https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Publisher.html#publishVideo publishVideo} + */ async publishVideo(publish: boolean): Promise { const publishAudio = this.participantService.isMyAudioActive(); @@ -258,6 +267,10 @@ export class OpenViduService { } } + /** + * Publish or unpublish the audio stream (if available). + * See openvidu-browser {@link https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Publisher.html#publishAudio publishAudio}. + */ async publishAudio(publish: boolean): Promise { if (this.participantService.isMyCameraActive()) { if (this.participantService.isMyScreenActive() && this.participantService.hasScreenAudioActive()) { @@ -270,6 +283,10 @@ export class OpenViduService { } } + /** + * Share or unshare the screen. + * Hide the camera muted stream when screen is sharing. + */ async toggleScreenshare() { if (this.participantService.haveICameraAndScreenActive()) { // Disabling screenShare @@ -521,6 +538,11 @@ export class OpenViduService { ); } + /** + * + * Returns the remote connections of the Session. + * See {@link https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Connection.html Connection} object. + */ getRemoteConnections(): Connection[] { // Avoid screen connections const remoteCameraConnections: Connection[] = Array.from(this.webcamSession.remoteConnections.values()).filter((conn) => { diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/panel/panel.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/panel/panel.service.ts index 0a576750..b573f887 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/panel/panel.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/panel/panel.service.ts @@ -8,6 +8,9 @@ import { LoggerService } from '../logger/logger.service'; providedIn: 'root' }) export class PanelService { + /** + * Panel Observable which pushes the panel status in every update. + */ panelOpenedObs: Observable<{ opened: boolean; type?: PanelType | string }>; protected log: ILogger; protected isChatOpened: boolean = false; @@ -24,6 +27,10 @@ export class PanelService { this.panelOpenedObs = this._panelOpened.asObservable(); } + /** + * Open or close the panel type received. Calling this method with the panel opened and the same type panel, will closes the panel. + * If the type is differente, it will switch to the properly panel. + */ togglePanel(type: PanelType | string) { this.log.d(`Toggling ${type} menu`); let opened: boolean; @@ -57,6 +64,9 @@ export class PanelService { return this.isChatPanelOpened() || this.isParticipantsPanelOpened() || this.isExternalPanelOpened(); } + /** + * Closes the panel (if opened) + */ closePanel(): void { this.isParticipantsOpened = false; this.isChatOpened = false; @@ -64,10 +74,16 @@ export class PanelService { this._panelOpened.next({ opened: false }); } + /** + * Whether the chat panel is opened or not. + */ isChatPanelOpened(): boolean { return this.isChatOpened; } + /** + * Whether the participants panel is opened or not. + */ isParticipantsPanelOpened(): boolean { return this.isParticipantsOpened; } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts index 76479430..4790f942 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts @@ -11,9 +11,15 @@ import { LoggerService } from '../logger/logger.service'; providedIn: 'root' }) export class ParticipantService { + /** + * Local participant Observable which pushes the local participant object in every update. + */ localParticipantObs: Observable; protected _localParticipant = >new BehaviorSubject(null); + /** + * Remote participants Observable which pushes the remote participants array in every update. + */ remoteParticipantsObs: Observable; protected _remoteParticipants = >new BehaviorSubject([]); @@ -217,7 +223,6 @@ export class ParticipantService { return this.isMyCameraActive() && this.isMyScreenActive(); } - /** * @internal */ @@ -225,6 +230,9 @@ export class ParticipantService { return this.localParticipant.isScreenAudioActive(); } + /** + * Force to update the local participant object and fire a new {@link localParticipantObs} Observable event. + */ updateLocalParticipant() { this._localParticipant.next(Object.assign(Object.create(this.localParticipant), this.localParticipant)); } @@ -381,6 +389,9 @@ export class ParticipantService { } } + /** + * Force to update the remote participants object and fire a new {@link remoteParticipantsObs} Observable event. + */ updateRemoteParticipants() { this._remoteParticipants.next([...this.remoteParticipants]); } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts b/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts index 17f2ef45..258eeeba 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts @@ -43,6 +43,7 @@ export * from './lib/models/video-type.model'; export * from './lib/models/notification-options.model'; export * from './lib/models/token.model'; export * from './lib/models/signal.model'; +export * from './lib/models/panel.model'; // Pipes export * from './lib/pipes/participant.pipe'; diff --git a/openvidu-components-angular/src/app/examples/additionalPanels-directive/additionalPanels-directive.component.ts b/openvidu-components-angular/src/app/examples/additionalPanels-directive/additionalPanels-directive.component.ts new file mode 100644 index 00000000..cf1302b7 --- /dev/null +++ b/openvidu-components-angular/src/app/examples/additionalPanels-directive/additionalPanels-directive.component.ts @@ -0,0 +1,72 @@ +import { Component, OnInit } from '@angular/core'; +import { PanelService, TokenModel, PanelType } from 'openvidu-angular'; +import { RestService } from 'src/app/services/rest.service'; + +@Component({ + selector: 'app-chatPanel-directive', + template: ` + +
+ + +
+
+
+

NEW PANEL

+

This is my new additional panel

+
+
+

NEW PANEL 2

+

This is other new panel

+
+
+
+ `, + styles: [ + ` + #my-panels { + height: 100%; + overflow: hidden; + } + #my-panel1, #my-panel2 { + text-align: center; + height: calc(100% - 40px); + margin: 20px; + } + #my-panel1 { + background: #c9ffb2; + } + #my-panel2 { + background: #ddf2ff; + } + ` + ] +}) +export class AdditionalPanelsDirectiveComponent implements OnInit { + tokens: TokenModel; + sessionId = 'chat-panel-directive-example'; + OPENVIDU_URL = 'https://localhost:4443'; + OPENVIDU_SECRET = 'MY_SECRET'; + showExternalPanel: boolean = false; + showExternalPanel2: boolean = false; + constructor(private restService: RestService, private panelService: PanelService) {} + + ngOnInit() { + this.subscribeToPanelToggling(); + } + subscribeToPanelToggling() { + this.panelService.panelOpenedObs.subscribe((ev: { opened: boolean; type?: PanelType | string }) => { + this.showExternalPanel = ev.opened && ev.type === 'my-panel'; + this.showExternalPanel2 = ev.opened && ev.type === 'my-panel2'; + }); + } + async onJoinButtonClicked() { + this.tokens = { + webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + }; + } + toggleMyPanel(type: string) { + this.panelService.togglePanel(type); + } +} diff --git a/openvidu-components-angular/src/app/examples/toolbarAdditionalPanelButtons-directive/toolbarAdditionalPanelButtons-directive.component.ts b/openvidu-components-angular/src/app/examples/toolbarAdditionalPanelButtons-directive/toolbarAdditionalPanelButtons-directive.component.ts new file mode 100644 index 00000000..5656b355 --- /dev/null +++ b/openvidu-components-angular/src/app/examples/toolbarAdditionalPanelButtons-directive/toolbarAdditionalPanelButtons-directive.component.ts @@ -0,0 +1,29 @@ +import { Component } from '@angular/core'; +import { TokenModel } from 'openvidu-angular'; +import { RestService } from 'src/app/services/rest.service'; + +@Component({ + selector: 'app-toolbarAdditionalButtons-directive', + template: ` + +
+ +
+
+ ` +}) +export class ToolbarAdditionalPanelButtonsDirectiveComponent { + tokens: TokenModel; + sessionId = 'toolbar-additionalPanelbtn'; + OPENVIDU_URL = 'https://localhost:4443'; + OPENVIDU_SECRET = 'MY_SECRET'; + + constructor(private restService: RestService) {} + + async onJoinButtonClicked() { + this.tokens = { + webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET), + screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET) + }; + } +} diff --git a/openvidu-components-angular/src/doc/.compodocrc.json b/openvidu-components-angular/src/doc/.compodocrc.json index 37b631fa..2b9eb124 100644 --- a/openvidu-components-angular/src/doc/.compodocrc.json +++ b/openvidu-components-angular/src/doc/.compodocrc.json @@ -16,5 +16,5 @@ "theme": "gitbook", "customFavicon": "src/favicon.ico", "extTheme": "src/doc/", - "assetsFolder": "src/assets/doc" + "assetsFolder": "src/doc/assets" } diff --git a/openvidu-components-angular/src/doc/assets/additionalPanelsDirective-example.gif b/openvidu-components-angular/src/doc/assets/additionalPanelsDirective-example.gif new file mode 100644 index 00000000..377aa8cf Binary files /dev/null and b/openvidu-components-angular/src/doc/assets/additionalPanelsDirective-example.gif differ diff --git a/openvidu-components-angular/src/assets/doc/chatPanelDirective-example.png b/openvidu-components-angular/src/doc/assets/chatPanelDirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/chatPanelDirective-example.png rename to openvidu-components-angular/src/doc/assets/chatPanelDirective-example.png diff --git a/openvidu-components-angular/src/assets/doc/layoutDirective-example.png b/openvidu-components-angular/src/doc/assets/layoutDirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/layoutDirective-example.png rename to openvidu-components-angular/src/doc/assets/layoutDirective-example.png diff --git a/openvidu-components-angular/src/doc/assets/panelDirective.gif b/openvidu-components-angular/src/doc/assets/panelDirective.gif new file mode 100644 index 00000000..cb3a4cba Binary files /dev/null and b/openvidu-components-angular/src/doc/assets/panelDirective.gif differ diff --git a/openvidu-components-angular/src/doc/assets/participantPanelItemDirective-example.gif b/openvidu-components-angular/src/doc/assets/participantPanelItemDirective-example.gif new file mode 100644 index 00000000..5173b2ca Binary files /dev/null and b/openvidu-components-angular/src/doc/assets/participantPanelItemDirective-example.gif differ diff --git a/openvidu-components-angular/src/doc/assets/participantPanelItemElementsDirective-example.gif b/openvidu-components-angular/src/doc/assets/participantPanelItemElementsDirective-example.gif new file mode 100644 index 00000000..f6008fd3 Binary files /dev/null and b/openvidu-components-angular/src/doc/assets/participantPanelItemElementsDirective-example.gif differ diff --git a/openvidu-components-angular/src/assets/doc/participantsPanelDirective-example.png b/openvidu-components-angular/src/doc/assets/participantsPanelDirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/participantsPanelDirective-example.png rename to openvidu-components-angular/src/doc/assets/participantsPanelDirective-example.png diff --git a/openvidu-components-angular/src/assets/doc/streamDirective-example.png b/openvidu-components-angular/src/doc/assets/streamDirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/streamDirective-example.png rename to openvidu-components-angular/src/doc/assets/streamDirective-example.png diff --git a/openvidu-components-angular/src/assets/doc/toolbarAdditionalButtonsDirective-example.png b/openvidu-components-angular/src/doc/assets/toolbarAdditionalButtonsDirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/toolbarAdditionalButtonsDirective-example.png rename to openvidu-components-angular/src/doc/assets/toolbarAdditionalButtonsDirective-example.png diff --git a/openvidu-components-angular/src/doc/assets/toolbarAdditionalPanelButtonsDirective-example.png b/openvidu-components-angular/src/doc/assets/toolbarAdditionalPanelButtonsDirective-example.png new file mode 100644 index 00000000..7fddde14 Binary files /dev/null and b/openvidu-components-angular/src/doc/assets/toolbarAdditionalPanelButtonsDirective-example.png differ diff --git a/openvidu-components-angular/src/assets/doc/toolbardirective-example.png b/openvidu-components-angular/src/doc/assets/toolbardirective-example.png similarity index 100% rename from openvidu-components-angular/src/assets/doc/toolbardirective-example.png rename to openvidu-components-angular/src/doc/assets/toolbardirective-example.png diff --git a/openvidu-components-angular/src/doc/style.css b/openvidu-components-angular/src/doc/style.css index ef8d2a3b..6b967387 100644 --- a/openvidu-components-angular/src/doc/style.css +++ b/openvidu-components-angular/src/doc/style.css @@ -87,7 +87,15 @@ code { background-color: #FFFBF1; } +.dark .warn-container { + background-color: #6b6045; +} + .info-container { border: 2px solid #0077ff; background-color: #f1feff; +} + +.dark .info-container { + background-color: #556d6e; } \ No newline at end of file