import React, { FC } from 'react'; import { connect } from 'react-redux'; import { hot } from 'react-hot-loader'; import { LoadingPlaceholder, VerticalGroup } from '@grafana/ui'; import { config } from '@grafana/runtime'; import { NavModel } from '@grafana/data'; import { UserProvider, UserAPI, LoadingStates } from 'app/core/utils/UserProvider'; import { getNavModel } from 'app/core/selectors/navModel'; import { UserDTO, Team, UserOrg, UserSession, StoreState } from 'app/types'; import { SharedPreferences } from 'app/core/components/SharedPreferences/SharedPreferences'; import Page from 'app/core/components/Page/Page'; import { UserTeams } from './UserTeams'; import { UserSessions } from './UserSessions'; import { UserOrganizations } from './UserOrganizations'; import { UserProfileEditForm } from './UserProfileEditForm'; export interface Props { navModel: NavModel; } export const UserProfileEdit: FC = ({ navModel }) => ( {( api: UserAPI, states: LoadingStates, teams: Team[], orgs: UserOrg[], sessions: UserSession[], user?: UserDTO ) => { return ( {states.loadUser ? ( ) : ( )} ); }} ); function mapStateToProps(state: StoreState) { return { navModel: getNavModel(state.navIndex, 'profile-settings'), }; } export default hot(module)(connect(mapStateToProps, null)(UserProfileEdit));