snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
45
react/features/security/hooks.web.ts
Normal file
45
react/features/security/hooks.web.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { useSelector } from 'react-redux';
|
||||
|
||||
import { IReduxState } from '../app/types';
|
||||
import { getSecurityUiConfig } from '../base/config/functions.any';
|
||||
import { LOBBY_MODE_ENABLED, MEETING_PASSWORD_ENABLED, SECURITY_OPTIONS_ENABLED } from '../base/flags/constants';
|
||||
import { getFeatureFlag } from '../base/flags/functions';
|
||||
import { isLocalParticipantModerator } from '../base/participants/functions';
|
||||
|
||||
import SecurityDialogButton from './components/security-dialog/web/SecurityDialogButton';
|
||||
import { isSecurityDialogButtonVisible } from './functions';
|
||||
|
||||
const security = {
|
||||
key: 'security',
|
||||
alias: 'info',
|
||||
Content: SecurityDialogButton,
|
||||
group: 2
|
||||
};
|
||||
|
||||
/**
|
||||
* A hook that returns the security dialog button if it is enabled and undefined otherwise.
|
||||
*
|
||||
* @returns {Object | undefined}
|
||||
*/
|
||||
export function useSecurityDialogButton() {
|
||||
const conference = useSelector((state: IReduxState) => state['features/base/conference'].conference);
|
||||
const securityUIConfig = useSelector(getSecurityUiConfig);
|
||||
const isModerator = useSelector(isLocalParticipantModerator);
|
||||
const enabledLobbyModeFlag
|
||||
= useSelector((state: IReduxState) => getFeatureFlag(state, LOBBY_MODE_ENABLED, true));
|
||||
const enabledSecurityOptionsFlag
|
||||
= useSelector((state: IReduxState) => getFeatureFlag(state, SECURITY_OPTIONS_ENABLED, true));
|
||||
const enabledMeetingPassFlag
|
||||
= useSelector((state: IReduxState) => getFeatureFlag(state, MEETING_PASSWORD_ENABLED, true));
|
||||
|
||||
if (isSecurityDialogButtonVisible({
|
||||
conference,
|
||||
securityUIConfig,
|
||||
isModerator,
|
||||
enabledLobbyModeFlag,
|
||||
enabledSecurityOptionsFlag,
|
||||
enabledMeetingPassFlag
|
||||
})) {
|
||||
return security;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user