import { shell } from 'electron';
import { isEmpty } from 'lodash';
import { Dispatch } from 'react';
import { useDispatch } from 'react-redux';
import styled from 'styled-components';
import { MessageInteraction } from '../../interactions';
import { OpenUrlModalState, updateOpenUrlModal } from '../../state/ducks/modalDialog';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SpacerMD } from '../basic/Text';
import { StyledI18nSubText } from '../basic/StyledI18nSubText';
import { StyledModalDescriptionContainer } from './shared/ModalDescriptionContainer';
const StyledScrollDescriptionContainer = styled(StyledModalDescriptionContainer)`
max-height: 110px;
overflow-y: auto;
`;
export function OpenUrlModal(props: OpenUrlModalState) {
const dispatch = useDispatch();
if (!props || isEmpty(props) || !props.urlToOpen) {
return null;
}
const url = props.urlToOpen;
function onClose() {
dispatch(updateOpenUrlModal(null));
}
function onClickOpen() {
void shell.openExternal(url);
onClose();
}
function onClickCopy() {
MessageInteraction.copyBodyToClipboard(url);
onClose();
}
return (
);
}
export const showLinkVisitWarningDialog = (urlToOpen: string, dispatch: Dispatch) => {
dispatch(
updateOpenUrlModal({
urlToOpen,
})
);
};