import React, { Component } from "react";
import { connect } from "react-redux";
import { Redirect, Link } from "react-router-dom";
import {
Button,
Container,
Header,
Item,
Segment,
Pagination,
Loader
} from "semantic-ui-react";
import { getCShiftsRequest } from "../../../actions/cShift/saga.actions";
class ClientShifts extends Component {
constructor(props) {
super(props);
this.state = {
page: 1,
pageSize: 10 // client can't control this, but set here just in case
};
}
componentWillMount = () => {
this.props.dispatch(
getCShiftsRequest({
page: this.state.page,
page_size: this.state.pageSize
})
);
};
handlePaginationChange = (event, { activePage }) => {
this.props.dispatch(
getCShiftsRequest({
page: activePage,
page_size: this.state.pageSize
})
);
this.setState({ page: activePage });
};
render() {
const {
isSendingCShiftRequest,
cShiftRequestSuccess,
selfUser
} = this.props;
const { page, pageSize } = this.state;
if (selfUser.client) {
return (
);
} else {
return ;
}
}
}
function mapStateToProps(state) {
return { ...state.cShift, selfUser: state.user.selfUser };
}
const ClientShiftsView = ({
isSendingCShiftRequest,
cShiftRequestSuccess,
user,
page,
pageSize,
handlePaginationChange
}) => {
const { count = 0, results = [] } = cShiftRequestSuccess;
return (
{!!isSendingCShiftRequest && }
{!isSendingCShiftRequest &&
results.length > 0 && (
{results.map(result => (
-
{JSON.stringify(result, null, 2)}
))}
)}
);
};
export default connect(mapStateToProps)(ClientShifts);