diff --git a/tools/localization/regex.py b/tools/localization/regex.py index 1be444ffe..4da06bf6c 100644 --- a/tools/localization/regex.py +++ b/tools/localization/regex.py @@ -18,7 +18,7 @@ def get_localization_regex_list(string): fr"i18n\('{key}'(, {{[\S\s.]*}})?\)", fr"i18n\.(stripped|inEnglish|getRawMessage)\('{key}'(, {{[\S\s.]*}})?\)", fr"window\?\.i18n\?\.\('{key}'(, {{[\S\s.]*}})?\)", - fr"( - ({ className, ...props }) => { - return ( - - - - ); - } -); +export const I18nSubText = ({ + className, + dataTestId, + localizerProps, +}: { + className?: string; + dataTestId: SessionDataTestId; + localizerProps: LocalizerComponentPropsObject; +}) => { + return ( + + + + ); +}; diff --git a/ts/components/conversation/H5AudioPlayer.tsx b/ts/components/conversation/H5AudioPlayer.tsx index b1a3eb5d3..126545017 100644 --- a/ts/components/conversation/H5AudioPlayer.tsx +++ b/ts/components/conversation/H5AudioPlayer.tsx @@ -1,5 +1,5 @@ // Audio Player -import { useEffect, useRef, useState } from 'react'; +import { SessionDataTestId, useEffect, useRef, useState } from 'react'; import H5AudioPlayer, { RHAP_UI } from 'react-h5-audio-player'; import { useDispatch, useSelector } from 'react-redux'; import styled from 'styled-components'; @@ -171,7 +171,7 @@ export const AudioPlayerWithEncryptedFile = (props: { direction === 'incoming' ? 'var(--message-bubbles-received-text-color)' : 'var(--message-bubbles-sent-text-color)'; - const dataTestId = `audio-${messageId}`; + const dataTestId: SessionDataTestId = 'audio-player'; const triggerPlayNextMessageIfNeeded = (endedMessageId: string) => { const justEndedMessageIndex = messageProps.findIndex( diff --git a/ts/components/conversation/StagedLinkPreview.tsx b/ts/components/conversation/StagedLinkPreview.tsx index b410dbdbd..104c2728f 100644 --- a/ts/components/conversation/StagedLinkPreview.tsx +++ b/ts/components/conversation/StagedLinkPreview.tsx @@ -74,9 +74,11 @@ export const StagedLinkPreview = (props: Props) => { justifyContent={isLoading ? 'center' : 'flex-start'} alignItems={'center'} > - {isLoading ? : null} + {isLoading ? ( + + ) : null} {isLoaded && image && isContentTypeImage ? ( - + {AriaLabels.imageStagedLinkPreview} { /> ) : null} - {isLoaded ? {title} : null} + {isLoaded ? {title} : null} { }} margin={'0 var(--margins-sm) 0 0'} aria-label={window.i18n('close')} + dataTestId="link-preview-close" style={{ position: isLoading ? 'absolute' : undefined, right: isLoading ? 'var(--margins-sm)' : undefined, diff --git a/ts/components/dialog/OpenUrlModal.tsx b/ts/components/dialog/OpenUrlModal.tsx index fe9353e85..e6c84091a 100644 --- a/ts/components/dialog/OpenUrlModal.tsx +++ b/ts/components/dialog/OpenUrlModal.tsx @@ -8,7 +8,7 @@ import { OpenUrlModalState, updateOpenUrlModal } from '../../state/ducks/modalDi import { SessionWrapperModal } from '../SessionWrapperModal'; import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton'; import { SpacerMD } from '../basic/Text'; -import { StyledI18nSubText } from '../basic/StyledI18nSubText'; +import { I18nSubText } from '../basic/I18nSubText'; import { StyledModalDescriptionContainer } from './shared/ModalDescriptionContainer'; const StyledScrollDescriptionContainer = styled(StyledModalDescriptionContainer)` @@ -47,7 +47,10 @@ export function OpenUrlModal(props: OpenUrlModalState) { >
- +
diff --git a/ts/components/dialog/QuitModal.tsx b/ts/components/dialog/QuitModal.tsx index 828c6c473..cbf0cfc0b 100644 --- a/ts/components/dialog/QuitModal.tsx +++ b/ts/components/dialog/QuitModal.tsx @@ -8,7 +8,7 @@ import { Flex } from '../basic/Flex'; import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton'; import { SpacerLG, SpacerSM } from '../basic/Text'; import { SessionConfirmDialogProps } from './SessionConfirm'; -import { StyledI18nSubText } from '../basic/StyledI18nSubText'; +import { I18nSubText } from '../basic/I18nSubText'; const modalStyle: CSSProperties = { maxWidth: '300px', @@ -85,7 +85,7 @@ export const QuitModal = (props: SessionConfirmDialogProps) => { style={modalStyle} > - + ) : null} diff --git a/ts/components/dialog/SessionConfirm.tsx b/ts/components/dialog/SessionConfirm.tsx index 09c5efd8e..bdbe76dc9 100644 --- a/ts/components/dialog/SessionConfirm.tsx +++ b/ts/components/dialog/SessionConfirm.tsx @@ -10,9 +10,8 @@ import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/S import { SessionRadioGroup, SessionRadioItems } from '../basic/SessionRadioGroup'; import { SpacerLG } from '../basic/Text'; import { SessionSpinner } from '../loading'; - -import { StyledI18nSubText } from '../basic/StyledI18nSubText'; import type { LocalizerComponentPropsObject } from '../../localization/localeTools'; +import { I18nSubText } from '../basic/I18nSubText'; export interface SessionConfirmDialogProps { i18nMessage?: LocalizerComponentPropsObject; @@ -132,7 +131,7 @@ export const SessionConfirm = (props: SessionConfirmDialogProps) => {
{i18nMessage ? ( - + ) : null} {radioOptions && chosenOption !== '' ? (