import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import styled from 'styled-components'; import { getConversationController } from '../../session/conversations'; import { adminLeaveClosedGroup } from '../../state/ducks/modalDialog'; import { SessionWrapperModal } from '../SessionWrapperModal'; import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton'; import { SpacerLG } from '../basic/Text'; import { SessionSpinner } from '../basic/SessionSpinner'; const StyledWarning = styled.p` max-width: 500px; line-height: 1.3333; `; export const AdminLeaveClosedGroupDialog = (props: { conversationId: string }) => { const dispatch = useDispatch(); const convo = getConversationController().get(props.conversationId); const [loading, setLoading] = useState(false); const titleText = `${window.i18n('leaveGroup')} ${convo?.getRealSessionUsername() || ''}`; const closeDialog = () => { dispatch(adminLeaveClosedGroup(null)); }; const onClickOK = async () => { if (loading) { return; } setLoading(true); // we know want to delete a closed group right after we've left it, so we can call the deleteContact which takes care of it all await getConversationController().deleteClosedGroup(props.conversationId, { fromSyncMessage: false, sendLeaveMessage: true, }); setLoading(false); closeDialog(); }; return ( {window.i18n('leaveGroupConfirmationAdmin')}
); };