about summary refs log tree commit diff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/dms/MessageContext.tsx17
-rw-r--r--src/components/dms/MessageItemEmbed.tsx17
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)