2020-02-08 09:43:14 -09:00
|
|
|
import React from 'react'
|
2020-03-31 10:04:10 -08:00
|
|
|
import { Provider } from 'react-redux'
|
|
|
|
|
import { createHashHistory } from 'history'
|
2020-04-15 17:37:02 -08:00
|
|
|
import { Admin, Resource } from 'react-admin'
|
2020-01-20 05:54:29 -09:00
|
|
|
import dataProvider from './dataProvider'
|
|
|
|
|
import authProvider from './authProvider'
|
2020-03-31 05:05:46 -08:00
|
|
|
import { Layout, Login } from './layout'
|
2020-02-29 16:01:09 -09:00
|
|
|
import transcoding from './transcoding'
|
2020-03-12 05:38:07 -08:00
|
|
|
import player from './player'
|
2020-01-19 16:40:18 -09:00
|
|
|
import user from './user'
|
2020-01-22 06:19:13 -09:00
|
|
|
import song from './song'
|
2020-01-22 08:32:31 -09:00
|
|
|
import album from './album'
|
2020-01-22 09:02:19 -09:00
|
|
|
import artist from './artist'
|
2020-03-11 15:46:46 -08:00
|
|
|
import { Player, playQueueReducer } from './audioplayer'
|
2020-03-28 12:25:55 -08:00
|
|
|
import { albumViewReducer } from './album/albumState'
|
2020-03-31 05:35:44 -08:00
|
|
|
import customRoutes from './routes'
|
2020-03-31 17:28:50 -08:00
|
|
|
import themeReducer from './personal/themeReducer'
|
2020-03-31 10:04:10 -08:00
|
|
|
import createAdminStore from './store/createAdminStore'
|
2020-05-02 13:44:24 -08:00
|
|
|
import { i18nProvider } from './i18n'
|
2020-02-07 05:40:52 -09:00
|
|
|
|
2020-03-31 10:04:10 -08:00
|
|
|
const history = createHashHistory()
|
|
|
|
|
|
2020-04-08 09:20:02 -08:00
|
|
|
const App = () => (
|
|
|
|
|
<Provider
|
|
|
|
|
store={createAdminStore({
|
|
|
|
|
authProvider,
|
|
|
|
|
dataProvider,
|
|
|
|
|
history,
|
|
|
|
|
customReducers: {
|
|
|
|
|
queue: playQueueReducer,
|
|
|
|
|
albumView: albumViewReducer,
|
2020-04-26 10:50:44 -08:00
|
|
|
theme: themeReducer,
|
|
|
|
|
},
|
2020-04-08 09:20:02 -08:00
|
|
|
})}
|
|
|
|
|
>
|
|
|
|
|
<Admin
|
|
|
|
|
dataProvider={dataProvider}
|
|
|
|
|
authProvider={authProvider}
|
|
|
|
|
i18nProvider={i18nProvider}
|
|
|
|
|
customRoutes={customRoutes}
|
|
|
|
|
history={history}
|
|
|
|
|
layout={Layout}
|
|
|
|
|
loginPage={Login}
|
2020-02-08 09:43:14 -09:00
|
|
|
>
|
2020-04-08 09:20:02 -08:00
|
|
|
{(permissions) => [
|
|
|
|
|
<Resource name="album" {...album} options={{ subMenu: 'library' }} />,
|
2020-05-05 11:44:05 -08:00
|
|
|
<Resource name="artist" {...artist} options={{ subMenu: 'library' }} />,
|
2020-04-08 09:20:02 -08:00
|
|
|
<Resource name="song" {...song} options={{ subMenu: 'library' }} />,
|
|
|
|
|
permissions === 'admin' ? (
|
|
|
|
|
<Resource name="user" {...user} options={{ subMenu: 'settings' }} />
|
|
|
|
|
) : null,
|
|
|
|
|
<Resource
|
|
|
|
|
name="player"
|
|
|
|
|
{...player}
|
|
|
|
|
options={{ subMenu: 'settings' }}
|
|
|
|
|
/>,
|
|
|
|
|
permissions === 'admin' ? (
|
2020-03-31 10:04:10 -08:00
|
|
|
<Resource
|
2020-04-08 09:20:02 -08:00
|
|
|
name="transcoding"
|
|
|
|
|
{...transcoding}
|
2020-02-29 16:01:09 -09:00
|
|
|
options={{ subMenu: 'settings' }}
|
2020-04-08 09:20:02 -08:00
|
|
|
/>
|
|
|
|
|
) : (
|
|
|
|
|
<Resource name="transcoding" />
|
|
|
|
|
),
|
2020-05-01 14:29:50 -08:00
|
|
|
<Resource name="albumSong" />,
|
|
|
|
|
<Resource name="translation" />,
|
2020-04-26 10:50:44 -08:00
|
|
|
<Player />,
|
2020-04-08 09:20:02 -08:00
|
|
|
]}
|
|
|
|
|
</Admin>
|
|
|
|
|
</Provider>
|
|
|
|
|
)
|
2020-02-07 20:11:15 -09:00
|
|
|
|
2020-02-08 09:43:14 -09:00
|
|
|
export default App
|