import { Component, input, output } from '@angular/core';
import { NgIcon, provideIcons } from '@ng-icons/core';
import {
  lucideMic,
  lucideMicOff,
  lucideMonitor,
  lucideMonitorOff,
  lucidePhone,
  lucidePhoneOff,
  lucideVideo,
  lucideVideoOff
} from '@ng-icons/lucide';

@Component({
  selector: 'app-private-call-controls',
  standalone: true,
  imports: [NgIcon],
  viewProviders: [
    provideIcons({
      lucideMic,
      lucideMicOff,
      lucideMonitor,
      lucideMonitorOff,
      lucidePhone,
      lucidePhoneOff,
      lucideVideo,
      lucideVideoOff
    })
  ],
  templateUrl: './private-call-controls.component.html'
})
export class PrivateCallControlsComponent {
  readonly connected = input.required<boolean>();
  readonly muted = input.required<boolean>();
  readonly cameraEnabled = input.required<boolean>();
  readonly screenSharing = input.required<boolean>();

  readonly joinRequested = output<void>();
  readonly muteToggled = output<void>();
  readonly cameraToggled = output<void>();
  readonly screenShareToggled = output<void>();
  readonly leaveRequested = output<void>();
}
