infect-frontend
Version:
infect fronend
43 lines (35 loc) • 1.4 kB
JavaScript
import React from 'react';
import { observer } from 'mobx-react';
import { computed, observable, action } from 'mobx';
import errorHandler from '../../models/errorHandler/errorHandler';
export default class Notifications extends React.Component {
/**
* Errors are always added, never removed; to hide errors, just update this.hiddenErrorCounter to
* match current amount of errors
*/
hiddenErrorCounter = 0;
hideErrors() {
this.hiddenErrorCounter = errorHandler.errors.length;
}
get showErrors() {
return errorHandler.errors.length > this.hiddenErrorCounter;
}
render() {
return (
<div className={ 'notification-container ' + (this.showErrors ? 'notification-container--active' : '') }>
<div className="notification__error-icon">
<a className="notification__link" onClick={ () => this.hideErrors() }>
<img src="/img/error.svg" />
</a>
</div>
<div className="notification__message message">
<h2>UPS, something went wrong!</h2>
{ errorHandler.errors.map((err) => {
return <p key={ err.message }>{ err.message }</p>;
})}
</div>
</div>
);
}
}