mirror of
https://dev.azure.com/tstanciu94/ReverseProxy/_git/ReverseProxy_Frontend
synced 2025-08-05 17:22:36 +03:00
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
import React, { useEffect, useState } from "react";
|
|
import { connect } from "react-redux";
|
|
import { bindActionCreators } from "redux";
|
|
import PropTypes from "prop-types";
|
|
import { loadReleaseNotes } from "../actionCreators";
|
|
import ReleaseNotesListComponent from "./ReleaseNotesListComponent";
|
|
|
|
const ReleaseNotesContainer = ({ actions, releaseNotes }) => {
|
|
const [notesFlags, setNotesFlags] = useState({});
|
|
|
|
useEffect(() => {
|
|
actions.loadReleaseNotes();
|
|
}, []);
|
|
|
|
const handleToggle = (version) => (_, expanded) => {
|
|
setNotesFlags({
|
|
...notesFlags,
|
|
[version]: expanded
|
|
});
|
|
};
|
|
|
|
return (
|
|
<ReleaseNotesListComponent
|
|
releaseNotes={releaseNotes}
|
|
handleToggle={handleToggle}
|
|
notesFlags={notesFlags}
|
|
/>
|
|
);
|
|
};
|
|
|
|
ReleaseNotesContainer.propTypes = {
|
|
actions: PropTypes.object.isRequired,
|
|
releaseNotes: PropTypes.array.isRequired
|
|
};
|
|
|
|
function mapStateToProps(state) {
|
|
return {
|
|
releaseNotes: state.releaseNotes
|
|
};
|
|
}
|
|
|
|
function mapDispatchToProps(dispatch) {
|
|
return {
|
|
actions: bindActionCreators({ loadReleaseNotes }, dispatch)
|
|
};
|
|
}
|
|
|
|
export default connect(
|
|
mapStateToProps,
|
|
mapDispatchToProps
|
|
)(ReleaseNotesContainer);
|