mirror of
				https://github.com/tooot-app/app
				synced 2025-06-05 22:19:13 +02:00 
			
		
		
		
	Fixes
This commit is contained in:
		
							
								
								
									
										45
									
								
								App.tsx
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								App.tsx
									
									
									
									
									
								
							| @@ -1,6 +1,5 @@ | ||||
| import * as SplashScreen from 'expo-splash-screen' | ||||
| import React, { useEffect, useState } from 'react' | ||||
| import { AppearanceProvider } from 'react-native-appearance' | ||||
| import { QueryClient, QueryClientProvider } from 'react-query' | ||||
| import { Provider } from 'react-redux' | ||||
| import { PersistGate } from 'redux-persist/integration/react' | ||||
| @@ -46,29 +45,27 @@ const App: React.FC = () => { | ||||
|   }, [appLoaded]) | ||||
|  | ||||
|   return ( | ||||
|     <AppearanceProvider> | ||||
|       <QueryClientProvider client={queryClient}> | ||||
|         <Provider store={store}> | ||||
|           <PersistGate | ||||
|             persistor={persistor} | ||||
|             onBeforeLift={() => setAppLoaded(true)} | ||||
|           > | ||||
|             {bootstrapped => { | ||||
|               if (bootstrapped) { | ||||
|                 require('@root/i18n/i18n') | ||||
|                 return ( | ||||
|                   <ThemeManager> | ||||
|                     <Index /> | ||||
|                   </ThemeManager> | ||||
|                 ) | ||||
|               } else { | ||||
|                 return null | ||||
|               } | ||||
|             }} | ||||
|           </PersistGate> | ||||
|         </Provider> | ||||
|       </QueryClientProvider> | ||||
|     </AppearanceProvider> | ||||
|     <QueryClientProvider client={queryClient}> | ||||
|       <Provider store={store}> | ||||
|         <PersistGate | ||||
|           persistor={persistor} | ||||
|           onBeforeLift={() => setAppLoaded(true)} | ||||
|         > | ||||
|           {bootstrapped => { | ||||
|             if (bootstrapped) { | ||||
|               require('@root/i18n/i18n') | ||||
|               return ( | ||||
|                 <ThemeManager> | ||||
|                   <Index /> | ||||
|                 </ThemeManager> | ||||
|               ) | ||||
|             } else { | ||||
|               return null | ||||
|             } | ||||
|           }} | ||||
|         </PersistGate> | ||||
|       </Provider> | ||||
|     </QueryClientProvider> | ||||
|   ) | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -36,7 +36,6 @@ | ||||
|     "react-dom": "16.13.1", | ||||
|     "react-i18next": "^11.8.4", | ||||
|     "react-native": "https://github.com/expo/react-native/archive/sdk-40.0.0.tar.gz", | ||||
|     "react-native-appearance": "~0.3.3", | ||||
|     "react-native-collapsible": "^1.5.3", | ||||
|     "react-native-gesture-handler": "~1.8.0", | ||||
|     "react-native-htmlview": "^0.16.0", | ||||
| @@ -72,4 +71,4 @@ | ||||
|     "typescript": "~4.0.0" | ||||
|   }, | ||||
|   "private": true | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| import React, { useCallback, useEffect, useState } from 'react' | ||||
| import React, { useCallback, useState } from 'react' | ||||
| import { Dimensions, StyleSheet, View } from 'react-native' | ||||
| import SegmentedControl from '@react-native-community/segmented-control' | ||||
| import { createNativeStackNavigator } from 'react-native-screens/native-stack' | ||||
| @@ -26,12 +26,6 @@ const Timelines: React.FC<Props> = ({ name, content }) => { | ||||
|   const localRegistered = useSelector(getLocalUrl) | ||||
|   const publicDomain = useSelector(getRemoteUrl) | ||||
|   const [segment, setSegment] = useState(0) | ||||
|   const [renderHeader, setRenderHeader] = useState(false) | ||||
|  | ||||
|   useEffect(() => { | ||||
|     const nbr = setTimeout(() => setRenderHeader(true), 50) | ||||
|     return | ||||
|   }, []) | ||||
|  | ||||
|   const onPressSearch = useCallback(() => { | ||||
|     navigation.navigate(getCurrentTab(navigation), { | ||||
| @@ -40,9 +34,7 @@ const Timelines: React.FC<Props> = ({ name, content }) => { | ||||
|   }, []) | ||||
|  | ||||
|   const routes = content | ||||
|     .filter(p => | ||||
|       localRegistered ? p : p.page === 'RemotePublic' ? p : undefined | ||||
|     ) | ||||
|     .filter(p => (localRegistered ? true : p.page === 'RemotePublic')) | ||||
|     .map(p => ({ key: p.page })) | ||||
|  | ||||
|   const renderScene = ({ | ||||
| @@ -71,7 +63,7 @@ const Timelines: React.FC<Props> = ({ name, content }) => { | ||||
|         initialLayout={{ width: Dimensions.get('window').width }} | ||||
|       /> | ||||
|     ), | ||||
|     [segment] | ||||
|     [segment, localRegistered] | ||||
|   ) | ||||
|  | ||||
|   return ( | ||||
| @@ -80,24 +72,23 @@ const Timelines: React.FC<Props> = ({ name, content }) => { | ||||
|         name={name} | ||||
|         options={{ | ||||
|           headerTitle: name === 'Screen-Public-Root' ? publicDomain : '', | ||||
|           ...(renderHeader && | ||||
|             localRegistered && { | ||||
|               headerCenter: () => ( | ||||
|                 <View style={styles.segmentsContainer}> | ||||
|                   <SegmentedControl | ||||
|                     appearance={mode} | ||||
|                     values={[content[0].title, content[1].title]} | ||||
|                     selectedIndex={segment} | ||||
|                     onChange={({ nativeEvent }) => | ||||
|                       setSegment(nativeEvent.selectedSegmentIndex) | ||||
|                     } | ||||
|                   /> | ||||
|                 </View> | ||||
|               ), | ||||
|               headerRight: () => ( | ||||
|                 <HeaderRight icon='search' onPress={onPressSearch} /> | ||||
|               ) | ||||
|             }) | ||||
|           ...(localRegistered && { | ||||
|             headerCenter: () => ( | ||||
|               <View style={styles.segmentsContainer}> | ||||
|                 <SegmentedControl | ||||
|                   appearance={mode} | ||||
|                   values={[content[0].title, content[1].title]} | ||||
|                   selectedIndex={segment} | ||||
|                   onChange={({ nativeEvent }) => | ||||
|                     setSegment(nativeEvent.selectedSegmentIndex) | ||||
|                   } | ||||
|                 /> | ||||
|               </View> | ||||
|             ), | ||||
|             headerRight: () => ( | ||||
|               <HeaderRight icon='search' onPress={onPressSearch} /> | ||||
|             ) | ||||
|           }) | ||||
|         }} | ||||
|       > | ||||
|         {screenComponent} | ||||
|   | ||||
| @@ -107,7 +107,7 @@ const Login: React.FC = () => { | ||||
|   const onChangeText = useCallback( | ||||
|     debounce( | ||||
|       text => { | ||||
|         setInstanceDomain(text) | ||||
|         setInstanceDomain(text.replace(/^http(s)?\:\/\//i, '')) | ||||
|         setApplicationData(undefined) | ||||
|       }, | ||||
|       1000, | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| import React, { createContext, useContext, useEffect, useState } from 'react' | ||||
| import { useColorScheme } from 'react-native-appearance' | ||||
| import { useColorScheme } from 'react-native' | ||||
| import { useSelector } from 'react-redux' | ||||
| import { ColorDefinitions, getTheme } from '@utils/styles/themes' | ||||
| import { getSettingsTheme } from '@utils/slices/settingsSlice' | ||||
|   | ||||
| @@ -5225,15 +5225,6 @@ react-is@^17.0.1: | ||||
|   resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" | ||||
|   integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== | ||||
|  | ||||
| react-native-appearance@~0.3.3: | ||||
|   version "0.3.4" | ||||
|   resolved "https://registry.yarnpkg.com/react-native-appearance/-/react-native-appearance-0.3.4.tgz#2cbcbc5142cdc1898c116684f519b16c879cbec2" | ||||
|   integrity sha512-Vz3zdJbAEiMDwuw6wH98TT1WVfBvWjvANutYtkIbl16KGRCigtSgt6IIiLsF3/TSS3y3FtHhWDelFeGw/rtuig== | ||||
|   dependencies: | ||||
|     fbemitter "^2.1.1" | ||||
|     invariant "^2.2.4" | ||||
|     use-subscription "^1.0.0" | ||||
|  | ||||
| react-native-collapsible@^1.5.3: | ||||
|   version "1.5.3" | ||||
|   resolved "https://registry.yarnpkg.com/react-native-collapsible/-/react-native-collapsible-1.5.3.tgz#d6bc7274ae8f40f7688cca23ededa263e6c81c63" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user