Don't show chat notification if viewer is age gated (#10042)
This commit is contained in:
@@ -2,8 +2,10 @@ import {createContext, useCallback, useContext, useEffect, useMemo} from 'react'
|
||||
|
||||
import {useGetAndRegisterPushToken} from '#/lib/notifications/notifications'
|
||||
import {Provider as RedirectOverlayProvider} from '#/ageAssurance/components/RedirectOverlay'
|
||||
import {AgeAssuranceDataProvider} from '#/ageAssurance/data'
|
||||
import {useAgeAssuranceDataContext} from '#/ageAssurance/data'
|
||||
import {
|
||||
AgeAssuranceDataProvider,
|
||||
useAgeAssuranceDataContext,
|
||||
} from '#/ageAssurance/data'
|
||||
import {logger} from '#/ageAssurance/logger'
|
||||
import {
|
||||
useAgeAssuranceState,
|
||||
|
||||
@@ -49,6 +49,7 @@ import {
|
||||
Message_Stroke2_Corner0_Rounded_Filled as MessageFilled,
|
||||
} from '#/components/icons/Message'
|
||||
import {Text} from '#/components/Typography'
|
||||
import {useAgeAssurance} from '#/ageAssurance'
|
||||
import {useActorStatus} from '#/features/liveNow'
|
||||
import {useDemoMode} from '#/storage/hooks/demo-mode'
|
||||
import {styles} from './BottomBarStyles'
|
||||
@@ -65,6 +66,7 @@ export function BottomBar({navigation}: BottomTabBarProps) {
|
||||
useNavigationTabState()
|
||||
const numUnreadNotifications = useUnreadNotifications()
|
||||
const numUnreadMessages = useUnreadMessageCount()
|
||||
const aa = useAgeAssurance()
|
||||
const footerMinimalShellTransform = useMinimalShellFooterTransform()
|
||||
const {data: profile} = useProfileQuery({did: currentAccount?.did})
|
||||
const {requestSwitchToAccount} = useLoggedOutViewControls()
|
||||
@@ -213,13 +215,15 @@ export function BottomBar({navigation}: BottomTabBarProps) {
|
||||
)
|
||||
}
|
||||
onPress={onPressMessages}
|
||||
notificationCount={numUnreadMessages.numUnread}
|
||||
hasNew={numUnreadMessages.hasNew}
|
||||
notificationCount={
|
||||
aa.flags.chatDisabled ? undefined : numUnreadMessages.numUnread
|
||||
}
|
||||
hasNew={aa.flags.chatDisabled ? false : numUnreadMessages.hasNew}
|
||||
accessible={true}
|
||||
accessibilityRole="tab"
|
||||
accessibilityLabel={_(msg`Chat`)}
|
||||
accessibilityHint={
|
||||
numUnreadMessages.count > 0
|
||||
!aa.flags.chatDisabled && numUnreadMessages.count > 0
|
||||
? _(
|
||||
plural(numUnreadMessages.numUnread ?? 0, {
|
||||
one: '# unread item',
|
||||
|
||||
@@ -43,6 +43,7 @@ import {
|
||||
Message_Stroke2_Corner0_Rounded_Filled as MessageFilled,
|
||||
} from '#/components/icons/Message'
|
||||
import {Text} from '#/components/Typography'
|
||||
import {useAgeAssurance} from '#/ageAssurance'
|
||||
import {styles} from './BottomBarStyles'
|
||||
|
||||
export function BottomBarWeb() {
|
||||
@@ -60,6 +61,7 @@ export function BottomBarWeb() {
|
||||
|
||||
const unreadMessageCount = useUnreadMessageCount()
|
||||
const notificationCountStr = useUnreadNotifications()
|
||||
const aa = useAgeAssurance()
|
||||
|
||||
const showSignIn = useCallback(() => {
|
||||
closeAllActiveElements()
|
||||
@@ -124,8 +126,14 @@ export function BottomBarWeb() {
|
||||
<NavItem
|
||||
routeName="Messages"
|
||||
href="/messages"
|
||||
notificationCount={unreadMessageCount.numUnread}
|
||||
hasNew={unreadMessageCount.hasNew}>
|
||||
notificationCount={
|
||||
aa.flags.chatDisabled
|
||||
? undefined
|
||||
: unreadMessageCount.numUnread
|
||||
}
|
||||
hasNew={
|
||||
aa.flags.chatDisabled ? false : unreadMessageCount.hasNew
|
||||
}>
|
||||
{({isActive}) => {
|
||||
const Icon = isActive ? MessageFilled : Message
|
||||
return (
|
||||
|
||||
@@ -74,6 +74,7 @@ import {CENTER_COLUMN_OFFSET} from '#/components/Layout'
|
||||
import * as Menu from '#/components/Menu'
|
||||
import * as Prompt from '#/components/Prompt'
|
||||
import {Text} from '#/components/Typography'
|
||||
import {useAgeAssurance} from '#/ageAssurance'
|
||||
import {useActorStatus} from '#/features/liveNow'
|
||||
import {PlatformInfo} from '../../../../modules/expo-bluesky-swiss-army'
|
||||
import {router} from '../../../routes'
|
||||
@@ -349,7 +350,7 @@ function SwitchMenuItem({
|
||||
'@',
|
||||
)}`,
|
||||
)}
|
||||
onPress={() => onPressSwitchAccount(account, 'SwitchAccount')}>
|
||||
onPress={() => void onPressSwitchAccount(account, 'SwitchAccount')}>
|
||||
<View>
|
||||
<UserAvatar
|
||||
avatar={profile?.avatar}
|
||||
@@ -572,7 +573,7 @@ function ComposeBtn() {
|
||||
<Button
|
||||
disabled={isFetchingHandle}
|
||||
label={_(msg`Compose new post`)}
|
||||
onPress={onPressCompose}
|
||||
onPress={() => void onPressCompose()}
|
||||
size="large"
|
||||
variant="solid"
|
||||
color="primary"
|
||||
@@ -590,12 +591,13 @@ function ChatNavItem() {
|
||||
const pal = usePalette('default')
|
||||
const {_} = useLingui()
|
||||
const numUnreadMessages = useUnreadMessageCount()
|
||||
const aa = useAgeAssurance()
|
||||
|
||||
return (
|
||||
<NavItem
|
||||
href="/messages"
|
||||
count={numUnreadMessages.numUnread}
|
||||
hasNew={numUnreadMessages.hasNew}
|
||||
count={aa.flags.chatDisabled ? undefined : numUnreadMessages.numUnread}
|
||||
hasNew={aa.flags.chatDisabled ? false : numUnreadMessages.hasNew}
|
||||
icon={
|
||||
<Message style={pal.text} aria-hidden={true} width={NAV_ICON_WIDTH} />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user