Ajout notifications
This commit is contained in:
@ -1,13 +1,33 @@
|
||||
import React, { useEffect } from 'react'
|
||||
import { MessageList } from '../components/message-list';
|
||||
import { connect } from 'react-redux';
|
||||
import { removeOldestMessage } from '../actions/message.actions';
|
||||
|
||||
export default function Page({ title, children }) {
|
||||
export default function Page({ title, messages, dispatch, children }) {
|
||||
useEffect(() => {
|
||||
document.title = title ? `${title } - PleaseWait` : 'PleaseWait';
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
if (!Array.isArray(messages) || messages.length === 0) return;
|
||||
|
||||
let timeoutId = setTimeout(() => {
|
||||
dispatch(removeOldestMessage());
|
||||
}, 5000);
|
||||
|
||||
return () => clearTimeout(timeoutId);
|
||||
}, [messages])
|
||||
|
||||
return (
|
||||
<div className="container-fluid">
|
||||
<MessageList messages={messages} />
|
||||
{ children }
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return { messages: state.messages.sortedByTimestamp };
|
||||
}
|
||||
|
||||
export const ConnectedPage = connect(mapStateToProps)(Page);
|
Reference in New Issue
Block a user