diff --git a/lib/redux/company/company_reducer.dart b/lib/redux/company/company_reducer.dart index 184878a54..70ddbcdd3 100644 --- a/lib/redux/company/company_reducer.dart +++ b/lib/redux/company/company_reducer.dart @@ -45,6 +45,7 @@ Reducer userCompanyEntityReducer = combineReducers([ loadCompanySuccessReducer), TypedReducer( saveCompanySuccessReducer), + TypedReducer(uploadLogoSuccessReducer), TypedReducer((userCompany, action) => userCompany.rebuild((b) => b..user.replace(action.user))), ]); @@ -113,3 +114,11 @@ UserCompanyEntity saveCompanySuccessReducer( return userCompany; } + +UserCompanyEntity uploadLogoSuccessReducer( + UserCompanyEntity userCompany, UploadLogoSuccess action) { + userCompany = userCompany.rebuild( + (b) => b..company.settings.logoUrl = action.company.settings.logoUrl); + + return userCompany; +} diff --git a/lib/redux/settings/settings_middleware.dart b/lib/redux/settings/settings_middleware.dart index 1fbb65364..93686592a 100644 --- a/lib/redux/settings/settings_middleware.dart +++ b/lib/redux/settings/settings_middleware.dart @@ -103,11 +103,11 @@ Middleware _uploadLogo(SettingsRepository settingsRepository) { .uploadLogo(store.state.credentials, store.state.selectedCompany.id, action.path) .then((company) { - store.dispatch(SaveCompanySuccess(company)); + store.dispatch(UploadLogoSuccess(company)); action.completer.complete(); }).catchError((Object error) { print(error); - store.dispatch(SaveCompanyFailure(error)); + store.dispatch(UploadLogoFailure(error)); action.completer.completeError(error); }); diff --git a/lib/redux/ui/ui_reducer.dart b/lib/redux/ui/ui_reducer.dart index 4d88b76c6..2a8ad714e 100644 --- a/lib/redux/ui/ui_reducer.dart +++ b/lib/redux/ui/ui_reducer.dart @@ -212,4 +212,11 @@ Reducer settingsUIReducer = combineReducers([ ..isChanged = false ..updatedAt = DateTime.now().millisecondsSinceEpoch); }), + TypedReducer((state, action) { + return state.rebuild((b) => b..userCompany.company.replace(action.company)); + }), + TypedReducer((state, action) { + return state.rebuild((b) => b + ..userCompany.company.settings.logoUrl = action.company.settings.logoUrl); + }) ]);