diff --git a/src/screens/Messages/Conversation.tsx b/src/screens/Messages/Conversation.tsx
index 1e2f4037a8..aa8a052d7c 100644
--- a/src/screens/Messages/Conversation.tsx
+++ b/src/screens/Messages/Conversation.tsx
@@ -49,6 +49,7 @@ import {ChatDisabled} from './components/ChatDisabled'
import {ChatEnded} from './components/ChatEnded'
import {ChatLocked} from './components/ChatLocked'
import {RequestStatus} from './components/RequestStatus'
+import {GroupOwnerChatDisabled} from './components/GroupOwnerChatDisabled'
type Props = NativeStackScreenProps<
CommonNavigatorParams,
@@ -250,7 +251,9 @@ function InnerReady({
/>
)
} else if (convo?.kind === 'group') {
- if (convo.details.lockStatus === 'locked') {
+ if (convo.primaryMember?.chatDisabled) {
+ footer =
+ } else if (convo.details.lockStatus === 'locked') {
footer =
} else if (convo.details.lockStatus === 'locked-permanently') {
footer =
diff --git a/src/screens/Messages/components/GroupOwnerChatDisabled.tsx b/src/screens/Messages/components/GroupOwnerChatDisabled.tsx
new file mode 100644
index 0000000000..fe25be916b
--- /dev/null
+++ b/src/screens/Messages/components/GroupOwnerChatDisabled.tsx
@@ -0,0 +1,71 @@
+import {Pressable} from 'react-native'
+import {Trans, useLingui} from '@lingui/react/macro'
+import {StackActions, useNavigation} from '@react-navigation/native'
+
+import {HITSLOP_10} from '#/lib/constants'
+import {type NavigationProp} from '#/lib/routes/types'
+import {logger} from '#/logger'
+import {useLeaveConvo} from '#/state/queries/messages/leave-conversation'
+import {atoms as a, useTheme} from '#/alf'
+import {type ConvoWithDetails} from '#/components/dms/util'
+import {Warning_Stroke2_Corner0_Rounded as WarningIcon} from '#/components/icons/Warning'
+import * as Prompt from '#/components/Prompt'
+import * as Toast from '#/components/Toast'
+import {Text} from '#/components/Typography'
+import {LeaveChatPrompt} from '../ConversationSettings/prompts'
+import {ChatFooter} from './ChatFooter'
+
+export function GroupOwnerChatDisabled({
+ convo,
+}: {
+ convo: Extract
+}) {
+ const t = useTheme()
+ const {t: l} = useLingui()
+
+ const leaveChatPrompt = Prompt.usePromptControl()
+ const navigation = useNavigation()
+
+ const {mutate: leaveConvo} = useLeaveConvo(convo.view.id, {
+ onSuccess: () => {
+ navigation.dispatch(StackActions.pop(2))
+ },
+ onError: e => {
+ logger.error('Failed to leave group chat', {message: e})
+ Toast.show(l({message: 'Failed to leave group chat', context: 'toast'}), {
+ type: 'error',
+ })
+ },
+ })
+
+ return (
+
+
+
+ Leave chat
+
+
+
+
+ )
+}