Merge branch 'main' into inherit_system_theme
This commit is contained in:
commit
7f76c2d67e
14 changed files with 89 additions and 41 deletions
|
@ -21,6 +21,9 @@ interface Img {
|
|||
|
||||
export const Lightbox = observer(function Lightbox() {
|
||||
const store = useStores()
|
||||
|
||||
const onClose = useCallback(() => store.shell.closeLightbox(), [store.shell])
|
||||
|
||||
if (!store.shell.isLightboxActive) {
|
||||
return null
|
||||
}
|
||||
|
@ -29,8 +32,6 @@ export const Lightbox = observer(function Lightbox() {
|
|||
const initialIndex =
|
||||
activeLightbox instanceof models.ImagesLightbox ? activeLightbox.index : 0
|
||||
|
||||
const onClose = () => store.shell.closeLightbox()
|
||||
|
||||
let imgs: Img[] | undefined
|
||||
if (activeLightbox instanceof models.ProfileImageLightbox) {
|
||||
const opts = activeLightbox
|
||||
|
|
|
@ -128,6 +128,7 @@ export function Button({
|
|||
},
|
||||
},
|
||||
)
|
||||
|
||||
const onPressWrapped = React.useCallback(
|
||||
(event: Event) => {
|
||||
event.stopPropagation()
|
||||
|
@ -136,9 +137,23 @@ export function Button({
|
|||
},
|
||||
[onPress],
|
||||
)
|
||||
|
||||
const getStyle = React.useCallback(
|
||||
state => {
|
||||
const arr = [typeOuterStyle, styles.outer, style]
|
||||
if (state.pressed) {
|
||||
arr.push({opacity: 0.6})
|
||||
} else if (state.hovered) {
|
||||
arr.push({opacity: 0.8})
|
||||
}
|
||||
return arr
|
||||
},
|
||||
[typeOuterStyle, style],
|
||||
)
|
||||
|
||||
return (
|
||||
<Pressable
|
||||
style={[typeOuterStyle, styles.outer, style]}
|
||||
style={getStyle}
|
||||
onPress={onPressWrapped}
|
||||
testID={testID}
|
||||
accessibilityRole="button"
|
||||
|
|
|
@ -209,7 +209,7 @@ export function PostDropdownBtn({
|
|||
},
|
||||
},
|
||||
{sep: true},
|
||||
{
|
||||
!isAuthor && {
|
||||
testID: 'postDropdownReportBtn',
|
||||
icon: 'circle-exclamation',
|
||||
label: 'Report post',
|
||||
|
|
|
@ -121,7 +121,7 @@ export const SearchScreen = withAuthRequired(
|
|||
<TouchableWithoutFeedback onPress={onPress} accessible={false}>
|
||||
<View style={[pal.view, styles.container]}>
|
||||
<HeaderWithInput
|
||||
isInputFocused={true}
|
||||
isInputFocused={isInputFocused}
|
||||
query={query}
|
||||
setIsInputFocused={setIsInputFocused}
|
||||
onChangeQuery={onChangeQuery}
|
||||
|
|
|
@ -215,7 +215,11 @@ export const DrawerContent = observer(() => {
|
|||
}
|
||||
label="Notifications"
|
||||
accessibilityLabel="Notifications"
|
||||
accessibilityHint={`${store.me.notifications.unreadCountLabel} unread`}
|
||||
accessibilityHint={
|
||||
notifications.unreadCountLabel === ''
|
||||
? ''
|
||||
: `${notifications.unreadCountLabel} unread`
|
||||
}
|
||||
count={notifications.unreadCountLabel}
|
||||
bold={isAtNotifications}
|
||||
onPress={onPressNotifications}
|
||||
|
|
|
@ -38,6 +38,7 @@ export const BottomBar = observer(({navigation}: BottomTabBarProps) => {
|
|||
useNavigationTabState()
|
||||
|
||||
const {footerMinimalShellTransform} = useMinimalShellMode()
|
||||
const {notifications} = store.me
|
||||
|
||||
const onPressTab = React.useCallback(
|
||||
(tab: string) => {
|
||||
|
@ -138,11 +139,15 @@ export const BottomBar = observer(({navigation}: BottomTabBarProps) => {
|
|||
)
|
||||
}
|
||||
onPress={onPressNotifications}
|
||||
notificationCount={store.me.notifications.unreadCountLabel}
|
||||
notificationCount={notifications.unreadCountLabel}
|
||||
accessible={true}
|
||||
accessibilityRole="tab"
|
||||
accessibilityLabel="Notifications"
|
||||
accessibilityHint={`${store.me.notifications.unreadCountLabel} unread`}
|
||||
accessibilityHint={
|
||||
notifications.unreadCountLabel === ''
|
||||
? ''
|
||||
: `${notifications.unreadCountLabel} unread`
|
||||
}
|
||||
/>
|
||||
<Btn
|
||||
testID="bottomBarProfileBtn"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React from 'react'
|
||||
import React, {useEffect} from 'react'
|
||||
import {observer} from 'mobx-react-lite'
|
||||
import {View, StyleSheet, TouchableOpacity} from 'react-native'
|
||||
import {useStores} from 'state/index'
|
||||
|
@ -14,11 +14,21 @@ import {RoutesContainer, FlatNavigator} from '../../Navigation'
|
|||
import {DrawerContent} from './Drawer'
|
||||
import {useWebMediaQueries} from '../../lib/hooks/useWebMediaQueries'
|
||||
import {BottomBarWeb} from './bottom-bar/BottomBarWeb'
|
||||
import {useNavigation} from '@react-navigation/native'
|
||||
import {NavigationProp} from 'lib/routes/types'
|
||||
|
||||
const ShellInner = observer(() => {
|
||||
const store = useStores()
|
||||
const {isDesktop} = useWebMediaQueries()
|
||||
|
||||
const navigator = useNavigation<NavigationProp>()
|
||||
|
||||
useEffect(() => {
|
||||
navigator.addListener('state', () => {
|
||||
store.shell.closeAnyActiveElement()
|
||||
})
|
||||
}, [navigator, store.shell])
|
||||
|
||||
return (
|
||||
<>
|
||||
<View style={s.hContentRegion}>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue