Files
Toju/toju-app/src/app/features/direct-call/private-call-controls.component.ts

57 lines
1.4 KiB
TypeScript

import {
Component,
input,
output
} from '@angular/core';
import { NgIcon, provideIcons } from '@ng-icons/core';
import {
lucideHeadphones,
lucideMic,
lucideMicOff,
lucideMonitor,
lucideMonitorOff,
lucidePhone,
lucidePhoneOff,
lucideVideo,
lucideVideoOff,
lucideVolume2
} from '@ng-icons/lucide';
@Component({
selector: 'app-private-call-controls',
standalone: true,
imports: [NgIcon],
viewProviders: [
provideIcons({
lucideHeadphones,
lucideMic,
lucideMicOff,
lucideMonitor,
lucideMonitorOff,
lucidePhone,
lucidePhoneOff,
lucideVideo,
lucideVideoOff,
lucideVolume2
})
],
templateUrl: './private-call-controls.component.html'
})
export class PrivateCallControlsComponent {
readonly connected = input.required<boolean>();
readonly muted = input.required<boolean>();
readonly deafened = input.required<boolean>();
readonly cameraEnabled = input.required<boolean>();
readonly screenSharing = input.required<boolean>();
readonly showSpeakerphoneButton = input(false);
readonly speakerphoneEnabled = input(false);
readonly joinRequested = output();
readonly muteToggled = output();
readonly deafenToggled = output();
readonly cameraToggled = output();
readonly screenShareToggled = output();
readonly speakerphoneToggled = output();
readonly leaveRequested = output();
}