diff --git a/examples/SampleApp/src/components/ChannelPreview.tsx b/examples/SampleApp/src/components/ChannelPreview.tsx index 9ae44401ad..25990cedb6 100644 --- a/examples/SampleApp/src/components/ChannelPreview.tsx +++ b/examples/SampleApp/src/components/ChannelPreview.tsx @@ -58,13 +58,16 @@ const CustomChannelPreviewStatus = ( props: ChannelPreviewStatusProps & { membership: ChannelState['membership'] }, ) => { const { membership } = props; + const { + theme: { semantics }, + } = useTheme(); return ( {membership.pinned_at && ( - + )} diff --git a/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx b/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx index 2cde795860..0c363a29f3 100644 --- a/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx +++ b/package/src/components/ChannelPreview/ChannelPreviewMessage.tsx @@ -105,7 +105,7 @@ export const ChannelPreviewMessage = (props: ChannelPreviewMessageProps) => { if (isFailedMessage) { return ( - + {t('Message failed to send')} @@ -131,7 +131,10 @@ export const ChannelPreviewMessage = (props: ChannelPreviewMessageProps) => { const useStyles = ({ isMessageDeleted = false }: { isMessageDeleted?: boolean }) => { const { - theme: { semantics }, + theme: { + semantics, + channelPreview: { message }, + }, } = useTheme(); return useMemo(() => { @@ -141,12 +144,7 @@ const useStyles = ({ isMessageDeleted = false }: { isMessageDeleted?: boolean }) alignItems: 'center', gap: primitives.spacingXxs, flexShrink: 1, - }, - messagePreviewContainer: { - flexDirection: 'row', - alignItems: 'center', - gap: primitives.spacingXxs, - flexShrink: 1, + ...message.container, }, subtitle: { color: isMessageDeleted ? semantics.textTertiary : semantics.textSecondary, @@ -154,12 +152,16 @@ const useStyles = ({ isMessageDeleted = false }: { isMessageDeleted?: boolean }) fontWeight: primitives.typographyFontWeightRegular, includeFontPadding: false, lineHeight: primitives.typographyLineHeightNormal, + flexShrink: 1, + ...message.subtitle, }, draftText: { color: semantics.accentPrimary, fontSize: primitives.typographyFontSizeSm, fontWeight: primitives.typographyFontWeightSemiBold, lineHeight: primitives.typographyLineHeightNormal, + includeFontPadding: false, + ...message.draftText, }, errorText: { color: semantics.accentError, @@ -167,7 +169,8 @@ const useStyles = ({ isMessageDeleted = false }: { isMessageDeleted?: boolean }) fontWeight: primitives.typographyFontWeightRegular, includeFontPadding: false, lineHeight: primitives.typographyLineHeightNormal, + ...message.errorText, }, }); - }, [semantics, isMessageDeleted]); + }, [semantics, isMessageDeleted, message]); }; diff --git a/package/src/contexts/themeContext/utils/theme.ts b/package/src/contexts/themeContext/utils/theme.ts index 1354150737..ad764a2c7d 100644 --- a/package/src/contexts/themeContext/utils/theme.ts +++ b/package/src/contexts/themeContext/utils/theme.ts @@ -173,9 +173,6 @@ export type Theme = { contentContainer: ViewStyle; date: TextStyle; mutedStatus: IconProps; - message: { - container: ViewStyle; - }; messageDeliveryStatus: { container: ViewStyle; text: TextStyle; @@ -195,6 +192,12 @@ export type Theme = { statusContainer: ViewStyle; titleContainer: ViewStyle; wrapper: ViewStyle; + message: { + container: ViewStyle; + subtitle: TextStyle; + errorText: TextStyle; + draftText: TextStyle; + }; }; dateHeader: { container: ViewStyle; @@ -1013,6 +1016,9 @@ export const defaultTheme: Theme = { date: {}, message: { container: {}, + subtitle: {}, + errorText: {}, + draftText: {}, }, messageDeliveryStatus: { container: {},