Conditionally run global event bus
This commit is contained in:
@@ -16,6 +16,7 @@ import {useQueryClient} from '@tanstack/react-query'
|
|||||||
|
|
||||||
import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
|
import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
|
import {MessagesEventBusProvider} from '#/state/messages/events'
|
||||||
import {init as initPersistedState} from '#/state/persisted'
|
import {init as initPersistedState} from '#/state/persisted'
|
||||||
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
|
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
|
||||||
import {Provider as ModerationOptsProvider} from '#/state/preferences/moderation-opts'
|
import {Provider as ModerationOptsProvider} from '#/state/preferences/moderation-opts'
|
||||||
@@ -97,6 +98,7 @@ function InnerApp() {
|
|||||||
<QueryProvider currentDid={currentAccount?.did}>
|
<QueryProvider currentDid={currentAccount?.did}>
|
||||||
<PushNotificationsListener>
|
<PushNotificationsListener>
|
||||||
<StatsigProvider>
|
<StatsigProvider>
|
||||||
|
<MessagesEventBusProvider>
|
||||||
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
|
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
|
||||||
<LabelDefsProvider>
|
<LabelDefsProvider>
|
||||||
<ModerationOptsProvider>
|
<ModerationOptsProvider>
|
||||||
@@ -112,6 +114,7 @@ function InnerApp() {
|
|||||||
</LoggedOutViewProvider>
|
</LoggedOutViewProvider>
|
||||||
</ModerationOptsProvider>
|
</ModerationOptsProvider>
|
||||||
</LabelDefsProvider>
|
</LabelDefsProvider>
|
||||||
|
</MessagesEventBusProvider>
|
||||||
</StatsigProvider>
|
</StatsigProvider>
|
||||||
</PushNotificationsListener>
|
</PushNotificationsListener>
|
||||||
</QueryProvider>
|
</QueryProvider>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import {useLingui} from '@lingui/react'
|
|||||||
|
|
||||||
import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
|
import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
|
||||||
import {logger} from '#/logger'
|
import {logger} from '#/logger'
|
||||||
|
import {MessagesEventBusProvider} from '#/state/messages/events'
|
||||||
import {init as initPersistedState} from '#/state/persisted'
|
import {init as initPersistedState} from '#/state/persisted'
|
||||||
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
|
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
|
||||||
import {Provider as ModerationOptsProvider} from '#/state/preferences/moderation-opts'
|
import {Provider as ModerationOptsProvider} from '#/state/preferences/moderation-opts'
|
||||||
@@ -84,6 +85,7 @@ function InnerApp() {
|
|||||||
key={currentAccount?.did}>
|
key={currentAccount?.did}>
|
||||||
<QueryProvider currentDid={currentAccount?.did}>
|
<QueryProvider currentDid={currentAccount?.did}>
|
||||||
<StatsigProvider>
|
<StatsigProvider>
|
||||||
|
<MessagesEventBusProvider>
|
||||||
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
|
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
|
||||||
<LabelDefsProvider>
|
<LabelDefsProvider>
|
||||||
<ModerationOptsProvider>
|
<ModerationOptsProvider>
|
||||||
@@ -98,6 +100,7 @@ function InnerApp() {
|
|||||||
</LoggedOutViewProvider>
|
</LoggedOutViewProvider>
|
||||||
</ModerationOptsProvider>
|
</ModerationOptsProvider>
|
||||||
</LabelDefsProvider>
|
</LabelDefsProvider>
|
||||||
|
</MessagesEventBusProvider>
|
||||||
</StatsigProvider>
|
</StatsigProvider>
|
||||||
</QueryProvider>
|
</QueryProvider>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import React from 'react'
|
|||||||
import {AppState} from 'react-native'
|
import {AppState} from 'react-native'
|
||||||
import {BskyAgent} from '@atproto-labs/api'
|
import {BskyAgent} from '@atproto-labs/api'
|
||||||
|
|
||||||
|
import {useGate} from '#/lib/statsig/statsig'
|
||||||
import {isWeb} from '#/platform/detection'
|
import {isWeb} from '#/platform/detection'
|
||||||
import {MessagesEventBus} from '#/state/messages/events/agent'
|
import {MessagesEventBus} from '#/state/messages/events/agent'
|
||||||
import {MessagesEventBusState} from '#/state/messages/events/types'
|
import {MessagesEventBusState} from '#/state/messages/events/types'
|
||||||
@@ -20,7 +21,7 @@ export function useMessagesEventBus() {
|
|||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
export function MessagesEventBusProvider({
|
export function Temp_MessagesEventBusProvider({
|
||||||
children,
|
children,
|
||||||
}: {
|
}: {
|
||||||
children: React.ReactNode
|
children: React.ReactNode
|
||||||
@@ -65,3 +66,18 @@ export function MessagesEventBusProvider({
|
|||||||
</MessagesEventBusContext.Provider>
|
</MessagesEventBusContext.Provider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function MessagesEventBusProvider({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode
|
||||||
|
}) {
|
||||||
|
const gate = useGate()
|
||||||
|
const {serviceUrl} = useDmServiceUrlStorage()
|
||||||
|
if (gate('dms') && serviceUrl) {
|
||||||
|
return (
|
||||||
|
<Temp_MessagesEventBusProvider>{children}</Temp_MessagesEventBusProvider>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return children
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user