* break auth panel render into submethods * move var definition * break renderUnathorized into submethods * hide login providers behind dropdown if they are exceed length of 3 * amend dropdown to behave nicely being placed in another dropdown * add style to providers enclosed in dropdown * add provider reducer and actions * add provider save/restore to app flow * place last login provider first in providers list * infer StoreState from combineReducers return type * move collapsed threads retoration to action * fix: provider lost in other * add dynamic threshold depending on window width * fix & add tests
18 lines
395 B
TypeScript
18 lines
395 B
TypeScript
import { PROVIDER_ACTIONS, PROVIDER_UPDATE } from './types';
|
|
|
|
export interface ProviderState {
|
|
name: string | null;
|
|
}
|
|
|
|
function provider(state: ProviderState = { name: null }, action: PROVIDER_ACTIONS): ProviderState {
|
|
switch (action.type) {
|
|
case PROVIDER_UPDATE: {
|
|
return { ...state, ...action.payload };
|
|
}
|
|
default:
|
|
return state;
|
|
}
|
|
}
|
|
|
|
export default { provider };
|