refactor: rename SessionButton2 to SessionButton and remove old version

pull/2521/head
William Grant 3 years ago
parent 87b66794ed
commit 5ab28bb60e

@ -6,7 +6,7 @@ import {
switchHtmlToLightTheme,
} from '../themes/SessionTheme';
import { fetch } from '../util/logging';
import { SessionButton2, SessionButtonType } from './basic/SessionButton2';
import { SessionButton, SessionButtonType } from './basic/SessionButton';
const StyledContent = styled.div`
background-color: var(--color-modal-background);
@ -50,7 +50,7 @@ const DebugLogTextArea = (props: { content: string }) => {
const DebugLogButtons = (props: { content: string }) => {
return (
<div className="buttons">
<SessionButton2
<SessionButton
text={window.i18n('saveLogToDesktop')}
buttonType={SessionButtonType.Simple}
onClick={() => {

@ -4,7 +4,7 @@ import classNames from 'classnames';
import { SessionIcon } from './icon';
import { withTheme } from 'styled-components';
import autoBind from 'auto-bind';
import { SessionButton2, SessionButtonColor } from './basic/SessionButton2';
import { SessionButton, SessionButtonColor } from './basic/SessionButton';
import { Constants } from '../session';
import { SessionSpinner } from './basic/SessionSpinner';
@ -172,14 +172,14 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
return (
<div className={classNames(showResetElements && 'button-group')}>
<SessionButton2
<SessionButton
text={window.i18n('unlock')}
buttonColor={SessionButtonColor.Primary}
onClick={this.initLogin}
/>
{showResetElements && (
<>
<SessionButton2
<SessionButton
text="Reset Database"
buttonColor={SessionButtonColor.Danger}
onClick={this.initClearDataView}
@ -193,12 +193,12 @@ class SessionPasswordPromptInner extends React.PureComponent<{}, State> {
private renderClearDataViewButtons(): JSX.Element {
return (
<div className="button-group">
<SessionButton2
<SessionButton
text={window.i18n('clearAllData')}
buttonColor={SessionButtonColor.Danger}
onClick={window.clearLocalData}
/>
<SessionButton2
<SessionButton
text={window.i18n('cancel')}
onClick={() => {
this.setState({ clearDataView: false });

@ -5,7 +5,7 @@ import { SessionIconButton } from './icon/';
// tslint:disable-next-line: no-submodule-imports
import useKey from 'react-use/lib/useKey';
import { SessionButton2, SessionButtonColor, SessionButtonType } from './basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from './basic/SessionButton';
export type SessionWrapperModalType = {
title?: string;
@ -114,18 +114,18 @@ export const SessionWrapperModal = (props: SessionWrapperModalType) => {
<div className="session-modal__button-group">
{onConfirm ? (
<SessionButton2 buttonType={SessionButtonType.Simple} onClick={props.onConfirm}>
<SessionButton buttonType={SessionButtonType.Simple} onClick={props.onConfirm}>
{confirmText || window.i18n('ok')}
</SessionButton2>
</SessionButton>
) : null}
{onClose && showClose ? (
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
buttonColor={SessionButtonColor.Danger}
onClick={props.onClose}
>
{cancelText || window.i18n('close')}
</SessionButton2>
</SessionButton>
) : null}
</div>
</div>

@ -1,32 +1,114 @@
import React, { ReactNode } from 'react';
import classNames from 'classnames';
import styled from 'styled-components';
export enum SessionButtonType {
Brand = 'brand',
BrandOutline = 'brand-outline',
Default = 'default',
DefaultOutline = 'default-outline',
Square = 'square',
SquareOutline = 'square-outline',
Outline = 'outline',
Simple = 'simple',
Solid = 'solid',
}
export enum SessionButtonShape {
Round = 'round',
Square = 'square',
}
// NOTE References ts/themes/colors.tsx
export enum SessionButtonColor {
Green = 'green',
Blue = 'blue',
Yellow = 'yellow',
Pink = 'pink',
Purple = 'purple',
Orange = 'orange',
Red = 'red',
White = 'white',
Primary = 'primary',
Secondary = 'secondary',
Success = 'success',
Danger = 'danger',
Warning = 'warning',
None = '',
None = 'transparent',
}
const StyledButton = styled.div<{
color: string | undefined;
buttonType: SessionButtonType;
buttonShape: SessionButtonShape;
}>`
width: auto;
display: flex;
justify-content: center;
align-items: center;
font-size: var(--font-size-md);
font-weight: 700;
user-select: none;
white-space: nowrap;
cursor: pointer;
transition: var(--default-duration);
background-repeat: no-repeat;
overflow: hidden;
height: 34px;
padding: 0px 18px;
background-color: ${props =>
props.buttonType === SessionButtonType.Solid && props.color
? `var(--${props.color}-color)`
: `var(--button-${props.buttonType}-background-color)`};
color: ${props =>
props.color
? props.buttonType !== SessionButtonType.Solid
? `var(--${props.color}-color)`
: 'var(--white-color)'
: `var(--button-${props.buttonType}-text-color)`};
${props =>
props.buttonType === SessionButtonType.Outline &&
`outline: none; border: 1px solid ${
props.color ? `var(--${props.color}-color)` : 'var(--button-outline-border-color)'
}`};
${props =>
props.buttonType === SessionButtonType.Solid &&
'box-shadow: 0px 0px 6px var(--button-solid-shadow-color);'}
border-radius: ${props => (props.buttonShape === SessionButtonShape.Round ? '17px' : '6px')};
.session-icon {
fill: var(--background-primary-color);
}
& > *:hover:not(svg) {
filter: brightness(80%);
}
&.disabled {
cursor: not-allowed;
outline: none;
${props =>
props.buttonType === SessionButtonType.Solid
? 'background-color: var(--button-solid-disabled-color)'
: props.buttonType === SessionButtonType.Outline
? 'border: 1px solid var(--button-outline-disabled-color)'
: ''};
color: ${props =>
props.buttonType === SessionButtonType.Solid
? 'var(--button-solid-text-color)'
: `var(--button-${props.buttonType}-disabled-color)`};
}
&:not(.disabled) {
&:hover {
${props =>
props.buttonType &&
`background-color: var(--button-${props.buttonType}-background-hover-color);`};
${props => props.color && `color: var(--button-${props.buttonType}-text-color);`}
${props =>
props.buttonType === SessionButtonType.Outline &&
'outline: none; border: 1px solid var(--button-outline-border-hover-color);'};
}
}
`;
type Props = {
text?: string;
disabled?: boolean;
buttonType: SessionButtonType;
buttonColor: SessionButtonColor;
buttonShape: SessionButtonShape;
buttonColor?: SessionButtonColor; // will override theme
onClick: any;
children?: ReactNode;
margin?: string;
@ -34,7 +116,16 @@ type Props = {
};
export const SessionButton = (props: Props) => {
const { buttonType, dataTestId, buttonColor, text, disabled, onClick, margin } = props;
const {
buttonType,
buttonShape,
dataTestId,
buttonColor,
text,
disabled,
onClick,
margin,
} = props;
const clickHandler = (e: any) => {
if (onClick) {
@ -42,31 +133,33 @@ export const SessionButton = (props: Props) => {
onClick();
}
};
const buttonTypes = [];
const onClickFn = disabled ? () => null : clickHandler;
buttonTypes.push(buttonType);
if (buttonType.includes('-outline')) {
buttonTypes.push(buttonType.replace('-outline', ''));
}
return (
<div
className={classNames('session-button', ...buttonTypes, buttonColor, disabled && 'disabled')}
<StyledButton
color={buttonColor}
buttonShape={buttonShape}
buttonType={buttonType}
className={classNames(
'session-button',
buttonShape,
buttonType,
buttonColor ?? '',
disabled && 'disabled'
)}
role="button"
onClick={onClickFn}
data-testid={dataTestId}
style={{ margin }}
>
{props.children || text}
</div>
</StyledButton>
);
};
SessionButton.defaultProps = {
disabled: false,
buttonType: SessionButtonType.Default,
buttonColor: SessionButtonColor.Primary,
buttonShape: SessionButtonShape.Round,
buttonType: SessionButtonType.Outline,
onClick: null,
} as Partial<Props>;

@ -1,165 +0,0 @@
import React, { ReactNode } from 'react';
import classNames from 'classnames';
import styled from 'styled-components';
export enum SessionButtonType {
Outline = 'outline',
Simple = 'simple',
Solid = 'solid',
}
export enum SessionButtonShape {
Round = 'round',
Square = 'square',
}
// NOTE References ts/themes/colors.tsx
export enum SessionButtonColor {
Green = 'green',
Blue = 'blue',
Yellow = 'yellow',
Pink = 'pink',
Purple = 'purple',
Orange = 'orange',
Red = 'red',
White = 'white',
Primary = 'primary',
Danger = 'danger',
None = 'transparent',
}
const StyledButton = styled.div<{
color: string | undefined;
buttonType: SessionButtonType;
buttonShape: SessionButtonShape;
}>`
width: auto;
display: flex;
justify-content: center;
align-items: center;
font-size: var(--font-size-md);
font-weight: 700;
user-select: none;
white-space: nowrap;
cursor: pointer;
transition: var(--default-duration);
background-repeat: no-repeat;
overflow: hidden;
height: 34px;
padding: 0px 18px;
background-color: ${props =>
props.buttonType === SessionButtonType.Solid && props.color
? `var(--${props.color}-color)`
: `var(--button-${props.buttonType}-background-color)`};
color: ${props =>
props.color
? props.buttonType !== SessionButtonType.Solid
? `var(--${props.color}-color)`
: 'var(--white-color)'
: `var(--button-${props.buttonType}-text-color)`};
${props =>
props.buttonType === SessionButtonType.Outline &&
`outline: none; border: 1px solid ${
props.color ? `var(--${props.color}-color)` : 'var(--button-outline-border-color)'
}`};
${props =>
props.buttonType === SessionButtonType.Solid &&
'box-shadow: 0px 0px 6px var(--button-solid-shadow-color);'}
border-radius: ${props => (props.buttonShape === SessionButtonShape.Round ? '17px' : '6px')};
.session-icon {
fill: var(--background-primary-color);
}
& > *:hover:not(svg) {
filter: brightness(80%);
}
&.disabled {
cursor: not-allowed;
outline: none;
${props =>
props.buttonType === SessionButtonType.Solid
? 'background-color: var(--button-solid-disabled-color)'
: props.buttonType === SessionButtonType.Outline
? 'border: 1px solid var(--button-outline-disabled-color)'
: ''};
color: ${props =>
props.buttonType === SessionButtonType.Solid
? 'var(--button-solid-text-color)'
: `var(--button-${props.buttonType}-disabled-color)`};
}
&:not(.disabled) {
&:hover {
${props =>
props.buttonType &&
`background-color: var(--button-${props.buttonType}-background-hover-color);`};
${props => props.color && `color: var(--button-${props.buttonType}-text-color);`}
${props =>
props.buttonType === SessionButtonType.Outline &&
'outline: none; border: 1px solid var(--button-outline-border-hover-color);'};
}
}
`;
type Props = {
text?: string;
disabled?: boolean;
buttonType: SessionButtonType;
buttonShape: SessionButtonShape;
buttonColor?: SessionButtonColor; // will override theme
onClick: any;
children?: ReactNode;
margin?: string;
dataTestId?: string;
};
export const SessionButton2 = (props: Props) => {
const {
buttonType,
buttonShape,
dataTestId,
buttonColor,
text,
disabled,
onClick,
margin,
} = props;
const clickHandler = (e: any) => {
if (onClick) {
e.stopPropagation();
onClick();
}
};
const onClickFn = disabled ? () => null : clickHandler;
return (
<StyledButton
color={buttonColor}
buttonShape={buttonShape}
buttonType={buttonType}
className={classNames(
'session-button',
buttonShape,
buttonType,
buttonColor ?? '',
disabled && 'disabled'
)}
role="button"
onClick={onClickFn}
data-testid={dataTestId}
style={{ margin }}
>
{props.children || text}
</StyledButton>
);
};
SessionButton2.defaultProps = {
disabled: false,
buttonShape: SessionButtonShape.Round,
buttonType: SessionButtonType.Outline,
onClick: null,
} as Partial<Props>;

@ -8,7 +8,7 @@ import { CallManager } from '../../session/utils';
import { callTimeoutMs } from '../../session/utils/calling/CallManager';
import { getHasIncomingCall, getHasIncomingCallFrom } from '../../state/selectors/call';
import { Avatar, AvatarSize } from '../avatar/Avatar';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
export const CallWindow = styled.div`
@ -79,12 +79,12 @@ export const IncomingCallDialog = () => {
<Avatar size={AvatarSize.XL} pubkey={incomingCallFromPubkey} />
</IncomingCallAvatarContainer>
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('accept')}
buttonType={SessionButtonType.Simple}
onClick={handleAcceptIncomingCall}
/>
<SessionButton2
<SessionButton
text={window.i18n('decline')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -40,11 +40,11 @@ import {
useIsRequest,
} from '../../hooks/useParamSelector';
import {
SessionButton2,
SessionButton,
SessionButtonColor,
SessionButtonShape,
SessionButtonType,
} from '../basic/SessionButton2';
} from '../basic/SessionButton';
import { SessionIconButton } from '../icon';
import { ConversationHeaderMenu } from '../menu/ConversationHeaderMenu';
import { Flex } from '../basic/Flex';
@ -121,7 +121,7 @@ const SelectionOverlay = () => {
<div className="button-group">
{!isOnlyServerDeletable && (
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Danger}
buttonShape={SessionButtonShape.Square}
buttonType={SessionButtonType.Solid}
@ -129,7 +129,7 @@ const SelectionOverlay = () => {
onClick={onDeleteSelectedMessages}
/>
)}
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Danger}
buttonShape={SessionButtonShape.Square}
buttonType={SessionButtonType.Solid}

@ -11,7 +11,7 @@ import {
getSelectedConversation,
hasSelectedConversationIncomingMessages,
} from '../../state/selectors/conversations';
import { SessionButton2, SessionButtonColor } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor } from '../basic/SessionButton';
const handleDeclineConversationRequest = (convoId: string) => {
declineConversationWithConfirm(convoId, true);
@ -41,7 +41,7 @@ export const ConversationMessageRequestButtons = () => {
return (
<ConversationRequestBanner>
<ConversationBannerRow>
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Primary}
onClick={async () => {
await handleAcceptConversationRequest(selectedConversation.id);
@ -49,7 +49,7 @@ export const ConversationMessageRequestButtons = () => {
text={window.i18n('accept')}
dataTestId="accept-message-request"
/>
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Danger}
text={window.i18n('decline')}
onClick={() => {

@ -11,7 +11,7 @@ import {
isMessageSelectionMode,
} from '../../state/selectors/conversations';
import { getAudioAutoplay } from '../../state/selectors/userConfig';
import { SessionButton2, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonType } from '../basic/SessionButton';
import { SessionIcon } from '../icon';
const StyledSpeedButton = styled.div`
@ -118,7 +118,7 @@ export const AudioPlayerWithEncryptedFile = (props: {
customControlsSection={[
RHAP_UI.MAIN_CONTROLS,
<StyledSpeedButton key="togglePlaybackSpeed">
<SessionButton2
<SessionButton
text={`${playbackSpeed}x`}
onClick={() => {
setPlaybackSpeed(playbackSpeed === 1 ? 1.5 : 1);

@ -38,7 +38,7 @@ import { addStagedAttachmentsInConversation } from '../../state/ducks/stagedAtta
import { MIME } from '../../types';
import { AttachmentTypeWithPath } from '../../types/Attachment';
import { arrayBufferToObjectURL, AttachmentUtil, GoogleChrome } from '../../util';
import { SessionButtonColor } from '../basic/SessionButton2';
import { SessionButtonColor } from '../basic/SessionButton';
import { MessageView } from '../MainViewController';
import { ConversationHeaderWithDetails } from './ConversationHeader';
import { MessageDetail } from './message/message-item/MessageDetail';

@ -21,7 +21,7 @@ import { getSelectedConversation, isRightPanelShowing } from '../../state/select
import { getTimerOptions } from '../../state/selectors/timerOptions';
import { AttachmentTypeWithPath } from '../../types/Attachment';
import { Avatar, AvatarSize } from '../avatar/Avatar';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionDropdown } from '../basic/SessionDropdown';
import { SpacerLG } from '../basic/Text';
import { MediaItemType } from '../lightbox/LightboxGallery';
@ -323,7 +323,7 @@ export const SessionRightPanelWithDetails = () => {
{isGroup && (
// tslint:disable-next-line: use-simple-attributes
<StyledLeaveButton>
<SessionButton2
<SessionButton
text={leaveGroupString}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -4,7 +4,7 @@ import { Data } from '../../../../data/data';
import { getConversationController } from '../../../../session/conversations';
import { AttachmentDownloads } from '../../../../session/utils';
import { updateConfirmModal } from '../../../../state/ducks/modalDialog';
import { SessionButtonColor } from '../../../basic/SessionButton2';
import { SessionButtonColor } from '../../../basic/SessionButton';
import { SessionIcon } from '../../../icon';
const StyledTrustSenderUI = styled.div`

@ -2,7 +2,7 @@ import React, { useState } from 'react';
import { SpacerLG } from '../basic/Text';
import { getConversationController } from '../../session/conversations';
import { adminLeaveClosedGroup } from '../../state/ducks/modalDialog';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
type Props = {
@ -37,13 +37,13 @@ export const AdminLeaveClosedGroupDialog = (props: Props) => {
<p>{warningAsAdmin}</p>
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={okText}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}
onClick={onClickOK}
/>
<SessionButton2
<SessionButton
text={cancelText}
buttonType={SessionButtonType.Simple}
onClick={closeDialog}

@ -8,7 +8,7 @@ import { SpacerSM } from '../basic/Text';
import { getConversationController } from '../../session/conversations/ConversationController';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { ConversationModel } from '../../models/conversation';
import { useFocusMount } from '../../hooks/useFocusMount';
import { useConversationPropsById } from '../../hooks/useParamSelector';
@ -140,7 +140,7 @@ export const BanOrUnBanUserDialog = (props: {
value={wasGivenAPubkey ? inputTextToDisplay : inputBoxValue}
/>
<Flex container={true}>
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
onClick={banOrUnBanUser}
text={buttonText}
@ -149,7 +149,7 @@ export const BanOrUnBanUserDialog = (props: {
{isBan && (
<>
<SpacerSM />
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
buttonColor={SessionButtonColor.Danger}
onClick={startBanAndDeleteAllSequence}

@ -5,7 +5,7 @@ import { forceNetworkDeletion } from '../../session/apis/snode_api/SNodeAPI';
import { forceSyncConfigurationNowIfNeeded } from '../../session/utils/syncUtils';
import { updateConfirmModal, updateDeleteAccountModal } from '../../state/ducks/modalDialog';
import { SpacerLG } from '../basic/Text';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionHtmlRenderer } from '../basic/SessionHTMLRenderer';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionWrapperModal } from '../SessionWrapperModal';
@ -190,7 +190,7 @@ export const DeleteAccountModal = () => {
/>
<SpacerLG />
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('entireAccount')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}
@ -200,7 +200,7 @@ export const DeleteAccountModal = () => {
disabled={deleteEverythingWithNetwork || deleteDeviceOnly}
/>
<SessionButton2
<SessionButton
text={window.i18n('deviceOnly')}
buttonType={SessionButtonType.Simple}
onClick={() => {
@ -230,7 +230,7 @@ export const DeleteAccountModal = () => {
{(deleteDeviceOnly || deleteEverythingWithNetwork) && (
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('iAmSure')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}
@ -244,7 +244,7 @@ export const DeleteAccountModal = () => {
disabled={isLoading}
/>
<SessionButton2
<SessionButton
text={window.i18n('cancel')}
buttonType={SessionButtonType.Simple}
onClick={() => {

@ -12,7 +12,7 @@ import { getConversationController } from '../../session/conversations';
import autoBind from 'auto-bind';
import { editProfileModal } from '../../state/ducks/modalDialog';
import { uploadOurAvatar } from '../../interactions/conversationInteractions';
import { SessionButton2, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonType } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionIconButton } from '../icon';
import { MAX_USERNAME_LENGTH } from '../registration/RegistrationStages';
@ -108,7 +108,7 @@ export class EditProfileDialog extends React.Component<{}, State> {
<SessionSpinner loading={this.state.loading} />
{viewDefault || viewQR ? (
<SessionButton2
<SessionButton
text={window.i18n('editMenuCopy')}
buttonType={SessionButtonType.Simple}
onClick={() => {
@ -119,7 +119,7 @@ export class EditProfileDialog extends React.Component<{}, State> {
/>
) : (
!this.state.loading && (
<SessionButton2
<SessionButton
text={window.i18n('save')}
buttonType={SessionButtonType.Simple}
onClick={this.onClickOK}

@ -11,7 +11,7 @@ import { useDispatch, useSelector } from 'react-redux';
import { updateInviteContactModal } from '../../state/ducks/modalDialog';
// tslint:disable-next-line: no-submodule-imports
import useKey from 'react-use/lib/useKey';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { MemberListItem } from '../MemberListItem';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { getPrivateContactsPubkeys } from '../../state/selectors/conversations';
@ -177,13 +177,13 @@ const InviteContactsDialogInner = (props: Props) => {
<SpacerLG />
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={okText}
buttonType={SessionButtonType.Simple}
disabled={!hasContacts}
onClick={onClickOK}
/>
<SessionButton2
<SessionButton
text={cancelText}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -5,7 +5,7 @@ import { Flex } from '../basic/Flex';
import { getConversationController } from '../../session/conversations';
import { useDispatch, useSelector } from 'react-redux';
import { updateAddModeratorsModal } from '../../state/ducks/modalDialog';
import { SessionButton2, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonType } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { sogsV3AddAdmin } from '../../session/apis/open_group_api/sogsv3/sogsV3AddRemoveMods';
@ -92,7 +92,7 @@ export const AddModeratorsDialog = (props: Props) => {
value={inputBoxValue}
autoFocus={true}
/>
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
onClick={addAsModerator}
text={i18n('add')}

@ -6,7 +6,7 @@ import { Flex } from '../basic/Flex';
import { compact } from 'lodash';
import { updateRemoveModeratorsModal } from '../../state/ducks/modalDialog';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { MemberListItem } from '../MemberListItem';
import { useDispatch } from 'react-redux';
@ -104,13 +104,13 @@ export const RemoveModeratorsDialog = (props: Props) => {
)}
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
onClick={removeModsCall}
disabled={removingInProgress}
text={i18n('ok')}
/>
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
buttonColor={SessionButtonColor.Danger}
onClick={closeDialog}

@ -7,7 +7,7 @@ import { getConversationController } from '../../session/conversations';
import { updateReactClearAllModal } from '../../state/ducks/modalDialog';
import { getTheme } from '../../state/selectors/theme';
import { Flex } from '../basic/Flex';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionWrapperModal } from '../SessionWrapperModal';
@ -95,14 +95,14 @@ export const ReactClearAllModal = (props: Props): ReactElement => {
>
<p>{window.i18n('clearAllReactions', [reaction])}</p>
<StyledButtonContainer className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('clear')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}
onClick={handleClearAll}
disabled={clearingInProgress}
/>
<SessionButton2
<SessionButton
text={window.i18n('cancel')}
buttonType={SessionButtonType.Simple}
onClick={handleClose}

@ -16,7 +16,7 @@ import { nativeEmojiData } from '../../util/emoji';
import { Reactions } from '../../util/reactions';
import { Avatar, AvatarSize } from '../avatar/Avatar';
import { Flex } from '../basic/Flex';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionHtmlRenderer } from '../basic/SessionHTMLRenderer';
import { ContactName } from '../conversation/ContactName';
import { MessageReactions } from '../conversation/message/message-content/MessageReactions';
@ -348,7 +348,7 @@ export const ReactListModal = (props: Props): ReactElement => {
)}
</p>
{isPublic && weAreModerator && (
<SessionButton2
<SessionButton
text={window.i18n('clearAll')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -2,7 +2,7 @@ import React, { useState } from 'react';
import { SessionHtmlRenderer } from '../basic/SessionHTMLRenderer';
import { updateConfirmModal } from '../../state/ducks/modalDialog';
import { SpacerLG } from '../basic/Text';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SessionIcon, SessionIconSize, SessionIconType } from '../icon';
import { SessionWrapperModal } from '../SessionWrapperModal';
@ -130,7 +130,7 @@ export const SessionConfirm = (props: SessionConfirmDialogProps) => {
</div>
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={okText}
buttonColor={okTheme}
buttonType={SessionButtonType.Simple}
@ -138,7 +138,7 @@ export const SessionConfirm = (props: SessionConfirmDialogProps) => {
dataTestId="session-confirm-ok-button"
/>
{!hideCancel && (
<SessionButton2
<SessionButton
text={cancelText}
buttonColor={closeTheme}
buttonType={SessionButtonType.Simple}

@ -1,6 +1,6 @@
import React from 'react';
import classNames from 'classnames';
import { SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionIconButton, SessionIconType } from '../icon';
interface Props {

@ -5,7 +5,7 @@ import _ from 'lodash';
import { SpacerLG } from '../basic/Text';
import { useDispatch } from 'react-redux';
import { changeNickNameModal } from '../../state/ducks/modalDialog';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
type Props = {
@ -70,12 +70,12 @@ export const SessionNicknameDialog = (props: Props) => {
/>
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('ok')}
buttonType={SessionButtonType.Simple}
onClick={saveNickname}
/>
<SessionButton2
<SessionButton
text={window.i18n('cancel')}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -7,7 +7,7 @@ import { SpacerLG, SpacerSM } from '../basic/Text';
import autoBind from 'auto-bind';
import { sessionPassword } from '../../state/ducks/modalDialog';
import { LocalizerKeys } from '../../types/LocalizerKeys';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { matchesHash, validatePassword } from '../../util/passwordUtils';
@ -106,13 +106,13 @@ export class SessionPasswordDialog extends React.Component<Props, State> {
{this.showError()}
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={window.i18n('ok')}
buttonColor={passwordAction === 'remove' ? SessionButtonColor.Danger : undefined}
buttonType={SessionButtonType.Simple}
onClick={this.setPassword}
/>
<SessionButton2
<SessionButton
text={window.i18n('cancel')}
buttonColor={passwordAction !== 'remove' ? SessionButtonColor.Danger : undefined}
buttonType={SessionButtonType.Simple}

@ -8,7 +8,7 @@ import { mn_decode } from '../../session/crypto/mnemonic';
import { SpacerLG, SpacerSM, SpacerXS } from '../basic/Text';
import { recoveryPhraseModal } from '../../state/ducks/modalDialog';
import { useDispatch } from 'react-redux';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { getCurrentRecoveryPhrase } from '../../util/storage';
@ -72,12 +72,12 @@ const Password = (props: PasswordProps) => {
<SpacerLG />
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={i18n('ok')}
buttonType={SessionButtonType.Simple}
onClick={confirmPassword}
/>
<SessionButton2
<SessionButton
text={i18n('cancel')}
buttonType={SessionButtonType.Simple}
buttonColor={SessionButtonColor.Danger}
@ -126,7 +126,7 @@ const Seed = (props: SeedProps) => {
<QRCode value={hexEncodedSeed} bgColor={bgColor} fgColor={fgColor} level="L" />
</div>
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={i18n('editMenuCopy')}
buttonType={SessionButtonType.Simple}
onClick={() => {

@ -5,7 +5,7 @@ import { ToastUtils, UserUtils } from '../../session/utils';
import _ from 'lodash';
import { SpacerLG, Text } from '../basic/Text';
import { updateGroupMembersModal } from '../../state/ducks/modalDialog';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { MemberListItem } from '../MemberListItem';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { useDispatch } from 'react-redux';
@ -244,9 +244,9 @@ export const UpdateGroupMembersDialog = (props: Props) => {
<div className="session-modal__button-group">
{weAreAdmin && (
<SessionButton2 text={okText} onClick={onClickOK} buttonType={SessionButtonType.Simple} />
<SessionButton text={okText} onClick={onClickOK} buttonType={SessionButtonType.Simple} />
)}
<SessionButton2
<SessionButton
text={cancelText}
buttonColor={weAreAdmin ? SessionButtonColor.Danger : undefined}
buttonType={SessionButtonType.Simple}

@ -8,7 +8,7 @@ import autoBind from 'auto-bind';
import { ConversationModel } from '../../models/conversation';
import { getConversationController } from '../../session/conversations';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { SessionButton2, SessionButtonColor, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { initiateOpenGroupUpdate } from '../../session/group/open-group';
import { initiateClosedGroupUpdate } from '../../session/group/closed-group';
import { pickFileForAvatar } from '../../types/attachments/VisualAttachment';
@ -129,12 +129,12 @@ export class UpdateGroupNameDialog extends React.Component<Props, State> {
) : null}
<div className="session-modal__button-group">
<SessionButton2
<SessionButton
text={okText}
onClick={this.onClickOK}
buttonType={SessionButtonType.Simple}
/>
<SessionButton2
<SessionButton
text={cancelText}
buttonColor={SessionButtonColor.Danger}
buttonType={SessionButtonType.Simple}

@ -10,7 +10,7 @@ import { ToastUtils } from '../../session/utils';
import { openConversationWithMessages } from '../../state/ducks/conversations';
import { updateUserDetailsModal, UserDetailsModalState } from '../../state/ducks/modalDialog';
import { Avatar, AvatarSize } from '../avatar/Avatar';
import { SessionButton2, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonType } from '../basic/SessionButton';
import { SessionIdEditable } from '../basic/SessionIdEditable';
import { SpacerLG } from '../basic/Text';
import { SessionWrapperModal } from '../SessionWrapperModal';
@ -73,12 +73,12 @@ export const UserDetailsDialog = (props: UserDetailsModalState) => {
<SessionIdEditable editable={false} text={props.conversationId} />
<div className="session-modal__button-group__center">
<SessionButton2
<SessionButton
text={window.i18n('startConversation')}
buttonType={SessionButtonType.Simple}
onClick={onClickStartConversation}
/>
<SessionButton2
<SessionButton
text={window.i18n('editMenuCopy')}
buttonType={SessionButtonType.Simple}
onClick={() => {

@ -7,7 +7,7 @@ import { recoveryPhraseModal } from '../../state/ducks/modalDialog';
import { Flex } from '../basic/Flex';
import { getFocusedSection, getOverlayMode } from '../../state/selectors/section';
import { SectionType } from '../../state/ducks/section';
import { SessionButton2 } from '../basic/SessionButton2';
import { SessionButton } from '../basic/SessionButton';
import { isSignWithRecoveryPhrase } from '../../util/storage';
import { MenuButton } from '../button/MenuButton';
@ -74,7 +74,7 @@ const BannerInner = () => {
return (
<StyledBannerInner>
<p>{window.i18n('recoveryPhraseRevealMessage')}</p>
<SessionButton2
<SessionButton
text={window.i18n('recoveryPhraseRevealButtonText')}
onClick={showRecoveryPhraseModal}
dataTestId="reveal-recovery-phrase"

@ -2,7 +2,7 @@ import React, { useState } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { SessionButton2 } from '../../basic/SessionButton2';
import { SessionButton } from '../../basic/SessionButton';
import { SessionIdEditable } from '../../basic/SessionIdEditable';
import { SessionSpinner } from '../../basic/SessionSpinner';
import { MemberListItem } from '../../MemberListItem';
@ -134,7 +134,7 @@ export const OverlayClosedGroup = () => {
<SpacerLG style={{ flexShrink: 0 }} />
<SessionButton2
<SessionButton
text={buttonText}
disabled={disableCreateButton}
onClick={onEnterPressed}

@ -3,7 +3,7 @@ import React, { useState } from 'react';
import { SessionJoinableRooms } from './SessionJoinableDefaultRooms';
import { SessionButton2 } from '../../basic/SessionButton2';
import { SessionButton } from '../../basic/SessionButton';
import { SessionIdEditable } from '../../basic/SessionIdEditable';
import { SessionSpinner } from '../../basic/SessionSpinner';
import { OverlayHeader } from './OverlayHeader';
@ -100,7 +100,7 @@ export const OverlayCommunity = () => {
/>
</div>
<SessionButton2 text={buttonText} disabled={!groupUrl} onClick={onTryJoinRoom} />
<SessionButton text={buttonText} disabled={!groupUrl} onClick={onTryJoinRoom} />
<SessionSpinner loading={loading} />
<SessionJoinableRooms onJoinClick={onTryJoinRoom} alreadyJoining={loading} />

@ -2,7 +2,7 @@ import React, { useState } from 'react';
// tslint:disable: use-simple-attributes no-submodule-imports
import { useDispatch } from 'react-redux';
import { SessionButton2 } from '../../basic/SessionButton2';
import { SessionButton } from '../../basic/SessionButton';
import { SessionIdEditable } from '../../basic/SessionIdEditable';
import { SessionSpinner } from '../../basic/SessionSpinner';
import { OverlayHeader } from './OverlayHeader';
@ -127,7 +127,7 @@ export const OverlayMessage = () => {
<YourSessionIDSelectable />
<SessionIconButton iconSize="small" iconType="copy" onClick={copyOurSessionID} />
</Flex>
<SessionButton2
<SessionButton
text={buttonText}
disabled={disableNextButton}
onClick={handleMessageButtonClick}

@ -9,7 +9,7 @@ import {
} from '../../../state/selectors/conversations';
import { MemoConversationListItemWithDetails } from '../conversation-list-item/ConversationListItem';
import styled from 'styled-components';
import { SessionButton2, SessionButtonColor } from '../../basic/SessionButton2';
import { SessionButton, SessionButtonColor } from '../../basic/SessionButton';
import { resetOverlayMode, SectionType, showLeftPaneSection } from '../../../state/ducks/section';
import { getConversationController } from '../../../session/conversations';
import { forceSyncConfigurationNowIfNeeded } from '../../../session/utils/syncUtils';
@ -129,7 +129,7 @@ export const OverlayMessageRequest = () => {
<>
<MessageRequestList />
<SpacerLG />
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Danger}
text={buttonText}
onClick={() => {

@ -52,7 +52,7 @@ import { hideMessageRequestBanner } from '../../state/ducks/userConfig';
import { getFocusedSection } from '../../state/selectors/section';
import { getTimerOptions } from '../../state/selectors/timerOptions';
import { LocalizerKeys } from '../../types/LocalizerKeys';
import { SessionButtonColor } from '../basic/SessionButton2';
import { SessionButtonColor } from '../basic/SessionButton';
import { ContextConversationId } from '../leftpane/conversation-list-item/ConversationListItem';
function showTimerOptions(

@ -1,7 +1,7 @@
import React, { useContext, useState } from 'react';
import { sanitizeSessionUsername } from '../../session/utils/String';
import { Flex } from '../basic/Flex';
import { SessionButton2 } from '../basic/SessionButton2';
import { SessionButton } from '../basic/SessionButton';
import { SessionSpinner } from '../basic/SessionSpinner';
import { SpacerLG } from '../basic/Text';
import {
@ -24,7 +24,7 @@ export enum SignInMode {
const LinkDeviceButton = (props: { onLinkDeviceButtonClicked: () => any }) => {
return (
<SessionButton2
<SessionButton
onClick={props.onLinkDeviceButtonClicked}
text={window.i18n('linkDevice')}
dataTestId="link-device"
@ -34,7 +34,7 @@ const LinkDeviceButton = (props: { onLinkDeviceButtonClicked: () => any }) => {
const RestoreUsingRecoveryPhraseButton = (props: { onRecoveryButtonClicked: () => any }) => {
return (
<SessionButton2
<SessionButton
onClick={props.onRecoveryButtonClicked}
text={window.i18n('restoreUsingRecoveryPhrase')}
dataTestId="restore-using-recovery"
@ -47,7 +47,7 @@ const ContinueYourSessionButton = (props: {
disabled: boolean;
}) => {
return (
<SessionButton2
<SessionButton
onClick={props.handleContinueYourSessionClick}
text={window.i18n('continueYourSession')}
disabled={props.disabled}

@ -1,7 +1,7 @@
import React, { useContext, useEffect, useState } from 'react';
import { sanitizeSessionUsername } from '../../session/utils/String';
import { Flex } from '../basic/Flex';
import { SessionButton2 } from '../basic/SessionButton2';
import { SessionButton } from '../basic/SessionButton';
import { SessionIdEditable } from '../basic/SessionIdEditable';
import { SessionIconButton } from '../icon';
import { RegistrationContext, RegistrationPhase, signUp } from './RegistrationStages';
@ -16,11 +16,11 @@ export enum SignUpMode {
}
const CreateSessionIdButton = ({ createSessionID }: { createSessionID: any }) => {
return <SessionButton2 onClick={createSessionID} text={window.i18n('createSessionID')} />;
return <SessionButton onClick={createSessionID} text={window.i18n('createSessionID')} />;
};
const ContinueSignUpButton = ({ continueSignUp }: { continueSignUp: any }) => {
return <SessionButton2 onClick={continueSignUp} text={window.i18n('continue')} />;
return <SessionButton onClick={continueSignUp} text={window.i18n('continue')} />;
};
const SignUpDefault = (props: { createSessionID: () => void }) => {
@ -137,7 +137,7 @@ export const SignUpTab = () => {
}}
stealAutoFocus={true}
/>
<SessionButton2
<SessionButton
onClick={signUpWithDetails}
text={window.i18n('getStarted')}
disabled={!enableCompleteSignUp}

@ -6,7 +6,7 @@ import styled from 'styled-components';
import { useSet } from '../../hooks/useSet';
import { ToastUtils } from '../../session/utils';
import { BlockedNumberController } from '../../util';
import { SessionButton2, SessionButtonColor } from '../basic/SessionButton2';
import { SessionButton, SessionButtonColor } from '../basic/SessionButton';
import { SpacerLG } from '../basic/Text';
import { SessionIconButton } from '../icon';
import { MemberListItem } from '../MemberListItem';
@ -128,7 +128,7 @@ export const BlockedContactsList = () => {
) : (
<BlockedContactListTitleButtons>
{hasAtLeastOneSelected && expanded ? (
<SessionButton2
<SessionButton
buttonColor={SessionButtonColor.Danger}
text={window.i18n('unblockUser')}
onClick={unBlockThoseUsers}

@ -4,7 +4,7 @@ import useUpdate from 'react-use/lib/useUpdate';
import styled from 'styled-components';
import { SettingsKey } from '../../data/settings-key';
import { Notifications } from '../../util/notifications';
import { SessionButton2 } from '../basic/SessionButton2';
import { SessionButton } from '../basic/SessionButton';
import { SessionRadioGroup } from '../basic/SessionRadioGroup';
import { SpacerLG } from '../basic/Text';
import { SessionSettingsItemWrapper, SessionToggleWithDescription } from './SessionSettingListItem';
@ -100,7 +100,7 @@ export const SessionNotificationGroupSettings = (props: { hasPassword: boolean |
/>
<StyledButtonContainer>
<SpacerLG />
<SessionButton2 text={window.i18n('notificationPreview')} onClick={onClickPreview} />
<SessionButton text={window.i18n('notificationPreview')} onClick={onClickPreview} />
</StyledButtonContainer>
</SessionSettingsItemWrapper>
) : null}

@ -1,10 +1,10 @@
import React from 'react';
import {
SessionButton2,
SessionButton,
SessionButtonColor,
SessionButtonShape,
SessionButtonType,
} from '../basic/SessionButton2';
} from '../basic/SessionButton';
import { SessionToggle } from '../basic/SessionToggle';
import { SessionConfirmDialogProps } from '../dialog/SessionConfirm';
import styled from 'styled-components';
@ -164,7 +164,7 @@ export const SessionSettingButtonItem = (props: ButtonSettingsProps) => {
return (
<SessionSettingsItemWrapper title={title} description={description} inline={true}>
<SessionButton2
<SessionButton
dataTestId={dataTestId}
text={buttonText}
buttonColor={buttonColor}

@ -9,7 +9,7 @@ import { SessionNotificationGroupSettings } from './SessionNotificationGroupSett
import { CategoryConversations } from './section/CategoryConversations';
import { SettingsCategoryPrivacy } from './section/CategoryPrivacy';
import { SettingsCategoryAppearance } from './section/CategoryAppearance';
import { SessionButton2, SessionButtonType } from '../basic/SessionButton2';
import { SessionButton, SessionButtonType } from '../basic/SessionButton';
import { Data } from '../../data/data';
import { matchesHash } from '../../util/passwordUtils';
import { SettingsCategoryPermissions } from './section/CategoryPermissions';
@ -125,7 +125,7 @@ const PasswordLock = ({
{pwdLockError && <div className="session-label warning">{pwdLockError}</div>}
<SessionButton2
<SessionButton
buttonType={SessionButtonType.Simple}
text={window.i18n('ok')}
onClick={validatePasswordLock}

@ -1,6 +1,6 @@
import { ipcRenderer, shell } from 'electron';
import React from 'react';
import { SessionButtonShape } from '../../basic/SessionButton2';
import { SessionButtonShape } from '../../basic/SessionButton';
import { SessionSettingButtonItem, SessionSettingsTitleWithLink } from '../SessionSettingListItem';

@ -4,7 +4,7 @@ import useUpdate from 'react-use/lib/useUpdate';
import { SettingsKey } from '../../../data/settings-key';
import { CallManager, ToastUtils } from '../../../session/utils';
import { updateConfirmModal } from '../../../state/ducks/modalDialog';
import { SessionButtonColor } from '../../basic/SessionButton2';
import { SessionButtonColor } from '../../basic/SessionButton';
import { SessionToggleWithDescription } from '../SessionSettingListItem';

@ -5,7 +5,7 @@ import { Data, hasLinkPreviewPopupBeenDisplayed } from '../../../data/data';
import { SettingsKey } from '../../../data/settings-key';
import { ConversationTypeEnum } from '../../../models/conversationAttributes';
import { sessionPassword, updateConfirmModal } from '../../../state/ducks/modalDialog';
import { SessionButtonColor } from '../../basic/SessionButton2';
import { SessionButtonColor } from '../../basic/SessionButton';
import { SpacerLG } from '../../basic/Text';
import { TypingBubble } from '../../conversation/TypingBubble';
import { PasswordAction } from '../../dialog/SessionPasswordDialog';

@ -30,7 +30,7 @@ import { getDecryptedMediaUrl } from '../session/crypto/DecryptedAttachmentsMana
import { IMAGE_JPEG } from '../types/MIME';
import { fromHexToArray, toHex } from '../session/utils/String';
import { forceSyncConfigurationNowIfNeeded } from '../session/utils/syncUtils';
import { SessionButtonColor } from '../components/basic/SessionButton2';
import { SessionButtonColor } from '../components/basic/SessionButton';
import { getCallMediaPermissionsSettings } from '../components/settings/SessionSettings';
import { perfEnd, perfStart } from '../session/utils/Performance';
import { processNewAttachment } from '../types/MessageAttachment';

@ -11,7 +11,7 @@ import { PubKey } from '../../session/types';
import { ToastUtils, UserUtils } from '../../session/utils';
import { resetSelectedMessageIds } from '../../state/ducks/conversations';
import { updateConfirmModal } from '../../state/ducks/modalDialog';
import { SessionButtonColor } from '../../components/basic/SessionButton2';
import { SessionButtonColor } from '../../components/basic/SessionButton';
import { deleteSogsMessageByServerIds } from '../../session/apis/open_group_api/sogsv3/sogsV3DeleteMessages';
/**

Loading…
Cancel
Save