Skip to content

Commit

Permalink
Remove redux-cond
Browse files Browse the repository at this point in the history
  • Loading branch information
g1eny0ung committed Feb 1, 2020
1 parent 56cd67b commit f3169c1
Show file tree
Hide file tree
Showing 5 changed files with 1,509 additions and 1,339 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
"react-router-dom": "^5.1.2",
"react-scripts": "3.3.1",
"redux": "^4.0.1",
"redux-cond": "^2.0.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"semantic-ui-react": "^0.88.1"
Expand Down
35 changes: 18 additions & 17 deletions src/reducers/auth.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import cond from 'redux-cond'
import {
AUTH_LOGIN_REQUEST,
AUTH_LOGIN_RESPONSE,
Expand All @@ -20,22 +19,24 @@ const authReducer = (
},
action
) => {
return cond(
AUTH_LOGIN_REQUEST,
state => ({ ...state, isFetching: true }),
AUTH_LOGIN_RESPONSE,
(state, action) => ({ ...state, isFetching: false, _id: action._id, userToken: action.userToken }),
AUTH_LOGIN_FAIL,
(state, action) => ({ ...state, isFetching: false, loginFail: true, loginFailMessage: action.message }),
AUTH_REMOVE_FAIL_MESSAGE,
state => ({ ...state, loginFail: false, loginFailMessage: '' }),
AUTH_TOKEN_LOAD,
state => ({ ...state, _id: action._id, userToken: action.userToken }),
AUTH_LOGOUT,
state => ({ ...state, _id: 0, userToken: {}, userInfo: {} }),
USER_INFO,
(state, action) => ({ ...state, userInfo: action.userInfo })
)(state, action)
switch (action.type) {
case AUTH_LOGIN_REQUEST:
return { ...state, isFetching: true }
case AUTH_LOGIN_RESPONSE:
return { ...state, isFetching: false, _id: action._id, userToken: action.userToken }
case AUTH_LOGIN_FAIL:
return { ...state, isFetching: false, loginFail: true, loginFailMessage: action.message }
case AUTH_REMOVE_FAIL_MESSAGE:
return { ...state, loginFail: false, loginFailMessage: '' }
case AUTH_TOKEN_LOAD:
return { ...state, _id: action._id, userToken: action.userToken }
case AUTH_LOGOUT:
return { ...state, _id: 0, userToken: {}, userInfo: {} }
case USER_INFO:
return { ...state, userInfo: action.userInfo }
default:
return state
}
}

export default authReducer
300 changes: 130 additions & 170 deletions src/reducers/fm.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import cond from 'redux-cond'
import * as types from '../actions/fm/types'

const fmReducer = (
Expand All @@ -23,174 +22,135 @@ const fmReducer = (
playtime: '0.0'
},
action
) =>
cond(
types.PLAYLIST_LOADING,
state => ({ ...state, isFetching: true }),
types.PLAYLIST_NEW_REQUEST,
state => ({ ...state, type: 'n' }),
types.PLAYLIST_PLAYING_REQUEST,
state => ({ ...state, type: 'p' }),
types.PLAYLIST_SKIP_REQUEST,
state => ({ ...state, type: 's' }),
types.PLAYLIST_TRASH_REQUEST,
state => ({ ...state, type: 'b' }),
types.PLAYLIST_END_REQUEST,
state => ({ ...state, type: 'e' }),
types.RED_HEART_RATE,
state => ({ ...state, type: 'r' }),
types.RED_HEART_UNRATE,
state => ({ ...state, type: 'u' }),
types.PLAYLIST_RESPONSE,
(state, action) => ({
...state,
isFetching: false,
sid: action.sid,
ssid: action.ssid,
song: action.song
}),
types.SONG_LYRIC_RESPONSE,
(state, action) => ({
...state,
lyric: action.lyric
}),
types.RECENT_LIST,
(state, action) => ({
...state,
refreshLoading: false,
recent: action.recent
}),
types.RECENT_EMPTY,
state => ({
...state,
recent: {}
}),
types.RED_HEART_LIST,
(state, action) => ({
...state,
refreshLoading: false,
redheart: action.redheart
}),
types.RED_HEART_EMPTY,
state => ({
...state,
redheart: []
}),
types.TRASH_LIST,
(state, action) => ({
...state,
refreshLoading: false,
trash: action.trash
}),
types.TRASH_EMPTY,
state => ({
...state,
trash: {}
}),
types.SONGLIST_REFRESH_LOADING,
state => ({
...state,
refreshLoading: true
}),
types.SELECT_PATTERN,
state => ({
...state,
pattern: 'select',
channelId: -10
}),
types.RECENT_PATTERN,
state => ({
...state,
pattern: 'recent',
songListIndex: 0,
sid: state.recent.songs[0].sid,
ssid: state.recent.songs[0].ssid
}),
types.REDHEART_PATTERN,
state => ({
...state,
pattern: 'redheart',
songListIndex: 0,
sid: state.redheart[0].sid,
ssid: state.redheart[0].ssid
}),
types.DAILY_PATTERN,
state => ({
...state,
pattern: 'daily',
songListIndex: 0,
sid: state.daily.songs[0].sid,
ssid: state.daily.songs[0].ssid
}),
types.SHEET_PATTERN,
state => ({
...state,
pattern: 'sheet',
songListIndex: 0
}),
types.SONGLIST_GO,
state => ({
...state,
songListIndex: state.songListIndex + 1
}),
types.SONGLIST_BACK,
state => ({
...state,
songListIndex: state.songListIndex - 1
}),
types.SONGLIST_INDEX_SET,
(state, action) => ({
...state,
pattern: action.pattern ? action.pattern : state.pattern,
songListIndex: action.index
}),
types.APP_CHANNEL_SET,
(state, action) => ({
...state,
pattern: 'select',
channelId: action.id
}),
types.APP_CHANNEL,
(state, action) => ({
...state,
channels: action.chls
}),
types.DAILY_LIST,
(state, action) => ({
...state,
daily: action.daily
}),
types.DAILY_EMPTY,
state => ({
...state,
daily: {}
}),
types.SHEET_SET,
(state, action) => ({
...state,
sheet: action.list
}),
types.PLAYTIME_SET,
(state, action) => ({
...state,
playtime: action.pt
}),
types.LYRIC_DISPLAY_TRUE,
state => ({
...state,
lyricDisplay: true
}),
types.LYRIC_DISPLAY_FALSE,
state => ({
...state,
lyricDisplay: false
}),
types.UPDATE_SID_SSID,
(state, action) => ({
...state,
sid: action.sid,
ssid: action.ssid
})
)(state, action)
) => {
switch (action.type) {
case types.PLAYLIST_LOADING:
return { ...state, isFetching: true }
case types.PLAYLIST_NEW_REQUEST:
return { ...state, type: 'n' }
case types.PLAYLIST_PLAYING_REQUEST:
return { ...state, type: 'p' }
case types.PLAYLIST_SKIP_REQUEST:
return { ...state, type: 's' }
case types.PLAYLIST_TRASH_REQUEST:
return { ...state, type: 'b' }
case types.PLAYLIST_END_REQUEST:
return { ...state, type: 'e' }
case types.RED_HEART_RATE:
return { ...state, type: 'r' }
case types.RED_HEART_UNRATE:
return { ...state, type: 'u' }
case types.PLAYLIST_RESPONSE:
return {
...state,
isFetching: false,
sid: action.sid,
ssid: action.ssid,
song: action.song
}
case types.SONG_LYRIC_RESPONSE:
return { ...state, lyric: action.lyric }
case types.RECENT_LIST:
return {
...state,
refreshLoading: false,
recent: action.recent
}
case types.RECENT_EMPTY:
return { ...state, recent: {} }
case types.RED_HEART_LIST:
return {
...state,
refreshLoading: false,
redheart: action.redheart
}
case types.RED_HEART_EMPTY:
return { ...state, redheart: [] }
case types.TRASH_LIST:
return {
...state,
refreshLoading: false,
trash: action.trash
}
case types.TRASH_EMPTY:
return { ...state, trash: {} }
case types.SONGLIST_REFRESH_LOADING:
return { ...state, refreshLoading: true }
case types.SELECT_PATTERN:
return {
...state,
pattern: 'select',
channelId: -10
}
case types.RECENT_PATTERN:
return {
...state,
pattern: 'recent',
songListIndex: 0,
sid: state.recent.songs[0].sid,
ssid: state.recent.songs[0].ssid
}
case types.REDHEART_PATTERN:
return {
...state,
pattern: 'redheart',
songListIndex: 0,
sid: state.redheart[0].sid,
ssid: state.redheart[0].ssid
}
case types.DAILY_PATTERN:
return {
...state,
pattern: 'daily',
songListIndex: 0,
sid: state.daily.songs[0].sid,
ssid: state.daily.songs[0].ssid
}
case types.SHEET_PATTERN:
return {
...state,
pattern: 'sheet',
songListIndex: 0
}
case types.SONGLIST_GO:
return { ...state, songListIndex: state.songListIndex + 1 }
case types.SONGLIST_BACK:
return { ...state, songListIndex: state.songListIndex - 1 }
case types.SONGLIST_INDEX_SET:
return {
...state,
pattern: action.pattern ? action.pattern : state.pattern,
songListIndex: action.index
}
case types.APP_CHANNEL_SET:
return {
...state,
pattern: 'select',
channelId: action.id
}
case types.APP_CHANNEL:
return { ...state, channels: action.chls }
case types.DAILY_LIST:
return { ...state, daily: action.daily }
case types.DAILY_EMPTY:
return { ...state, daily: {} }
case types.SHEET_SET:
return { ...state, sheet: action.list }
case types.PLAYTIME_SET:
return { ...state, playtime: action.pt }
case types.LYRIC_DISPLAY_TRUE:
return { ...state, lyricDisplay: true }
case types.LYRIC_DISPLAY_FALSE:
return { ...state, lyricDisplay: false }
case types.UPDATE_SID_SSID:
return {
...state,
sid: action.sid,
ssid: action.ssid
}
default:
return state
}
}

export default fmReducer
Loading

0 comments on commit f3169c1

Please sign in to comment.