mirror of
https://github.com/tooot-app/app
synced 2025-06-05 22:19:13 +02:00
Fixed #538
This commit is contained in:
@ -3,14 +3,18 @@ import Timeline from '@components/Timeline'
|
||||
import TimelineDefault from '@components/Timeline/Default'
|
||||
import SegmentedControl from '@react-native-community/segmented-control'
|
||||
import { NativeStackScreenProps } from '@react-navigation/native-stack'
|
||||
import { useAppDispatch } from '@root/store'
|
||||
import { ContextsLatest } from '@utils/migrations/contexts/migration'
|
||||
import { TabPublicStackParamList } from '@utils/navigation/navigators'
|
||||
import usePopToTop from '@utils/navigation/usePopToTop'
|
||||
import { QueryKeyTimeline } from '@utils/queryHooks/timeline'
|
||||
import { getPreviousSegment, updatePreviousSegment } from '@utils/slices/contextsSlice'
|
||||
import { useTheme } from '@utils/styles/ThemeManager'
|
||||
import { useEffect, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { Dimensions } from 'react-native'
|
||||
import { SceneMap, TabView } from 'react-native-tab-view'
|
||||
import { useSelector } from 'react-redux'
|
||||
|
||||
const Route = ({ route: { key: page } }: { route: any }) => {
|
||||
const queryKey: QueryKeyTimeline = ['Timeline', { page }]
|
||||
@ -37,7 +41,12 @@ const Root: React.FC<NativeStackScreenProps<TabPublicStackParamList, 'Tab-Public
|
||||
const { mode } = useTheme()
|
||||
const { t } = useTranslation('screenTabs')
|
||||
|
||||
const [segment, setSegment] = useState(0)
|
||||
const dispatch = useAppDispatch()
|
||||
const previousSegment = useSelector(getPreviousSegment, () => true)
|
||||
const segments: ContextsLatest['previousSegment'][] = ['Local', 'LocalPublic', 'Trending']
|
||||
const [segment, setSegment] = useState<number>(
|
||||
segments.findIndex(segment => segment === previousSegment)
|
||||
)
|
||||
const [routes] = useState([
|
||||
{ key: 'Local', title: t('tabs.public.segments.local') },
|
||||
{ key: 'LocalPublic', title: t('tabs.public.segments.federated') },
|
||||
@ -51,7 +60,10 @@ const Root: React.FC<NativeStackScreenProps<TabPublicStackParamList, 'Tab-Public
|
||||
appearance={mode}
|
||||
values={routes.map(({ title }) => title)}
|
||||
selectedIndex={segment}
|
||||
onChange={({ nativeEvent }) => setSegment(nativeEvent.selectedSegmentIndex)}
|
||||
onChange={({ nativeEvent }) => {
|
||||
setSegment(nativeEvent.selectedSegmentIndex)
|
||||
dispatch(updatePreviousSegment(segments[nativeEvent.selectedSegmentIndex]))
|
||||
}}
|
||||
style={{ flexBasis: '65%' }}
|
||||
/>
|
||||
),
|
||||
|
Reference in New Issue
Block a user