Support for sending formatting messages
This commit is contained in:
parent
42e13aedcd
commit
9bfbee464b
65 changed files with 1762 additions and 371 deletions
|
@ -6,6 +6,11 @@ import { createSelector } from 'reselect';
|
|||
import type { StateType } from '../reducer';
|
||||
import type { ComposerStateType, QuotedMessageType } from '../ducks/composer';
|
||||
import { getComposerStateForConversation } from '../ducks/composer';
|
||||
import {
|
||||
getRemoteConfig,
|
||||
getTextFormattingEnabled,
|
||||
isRemoteConfigFlagEnabled,
|
||||
} from './items';
|
||||
|
||||
export const getComposerState = (state: StateType): ComposerStateType =>
|
||||
state.composer;
|
||||
|
@ -22,3 +27,28 @@ export const getQuotedMessageSelector = createSelector(
|
|||
(conversationId: string): QuotedMessageType | undefined =>
|
||||
composerStateForConversationIdSelector(conversationId).quotedMessage
|
||||
);
|
||||
|
||||
export const getIsFormattingEnabled = createSelector(
|
||||
getTextFormattingEnabled,
|
||||
getRemoteConfig,
|
||||
(isOptionEnabled, remoteConfig) => {
|
||||
return (
|
||||
isOptionEnabled &&
|
||||
isRemoteConfigFlagEnabled(remoteConfig, 'desktop.textFormatting')
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
export const getIsFormattingSpoilersEnabled = createSelector(
|
||||
getTextFormattingEnabled,
|
||||
getRemoteConfig,
|
||||
(isOptionEnabled, remoteConfig) => {
|
||||
return (
|
||||
isOptionEnabled &&
|
||||
isRemoteConfigFlagEnabled(
|
||||
remoteConfig,
|
||||
'desktop.textFormatting.spoilerSend'
|
||||
)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
|
|
@ -48,7 +48,7 @@ export const getUniversalExpireTimer = createSelector(
|
|||
DurationInSeconds.fromSeconds(state[UNIVERSAL_EXPIRE_TIMER_ITEM] || 0)
|
||||
);
|
||||
|
||||
const isRemoteConfigFlagEnabled = (
|
||||
export const isRemoteConfigFlagEnabled = (
|
||||
config: Readonly<ConfigMapType>,
|
||||
key: ConfigKeyType
|
||||
): boolean => Boolean(config[key]?.enabled);
|
||||
|
@ -250,3 +250,8 @@ export const getAutoDownloadUpdate = createSelector(
|
|||
(state: ItemsStateType): boolean =>
|
||||
Boolean(state['auto-download-update'] ?? true)
|
||||
);
|
||||
|
||||
export const getTextFormattingEnabled = createSelector(
|
||||
getItems,
|
||||
(state: ItemsStateType): boolean => Boolean(state.textFormatting ?? true)
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue