Files
jitsi-meet/react/features/settings/actions.native.ts
Дамян Минков 1aca8ab985 feat(dialog): Adds name to all dialogs. (#16626)
* feat(dialog): Adds name to all dialogs.

The name is used for debugging purposes to be added to logs.

* squash: Drop empty string.
2025-11-06 09:49:30 -06:00

39 lines
1.1 KiB
TypeScript

import { Linking } from 'react-native';
import { IStore } from '../app/types';
import { isTokenAuthEnabled } from '../authentication/functions';
import { hangup } from '../base/connection/actions.native';
import { openDialog } from '../base/dialog/actions';
import LogoutDialog from './components/native/LogoutDialog';
/**
* Opens {@code LogoutDialog}.
*
* @returns {Function}
*/
export function openLogoutDialog() {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const state = getState();
const { conference } = state['features/base/conference'];
const config = state['features/base/config'];
const logoutUrl = config.tokenLogoutUrl;
dispatch(openDialog('LogoutDialog', LogoutDialog, {
onLogout() {
if (isTokenAuthEnabled(config)) {
if (logoutUrl) {
Linking.openURL(logoutUrl);
}
dispatch(hangup(true));
} else {
conference?.room.xmpp.moderator.logout(() => dispatch(hangup(true)));
}
}
}));
};
}