From 8df45475d8a127bef49b5d53a369b1f12ab088d6 Mon Sep 17 00:00:00 2001 From: Zhiyuan Zheng Date: Sun, 30 May 2021 15:40:06 +0200 Subject: [PATCH] Fix bugs --- src/api/general.ts | 5 ++++- src/api/instance.ts | 5 ++++- src/components/Timeline/Shared/Translate.tsx | 2 +- src/startup/netInfo.ts | 6 +----- src/utils/slices/settingsSlice.ts | 8 ++++---- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/api/general.ts b/src/api/general.ts index 2761f2b4..5784c521 100644 --- a/src/api/general.ts +++ b/src/api/general.ts @@ -69,7 +69,10 @@ const apiGeneral = async ({ error.response.status, error.response.data.error ) - return Promise.reject(error.response.data.error) + return Promise.reject({ + status: error.response.status, + message: error.response.data.error + }) } else if (error.request) { // The request was made but no response was received // `error.request` is an instance of XMLHttpRequest in the browser and an instance of diff --git a/src/api/instance.ts b/src/api/instance.ts index af1d7bef..a928f01c 100644 --- a/src/api/instance.ts +++ b/src/api/instance.ts @@ -98,7 +98,10 @@ const apiInstance = async ({ error.response.status, error.response.data.error ) - return Promise.reject(error.response.data.error) + return Promise.reject({ + status: error.response.status, + message: error.response.data.error + }) } else if (error.request) { // The request was made but no response was received // `error.request` is an instance of XMLHttpRequest in the browser and an instance of diff --git a/src/components/Timeline/Shared/Translate.tsx b/src/components/Timeline/Shared/Translate.tsx index d99e6bf1..3745ef04 100644 --- a/src/components/Timeline/Shared/Translate.tsx +++ b/src/components/Timeline/Shared/Translate.tsx @@ -31,7 +31,7 @@ const TimelineTranslate = React.memo( const settingsLanguage = useSelector(getSettingsLanguage) - if (settingsLanguage.includes(tootLanguage)) { + if (settingsLanguage?.includes(tootLanguage)) { return null } diff --git a/src/startup/netInfo.ts b/src/startup/netInfo.ts index 568d0396..8470e550 100644 --- a/src/startup/netInfo.ts +++ b/src/startup/netInfo.ts @@ -43,11 +43,7 @@ const netInfo = async (): Promise<{ }) .catch(error => { log('error', 'netInfo', 'local credential check failed') - if ( - error.status && - typeof error.status === 'number' && - error.status === 401 - ) { + if (error.status && error.status == 401) { store.dispatch(removeInstance(instance)) } return Promise.resolve({ diff --git a/src/utils/slices/settingsSlice.ts b/src/utils/slices/settingsSlice.ts index 2fa84d55..11c88fda 100644 --- a/src/utils/slices/settingsSlice.ts +++ b/src/utils/slices/settingsSlice.ts @@ -4,7 +4,7 @@ import * as Analytics from 'expo-firebase-analytics' import * as Localization from 'expo-localization' import { pickBy } from 'lodash' -enum availableLanguages { +enum AvailableLanguages { 'zh-Hans', 'en' } @@ -19,7 +19,7 @@ export const changeAnalytics = createAsyncThunk( export type SettingsState = { fontsize: -1 | 0 | 1 | 2 | 3 - language: keyof availableLanguages + language: string theme: 'light' | 'dark' | 'auto' browser: 'internal' | 'external' analytics: boolean @@ -31,10 +31,10 @@ export const settingsInitialState = { enabled: false }, language: Object.keys( - pickBy(availableLanguages, (_, key) => Localization.locale.includes(key)) + pickBy(AvailableLanguages, (_, key) => Localization.locale.includes(key)) ) ? Object.keys( - pickBy(availableLanguages, (_, key) => + pickBy(AvailableLanguages, (_, key) => Localization.locale.includes(key) ) )[0]