Merge branch 'theming_qa' into theming

pull/2522/head
William Grant 3 years ago
commit 8effb5c059

@ -21,6 +21,12 @@
&.invitation-outgoing {
background-color: var(--message-bubbles-sent-background-color);
align-self: flex-end;
.contents {
.session-icon-button {
background-color: var(--transparent-color);
}
}
}
display: inline-block;

@ -30,10 +30,19 @@
.contact-selection-list {
width: 100%;
min-width: 300px;
max-width: 350px;
}
&__input-group {
min-width: 300px;
input {
margin-bottom: var(--margins-md);
}
input:last-child {
margin-bottom: 0px;
}
}
}
@ -106,7 +115,6 @@
input {
padding: 8px;
margin-bottom: 15px;
border: 0;
outline: none;
border-radius: 4px;
@ -204,6 +212,7 @@
display: flex;
align-items: center;
justify-content: center;
margin-right: -20px; // offsets the edit icon button so it's centered
p {
font-size: $session-font-md;

@ -223,11 +223,11 @@ label {
padding: var(--margins-lg);
font-family: $session-font-default;
font-family: var(--font-default);
text-align: center;
line-height: 18px;
font-size: $session-font-md;
font-weight: 700;
font-size: var(--font-size-lg);
font-weight: 500;
&.reverse {
flex-direction: row-reverse;
@ -275,7 +275,7 @@ label {
.session-id-editable {
width: 30vw;
max-width: 700px;
max-width: 400px;
}
}
@ -298,6 +298,7 @@ label {
.session-button {
margin: var(--margins-xs);
font-weight: 500;
}
&__center {
@ -313,7 +314,7 @@ label {
&__text-highlight {
@include text-highlight(var(--primary-color));
color: var(--modal-text-color);
color: var(--black-color);
font-family: monospace;
font-style: normal;
@ -329,7 +330,6 @@ label {
.session-confirm {
&-wrapper {
.session-modal__body .session-modal__centered {
margin: var(--margins-lg);
text-align: center;
}
}

@ -35,7 +35,7 @@
&.show {
transform: none;
transition: transform 0.3s ease-in-out;
z-index: 2;
z-index: 3;
}
}

@ -33,26 +33,6 @@
display: none;
}
&-item {
display: flex;
align-items: center;
min-height: 3rem;
font-size: 0.8rem;
color: var(--right-panel-item-text-color);
background-color: var(--right-panel-item-background-color);
border-top: 1px solid var(--border-color);
border-bottom: 1px solid var(--border-color);
width: -webkit-fill-available;
padding: 0 var(--margins-md);
transition: var(--default-duration);
cursor: pointer;
&:hover {
background-color: var(--right-panel-item-background-hover-color);
}
}
// no double border (top and bottom) between two elements
&-item + &-item {
border-top: none;

@ -7,6 +7,7 @@ export const SessionHeaderSearchInput = styled.input<{ darkMode: boolean }>`
padding: 0 26px 0 30px;
margin-inline-start: 8px;
margin-inline-end: 8px;
margin-bottom: 15px;
outline: 0;
height: 32px;
width: calc(100% - 16px);

@ -69,7 +69,6 @@ const StyledCenteredLabel = styled.div`
height: min-content;
white-space: nowrap;
color: var(--in-call-container-text-color);
text-shadow: var(--in-call-container-text-shadow);
z-index: 5;
`;

@ -20,7 +20,7 @@ const StyledMentionAnother = styled.span`
const StyledMentionedUs = styled(StyledMentionAnother)`
background-color: var(--primary-color);
color: var(--text-primary-color);
color: var(--black-color);
border-radius: 5px;
`;

@ -37,6 +37,10 @@ const ConversationBannerRow = styled.div`
flex-direction: row;
gap: var(--margins-lg);
justify-content: center;
.session-button {
padding: 0 36px;
}
`;
export const ConversationMessageRequestButtons = () => {
@ -57,7 +61,6 @@ export const ConversationMessageRequestButtons = () => {
<ConversationRequestBanner>
<ConversationBannerRow>
<SessionButton
buttonColor={SessionButtonColor.Primary}
onClick={async () => {
await handleAcceptConversationRequest(selectedConversation.id);
}}

@ -12,6 +12,7 @@ const ConversationRequestTextBottom = styled.div`
flex-direction: row;
justify-content: center;
padding: var(--margins-lg);
background-color: var(--background-secondary-color);
`;
const ConversationRequestTextInner = styled.div`

@ -7,8 +7,8 @@ import { useSelector } from 'react-redux';
import { getTheme, isDarkTheme } from '../../state/selectors/theme';
import { FixedBaseEmoji, FixedPickerProps } from '../../types/Reaction';
import {
ColorsType,
COLORS,
ColorsType,
PrimaryColorStateType,
THEMES,
ThemeStateType,

@ -161,6 +161,26 @@ const StyledLeaveButton = styled.div`
}
`;
const StyledGroupSettingsItem = styled.div`
display: flex;
align-items: center;
min-height: 3rem;
font-size: var(--font-size-md);
color: var(--right-panel-item-text-color);
background-color: var(--right-panel-item-background-color);
border-top: 1px solid var(--border-color);
border-bottom: 1px solid var(--border-color);
width: -webkit-fill-available;
padding: 0 var(--margins-md);
transition: var(--default-duration);
cursor: pointer;
&:hover {
background-color: var(--right-panel-item-background-hover-color);
}
`;
// tslint:disable: cyclomatic-complexity
// tslint:disable: max-func-body-length
export const SessionRightPanelWithDetails = () => {
@ -267,7 +287,7 @@ export const SessionRightPanelWithDetails = () => {
</>
)}
{showUpdateGroupNameButton && (
<div
<StyledGroupSettingsItem
className="group-settings-item"
role="button"
onClick={async () => {
@ -275,11 +295,11 @@ export const SessionRightPanelWithDetails = () => {
}}
>
{isPublic ? window.i18n('editGroup') : window.i18n('editGroupName')}
</div>
</StyledGroupSettingsItem>
)}
{showAddRemoveModeratorsButton && (
<>
<div
<StyledGroupSettingsItem
className="group-settings-item"
role="button"
onClick={() => {
@ -287,8 +307,8 @@ export const SessionRightPanelWithDetails = () => {
}}
>
{window.i18n('addModerators')}
</div>
<div
</StyledGroupSettingsItem>
<StyledGroupSettingsItem
className="group-settings-item"
role="button"
onClick={() => {
@ -296,12 +316,12 @@ export const SessionRightPanelWithDetails = () => {
}}
>
{window.i18n('removeModerators')}
</div>
</StyledGroupSettingsItem>
</>
)}
{showUpdateGroupMembersButton && (
<div
<StyledGroupSettingsItem
className="group-settings-item"
role="button"
onClick={async () => {
@ -309,7 +329,7 @@ export const SessionRightPanelWithDetails = () => {
}}
>
{window.i18n('groupMembers')}
</div>
</StyledGroupSettingsItem>
)}
{hasDisappearingMessages && (

@ -4,6 +4,12 @@ import { PropsForGroupInvitation } from '../../../../state/ducks/conversations';
import { acceptOpenGroupInvitation } from '../../../../interactions/messageInteractions';
import { SessionIconButton } from '../../../icon';
import { ReadableMessage } from './ReadableMessage';
import styled from 'styled-components';
const StyledIconContainer = styled.div`
background-color: var(--message-link-preview-background-color);
border-radius: 100%;
`;
export const GroupInvitation = (props: PropsForGroupInvitation) => {
const { messageId, receivedAt, isUnread } = props;
@ -24,14 +30,20 @@ export const GroupInvitation = (props: PropsForGroupInvitation) => {
<div className="group-invitation-container" id={`msg-${props.messageId}`}>
<div className={classNames(classes)}>
<div className="contents">
<SessionIconButton
iconColor="var(--background-secondary-color)"
iconType="plus"
iconSize={'large'}
onClick={() => {
acceptOpenGroupInvitation(props.acceptUrl, props.serverName);
}}
/>
<StyledIconContainer>
<SessionIconButton
iconColor={
props.direction === 'outgoing'
? 'var(--message-bubbles-sent-text-color)'
: 'var(--message-bubbles-received-text-color)'
}
iconType={props.direction === 'outgoing' ? 'communities' : 'plus'}
iconSize={'large'}
onClick={() => {
acceptOpenGroupInvitation(props.acceptUrl, props.serverName);
}}
/>
</StyledIconContainer>
<span className="group-details">
<span className="group-name">{props.serverName}</span>
<span className="group-type">{openGroupInvitation}</span>

@ -4,11 +4,17 @@ import { getConversationController } from '../../session/conversations';
import { adminLeaveClosedGroup } from '../../state/ducks/modalDialog';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
import styled from 'styled-components';
type Props = {
conversationId: string;
};
const StyledWarning = styled.p`
max-width: 500px;
line-height: 1.3333;
`;
export const AdminLeaveClosedGroupDialog = (props: Props) => {
const convo = getConversationController().get(props.conversationId);
const titleText = `${window.i18n('leaveGroup')} ${convo.getRealSessionUsername()}`;
@ -34,7 +40,7 @@ export const AdminLeaveClosedGroupDialog = (props: Props) => {
return (
<SessionWrapperModal title={titleText} onClose={closeDialog}>
<SpacerLG />
<p>{warningAsAdmin}</p>
<StyledWarning>{warningAsAdmin}</StyledWarning>
<div className="session-modal__button-group">
<SessionButton

@ -164,6 +164,7 @@ const InviteContactsDialogInner = (props: Props) => {
isSelected={selectedContacts.includes(member)}
onSelect={addTo}
onUnselect={removeFrom}
disableBg={true}
/>
))
) : (

@ -96,6 +96,7 @@ export const RemoveModeratorsDialog = (props: Props) => {
const updatedList = modsToRemove.filter(m => m !== selectedMember);
setModsToRemove(updatedList);
}}
disableBg={true}
/>
))}
</div>

@ -45,6 +45,7 @@ const StyledOnionNodeList = styled.div`
const StyledOnionDescription = styled.p`
min-width: 400px;
width: 0;
line-height: 1.3333;
`;
const StyledVerticalLine = styled.div`

@ -5,12 +5,13 @@ import { matchesHash } from '../../util/passwordUtils';
import { Data } from '../../data/data';
import { QRCode } from 'react-qr-svg';
import { mn_decode } from '../../session/crypto/mnemonic';
import { SpacerLG, SpacerSM, SpacerXS } from '../basic/Text';
import { SpacerSM } from '../basic/Text';
import { recoveryPhraseModal } from '../../state/ducks/modalDialog';
import { useDispatch } from 'react-redux';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
import { SessionWrapperModal } from '../SessionWrapperModal';
import { getCurrentRecoveryPhrase } from '../../util/storage';
import styled from 'styled-components';
interface PasswordProps {
setPasswordValid: (val: boolean) => any;
@ -20,7 +21,6 @@ interface PasswordProps {
const Password = (props: PasswordProps) => {
const { setPasswordValid, passwordHash } = props;
const i18n = window.i18n;
const [error, setError] = useState('');
const dispatch = useDispatch();
const onClose = () => dispatch(recoveryPhraseModal(null));
@ -30,17 +30,17 @@ const Password = (props: PasswordProps) => {
const isPasswordValid = matchesHash(passwordValue as string, passwordHash);
if (!passwordValue) {
setError('noGivenPassword');
ToastUtils.pushToastError('enterPasswordErrorToast', i18n('noGivenPassword'));
return false;
}
if (passwordHash && !isPasswordValid) {
setError('invalidPassword');
ToastUtils.pushToastError('enterPasswordErrorToast', i18n('invalidPassword'));
return false;
}
setPasswordValid(true);
setError('');
window.removeEventListener('keyup', onEnter);
return true;
@ -54,26 +54,23 @@ const Password = (props: PasswordProps) => {
return (
<>
<p>{i18n('showRecoveryPhrasePasswordRequest')}</p>
<input
type="password"
id="seed-input-password"
placeholder={i18n('password')}
onKeyUp={onEnter}
/>
{error && (
<>
<SpacerXS />
<div className="session-label danger">{error}</div>
</>
)}
<div className="session-modal__input-group">
<input
type="password"
id="seed-input-password"
placeholder={i18n('enterPassword')}
onKeyUp={onEnter}
/>
</div>
<SpacerLG />
<SpacerSM />
<div className="session-modal__button-group">
<div
className="session-modal__button-group"
style={{ justifyContent: 'center', width: '100%' }}
>
<SessionButton
text={i18n('ok')}
text={i18n('done')}
buttonType={SessionButtonType.Simple}
onClick={confirmPassword}
/>
@ -93,6 +90,15 @@ interface SeedProps {
onClickCopy?: () => any;
}
const StyledRecoveryPhrase = styled.i`
margin-bottom: var(--margins-md);
`;
const StyledQRImage = styled.div`
width: fit-content;
margin: 0 auto;
`;
const Seed = (props: SeedProps) => {
const { recoveryPhrase, onClickCopy } = props;
const i18n = window.i18n;
@ -114,18 +120,32 @@ const Seed = (props: SeedProps) => {
return (
<>
<div className="session-modal__centered text-center">
<p className="session-modal__description" style={{ marginTop: '0px' }}>
<p
className="session-modal__description"
style={{
lineHeight: '1.3333',
marginTop: '0px',
marginBottom: 'var(--margins-md)',
maxWidth: '600px',
}}
>
{i18n('recoveryPhraseSavePromptMain')}
</p>
<i data-testid="recovery-phrase-seed-modal" className="session-modal__text-highlight">
<StyledRecoveryPhrase
data-testid="recovery-phrase-seed-modal"
className="session-modal__text-highlight"
>
{recoveryPhrase}
</i>
</StyledRecoveryPhrase>
</div>
<div className="qr-image">
<StyledQRImage className="qr-image">
<QRCode value={hexEncodedSeed} bgColor={bgColor} fgColor={fgColor} level="L" />
</div>
<div className="session-modal__button-group">
</StyledQRImage>
<div
className="session-modal__button-group"
style={{ justifyContent: 'center', width: '100%' }}
>
<SessionButton
text={i18n('editMenuCopy')}
buttonType={SessionButtonType.Simple}
@ -138,6 +158,10 @@ const Seed = (props: SeedProps) => {
);
};
const StyledSeedModalContainer = styled.div`
margin: var(--margins-md) var(--margins-sm);
`;
interface ModalInnerProps {
onClickOk?: () => any;
}
@ -192,13 +216,15 @@ const SessionSeedModalInner = (props: ModalInnerProps) => {
onClose={onClose}
showExitIcon={true}
>
<SpacerSM />
{hasPassword && !passwordValid ? (
<Password passwordHash={passwordHash} setPasswordValid={setPasswordValid} />
) : (
<Seed recoveryPhrase={recoveryPhrase} onClickCopy={onClickOk} />
)}
<StyledSeedModalContainer>
<SpacerSM />
{hasPassword && !passwordValid ? (
<Password passwordHash={passwordHash} setPasswordValid={setPasswordValid} />
) : (
<Seed recoveryPhrase={recoveryPhrase} onClickCopy={onClickOk} />
)}
</StyledSeedModalContainer>
</SessionWrapperModal>
)}
</>

@ -15,11 +15,16 @@ import useKey from 'react-use/lib/useKey';
import { useSet } from '../../hooks/useSet';
import { getConversationController } from '../../session/conversations';
import { initiateClosedGroupUpdate } from '../../session/group/closed-group';
import styled from 'styled-components';
type Props = {
conversationId: string;
};
const StyledClassicMemberList = styled.div`
max-height: 240px;
`;
/**
* Admins are always put first in the list of group members.
* Also, admins have a little crown on their avatar.
@ -54,6 +59,7 @@ const ClassicMemberList = (props: {
onUnselect={onUnselect}
key={member}
isAdmin={isAdmin}
disableBg={true}
/>
);
})}
@ -229,14 +235,14 @@ export const UpdateGroupMembersDialog = (props: Props) => {
return (
<SessionWrapperModal title={titleText} onClose={closeDialog}>
<div className="group-member-list__selection">
<StyledClassicMemberList className="group-member-list__selection">
<ClassicMemberList
convoId={conversationId}
onSelect={onAdd}
onUnselect={onRemove}
selectedMembers={membersToKeepWithUpdate}
/>
</div>
</StyledClassicMemberList>
<ZombiesList convoId={conversationId} />
{showNoMembersMessage && <p>{window.i18n('noMembersInThisGroup')}</p>}

@ -7,18 +7,18 @@ type Props = {
const StyledCountContainer = styled.div<{ shouldRender: boolean }>`
position: absolute;
width: 20px;
height: 20px;
font-size: 20px;
top: var(--margins-lg);
left: var(--margins-sm);
width: 24px;
height: 12px;
font-size: 18px;
top: 27px;
right: 8px;
padding: 3px;
opacity: 1;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--font-default);
border-radius: 50%;
border-radius: 58px;
font-weight: 700;
background: var(--unread-messages-alert-background-color);
transition: var(--default-duration);
@ -27,18 +27,9 @@ const StyledCountContainer = styled.div<{ shouldRender: boolean }>`
color: var(--unread-messages-alert-text-color);
`;
const StyledCount = styled.div<{ countOverflow: boolean }>`
const StyledCount = styled.div`
position: relative;
font-size: ${props => (props.countOverflow ? '0.5em' : '0.6em')};
margin-top: ${props => (props.countOverflow ? '0.35em' : '0em')};
margin-left: ${props => (props.countOverflow ? '-0.45em' : '0em')};
`;
const StyledCountSup = styled.div`
position: absolute;
font-size: 1.3em;
top: -0.5em;
margin-inline-start: 0.375em;
font-size: 0.6em;
`;
export const SessionNotificationCount = (props: Props) => {
@ -49,16 +40,16 @@ export const SessionNotificationCount = (props: Props) => {
if (overflow) {
return (
<StyledCountContainer shouldRender={shouldRender}>
<StyledCount countOverflow={overflow}>
<StyledCount>
{9}
<StyledCountSup>+</StyledCountSup>
<span>+</span>
</StyledCount>
</StyledCountContainer>
);
}
return (
<StyledCountContainer shouldRender={shouldRender}>
<StyledCount countOverflow={overflow}>{count}</StyledCount>
<StyledCount>{count}</StyledCount>
</StyledCountContainer>
);
};

@ -34,6 +34,16 @@ const StyledGroupMemberListContainer = styled.div`
overflow-y: auto;
border-top: 1px solid var(--border-color);
border-bottom: 1px solid var(--border-color);
&::-webkit-scrollbar-track {
background-color: var(--background-secondary-color);
}
`;
const StyledGroupMemberList = styled.div`
button {
background-color: var(--background-secondary-color);
}
`;
const NoContacts = () => {
@ -119,7 +129,7 @@ export const OverlayClosedGroup = () => {
{noContactsForClosedGroup ? (
<NoContacts />
) : (
<div className="group-member-list__selection">
<StyledGroupMemberList className="group-member-list__selection">
{contactsToRender.map((memberPubkey: string) => (
<MemberListItem
pubkey={memberPubkey}
@ -127,9 +137,10 @@ export const OverlayClosedGroup = () => {
key={memberPubkey}
onSelect={addToSelected}
onUnselect={removeFromSelected}
disableBg={true}
/>
))}
</div>
</StyledGroupMemberList>
)}
</StyledGroupMemberListContainer>

@ -29,7 +29,6 @@ const MessageRequestListPlaceholder = styled.div`
const MessageRequestListContainer = styled.div`
width: 100%;
overflow-y: auto;
border: 1px solid var(--border-color);
margin-bottom: auto;
`;

@ -22,6 +22,8 @@ const StyledConversationTitleResults = styled.div`
white-space: nowrap;
text-overflow: ellipsis;
color: var(--conversation-tab-text-color);
/* We don't want this to overflow horziontally past the timestamp */
width: 90px;
`;
const StyledConversationFromUserInGroup = styled(StyledConversationTitleResults)`
@ -33,7 +35,7 @@ const StyledConversationFromUserInGroup = styled(StyledConversationTitleResults)
color: var(--conversation-tab-text-color);
`;
const StyledSearchResulsts = styled.div`
const StyledSearchResults = styled.div`
padding: 8px;
padding-inline-start: 16px;
padding-inline-end: 16px;
@ -206,7 +208,7 @@ export const MessageSearchResult = (props: MessageResultProps) => {
// tslint:disable: use-simple-attributes
return (
<StyledSearchResulsts
<StyledSearchResults
key={`div-msg-searchresult-${id}`}
role="button"
onClick={() => {
@ -233,6 +235,6 @@ export const MessageSearchResult = (props: MessageResultProps) => {
<MessageBodyHighlight text={snippet || ''} isGroup={!convoIsPrivate} />
</ResultBody>
</StyledResultText>
</StyledSearchResulsts>
</StyledSearchResults>
);
};

@ -15,6 +15,7 @@ import { SettingsCategoryHelp } from './section/CategoryHelp';
import styled from 'styled-components';
import { sessionPassword } from '../../state/ducks/modalDialog';
import { PasswordAction } from '../dialog/SessionPasswordDialog';
import { SectionType, showLeftPaneSection } from '../../state/ducks/section';
export function displayPasswordModal(
passwordAction: PasswordAction,
@ -229,6 +230,7 @@ export class SessionSettingsView extends React.Component<SettingsViewProps, Stat
hasPassword: true,
shouldLockSettings: true,
});
window.inboxStore?.dispatch(showLeftPaneSection(SectionType.Message));
}
if (action === 'remove') {

@ -134,15 +134,14 @@ export const classicDark: ThemeColorVariables = {
'--suggestions-text-color': 'var(--text-primary-color)',
'--suggestions-shadow': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.24) 0px 3px 8px`,
'--input-background-color': 'var(--background-secondary-color)',
'--input-background-color': 'var(--transparent-color)',
'--input-background-hover-color': 'var(--background-primary-color)',
'--input-text-placeholder-color': 'var(--text-secondary-color)',
'--input-text-color': 'var(--text-primary-color)',
'--input-border-color': 'var(--border-color)',
'--in-call-container-background-color': 'var(--background-primary-color)',
'--in-call-container-text-color': 'var(--white-color)',
'--in-call-container-text-shadow': '0px 0px 8px var(--text-primary-color)',
'--in-call-container-text-color': 'var(--text-primary-color)',
'--call-buttons-background-color': THEMES.CLASSIC_DARK.COLOR3,
'--call-buttons-background-hover-color': THEMES.CLASSIC_DARK.COLOR4,

@ -21,7 +21,7 @@ export const classicLight: ThemeColorVariables = {
'--text-box-border-color': THEMES.CLASSIC_LIGHT.COLOR2,
'--message-bubbles-sent-background-color': 'var(--primary-color)',
'--message-bubbles-received-background-color': THEMES.CLASSIC_LIGHT.COLOR3,
'--message-bubbles-received-background-color': THEMES.CLASSIC_LIGHT.COLOR4,
'--message-bubbles-sent-text-color': 'var(--text-primary-color)',
'--message-bubbles-received-text-color': 'var(--text-primary-color)',
@ -134,15 +134,14 @@ export const classicLight: ThemeColorVariables = {
'--suggestions-text-color': 'var(--text-primary-color)',
'--suggestions-shadow': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.24) 0px 3px 8px`,
'--input-background-color': 'var(--background-secondary-color)',
'--input-background-color': 'var(--transparent-color)',
'--input-background-hover-color': 'var(--background-secondary-color)',
'--input-text-placeholder-color': 'var(--text-secondary-color)',
'--input-text-color': 'var(--text-primary-color)',
'--input-border-color': 'var(--border-color)',
'--in-call-container-background-color': 'var(--background-primary-color)',
'--in-call-container-text-color': 'var(--white-color)',
'--in-call-container-text-shadow': '0px 0px 8px var(--text-primary-color)',
'--in-call-container-text-color': 'var(--text-primary-color)',
'--call-buttons-background-color': THEMES.CLASSIC_LIGHT.COLOR3,
'--call-buttons-background-hover-color': THEMES.CLASSIC_LIGHT.COLOR4,

@ -140,7 +140,7 @@ export const THEME_GLOBALS: ThemeGlobals = {
'--lightbox-caption-background-color': 'rgba(192, 192, 192, .40)',
'--lightbox-icon-stroke-color': 'var(--white-color)',
'--avatar-border-color': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.59)`,
'--avatar-border-color': 'var(--transparent-color)',
'--message-link-preview-background-color': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.06)`,
};

@ -135,15 +135,14 @@ export const oceanDark: ThemeColorVariables = {
'--suggestions-text-color': 'var(--text-primary-color)',
'--suggestions-shadow': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.24) 0px 3px 8px`,
'--input-background-color': THEMES.OCEAN_DARK.COLOR3,
'--input-background-color': 'var(--transparent-color)',
'--input-background-hover-color': 'var(--background-secondary-color)',
'--input-text-placeholder-color': 'var(--text-secondary-color)',
'--input-text-color': 'var(--text-primary-color)',
'--input-border-color': 'var(--border-color)',
'--in-call-container-background-color': 'var(--background-primary-color)',
'--in-call-container-text-color': 'var(--white-color)',
'--in-call-container-text-shadow': '0px 0px 8px var(--text-primary-color)',
'--in-call-container-text-color': 'var(--text-primary-color)',
'--call-buttons-background-color': THEMES.OCEAN_DARK.COLOR4,
'--call-buttons-background-hover-color': THEMES.OCEAN_DARK.COLOR4,

@ -135,15 +135,14 @@ export const oceanLight: ThemeColorVariables = {
'--suggestions-text-color': 'var(--text-primary-color)',
'--suggestions-shadow': `rgba(${hexColorToRGB(COLORS.BLACK)}, 0.24) 0px 3px 8px`,
'--input-background-color': THEMES.OCEAN_LIGHT.COLOR5,
'--input-background-color': 'var(--transparent-color)',
'--input-background-hover-color': 'var(--background-secondary-color)',
'--input-text-placeholder-color': 'var(--text-secondary-color)',
'--input-text-color': 'var(--text-primary-color)',
'--input-border-color': 'var(--border-color)',
'--in-call-container-background-color': 'var(--background-primary-color)',
'--in-call-container-text-color': 'var(--white-color)',
'--in-call-container-text-shadow': '0px 0px 8px var(--text-primary-color)',
'--in-call-container-text-color': 'var(--text-primary-color)',
'--call-buttons-background-color': THEMES.OCEAN_LIGHT.COLOR4,
'--call-buttons-background-hover-color': THEMES.OCEAN_LIGHT.COLOR4,

@ -1,7 +1,7 @@
import { find } from 'lodash';
import { Dispatch } from '@reduxjs/toolkit';
import { applyPrimaryColor } from '../state/ducks/primaryColor';
import { ColorsType, COLORS, getPrimaryColors, PrimaryColorStateType } from './constants/colors';
import { COLORS, ColorsType, getPrimaryColors, PrimaryColorStateType } from './constants/colors';
export function findPrimaryColorId(hexCode: string): PrimaryColorStateType | undefined {
const primaryColors = getPrimaryColors();

@ -177,7 +177,6 @@ export type ThemeColorVariables = {
/* In Call Container */
'--in-call-container-background-color': string;
'--in-call-container-text-color': string;
'--in-call-container-text-shadow': string;
/* Call Buttons */
'--call-buttons-background-color': string;

@ -131,7 +131,7 @@ function update(forceRefresh = false) {
isAppFocused: forceRefresh ? false : isAppFocused,
isAudioNotificationEnabled,
isAudioNotificationSupported: audioNotificationSupported,
isEnabled,
isEnabled: forceRefresh ? true : isEnabled,
numNotifications,
userSetting,
});

Loading…
Cancel
Save