diff --git a/awx/ui_next/src/screens/User/Users.jsx b/awx/ui_next/src/screens/User/Users.jsx index 238bda2016..bf74439ac5 100644 --- a/awx/ui_next/src/screens/User/Users.jsx +++ b/awx/ui_next/src/screens/User/Users.jsx @@ -1,5 +1,5 @@ -import React, { Component, Fragment } from 'react'; -import { Route, withRouter, Switch } from 'react-router-dom'; +import React, { Fragment, useState } from 'react'; +import { Route, useRouteMatch, Switch } from 'react-router-dom'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; @@ -10,28 +10,19 @@ import UsersList from './UserList/UserList'; import UserAdd from './UserAdd/UserAdd'; import User from './User'; -class Users extends Component { - constructor(props) { - super(props); - - const { i18n } = props; - - this.state = { - breadcrumbConfig: { - '/users': i18n._(t`Users`), - '/users/add': i18n._(t`Create New User`), - }, - }; - } - - setBreadcrumbConfig = user => { - const { i18n } = this.props; +function Users({ i18n }) { + const [breadcrumbConfig, setBreadcrumbConfig] = useState({ + '/users': i18n._(t`Users`), + '/users/add': i18n._(t`Create New User`), + }); + const match = useRouteMatch(); + const addUserBreadcrumb = user => { if (!user) { return; } - const breadcrumbConfig = { + setBreadcrumbConfig({ '/users': i18n._(t`Users`), '/users/add': i18n._(t`Create New User`), [`/users/${user.id}`]: `${user.username}`, @@ -41,42 +32,30 @@ class Users extends Component { [`/users/${user.id}/teams`]: i18n._(t`Teams`), [`/users/${user.id}/organizations`]: i18n._(t`Organizations`), [`/users/${user.id}/tokens`]: i18n._(t`Tokens`), - }; - - this.setState({ breadcrumbConfig }); + }); }; - render() { - const { match, history, location } = this.props; - const { breadcrumbConfig } = this.state; - - return ( - - - - - - - - - {({ me }) => ( - - )} - - - - - - - - ); - } + return ( + + + + + + + + + {({ me }) => ( + + )} + + + + + + + + ); } export { Users as _Users }; -export default withI18n()(withRouter(Users)); +export default withI18n()(Users);