mediasfu-angular
Version:
mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.
63 lines (62 loc) • 2.59 kB
TypeScript
import { OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { CookieService } from 'ngx-cookie-service';
import { Socket } from 'socket.io-client';
import { ConnectSocketType } from '../../../sockets/socket-manager.service';
import { ShowAlert } from '../../../@types/types';
import * as i0 from "@angular/core";
export interface WelcomePageParameters {
imgSrc?: string;
showAlert?: ShowAlert;
updateIsLoadingModalVisible: (visible: boolean) => void;
connectSocket: ConnectSocketType;
updateSocket: (socket: Socket) => void;
updateValidated: (validated: boolean) => void;
updateApiUserName: (apiUserName: string) => void;
updateApiToken: (apiToken: string) => void;
updateLink: (link: string) => void;
updateRoomName: (roomName: string) => void;
updateMember: (userName: string) => void;
}
export interface WelcomePageOptions {
parameters: WelcomePageParameters;
}
export type WelcomePageType = (options: WelcomePageOptions) => HTMLElement;
/**
* @component WelcomePage
* @description Component for handling room creation and joining on MediaSFU with QR scanning and form submission.
*
* @selector app-welcome-page
* @standalone true
* @templateUrl ./welcome-page.component.html
* @styleUrls ['./welcome-page.component.css']
* @imports [ZXingScannerModule, CommonModule, FontAwesomeModule, ReactiveFormsModule]
*
* @example
* ```html
* <app-welcome-page [parameters]="welcomeParameters"></app-welcome-page>
* ```
*/
export declare class WelcomePage implements OnInit {
private fb;
private cookieService;
welcomeForm: FormGroup;
error: string;
isScannerVisible: boolean;
scannedData: any;
parameters: WelcomePageParameters;
faQrcode: import("@fortawesome/fontawesome-common-types").IconDefinition;
allowedCameras: MediaDeviceInfo[];
currentDevice: MediaDeviceInfo | null;
imgSrc: string;
constructor(fb: FormBuilder, cookieService: CookieService, injectedParameters: WelcomePageParameters);
ngOnInit(): void;
checkLimitsAndMakeRequest(apiUserName: string, apiToken: string, link: string, userName: string): Promise<void>;
handleScanSuccess(data: any): void;
validateAlphanumeric(str: string): boolean;
askForCameraPermission(): void;
toggleScanner(): void;
handleConfirm(): Promise<void>;
static ɵfac: i0.ɵɵFactoryDeclaration<WelcomePage, [null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<WelcomePage, "app-welcome-page", never, {}, {}, never, never, true, never>;
}