mirror of
https://github.com/tooot-app/app
synced 2025-06-05 22:19:13 +02:00
Fix #595
This commit is contained in:
@ -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<string> => {
|
||||
@ -17,22 +15,12 @@ export const retrieveExpoToken = createAsyncThunk('app/expoToken', async (): Pro
|
||||
return res.data
|
||||
})
|
||||
|
||||
export const retrieveVersionLatest = createAsyncThunk(
|
||||
'app/versionUpdate',
|
||||
async (): Promise<string> => {
|
||||
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
|
||||
|
Reference in New Issue
Block a user