diff --git a/src/i18n/en/screens/tabs.json b/src/i18n/en/screens/tabs.json index d0f8d2e7..e8785d5d 100644 --- a/src/i18n/en/screens/tabs.json +++ b/src/i18n/en/screens/tabs.json @@ -254,9 +254,6 @@ "content_true": "Enabled", "content_false": "Disabled" }, - "update": { - "title": "Update to latest version" - }, "logout": { "button": "Log out", "alert": { diff --git a/src/screens/Tabs.tsx b/src/screens/Tabs.tsx index f0b2ce9f..9a5a84a2 100644 --- a/src/screens/Tabs.tsx +++ b/src/screens/Tabs.tsx @@ -2,13 +2,11 @@ import GracefullyImage from '@components/GracefullyImage' import haptics from '@components/haptics' import Icon from '@components/Icon' import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' -import { useAppDispatch } from '@root/store' import { RootStackScreenProps, ScreenTabsStackParamList } from '@utils/navigation/navigators' -import { getVersionUpdate, retrieveVersionLatest } from '@utils/slices/appSlice' import { getPreviousTab } from '@utils/slices/contextsSlice' import { getInstanceAccount, getInstanceActive } from '@utils/slices/instancesSlice' import { useTheme } from '@utils/styles/ThemeManager' -import React, { useCallback, useEffect, useMemo } from 'react' +import React, { useCallback, useMemo } from 'react' import { Platform } from 'react-native' import { useSelector } from 'react-redux' import TabLocal from './Tabs/Local' @@ -55,17 +53,6 @@ const ScreenTabs = React.memo( const previousTab = useSelector(getPreviousTab, () => true) - const versionUpdate = useSelector(getVersionUpdate) - const dispatch = useAppDispatch() - useEffect(() => { - dispatch(retrieveVersionLatest()) - }, []) - const tabMeOptions = useMemo(() => { - if (versionUpdate) { - return { tabBarBadge: 1 } - } - }, [versionUpdate]) - return ( - + ) }, diff --git a/src/screens/Tabs/Me/Root.tsx b/src/screens/Tabs/Me/Root.tsx index 5da98fe8..fa58a517 100644 --- a/src/screens/Tabs/Me/Root.tsx +++ b/src/screens/Tabs/Me/Root.tsx @@ -12,12 +12,8 @@ import accountReducer from '@screens/Tabs/Shared/Account/utils/reducer' import { useProfileQuery } from '@utils/queryHooks/profile' import { getInstanceActive } from '@utils/slices/instancesSlice' import React, { useReducer, useRef } from 'react' -import Animated, { - useAnimatedScrollHandler, - useSharedValue -} from 'react-native-reanimated' +import Animated, { useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated' import { useSelector } from 'react-redux' -import Update from './Root/Update' const TabMeRoot: React.FC = () => { const instanceActive = useSelector(getInstanceActive) @@ -29,10 +25,7 @@ const TabMeRoot: React.FC = () => { const scrollRef = useRef(null) useScrollToTop(scrollRef) - const [accountState, accountDispatch] = useReducer( - accountReducer, - accountInitialState - ) + const [accountState, accountDispatch] = useReducer(accountReducer, accountInitialState) const scrollY = useSharedValue(0) const onScroll = useAnimatedScrollHandler(event => { @@ -41,22 +34,15 @@ const TabMeRoot: React.FC = () => { return ( - {instanceActive !== -1 && data ? ( - - ) : null} + {instanceActive !== -1 && data ? : null} - {instanceActive !== -1 ? ( - - ) : ( - - )} + {instanceActive !== -1 ? : } {instanceActive !== -1 ? : null} - {instanceActive !== -1 ? : null} {instanceActive !== -1 ? : null} diff --git a/src/screens/Tabs/Me/Root/Update.tsx b/src/screens/Tabs/Me/Root/Update.tsx deleted file mode 100644 index e1d9f6d2..00000000 --- a/src/screens/Tabs/Me/Root/Update.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { MenuContainer, MenuRow } from '@components/Menu' -import { getVersionUpdate } from '@utils/slices/appSlice' -import React from 'react' -import { useTranslation } from 'react-i18next' -import { Linking, Platform } from 'react-native' -import { useSelector } from 'react-redux' - -const Update: React.FC = () => { - const { t } = useTranslation('screenTabs') - - const versionUpdate = useSelector(getVersionUpdate) - - return versionUpdate ? ( - - { - if (Platform.OS === 'ios') { - Linking.openURL('itms-appss://itunes.apple.com/app/id1549772269') - } else { - Linking.openURL('https://tooot.app') - } - }} - /> - - ) : null -} - -export default Update diff --git a/src/utils/slices/appSlice.ts b/src/utils/slices/appSlice.ts index d65c0d4b..a6cc10a3 100644 --- a/src/utils/slices/appSlice.ts +++ b/src/utils/slices/appSlice.ts @@ -1,8 +1,6 @@ -import apiTooot from '@api/tooot' import { createAsyncThunk, createSlice } from '@reduxjs/toolkit' import { RootState } from '@root/store' import { isDevelopment } from '@utils/checkEnvironment' -import Constants from 'expo-constants' import * as Notifications from 'expo-notifications' export const retrieveExpoToken = createAsyncThunk('app/expoToken', async (): Promise => { @@ -17,22 +15,12 @@ export const retrieveExpoToken = createAsyncThunk('app/expoToken', async (): Pro return res.data }) -export const retrieveVersionLatest = createAsyncThunk( - 'app/versionUpdate', - async (): Promise => { - const res = await apiTooot<{ latest: string }>({ method: 'get', url: 'version.json' }) - return res.body.latest - } -) - export type AppState = { expoToken?: string - versionUpdate: boolean } export const appInitialState: AppState = { - expoToken: undefined, - versionUpdate: false + expoToken: undefined } const appSlice = createSlice({ @@ -40,22 +28,14 @@ const appSlice = createSlice({ initialState: appInitialState, reducers: {}, extraReducers: builder => { - builder - .addCase(retrieveExpoToken.fulfilled, (state, action) => { - if (action.payload) { - state.expoToken = action.payload - } - }) - .addCase(retrieveVersionLatest.fulfilled, (state, action) => { - if (action.payload && Constants.expoConfig?.version) { - state.versionUpdate = - parseFloat(action.payload) > parseFloat(Constants.expoConfig.version) - } - }) + builder.addCase(retrieveExpoToken.fulfilled, (state, action) => { + if (action.payload) { + state.expoToken = action.payload + } + }) } }) export const getExpoToken = (state: RootState) => state.app.expoToken -export const getVersionUpdate = (state: RootState) => state.app.versionUpdate export default appSlice.reducer