diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/dms/MessageContext.tsx | 17 | ||||
-rw-r--r-- | src/components/dms/MessageItemEmbed.tsx | 17 |
2 files changed, 27 insertions, 7 deletions
diff --git a/src/components/dms/MessageContext.tsx b/src/components/dms/MessageContext.tsx new file mode 100644 index 000000000..84056fb30 --- /dev/null +++ b/src/components/dms/MessageContext.tsx @@ -0,0 +1,17 @@ +import React from 'react' + +const MessageContext = React.createContext(false) + +export function MessageContextProvider({ + children, +}: { + children: React.ReactNode +}) { + return ( + <MessageContext.Provider value={true}>{children}</MessageContext.Provider> + ) +} + +export function useIsWithinMessage() { + return React.useContext(MessageContext) +} diff --git a/src/components/dms/MessageItemEmbed.tsx b/src/components/dms/MessageItemEmbed.tsx index 3db00aece..f9eb4d3af 100644 --- a/src/components/dms/MessageItemEmbed.tsx +++ b/src/components/dms/MessageItemEmbed.tsx @@ -4,6 +4,7 @@ import {AppBskyEmbedRecord} from '@atproto/api' import {PostEmbeds, PostEmbedViewContext} from '#/view/com/util/post-embeds' import {atoms as a, native, useTheme} from '#/alf' +import {MessageContextProvider} from './MessageContext' let MessageItemEmbed = ({ embed, @@ -13,13 +14,15 @@ let MessageItemEmbed = ({ const t = useTheme() return ( - <View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}> - <PostEmbeds - embed={embed} - allowNestedQuotes - viewContext={PostEmbedViewContext.Feed} - /> - </View> + <MessageContextProvider> + <View style={[a.my_xs, t.atoms.bg, native({flexBasis: 0})]}> + <PostEmbeds + embed={embed} + allowNestedQuotes + viewContext={PostEmbedViewContext.Feed} + /> + </View> + </MessageContextProvider> ) } MessageItemEmbed = React.memo(MessageItemEmbed) |