Conditionally fetch chat data

This commit is contained in:
Eric Bailey
2024-05-17 11:44:46 -05:00
parent 03da056513
commit 22c5e222c7
+44 -26
View File
@@ -60,6 +60,47 @@ type TabOptions =
| 'Feeds' | 'Feeds'
| 'Messages' | 'Messages'
function ChatBtn({
isAtMessages,
onPressMessages,
}: {
isAtMessages: boolean
onPressMessages: () => void
}) {
const pal = usePalette('default')
const {_} = useLingui()
const numUnreadMessages = useUnreadMessageCount()
return (
<Btn
testID="bottomBarMessagesBtn"
icon={
isAtMessages ? (
<MessageFilled
width={27}
style={[styles.ctrlIcon, pal.text, styles.feedsIcon]}
/>
) : (
<Message
width={27}
style={[styles.ctrlIcon, pal.text, styles.feedsIcon]}
/>
)
}
onPress={onPressMessages}
notificationCount={numUnreadMessages.numUnread}
accessible={true}
accessibilityRole="tab"
accessibilityLabel={_(msg`Messages`)}
accessibilityHint={
numUnreadMessages.count > 0
? `${numUnreadMessages.numUnread} unread`
: ''
}
/>
)
}
export function BottomBar({navigation}: BottomTabBarProps) { export function BottomBar({navigation}: BottomTabBarProps) {
const {hasSession, currentAccount} = useSession() const {hasSession, currentAccount} = useSession()
const pal = usePalette('default') const pal = usePalette('default')
@@ -76,7 +117,6 @@ export function BottomBar({navigation}: BottomTabBarProps) {
isAtMessages, isAtMessages,
} = useNavigationTabState() } = useNavigationTabState()
const numUnreadNotifications = useUnreadNotifications() const numUnreadNotifications = useUnreadNotifications()
const numUnreadMessages = useUnreadMessageCount()
const {footerMinimalShellTransform} = useMinimalShellMode() const {footerMinimalShellTransform} = useMinimalShellMode()
const {data: profile} = useProfileQuery({did: currentAccount?.did}) const {data: profile} = useProfileQuery({did: currentAccount?.did})
const {requestSwitchToAccount} = useLoggedOutViewControls() const {requestSwitchToAccount} = useLoggedOutViewControls()
@@ -197,31 +237,9 @@ export function BottomBar({navigation}: BottomTabBarProps) {
accessibilityHint="" accessibilityHint=""
/> />
{gate('dms') ? ( {gate('dms') ? (
<Btn <ChatBtn
testID="bottomBarMessagesBtn" isAtMessages={isAtMessages}
icon={ onPressMessages={onPressMessages}
isAtMessages ? (
<MessageFilled
width={iconWidth - 1}
style={[styles.ctrlIcon, pal.text, styles.feedsIcon]}
/>
) : (
<Message
width={iconWidth - 1}
style={[styles.ctrlIcon, pal.text, styles.feedsIcon]}
/>
)
}
onPress={onPressMessages}
notificationCount={numUnreadMessages.numUnread}
accessible={true}
accessibilityRole="tab"
accessibilityLabel={_(msg`Messages`)}
accessibilityHint={
numUnreadMessages.count > 0
? `${numUnreadMessages.numUnread} unread`
: ''
}
/> />
) : ( ) : (
<Btn <Btn