import {useReducer} from 'react'; import './App.css'; import logo from './chad-logo-256.png'; import {storeToken, loadToken} from './Api'; import Login from './Login'; import UserInfo from './UserInfo'; import Player from './Player'; function storeSettings(settings) { localStorage.setItem(JSON.stringify(settings)); return settings; } function loadSettings() { const settings = localStorage.getItem('settings'); return (settings && JSON.parse(settings)) || {login:{}, theme:'light', layout:'two-col'}; } function settingsReducer(state, action) { switch(action.type) { case 'LOGIN_SUCCESS': storeToken(action.payload); return {...state, login: {loading: false, error: null}}; case 'LOGIN_INIT': return {...state, login: {loading: true, error: null}}; case 'LOGIN_FAIL': return {...state, login: {loading: false, error: action.payload}}; case 'LAYOUT_SET': return storeSettings({...state, layout: action.payload}); case 'THEME_SET': return storeSettings({...state, theme: action.payload}); default: throw new Error(`Bad action ${action}`); } } function App() { const [settings, dispatcher] = useReducer(settingsReducer, loadSettings()); if(!loadToken()) { return } return (
Chad music

Chad Music

); } export default App;