diff --git a/app/components/announcement_banner/__snapshots__/announcement_banner.test.js.snap b/app/components/announcement_banner/__snapshots__/announcement_banner.test.js.snap index 314448e7c..305e02dca 100644 --- a/app/components/announcement_banner/__snapshots__/announcement_banner.test.js.snap +++ b/app/components/announcement_banner/__snapshots__/announcement_banner.test.js.snap @@ -14,7 +14,7 @@ ShallowWrapper { bannerColor="#ddd" bannerDismissed={false} bannerEnabled={true} - bannerText="Batter Text" + bannerText="Banner Text" bannerTextColor="#fff" />, Symbol(enzyme.__renderer__): Object { @@ -58,7 +58,7 @@ ShallowWrapper { ] } > - Batter Text + Banner Text - Batter Text + Banner Text , - Batter Text + Banner Text - Batter Text + Banner Text , , + Symbol(enzyme.__renderer__): Object { + "batchedUpdates": [Function], + "getNode": [Function], + "render": [Function], + "simulateEvent": [Function], + "unmount": [Function], + }, + Symbol(enzyme.__node__): null, + Symbol(enzyme.__nodes__): Array [ + null, + ], + Symbol(enzyme.__options__): Object { + "adapter": ReactSixteenAdapter { + "options": Object { + "enableComponentDidUpdateOnSetState": true, + }, + }, + }, +} +`; diff --git a/app/components/announcement_banner/announcement_banner.js b/app/components/announcement_banner/announcement_banner.js index 599e12371..d14a8cb0d 100644 --- a/app/components/announcement_banner/announcement_banner.js +++ b/app/components/announcement_banner/announcement_banner.js @@ -45,7 +45,8 @@ export default class AnnouncementBanner extends PureComponent { componentWillReceiveProps(nextProps) { if (this.props.bannerText !== nextProps.bannerText || this.props.bannerEnabled !== nextProps.bannerEnabled || - this.props.bannerDismissed !== nextProps.bannerDismissed) { + this.props.bannerDismissed !== nextProps.bannerDismissed + ) { const showBanner = nextProps.bannerEnabled && !nextProps.bannerDismissed && Boolean(nextProps.bannerText); this.toggleBanner(showBanner); } @@ -86,15 +87,24 @@ export default class AnnouncementBanner extends PureComponent { }; render() { + if (!this.props.bannerEnabled) { + return null; + } + const {bannerHeight} = this.state; + const { + bannerColor, + bannerText, + bannerTextColor, + } = this.props; const bannerStyle = { - backgroundColor: this.props.bannerColor, + backgroundColor: bannerColor, height: bannerHeight, }; const bannerTextStyle = { - color: this.props.bannerTextColor, + color: bannerTextColor, }; return ( @@ -110,10 +120,10 @@ export default class AnnouncementBanner extends PureComponent { numberOfLines={1} style={[style.bannerText, bannerTextStyle]} > - {this.props.bannerText} + {bannerText} diff --git a/app/components/announcement_banner/announcement_banner.test.js b/app/components/announcement_banner/announcement_banner.test.js index f76bec585..7309a21e7 100644 --- a/app/components/announcement_banner/announcement_banner.test.js +++ b/app/components/announcement_banner/announcement_banner.test.js @@ -19,7 +19,7 @@ describe('AnnouncementBanner', () => { bannerColor: '#ddd', bannerDismissed: false, bannerEnabled: true, - bannerText: 'Batter Text', + bannerText: 'Banner Text', bannerTextColor: '#fff', }; @@ -29,6 +29,9 @@ describe('AnnouncementBanner', () => { ); expect(wrapper).toMatchSnapshot(); + + wrapper.setProps({bannerEnabled: false}); + expect(wrapper).toMatchSnapshot(); }); test('should call actions.dismissBanner on handleDismiss', () => { diff --git a/app/components/announcement_banner/index.js b/app/components/announcement_banner/index.js index ec9c0bef8..553749685 100644 --- a/app/components/announcement_banner/index.js +++ b/app/components/announcement_banner/index.js @@ -21,7 +21,7 @@ function mapStateToProps(state) { bannerDismissed: config.BannerText === announcement, bannerEnabled: config.EnableBanner === 'true' && license.IsLicensed === 'true', bannerText: config.BannerText, - bannerTextColor: config.BannerTextColor, + bannerTextColor: config.BannerTextColor || '#000', }; }