feat: update continue button styles

only show button when users enters something
pull/3083/head
William Grant 1 year ago
parent 31ef730c8c
commit 2a75a715a3

@ -3,6 +3,8 @@ import useKey from 'react-use/lib/useKey';
import styled from 'styled-components'; import styled from 'styled-components';
import { shell } from 'electron'; import { shell } from 'electron';
import { motion } from 'framer-motion';
import { isEmpty } from 'lodash';
import { useDispatch } from 'react-redux'; import { useDispatch } from 'react-redux';
import { ConversationTypeEnum } from '../../../models/conversationAttributes'; import { ConversationTypeEnum } from '../../../models/conversationAttributes';
import { getConversationController } from '../../../session/conversations'; import { getConversationController } from '../../../session/conversations';
@ -14,15 +16,16 @@ import { SessionSpinner } from '../../loading';
import { ONSResolve } from '../../../session/apis/snode_api/onsResolve'; import { ONSResolve } from '../../../session/apis/snode_api/onsResolve';
import { NotFoundError, SnodeResponseError } from '../../../session/utils/errors'; import { NotFoundError, SnodeResponseError } from '../../../session/utils/errors';
import { THEME_GLOBALS } from '../../../themes/globals';
import { Flex } from '../../basic/Flex'; import { Flex } from '../../basic/Flex';
import { SpacerMD } from '../../basic/Text'; import { SpacerLG, SpacerMD } from '../../basic/Text';
import { SessionIconButton } from '../../icon'; import { SessionIconButton } from '../../icon';
import { SessionInput } from '../../inputs'; import { SessionInput } from '../../inputs';
const StyledDescriptionContainer = styled.div` const StyledDescriptionContainer = styled(motion.div)`
margin: 0 auto; margin: 0 auto;
text-align: center;
padding: 0 var(--margins-md); padding: 0 var(--margins-md);
text-alignment: center;
.session-icon-button { .session-icon-button {
border: 1px solid var(--text-secondary-color); border: 1px solid var(--text-secondary-color);
@ -49,14 +52,10 @@ const StyledLeftPaneOverlay = styled(Flex)`
background: var(--background-primary-color); background: var(--background-primary-color);
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
padding-top: var(--margins-md); padding: var(--margins-md);
.session-button { .session-button {
min-width: 160px; width: 100%;
width: fit-content;
margin-top: 1rem;
margin-bottom: 3rem;
flex-shrink: 0;
} }
`; `;
@ -166,49 +165,59 @@ export const OverlayMessage = () => {
onPressEnter={handleMessageButtonClick} onPressEnter={handleMessageButtonClick}
/> */} /> */}
<div style={{ width: '90%', margin: '0 auto' }}> <SessionInput
<SessionInput autoFocus={true}
autoFocus={true} type="text"
type="text" placeholder={window.i18n('accountIdOrOnsEnter')}
placeholder={window.i18n('accountIdOrOnsEnter')} value={pubkeyOrOns}
value={pubkeyOrOns} onValueChanged={setPubkeyOrOns}
onValueChanged={setPubkeyOrOns} onEnterPressed={handleMessageButtonClick}
onEnterPressed={handleMessageButtonClick} error={pubkeyOrOnsError}
error={pubkeyOrOnsError} isSpecial={true}
isSpecial={true} centerText={true}
centerText={true} inputDataTestId="new-session-conversation"
inputDataTestId="new-session-conversation" />
/>
</div>
<SpacerMD /> <SpacerMD />
<SessionSpinner loading={loading} /> <SessionSpinner loading={loading} />
<StyledDescriptionContainer style={{ margin: '0 auto', textAlign: 'center' }}> {!pubkeyOrOnsError && !loading ? (
<SessionIDDescription>{window.i18n('messageNewDescription')}</SessionIDDescription> <>
<SessionIconButton <StyledDescriptionContainer
aria-label="external link to Session Zendesk article explaing how Account IDs work" initial={{ opacity: 1 }}
iconType="question" animate={{ opacity: 1 }}
iconSize={10} exit={{ opacity: 0 }}
iconPadding="2px" transition={{ duration: THEME_GLOBALS['--default-duration-seconds'] }}
padding={'0'} >
style={{ display: 'inline-flex' }} <SessionIDDescription>{window.i18n('messageNewDescription')}</SessionIDDescription>
dataTestId="session-zendesk-account-ids" <SessionIconButton
onClick={() => { aria-label="external link to Session Zendesk article explaing how Account IDs work"
void shell.openExternal( iconType="question"
'https://sessionapp.zendesk.com/hc/en-us/articles/4439132747033-How-do-Session-ID-usernames-work' iconSize={10}
); iconPadding="2px"
}} padding={'0'}
style={{ display: 'inline-flex' }}
dataTestId="session-zendesk-account-ids"
onClick={() => {
void shell.openExternal(
'https://sessionapp.zendesk.com/hc/en-us/articles/4439132747033-How-do-Session-ID-usernames-work'
);
}}
/>
</StyledDescriptionContainer>
<SpacerLG />
</>
) : null}
{!isEmpty(pubkeyOrOns) ? (
<SessionButton
text={window.i18n('continue')}
disabled={disableNextButton}
onClick={handleMessageButtonClick}
dataTestId="next-new-conversation-button"
/> />
</StyledDescriptionContainer> ) : null}
<SessionButton
text={window.i18n('next')}
disabled={disableNextButton}
onClick={handleMessageButtonClick}
dataTestId="next-new-conversation-button"
/>
</StyledLeftPaneOverlay> </StyledLeftPaneOverlay>
); );
}; };

Loading…
Cancel
Save