servatrice/webclient/src/components/Guard/ModGuard.tsx
Jeremy Letto 5cf9023a21
move and rename src/websocket/instanceServices to src/api (#4360)
Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
2021-05-17 21:59:32 -04:00

27 lines
No EOL
652 B
TypeScript

import React, { Component } from "react";
import { connect } from "react-redux";
import { Redirect } from "react-router-dom";
import { ServerSelectors } from "store";
import { User } from "types";
import { AuthenticationService } from "api";
import { RouteEnum } from "types";
class ModGuard extends Component<ModGuardProps> {
render() {
return !AuthenticationService.isModerator(this.props.user)
? <Redirect from="*" to={RouteEnum.SERVER} />
: "";
}
};
interface ModGuardProps {
user: User;
}
const mapStateToProps = state => ({
user: ServerSelectors.getUser(state),
});
export default connect(mapStateToProps)(ModGuard);