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: {},